@vitessce/scatterplot-embedding 3.6.3 → 3.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -25,7 +25,7 @@ function _mergeNamespaces(n2, m2) {
25
25
  }
26
26
  return Object.freeze(Object.defineProperty(n2, Symbol.toStringTag, { value: "Module" }));
27
27
  }
28
- function number$4(x) {
28
+ function number$3(x) {
29
29
  return x === null ? NaN : +x;
30
30
  }
31
31
  function extent$1(values2, valueof) {
@@ -56,7 +56,7 @@ function max(values2, valueof) {
56
56
  }
57
57
  return max2;
58
58
  }
59
- function quantileSorted(values2, p, valueof = number$4) {
59
+ function quantileSorted(values2, p, valueof = number$3) {
60
60
  if (!(n2 = values2.length)) return;
61
61
  if ((p = +p) <= 0 || n2 < 2) return +valueof(values2[0], 0, values2);
62
62
  if (p >= 1) return +valueof(values2[n2 - 1], n2 - 1, values2);
@@ -9557,6 +9557,7 @@ const FileType$1 = {
9557
9557
  ANNDATA_ZARR_ZIP: "anndata.zarr.zip",
9558
9558
  ANNDATA_H5AD: "anndata.h5ad",
9559
9559
  SPATIALDATA_ZARR: "spatialdata.zarr",
9560
+ SPATIALDATA_ZARR_ZIP: "spatialdata.zarr.zip",
9560
9561
  // Atomic file types
9561
9562
  OBS_EMBEDDING_CSV: "obsEmbedding.csv",
9562
9563
  OBS_SPOTS_CSV: "obsSpots.csv",
@@ -9637,6 +9638,14 @@ const FileType$1 = {
9637
9638
  // TODO:
9638
9639
  // OBS_POINTS_SPATIALDATA_ZARR: 'obsPoints.spatialdata.zarr',
9639
9640
  // OBS_LOCATIONS_SPATIALDATA_ZARR: 'obsLocations.spatialdata.zarr',
9641
+ // SpatialData - zipped
9642
+ IMAGE_SPATIALDATA_ZARR_ZIP: "image.spatialdata.zarr.zip",
9643
+ LABELS_SPATIALDATA_ZARR_ZIP: "labels.spatialdata.zarr.zip",
9644
+ SHAPES_SPATIALDATA_ZARR_ZIP: "shapes.spatialdata.zarr.zip",
9645
+ OBS_FEATURE_MATRIX_SPATIALDATA_ZARR_ZIP: "obsFeatureMatrix.spatialdata.zarr.zip",
9646
+ OBS_SETS_SPATIALDATA_ZARR_ZIP: "obsSets.spatialdata.zarr.zip",
9647
+ OBS_SPOTS_SPATIALDATA_ZARR_ZIP: "obsSpots.spatialdata.zarr.zip",
9648
+ FEATURE_LABELS_SPATIALDATA_ZARR_ZIP: "featureLabels.spatialdata.zarr.zip",
9640
9649
  // MuData
9641
9650
  OBS_FEATURE_MATRIX_MUDATA_ZARR: "obsFeatureMatrix.mudata.zarr",
9642
9651
  OBS_SETS_MUDATA_ZARR: "obsSets.mudata.zarr",
@@ -10037,6 +10046,28 @@ const ViewHelpMapping = {
10037
10046
  },
10038
10047
  [FileType$1.OBS_SEGMENTATIONS_OME_ZARR]: {
10039
10048
  zip: FileType$1.OBS_SEGMENTATIONS_OME_ZARR_ZIP
10049
+ },
10050
+ // For SpatialData:
10051
+ [FileType$1.IMAGE_SPATIALDATA_ZARR]: {
10052
+ zip: FileType$1.IMAGE_SPATIALDATA_ZARR_ZIP
10053
+ },
10054
+ [FileType$1.LABELS_SPATIALDATA_ZARR]: {
10055
+ zip: FileType$1.LABELS_SPATIALDATA_ZARR_ZIP
10056
+ },
10057
+ [FileType$1.SHAPES_SPATIALDATA_ZARR]: {
10058
+ zip: FileType$1.SHAPES_SPATIALDATA_ZARR_ZIP
10059
+ },
10060
+ [FileType$1.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR]: {
10061
+ zip: FileType$1.OBS_FEATURE_MATRIX_SPATIALDATA_ZARR_ZIP
10062
+ },
10063
+ [FileType$1.OBS_SETS_SPATIALDATA_ZARR]: {
10064
+ zip: FileType$1.OBS_SETS_SPATIALDATA_ZARR_ZIP
10065
+ },
10066
+ [FileType$1.OBS_SPOTS_SPATIALDATA_ZARR]: {
10067
+ zip: FileType$1.OBS_SPOTS_SPATIALDATA_ZARR_ZIP
10068
+ },
10069
+ [FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR]: {
10070
+ zip: FileType$1.FEATURE_LABELS_SPATIALDATA_ZARR_ZIP
10040
10071
  }
10041
10072
  });
10042
10073
  [
@@ -11157,6 +11188,7 @@ const anndataZarrSchema = z.object({
11157
11188
  z.array(annDataConvenienceFeatureLabelsItem)
11158
11189
  ]),
11159
11190
  obsFeatureMatrix: annDataObsFeatureMatrix,
11191
+ obsFeatureColumns: annDataObsFeatureColumnsArr,
11160
11192
  obsSets: annDataObsSetsArr,
11161
11193
  obsSpots: annDataObsSpots,
11162
11194
  obsPoints: annDataObsPoints,
@@ -11174,12 +11206,17 @@ anndataZarrSchema.extend({
11174
11206
  z.object({
11175
11207
  // TODO: should `image` be a special schema
11176
11208
  // to allow specifying fileUid (like for embeddingType)?
11177
- // TODO: allow multiple images
11209
+ // TODO: allow multiple images?
11178
11210
  image: imageSpatialdataSchema,
11179
11211
  // TODO: should this be a special schema
11180
11212
  // to allow specifying fileUid (like for embeddingType)?
11181
- // TODO: allow multiple labels
11213
+ // TODO: allow multiple labels?
11182
11214
  labels: obsSegmentationsSpatialdataSchema,
11215
+ // TODO: allow multiple shapes?
11216
+ // TODO: unify labels and shapes to obsSegmentations,
11217
+ // then distinguish in expand function based on
11218
+ // "labels/*" vs. "shapes/*" in path?
11219
+ shapes: obsSegmentationsSpatialdataSchema,
11183
11220
  obsFeatureMatrix: obsFeatureMatrixSpatialdataSchema,
11184
11221
  obsSpots: obsSpotsSpatialdataSchema,
11185
11222
  // TODO: obsPoints
@@ -73818,7 +73855,7 @@ function stepInterpolate(target, path, value) {
73818
73855
  target[path][i2] = value[i2];
73819
73856
  }
73820
73857
  }
73821
- function interpolate$3(time, _ref2, target, path) {
73858
+ function interpolate$2(time, _ref2, target, path) {
73822
73859
  let {
73823
73860
  input,
73824
73861
  interpolation,
@@ -73899,7 +73936,7 @@ class GLTFAnimation {
73899
73936
  target,
73900
73937
  path
73901
73938
  } = _ref3;
73902
- interpolate$3(time, sampler, target, path);
73939
+ interpolate$2(time, sampler, target, path);
73903
73940
  applyTranslationRotationScale(target, target._node);
73904
73941
  });
73905
73942
  }
@@ -84881,7 +84918,7 @@ class RBush {
84881
84918
  const insertPath = [];
84882
84919
  const node2 = this._chooseSubtree(bbox2, this.data, level, insertPath);
84883
84920
  node2.children.push(item);
84884
- extend$3(node2, bbox2);
84921
+ extend$1(node2, bbox2);
84885
84922
  while (level >= 0) {
84886
84923
  if (insertPath[level].children.length > this._maxEntries) {
84887
84924
  this._split(insertPath, level);
@@ -84950,19 +84987,19 @@ class RBush {
84950
84987
  let margin2 = bboxMargin(leftBBox) + bboxMargin(rightBBox);
84951
84988
  for (let i2 = m2; i2 < M - m2; i2++) {
84952
84989
  const child = node2.children[i2];
84953
- extend$3(leftBBox, node2.leaf ? toBBox(child) : child);
84990
+ extend$1(leftBBox, node2.leaf ? toBBox(child) : child);
84954
84991
  margin2 += bboxMargin(leftBBox);
84955
84992
  }
84956
84993
  for (let i2 = M - m2 - 1; i2 >= m2; i2--) {
84957
84994
  const child = node2.children[i2];
84958
- extend$3(rightBBox, node2.leaf ? toBBox(child) : child);
84995
+ extend$1(rightBBox, node2.leaf ? toBBox(child) : child);
84959
84996
  margin2 += bboxMargin(rightBBox);
84960
84997
  }
84961
84998
  return margin2;
84962
84999
  }
84963
85000
  _adjustParentBBoxes(bbox2, path, level) {
84964
85001
  for (let i2 = level; i2 >= 0; i2--) {
84965
- extend$3(path[i2], bbox2);
85002
+ extend$1(path[i2], bbox2);
84966
85003
  }
84967
85004
  }
84968
85005
  _condense(path) {
@@ -84994,11 +85031,11 @@ function distBBox(node2, k, p, toBBox, destNode) {
84994
85031
  destNode.maxY = -Infinity;
84995
85032
  for (let i2 = k; i2 < p; i2++) {
84996
85033
  const child = node2.children[i2];
84997
- extend$3(destNode, node2.leaf ? toBBox(child) : child);
85034
+ extend$1(destNode, node2.leaf ? toBBox(child) : child);
84998
85035
  }
84999
85036
  return destNode;
85000
85037
  }
85001
- function extend$3(a2, b) {
85038
+ function extend$1(a2, b) {
85002
85039
  a2.minX = Math.min(a2.minX, b.minX);
85003
85040
  a2.minY = Math.min(a2.minY, b.minY);
85004
85041
  a2.maxX = Math.max(a2.maxX, b.maxX);
@@ -97595,7 +97632,7 @@ function centroid(object2) {
97595
97632
  }
97596
97633
  return [atan2(y, x) * degrees, asin(z2 / sqrt(m2)) * degrees];
97597
97634
  }
97598
- function constant$4(x) {
97635
+ function constant$3(x) {
97599
97636
  return function() {
97600
97637
  return x;
97601
97638
  };
@@ -97679,7 +97716,7 @@ function circleRadius(cosRadius, point2) {
97679
97716
  return ((-point2[2] < 0 ? -radius : radius) + tau - epsilon$1) % tau;
97680
97717
  }
97681
97718
  function circle$1() {
97682
- var center2 = constant$4([0, 0]), radius = constant$4(90), precision2 = constant$4(6), ring, rotate2, stream = { point: point2 };
97719
+ var center2 = constant$3([0, 0]), radius = constant$3(90), precision2 = constant$3(6), ring, rotate2, stream = { point: point2 };
97683
97720
  function point2(x, y) {
97684
97721
  ring.push(x = rotate2(x, y));
97685
97722
  x[0] *= degrees, x[1] *= degrees;
@@ -97694,13 +97731,13 @@ function circle$1() {
97694
97731
  return c2;
97695
97732
  }
97696
97733
  circle2.center = function(_) {
97697
- return arguments.length ? (center2 = typeof _ === "function" ? _ : constant$4([+_[0], +_[1]]), circle2) : center2;
97734
+ return arguments.length ? (center2 = typeof _ === "function" ? _ : constant$3([+_[0], +_[1]]), circle2) : center2;
97698
97735
  };
97699
97736
  circle2.radius = function(_) {
97700
- return arguments.length ? (radius = typeof _ === "function" ? _ : constant$4(+_), circle2) : radius;
97737
+ return arguments.length ? (radius = typeof _ === "function" ? _ : constant$3(+_), circle2) : radius;
97701
97738
  };
97702
97739
  circle2.precision = function(_) {
97703
- return arguments.length ? (precision2 = typeof _ === "function" ? _ : constant$4(+_), circle2) : precision2;
97740
+ return arguments.length ? (precision2 = typeof _ === "function" ? _ : constant$3(+_), circle2) : precision2;
97704
97741
  };
97705
97742
  return circle2;
97706
97743
  }
@@ -98090,11 +98127,11 @@ function length$2(object2) {
98090
98127
  geoStream(object2, lengthStream$1);
98091
98128
  return +lengthSum$1;
98092
98129
  }
98093
- var coordinates = [null, null], object$2 = { type: "LineString", coordinates };
98130
+ var coordinates = [null, null], object$1 = { type: "LineString", coordinates };
98094
98131
  function distance(a2, b) {
98095
98132
  coordinates[0] = a2;
98096
98133
  coordinates[1] = b;
98097
- return length$2(object$2);
98134
+ return length$2(object$1);
98098
98135
  }
98099
98136
  var containsObjectType = {
98100
98137
  Feature: function(object2, point2) {
@@ -98255,7 +98292,7 @@ function graticule() {
98255
98292
  function graticule10() {
98256
98293
  return graticule()();
98257
98294
  }
98258
- function interpolate$2(a2, b) {
98295
+ function interpolate$1(a2, b) {
98259
98296
  var x02 = a2[0] * radians, y02 = a2[1] * radians, x12 = b[0] * radians, y12 = b[1] * radians, cy0 = cos(y02), sy0 = sin(y02), cy1 = cos(y12), sy1 = sin(y12), kx0 = cy0 * cos(x02), ky0 = cy0 * sin(x02), kx1 = cy1 * cos(x12), ky1 = cy1 * sin(x12), d = 2 * asin(sqrt(haversin(y12 - y02) + cy0 * cy1 * haversin(x12 - x02))), k = sin(d);
98260
98297
  var interpolate2 = d ? function(t) {
98261
98298
  var B2 = sin(t *= d) / k, A2 = sin(d - t) / k, x = A2 * kx0 + B2 * kx1, y = A2 * ky0 + B2 * ky1, z2 = A2 * sy0 + B2 * sy1;
@@ -99372,7 +99409,7 @@ const d3Geo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePropert
99372
99409
  geoGraticule: graticule,
99373
99410
  geoGraticule10: graticule10,
99374
99411
  geoIdentity: identity$3,
99375
- geoInterpolate: interpolate$2,
99412
+ geoInterpolate: interpolate$1,
99376
99413
  geoLength: length$2,
99377
99414
  geoMercator: mercator,
99378
99415
  geoMercatorRaw: mercatorRaw,
@@ -123213,22 +123250,22 @@ function addDecoder(cases, importFn) {
123213
123250
  }
123214
123251
  cases.forEach((c2) => registry$1.set(c2, importFn));
123215
123252
  }
123216
- addDecoder([void 0, 1], () => import("./raw-7khL7CHs.js").then((m2) => m2.default));
123217
- addDecoder(5, () => import("./lzw-BB7DzK4H.js").then((m2) => m2.default));
123253
+ addDecoder([void 0, 1], () => import("./raw-D_I_nvlb.js").then((m2) => m2.default));
123254
+ addDecoder(5, () => import("./lzw-QEt1oPJg.js").then((m2) => m2.default));
123218
123255
  addDecoder(6, () => {
123219
123256
  throw new Error("old style JPEG compression is not supported.");
123220
123257
  });
123221
- addDecoder(7, () => import("./jpeg-Ctq9g9DE.js").then((m2) => m2.default));
123222
- addDecoder([8, 32946], () => import("./deflate-BNjVGM_n.js").then((m2) => m2.default));
123223
- addDecoder(32773, () => import("./packbits-C1sP_Cxs.js").then((m2) => m2.default));
123258
+ addDecoder(7, () => import("./jpeg-DYRomFzh.js").then((m2) => m2.default));
123259
+ addDecoder([8, 32946], () => import("./deflate-JiaVZVLy.js").then((m2) => m2.default));
123260
+ addDecoder(32773, () => import("./packbits-bJMxFBEb.js").then((m2) => m2.default));
123224
123261
  addDecoder(
123225
123262
  34887,
123226
- () => import("./lerc-BOvxa_Oj.js").then(async (m2) => {
123263
+ () => import("./lerc-CjJL0X_L.js").then(async (m2) => {
123227
123264
  await m2.zstd.init();
123228
123265
  return m2;
123229
123266
  }).then((m2) => m2.default)
123230
123267
  );
123231
- addDecoder(50001, () => import("./webimage-CFAQsrry.js").then((m2) => m2.default));
123268
+ addDecoder(50001, () => import("./webimage-CXFDDcP-.js").then((m2) => m2.default));
123232
123269
  function decodeRowAcc(row, stride) {
123233
123270
  let length2 = row.length - stride;
123234
123271
  let offset2 = 0;
@@ -123631,7 +123668,7 @@ const Z_FIXED = 4;
123631
123668
  const Z_BINARY = 0;
123632
123669
  const Z_TEXT = 1;
123633
123670
  const Z_UNKNOWN = 2;
123634
- function zero$3(buf) {
123671
+ function zero$2(buf) {
123635
123672
  let len2 = buf.length;
123636
123673
  while (--len2 >= 0) {
123637
123674
  buf[len2] = 0;
@@ -123670,17 +123707,17 @@ const extra_blbits = (
123670
123707
  const bl_order = new Uint8Array([16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15]);
123671
123708
  const DIST_CODE_LEN = 512;
123672
123709
  const static_ltree = new Array((L_CODES + 2) * 2);
123673
- zero$3(static_ltree);
123710
+ zero$2(static_ltree);
123674
123711
  const static_dtree = new Array(D_CODES * 2);
123675
- zero$3(static_dtree);
123712
+ zero$2(static_dtree);
123676
123713
  const _dist_code = new Array(DIST_CODE_LEN);
123677
- zero$3(_dist_code);
123714
+ zero$2(_dist_code);
123678
123715
  const _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);
123679
- zero$3(_length_code);
123716
+ zero$2(_length_code);
123680
123717
  const base_length = new Array(LENGTH_CODES);
123681
- zero$3(base_length);
123718
+ zero$2(base_length);
123682
123719
  const base_dist = new Array(D_CODES);
123683
- zero$3(base_dist);
123720
+ zero$2(base_dist);
123684
123721
  function StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {
123685
123722
  this.static_tree = static_tree;
123686
123723
  this.extra_bits = extra_bits;
@@ -140515,7 +140552,7 @@ function paletteTransform(value, userValue) {
140515
140552
  }
140516
140553
  return value;
140517
140554
  }
140518
- const color$3 = style$1({
140555
+ const color$1 = style$1({
140519
140556
  prop: "color",
140520
140557
  themeKey: "palette",
140521
140558
  transform: paletteTransform
@@ -140531,7 +140568,7 @@ const backgroundColor = style$1({
140531
140568
  themeKey: "palette",
140532
140569
  transform: paletteTransform
140533
140570
  });
140534
- compose(color$3, bgcolor, backgroundColor);
140571
+ compose(color$1, bgcolor, backgroundColor);
140535
140572
  function sizingTransform(value) {
140536
140573
  return value <= 1 && value !== 0 ? `${value * 100}%` : value;
140537
140574
  }
@@ -150155,7 +150192,7 @@ function createQuadTree(obsEmbedding, getCellCoords) {
150155
150192
  const tree = quadtree().x((i2) => getCellCoords(i2)[0]).y((i2) => getCellCoords(i2)[1]).addAll(range$4(obsEmbedding.shape[1]));
150156
150193
  return tree;
150157
150194
  }
150158
- function constant$3(v) {
150195
+ function constant$2(v) {
150159
150196
  return () => v;
150160
150197
  }
150161
150198
  function jiggle(v) {
@@ -150167,7 +150204,7 @@ function forceCollideRects() {
150167
150204
  let strength = 1;
150168
150205
  let iterations = 1;
150169
150206
  let sizes;
150170
- let size = constant$3([0, 0]);
150207
+ let size = constant$2([0, 0]);
150171
150208
  function xCenter(d) {
150172
150209
  return d.x + d.vx + sizes[d.index][0] / 2;
150173
150210
  }
@@ -150253,7 +150290,7 @@ function forceCollideRects() {
150253
150290
  };
150254
150291
  force.size = (...v) => {
150255
150292
  if (v.length) {
150256
- size = typeof v[0] === "function" ? v[0] : constant$3(v[0]);
150293
+ size = typeof v[0] === "function" ? v[0] : constant$2(v[0]);
150257
150294
  return force;
150258
150295
  }
150259
150296
  return size;
@@ -151222,7 +151259,7 @@ EnterNode.prototype = {
151222
151259
  return this._parent.querySelectorAll(selector2);
151223
151260
  }
151224
151261
  };
151225
- function constant$2(x) {
151262
+ function constant$1(x) {
151226
151263
  return function() {
151227
151264
  return x;
151228
151265
  };
@@ -151277,7 +151314,7 @@ function datum(node2) {
151277
151314
  function selection_data(value, key) {
151278
151315
  if (!arguments.length) return Array.from(this, datum);
151279
151316
  var bind2 = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups;
151280
- if (typeof value !== "function") value = constant$2(value);
151317
+ if (typeof value !== "function") value = constant$1(value);
151281
151318
  for (var m2 = groups.length, update2 = new Array(m2), enter = new Array(m2), exit = new Array(m2), j = 0; j < m2; ++j) {
151282
151319
  var parent = parents[j], group = groups[j], groupLength = group.length, data = arraylike(value.call(parent, parent && parent.__data__, j, parents)), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update2[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
151283
151320
  bind2(parent, group, enterGroup, updateGroup, exitGroup, data, key);
@@ -151778,7 +151815,7 @@ function bisector(f2) {
151778
151815
  compare2 = (d, x) => ascending(f2(d), x);
151779
151816
  delta = (d, x) => f2(d) - x;
151780
151817
  } else {
151781
- compare1 = f2 === ascending || f2 === descending ? f2 : zero$2;
151818
+ compare1 = f2 === ascending || f2 === descending ? f2 : zero$1;
151782
151819
  compare2 = f2;
151783
151820
  delta = f2;
151784
151821
  }
@@ -151810,15 +151847,15 @@ function bisector(f2) {
151810
151847
  }
151811
151848
  return { left, center: center2, right };
151812
151849
  }
151813
- function zero$2() {
151850
+ function zero$1() {
151814
151851
  return 0;
151815
151852
  }
151816
- function number$3(x) {
151853
+ function number$2(x) {
151817
151854
  return x === null ? NaN : +x;
151818
151855
  }
151819
151856
  const ascendingBisect = bisector(ascending);
151820
151857
  const bisectRight = ascendingBisect.right;
151821
- bisector(number$3).center;
151858
+ bisector(number$2).center;
151822
151859
  var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
151823
151860
  function ticks(start, stop, count2) {
151824
151861
  var reverse, i2 = -1, n2, ticks2, step;
@@ -151885,21 +151922,21 @@ function initInterpolator(domain, interpolator) {
151885
151922
  }
151886
151923
  return this;
151887
151924
  }
151888
- function define$2(constructor, factory, prototype) {
151925
+ function define(constructor, factory, prototype) {
151889
151926
  constructor.prototype = factory.prototype = prototype;
151890
151927
  prototype.constructor = constructor;
151891
151928
  }
151892
- function extend$2(parent, definition) {
151929
+ function extend(parent, definition) {
151893
151930
  var prototype = Object.create(parent.prototype);
151894
151931
  for (var key in definition) prototype[key] = definition[key];
151895
151932
  return prototype;
151896
151933
  }
151897
- function Color$2() {
151934
+ function Color() {
151898
151935
  }
151899
- var darker$2 = 0.7;
151900
- var brighter$2 = 1 / darker$2;
151901
- var reI$2 = "\\s*([+-]?\\d+)\\s*", reN$2 = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP$2 = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex$2 = /^#([0-9a-f]{3,8})$/, reRgbInteger$2 = new RegExp(`^rgb\\(${reI$2},${reI$2},${reI$2}\\)$`), reRgbPercent$2 = new RegExp(`^rgb\\(${reP$2},${reP$2},${reP$2}\\)$`), reRgbaInteger$2 = new RegExp(`^rgba\\(${reI$2},${reI$2},${reI$2},${reN$2}\\)$`), reRgbaPercent$2 = new RegExp(`^rgba\\(${reP$2},${reP$2},${reP$2},${reN$2}\\)$`), reHslPercent$2 = new RegExp(`^hsl\\(${reN$2},${reP$2},${reP$2}\\)$`), reHslaPercent$2 = new RegExp(`^hsla\\(${reN$2},${reP$2},${reP$2},${reN$2}\\)$`);
151902
- var named$2 = {
151936
+ var darker = 0.7;
151937
+ var brighter = 1 / darker;
151938
+ var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?(?:\\d*\\.)?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp(`^rgb\\(${reI},${reI},${reI}\\)$`), reRgbPercent = new RegExp(`^rgb\\(${reP},${reP},${reP}\\)$`), reRgbaInteger = new RegExp(`^rgba\\(${reI},${reI},${reI},${reN}\\)$`), reRgbaPercent = new RegExp(`^rgba\\(${reP},${reP},${reP},${reN}\\)$`), reHslPercent = new RegExp(`^hsl\\(${reN},${reP},${reP}\\)$`), reHslaPercent = new RegExp(`^hsla\\(${reN},${reP},${reP},${reN}\\)$`);
151939
+ var named = {
151903
151940
  aliceblue: 15792383,
151904
151941
  antiquewhite: 16444375,
151905
151942
  aqua: 65535,
@@ -152049,92 +152086,92 @@ var named$2 = {
152049
152086
  yellow: 16776960,
152050
152087
  yellowgreen: 10145074
152051
152088
  };
152052
- define$2(Color$2, color$2, {
152089
+ define(Color, color, {
152053
152090
  copy(channels2) {
152054
152091
  return Object.assign(new this.constructor(), this, channels2);
152055
152092
  },
152056
152093
  displayable() {
152057
152094
  return this.rgb().displayable();
152058
152095
  },
152059
- hex: color_formatHex$2,
152096
+ hex: color_formatHex,
152060
152097
  // Deprecated! Use color.formatHex.
152061
- formatHex: color_formatHex$2,
152098
+ formatHex: color_formatHex,
152062
152099
  formatHex8: color_formatHex8,
152063
- formatHsl: color_formatHsl$2,
152064
- formatRgb: color_formatRgb$2,
152065
- toString: color_formatRgb$2
152100
+ formatHsl: color_formatHsl,
152101
+ formatRgb: color_formatRgb,
152102
+ toString: color_formatRgb
152066
152103
  });
152067
- function color_formatHex$2() {
152104
+ function color_formatHex() {
152068
152105
  return this.rgb().formatHex();
152069
152106
  }
152070
152107
  function color_formatHex8() {
152071
152108
  return this.rgb().formatHex8();
152072
152109
  }
152073
- function color_formatHsl$2() {
152074
- return hslConvert$2(this).formatHsl();
152110
+ function color_formatHsl() {
152111
+ return hslConvert(this).formatHsl();
152075
152112
  }
152076
- function color_formatRgb$2() {
152113
+ function color_formatRgb() {
152077
152114
  return this.rgb().formatRgb();
152078
152115
  }
152079
- function color$2(format2) {
152116
+ function color(format2) {
152080
152117
  var m2, l2;
152081
152118
  format2 = (format2 + "").trim().toLowerCase();
152082
- return (m2 = reHex$2.exec(format2)) ? (l2 = m2[1].length, m2 = parseInt(m2[1], 16), l2 === 6 ? rgbn$2(m2) : l2 === 3 ? new Rgb$2(m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, (m2 & 15) << 4 | m2 & 15, 1) : l2 === 8 ? rgba$2(m2 >> 24 & 255, m2 >> 16 & 255, m2 >> 8 & 255, (m2 & 255) / 255) : l2 === 4 ? rgba$2(m2 >> 12 & 15 | m2 >> 8 & 240, m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, ((m2 & 15) << 4 | m2 & 15) / 255) : null) : (m2 = reRgbInteger$2.exec(format2)) ? new Rgb$2(m2[1], m2[2], m2[3], 1) : (m2 = reRgbPercent$2.exec(format2)) ? new Rgb$2(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, 1) : (m2 = reRgbaInteger$2.exec(format2)) ? rgba$2(m2[1], m2[2], m2[3], m2[4]) : (m2 = reRgbaPercent$2.exec(format2)) ? rgba$2(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, m2[4]) : (m2 = reHslPercent$2.exec(format2)) ? hsla$2(m2[1], m2[2] / 100, m2[3] / 100, 1) : (m2 = reHslaPercent$2.exec(format2)) ? hsla$2(m2[1], m2[2] / 100, m2[3] / 100, m2[4]) : named$2.hasOwnProperty(format2) ? rgbn$2(named$2[format2]) : format2 === "transparent" ? new Rgb$2(NaN, NaN, NaN, 0) : null;
152119
+ return (m2 = reHex.exec(format2)) ? (l2 = m2[1].length, m2 = parseInt(m2[1], 16), l2 === 6 ? rgbn(m2) : l2 === 3 ? new Rgb(m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, (m2 & 15) << 4 | m2 & 15, 1) : l2 === 8 ? rgba(m2 >> 24 & 255, m2 >> 16 & 255, m2 >> 8 & 255, (m2 & 255) / 255) : l2 === 4 ? rgba(m2 >> 12 & 15 | m2 >> 8 & 240, m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, ((m2 & 15) << 4 | m2 & 15) / 255) : null) : (m2 = reRgbInteger.exec(format2)) ? new Rgb(m2[1], m2[2], m2[3], 1) : (m2 = reRgbPercent.exec(format2)) ? new Rgb(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, 1) : (m2 = reRgbaInteger.exec(format2)) ? rgba(m2[1], m2[2], m2[3], m2[4]) : (m2 = reRgbaPercent.exec(format2)) ? rgba(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, m2[4]) : (m2 = reHslPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, 1) : (m2 = reHslaPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, m2[4]) : named.hasOwnProperty(format2) ? rgbn(named[format2]) : format2 === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
152083
152120
  }
152084
- function rgbn$2(n2) {
152085
- return new Rgb$2(n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255, 1);
152121
+ function rgbn(n2) {
152122
+ return new Rgb(n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255, 1);
152086
152123
  }
152087
- function rgba$2(r2, g2, b, a2) {
152124
+ function rgba(r2, g2, b, a2) {
152088
152125
  if (a2 <= 0) r2 = g2 = b = NaN;
152089
- return new Rgb$2(r2, g2, b, a2);
152126
+ return new Rgb(r2, g2, b, a2);
152090
152127
  }
152091
- function rgbConvert$2(o2) {
152092
- if (!(o2 instanceof Color$2)) o2 = color$2(o2);
152093
- if (!o2) return new Rgb$2();
152128
+ function rgbConvert(o2) {
152129
+ if (!(o2 instanceof Color)) o2 = color(o2);
152130
+ if (!o2) return new Rgb();
152094
152131
  o2 = o2.rgb();
152095
- return new Rgb$2(o2.r, o2.g, o2.b, o2.opacity);
152132
+ return new Rgb(o2.r, o2.g, o2.b, o2.opacity);
152096
152133
  }
152097
- function rgb$3(r2, g2, b, opacity) {
152098
- return arguments.length === 1 ? rgbConvert$2(r2) : new Rgb$2(r2, g2, b, opacity == null ? 1 : opacity);
152134
+ function rgb(r2, g2, b, opacity) {
152135
+ return arguments.length === 1 ? rgbConvert(r2) : new Rgb(r2, g2, b, opacity == null ? 1 : opacity);
152099
152136
  }
152100
- function Rgb$2(r2, g2, b, opacity) {
152137
+ function Rgb(r2, g2, b, opacity) {
152101
152138
  this.r = +r2;
152102
152139
  this.g = +g2;
152103
152140
  this.b = +b;
152104
152141
  this.opacity = +opacity;
152105
152142
  }
152106
- define$2(Rgb$2, rgb$3, extend$2(Color$2, {
152143
+ define(Rgb, rgb, extend(Color, {
152107
152144
  brighter(k) {
152108
- k = k == null ? brighter$2 : Math.pow(brighter$2, k);
152109
- return new Rgb$2(this.r * k, this.g * k, this.b * k, this.opacity);
152145
+ k = k == null ? brighter : Math.pow(brighter, k);
152146
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
152110
152147
  },
152111
152148
  darker(k) {
152112
- k = k == null ? darker$2 : Math.pow(darker$2, k);
152113
- return new Rgb$2(this.r * k, this.g * k, this.b * k, this.opacity);
152149
+ k = k == null ? darker : Math.pow(darker, k);
152150
+ return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
152114
152151
  },
152115
152152
  rgb() {
152116
152153
  return this;
152117
152154
  },
152118
152155
  clamp() {
152119
- return new Rgb$2(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));
152156
+ return new Rgb(clampi(this.r), clampi(this.g), clampi(this.b), clampa(this.opacity));
152120
152157
  },
152121
152158
  displayable() {
152122
152159
  return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);
152123
152160
  },
152124
- hex: rgb_formatHex$2,
152161
+ hex: rgb_formatHex,
152125
152162
  // Deprecated! Use color.formatHex.
152126
- formatHex: rgb_formatHex$2,
152163
+ formatHex: rgb_formatHex,
152127
152164
  formatHex8: rgb_formatHex8,
152128
- formatRgb: rgb_formatRgb$2,
152129
- toString: rgb_formatRgb$2
152165
+ formatRgb: rgb_formatRgb,
152166
+ toString: rgb_formatRgb
152130
152167
  }));
152131
- function rgb_formatHex$2() {
152132
- return `#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}`;
152168
+ function rgb_formatHex() {
152169
+ return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}`;
152133
152170
  }
152134
152171
  function rgb_formatHex8() {
152135
- return `#${hex$2(this.r)}${hex$2(this.g)}${hex$2(this.b)}${hex$2((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
152172
+ return `#${hex(this.r)}${hex(this.g)}${hex(this.b)}${hex((isNaN(this.opacity) ? 1 : this.opacity) * 255)}`;
152136
152173
  }
152137
- function rgb_formatRgb$2() {
152174
+ function rgb_formatRgb() {
152138
152175
  const a2 = clampa(this.opacity);
152139
152176
  return `${a2 === 1 ? "rgb(" : "rgba("}${clampi(this.r)}, ${clampi(this.g)}, ${clampi(this.b)}${a2 === 1 ? ")" : `, ${a2})`}`;
152140
152177
  }
@@ -152144,21 +152181,21 @@ function clampa(opacity) {
152144
152181
  function clampi(value) {
152145
152182
  return Math.max(0, Math.min(255, Math.round(value) || 0));
152146
152183
  }
152147
- function hex$2(value) {
152184
+ function hex(value) {
152148
152185
  value = clampi(value);
152149
152186
  return (value < 16 ? "0" : "") + value.toString(16);
152150
152187
  }
152151
- function hsla$2(h, s2, l2, a2) {
152188
+ function hsla(h, s2, l2, a2) {
152152
152189
  if (a2 <= 0) h = s2 = l2 = NaN;
152153
152190
  else if (l2 <= 0 || l2 >= 1) h = s2 = NaN;
152154
152191
  else if (s2 <= 0) h = NaN;
152155
- return new Hsl$2(h, s2, l2, a2);
152192
+ return new Hsl(h, s2, l2, a2);
152156
152193
  }
152157
- function hslConvert$2(o2) {
152158
- if (o2 instanceof Hsl$2) return new Hsl$2(o2.h, o2.s, o2.l, o2.opacity);
152159
- if (!(o2 instanceof Color$2)) o2 = color$2(o2);
152160
- if (!o2) return new Hsl$2();
152161
- if (o2 instanceof Hsl$2) return o2;
152194
+ function hslConvert(o2) {
152195
+ if (o2 instanceof Hsl) return new Hsl(o2.h, o2.s, o2.l, o2.opacity);
152196
+ if (!(o2 instanceof Color)) o2 = color(o2);
152197
+ if (!o2) return new Hsl();
152198
+ if (o2 instanceof Hsl) return o2;
152162
152199
  o2 = o2.rgb();
152163
152200
  var r2 = o2.r / 255, g2 = o2.g / 255, b = o2.b / 255, min = Math.min(r2, g2, b), max2 = Math.max(r2, g2, b), h = NaN, s2 = max2 - min, l2 = (max2 + min) / 2;
152164
152201
  if (s2) {
@@ -152170,37 +152207,37 @@ function hslConvert$2(o2) {
152170
152207
  } else {
152171
152208
  s2 = l2 > 0 && l2 < 1 ? 0 : h;
152172
152209
  }
152173
- return new Hsl$2(h, s2, l2, o2.opacity);
152210
+ return new Hsl(h, s2, l2, o2.opacity);
152174
152211
  }
152175
- function hsl$2(h, s2, l2, opacity) {
152176
- return arguments.length === 1 ? hslConvert$2(h) : new Hsl$2(h, s2, l2, opacity == null ? 1 : opacity);
152212
+ function hsl(h, s2, l2, opacity) {
152213
+ return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s2, l2, opacity == null ? 1 : opacity);
152177
152214
  }
152178
- function Hsl$2(h, s2, l2, opacity) {
152215
+ function Hsl(h, s2, l2, opacity) {
152179
152216
  this.h = +h;
152180
152217
  this.s = +s2;
152181
152218
  this.l = +l2;
152182
152219
  this.opacity = +opacity;
152183
152220
  }
152184
- define$2(Hsl$2, hsl$2, extend$2(Color$2, {
152221
+ define(Hsl, hsl, extend(Color, {
152185
152222
  brighter(k) {
152186
- k = k == null ? brighter$2 : Math.pow(brighter$2, k);
152187
- return new Hsl$2(this.h, this.s, this.l * k, this.opacity);
152223
+ k = k == null ? brighter : Math.pow(brighter, k);
152224
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
152188
152225
  },
152189
152226
  darker(k) {
152190
- k = k == null ? darker$2 : Math.pow(darker$2, k);
152191
- return new Hsl$2(this.h, this.s, this.l * k, this.opacity);
152227
+ k = k == null ? darker : Math.pow(darker, k);
152228
+ return new Hsl(this.h, this.s, this.l * k, this.opacity);
152192
152229
  },
152193
152230
  rgb() {
152194
152231
  var h = this.h % 360 + (this.h < 0) * 360, s2 = isNaN(h) || isNaN(this.s) ? 0 : this.s, l2 = this.l, m2 = l2 + (l2 < 0.5 ? l2 : 1 - l2) * s2, m1 = 2 * l2 - m2;
152195
- return new Rgb$2(
152196
- hsl2rgb$2(h >= 240 ? h - 240 : h + 120, m1, m2),
152197
- hsl2rgb$2(h, m1, m2),
152198
- hsl2rgb$2(h < 120 ? h + 240 : h - 120, m1, m2),
152232
+ return new Rgb(
152233
+ hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),
152234
+ hsl2rgb(h, m1, m2),
152235
+ hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),
152199
152236
  this.opacity
152200
152237
  );
152201
152238
  },
152202
152239
  clamp() {
152203
- return new Hsl$2(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));
152240
+ return new Hsl(clamph(this.h), clampt(this.s), clampt(this.l), clampa(this.opacity));
152204
152241
  },
152205
152242
  displayable() {
152206
152243
  return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);
@@ -152217,33 +152254,33 @@ function clamph(value) {
152217
152254
  function clampt(value) {
152218
152255
  return Math.max(0, Math.min(1, value || 0));
152219
152256
  }
152220
- function hsl2rgb$2(h, m1, m2) {
152257
+ function hsl2rgb(h, m1, m2) {
152221
152258
  return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;
152222
152259
  }
152223
- const constant$1 = (x) => () => x;
152224
- function linear$2(a2, d) {
152260
+ const constant = (x) => () => x;
152261
+ function linear$1(a2, d) {
152225
152262
  return function(t) {
152226
152263
  return a2 + t * d;
152227
152264
  };
152228
152265
  }
152229
- function exponential$1(a2, b, y) {
152266
+ function exponential(a2, b, y) {
152230
152267
  return a2 = Math.pow(a2, y), b = Math.pow(b, y) - a2, y = 1 / y, function(t) {
152231
152268
  return Math.pow(a2 + t * b, y);
152232
152269
  };
152233
152270
  }
152234
- function gamma$1(y) {
152235
- return (y = +y) === 1 ? nogamma$1 : function(a2, b) {
152236
- return b - a2 ? exponential$1(a2, b, y) : constant$1(isNaN(a2) ? b : a2);
152271
+ function gamma(y) {
152272
+ return (y = +y) === 1 ? nogamma : function(a2, b) {
152273
+ return b - a2 ? exponential(a2, b, y) : constant(isNaN(a2) ? b : a2);
152237
152274
  };
152238
152275
  }
152239
- function nogamma$1(a2, b) {
152276
+ function nogamma(a2, b) {
152240
152277
  var d = b - a2;
152241
- return d ? linear$2(a2, d) : constant$1(isNaN(a2) ? b : a2);
152278
+ return d ? linear$1(a2, d) : constant(isNaN(a2) ? b : a2);
152242
152279
  }
152243
- const rgb$2 = function rgbGamma(y) {
152244
- var color2 = gamma$1(y);
152245
- function rgb2(start, end) {
152246
- var r2 = color2((start = rgb$3(start)).r, (end = rgb$3(end)).r), g2 = color2(start.g, end.g), b = color2(start.b, end.b), opacity = nogamma$1(start.opacity, end.opacity);
152280
+ const interpolateRgb = function rgbGamma(y) {
152281
+ var color2 = gamma(y);
152282
+ function rgb$1(start, end) {
152283
+ var r2 = color2((start = rgb(start)).r, (end = rgb(end)).r), g2 = color2(start.g, end.g), b = color2(start.b, end.b), opacity = nogamma(start.opacity, end.opacity);
152247
152284
  return function(t) {
152248
152285
  start.r = r2(t);
152249
152286
  start.g = g2(t);
@@ -152252,10 +152289,10 @@ const rgb$2 = function rgbGamma(y) {
152252
152289
  return start + "";
152253
152290
  };
152254
152291
  }
152255
- rgb2.gamma = rgbGamma;
152256
- return rgb2;
152292
+ rgb$1.gamma = rgbGamma;
152293
+ return rgb$1;
152257
152294
  }(1);
152258
- function numberArray$1(a2, b) {
152295
+ function numberArray(a2, b) {
152259
152296
  if (!b) b = [];
152260
152297
  var n2 = a2 ? Math.min(b.length, a2.length) : 0, c2 = b.slice(), i2;
152261
152298
  return function(t) {
@@ -152263,19 +152300,19 @@ function numberArray$1(a2, b) {
152263
152300
  return c2;
152264
152301
  };
152265
152302
  }
152266
- function isNumberArray$1(x) {
152303
+ function isNumberArray(x) {
152267
152304
  return ArrayBuffer.isView(x) && !(x instanceof DataView);
152268
152305
  }
152269
- function genericArray$1(a2, b) {
152306
+ function genericArray(a2, b) {
152270
152307
  var nb = b ? b.length : 0, na = a2 ? Math.min(nb, a2.length) : 0, x = new Array(na), c2 = new Array(nb), i2;
152271
- for (i2 = 0; i2 < na; ++i2) x[i2] = interpolate$1(a2[i2], b[i2]);
152308
+ for (i2 = 0; i2 < na; ++i2) x[i2] = interpolate(a2[i2], b[i2]);
152272
152309
  for (; i2 < nb; ++i2) c2[i2] = b[i2];
152273
152310
  return function(t) {
152274
152311
  for (i2 = 0; i2 < na; ++i2) c2[i2] = x[i2](t);
152275
152312
  return c2;
152276
152313
  };
152277
152314
  }
152278
- function date$1(a2, b) {
152315
+ function date(a2, b) {
152279
152316
  var d = /* @__PURE__ */ new Date();
152280
152317
  return a2 = +a2, b = +b, function(t) {
152281
152318
  return d.setTime(a2 * (1 - t) + b * t), d;
@@ -152286,13 +152323,13 @@ function interpolateNumber(a2, b) {
152286
152323
  return a2 * (1 - t) + b * t;
152287
152324
  };
152288
152325
  }
152289
- function object$1(a2, b) {
152326
+ function object(a2, b) {
152290
152327
  var i2 = {}, c2 = {}, k;
152291
152328
  if (a2 === null || typeof a2 !== "object") a2 = {};
152292
152329
  if (b === null || typeof b !== "object") b = {};
152293
152330
  for (k in b) {
152294
152331
  if (k in a2) {
152295
- i2[k] = interpolate$1(a2[k], b[k]);
152332
+ i2[k] = interpolate(a2[k], b[k]);
152296
152333
  } else {
152297
152334
  c2[k] = b[k];
152298
152335
  }
@@ -152302,21 +152339,21 @@ function object$1(a2, b) {
152302
152339
  return c2;
152303
152340
  };
152304
152341
  }
152305
- var reA$1 = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB$1 = new RegExp(reA$1.source, "g");
152306
- function zero$1(b) {
152342
+ var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g");
152343
+ function zero(b) {
152307
152344
  return function() {
152308
152345
  return b;
152309
152346
  };
152310
152347
  }
152311
- function one$1(b) {
152348
+ function one(b) {
152312
152349
  return function(t) {
152313
152350
  return b(t) + "";
152314
152351
  };
152315
152352
  }
152316
- function string$1(a2, b) {
152317
- var bi = reA$1.lastIndex = reB$1.lastIndex = 0, am, bm, bs, i2 = -1, s2 = [], q = [];
152353
+ function string(a2, b) {
152354
+ var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i2 = -1, s2 = [], q = [];
152318
152355
  a2 = a2 + "", b = b + "";
152319
- while ((am = reA$1.exec(a2)) && (bm = reB$1.exec(b))) {
152356
+ while ((am = reA.exec(a2)) && (bm = reB.exec(b))) {
152320
152357
  if ((bs = bm.index) > bi) {
152321
152358
  bs = b.slice(bi, bs);
152322
152359
  if (s2[i2]) s2[i2] += bs;
@@ -152329,33 +152366,47 @@ function string$1(a2, b) {
152329
152366
  s2[++i2] = null;
152330
152367
  q.push({ i: i2, x: interpolateNumber(am, bm) });
152331
152368
  }
152332
- bi = reB$1.lastIndex;
152369
+ bi = reB.lastIndex;
152333
152370
  }
152334
152371
  if (bi < b.length) {
152335
152372
  bs = b.slice(bi);
152336
152373
  if (s2[i2]) s2[i2] += bs;
152337
152374
  else s2[++i2] = bs;
152338
152375
  }
152339
- return s2.length < 2 ? q[0] ? one$1(q[0].x) : zero$1(b) : (b = q.length, function(t) {
152376
+ return s2.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) {
152340
152377
  for (var i22 = 0, o2; i22 < b; ++i22) s2[(o2 = q[i22]).i] = o2.x(t);
152341
152378
  return s2.join("");
152342
152379
  });
152343
152380
  }
152344
- function interpolate$1(a2, b) {
152381
+ function interpolate(a2, b) {
152345
152382
  var t = typeof b, c2;
152346
- return b == null || t === "boolean" ? constant$1(b) : (t === "number" ? interpolateNumber : t === "string" ? (c2 = color$2(b)) ? (b = c2, rgb$2) : string$1 : b instanceof color$2 ? rgb$2 : b instanceof Date ? date$1 : isNumberArray$1(b) ? numberArray$1 : Array.isArray(b) ? genericArray$1 : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object$1 : interpolateNumber)(a2, b);
152383
+ return b == null || t === "boolean" ? constant(b) : (t === "number" ? interpolateNumber : t === "string" ? (c2 = color(b)) ? (b = c2, interpolateRgb) : string : b instanceof color ? interpolateRgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : interpolateNumber)(a2, b);
152347
152384
  }
152348
152385
  function interpolateRound(a2, b) {
152349
152386
  return a2 = +a2, b = +b, function(t) {
152350
152387
  return Math.round(a2 * (1 - t) + b * t);
152351
152388
  };
152352
152389
  }
152390
+ function piecewise(interpolate$12, values2) {
152391
+ if (values2 === void 0) values2 = interpolate$12, interpolate$12 = interpolate;
152392
+ var i2 = 0, n2 = values2.length - 1, v = values2[0], I2 = new Array(n2 < 0 ? 0 : n2);
152393
+ while (i2 < n2) I2[i2] = interpolate$12(v, v = values2[++i2]);
152394
+ return function(t) {
152395
+ var i22 = Math.max(0, Math.min(n2 - 1, Math.floor(t *= n2)));
152396
+ return I2[i22](t - i22);
152397
+ };
152398
+ }
152399
+ function quantize(interpolator, n2) {
152400
+ var samples = new Array(n2);
152401
+ for (var i2 = 0; i2 < n2; ++i2) samples[i2] = interpolator(i2 / (n2 - 1));
152402
+ return samples;
152403
+ }
152353
152404
  function constants(x) {
152354
152405
  return function() {
152355
152406
  return x;
152356
152407
  };
152357
152408
  }
152358
- function number$2(x) {
152409
+ function number$1(x) {
152359
152410
  return +x;
152360
152411
  }
152361
152412
  var unit = [0, 1];
@@ -152401,7 +152452,7 @@ function copy$1(source, target) {
152401
152452
  return target.domain(source.domain()).range(source.range()).interpolate(source.interpolate()).clamp(source.clamp()).unknown(source.unknown());
152402
152453
  }
152403
152454
  function transformer$1() {
152404
- var domain = unit, range2 = unit, interpolate2 = interpolate$1, transform2, untransform, unknown, clamp2 = identity$2, piecewise2, output, input;
152455
+ var domain = unit, range2 = unit, interpolate$12 = interpolate, transform2, untransform, unknown, clamp2 = identity$2, piecewise2, output, input;
152405
152456
  function rescale() {
152406
152457
  var n2 = Math.min(domain.length, range2.length);
152407
152458
  if (clamp2 !== identity$2) clamp2 = clamper(domain[0], domain[n2 - 1]);
@@ -152410,25 +152461,25 @@ function transformer$1() {
152410
152461
  return scale2;
152411
152462
  }
152412
152463
  function scale2(x) {
152413
- return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise2(domain.map(transform2), range2, interpolate2)))(transform2(clamp2(x)));
152464
+ return x == null || isNaN(x = +x) ? unknown : (output || (output = piecewise2(domain.map(transform2), range2, interpolate$12)))(transform2(clamp2(x)));
152414
152465
  }
152415
152466
  scale2.invert = function(y) {
152416
152467
  return clamp2(untransform((input || (input = piecewise2(range2, domain.map(transform2), interpolateNumber)))(y)));
152417
152468
  };
152418
152469
  scale2.domain = function(_) {
152419
- return arguments.length ? (domain = Array.from(_, number$2), rescale()) : domain.slice();
152470
+ return arguments.length ? (domain = Array.from(_, number$1), rescale()) : domain.slice();
152420
152471
  };
152421
152472
  scale2.range = function(_) {
152422
152473
  return arguments.length ? (range2 = Array.from(_), rescale()) : range2.slice();
152423
152474
  };
152424
152475
  scale2.rangeRound = function(_) {
152425
- return range2 = Array.from(_), interpolate2 = interpolateRound, rescale();
152476
+ return range2 = Array.from(_), interpolate$12 = interpolateRound, rescale();
152426
152477
  };
152427
152478
  scale2.clamp = function(_) {
152428
152479
  return arguments.length ? (clamp2 = _ ? true : identity$2, rescale()) : clamp2 !== identity$2;
152429
152480
  };
152430
152481
  scale2.interpolate = function(_) {
152431
- return arguments.length ? (interpolate2 = _, rescale()) : interpolate2;
152482
+ return arguments.length ? (interpolate$12 = _, rescale()) : interpolate$12;
152432
152483
  };
152433
152484
  scale2.unknown = function(_) {
152434
152485
  return arguments.length ? (unknown = _, scale2) : unknown;
@@ -152721,10 +152772,10 @@ function linearish(scale2) {
152721
152772
  };
152722
152773
  return scale2;
152723
152774
  }
152724
- function linear$1() {
152775
+ function linear() {
152725
152776
  var scale2 = continuous();
152726
152777
  scale2.copy = function() {
152727
- return copy$1(scale2, linear$1());
152778
+ return copy$1(scale2, linear());
152728
152779
  };
152729
152780
  initRange.apply(scale2, arguments);
152730
152781
  return linearish(scale2);
@@ -152749,7 +152800,7 @@ function transformer() {
152749
152800
  return arguments.length ? ([r0, r1] = _, interpolator = interpolate2(r0, r1), scale2) : [interpolator(0), interpolator(1)];
152750
152801
  };
152751
152802
  }
152752
- scale2.range = range2(interpolate$1);
152803
+ scale2.range = range2(interpolate);
152753
152804
  scale2.rangeRound = range2(interpolateRound);
152754
152805
  scale2.unknown = function(_) {
152755
152806
  return arguments.length ? (unknown = _, scale2) : unknown;
@@ -152776,7 +152827,7 @@ var bottom = 3, epsilon = 1e-6;
152776
152827
  function translateX(x) {
152777
152828
  return "translate(" + x + ",0)";
152778
152829
  }
152779
- function number$1(scale2) {
152830
+ function number(scale2) {
152780
152831
  return (d) => +scale2(d);
152781
152832
  }
152782
152833
  function center(scale2, offset2) {
@@ -152790,7 +152841,7 @@ function entering() {
152790
152841
  function axis(orient, scale2) {
152791
152842
  var tickArguments = [], tickValues = null, tickFormat2 = null, tickSizeInner = 6, tickSizeOuter = 6, tickPadding = 3, offset2 = typeof window !== "undefined" && window.devicePixelRatio > 1 ? 0 : 0.5, k = 1, x = "y", transform2 = translateX;
152792
152843
  function axis2(context) {
152793
- var values2 = tickValues == null ? scale2.ticks ? scale2.ticks.apply(scale2, tickArguments) : scale2.domain() : tickValues, format2 = tickFormat2 == null ? scale2.tickFormat ? scale2.tickFormat.apply(scale2, tickArguments) : identity : tickFormat2, spacing = Math.max(tickSizeInner, 0) + tickPadding, range2 = scale2.range(), range0 = +range2[0] + offset2, range1 = +range2[range2.length - 1] + offset2, position2 = (scale2.bandwidth ? center : number$1)(scale2.copy(), offset2), selection = context.selection ? context.selection() : context, path = selection.selectAll(".domain").data([null]), tick = selection.selectAll(".tick").data(values2, scale2).order(), tickExit = tick.exit(), tickEnter = tick.enter().append("g").attr("class", "tick"), line2 = tick.select("line"), text = tick.select("text");
152844
+ var values2 = tickValues == null ? scale2.ticks ? scale2.ticks.apply(scale2, tickArguments) : scale2.domain() : tickValues, format2 = tickFormat2 == null ? scale2.tickFormat ? scale2.tickFormat.apply(scale2, tickArguments) : identity : tickFormat2, spacing = Math.max(tickSizeInner, 0) + tickPadding, range2 = scale2.range(), range0 = +range2[0] + offset2, range1 = +range2[range2.length - 1] + offset2, position2 = (scale2.bandwidth ? center : number)(scale2.copy(), offset2), selection = context.selection ? context.selection() : context, path = selection.selectAll(".domain").data([null]), tick = selection.selectAll(".tick").data(values2, scale2).order(), tickExit = tick.exit(), tickEnter = tick.enter().append("g").attr("class", "tick"), line2 = tick.select("line"), text = tick.select("text");
152794
152845
  path = path.merge(path.enter().insert("path", ".tick").attr("class", "domain").attr("stroke", "currentColor"));
152795
152846
  tick = tick.merge(tickEnter);
152796
152847
  line2 = line2.merge(tickEnter.append("line").attr("stroke", "currentColor").attr(x + "2", k * tickSizeInner));
@@ -152855,765 +152906,6 @@ function axis(orient, scale2) {
152855
152906
  function axisBottom(scale2) {
152856
152907
  return axis(bottom, scale2);
152857
152908
  }
152858
- function define$1(constructor, factory, prototype) {
152859
- constructor.prototype = factory.prototype = prototype;
152860
- prototype.constructor = constructor;
152861
- }
152862
- function extend$1(parent, definition) {
152863
- var prototype = Object.create(parent.prototype);
152864
- for (var key in definition) prototype[key] = definition[key];
152865
- return prototype;
152866
- }
152867
- function Color$1() {
152868
- }
152869
- var darker$1 = 0.7;
152870
- var brighter$1 = 1 / darker$1;
152871
- var reI$1 = "\\s*([+-]?\\d+)\\s*", reN$1 = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP$1 = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex$1 = /^#([0-9a-f]{3,8})$/, reRgbInteger$1 = new RegExp("^rgb\\(" + [reI$1, reI$1, reI$1] + "\\)$"), reRgbPercent$1 = new RegExp("^rgb\\(" + [reP$1, reP$1, reP$1] + "\\)$"), reRgbaInteger$1 = new RegExp("^rgba\\(" + [reI$1, reI$1, reI$1, reN$1] + "\\)$"), reRgbaPercent$1 = new RegExp("^rgba\\(" + [reP$1, reP$1, reP$1, reN$1] + "\\)$"), reHslPercent$1 = new RegExp("^hsl\\(" + [reN$1, reP$1, reP$1] + "\\)$"), reHslaPercent$1 = new RegExp("^hsla\\(" + [reN$1, reP$1, reP$1, reN$1] + "\\)$");
152872
- var named$1 = {
152873
- aliceblue: 15792383,
152874
- antiquewhite: 16444375,
152875
- aqua: 65535,
152876
- aquamarine: 8388564,
152877
- azure: 15794175,
152878
- beige: 16119260,
152879
- bisque: 16770244,
152880
- black: 0,
152881
- blanchedalmond: 16772045,
152882
- blue: 255,
152883
- blueviolet: 9055202,
152884
- brown: 10824234,
152885
- burlywood: 14596231,
152886
- cadetblue: 6266528,
152887
- chartreuse: 8388352,
152888
- chocolate: 13789470,
152889
- coral: 16744272,
152890
- cornflowerblue: 6591981,
152891
- cornsilk: 16775388,
152892
- crimson: 14423100,
152893
- cyan: 65535,
152894
- darkblue: 139,
152895
- darkcyan: 35723,
152896
- darkgoldenrod: 12092939,
152897
- darkgray: 11119017,
152898
- darkgreen: 25600,
152899
- darkgrey: 11119017,
152900
- darkkhaki: 12433259,
152901
- darkmagenta: 9109643,
152902
- darkolivegreen: 5597999,
152903
- darkorange: 16747520,
152904
- darkorchid: 10040012,
152905
- darkred: 9109504,
152906
- darksalmon: 15308410,
152907
- darkseagreen: 9419919,
152908
- darkslateblue: 4734347,
152909
- darkslategray: 3100495,
152910
- darkslategrey: 3100495,
152911
- darkturquoise: 52945,
152912
- darkviolet: 9699539,
152913
- deeppink: 16716947,
152914
- deepskyblue: 49151,
152915
- dimgray: 6908265,
152916
- dimgrey: 6908265,
152917
- dodgerblue: 2003199,
152918
- firebrick: 11674146,
152919
- floralwhite: 16775920,
152920
- forestgreen: 2263842,
152921
- fuchsia: 16711935,
152922
- gainsboro: 14474460,
152923
- ghostwhite: 16316671,
152924
- gold: 16766720,
152925
- goldenrod: 14329120,
152926
- gray: 8421504,
152927
- green: 32768,
152928
- greenyellow: 11403055,
152929
- grey: 8421504,
152930
- honeydew: 15794160,
152931
- hotpink: 16738740,
152932
- indianred: 13458524,
152933
- indigo: 4915330,
152934
- ivory: 16777200,
152935
- khaki: 15787660,
152936
- lavender: 15132410,
152937
- lavenderblush: 16773365,
152938
- lawngreen: 8190976,
152939
- lemonchiffon: 16775885,
152940
- lightblue: 11393254,
152941
- lightcoral: 15761536,
152942
- lightcyan: 14745599,
152943
- lightgoldenrodyellow: 16448210,
152944
- lightgray: 13882323,
152945
- lightgreen: 9498256,
152946
- lightgrey: 13882323,
152947
- lightpink: 16758465,
152948
- lightsalmon: 16752762,
152949
- lightseagreen: 2142890,
152950
- lightskyblue: 8900346,
152951
- lightslategray: 7833753,
152952
- lightslategrey: 7833753,
152953
- lightsteelblue: 11584734,
152954
- lightyellow: 16777184,
152955
- lime: 65280,
152956
- limegreen: 3329330,
152957
- linen: 16445670,
152958
- magenta: 16711935,
152959
- maroon: 8388608,
152960
- mediumaquamarine: 6737322,
152961
- mediumblue: 205,
152962
- mediumorchid: 12211667,
152963
- mediumpurple: 9662683,
152964
- mediumseagreen: 3978097,
152965
- mediumslateblue: 8087790,
152966
- mediumspringgreen: 64154,
152967
- mediumturquoise: 4772300,
152968
- mediumvioletred: 13047173,
152969
- midnightblue: 1644912,
152970
- mintcream: 16121850,
152971
- mistyrose: 16770273,
152972
- moccasin: 16770229,
152973
- navajowhite: 16768685,
152974
- navy: 128,
152975
- oldlace: 16643558,
152976
- olive: 8421376,
152977
- olivedrab: 7048739,
152978
- orange: 16753920,
152979
- orangered: 16729344,
152980
- orchid: 14315734,
152981
- palegoldenrod: 15657130,
152982
- palegreen: 10025880,
152983
- paleturquoise: 11529966,
152984
- palevioletred: 14381203,
152985
- papayawhip: 16773077,
152986
- peachpuff: 16767673,
152987
- peru: 13468991,
152988
- pink: 16761035,
152989
- plum: 14524637,
152990
- powderblue: 11591910,
152991
- purple: 8388736,
152992
- rebeccapurple: 6697881,
152993
- red: 16711680,
152994
- rosybrown: 12357519,
152995
- royalblue: 4286945,
152996
- saddlebrown: 9127187,
152997
- salmon: 16416882,
152998
- sandybrown: 16032864,
152999
- seagreen: 3050327,
153000
- seashell: 16774638,
153001
- sienna: 10506797,
153002
- silver: 12632256,
153003
- skyblue: 8900331,
153004
- slateblue: 6970061,
153005
- slategray: 7372944,
153006
- slategrey: 7372944,
153007
- snow: 16775930,
153008
- springgreen: 65407,
153009
- steelblue: 4620980,
153010
- tan: 13808780,
153011
- teal: 32896,
153012
- thistle: 14204888,
153013
- tomato: 16737095,
153014
- turquoise: 4251856,
153015
- violet: 15631086,
153016
- wheat: 16113331,
153017
- white: 16777215,
153018
- whitesmoke: 16119285,
153019
- yellow: 16776960,
153020
- yellowgreen: 10145074
153021
- };
153022
- define$1(Color$1, color$1, {
153023
- copy: function(channels2) {
153024
- return Object.assign(new this.constructor(), this, channels2);
153025
- },
153026
- displayable: function() {
153027
- return this.rgb().displayable();
153028
- },
153029
- hex: color_formatHex$1,
153030
- // Deprecated! Use color.formatHex.
153031
- formatHex: color_formatHex$1,
153032
- formatHsl: color_formatHsl$1,
153033
- formatRgb: color_formatRgb$1,
153034
- toString: color_formatRgb$1
153035
- });
153036
- function color_formatHex$1() {
153037
- return this.rgb().formatHex();
153038
- }
153039
- function color_formatHsl$1() {
153040
- return hslConvert$1(this).formatHsl();
153041
- }
153042
- function color_formatRgb$1() {
153043
- return this.rgb().formatRgb();
153044
- }
153045
- function color$1(format2) {
153046
- var m2, l2;
153047
- format2 = (format2 + "").trim().toLowerCase();
153048
- return (m2 = reHex$1.exec(format2)) ? (l2 = m2[1].length, m2 = parseInt(m2[1], 16), l2 === 6 ? rgbn$1(m2) : l2 === 3 ? new Rgb$1(m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, (m2 & 15) << 4 | m2 & 15, 1) : l2 === 8 ? rgba$1(m2 >> 24 & 255, m2 >> 16 & 255, m2 >> 8 & 255, (m2 & 255) / 255) : l2 === 4 ? rgba$1(m2 >> 12 & 15 | m2 >> 8 & 240, m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, ((m2 & 15) << 4 | m2 & 15) / 255) : null) : (m2 = reRgbInteger$1.exec(format2)) ? new Rgb$1(m2[1], m2[2], m2[3], 1) : (m2 = reRgbPercent$1.exec(format2)) ? new Rgb$1(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, 1) : (m2 = reRgbaInteger$1.exec(format2)) ? rgba$1(m2[1], m2[2], m2[3], m2[4]) : (m2 = reRgbaPercent$1.exec(format2)) ? rgba$1(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, m2[4]) : (m2 = reHslPercent$1.exec(format2)) ? hsla$1(m2[1], m2[2] / 100, m2[3] / 100, 1) : (m2 = reHslaPercent$1.exec(format2)) ? hsla$1(m2[1], m2[2] / 100, m2[3] / 100, m2[4]) : named$1.hasOwnProperty(format2) ? rgbn$1(named$1[format2]) : format2 === "transparent" ? new Rgb$1(NaN, NaN, NaN, 0) : null;
153049
- }
153050
- function rgbn$1(n2) {
153051
- return new Rgb$1(n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255, 1);
153052
- }
153053
- function rgba$1(r2, g2, b, a2) {
153054
- if (a2 <= 0) r2 = g2 = b = NaN;
153055
- return new Rgb$1(r2, g2, b, a2);
153056
- }
153057
- function rgbConvert$1(o2) {
153058
- if (!(o2 instanceof Color$1)) o2 = color$1(o2);
153059
- if (!o2) return new Rgb$1();
153060
- o2 = o2.rgb();
153061
- return new Rgb$1(o2.r, o2.g, o2.b, o2.opacity);
153062
- }
153063
- function rgb$1(r2, g2, b, opacity) {
153064
- return arguments.length === 1 ? rgbConvert$1(r2) : new Rgb$1(r2, g2, b, opacity == null ? 1 : opacity);
153065
- }
153066
- function Rgb$1(r2, g2, b, opacity) {
153067
- this.r = +r2;
153068
- this.g = +g2;
153069
- this.b = +b;
153070
- this.opacity = +opacity;
153071
- }
153072
- define$1(Rgb$1, rgb$1, extend$1(Color$1, {
153073
- brighter: function(k) {
153074
- k = k == null ? brighter$1 : Math.pow(brighter$1, k);
153075
- return new Rgb$1(this.r * k, this.g * k, this.b * k, this.opacity);
153076
- },
153077
- darker: function(k) {
153078
- k = k == null ? darker$1 : Math.pow(darker$1, k);
153079
- return new Rgb$1(this.r * k, this.g * k, this.b * k, this.opacity);
153080
- },
153081
- rgb: function() {
153082
- return this;
153083
- },
153084
- displayable: function() {
153085
- return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);
153086
- },
153087
- hex: rgb_formatHex$1,
153088
- // Deprecated! Use color.formatHex.
153089
- formatHex: rgb_formatHex$1,
153090
- formatRgb: rgb_formatRgb$1,
153091
- toString: rgb_formatRgb$1
153092
- }));
153093
- function rgb_formatHex$1() {
153094
- return "#" + hex$1(this.r) + hex$1(this.g) + hex$1(this.b);
153095
- }
153096
- function rgb_formatRgb$1() {
153097
- var a2 = this.opacity;
153098
- a2 = isNaN(a2) ? 1 : Math.max(0, Math.min(1, a2));
153099
- return (a2 === 1 ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a2 === 1 ? ")" : ", " + a2 + ")");
153100
- }
153101
- function hex$1(value) {
153102
- value = Math.max(0, Math.min(255, Math.round(value) || 0));
153103
- return (value < 16 ? "0" : "") + value.toString(16);
153104
- }
153105
- function hsla$1(h, s2, l2, a2) {
153106
- if (a2 <= 0) h = s2 = l2 = NaN;
153107
- else if (l2 <= 0 || l2 >= 1) h = s2 = NaN;
153108
- else if (s2 <= 0) h = NaN;
153109
- return new Hsl$1(h, s2, l2, a2);
153110
- }
153111
- function hslConvert$1(o2) {
153112
- if (o2 instanceof Hsl$1) return new Hsl$1(o2.h, o2.s, o2.l, o2.opacity);
153113
- if (!(o2 instanceof Color$1)) o2 = color$1(o2);
153114
- if (!o2) return new Hsl$1();
153115
- if (o2 instanceof Hsl$1) return o2;
153116
- o2 = o2.rgb();
153117
- var r2 = o2.r / 255, g2 = o2.g / 255, b = o2.b / 255, min = Math.min(r2, g2, b), max2 = Math.max(r2, g2, b), h = NaN, s2 = max2 - min, l2 = (max2 + min) / 2;
153118
- if (s2) {
153119
- if (r2 === max2) h = (g2 - b) / s2 + (g2 < b) * 6;
153120
- else if (g2 === max2) h = (b - r2) / s2 + 2;
153121
- else h = (r2 - g2) / s2 + 4;
153122
- s2 /= l2 < 0.5 ? max2 + min : 2 - max2 - min;
153123
- h *= 60;
153124
- } else {
153125
- s2 = l2 > 0 && l2 < 1 ? 0 : h;
153126
- }
153127
- return new Hsl$1(h, s2, l2, o2.opacity);
153128
- }
153129
- function hsl$1(h, s2, l2, opacity) {
153130
- return arguments.length === 1 ? hslConvert$1(h) : new Hsl$1(h, s2, l2, opacity == null ? 1 : opacity);
153131
- }
153132
- function Hsl$1(h, s2, l2, opacity) {
153133
- this.h = +h;
153134
- this.s = +s2;
153135
- this.l = +l2;
153136
- this.opacity = +opacity;
153137
- }
153138
- define$1(Hsl$1, hsl$1, extend$1(Color$1, {
153139
- brighter: function(k) {
153140
- k = k == null ? brighter$1 : Math.pow(brighter$1, k);
153141
- return new Hsl$1(this.h, this.s, this.l * k, this.opacity);
153142
- },
153143
- darker: function(k) {
153144
- k = k == null ? darker$1 : Math.pow(darker$1, k);
153145
- return new Hsl$1(this.h, this.s, this.l * k, this.opacity);
153146
- },
153147
- rgb: function() {
153148
- var h = this.h % 360 + (this.h < 0) * 360, s2 = isNaN(h) || isNaN(this.s) ? 0 : this.s, l2 = this.l, m2 = l2 + (l2 < 0.5 ? l2 : 1 - l2) * s2, m1 = 2 * l2 - m2;
153149
- return new Rgb$1(
153150
- hsl2rgb$1(h >= 240 ? h - 240 : h + 120, m1, m2),
153151
- hsl2rgb$1(h, m1, m2),
153152
- hsl2rgb$1(h < 120 ? h + 240 : h - 120, m1, m2),
153153
- this.opacity
153154
- );
153155
- },
153156
- displayable: function() {
153157
- return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);
153158
- },
153159
- formatHsl: function() {
153160
- var a2 = this.opacity;
153161
- a2 = isNaN(a2) ? 1 : Math.max(0, Math.min(1, a2));
153162
- return (a2 === 1 ? "hsl(" : "hsla(") + (this.h || 0) + ", " + (this.s || 0) * 100 + "%, " + (this.l || 0) * 100 + "%" + (a2 === 1 ? ")" : ", " + a2 + ")");
153163
- }
153164
- }));
153165
- function hsl2rgb$1(h, m1, m2) {
153166
- return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;
153167
- }
153168
- const constant = (x) => () => x;
153169
- function linear(a2, d) {
153170
- return function(t) {
153171
- return a2 + t * d;
153172
- };
153173
- }
153174
- function exponential(a2, b, y) {
153175
- return a2 = Math.pow(a2, y), b = Math.pow(b, y) - a2, y = 1 / y, function(t) {
153176
- return Math.pow(a2 + t * b, y);
153177
- };
153178
- }
153179
- function gamma(y) {
153180
- return (y = +y) === 1 ? nogamma : function(a2, b) {
153181
- return b - a2 ? exponential(a2, b, y) : constant(isNaN(a2) ? b : a2);
153182
- };
153183
- }
153184
- function nogamma(a2, b) {
153185
- var d = b - a2;
153186
- return d ? linear(a2, d) : constant(isNaN(a2) ? b : a2);
153187
- }
153188
- const interpolateRgb = function rgbGamma2(y) {
153189
- var color2 = gamma(y);
153190
- function rgb2(start, end) {
153191
- var r2 = color2((start = rgb$1(start)).r, (end = rgb$1(end)).r), g2 = color2(start.g, end.g), b = color2(start.b, end.b), opacity = nogamma(start.opacity, end.opacity);
153192
- return function(t) {
153193
- start.r = r2(t);
153194
- start.g = g2(t);
153195
- start.b = b(t);
153196
- start.opacity = opacity(t);
153197
- return start + "";
153198
- };
153199
- }
153200
- rgb2.gamma = rgbGamma2;
153201
- return rgb2;
153202
- }(1);
153203
- function numberArray(a2, b) {
153204
- if (!b) b = [];
153205
- var n2 = a2 ? Math.min(b.length, a2.length) : 0, c2 = b.slice(), i2;
153206
- return function(t) {
153207
- for (i2 = 0; i2 < n2; ++i2) c2[i2] = a2[i2] * (1 - t) + b[i2] * t;
153208
- return c2;
153209
- };
153210
- }
153211
- function isNumberArray(x) {
153212
- return ArrayBuffer.isView(x) && !(x instanceof DataView);
153213
- }
153214
- function genericArray(a2, b) {
153215
- var nb = b ? b.length : 0, na = a2 ? Math.min(nb, a2.length) : 0, x = new Array(na), c2 = new Array(nb), i2;
153216
- for (i2 = 0; i2 < na; ++i2) x[i2] = interpolate(a2[i2], b[i2]);
153217
- for (; i2 < nb; ++i2) c2[i2] = b[i2];
153218
- return function(t) {
153219
- for (i2 = 0; i2 < na; ++i2) c2[i2] = x[i2](t);
153220
- return c2;
153221
- };
153222
- }
153223
- function date(a2, b) {
153224
- var d = /* @__PURE__ */ new Date();
153225
- return a2 = +a2, b = +b, function(t) {
153226
- return d.setTime(a2 * (1 - t) + b * t), d;
153227
- };
153228
- }
153229
- function number(a2, b) {
153230
- return a2 = +a2, b = +b, function(t) {
153231
- return a2 * (1 - t) + b * t;
153232
- };
153233
- }
153234
- function object(a2, b) {
153235
- var i2 = {}, c2 = {}, k;
153236
- if (a2 === null || typeof a2 !== "object") a2 = {};
153237
- if (b === null || typeof b !== "object") b = {};
153238
- for (k in b) {
153239
- if (k in a2) {
153240
- i2[k] = interpolate(a2[k], b[k]);
153241
- } else {
153242
- c2[k] = b[k];
153243
- }
153244
- }
153245
- return function(t) {
153246
- for (k in i2) c2[k] = i2[k](t);
153247
- return c2;
153248
- };
153249
- }
153250
- var reA = /[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g, reB = new RegExp(reA.source, "g");
153251
- function zero(b) {
153252
- return function() {
153253
- return b;
153254
- };
153255
- }
153256
- function one(b) {
153257
- return function(t) {
153258
- return b(t) + "";
153259
- };
153260
- }
153261
- function string(a2, b) {
153262
- var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i2 = -1, s2 = [], q = [];
153263
- a2 = a2 + "", b = b + "";
153264
- while ((am = reA.exec(a2)) && (bm = reB.exec(b))) {
153265
- if ((bs = bm.index) > bi) {
153266
- bs = b.slice(bi, bs);
153267
- if (s2[i2]) s2[i2] += bs;
153268
- else s2[++i2] = bs;
153269
- }
153270
- if ((am = am[0]) === (bm = bm[0])) {
153271
- if (s2[i2]) s2[i2] += bm;
153272
- else s2[++i2] = bm;
153273
- } else {
153274
- s2[++i2] = null;
153275
- q.push({ i: i2, x: number(am, bm) });
153276
- }
153277
- bi = reB.lastIndex;
153278
- }
153279
- if (bi < b.length) {
153280
- bs = b.slice(bi);
153281
- if (s2[i2]) s2[i2] += bs;
153282
- else s2[++i2] = bs;
153283
- }
153284
- return s2.length < 2 ? q[0] ? one(q[0].x) : zero(b) : (b = q.length, function(t) {
153285
- for (var i22 = 0, o2; i22 < b; ++i22) s2[(o2 = q[i22]).i] = o2.x(t);
153286
- return s2.join("");
153287
- });
153288
- }
153289
- function interpolate(a2, b) {
153290
- var t = typeof b, c2;
153291
- return b == null || t === "boolean" ? constant(b) : (t === "number" ? number : t === "string" ? (c2 = color$1(b)) ? (b = c2, interpolateRgb) : string : b instanceof color$1 ? interpolateRgb : b instanceof Date ? date : isNumberArray(b) ? numberArray : Array.isArray(b) ? genericArray : typeof b.valueOf !== "function" && typeof b.toString !== "function" || isNaN(b) ? object : number)(a2, b);
153292
- }
153293
- function piecewise(interpolate$12, values2) {
153294
- if (values2 === void 0) values2 = interpolate$12, interpolate$12 = interpolate;
153295
- var i2 = 0, n2 = values2.length - 1, v = values2[0], I2 = new Array(n2 < 0 ? 0 : n2);
153296
- while (i2 < n2) I2[i2] = interpolate$12(v, v = values2[++i2]);
153297
- return function(t) {
153298
- var i22 = Math.max(0, Math.min(n2 - 1, Math.floor(t *= n2)));
153299
- return I2[i22](t - i22);
153300
- };
153301
- }
153302
- function quantize(interpolator, n2) {
153303
- var samples = new Array(n2);
153304
- for (var i2 = 0; i2 < n2; ++i2) samples[i2] = interpolator(i2 / (n2 - 1));
153305
- return samples;
153306
- }
153307
- function define(constructor, factory, prototype) {
153308
- constructor.prototype = factory.prototype = prototype;
153309
- prototype.constructor = constructor;
153310
- }
153311
- function extend(parent, definition) {
153312
- var prototype = Object.create(parent.prototype);
153313
- for (var key in definition) prototype[key] = definition[key];
153314
- return prototype;
153315
- }
153316
- function Color() {
153317
- }
153318
- var darker = 0.7;
153319
- var brighter = 1 / darker;
153320
- var reI = "\\s*([+-]?\\d+)\\s*", reN = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)\\s*", reP = "\\s*([+-]?\\d*\\.?\\d+(?:[eE][+-]?\\d+)?)%\\s*", reHex = /^#([0-9a-f]{3,8})$/, reRgbInteger = new RegExp("^rgb\\(" + [reI, reI, reI] + "\\)$"), reRgbPercent = new RegExp("^rgb\\(" + [reP, reP, reP] + "\\)$"), reRgbaInteger = new RegExp("^rgba\\(" + [reI, reI, reI, reN] + "\\)$"), reRgbaPercent = new RegExp("^rgba\\(" + [reP, reP, reP, reN] + "\\)$"), reHslPercent = new RegExp("^hsl\\(" + [reN, reP, reP] + "\\)$"), reHslaPercent = new RegExp("^hsla\\(" + [reN, reP, reP, reN] + "\\)$");
153321
- var named = {
153322
- aliceblue: 15792383,
153323
- antiquewhite: 16444375,
153324
- aqua: 65535,
153325
- aquamarine: 8388564,
153326
- azure: 15794175,
153327
- beige: 16119260,
153328
- bisque: 16770244,
153329
- black: 0,
153330
- blanchedalmond: 16772045,
153331
- blue: 255,
153332
- blueviolet: 9055202,
153333
- brown: 10824234,
153334
- burlywood: 14596231,
153335
- cadetblue: 6266528,
153336
- chartreuse: 8388352,
153337
- chocolate: 13789470,
153338
- coral: 16744272,
153339
- cornflowerblue: 6591981,
153340
- cornsilk: 16775388,
153341
- crimson: 14423100,
153342
- cyan: 65535,
153343
- darkblue: 139,
153344
- darkcyan: 35723,
153345
- darkgoldenrod: 12092939,
153346
- darkgray: 11119017,
153347
- darkgreen: 25600,
153348
- darkgrey: 11119017,
153349
- darkkhaki: 12433259,
153350
- darkmagenta: 9109643,
153351
- darkolivegreen: 5597999,
153352
- darkorange: 16747520,
153353
- darkorchid: 10040012,
153354
- darkred: 9109504,
153355
- darksalmon: 15308410,
153356
- darkseagreen: 9419919,
153357
- darkslateblue: 4734347,
153358
- darkslategray: 3100495,
153359
- darkslategrey: 3100495,
153360
- darkturquoise: 52945,
153361
- darkviolet: 9699539,
153362
- deeppink: 16716947,
153363
- deepskyblue: 49151,
153364
- dimgray: 6908265,
153365
- dimgrey: 6908265,
153366
- dodgerblue: 2003199,
153367
- firebrick: 11674146,
153368
- floralwhite: 16775920,
153369
- forestgreen: 2263842,
153370
- fuchsia: 16711935,
153371
- gainsboro: 14474460,
153372
- ghostwhite: 16316671,
153373
- gold: 16766720,
153374
- goldenrod: 14329120,
153375
- gray: 8421504,
153376
- green: 32768,
153377
- greenyellow: 11403055,
153378
- grey: 8421504,
153379
- honeydew: 15794160,
153380
- hotpink: 16738740,
153381
- indianred: 13458524,
153382
- indigo: 4915330,
153383
- ivory: 16777200,
153384
- khaki: 15787660,
153385
- lavender: 15132410,
153386
- lavenderblush: 16773365,
153387
- lawngreen: 8190976,
153388
- lemonchiffon: 16775885,
153389
- lightblue: 11393254,
153390
- lightcoral: 15761536,
153391
- lightcyan: 14745599,
153392
- lightgoldenrodyellow: 16448210,
153393
- lightgray: 13882323,
153394
- lightgreen: 9498256,
153395
- lightgrey: 13882323,
153396
- lightpink: 16758465,
153397
- lightsalmon: 16752762,
153398
- lightseagreen: 2142890,
153399
- lightskyblue: 8900346,
153400
- lightslategray: 7833753,
153401
- lightslategrey: 7833753,
153402
- lightsteelblue: 11584734,
153403
- lightyellow: 16777184,
153404
- lime: 65280,
153405
- limegreen: 3329330,
153406
- linen: 16445670,
153407
- magenta: 16711935,
153408
- maroon: 8388608,
153409
- mediumaquamarine: 6737322,
153410
- mediumblue: 205,
153411
- mediumorchid: 12211667,
153412
- mediumpurple: 9662683,
153413
- mediumseagreen: 3978097,
153414
- mediumslateblue: 8087790,
153415
- mediumspringgreen: 64154,
153416
- mediumturquoise: 4772300,
153417
- mediumvioletred: 13047173,
153418
- midnightblue: 1644912,
153419
- mintcream: 16121850,
153420
- mistyrose: 16770273,
153421
- moccasin: 16770229,
153422
- navajowhite: 16768685,
153423
- navy: 128,
153424
- oldlace: 16643558,
153425
- olive: 8421376,
153426
- olivedrab: 7048739,
153427
- orange: 16753920,
153428
- orangered: 16729344,
153429
- orchid: 14315734,
153430
- palegoldenrod: 15657130,
153431
- palegreen: 10025880,
153432
- paleturquoise: 11529966,
153433
- palevioletred: 14381203,
153434
- papayawhip: 16773077,
153435
- peachpuff: 16767673,
153436
- peru: 13468991,
153437
- pink: 16761035,
153438
- plum: 14524637,
153439
- powderblue: 11591910,
153440
- purple: 8388736,
153441
- rebeccapurple: 6697881,
153442
- red: 16711680,
153443
- rosybrown: 12357519,
153444
- royalblue: 4286945,
153445
- saddlebrown: 9127187,
153446
- salmon: 16416882,
153447
- sandybrown: 16032864,
153448
- seagreen: 3050327,
153449
- seashell: 16774638,
153450
- sienna: 10506797,
153451
- silver: 12632256,
153452
- skyblue: 8900331,
153453
- slateblue: 6970061,
153454
- slategray: 7372944,
153455
- slategrey: 7372944,
153456
- snow: 16775930,
153457
- springgreen: 65407,
153458
- steelblue: 4620980,
153459
- tan: 13808780,
153460
- teal: 32896,
153461
- thistle: 14204888,
153462
- tomato: 16737095,
153463
- turquoise: 4251856,
153464
- violet: 15631086,
153465
- wheat: 16113331,
153466
- white: 16777215,
153467
- whitesmoke: 16119285,
153468
- yellow: 16776960,
153469
- yellowgreen: 10145074
153470
- };
153471
- define(Color, color, {
153472
- copy: function(channels2) {
153473
- return Object.assign(new this.constructor(), this, channels2);
153474
- },
153475
- displayable: function() {
153476
- return this.rgb().displayable();
153477
- },
153478
- hex: color_formatHex,
153479
- // Deprecated! Use color.formatHex.
153480
- formatHex: color_formatHex,
153481
- formatHsl: color_formatHsl,
153482
- formatRgb: color_formatRgb,
153483
- toString: color_formatRgb
153484
- });
153485
- function color_formatHex() {
153486
- return this.rgb().formatHex();
153487
- }
153488
- function color_formatHsl() {
153489
- return hslConvert(this).formatHsl();
153490
- }
153491
- function color_formatRgb() {
153492
- return this.rgb().formatRgb();
153493
- }
153494
- function color(format2) {
153495
- var m2, l2;
153496
- format2 = (format2 + "").trim().toLowerCase();
153497
- return (m2 = reHex.exec(format2)) ? (l2 = m2[1].length, m2 = parseInt(m2[1], 16), l2 === 6 ? rgbn(m2) : l2 === 3 ? new Rgb(m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, (m2 & 15) << 4 | m2 & 15, 1) : l2 === 8 ? rgba(m2 >> 24 & 255, m2 >> 16 & 255, m2 >> 8 & 255, (m2 & 255) / 255) : l2 === 4 ? rgba(m2 >> 12 & 15 | m2 >> 8 & 240, m2 >> 8 & 15 | m2 >> 4 & 240, m2 >> 4 & 15 | m2 & 240, ((m2 & 15) << 4 | m2 & 15) / 255) : null) : (m2 = reRgbInteger.exec(format2)) ? new Rgb(m2[1], m2[2], m2[3], 1) : (m2 = reRgbPercent.exec(format2)) ? new Rgb(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, 1) : (m2 = reRgbaInteger.exec(format2)) ? rgba(m2[1], m2[2], m2[3], m2[4]) : (m2 = reRgbaPercent.exec(format2)) ? rgba(m2[1] * 255 / 100, m2[2] * 255 / 100, m2[3] * 255 / 100, m2[4]) : (m2 = reHslPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, 1) : (m2 = reHslaPercent.exec(format2)) ? hsla(m2[1], m2[2] / 100, m2[3] / 100, m2[4]) : named.hasOwnProperty(format2) ? rgbn(named[format2]) : format2 === "transparent" ? new Rgb(NaN, NaN, NaN, 0) : null;
153498
- }
153499
- function rgbn(n2) {
153500
- return new Rgb(n2 >> 16 & 255, n2 >> 8 & 255, n2 & 255, 1);
153501
- }
153502
- function rgba(r2, g2, b, a2) {
153503
- if (a2 <= 0) r2 = g2 = b = NaN;
153504
- return new Rgb(r2, g2, b, a2);
153505
- }
153506
- function rgbConvert(o2) {
153507
- if (!(o2 instanceof Color)) o2 = color(o2);
153508
- if (!o2) return new Rgb();
153509
- o2 = o2.rgb();
153510
- return new Rgb(o2.r, o2.g, o2.b, o2.opacity);
153511
- }
153512
- function rgb(r2, g2, b, opacity) {
153513
- return arguments.length === 1 ? rgbConvert(r2) : new Rgb(r2, g2, b, opacity == null ? 1 : opacity);
153514
- }
153515
- function Rgb(r2, g2, b, opacity) {
153516
- this.r = +r2;
153517
- this.g = +g2;
153518
- this.b = +b;
153519
- this.opacity = +opacity;
153520
- }
153521
- define(Rgb, rgb, extend(Color, {
153522
- brighter: function(k) {
153523
- k = k == null ? brighter : Math.pow(brighter, k);
153524
- return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
153525
- },
153526
- darker: function(k) {
153527
- k = k == null ? darker : Math.pow(darker, k);
153528
- return new Rgb(this.r * k, this.g * k, this.b * k, this.opacity);
153529
- },
153530
- rgb: function() {
153531
- return this;
153532
- },
153533
- displayable: function() {
153534
- return -0.5 <= this.r && this.r < 255.5 && (-0.5 <= this.g && this.g < 255.5) && (-0.5 <= this.b && this.b < 255.5) && (0 <= this.opacity && this.opacity <= 1);
153535
- },
153536
- hex: rgb_formatHex,
153537
- // Deprecated! Use color.formatHex.
153538
- formatHex: rgb_formatHex,
153539
- formatRgb: rgb_formatRgb,
153540
- toString: rgb_formatRgb
153541
- }));
153542
- function rgb_formatHex() {
153543
- return "#" + hex(this.r) + hex(this.g) + hex(this.b);
153544
- }
153545
- function rgb_formatRgb() {
153546
- var a2 = this.opacity;
153547
- a2 = isNaN(a2) ? 1 : Math.max(0, Math.min(1, a2));
153548
- return (a2 === 1 ? "rgb(" : "rgba(") + Math.max(0, Math.min(255, Math.round(this.r) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.g) || 0)) + ", " + Math.max(0, Math.min(255, Math.round(this.b) || 0)) + (a2 === 1 ? ")" : ", " + a2 + ")");
153549
- }
153550
- function hex(value) {
153551
- value = Math.max(0, Math.min(255, Math.round(value) || 0));
153552
- return (value < 16 ? "0" : "") + value.toString(16);
153553
- }
153554
- function hsla(h, s2, l2, a2) {
153555
- if (a2 <= 0) h = s2 = l2 = NaN;
153556
- else if (l2 <= 0 || l2 >= 1) h = s2 = NaN;
153557
- else if (s2 <= 0) h = NaN;
153558
- return new Hsl(h, s2, l2, a2);
153559
- }
153560
- function hslConvert(o2) {
153561
- if (o2 instanceof Hsl) return new Hsl(o2.h, o2.s, o2.l, o2.opacity);
153562
- if (!(o2 instanceof Color)) o2 = color(o2);
153563
- if (!o2) return new Hsl();
153564
- if (o2 instanceof Hsl) return o2;
153565
- o2 = o2.rgb();
153566
- var r2 = o2.r / 255, g2 = o2.g / 255, b = o2.b / 255, min = Math.min(r2, g2, b), max2 = Math.max(r2, g2, b), h = NaN, s2 = max2 - min, l2 = (max2 + min) / 2;
153567
- if (s2) {
153568
- if (r2 === max2) h = (g2 - b) / s2 + (g2 < b) * 6;
153569
- else if (g2 === max2) h = (b - r2) / s2 + 2;
153570
- else h = (r2 - g2) / s2 + 4;
153571
- s2 /= l2 < 0.5 ? max2 + min : 2 - max2 - min;
153572
- h *= 60;
153573
- } else {
153574
- s2 = l2 > 0 && l2 < 1 ? 0 : h;
153575
- }
153576
- return new Hsl(h, s2, l2, o2.opacity);
153577
- }
153578
- function hsl(h, s2, l2, opacity) {
153579
- return arguments.length === 1 ? hslConvert(h) : new Hsl(h, s2, l2, opacity == null ? 1 : opacity);
153580
- }
153581
- function Hsl(h, s2, l2, opacity) {
153582
- this.h = +h;
153583
- this.s = +s2;
153584
- this.l = +l2;
153585
- this.opacity = +opacity;
153586
- }
153587
- define(Hsl, hsl, extend(Color, {
153588
- brighter: function(k) {
153589
- k = k == null ? brighter : Math.pow(brighter, k);
153590
- return new Hsl(this.h, this.s, this.l * k, this.opacity);
153591
- },
153592
- darker: function(k) {
153593
- k = k == null ? darker : Math.pow(darker, k);
153594
- return new Hsl(this.h, this.s, this.l * k, this.opacity);
153595
- },
153596
- rgb: function() {
153597
- var h = this.h % 360 + (this.h < 0) * 360, s2 = isNaN(h) || isNaN(this.s) ? 0 : this.s, l2 = this.l, m2 = l2 + (l2 < 0.5 ? l2 : 1 - l2) * s2, m1 = 2 * l2 - m2;
153598
- return new Rgb(
153599
- hsl2rgb(h >= 240 ? h - 240 : h + 120, m1, m2),
153600
- hsl2rgb(h, m1, m2),
153601
- hsl2rgb(h < 120 ? h + 240 : h - 120, m1, m2),
153602
- this.opacity
153603
- );
153604
- },
153605
- displayable: function() {
153606
- return (0 <= this.s && this.s <= 1 || isNaN(this.s)) && (0 <= this.l && this.l <= 1) && (0 <= this.opacity && this.opacity <= 1);
153607
- },
153608
- formatHsl: function() {
153609
- var a2 = this.opacity;
153610
- a2 = isNaN(a2) ? 1 : Math.max(0, Math.min(1, a2));
153611
- return (a2 === 1 ? "hsl(" : "hsla(") + (this.h || 0) + ", " + (this.s || 0) * 100 + "%, " + (this.l || 0) * 100 + "%" + (a2 === 1 ? ")" : ", " + a2 + ")");
153612
- }
153613
- }));
153614
- function hsl2rgb(h, m1, m2) {
153615
- return (h < 60 ? m1 + (m2 - m1) * h / 60 : h < 180 ? m2 : h < 240 ? m1 + (m2 - m1) * (240 - h) / 60 : m1) * 255;
153616
- }
153617
152909
  var colorScale;
153618
152910
  var hasRequiredColorScale;
153619
152911
  function requireColorScale() {
@@ -153810,14 +153102,14 @@ function Legend(props) {
153810
153102
  xMin + (xMax - xMin) * rMin,
153811
153103
  xMax - (xMax - xMin) * (1 - rMax)
153812
153104
  ];
153813
- const x = linear$1().domain(scaledDataExtent).range([0.5, width2 - 0.5]);
153105
+ const x = linear().domain(scaledDataExtent).range([0.5, width2 - 0.5]);
153814
153106
  const axisTicks = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight})`).style("font-size", "10px").call(axisBottom(x).tickValues(scaledDataExtent));
153815
153107
  axisTicks.selectAll("line,path").style("stroke", foregroundColor);
153816
153108
  axisTicks.selectAll("text").style("fill", foregroundColor);
153817
153109
  axisTicks.selectAll("text").attr("text-anchor", (d, i2) => i2 === 0 ? "start" : "end");
153818
153110
  } else if (contoursVisible) {
153819
153111
  const tSize = 12;
153820
- const xPercentile = linear$1().domain([0, 1]).range([tSize / 2, width2 - tSize / 2 - 2]);
153112
+ const xPercentile = linear().domain([0, 1]).range([tSize / 2, width2 - tSize / 2 - 2]);
153821
153113
  const axisTicks = g2.append("g").attr("transform", `translate(0,${titleHeight + rectHeight + 15})`).style("font-size", "9px").call(axisBottom(xPercentile).tickValues(contourPercentiles).tickFormat(format(".0%")).tickSizeOuter(0));
153822
153114
  axisTicks.selectAll("line,path").style("stroke", foregroundColor);
153823
153115
  axisTicks.selectAll("text").style("fill", foregroundColor);