@graview/react 0.1.28 → 0.1.29

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 (106) hide show
  1. package/dist/affordances.d.ts +2 -1
  2. package/dist/affordances.d.ts.map +1 -1
  3. package/dist/affordances.js +2 -1
  4. package/dist/affordances.js.map +1 -1
  5. package/dist/beside-the-map.d.ts +13 -0
  6. package/dist/beside-the-map.d.ts.map +1 -0
  7. package/dist/beside-the-map.js +14 -0
  8. package/dist/beside-the-map.js.map +1 -0
  9. package/dist/channels.d.ts +2 -1
  10. package/dist/channels.d.ts.map +1 -1
  11. package/dist/channels.js +121 -22
  12. package/dist/channels.js.map +1 -1
  13. package/dist/connectors.d.ts +27 -2
  14. package/dist/connectors.d.ts.map +1 -1
  15. package/dist/connectors.js +135 -21
  16. package/dist/connectors.js.map +1 -1
  17. package/dist/context.d.ts +38 -2
  18. package/dist/context.d.ts.map +1 -1
  19. package/dist/context.js +63 -14
  20. package/dist/context.js.map +1 -1
  21. package/dist/drawn.d.ts +1 -1
  22. package/dist/drawn.d.ts.map +1 -1
  23. package/dist/drawn.js +1 -1
  24. package/dist/drawn.js.map +1 -1
  25. package/dist/edge-signs.d.ts +1 -1
  26. package/dist/edge-signs.d.ts.map +1 -1
  27. package/dist/edge-signs.js +52 -7
  28. package/dist/edge-signs.js.map +1 -1
  29. package/dist/index.d.ts +6 -1
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +5 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/last-visit.d.ts +18 -0
  34. package/dist/last-visit.d.ts.map +1 -0
  35. package/dist/last-visit.js +79 -0
  36. package/dist/last-visit.js.map +1 -0
  37. package/dist/map-choice.d.ts +55 -0
  38. package/dist/map-choice.d.ts.map +1 -0
  39. package/dist/map-choice.js +73 -0
  40. package/dist/map-choice.js.map +1 -0
  41. package/dist/plots.d.ts +30 -24
  42. package/dist/plots.d.ts.map +1 -1
  43. package/dist/plots.js +168 -149
  44. package/dist/plots.js.map +1 -1
  45. package/dist/provider.d.ts +2 -1
  46. package/dist/provider.d.ts.map +1 -1
  47. package/dist/provider.js +3 -1
  48. package/dist/provider.js.map +1 -1
  49. package/dist/record-links-layer.d.ts +80 -0
  50. package/dist/record-links-layer.d.ts.map +1 -0
  51. package/dist/record-links-layer.js +127 -0
  52. package/dist/record-links-layer.js.map +1 -0
  53. package/dist/record-links.d.ts +58 -0
  54. package/dist/record-links.d.ts.map +1 -0
  55. package/dist/record-links.js +72 -0
  56. package/dist/record-links.js.map +1 -0
  57. package/dist/resolved-view.d.ts.map +1 -1
  58. package/dist/resolved-view.js +4 -0
  59. package/dist/resolved-view.js.map +1 -1
  60. package/dist/ribbon-width.d.ts +8 -0
  61. package/dist/ribbon-width.d.ts.map +1 -0
  62. package/dist/ribbon-width.js +15 -0
  63. package/dist/ribbon-width.js.map +1 -0
  64. package/dist/ribbons-layer.d.ts +56 -0
  65. package/dist/ribbons-layer.d.ts.map +1 -0
  66. package/dist/ribbons-layer.js +167 -0
  67. package/dist/ribbons-layer.js.map +1 -0
  68. package/dist/ribbons.d.ts +70 -0
  69. package/dist/ribbons.d.ts.map +1 -0
  70. package/dist/ribbons.js +400 -0
  71. package/dist/ribbons.js.map +1 -0
  72. package/dist/scene-camera.d.ts.map +1 -1
  73. package/dist/scene-camera.js +10 -4
  74. package/dist/scene-camera.js.map +1 -1
  75. package/dist/scene-covered.d.ts +8 -0
  76. package/dist/scene-covered.d.ts.map +1 -0
  77. package/dist/scene-covered.js +118 -0
  78. package/dist/scene-covered.js.map +1 -0
  79. package/dist/scene-hand.d.ts +15 -0
  80. package/dist/scene-hand.d.ts.map +1 -1
  81. package/dist/scene-hand.js +45 -1
  82. package/dist/scene-hand.js.map +1 -1
  83. package/dist/scene-lines.d.ts +15 -2
  84. package/dist/scene-lines.d.ts.map +1 -1
  85. package/dist/scene-lines.js +215 -85
  86. package/dist/scene-lines.js.map +1 -1
  87. package/dist/scene-options.d.ts +7 -2
  88. package/dist/scene-options.d.ts.map +1 -1
  89. package/dist/scene-options.js +22 -8
  90. package/dist/scene-options.js.map +1 -1
  91. package/dist/scene-root.d.ts +1 -0
  92. package/dist/scene-root.d.ts.map +1 -1
  93. package/dist/scene-root.js +197 -154
  94. package/dist/scene-root.js.map +1 -1
  95. package/dist/view-host.d.ts.map +1 -1
  96. package/dist/view-host.js +6 -1
  97. package/dist/view-host.js.map +1 -1
  98. package/dist/view-registry.d.ts +5 -0
  99. package/dist/view-registry.d.ts.map +1 -1
  100. package/dist/view-registry.js +2 -6
  101. package/dist/view-registry.js.map +1 -1
  102. package/dist/where-drawn.d.ts +3 -1
  103. package/dist/where-drawn.d.ts.map +1 -1
  104. package/dist/where-drawn.js +10 -16
  105. package/dist/where-drawn.js.map +1 -1
  106. package/package.json +5 -5
