@genome-spy/app 0.89.0 → 1.0.0

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.
Files changed (57) hide show
  1. package/dist/{agentApi-BUcXm-JC.js → agentApi-Z65dw-sD.js} +2808 -2638
  2. package/dist/agentApi.es.js +1607 -1570
  3. package/dist/agentShared.es.js +737 -678
  4. package/dist/{canvas2d-CGuVGvQk.js → canvas2d-DiPQvNtZ.js} +11 -9
  5. package/dist/{canvas2d-DgF0kstG.js → canvas2d-t_N10CeW.js} +24 -22
  6. package/dist/{clipOptions-DBJX_W31.js → clipOptions-B5PibDq3.js} +890 -900
  7. package/dist/{clipOptions-8BPf0WMZ.js → clipOptions-Cba4I0AO.js} +544 -554
  8. package/dist/{componentStyles-FsNmIb22.js → componentStyles-DGtQXvwc.js} +17 -15
  9. package/dist/{debug-BEWbYuZD.js → debug-CVAlrcZt.js} +2 -2
  10. package/dist/{debug-DQj_7mFm.js → debug-DP4WzTNo.js} +2 -2
  11. package/dist/dialog.es.js +4 -3
  12. package/dist/esm-BiqrFjMh.js +443 -0
  13. package/dist/{esm-lwYrRdbg.js → esm-Bv7Frz7C.js} +142 -79
  14. package/dist/{esm-VvpZ9hsq.js → esm-C3A-AuRi.js} +1 -1
  15. package/dist/esm-CvpR1OcU.js +322 -0
  16. package/dist/esm-DFHFX1sH.js +1526 -0
  17. package/dist/esm-Dndm-NaA.js +1193 -0
  18. package/dist/{esm-CcDLRSvC.js → esm-DtNElqRr.js} +64 -63
  19. package/dist/esm-L53qjcYH.js +1155 -0
  20. package/dist/esm-VFJeyk9i.js +249 -0
  21. package/dist/{esm-BdLYkz-m.js → esm-_xCtpDwm.js} +1 -1
  22. package/dist/index.es.js +4203 -3910
  23. package/dist/index.js +900 -455
  24. package/dist/{indexer-D8Bgkkb8.js → indexer-DbFTKGlm.js} +1 -1
  25. package/dist/{indexer-Cdt_U05k.js → indexer-En7gpvLN.js} +1 -1
  26. package/dist/{lit-ByuJ0FJ4.js → lit-CoXp9NFX.js} +12 -10
  27. package/dist/{order-DIxlclRN.js → order-BkYCnwD7.js} +36 -30
  28. package/dist/{order-BPOzLe80.js → order-R043xTpC.js} +47 -41
  29. package/dist/{parquetRead-Cs2xRrvz.js → parquetRead-0hFIa3Cc.js} +532 -350
  30. package/dist/{rasterExport-Bl6w9t3J.js → rasterExport-C_FcNBkC.js} +8 -7
  31. package/dist/{rasterExport-DRvNAH-r.js → rasterExport-Z7gs5346.js} +8 -7
  32. package/dist/{rasterization-D0tOoKu_.js → rasterization-_-9JmSas.js} +3 -2
  33. package/dist/{renderCanvas2D-LdEYFnRo.js → renderCanvas2D-DK1c9TFK.js} +10 -10
  34. package/dist/{renderCanvas2D-Ct95auF3.js → renderCanvas2D-IM-A9DYG.js} +16 -16
  35. package/dist/schema.json +11 -0
  36. package/dist/{src-DjOlFqSn.js → src-DJtvThVC.js} +3 -5
  37. package/dist/style.css +1 -1
  38. package/dist/{svg-pkTPD4bv.js → svg-DW3tfUmm.js} +233 -232
  39. package/dist/{svg-Ag36-h_I.js → svg-PabUdcDi.js} +233 -232
  40. package/dist/{svgRasterizer-DrtJ9nLk.js → svgRasterizer-B6YtWLJs.js} +2 -2
  41. package/dist/{svgRasterizer-CksK4QTB.js → svgRasterizer-BEVDyyS3.js} +2 -2
  42. package/dist/{vega-scale-BWBFykuI.js → vega-scale-Byaw1K8O.js} +837 -726
  43. package/dist/{vega-scale-BJaDSHBJ.js → vega-scale-Ctz_wa3z.js} +942 -834
  44. package/dist/{viewIdentityRegistry-BvCJajXG.js → viewIdentityRegistry-BW415b3o.js} +1 -1
  45. package/dist/{viewIdentityRegistry-B-snqI3y.js → viewIdentityRegistry-_F0E7nkA.js} +1 -1
  46. package/dist/{viewSelectors-BlvzvG-z.js → viewSelectors-DYz-PhTO.js} +245 -243
  47. package/dist/{viewSelectors-C5q3qBiR.js → viewSelectors-KtD-QSN0.js} +106 -104
  48. package/dist/{viewUtils-C3vBtSvE.js → viewUtils-BZGPseMx.js} +1833 -1677
  49. package/dist/{webgl-CZX2pe5v.js → webgl-BKSGqHaz.js} +964 -951
  50. package/dist/{webgl-CexXSw_I.js → webgl-tdKf9SlZ.js} +239 -226
  51. package/package.json +5 -5
  52. package/dist/esm-80V4xF_D.js +0 -1098
  53. package/dist/esm-BA6yMcc-.js +0 -1222
  54. package/dist/esm-BdT7qUL-.js +0 -157
  55. package/dist/esm-CfYZhLHN.js +0 -1367
  56. package/dist/esm-D-iG_TIX.js +0 -441
  57. package/dist/esm-JAiZmFIS.js +0 -128
@@ -1,8 +1,8 @@
1
- import { t as e } from "./rasterization-D0tOoKu_.js";
1
+ import { t as e } from "./rasterization-_-9JmSas.js";
2
2
  import { t } from "./rectangle-DE98gIxF.js";
3
3
  import { t as n } from "./layoutResult-D50MSHXR.js";
4
- import { r } from "./order-DIxlclRN.js";
5
- import { t as i } from "./renderCanvas2D-LdEYFnRo.js";
4
+ import { r } from "./order-BkYCnwD7.js";
5
+ import { t as i } from "./renderCanvas2D-DK1c9TFK.js";
6
6
  //#region ../core/src/rendering/canvas2d/rasterExport.js