@@ -0,0 +1,127 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { counted, labelOf, SCENE_LAYERS } from "@graview/core";
3
+ import { useLayoutEffect, useMemo, useState } from "react";
4
+ import { linksOfRecords, placeLabels } from "./record-links.js";
5
+ import { mapChoice } from "./map-choice.js";
6
+ import "./provider.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
7
+ /** The most records chosen at once whose links are drawn: past it the picture is a hairball, and the panel lists them. */
8
+ const DRAWN_FOR_AT_MOST = 4;
9
+ export function RecordLinks({ frame, width, height, stageRef, tick, store, graphVersion: nodes, selection, view, rulers: { visibleRect, clipQuadratic, unsureOf, unsureDash, unsureOpacity } }) {
10
+ const kindOf = (id) => store.graph.getNode(id)?.kind;
11
+ const choice = mapChoice(selection, view, kindOf);
12
+ const records = choice.lens === null && choice.records.length <= DRAWN_FOR_AT_MOST ? choice.records : [];
13
+ const recordsKey = records.join("\n");
14
+ const [drawn, setDrawn] = useState(null);
15
+ useLayoutEffect(() => {
16
+ const stage = stageRef.current;
17
+ if (!view.overview || records.length === 0 || !stage || typeof document === "undefined" || frame.t < 1) {
18
+ setDrawn(null);
19
+ return;
20
+ }
21
+ const s = stage.getBoundingClientRect();
22
+ const rel = (r) => ({ x: r.left - s.left, y: r.top - s.top, width: r.width, height: r.height });
23
+ const own = new Map();
24
+ const chosenCards = records.map((id) => `[data-graview-view="${CSS.escape(id)}"]`).join(",");
25
+ /* Where a record is drawn on its own: a chip or card in the scene, else its building on the plot. */
26
+ const ownBox = (id) => {
27
+ if (own.has(id))
28
+ return own.get(id);
29
+ let box = null;
30
+ for (const el of stage.querySelectorAll(`[data-graview-pick="${CSS.escape(id)}"], [data-graview-view="${CSS.escape(id)}"]`)) {
31
+ if (el.closest("[data-graview-offstage], [data-graview-screen]"))
32
+ continue;
33
+ // A chip in a chosen record's own card is the card saying it, not the far record drawn.
34
+ if (!records.includes(id) && el.closest(chosenCards))
35
+ continue;
36
+ box = visibleRect(el, stage);
37
+ if (box)
38
+ break;
39
+ }
40
+ if (!box) {
41
+ const building = stage.querySelector(`[data-graview-building="${CSS.escape(id)}"]`);
42
+ if (building)
43
+ box = rel(building.getBoundingClientRect());
44
+ }
45
+ own.set(id, box);
46
+ return box;
47
+ };
48
+ const districtBox = (kind) => {
49
+ const tile = stage.querySelector(`[data-graview-plot="kind:${CSS.escape(kind)}"] .graview-plot-tile`);
50
+ return tile ? rel(tile.getBoundingClientRect()) : null;
51
+ };
52
+ const links = linksOfRecords(records, store.graph.allEdges(), kindOf, (id) => ownBox(id) !== null, store.schema);
53
+ /* The districts' names are not crossed: a line passes under each one. */
54
+ const names = [];
55
+ // Their names, not the hosts they stand in: a district's host covers its whole plot, and a line clipped to it stopped at the first plot it reached.
56
+ for (const el of stage.querySelectorAll('[data-graview-view^="kind:"] .graview-kind-face')) {
57
+ const box = visibleRect(el, stage);
58
+ if (box)
59
+ names.push(box);
60
+ }
61
+ const center = (box) => ({ x: box.x + box.width / 2, y: box.y + box.height / 2 });
62
+ const lines = [];
63
+ const reached = new Set(records);
64
+ const districts = new Set();
65
+ for (const link of links) {
66
+ const selfKind = kindOf(link.self);
67
+ const fromBox = ownBox(link.self) ?? (selfKind ? districtBox(selfKind) : null);
68
+ const toBox = link.lands === "record" ? ownBox(link.others[0]) : districtBox(link.kind);
69
+ if (!fromBox || !toBox)
70
+ continue;
71
+ for (const other of link.others)
72
+ reached.add(other);
73
+ districts.add(link.kind);
74
+ if (selfKind)
75
+ districts.add(selfKind);
76
+ const p0 = center(fromBox);
77
+ const p1 = center(toBox);
78
+ const dist = Math.hypot(p1.x - p0.x, p1.y - p0.y);
79
+ if (dist < 6)
80
+ continue;
81
+ // A gentle bow, so two lines into one district are two lines.
82
+ const bow = Math.min(40, dist * 0.12) * (lines.length % 2 === 0 ? 1 : -1);
83
+ const c = { x: (p0.x + p1.x) / 2 - ((p1.y - p0.y) / dist) * bow, y: (p0.y + p1.y) / 2 + ((p1.x - p0.x) / dist) * bow };
84
+ const runs = clipQuadratic({ p0, c, p1 }, names);
85
+ if (runs.length === 0)
86
+ continue;
87
+ const d = runs.map((run) => `M ${run.p0.x.toFixed(1)} ${run.p0.y.toFixed(1)} Q ${run.c.x.toFixed(1)} ${run.c.y.toFixed(1)} ${run.p1.x.toFixed(1)} ${run.p1.y.toFixed(1)}`).join(" ");
88
+ const named = (id) => {
89
+ const node = store.graph.getNode(id);
90
+ return node ? labelOf(store.schema.tryDefinition(node.kind), node) : id;
91
+ };
92
+ const said = link.lands === "record" ? `${link.words}: ${named(link.others[0])}` : `${link.words}: ${counted(store.schema, link.kind, link.others.length)}`;
93
+ // A link to one record made less than sure stays so in the line the chosen record draws: one manner, and its basis on hover.
94
+ const other = link.others[0];
95
+ const unsure = link.lands === "record" ? unsureOf?.(link.edge, link.direction === "out" ? link.self : other, link.direction === "out" ? other : link.self) : undefined;
96
+ lines.push({ key: `${link.self}|${link.edge}|${link.direction}|${link.lands}|${other}`, link, d, end: p1, said: unsure !== undefined ? `${said} · unsure` : said, ...(unsure !== undefined ? { unsure } : {}) });
97
+ }
98
+ /* A link's words never stand on a district's name: the names under the plots are placed first. */
99
+ const plates = [];
100
+ for (const el of stage.querySelectorAll(".graview-kind-face[data-graview-nameplate]")) {
101
+ const box = visibleRect(el, stage);
102
+ if (box)
103
+ plates.push(box);
104
+ }
105
+ const labels = placeLabels(lines.map((line) => ({ key: line.key, x: line.end.x, y: line.end.y - 6, width: Math.min(260, 14 + line.said.length * 6.6), height: 20 })), plates);
106
+ setDrawn({ lines, labels, reached: [...reached], districts: [...districts] });
107
+ // eslint-disable-next-line react-hooks/exhaustive-deps
108
+ }, [recordsKey, view.overview, frame, nodes, tick, width, height, stageRef, store]);
109
+ const dimming = useMemo(() => {
110
+ if (!drawn)
111
+ return "";
112
+ const ids = drawn.reached.map((id) => `[data-graview-building="${CSS.escape(id)}"]`).join(",");
113
+ const plots = drawn.districts.map((kind) => `[data-graview-plot="kind:${CSS.escape(kind)}"]`).join(",");
114
+ return [
115
+ `.graview-ground[data-graview-altitude] .graview-building { opacity: 0.22; }`,
116
+ ids ? `.graview-ground[data-graview-altitude] .graview-building:is(${ids}) { opacity: 1; }` : "",
117
+ plots ? `.graview-ground[data-graview-altitude] .graview-plot:not(:is(${plots})) .graview-plot-tile { opacity: 0.4; }` : "",
118
+ ].join("\n");
119
+ }, [drawn]);
120
+ if (!drawn || drawn.lines.length === 0)
121
+ return dimming ? _jsx("style", { children: dimming }) : null;
122
+ return (_jsxs(_Fragment, { children: [_jsx("style", { children: dimming }), _jsx("svg", { className: "graview-record-links", "data-graview-world": "", "data-graview-record-links": drawn.lines.length, "aria-hidden": "true", width: width, height: height, style: { position: "absolute", left: 0, top: 0, pointerEvents: "none", zIndex: SCENE_LAYERS.lines }, children: drawn.lines.map((line) => (_jsxs("g", { className: "graview-record-link", "data-graview-link": line.link.edge, "data-graview-lands": line.link.lands, "data-graview-direction": line.link.direction, "data-graview-provisional": line.unsure !== undefined || undefined, children: [_jsx("path", { className: "graview-record-link-line", d: line.d, ...(line.unsure !== undefined ? { strokeDasharray: unsureDash, strokeOpacity: unsureOpacity } : {}) }), line.link.lands === "record" ? _jsx("circle", { className: "graview-record-link-end", cx: line.end.x, cy: line.end.y, r: 3 }) : null] }, line.key))) }), _jsx("div", { "aria-hidden": "true", "data-graview-world": "", style: { position: "absolute", inset: 0, pointerEvents: "none", zIndex: SCENE_LAYERS.tieLabels }, children: drawn.lines.map((line) => {
123
+ const at = drawn.labels.get(line.key);
124
+ return at ? (_jsx("span", { className: "graview-record-link-said", "data-graview-link-said": line.link.edge, "data-graview-lands": line.link.lands, ...(line.unsure !== undefined ? { title: line.unsure } : {}), style: { position: "absolute", left: at.x, top: at.y, ...(line.unsure !== undefined ? { pointerEvents: "auto" } : {}) }, children: line.said }, line.key)) : null;
125
+ }) })] }));
126
+ }
127
+ //# sourceMappingURL=record-links-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-links-layer.js","sourceRoot":"","sources":["../src/record-links-layer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ export interface LinkOfRecord {
2
+ /** The chosen record this line leaves. */
3
+ readonly self: string;
4
+ /** The relation, by edge kind. */
5
+ readonly edge: string;
6
+ /** Which way the relation reads from the chosen record. */
7
+ readonly direction: "out" | "in";
8
+ /** The kind the far end belongs to. */
9
+ readonly kind: string;
10
+ /** The far records it stands for: one when it lands on the record, several when it lands on their district. */
11
+ readonly others: readonly string[];
12
+ /** Whether the far end is the record itself, or the district standing in for the records it holds. */
13
+ readonly lands: "record" | "district";
14
+ /** The relation in the words of the chosen record's kind. */
15
+ readonly words: string;
16
+ }
17
+ /** The most lines into one district for one relation before they are said as one, with a count. */
18
+ export declare const LINKS_TO_EACH = 6;
19
+ /**
20
+ * The lines a chosen record draws. `drawn(id)` answers whether the map draws
21
+ * that record on its own (a building or a chip); a record it does not is
22
+ * reached through its district. A relation reaching more than
23
+ * `LINKS_TO_EACH` records in one district is one line into the district,
24
+ * whose count says how many — six rays into one village say that, and
25
+ * forty-six say nothing.
26
+ */
27
+ export declare function linksOfRecords(records: readonly string[], edges: Iterable<{
28
+ readonly kind: string;
29
+ readonly from: string;
30
+ readonly to: string;
31
+ }>, kindOf: (id: string) => string | undefined, drawn: (id: string) => boolean, schema: {
32
+ tryDefinition(kind: string): {
33
+ readonly edges?: unknown;
34
+ } | undefined;
35
+ }): LinkOfRecord[];
36
+ /**
37
+ * WHERE THE WORDS GO: each label at its line's far end, moved down past any
38
+ * label already placed there — a few labels at one district are a short
39
+ * column, not a pile. Boxes are in stage pixels.
40
+ */
41
+ export declare function placeLabels(labels: readonly {
42
+ readonly key: string;
43
+ readonly x: number;
44
+ readonly y: number;
45
+ readonly width: number;
46
+ readonly height: number;
47
+ }[],
48
+ /** What is already said where a label must not go: the districts' own names. */
49
+ taken?: readonly {
50
+ readonly x: number;
51
+ readonly y: number;
52
+ readonly width: number;
53
+ readonly height: number;
54
+ }[]): Map<string, {
55
+ x: number;
56
+ y: number;
57
+ }>;
58
+ //# sourceMappingURL=record-links.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-links.d.ts","sourceRoot":"","sources":["../src/record-links.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,2DAA2D;IAC3D,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IACjC,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+GAA+G;IAC/G,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,sGAAsG;IACtG,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,UAAU,CAAC;IACtC,6DAA6D;IAC7D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,mGAAmG;AACnG,eAAO,MAAM,aAAa,IAAI,CAAC;AAE/B;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,QAAQ,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EACtF,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,EAC1C,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,EAC9B,MAAM,EAAE;IAAE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;QAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,SAAS,CAAA;CAAE,GAChF,YAAY,EAAE,CAgChB;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE;AACpI,gFAAgF;AAChF,KAAK,GAAE,SAAS;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAAO,GACjH,GAAG,CAAC,MAAM,EAAE;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAYvC"}
@@ -0,0 +1,72 @@
1
+ import { edgeWords } from "@graview/core/words";
2
+ /** The most lines into one district for one relation before they are said as one, with a count. */
3
+ export const LINKS_TO_EACH = 6;
4
+ /**
5
+ * The lines a chosen record draws. `drawn(id)` answers whether the map draws
6
+ * that record on its own (a building or a chip); a record it does not is
7
+ * reached through its district. A relation reaching more than
8
+ * `LINKS_TO_EACH` records in one district is one line into the district,
9
+ * whose count says how many — six rays into one village say that, and
10
+ * forty-six say nothing.
11
+ */
12
+ export function linksOfRecords(records, edges, kindOf, drawn, schema) {
13
+ const chosen = new Set(records);
14
+ const groups = new Map();
15
+ for (const edge of edges) {
16
+ for (const [self, other, direction] of [
17
+ [edge.from, edge.to, "out"],
18
+ [edge.to, edge.from, "in"],
19
+ ]) {
20
+ if (!chosen.has(self) || chosen.has(other))
21
+ continue;
22
+ const kind = kindOf(other);
23
+ if (kind === undefined)
24
+ continue;
25
+ const key = `${self}|${edge.kind}|${direction}|${kind}`;
26
+ const held = groups.get(key);
27
+ if (held) {
28
+ if (!held.others.includes(other))
29
+ held.others.push(other);
30
+ }
31
+ else
32
+ groups.set(key, { self, edge: edge.kind, direction, kind, others: [other] });
33
+ }
34
+ }
35
+ const out = [];
36
+ for (const group of groups.values()) {
37
+ const selfKind = kindOf(group.self) ?? "";
38
+ const words = edgeWords(schema, group.direction === "out" ? selfKind : group.kind, group.edge, group.direction);
39
+ const own = group.others.filter(drawn);
40
+ const rest = group.others.filter((id) => !drawn(id));
41
+ if (group.others.length > LINKS_TO_EACH) {
42
+ out.push({ ...group, others: group.others, lands: "district", words });
43
+ continue;
44
+ }
45
+ for (const other of own)
46
+ out.push({ ...group, others: [other], lands: "record", words });
47
+ if (rest.length > 0)
48
+ out.push({ ...group, others: rest, lands: "district", words });
49
+ }
50
+ return out;
51
+ }
52
+ /**
53
+ * WHERE THE WORDS GO: each label at its line's far end, moved down past any
54
+ * label already placed there — a few labels at one district are a short
55
+ * column, not a pile. Boxes are in stage pixels.
56
+ */
57
+ export function placeLabels(labels,
58
+ /** What is already said where a label must not go: the districts' own names. */
59
+ taken = []) {
60
+ const placed = [...taken];
61
+ const at = new Map();
62
+ const clash = (box) => placed.some((other) => box.x < other.x + other.width && other.x < box.x + box.width && box.y < other.y + other.height && other.y < box.y + box.height);
63
+ for (const label of [...labels].sort((a, b) => a.y - b.y || a.x - b.x)) {
64
+ const box = { x: label.x - label.width / 2, y: label.y - label.height, width: label.width, height: label.height };
65
+ for (let tries = 0; tries < 12 && clash(box); tries++)
66
+ box.y += label.height + 2;
67
+ placed.push(box);
68
+ at.set(label.key, { x: box.x, y: box.y });
69
+ }
70
+ return at;
71
+ }
72
+ //# sourceMappingURL=record-links.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-links.js","sourceRoot":"","sources":["../src/record-links.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAiChD,mGAAmG;AACnG,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAE/B;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,OAA0B,EAC1B,KAAsF,EACtF,MAA0C,EAC1C,KAA8B,EAC9B,MAAiF;IAEjF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmG,CAAC;IAC1H,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,IAAI;YACrC,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC;YAC3B,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;SAClB,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YACrD,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YAC3B,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAS;YACjC,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC7B,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;oBAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5D,CAAC;;gBAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtF,CAAC;IACH,CAAC;IACD,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAChH,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;QACrD,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,EAAE,CAAC;YACxC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,SAAS;QACX,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,GAAG;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IACtF,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CACzB,MAAoI;AACpI,gFAAgF;AAChF,QAAgH,EAAE;IAElH,MAAM,MAAM,GAA8D,CAAC,GAAG,KAAK,CAAC,CAAC;IACrF,MAAM,EAAE,GAAG,IAAI,GAAG,EAAoC,CAAC;IACvD,MAAM,KAAK,GAAG,CAAC,GAA4D,EAAE,EAAE,CAC7E,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IACzJ,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvE,MAAM,GAAG,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;QAClH,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE;YAAE,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACjF,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-view.d.ts","sourceRoot":"","sources":["../src/resolved-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAGvG,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAA8D,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIzG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,+BAmGjE;AAoDD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAKnB,OAAO,YAAY,CAAC;AAEzB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,EAChD,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,+BAqInB;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK;wBAC+B,MAAM;oBAAkB,OAAO;mBAAiB,MAAM,SAAS;EAI/G,CAAC;AA0BF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;mBAAqD,SAAS;EAoDjF,CAAC"}
1
+ {"version":3,"file":"resolved-view.d.ts","sourceRoot":"","sources":["../src/resolved-view.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAqB,MAAM,eAAe,CAAC;AAGvG,OAAO,EAAyB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,OAAO,EAA8D,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAIzG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,+BAmGjE;AAoDD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW,EAKnB,OAAO,YAAY,CAAC;AAEzB;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,SAAS,EAAE,EAChD,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,QAAQ,GACT,EAAE,iBAAiB,+BAyInB;AAED;;;;GAIG;AACH,eAAO,MAAM,KAAK;wBAC+B,MAAM;oBAAkB,OAAO;mBAAiB,MAAM,SAAS;EAI/G,CAAC;AA0BF;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ;mBAAqD,SAAS;EAoDjF,CAAC"}
@@ -224,6 +224,8 @@ export function ResolvedView({ node, mode, selected, fidelity, }) {
224
224
  ...(node.opened ? { opened: true } : {}),
225
225
  ...(node.openedRows !== undefined ? { openedRows: node.openedRows } : {}),
226
226
  ...(node.plot ? { plot: node.plot } : {}),
227
+ ...(node.nameplate ? { nameplate: node.nameplate } : {}),
228
+ ...(node.states ? { states: node.states } : {}),
227
229
  ...(node.aggregate?.retired ? { retired: node.aggregate.retired } : {}),
228
230
  ...(node.rank ? { rank: node.rank } : {}),
229
231
  ...(node.nestedUnder ? { nestedUnder: node.nestedUnder } : {}),
@@ -260,6 +262,8 @@ export function ResolvedView({ node, mode, selected, fidelity, }) {
260
262
  node.rank ?? "",
261
263
  node.nestedUnder ?? "",
262
264
  node.plot ? `${node.plot.col},${node.plot.row},${node.plot.side}` : "",
265
+ node.nameplate ?? "",
266
+ node.states ? node.states.values.map((one) => one.count).join(",") : "",
263
267
  node.aggregate ? idsKey(node.aggregate.memberIds) : "",
264
268
  node.aggregate?.retired ?? "",
265
269
  // Hashed once per set, as the members are: a search lights hundreds, and joining them was every host's every render.
@@ -1 +1 @@
1
- {"version":3,"file":"resolved-view.js","sourceRoot":"","sources":["../src/resolved-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolved-view.js","sourceRoot":"","sources":["../src/resolved-view.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /** The thinnest and widest a ribbon is drawn, in pixels. */
2
+ export declare const RIBBON_WIDTH: {
3
+ readonly min: 2;
4
+ readonly max: 9;
5
+ };
6
+ /** A ribbon's width: its share of the busiest relation's links, between the thinnest and the widest. */
7
+ export declare function ribbonWidth(links: number, most: number): number;
8
+ //# sourceMappingURL=ribbon-width.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ribbon-width.d.ts","sourceRoot":"","sources":["../src/ribbon-width.ts"],"names":[],"mappings":"AAOA,4DAA4D;AAC5D,eAAO,MAAM,YAAY;;;CAA8B,CAAC;AAExD,wGAAwG;AACxG,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG/D"}
@@ -0,0 +1,15 @@
1
+ /*
2
+ * HOW WIDE A RIBBON IS: the one figure the map and its Key both draw a
3
+ * relation with, so the Key's swatch is the ribbon's own width. Its own
4
+ * module, because the Key is drawn on the pages too and carries nothing of
5
+ * the map's.
6
+ */
7
+ /** The thinnest and widest a ribbon is drawn, in pixels. */
8
+ export const RIBBON_WIDTH = { min: 2, max: 9 };
9
+ /** A ribbon's width: its share of the busiest relation's links, between the thinnest and the widest. */
10
+ export function ribbonWidth(links, most) {
11
+ if (most <= 0)
12
+ return RIBBON_WIDTH.min;
13
+ return RIBBON_WIDTH.min + (RIBBON_WIDTH.max - RIBBON_WIDTH.min) * Math.min(1, links / most);
14
+ }
15
+ //# sourceMappingURL=ribbon-width.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ribbon-width.js","sourceRoot":"","sources":["../src/ribbon-width.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,4DAA4D;AAC5D,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAW,CAAC;AAExD,wGAAwG;AACxG,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,IAAY;IACrD,IAAI,IAAI,IAAI,CAAC;QAAE,OAAO,YAAY,CAAC,GAAG,CAAC;IACvC,OAAO,YAAY,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;AAC9F,CAAC"}
@@ -0,0 +1,56 @@
1
+ import type { AnySchema } from "@graview/core";
2
+ import type { InterpolatedLayout } from "@graview/layout";
3
+ import { type ReactElement } from "react";
4
+ import { type Point } from "./ribbons.js";
5
+ import "./provider.js";
6
+ /**
7
+ * THE RELATIONS FROM ALTITUDE: one ribbon per relation between two
8
+ * districts, as wide as the links along it, the short way along the
9
+ * ground between them so it never crosses a third district (`routeOnTheGround`)
10
+ * — and saying what it is when
11
+ * pointed at: "146 features → 14 areas, the part it lives in".
12
+ *
13
+ * At rest every ribbon is drawn and no record has a line of its own. With a
14
+ * district chosen only its relations stay. With a record chosen none do:
15
+ * the record's own links are drawn instead (`RecordLinks`), and a ribbon
16
+ * under them would say the same thing twice in two manners.
17
+ *
18
+ * Drawn at origin zero and moved by one translate, as the ground is, so a
19
+ * pan moves it with the plots it runs between.
20
+ */
21
+ export interface RibbonsProps {
22
+ readonly frame: InterpolatedLayout;
23
+ readonly width: number;
24
+ readonly height: number;
25
+ readonly pan: Point;
26
+ readonly store: {
27
+ readonly schema: AnySchema;
28
+ readonly graph: {
29
+ allEdges(): Iterable<{
30
+ readonly kind: string;
31
+ readonly from: string;
32
+ readonly to: string;
33
+ }>;
34
+ getNode(id: string): {
35
+ readonly kind: string;
36
+ } | undefined;
37
+ };
38
+ };
39
+ /** The graph's version: the relations are counted again when it changes. */
40
+ readonly graphVersion: unknown;
41
+ readonly selection: readonly string[];
42
+ readonly view: {
43
+ readonly overview?: boolean | undefined;
44
+ readonly focusId: string | null;
45
+ readonly beside?: boolean;
46
+ };
47
+ /** A relation the Key or the panel is asking about. */
48
+ readonly emphasis: string | null;
49
+ readonly hiddenKinds: ReadonlySet<string>;
50
+ /** Whether the kit draws a relation at all: one it keeps quiet has no ribbon. */
51
+ readonly drawn: (edge: string) => boolean;
52
+ }
53
+ export declare function Ribbons({ frame, width, height, pan, store, graphVersion: nodes, selection, view, emphasis, hiddenKinds, drawn: kitDraws }: RibbonsProps): ReactElement | null;
54
+ /** How far a point is from a polyline, in the same coordinates. */
55
+ export declare function distanceTo(points: readonly Point[], x: number, y: number): number;
56
+ //# sourceMappingURL=ribbons-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ribbons-layer.d.ts","sourceRoot":"","sources":["../src/ribbons-layer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC1D,OAAO,EAAyD,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAGjG,OAAO,EAAuF,KAAK,KAAK,EAAE,MAAM,cAAc,CAAC;AAC/H,OAAO,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,kBAAkB,CAAC;IACnC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC;IAMpB,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE;YAAE,QAAQ,IAAI,QAAQ,CAAC;gBAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;gBAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;aAAE,CAAC,CAAC;YAAC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG;gBAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;aAAE,GAAG,SAAS,CAAA;SAAE,CAAA;KAAE,CAAC;IAC5N,4EAA4E;IAC5E,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACvH,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,iFAAiF;IACjF,QAAQ,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC3C;AAED,wBAAgB,OAAO,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,YAAY,GAAG,YAAY,GAAG,IAAI,CAsK7K;AAGD,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAYjF"}