7
7
  async function a(e) {
8
8
  let t = e.mimeType ?? "image/png";
@@ -33,11 +33,12 @@ function s(r) {
33
33
  throw new e("Unable to initialize a Canvas2D export context.", { cause: t });
34
34
  }
35
35
  if (!l) throw new e("Unable to initialize a Canvas2D export context.");
36
+ let u = n(r.viewRoot, t.create(0, 0, a, o), {
37
+ devicePixelRatio: s,
38
+ renderingOptions: { firstFacet: !0 }
39
+ });
36
40
  return i({
37
- layoutResult: n(r.viewRoot, t.create(0, 0, a, o), {
38
- devicePixelRatio: s,
39
- renderingOptions: { firstFacet: !0 }
40
- }),
41
+ layoutResult: u,
41
42
  context: l,
42
43
  width: a,
43
44
  height: o,
@@ -1,8 +1,8 @@
1
- import { t as e } from "./rasterization-D0tOoKu_.js";
1
+ import { t as e } from "./rasterization-_-9JmSas.js";
2
2
  import { t } from "./rectangle-DE98gIxF.js";
3
3
  import { t as n } from "./layoutResult-D50MSHXR.js";
4
- import { r } from "./order-BPOzLe80.js";
5
- import { t as i } from "./renderCanvas2D-Ct95auF3.js";
4
+ import { r } from "./order-R043xTpC.js";
5
+ import { t as i } from "./renderCanvas2D-IM-A9DYG.js";
6
6
  //#region ../core/src/rendering/canvas2d/rasterExport.js
7
7
  async function a(e) {
8
8
  let t = e.mimeType ?? "image/png";
@@ -33,11 +33,12 @@ function s(r) {
33
33
  throw new e("Unable to initialize a Canvas2D export context.", { cause: t });
34
34
  }
35
35
  if (!l) throw new e("Unable to initialize a Canvas2D export context.");
36
+ let u = n(r.viewRoot, t.create(0, 0, a, o), {
37
+ devicePixelRatio: s,
38
+ renderingOptions: { firstFacet: !0 }
39
+ });
36
40
  return i({
37
- layoutResult: n(r.viewRoot, t.create(0, 0, a, o), {
38
- devicePixelRatio: s,
39
- renderingOptions: { firstFacet: !0 }
40
- }),
41
+ layoutResult: u,
41
42
  context: l,
42
43
  width: a,
43
44
  height: o,
@@ -6,8 +6,9 @@ function t(e, t = .5) {
6
6
  if (e.type == "band" || e.type == "point") return e.bandwidth() * t;
7
7
  if (e.type == "index" || e.type == "locus") {
8
8
  let n = e;
9
- return Math.sign(n.step()) * n.bandwidth() * (t - n.align());
10
- } else return 0;
9
+ return Math.sign(n.step()) * n.bandwidth() * t;
10
+ }
11
+ return 0;
11
12
  }
12
13
  //#endregion
13
14
  //#region ../core/src/rendering/rasterization.js
@@ -1,8 +1,8 @@
1
- import { a as e, hn as t, m as n, o as r, s as i } from "./clipOptions-DBJX_W31.js";
1
+ import { Kt as e, a as t, m as n, o as r, s as i } from "./clipOptions-B5PibDq3.js";
2
2
  import { t as a } from "./warning-CpIIpk8e.js";
3
3
  import { n as o } from "./performanceProfiler-CPLEjApa.js";
4
4
  import { n as s } from "./layoutResult-D50MSHXR.js";
5
- import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-DIxlclRN.js";
5
+ import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-BkYCnwD7.js";
6
6
  //#region ../core/src/rendering/canvas2d/renderers/arrow.js
7
7
  function F(e, t) {
8
8
  let n = e, r = t.context, i = n.encoders, a = m(n);
@@ -173,18 +173,18 @@ var J = 8, Y = 16777216, X = class extends s {
173
173
  getDevicePixelRatio() {
174
174
  return this.devicePixelRatio;
175
175
  }
176
- pushView(t, n) {
177
- this.paint && !this.#t.has(t) && (t.onBeforeRender(), this.#t.add(t));
178
- let r = t.getOpacity();
176
+ pushView(e, n) {
177
+ this.paint && !this.#t.has(e) && (e.onBeforeRender(), this.#t.add(e));
178
+ let r = e.getOpacity();
179
179
  if (this.paint && r > 0 && r !== 1) {
180
- let r = e(t), i = Z(n, this.devicePixelRatio, this.#c, r), a = Q(this.#l, this.#u.length, i.width, i.height);
180
+ let r = t(e), i = Z(n, this.devicePixelRatio, this.#c, r), a = Q(this.#l, this.#u.length, i.width, i.height);
181
181
  a.setTransform(this.devicePixelRatio, 0, 0, this.devicePixelRatio, -i.x, -i.y), this.#u.push({
182
182
  context: this.context,
183
183
  bounds: this.#c
184
184
  }), this.context = a, this.#c = i;
185
185
  }
186
186
  this.#e.push({
187
- view: t,
187
+ view: e,
188
188
  coords: n,
189
189
  opacity: r
190
190
  });
@@ -250,9 +250,9 @@ var J = 8, Y = 16777216, X = class extends s {
250
250
  }
251
251
  }
252
252
  get currentCoords() {
253
- let e = t(this.#e);
254
- if (!e) throw Error("No current view in Canvas2D rendering context.");
255
- return e.coords;
253
+ let t = e(this.#e);
254
+ if (!t) throw Error("No current view in Canvas2D rendering context.");
255
+ return t.coords;
256
256
  }
257
257
  };
258
258
  function Z(e, t, n, r) {
@@ -1,8 +1,8 @@
1
- import { a as e, nn as t, o as n, s as r, u as i } from "./clipOptions-8BPf0WMZ.js";
1
+ import { Gt as e, a as t, o as n, s as r, u as i } from "./clipOptions-Cba4I0AO.js";
2
2
  import { t as a } from "./warning-CpIIpk8e.js";
3
3
  import { n as o } from "./layoutResult-D50MSHXR.js";
4
4
  import { n as s } from "./performanceProfiler-CPLEjApa.js";
5
- import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-BPOzLe80.js";
5
+ import { A as c, E as l, F as u, I as d, M as f, N as p, S as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as ee, m as E, p as D, s as O, t as k, u as A, v as j, w as M, x as N, y as P } from "./order-R043xTpC.js";
6
6
  //#region ../core/src/rendering/canvas2d/renderers/arrow.js
7
7
  function F(e, t) {
8
8
  let n = e, r = t.context, i = n.encoders, a = m(n);
@@ -24,21 +24,21 @@ function F(e, t) {
24
24
  }
25
25
  //#endregion
26
26
  //#region ../core/src/rendering/canvas2d/renderers/link.js
27
- function I(e, n) {
28
- let r = e, i = n.context, a = r.encoders, o = h(r), s = N(r, o.shape, n.secondOrderPass);
27
+ function I(t, n) {
28
+ let r = t, i = n.context, a = r.encoders, o = h(r), s = N(r, o.shape, n.secondOrderPass);
29
29
  i.lineCap = "butt";
30
30
  let u;
31
- return j(r, o, n, (e) => {
32
- let r = c(a.color(e.datum)), o = l(a.opacity, e.datum) * n.viewOpacity;
33
- if (r == "none" || o <= 0 || e.strokeWidth <= 0) return;
34
- let d = s && _(e.points[0], e.points[3], s);
31
+ return j(r, o, n, (t) => {
32
+ let r = c(a.color(t.datum)), o = l(a.opacity, t.datum) * n.viewOpacity;
33
+ if (r == "none" || o <= 0 || t.strokeWidth <= 0) return;
34
+ let d = s && _(t.points[0], t.points[3], s);
35
35
  if (d) {
36
- let { normalX: e, normalY: n, offset: a, start: o, end: s } = d, c = i.createLinearGradient(e * (a - s), n * (a - s), e * (a + s), n * (a + s)), l = t(r), f = l.opacity;
36
+ let { normalX: t, normalY: n, offset: a, start: o, end: s } = d, c = i.createLinearGradient(t * (a - s), n * (a - s), t * (a + s), n * (a + s)), l = e(r), f = l.opacity;
37
37
  for (let e of P(o, s)) l.opacity = f * e.opacity, c.addColorStop(e.offset, l.formatRgb());
38
38
  i.strokeStyle = c, u = void 0;
39
39
  } else u != r && (i.strokeStyle = r, u = r);
40
- i.globalAlpha = o, i.lineWidth = e.strokeWidth;
41
- let [f, p, m, h] = e.points;
40
+ i.globalAlpha = o, i.lineWidth = t.strokeWidth;
41
+ let [f, p, m, h] = t.points;
42
42
  i.beginPath(), i.moveTo(f[0], f[1]), i.bezierCurveTo(p[0], p[1], m[0], m[1], h[0], h[1]), i.stroke();
43
43
  });
44
44
  }
@@ -173,18 +173,18 @@ var J = 8, Y = 16777216, X = class extends o {
173
173
  getDevicePixelRatio() {
174
174
  return this.devicePixelRatio;
175
175
  }
176
- pushView(t, n) {
177
- this.paint && !this.#t.has(t) && (t.onBeforeRender(), this.#t.add(t));
178
- let r = t.getOpacity();
176
+ pushView(e, n) {
177
+ this.paint && !this.#t.has(e) && (e.onBeforeRender(), this.#t.add(e));
178
+ let r = e.getOpacity();
179
179
  if (this.paint && r > 0 && r !== 1) {
180
- let r = e(t), i = Z(n, this.devicePixelRatio, this.#c, r), a = Q(this.#l, this.#u.length, i.width, i.height);
180
+ let r = t(e), i = Z(n, this.devicePixelRatio, this.#c, r), a = Q(this.#l, this.#u.length, i.width, i.height);
181
181
  a.setTransform(this.devicePixelRatio, 0, 0, this.devicePixelRatio, -i.x, -i.y), this.#u.push({
182
182
  context: this.context,
183
183
  bounds: this.#c
184
184
  }), this.context = a, this.#c = i;
185
185
  }
186
186
  this.#e.push({
187
- view: t,
187
+ view: e,
188
188
  coords: n,
189
189
  opacity: r
190
190
  });
package/dist/schema.json CHANGED
@@ -21594,6 +21594,17 @@
21594
21594
  ],
21595
21595
  "description": "Width in logical pixels of an obstacle centered on the anchor. A number or expression supplies one value for all rows; a field supplies per-row values. Setting either anchor dimension to zero disables the obstacle for that row.\n\n__Default value:__ `0`"
21596
21596
  },
21597
+ "animationHalfLife": {
21598
+ "anyOf": [
21599
+ {
21600
+ "type": "number"
21601
+ },
21602
+ {
21603
+ "$ref": "#/definitions/ExprRef"
21604
+ }
21605
+ ],
21606
+ "description": "Easing half-life in milliseconds for displayed offsets as they approach their solved positions. Larger values make label motion slower without changing the placement. An expression can adjust the speed while the visualization is running. Must be positive and finite.\n\n__Default value:__ `120`"
21607
+ },
21597
21608
  "as": {
21598
21609
  "description": "Names of the output fields for signed horizontal and vertical pixel offsets. Positive values move right and down, respectively. Neither name may overwrite `key`.\n\n__Default value:__ `[\"xDisplacement\", \"yDisplacement\"]`",
21599
21610
  "items": {
@@ -273,7 +273,7 @@ function A(e) {
273
273
  return Fe.decode(e);
274
274
  }
275
275
  function Ie(e, t) {
276
- return (e[t >> 3] & 1 << t % 8) != 0;
276
+ return !!(e[t >> 3] & 1 << t % 8);
277
277
  }
278
278
  function j(e, t) {
279
279
  let n = t + L(e, t), r = n - L(e, n), i = I(e, r);
@@ -412,7 +412,7 @@ var U = class {
412
412
  value(e) {
413
413
  let t = this.values[e], n = (t & 31744) >> 10, r = (t & 1023) / 1024, i = (-1) ** ((t & 32768) >> 15);
414
414
  switch (n) {
415
- case 31: return i * (r ? NaN : Infinity);
415
+ case 31: return i * (r ? NaN : 1 / 0);
416
416
  case 0: return i * (r ? 6103515625e-14 * r : 0);
417
417
  }
418
418
  return i * 2 ** (n - 15) * (1 + r);
@@ -974,9 +974,7 @@ function an(e) {
974
974
  case n.RecordBatch:
975
975
  i.push(s.content), o.push(a.length);
976
976
  break;
977
- case n.DictionaryBatch:
978
- a.push(s.content);
979
- break;
977
+ case n.DictionaryBatch: a.push(s.content);
980
978
  }
981
979
  }
982
980
  }
package/dist/style.css CHANGED
@@ -1,2 +1,2 @@
1
- :root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:root),svg.svg-inline--fa:not(:host){box-sizing:content-box;overflow:visible}.svg-inline--fa{display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{margin:auto;position:absolute;inset:0}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;width:1em;height:1em;display:inline-block;position:relative}.fa-layers svg.svg-inline--fa{transform-origin:50%}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-fw{text-align:center;width:1.25em}.fa-ul{margin-left:var(--fa-li-margin,2.5em);padding-left:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width,2em));text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-iteration-count:1;animation-delay:-1ms}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1)translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1), var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9), var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05), var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{vertical-align:middle;width:2.5em;height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}.svg-inline--fa.fa-stack-1x{width:1.25em;height:1em}.svg-inline--fa.fa-stack-2x{width:2.5em;height:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.sr-only,.fa-sr-only,.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}:root{--gs-font-family:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--gs-font-size:14px;--gs-basic-spacing:10px}.gs-input-binding{grid-template-columns:max-content max-content;justify-items:start;gap:.3em 1em;display:grid}.gs-input-binding>select,.gs-input-binding>input:not([type=checkbox]){width:100%}.gs-input-binding input[type=range]+span{font-variant-numeric:tabular-nums;min-width:2.2em;margin-left:.3em;display:inline-block}.gs-input-binding input[type=range],.gs-input-binding input[type=radio]{vertical-align:text-bottom}.gs-input-binding .radio-group{align-items:center;display:flex}.gs-input-binding .description{color:#777;grid-column:1/-1;max-width:26em;margin-top:-.5em;font-size:90%}.gs-input-bindings{flex-basis:content;padding:10px;font-size:14px}.gs-menu,.gs-context-menu,.gs-dropdown-menu{z-index:100;cursor:default;background:#f6f6f6;border:#e0e0e0;border-radius:2px;max-height:calc(100vh - 60px);margin:0;padding:7px 0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:13px;line-height:22px;overflow-y:auto;box-shadow:0 3px 15px #00000036}.gs-menu li,.gs-context-menu li,.gs-dropdown-menu li{padding:0;list-style:none;display:block;position:relative}.gs-menu li.active>:is(a:first-child,.submenu-item),.gs-context-menu li.active>:is(a:first-child,.submenu-item),.gs-dropdown-menu li.active>:is(a:first-child,.submenu-item){background-color:#e8e8e8}.gs-menu li>:is(a:first-child,label,.submenu-item):hover,.gs-context-menu li>:is(a:first-child,label,.submenu-item):hover,.gs-dropdown-menu li>:is(a:first-child,label,.submenu-item):hover{background-color:#e0e0e0}.gs-menu li>span.disabled-item,.gs-menu li>a:first-child,.gs-context-menu li>span.disabled-item,.gs-context-menu li>a:first-child,.gs-dropdown-menu li>span.disabled-item,.gs-dropdown-menu li>a:first-child{display:block}.gs-menu li>span.disabled-item svg:first-child,.gs-menu li>a:first-child svg:first-child,.gs-context-menu li>span.disabled-item svg:first-child,.gs-context-menu li>a:first-child svg:first-child,.gs-dropdown-menu li>span.disabled-item svg:first-child,.gs-dropdown-menu li>a:first-child svg:first-child,.gs-menu li>.submenu-item svg:first-child,.gs-context-menu li>.submenu-item svg:first-child,.gs-dropdown-menu li>.submenu-item svg:first-child{width:1em;margin-right:.2em}.gs-menu .context,.gs-context-menu .context,.gs-dropdown-menu .context{color:#666;font-size:.9em}.gs-menu .context:before,.gs-context-menu .context:before,.gs-dropdown-menu .context:before{content:"("}.gs-menu .context:after,.gs-context-menu .context:after,.gs-dropdown-menu .context:after{content:")"}.gs-menu .menu-divider,.gs-context-menu .menu-divider,.gs-dropdown-menu .menu-divider{border-top:1px solid #e0e0e0;margin:5px 0}.gs-menu .menu-header,.gs-menu li>:is(span.disabled-item,a:first-child,.submenu-item,label),.gs-context-menu .menu-header,.gs-context-menu li>:is(span.disabled-item,a:first-child,.submenu-item,label),.gs-dropdown-menu .menu-header,.gs-dropdown-menu li>:is(span.disabled-item,a:first-child,.submenu-item,label){padding-left:15px;padding-right:15px}.gs-menu .menu-header,.gs-context-menu .menu-header,.gs-dropdown-menu .menu-header{color:#666;font-size:12px}.gs-menu li>:is(div.submenu-item,.choice-item),.gs-context-menu li>:is(div.submenu-item,.choice-item),.gs-dropdown-menu li>:is(div.submenu-item,.choice-item){justify-content:space-between;align-items:center;display:flex}.gs-menu li>:is(div.submenu-item,.choice-item)>:first-child,.gs-context-menu li>:is(div.submenu-item,.choice-item)>:first-child,.gs-dropdown-menu li>:is(div.submenu-item,.choice-item)>:first-child{flex-grow:1}.gs-menu li>.submenu-item:after,.gs-context-menu li>.submenu-item:after,.gs-dropdown-menu li>.submenu-item:after{content:"";border-top:.4em solid #0000;border-bottom:.4em solid #0000;border-left:.4em solid #000;width:0;height:0;margin-left:1em}.gs-menu li .kbd-shortcut,.gs-context-menu li .kbd-shortcut,.gs-dropdown-menu li .kbd-shortcut{color:#666;background-color:#ffffff80;border:1px solid #aaa;border-bottom-width:2px;border-radius:3px;margin-left:.5em;padding:3px;font-size:.9em;line-height:.7em}.gs-menu li>.disabled-item,.gs-context-menu li>.disabled-item,.gs-dropdown-menu li>.disabled-item{color:#999}.gs-menu a.menu-ellipsis,.gs-context-menu a.menu-ellipsis,.gs-dropdown-menu a.menu-ellipsis{color:#707070;background-color:#e0e0e0;border-radius:3em;align-items:center;height:22px;padding:0;display:flex;position:absolute;top:0;right:7.5px}.gs-menu a.menu-ellipsis svg,.gs-context-menu a.menu-ellipsis svg,.gs-dropdown-menu a.menu-ellipsis svg{width:22px;margin:0}.gs-menu a.menu-ellipsis:hover,.gs-context-menu a.menu-ellipsis:hover,.gs-dropdown-menu a.menu-ellipsis:hover{background-color:#e9e9e9}.gs-menu li:not(:hover) a.menu-ellipsis,.gs-context-menu li:not(:hover) a.menu-ellipsis,.gs-dropdown-menu li:not(:hover) a.menu-ellipsis{display:none}.gs-menu .gs-input-binding,.gs-context-menu .gs-input-binding,.gs-dropdown-menu .gs-input-binding{margin:0 15px;line-height:normal}.gs-menu .gs-input-binding .description,.gs-context-menu .gs-input-binding .description,.gs-dropdown-menu .gs-input-binding .description{margin-bottom:.2em}.gs-dropdown-menu-right{right:0}.gs-context-menu-backdrop{z-index:100;position:fixed;inset:0}.gs-context-menu{z-index:100;position:fixed}.gs-dropdown-menu{z-index:1;width:max-content;display:none;position:absolute;overflow:auto}.gs-dropdown-menu ul{padding-left:1.5em;list-style:none}.gs-dropdown-menu>li>ul{padding-left:0}label.checkbox{align-items:center;display:flex}label.checkbox input[type=checkbox]{flex:none;margin-right:.5em}:root{--gs-theme-primary:#6c82ab;--gs-theme-on-primary:#fff}.genome-spy-app{flex-direction:column;display:flex;position:absolute;inset:0}body>.genome-spy-app{background-color:#fff}.genome-spy-app{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:14px}.genome-spy-app .genome-spy-workspace{flex:auto;grid-template-columns:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.genome-spy-app .genome-spy-container{min-width:0;min-height:0;position:relative;overflow:hidden}.genome-spy-app .genome-spy-side-panel-host{border-left:1px solid var(--gs-dialog-stroke-color,#d0d0d0);min-height:0;display:none;overflow:hidden}.genome-spy-app .genome-spy-side-panel-host.is-open{opacity:1;transition:opacity .26s,transform .28s;display:block;transform:translate(0)}@starting-style{.genome-spy-app .genome-spy-side-panel-host.is-open{opacity:0;transform:translate(20px)}}@media (prefers-reduced-motion:reduce){.genome-spy-app .genome-spy-side-panel-host.is-open{transition:none}}.gs-toolbar,.gs-toolbar .btn-group{flex-direction:row;align-items:center;display:flex}.gs-toolbar{--gs-toolbar-bg:var(--gs-theme-primary);--gs-toolbar-fg:var(--gs-theme-on-primary);--gs-toolbar-bg-hi:oklch(from var(--gs-toolbar-bg) calc(l + .06) c h);--gs-toolbar-bg-lo:oklch(from var(--gs-toolbar-bg) calc(l - .06) c h);--gs-toolbar-bg-dim:oklch(from var(--gs-toolbar-bg) calc(l - .05) c h);z-index:1;background-color:var(--gs-toolbar-bg);border-top:1px solid var(--gs-toolbar-bg-hi);border-bottom:1px solid var(--gs-toolbar-bg-lo);height:38px;box-shadow:0 0 3px #00000080}.gs-toolbar .spacer{flex-grow:1}.gs-toolbar .logo{display:block}.gs-toolbar .logo img{vertical-align:middle;width:34px}.gs-toolbar .vis-title,.gs-toolbar .version a{color:var(--gs-toolbar-fg);text-shadow:0 1px 2px #0003;font-weight:400}.gs-toolbar .version a{opacity:.5;font-size:80%;text-decoration:none}.gs-toolbar .version a:visited{color:var(--gs-toolbar-fg)}.gs-toolbar .search-input{background-color:var(--gs-toolbar-bg-dim);color:var(--gs-toolbar-fg);border:1px solid oklch(from var(--gs-toolbar-bg) calc(l - .1) c h);width:260px;box-shadow:0px 1px 3px #0000001a inset, 1px 1px 0px oklch(from var(--gs-toolbar-bg) calc(l + .04) c h);text-shadow:0 1px 2px #0000004d;outline:none;padding:3px 6px;font-size:1em;position:relative}.gs-toolbar .search-help{box-sizing:border-box;z-index:1000;visibility:hidden;background:#f6f6f6;border:none;padding:10px;font-size:90%;position:absolute;box-shadow:0 3px 14px #00000026}.gs-toolbar .search-help>:first-child{margin-top:0}.gs-toolbar .search-help>:last-child{margin-bottom:0}.gs-toolbar .search-help{opacity:0;transition:opacity .2s,transform .2s ease-in-out,visibility .2s;transform:translateY(13px)}.gs-toolbar .search-help p{margin-bottom:.5em}.gs-toolbar .search-help ul{margin-top:.5em;padding-left:2.5em}.gs-toolbar .search-help li{cursor:pointer}.gs-toolbar .search:focus-within .search-help{opacity:1;visibility:visible;transform:translateY(3px)}.gs-toolbar>*{padding-left:10px}.gs-toolbar>:last-child{margin-right:10px}.gs-toolbar .tool-btn{--gs-toolbar-btn-bg:oklch(from var(--gs-toolbar-bg) calc(l + .03) c h);background-color:var(--gs-toolbar-btn-bg);background-image:linear-gradient(to bottom, oklch(from var(--gs-toolbar-btn-bg) calc(l + .05) calc(c - .005) h), oklch(from var(--gs-toolbar-btn-bg) calc(l - .02) c h));color:var(--gs-toolbar-fg);border:1px solid;border-top-color:oklch(from var(--gs-toolbar-btn-bg) calc(l + .08) c h);border-left-color:oklch(from var(--gs-toolbar-btn-bg) calc(l + .03) c h);border-right-color:oklch(from var(--gs-toolbar-btn-bg) calc(l - .08) c h);border-bottom-color:oklch(from var(--gs-toolbar-btn-bg) calc(l - .12) c h);border-radius:2px;justify-content:center;align-items:center;width:30px;height:26px;margin-left:10px;padding:0;font-size:1.15em;transition:color .15s;display:flex;box-shadow:0 1px 1px #00000026}.gs-toolbar .tool-btn>svg{filter:drop-shadow(0 0 1px #0000004d)}.gs-toolbar .tool-btn:active>*{position:relative;top:1px}.gs-toolbar .tool-btn:disabled{color:oklch(from var(--gs-toolbar-fg) l c h/.5)}.gs-toolbar .tool-btn:hover:not(:disabled){background-image:linear-gradient(to bottom, oklch(from var(--gs-toolbar-btn-bg) calc(l + .07) c h), oklch(from var(--gs-toolbar-btn-bg) calc(l + .01) c h))}.gs-toolbar .tool-btn:hover:not(:disabled)>svg{filter:drop-shadow(0 0 3px #96c8ff)}.gs-toolbar .tool-btn:focus{outline:none}.gs-toolbar .btn-group .tool-btn,.gs-toolbar .dropdown .tool-btn{margin-left:0}.gs-toolbar .dropdown{position:relative}.gs-toolbar .dropdown.show .gs-dropdown-menu{display:block}.gs-toolbar .dropdown.show>button{background-image:linear-gradient(to bottom, oklch(from var(--gs-toolbar-bg) calc(l + .09) c h), oklch(from var(--gs-toolbar-bg) calc(l + .06) c h))}.provenance-menu .operator{font-size:125%;line-height:.8}.gs-dropdown-menu.provenance-menu .active-state{background-color:#e0e0e0;border-left:5px solid silver;padding-left:10px}.gs-suppress-tooltip .genome-spy .gs-tooltip{display:none}
1
+ :root,:host{--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free";--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free";--fa-font-light:normal 300 1em/1 "Font Awesome 6 Pro";--fa-font-thin:normal 100 1em/1 "Font Awesome 6 Pro";--fa-font-duotone:normal 900 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-regular:normal 400 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-light:normal 300 1em/1 "Font Awesome 6 Duotone";--fa-font-duotone-thin:normal 100 1em/1 "Font Awesome 6 Duotone";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands";--fa-font-sharp-solid:normal 900 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-regular:normal 400 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-light:normal 300 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-thin:normal 100 1em/1 "Font Awesome 6 Sharp";--fa-font-sharp-duotone-solid:normal 900 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-regular:normal 400 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-light:normal 300 1em/1 "Font Awesome 6 Sharp Duotone";--fa-font-sharp-duotone-thin:normal 100 1em/1 "Font Awesome 6 Sharp Duotone"}svg.svg-inline--fa:not(:root),svg.svg-inline--fa:not(:host){box-sizing:content-box;overflow:visible}.svg-inline--fa{display:var(--fa-display,inline-block);vertical-align:-.125em;height:1em;overflow:visible}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0}.svg-inline--fa.fa-sm{vertical-align:-.07143em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left{margin-right:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-pull-right{margin-left:var(--fa-pull-margin,.3em);width:auto}.svg-inline--fa.fa-li{width:var(--fa-li-width,2em);top:.25em}.svg-inline--fa.fa-fw{width:var(--fa-fw-width,1.25em)}.fa-layers svg.svg-inline--fa{margin:auto;position:absolute;inset:0}.fa-layers-counter,.fa-layers-text{text-align:center;display:inline-block;position:absolute}.fa-layers{text-align:center;vertical-align:-.125em;width:1em;height:1em;display:inline-block;position:relative}.fa-layers svg.svg-inline--fa{transform-origin:50%}.fa-layers-text{transform-origin:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.fa-layers-counter{background-color:var(--fa-counter-background-color,#ff253a);border-radius:var(--fa-counter-border-radius,1em);box-sizing:border-box;color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);max-width:var(--fa-counter-max-width,5em);min-width:var(--fa-counter-min-width,1.5em);padding:var(--fa-counter-padding,.25em .5em);right:var(--fa-right,0);text-overflow:ellipsis;top:var(--fa-top,0);transform:scale(var(--fa-counter-scale,.25));transform-origin:100% 0;overflow:hidden}.fa-layers-bottom-right{bottom:var(--fa-bottom,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 100%;top:auto}.fa-layers-bottom-left{bottom:var(--fa-bottom,0);left:var(--fa-left,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 100%;top:auto;right:auto}.fa-layers-top-right{top:var(--fa-top,0);right:var(--fa-right,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:100% 0}.fa-layers-top-left{left:var(--fa-left,0);right:auto;top:var(--fa-top,0);transform:scale(var(--fa-layers-scale,.25));transform-origin:0 0}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{vertical-align:.225em;font-size:.625em;line-height:.1em}.fa-xs{vertical-align:.125em;font-size:.75em;line-height:.08333em}.fa-sm{vertical-align:.05357em;font-size:.875em;line-height:.07143em}.fa-lg{vertical-align:-.075em;font-size:1.25em;line-height:.05em}.fa-xl{vertical-align:-.125em;font-size:1.5em;line-height:.04167em}.fa-2xl{vertical-align:-.1875em;font-size:2em;line-height:.03125em}.fa-fw{text-align:center;width:1.25em}.fa-ul{margin-left:var(--fa-li-margin,2.5em);padding-left:0;list-style-type:none}.fa-ul>li{position:relative}.fa-li{left:calc(-1 * var(--fa-li-width,2em));text-align:center;width:var(--fa-li-width,2em);line-height:inherit;position:absolute}.fa-border{border-color:var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);border-style:var(--fa-border-style,solid);border-width:var(--fa-border-width,.08em);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{transition-duration:0s;transition-delay:0s;animation-duration:1ms;animation-iteration-count:1;animation-delay:-1ms}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1)translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1), var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9), var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05), var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1, 1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1)translateY(0)}to{transform:scale(1)translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0), var(--fa-flip-y,1), var(--fa-flip-z,0), var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{vertical-align:middle;width:2.5em;height:2em;display:inline-block;position:relative}.fa-stack-1x,.fa-stack-2x{z-index:var(--fa-stack-z-index,auto);margin:auto;position:absolute;inset:0}.svg-inline--fa.fa-stack-1x{width:1.25em;height:1em}.svg-inline--fa.fa-stack-2x{width:2.5em;height:2em}.fa-inverse{color:var(--fa-inverse,#fff)}.sr-only,.fa-sr-only,.sr-only-focusable:not(:focus),.fa-sr-only-focusable:not(:focus){clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor);opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}:root{--gs-font-family:system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";--gs-font-size:14px;--gs-basic-spacing:10px}.gs-input-binding{grid-template-columns:max-content max-content;justify-items:start;gap:.3em 1em;display:grid}.gs-input-binding>select,.gs-input-binding>input:not([type=checkbox]){width:100%}.gs-input-binding input[type=range]+span{font-variant-numeric:tabular-nums;min-width:2.2em;margin-left:.3em;display:inline-block}.gs-input-binding input[type=range],.gs-input-binding input[type=radio]{vertical-align:text-bottom}.gs-input-binding .radio-group{align-items:center;display:flex}.gs-input-binding .description{color:#777;grid-column:1/-1;max-width:26em;margin-top:-.5em;font-size:90%}.gs-input-bindings{flex-basis:content;padding:10px;font-size:14px}.gs-menu,.gs-context-menu{z-index:100;cursor:default;background:#f6f6f6;border:#e0e0e0;border-radius:2px;max-height:calc(100vh - 60px);margin:0;padding:7px 0;font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:13px;line-height:22px;overflow-y:auto;box-shadow:0 3px 15px #00000036}.gs-menu li,.gs-context-menu li{padding:0;list-style:none;display:block;position:relative}.gs-menu li.active>:is(a:first-child,.submenu-item),.gs-context-menu li.active>:is(a:first-child,.submenu-item){background-color:#e8e8e8}.gs-menu li>:is(a:first-child,label,.submenu-item):hover,.gs-menu li>:is(button.choice-item,button.submenu-item):hover,.gs-context-menu li>:is(a:first-child,label,.submenu-item):hover,.gs-context-menu li>:is(button.choice-item,button.submenu-item):hover{background-color:#e0e0e0}.gs-menu li>button[role=menuitem],.gs-context-menu li>button[role=menuitem]{width:100%;color:inherit;font:inherit;line-height:inherit;text-align:left;cursor:default;background:0 0;border:0;padding-block:0}.gs-menu li>button[role=menuitem]:focus-visible,.gs-context-menu li>button[role=menuitem]:focus-visible{outline-offset:-2px;background-color:#e8e8e8;outline:2px solid #2459a6}.gs-menu li .menu-item-icon svg,.gs-context-menu li .menu-item-icon svg{width:1em;margin-right:.2em}.gs-menu li>span.disabled-item,.gs-menu li>a:first-child,.gs-context-menu li>span.disabled-item,.gs-context-menu li>a:first-child{display:block}.gs-menu li>span.disabled-item svg:first-child,.gs-menu li>a:first-child svg:first-child,.gs-context-menu li>span.disabled-item svg:first-child,.gs-context-menu li>a:first-child svg:first-child,.gs-menu li>.submenu-item svg:first-child,.gs-context-menu li>.submenu-item svg:first-child{width:1em;margin-right:.2em}.gs-menu .context,.gs-context-menu .context{color:#666;font-size:.9em}.gs-menu .context:before,.gs-context-menu .context:before{content:"("}.gs-menu .context:after,.gs-context-menu .context:after{content:")"}.gs-menu .menu-divider,.gs-context-menu .menu-divider{border-top:1px solid #e0e0e0;margin:5px 0}.gs-menu .menu-header,.gs-menu li>:is(span.disabled-item,a:first-child,.submenu-item,label),.gs-menu li>button[role=menuitem],.gs-context-menu .menu-header,.gs-context-menu li>:is(span.disabled-item,a:first-child,.submenu-item,label),.gs-context-menu li>button[role=menuitem]{padding-left:15px;padding-right:15px}.gs-menu .menu-header,.gs-context-menu .menu-header{color:#666;font-size:12px}.gs-menu li>:is(div.submenu-item,.choice-item,button.submenu-item),.gs-context-menu li>:is(div.submenu-item,.choice-item,button.submenu-item){justify-content:space-between;align-items:center;display:flex}.gs-menu li>:is(div.submenu-item,.choice-item,button.submenu-item)>:first-child,.gs-context-menu li>:is(div.submenu-item,.choice-item,button.submenu-item)>:first-child{flex-grow:1}.gs-menu li>.submenu-item:after,.gs-context-menu li>.submenu-item:after{content:"";border-top:.4em solid #0000;border-bottom:.4em solid #0000;border-left:.4em solid #000;width:0;height:0;margin-left:1em}.gs-menu li .kbd-shortcut,.gs-context-menu li .kbd-shortcut{color:#666;background-color:#ffffff80;border:1px solid #aaa;border-bottom-width:2px;border-radius:3px;margin-left:.5em;padding:3px;font-size:.9em;line-height:.7em}.gs-menu li>.disabled-item,.gs-context-menu li>.disabled-item{color:#999}.gs-menu li>button.menu-ellipsis,.gs-context-menu li>button.menu-ellipsis{color:#707070;background-color:#e0e0e0;border-radius:3em;align-items:center;width:22px;height:22px;padding:0;display:flex;position:absolute;top:0;right:7.5px}.gs-menu li>button.menu-ellipsis svg,.gs-context-menu li>button.menu-ellipsis svg{width:22px;margin:0}.gs-menu li>button.menu-ellipsis:hover,.gs-context-menu li>button.menu-ellipsis:hover{background-color:#e9e9e9}.gs-menu li:not(:hover,:focus-within) button.menu-ellipsis,.gs-context-menu li:not(:hover,:focus-within) button.menu-ellipsis{opacity:0;pointer-events:none}.gs-menu li>button[role=menuitem][aria-current=step],.gs-context-menu li>button[role=menuitem][aria-current=step]{background-color:#e0e0e0;border-left:5px solid silver;padding-left:10px}.gs-menu .gs-input-binding,.gs-context-menu .gs-input-binding{margin:0 15px;line-height:normal}.gs-menu .gs-input-binding .description,.gs-context-menu .gs-input-binding .description{margin-bottom:.2em}.gs-context-menu-backdrop{z-index:100;position:fixed;inset:0}.gs-context-menu-popup-layer{z-index:102;pointer-events:none;position:fixed;inset:0}.gs-context-menu-popup-layer>.gs-context-menu{pointer-events:auto}.gs-context-menu{z-index:100;position:fixed}.gs-controls-popup{min-width:14em}.gs-controls-popup>ul{margin:0;padding:0}.gs-controls-popup button{color:inherit;font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:0}.gs-controls-popup button:focus-visible{outline-offset:-2px;background:#e8e8e8;outline:2px solid #2459a6}.gs-controls-popup .control-submenu-row{align-items:center;display:flex}.gs-controls-popup .control-submenu-row:hover{background:#e0e0e0}.gs-controls-popup .control-submenu-row.active{background:#e8e8e8}.gs-controls-popup .control-submenu-row>label{flex:1}.gs-controls-popup .control-submenu-row>label:hover{background:0 0}.gs-controls-popup .control-submenu-row>.settings-submenu-button{justify-content:center;align-items:center;min-width:2.2em;min-height:22px;padding:0 .5em;display:flex}.gs-controls-popup .control-submenu-row>.settings-submenu-button:after{content:"";border-top:.4em solid #0000;border-bottom:.4em solid #0000;border-left:.4em solid}.gs-controls-popup .control-submenu-row>.settings-submenu-button:hover{background:0 0}.gs-controls-popup .choice-item,.gs-controls-popup .submenu-item{text-align:left;width:100%;min-height:22px;padding:0 15px}.gs-controls-popup li>button.choice-item{display:block}label.checkbox{align-items:center;display:flex}label.checkbox input[type=checkbox]{flex:none;margin-right:.5em}:root{--gs-theme-primary:#6c82ab;--gs-theme-on-primary:#fff}.genome-spy-app{flex-direction:column;display:flex;position:absolute;inset:0}body>.genome-spy-app{background-color:#fff}.genome-spy-app{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:14px}.genome-spy-app .genome-spy-workspace{flex:auto;grid-template-columns:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.genome-spy-app .genome-spy-container{min-width:0;min-height:0;position:relative;overflow:hidden}.genome-spy-app .genome-spy-side-panel-host{border-left:1px solid var(--gs-dialog-stroke-color,#d0d0d0);min-height:0;display:none;overflow:hidden}.genome-spy-app .genome-spy-side-panel-host.is-open{opacity:1;transition:opacity .26s,transform .28s;display:block;transform:translate(0)}@starting-style{.genome-spy-app .genome-spy-side-panel-host.is-open{opacity:0;transform:translate(20px)}}@media (prefers-reduced-motion:reduce){.genome-spy-app .genome-spy-side-panel-host.is-open{transition:none}}.gs-toolbar,.gs-toolbar .btn-group{flex-direction:row;align-items:center;display:flex}.gs-toolbar{--gs-toolbar-bg:var(--gs-theme-primary);--gs-toolbar-fg:var(--gs-theme-on-primary);--gs-toolbar-bg-hi:oklch(from var(--gs-toolbar-bg) calc(l + .06) c h);--gs-toolbar-bg-lo:oklch(from var(--gs-toolbar-bg) calc(l - .06) c h);--gs-toolbar-bg-dim:oklch(from var(--gs-toolbar-bg) calc(l - .05) c h);z-index:1}.gs-toolbar:has(.provenance-dropdown>button[aria-expanded=true]){pointer-events:none}.gs-toolbar:has(.provenance-dropdown>button[aria-expanded=true]) genome-spy-provenance-buttons{z-index:101;pointer-events:auto;position:relative}.gs-toolbar{background-color:var(--gs-toolbar-bg);border-top:1px solid var(--gs-toolbar-bg-hi);border-bottom:1px solid var(--gs-toolbar-bg-lo);height:38px;box-shadow:0 0 3px #00000080}.gs-toolbar .spacer{flex-grow:1}.gs-toolbar .logo{display:block}.gs-toolbar .logo img{vertical-align:middle;width:34px}.gs-toolbar .vis-title,.gs-toolbar .version a{color:var(--gs-toolbar-fg);text-shadow:0 1px 2px #0003;font-weight:400}.gs-toolbar .version a{opacity:.5;font-size:80%;text-decoration:none}.gs-toolbar .version a:visited{color:var(--gs-toolbar-fg)}.gs-toolbar .search-input{background-color:var(--gs-toolbar-bg-dim);color:var(--gs-toolbar-fg);border:1px solid oklch(from var(--gs-toolbar-bg) calc(l - .1) c h);width:260px;box-shadow:0px 1px 3px #0000001a inset, 1px 1px 0px oklch(from var(--gs-toolbar-bg) calc(l + .04) c h);text-shadow:0 1px 2px #0000004d;outline:none;padding:3px 6px;font-size:1em;position:relative}.gs-toolbar .search-help{box-sizing:border-box;z-index:1000;visibility:hidden;background:#f6f6f6;border:none;padding:10px;font-size:90%;position:absolute;box-shadow:0 3px 14px #00000026}.gs-toolbar .search-help>:first-child{margin-top:0}.gs-toolbar .search-help>:last-child{margin-bottom:0}.gs-toolbar .search-help{opacity:0;transition:opacity .2s,transform .2s ease-in-out,visibility .2s;transform:translateY(13px)}.gs-toolbar .search-help p{margin-bottom:.5em}.gs-toolbar .search-help ul{margin-top:.5em;padding-left:2.5em}.gs-toolbar .search-help li{cursor:pointer}.gs-toolbar .search:focus-within .search-help{opacity:1;visibility:visible;transform:translateY(3px)}.gs-toolbar>*{padding-left:10px}.gs-toolbar>:last-child{margin-right:10px}.gs-toolbar .tool-btn{--gs-toolbar-btn-bg:oklch(from var(--gs-toolbar-bg) calc(l + .03) c h);background-color:var(--gs-toolbar-btn-bg);background-image:linear-gradient(to bottom, oklch(from var(--gs-toolbar-btn-bg) calc(l + .05) calc(c - .005) h), oklch(from var(--gs-toolbar-btn-bg) calc(l - .02) c h));color:var(--gs-toolbar-fg);border:1px solid;border-top-color:oklch(from var(--gs-toolbar-btn-bg) calc(l + .08) c h);border-left-color:oklch(from var(--gs-toolbar-btn-bg) calc(l + .03) c h);border-right-color:oklch(from var(--gs-toolbar-btn-bg) calc(l - .08) c h);border-bottom-color:oklch(from var(--gs-toolbar-btn-bg) calc(l - .12) c h);border-radius:2px;justify-content:center;align-items:center;width:30px;height:26px;margin-left:10px;padding:0;font-size:1.15em;transition:color .15s;display:flex;box-shadow:0 1px 1px #00000026}.gs-toolbar .tool-btn>svg{filter:drop-shadow(0 0 1px #0000004d)}.gs-toolbar .tool-btn:active>*{position:relative;top:1px}.gs-toolbar .tool-btn:disabled{color:oklch(from var(--gs-toolbar-fg) l c h/.5)}.gs-toolbar .tool-btn:hover:not(:disabled){background-image:linear-gradient(to bottom, oklch(from var(--gs-toolbar-btn-bg) calc(l + .07) c h), oklch(from var(--gs-toolbar-btn-bg) calc(l + .01) c h))}.gs-toolbar .tool-btn:hover:not(:disabled)>svg{filter:drop-shadow(0 0 3px #96c8ff)}.gs-toolbar .tool-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.gs-toolbar .btn-group .tool-btn,.gs-toolbar .bookmark-dropdown .tool-btn,.gs-toolbar .provenance-dropdown .tool-btn{margin-left:0}.gs-toolbar :is(.bookmark-dropdown,.provenance-dropdown)>button[aria-expanded=true]{background-image:linear-gradient(to bottom, oklch(from var(--gs-toolbar-bg) calc(l + .09) c h), oklch(from var(--gs-toolbar-bg) calc(l + .06) c h))}.gs-suppress-tooltip .genome-spy .gs-tooltip{display:none}
2
2
  /*$vite$:1*/