{
  "project": "THE ALTITUDE ATLAS",
  "client": "lit-ui-router · simshanith",
  "total": 14,
  "date": "2026-10-30",
  "base": "/",
  "generatedBy": "www/atlas.lit-ui-router.dev/generator/emit-app.mjs",
  "cover": {
    "css": ".stat-bar { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1px; border: 1.5px solid var(--ink); margin-block: 22px 26px; margin-inline: 0; background: var(--ink); }\n/* two ruled rows on a six-column field: the three one-line facts across the top\n   at a third each, the two roster paragraphs at a half each below — nothing\n   wraps to a row of its own and no cell is left half-empty */\n.stat-bar > div { padding-block: 8px 10px; padding-inline: 16px; background: var(--paper-2); grid-column: span 2; }\n.stat-bar > div:nth-child(n+4) { grid-column: span 3; }\n@media (max-width: 760px) { .stat-bar { grid-template-columns: 1fr; } .stat-bar > div, .stat-bar > div:nth-child(n+4) { grid-column: auto; } }\n.stat-bar .k { display: block; font-family: var(--data); font-size: 9.5px; letter-spacing: 0.16em; color: var(--ink-soft); margin-block-end: 3px; }\n.stat-bar .v { font-family: var(--data); font-size: 14.5px; font-variant-numeric: tabular-nums; letter-spacing: 0.04em; }\n.survey { border: 1.5px solid var(--ink); margin-block: 0 26px; margin-inline: 0; background: var(--paper); }\n.survey h2 { font-family: var(--data); font-weight: 600; font-size: 10.5px; letter-spacing: 0.2em; color: var(--ink-soft);\n  padding-block: 8px 7px; padding-inline: 14px; border-block-end: 1.5px solid var(--ink); background: var(--paper-2); }\n.survey-tot { display: flex; flex-wrap: wrap; gap: 0; border-block-end: 1.5px solid var(--ink); }\n.survey-tot > div { padding-block: 9px 11px; padding-inline: 14px; border-inline-end: 1px solid var(--line); flex: 1 1 auto; }\n.survey-tot > div:last-child { border-inline-end: none; }\n.survey-tot .k { display: block; font-family: var(--data); font-size: 9.5px; letter-spacing: 0.16em;\n  color: var(--ink-soft); margin-block-end: 3px; }\n.survey-tot .v { font-family: var(--data); font-size: 17.5px; font-variant-numeric: tabular-nums;\n  letter-spacing: 0.03em; }\n.survey-tot > div:first-child .v { color: var(--accent); }\n.lang { width: 100%; border-collapse: collapse; }\n.lang th { font-family: var(--data); font-size: 9.5px; letter-spacing: 0.16em; color: var(--ink-soft);\n  text-align: end; padding-block: 7px 6px; padding-inline: 14px; border-block-end: 1px solid var(--line); }\n.lang th:first-child { text-align: start; }\n.lang .vh { position: absolute; width: 1px; height: 1px; overflow: clip; clip-path: inset(50%); white-space: nowrap; }\n.lang td { font-family: var(--data); font-size: 12px; letter-spacing: 0.03em; padding: 5px 14px;\n  border-block-end: 1px solid var(--line); text-align: end; font-variant-numeric: tabular-nums; }\n.lang td:first-child { text-align: start; letter-spacing: 0.08em; }\n.lang .bar { width: 40%; padding-inline-end: 0; }\n.lang .bar span { display: block; height: 7px; background: var(--accent); }\n.lang tr:last-child td { border-block-end: none; }\n.survey .basis { font-family: var(--data); font-size: 10px; letter-spacing: 0.06em; color: var(--ink-faint);\n  padding-block: 8px 9px; padding-inline: 14px; border-block-start: 1.5px solid var(--ink); background: var(--paper-2); }\n.gal-body p { font-family: var(--prose); font-size: 16px; max-width: 72ch; margin-block-end: 11px; }\n.provenance, .prose p.provenance { font-family: var(--prose); font-size: 13.5px;\n  line-height: 1.5; color: var(--ink-soft); max-width: 68ch; margin-block: 0 40px; margin-inline: 0; padding: 0 4px; }",
    "statBar": "<div class=\"stat-bar\" role=\"group\" aria-label=\"set statistics\">\n    <div><span class=\"k\">REPOSITORY</span><span class=\"v\">lit-ui-router · simshanith</span></div>\n    <div><span class=\"k\">INSTRUMENTS (tools/*)</span><span class=\"v\">27</span></div>\n    <div><span class=\"k\">LATEST SHIPPED</span><span class=\"v\">1.19.0 · 2026-10-30</span></div>\n    <div><span class=\"k\">PUBLISHABLE PACKAGES</span><span class=\"v\">12 · eslint-plugin-lit-ui-router 1.3.0 · lit-ui-router 1.19.0 · lit-ui-router-effect 0.6.0 · lit-ui-router-mobx 1.4.0 · lit-ui-router-signals 0.3.0 · lit-ui-router-ssr 0.7.0 · ui-router-navigation-location-plugin 1.2.0 · ui-router-effect 0.2.0 · ui-router-mobx 0.2.0 · ui-router-registry 0.3.0 · ui-router-server 0.7.1 · ui-router-signals 0.2.0</span></div>\n    <div><span class=\"k\">SHEETS</span><span class=\"v\">14 altitudes · 26 plates · 7 in the appendix · whole plate cabinet counted at origin/main @ 3f55e419</span></div>\n  </div>",
    "survey": "<section class=\"survey\" aria-label=\"general survey of the repository\">\n  <h2>GENERAL SURVEY — THE WHOLE TRACKED REPOSITORY, AS SHIPPED ON MAIN</h2>\n  <div class=\"survey-tot\">\n    <div><span class=\"k\">SLOC (CODE)</span><span class=\"v\">122,550</span></div>\n    <div><span class=\"k\">FILES COUNTED</span><span class=\"v\">1,303</span></div>\n    <div><span class=\"k\">LINES</span><span class=\"v\">161,072</span></div>\n    <div><span class=\"k\">BLANKS</span><span class=\"v\">21,998</span></div>\n    <div><span class=\"k\">COMMENTS</span><span class=\"v\">16,524</span></div>\n  </div>\n  <table class=\"lang\">\n    <thead><tr><th>LANGUAGE</th><th>FILES</th><th>SLOC</th><th class=\"bar\"><span class=\"vh\">SLOC, AS A BAR</span></th></tr></thead>\n    <tbody><tr><td>TypeScript</td><td>783</td><td>91,931</td><td class=\"bar\"><span style=\"width:100.0%\"></span></td></tr><tr><td>Markdown</td><td>89</td><td>11,940</td><td class=\"bar\"><span style=\"width:13.0%\"></span></td></tr><tr><td>JSON</td><td>244</td><td>9,702</td><td class=\"bar\"><span style=\"width:10.6%\"></span></td></tr><tr><td>YAML</td><td>20</td><td>1,792</td><td class=\"bar\"><span style=\"width:1.9%\"></span></td></tr><tr><td>JavaScript</td><td>35</td><td>1,381</td><td class=\"bar\"><span style=\"width:1.5%\"></span></td></tr><tr><td>Vue</td><td>8</td><td>1,245</td><td class=\"bar\"><span style=\"width:1.4%\"></span></td></tr><tr><td>SVG</td><td>35</td><td>972</td><td class=\"bar\"><span style=\"width:1.1%\"></span></td></tr><tr><td>HTML</td><td>21</td><td>868</td><td class=\"bar\"><span style=\"width:0.9%\"></span></td></tr><tr><td>CSS</td><td>3</td><td>696</td><td class=\"bar\"><span style=\"width:0.8%\"></span></td></tr><tr><td>Patch</td><td>11</td><td>645</td><td class=\"bar\"><span style=\"width:0.7%\"></span></td></tr><tr><td>BASH</td><td>15</td><td>431</td><td class=\"bar\"><span style=\"width:0.5%\"></span></td></tr><tr><td>TOML</td><td>7</td><td>393</td><td class=\"bar\"><span style=\"width:0.4%\"></span></td></tr><tr><td>TypeScript Typings</td><td>23</td><td>214</td><td class=\"bar\"><span style=\"width:0.2%\"></span></td></tr><tr><td>JSONC</td><td>4</td><td>194</td><td class=\"bar\"><span style=\"width:0.2%\"></span></td></tr><tr><td>SQL</td><td>2</td><td>135</td><td class=\"bar\"><span style=\"width:0.1%\"></span></td></tr><tr><td>License</td><td>1</td><td>5</td><td class=\"bar\"><span style=\"width:0.0%\"></span></td></tr><tr><td>Plain Text</td><td>1</td><td>4</td><td class=\"bar\"><span style=\"width:0.0%\"></span></td></tr><tr><td>Shell</td><td>1</td><td>2</td><td class=\"bar\"><span style=\"width:0.0%\"></span></td></tr></tbody>\n  </table>\n  <p class=\"basis\">BASIS — every tracked file on origin/main @ 3f55e419 (1,353 paths, 1,303 of them a language scc can name; the other 50 are binaries, dotfiles, and lockfiles — generated, and rightly left out) · scc 4.0.0 <code>Code</code> basis · counted 2026-10-31 · every number above imported from <code>www/<wbr>atlas.lit-ui-router.dev/<wbr>data/<wbr>census-files.json</code> · deliberately broader than the sheets' authored-source census, and deliberately main: this atlas's own branch would add a 29k-sloc self-portrait.</p>\n</section>",
    "prose": "<div class=\"gal-body\">\n    <p>The source image — an isometric block city over a strategy-breeding harness — works because of three quiet decisions, and only one of them is the city: it maps <em>roles in a mechanism</em> rather than files; it spends its one visual scalar (height) on a true quantity; and it keeps a CONDITION field that says what is currently wrong. This set keeps those three decisions and lets everything else change with altitude.</p>\n    <p>The result is an argument about form: a loop where there is a genuine cycle (sheet 1), panels where packages are too small to be cities (sheet 2), the full city where the measurement thesis is actually true (sheet 3), a massed spine where the family shares one core but the limbs never touch (sheet 4), a chart where edges would be fiction (sheet 5), and mostly prose where only a definition survives (sheet 6). Fitness peaks in the middle altitudes and collapses at both ends.</p>\n    <p>Above the sixth altitude the set stops arguing about form and starts measuring. Sheets 7–10 are a survey quartet, each counting the same subject at a different boundary: what the repository holds (the monorepo by mass), what npm delivers (the sample app's <code>node_modules</code>, 279× the app it serves), what the browser downloads (the docs deploy on the wire, where the prerendered prose tops the skyline and the lettering alone outweighs every routed app the site demonstrates), and who occupies the bytes after tree-shaking (the machine the router wraps is 21.0% of the bundle; the router itself, 6.4%). Sheet 11 cuts the same wire the other way, pricing 12 package quarters and 35 doors one at a time. Sheet 12 leaves the wire and draws the monorepo as its own CI reads it, the pull-request task graph punched onto a register plate. Sheet 13 ages the city by commit date, and sheet 14 draws it among the commons it builds on: the pull requests, issues and bug reports in other projects that its own record cites, sent or watched, and the home work that cites them. Sheet 1A brings sheet 1's document down to one page at reading size: the sample app's contacts view, measured in a browser and dimensioned the way a component drawing is. Interactive lanes (1i, 2B and 12i) walk the plates they sit beside, and the routed set stands sheets 2, 2C and 7 in the round. The appendix files plates whose subject is the atlas rather than the codebase: the sprite study behind the building sprites (appendix A1), and the survey office that turns the instrument on itself (appendix A2) — the census pipeline behind almost every number here, drawn as archive → probe stations → filed plates → drawings, introspected from the generator at build time, and walked live in its lane A2i. Appendix A3 turns sheet 7's ruler on the atlas itself: its drawing office, survey office, routed site and site build, massed beside the codebase they draw. Appendix A4 turns sheet 9's ruler on the atlas's own deploy: what the browser downloads from atlas.lit-ui-router.dev, district by district, beside the docs deploy summed by role. Appendix A5 draws the sheet every plate is set in as a dimensional drawing: its frame, head, plate, schedule, caption, notes and title block, measured in the built app and lettered in codes. Appendix A6 draws the atlas's own drawing rules broken, each incorrect use crossed beside its correct form at one scale and tied to the guard that catches it, or to none.</p>\n  </div>",
    "provenance": "<p class=\"provenance\">SOURCES — module inventory & manifests read from the repo at <a href=\"https://github.com/simshanith/lit-ui-router/tree/www/atlas\" target=\"_blank\" rel=\"noopener\">branch www/atlas</a> · npm dates from <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/data/census-npm.json\" target=\"_blank\" rel=\"noopener\">www/atlas.lit-ui-router.dev/data/census-npm.json</a>, which prints its own registry-read date on sheet 4 · every plate in <a href=\"https://github.com/simshanith/lit-ui-router/tree/www/atlas/www/atlas.lit-ui-router.dev/data\" target=\"_blank\" rel=\"noopener\">www/atlas.lit-ui-router.dev/data/</a> counted at origin/main @ 3f55e419 in one pass — plate 7A's test light included, metered at that ref by <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/generator/census-shadow.mjs\" target=\"_blank\" rel=\"noopener\">www/atlas.lit-ui-router.dev/generator/census-shadow.mjs</a> · cover general survey = origin/main @ 3f55e419, counted 2026-10-31, imported from <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/data/census-files.json\" target=\"_blank\" rel=\"noopener\">www/atlas.lit-ui-router.dev/data/census-files.json</a> · <a href=\"https://npmx.dev/package/eslint-plugin-lit-ui-router\" target=\"_blank\" rel=\"noopener\">eslint-plugin-lit-ui-router</a> is counted on every plate and drawn or scheduled on sheets 2, 4, 7, 7A, 7B, 11, 12 and 13 · sheet 5 positions are editorial. FILES — <a href=\"https://github.com/simshanith/lit-ui-router/tree/www/atlas/www/atlas.lit-ui-router.dev/app\" target=\"_blank\" rel=\"noopener\">www/atlas.lit-ui-router.dev/app/</a> files every plate, routed as one <a href=\"https://npmx.dev/package/lit-ui-router\" target=\"_blank\" rel=\"noopener\">lit-ui-router</a> app. DRAWN BY FABLE (<a href=\"https://www.anthropic.com/claude\" target=\"_blank\" rel=\"noopener\">CLAUDE</a>, AI) FOR <a href=\"https://github.com/simshanith\" target=\"_blank\" rel=\"noopener\">SHANE DANIEL</a>.</p>",
    "thesis": "Riffs on an isometric codebase-visualization form seen in the wild; the notes on each sheet argue where that form fits and where it lies.",
    "notes": "Plates written by <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/generator/build.mjs\" target=\"_blank\" rel=\"noopener\"><code>node generator/<wbr>build.mjs .</code></a> from this directory: one chrome-less fragment per sheet and a manifest for <a href=\"https://github.com/simshanith/lit-ui-router/tree/www/atlas/www/atlas.lit-ui-router.dev/app\" target=\"_blank\" rel=\"noopener\"><code>app/<wbr></code></a>, the drawing set as a prerendered <a href=\"https://npmx.dev/package/lit-ui-router\" target=\"_blank\" rel=\"noopener\">lit-ui-router</a> app, the glTF binaries of its four plates in the round (<code>city</code>, <code>plant</code>, <code>bricks</code>, <code>builds</code>), drawn in Google's <a href=\"https://modelviewer.dev/\" target=\"_blank\" rel=\"noopener\">model-viewer</a>. The frame audit and the card pictures read each sheet as a bare plate under <code>app/<wbr>dist/<wbr>plate/<wbr></code>, written by the prerender. The interactive lanes (1i, 2B, 12i and appendix A2i) bundle <a href=\"https://js.cytoscape.org/\" target=\"_blank\" rel=\"noopener\">cytoscape</a> 3.31.0. <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/generator/check-scenes.mjs\" target=\"_blank\" rel=\"noopener\"><code>generator/<wbr>check-scenes.mjs</code></a> checks the models and drives the built app's 3D plates in headless <a href=\"https://www.chromium.org/Home/\" target=\"_blank\" rel=\"noopener\">Chromium</a>. The published site is the app alone: <code>/<wbr></code>, <code>/<wbr>sheet/<wbr>7</code>, <code>/<wbr>city</code>. Light theme is graphite-on-vellum; dark is cyanotype. Since 2026-09-06 every label on the plates draws in the data face (<a href=\"https://fonts.adobe.com/fonts/din-2014\" target=\"_blank\" rel=\"noopener\">DIN 2014</a>, <a href=\"https://fonts.adobe.com/fonts/barlow-semi-condensed\" target=\"_blank\" rel=\"noopener\">Barlow Semi Condensed</a> off the kit) rather than the system monospace; mono is reserved for code. Generated 2026-08-16 by Fable (<a href=\"https://www.anthropic.com/claude\" target=\"_blank\" rel=\"noopener\">Claude</a>, AI). Every plate in <a href=\"https://github.com/simshanith/lit-ui-router/tree/www/atlas/www/atlas.lit-ui-router.dev/data\" target=\"_blank\" rel=\"noopener\"><code>data/<wbr></code></a> — versions, dates and all — was re-counted at origin/main @ 3f55e419 in one pass, plate 7A's test light included: <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/generator/census-shadow.mjs\" target=\"_blank\" rel=\"noopener\"><code>generator/<wbr>census-shadow.mjs</code></a> re-meters it at the same ref. The cover's general survey — every tracked file on the <a href=\"https://github.com/boyter/scc\" target=\"_blank\" rel=\"noopener\">scc</a> 4.0.0 <code>Code</code> basis, origin/main @ 3f55e419 — is imported from <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/data/census-files.json\" target=\"_blank\" rel=\"noopener\"><code>data/<wbr>census-files.json</code></a>, the master snapshot <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/generator/census-scc.mjs\" target=\"_blank\" rel=\"noopener\"><code>generator/<wbr>census-scc.mjs</code></a> writes; <a href=\"https://github.com/simshanith/lit-ui-router/blob/www/atlas/www/atlas.lit-ui-router.dev/generator/census-overview.mjs\" target=\"_blank\" rel=\"noopener\"><code>generator/<wbr>census-overview.mjs</code></a> prints the same rollup on the terminal.",
    "hero": "<svg style=\"--plate-ar:1.5882\" viewBox=\"-16 -3 1342 845\" role=\"img\" aria-label=\"Sheet 7's census city, massed from the same census as the plate: 52 members in four dashed districts, footprint by source lines, height by authored files, gate severity in colour.\">\n<defs>\n  <marker id=\"s7-ai\" viewBox=\"0 0 10 8\" refX=\"9\" refY=\"4\" markerWidth=\"9\" markerHeight=\"7\" orient=\"auto-start-reverse\">\n    <path d=\"M0,0 L10,4 L0,8 z\" class=\"fi\"/>\n  </marker>\n  <marker id=\"s7-aa\" viewBox=\"0 0 10 8\" refX=\"9\" refY=\"4\" markerWidth=\"9\" markerHeight=\"7\" orient=\"auto-start-reverse\">\n    <path d=\"M0,0 L10,4 L0,8 z\" class=\"fa\"/>\n  </marker>\n  <marker id=\"s7-ar\" viewBox=\"0 0 10 8\" refX=\"9\" refY=\"4\" markerWidth=\"9\" markerHeight=\"7\" orient=\"auto-start-reverse\">\n    <path d=\"M0,0 L10,4 L0,8 z\" class=\"fr\"/>\n  </marker>\n  <marker id=\"s7-as\" viewBox=\"0 0 10 8\" refX=\"9\" refY=\"4\" markerWidth=\"9\" markerHeight=\"7\" orient=\"auto-start-reverse\">\n    <path d=\"M0,0 L10,4 L0,8 z\" class=\"fis\"/>\n  </marker>\n  <pattern id=\"s7-hx\" width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\">\n    <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"6\" class=\"skf\"/>\n  </pattern>\n  <pattern id=\"s7-hd\" width=\"5\" height=\"5\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\">\n    <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"5\" stroke=\"var(--ink-soft)\" stroke-width=\"1\"/>\n  </pattern>\n  <pattern id=\"s7-hr\" width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(-45)\">\n    <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"6\" stroke=\"var(--red-hatch)\" stroke-width=\"1\" opacity=\"0.55\"/>\n  </pattern>\n  <pattern id=\"s7-ha\" width=\"6\" height=\"6\" patternUnits=\"userSpaceOnUse\" patternTransform=\"rotate(45)\">\n    <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"6\" stroke=\"var(--accent)\" stroke-width=\"1\" opacity=\"0.5\"/>\n  </pattern>\n</defs>\n<polygon points=\"610.1,74.2 1102.4,358.4 806.6,529.2 314.3,244.9\" class=\"skf fnone\" stroke-dasharray=\"5 4\"/>\n<polygon points=\"1102.3,380.0 1292.8,490.0 1109.2,596.0 918.7,486.0\" class=\"skf fnone\" stroke-dasharray=\"5 4\"/>\n<polygon points=\"982.5,539.2 1165.1,644.6 882.2,808.0 699.5,702.5\" class=\"skf fnone\" stroke-dasharray=\"5 4\"/>\n<polygon points=\"300.3,253.0 870.1,582.0 588.2,744.7 18.4,415.8\" class=\"skf fnone\" stroke-dasharray=\"5 4\"/>\n<g>\n<polygon points=\"503.5,76.7 582.7,122.4 582.7,197.4 503.5,151.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"503.5,76.7 582.7,122.4 582.7,197.4 503.5,151.7\" class=\"sk fnone\"/>\n<polygon points=\"661.8,76.7 582.7,122.4 582.7,197.4 661.8,151.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"661.8,76.7 582.7,122.4 582.7,197.4 661.8,151.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"661.8,76.7 582.7,122.4 582.7,197.4 661.8,151.7\" class=\"sk fnone\"/>\n<polygon points=\"582.7,31.0 661.8,76.7 582.7,122.4 503.5,76.7\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"420.7,217.5 444.1,231.0 444.1,243.0 420.7,229.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"420.7,217.5 444.1,231.0 444.1,243.0 420.7,229.5\" class=\"sk fnone\"/>\n<polygon points=\"467.5,217.5 444.1,231.0 444.1,243.0 467.5,229.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"467.5,217.5 444.1,231.0 444.1,243.0 467.5,229.5\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"467.5,217.5 444.1,231.0 444.1,243.0 467.5,229.5\" class=\"sk fnone\"/>\n<polygon points=\"444.1,204.0 467.5,217.5 444.1,231.0 420.7,217.5\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"563.9,119.2 697.9,196.6 697.9,295.6 563.9,218.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"563.9,119.2 697.9,196.6 697.9,295.6 563.9,218.2\" class=\"sks fnone\"/>\n<polygon points=\"831.9,119.2 697.9,196.6 697.9,295.6 831.9,218.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"831.9,119.2 697.9,196.6 697.9,295.6 831.9,218.2\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"831.9,119.2 697.9,196.6 697.9,295.6 831.9,218.2\" class=\"sks fnone\"/>\n<polygon points=\"697.9,41.9 831.9,119.2 697.9,196.6 563.9,119.2\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"598.1,252.1 614.7,261.7 614.7,276.7 598.1,267.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"598.1,252.1 614.7,261.7 614.7,276.7 598.1,267.1\" class=\"sk fnone\"/>\n<polygon points=\"631.3,252.1 614.7,261.7 614.7,276.7 631.3,267.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"631.3,252.1 614.7,261.7 614.7,276.7 631.3,267.1\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"631.3,252.1 614.7,261.7 614.7,276.7 631.3,267.1\" class=\"sk fnone\"/>\n<polygon points=\"614.7,242.5 631.3,252.1 614.7,261.7 598.1,252.1\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"441.6,239.5 487.4,265.9 487.4,280.9 441.6,254.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"441.6,239.5 487.4,265.9 487.4,280.9 441.6,254.5\" class=\"sks fnone\"/>\n<polygon points=\"533.2,239.5 487.4,265.9 487.4,280.9 533.2,254.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"533.2,239.5 487.4,265.9 487.4,280.9 533.2,254.5\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"533.2,239.5 487.4,265.9 487.4,280.9 533.2,254.5\" class=\"sks fnone\"/>\n<polygon points=\"487.4,213.0 533.2,239.5 487.4,265.9 441.6,239.5\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"615.0,274.5 648.4,293.8 648.4,305.8 615.0,286.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"615.0,274.5 648.4,293.8 648.4,305.8 615.0,286.5\" class=\"sks fnone\"/>\n<polygon points=\"681.7,274.5 648.4,293.8 648.4,305.8 681.7,286.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"681.7,274.5 648.4,293.8 648.4,305.8 681.7,286.5\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"681.7,274.5 648.4,293.8 648.4,305.8 681.7,286.5\" class=\"sks fnone\"/>\n<polygon points=\"648.4,255.3 681.7,274.5 648.4,293.8 615.0,274.5\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"269.4,267.9 303.8,287.8 303.8,314.8 269.4,294.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"269.4,267.9 303.8,287.8 303.8,314.8 269.4,294.9\" class=\"skr fnone\"/>\n<polygon points=\"338.3,267.9 303.8,287.8 303.8,314.8 338.3,294.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"338.3,267.9 303.8,287.8 303.8,314.8 338.3,294.9\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"338.3,267.9 303.8,287.8 303.8,314.8 338.3,294.9\" class=\"skr fnone\"/>\n<polygon points=\"303.8,248.0 338.3,267.9 303.8,287.8 269.4,267.9\" class=\"skr fp\"/>\n</g><polygon points=\"303.8,248.0 338.3,267.9 303.8,287.8 269.4,267.9\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"303.8,248.0 338.3,267.9 303.8,287.8 269.4,267.9\" class=\"skr fnone\"/>\n<g>\n<polygon points=\"333.3,300.0 343.7,306.0 343.7,310.0 333.3,304.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"333.3,300.0 343.7,306.0 343.7,310.0 333.3,304.0\" class=\"skf fnone\"/>\n<polygon points=\"354.1,300.0 343.7,306.0 343.7,310.0 354.1,304.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"354.1,300.0 343.7,306.0 343.7,310.0 354.1,304.0\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"354.1,300.0 343.7,306.0 343.7,310.0 354.1,304.0\" class=\"skf fnone\"/>\n<polygon points=\"343.7,294.0 354.1,300.0 343.7,306.0 333.3,300.0\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"729.3,215.4 805.2,259.2 805.2,322.2 729.3,278.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"729.3,215.4 805.2,259.2 805.2,322.2 729.3,278.4\" class=\"sk fnone\"/>\n<polygon points=\"881.2,215.4 805.2,259.2 805.2,322.2 881.2,278.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"881.2,215.4 805.2,259.2 805.2,322.2 881.2,278.4\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"881.2,215.4 805.2,259.2 805.2,322.2 881.2,278.4\" class=\"sk fnone\"/>\n<polygon points=\"805.2,171.5 881.2,215.4 805.2,259.2 729.3,215.4\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"692.3,296.7 712.6,308.4 712.6,314.4 692.3,302.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"692.3,296.7 712.6,308.4 712.6,314.4 692.3,302.7\" class=\"sk fnone\"/>\n<polygon points=\"732.8,296.7 712.6,308.4 712.6,314.4 732.8,302.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"732.8,296.7 712.6,308.4 712.6,314.4 732.8,302.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"732.8,296.7 712.6,308.4 712.6,314.4 732.8,302.7\" class=\"sk fnone\"/>\n<polygon points=\"712.6,285.0 732.8,296.7 712.6,308.4 692.3,296.7\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"503.3,257.8 556.7,288.7 556.7,342.7 503.3,311.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"503.3,257.8 556.7,288.7 556.7,342.7 503.3,311.8\" class=\"sk fnone\"/>\n<polygon points=\"610.1,257.8 556.7,288.7 556.7,342.7 610.1,311.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"610.1,257.8 556.7,288.7 556.7,342.7 610.1,311.8\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"610.1,257.8 556.7,288.7 556.7,342.7 610.1,311.8\" class=\"sk fnone\"/>\n<polygon points=\"556.7,227.0 610.1,257.8 556.7,288.7 503.3,257.8\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"344.0,316.8 370.5,332.1 370.5,344.1 344.0,328.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"344.0,316.8 370.5,332.1 370.5,344.1 344.0,328.8\" class=\"skr fnone\"/>\n<polygon points=\"397.0,316.8 370.5,332.1 370.5,344.1 397.0,328.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"397.0,316.8 370.5,332.1 370.5,344.1 397.0,328.8\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"397.0,316.8 370.5,332.1 370.5,344.1 397.0,328.8\" class=\"skr fnone\"/>\n<polygon points=\"370.5,301.5 397.0,316.8 370.5,332.1 344.0,316.8\" class=\"skr fp\"/>\n</g><polygon points=\"370.5,301.5 397.0,316.8 370.5,332.1 344.0,316.8\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"370.5,301.5 397.0,316.8 370.5,332.1 344.0,316.8\" class=\"skr fnone\"/>\n<g>\n<polygon points=\"708.8,305.6 754.0,331.7 754.0,352.7 708.8,326.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"708.8,305.6 754.0,331.7 754.0,352.7 708.8,326.6\" class=\"sks fnone\"/>\n<polygon points=\"799.2,305.6 754.0,331.7 754.0,352.7 799.2,326.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"799.2,305.6 754.0,331.7 754.0,352.7 799.2,326.6\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"799.2,305.6 754.0,331.7 754.0,352.7 799.2,326.6\" class=\"sks fnone\"/>\n<polygon points=\"754.0,279.5 799.2,305.6 754.0,331.7 708.8,305.6\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"379.7,342.8 405.1,357.5 405.1,363.5 379.7,348.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"379.7,342.8 405.1,357.5 405.1,363.5 379.7,348.8\" class=\"sks fnone\"/>\n<polygon points=\"430.5,342.8 405.1,357.5 405.1,363.5 430.5,348.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"430.5,342.8 405.1,357.5 405.1,363.5 430.5,348.8\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"430.5,342.8 405.1,357.5 405.1,363.5 430.5,348.8\" class=\"sks fnone\"/>\n<polygon points=\"405.1,328.1 430.5,342.8 405.1,357.5 379.7,342.8\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"427.7,352.5 438.1,358.5 438.1,364.5 427.7,358.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"427.7,352.5 438.1,358.5 438.1,364.5 427.7,358.5\" class=\"skr fnone\"/>\n<polygon points=\"448.4,352.5 438.1,358.5 438.1,364.5 448.4,358.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"448.4,352.5 438.1,358.5 438.1,364.5 448.4,358.5\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"448.4,352.5 438.1,358.5 438.1,364.5 448.4,358.5\" class=\"skr fnone\"/>\n<polygon points=\"438.1,346.5 448.4,352.5 438.1,358.5 427.7,352.5\" class=\"skr fp\"/>\n</g><polygon points=\"438.1,346.5 448.4,352.5 438.1,358.5 427.7,352.5\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"438.1,346.5 448.4,352.5 438.1,358.5 427.7,352.5\" class=\"skr fnone\"/>\n<g>\n<polygon points=\"446.6,365.6 457.2,371.7 457.2,375.7 446.6,369.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"446.6,365.6 457.2,371.7 457.2,375.7 446.6,369.6\" class=\"sks fnone\"/>\n<polygon points=\"467.9,365.6 457.2,371.7 457.2,375.7 467.9,369.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"467.9,365.6 457.2,371.7 457.2,375.7 467.9,369.6\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"467.9,365.6 457.2,371.7 457.2,375.7 467.9,369.6\" class=\"sks fnone\"/>\n<polygon points=\"457.2,359.4 467.9,365.6 457.2,371.7 446.6,365.6\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"466.6,377.0 477.0,383.0 477.0,387.0 466.6,381.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"466.6,377.0 477.0,383.0 477.0,387.0 466.6,381.0\" class=\"sks fnone\"/>\n<polygon points=\"487.4,377.0 477.0,383.0 477.0,387.0 487.4,381.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"487.4,377.0 477.0,383.0 477.0,387.0 487.4,381.0\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"487.4,377.0 477.0,383.0 477.0,387.0 487.4,381.0\" class=\"sks fnone\"/>\n<polygon points=\"477.0,371.0 487.4,377.0 477.0,383.0 466.6,377.0\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"403.4,383.5 413.8,389.5 413.8,395.5 403.4,389.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"403.4,383.5 413.8,389.5 413.8,395.5 403.4,389.5\" class=\"skf fnone\"/>\n<polygon points=\"424.2,383.5 413.8,389.5 413.8,395.5 424.2,389.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"424.2,383.5 413.8,389.5 413.8,395.5 424.2,389.5\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"424.2,383.5 413.8,389.5 413.8,395.5 424.2,389.5\" class=\"skf fnone\"/>\n<polygon points=\"413.8,377.5 424.2,383.5 413.8,389.5 403.4,383.5\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"794.5,260.4 909.3,326.7 909.3,404.7 794.5,338.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"794.5,260.4 909.3,326.7 909.3,404.7 794.5,338.4\" class=\"sks fnone\"/>\n<polygon points=\"1024.0,260.4 909.3,326.7 909.3,404.7 1024.0,338.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1024.0,260.4 909.3,326.7 909.3,404.7 1024.0,338.4\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1024.0,260.4 909.3,326.7 909.3,404.7 1024.0,338.4\" class=\"sks fnone\"/>\n<polygon points=\"909.3,194.2 1024.0,260.4 909.3,326.7 794.5,260.4\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"972.4,365.0 982.8,371.0 982.8,377.0 972.4,371.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"972.4,365.0 982.8,371.0 982.8,377.0 972.4,371.0\" class=\"sk fnone\"/>\n<polygon points=\"993.2,365.0 982.8,371.0 982.8,377.0 993.2,371.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"993.2,365.0 982.8,371.0 982.8,377.0 993.2,371.0\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"993.2,365.0 982.8,371.0 982.8,377.0 993.2,371.0\" class=\"sk fnone\"/>\n<polygon points=\"982.8,359.0 993.2,365.0 982.8,371.0 972.4,365.0\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"991.4,378.0 1001.8,384.0 1001.8,388.0 991.4,382.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"991.4,378.0 1001.8,384.0 1001.8,388.0 991.4,382.0\" class=\"sks fnone\"/>\n<polygon points=\"1012.2,378.0 1001.8,384.0 1001.8,388.0 1012.2,382.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1012.2,378.0 1001.8,384.0 1001.8,388.0 1012.2,382.0\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1012.2,378.0 1001.8,384.0 1001.8,388.0 1012.2,382.0\" class=\"sks fnone\"/>\n<polygon points=\"1001.8,372.0 1012.2,378.0 1001.8,384.0 991.4,378.0\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"948.7,375.7 963.7,384.3 963.7,393.3 948.7,384.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"948.7,375.7 963.7,384.3 963.7,393.3 948.7,384.7\" class=\"sk fnone\"/>\n<polygon points=\"978.7,375.7 963.7,384.3 963.7,393.3 978.7,384.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"978.7,375.7 963.7,384.3 963.7,393.3 978.7,384.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"978.7,375.7 963.7,384.3 963.7,393.3 978.7,384.7\" class=\"sk fnone\"/>\n<polygon points=\"963.7,367.0 978.7,375.7 963.7,384.3 948.7,375.7\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"935.1,388.5 945.5,394.5 945.5,398.5 935.1,392.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"935.1,388.5 945.5,394.5 945.5,398.5 935.1,392.5\" class=\"sk fnone\"/>\n<polygon points=\"955.9,388.5 945.5,394.5 945.5,398.5 955.9,392.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"955.9,388.5 945.5,394.5 945.5,398.5 955.9,392.5\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"955.9,388.5 945.5,394.5 945.5,398.5 955.9,392.5\" class=\"sk fnone\"/>\n<polygon points=\"945.5,382.5 955.9,388.5 945.5,394.5 935.1,388.5\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"135.6,202.1 208.6,244.2 208.6,406.2 135.6,364.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"135.6,202.1 208.6,244.2 208.6,406.2 135.6,364.1\" class=\"skr fnone\"/>\n<polygon points=\"281.5,202.1 208.6,244.2 208.6,406.2 281.5,364.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"281.5,202.1 208.6,244.2 208.6,406.2 281.5,364.1\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"281.5,202.1 208.6,244.2 208.6,406.2 281.5,364.1\" class=\"skr fnone\"/>\n<polygon points=\"208.6,160.0 281.5,202.1 208.6,244.2 135.6,202.1\" class=\"skr fr\"/>\n</g>\n<g>\n<polygon points=\"422.5,396.5 432.9,402.5 432.9,406.5 422.5,400.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"422.5,396.5 432.9,402.5 432.9,406.5 422.5,400.5\" class=\"sks fnone\"/>\n<polygon points=\"443.3,396.5 432.9,402.5 432.9,406.5 443.3,400.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"443.3,396.5 432.9,402.5 432.9,406.5 443.3,400.5\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"443.3,396.5 432.9,402.5 432.9,406.5 443.3,400.5\" class=\"sks fnone\"/>\n<polygon points=\"432.9,390.5 443.3,396.5 432.9,402.5 422.5,396.5\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"971.6,392.8 988.2,402.3 988.2,408.3 971.6,398.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"971.6,392.8 988.2,402.3 988.2,408.3 971.6,398.8\" class=\"sks fnone\"/>\n<polygon points=\"1004.7,392.8 988.2,402.3 988.2,408.3 1004.7,398.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1004.7,392.8 988.2,402.3 988.2,408.3 1004.7,398.8\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1004.7,392.8 988.2,402.3 988.2,408.3 1004.7,398.8\" class=\"sks fnone\"/>\n<polygon points=\"988.2,383.2 1004.7,392.8 988.2,402.3 971.6,392.8\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"953.8,399.7 965.0,406.2 965.0,410.2 953.8,403.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"953.8,399.7 965.0,406.2 965.0,410.2 953.8,403.7\" class=\"sks fnone\"/>\n<polygon points=\"976.1,399.7 965.0,406.2 965.0,410.2 976.1,403.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"976.1,399.7 965.0,406.2 965.0,410.2 976.1,403.7\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"976.1,399.7 965.0,406.2 965.0,410.2 976.1,403.7\" class=\"sks fnone\"/>\n<polygon points=\"965.0,393.3 976.1,399.7 965.0,406.2 953.8,399.7\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"542.7,288.8 641.5,345.8 641.5,417.8 542.7,360.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"542.7,288.8 641.5,345.8 641.5,417.8 542.7,360.8\" class=\"sks fnone\"/>\n<polygon points=\"740.3,288.8 641.5,345.8 641.5,417.8 740.3,360.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"740.3,288.8 641.5,345.8 641.5,417.8 740.3,360.8\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"740.3,288.8 641.5,345.8 641.5,417.8 740.3,360.8\" class=\"sks fnone\"/>\n<polygon points=\"641.5,231.7 740.3,288.8 641.5,345.8 542.7,288.8\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"852.5,390.2 878.9,405.4 878.9,420.4 852.5,405.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"852.5,390.2 878.9,405.4 878.9,420.4 852.5,405.2\" class=\"sk fnone\"/>\n<polygon points=\"905.2,390.2 878.9,405.4 878.9,420.4 905.2,405.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"905.2,390.2 878.9,405.4 878.9,420.4 905.2,405.2\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"905.2,390.2 878.9,405.4 878.9,420.4 905.2,405.2\" class=\"sk fnone\"/>\n<polygon points=\"878.9,375.0 905.2,390.2 878.9,405.4 852.5,390.2\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"697.4,353.8 750.7,384.6 750.7,420.6 697.4,389.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"697.4,353.8 750.7,384.6 750.7,420.6 697.4,389.8\" class=\"sk fnone\"/>\n<polygon points=\"804.0,353.8 750.7,384.6 750.7,420.6 804.0,389.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"804.0,353.8 750.7,384.6 750.7,420.6 804.0,389.8\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"804.0,353.8 750.7,384.6 750.7,420.6 804.0,389.8\" class=\"sk fnone\"/>\n<polygon points=\"750.7,323.0 804.0,353.8 750.7,384.6 697.4,353.8\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"465.5,385.7 496.1,403.3 496.1,421.3 465.5,403.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"465.5,385.7 496.1,403.3 496.1,421.3 465.5,403.7\" class=\"sk fnone\"/>\n<polygon points=\"526.7,385.7 496.1,403.3 496.1,421.3 526.7,403.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"526.7,385.7 496.1,403.3 496.1,421.3 526.7,403.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"526.7,385.7 496.1,403.3 496.1,421.3 526.7,403.7\" class=\"sk fnone\"/>\n<polygon points=\"496.1,368.0 526.7,385.7 496.1,403.3 465.5,385.7\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"658.1,400.4 676.2,410.9 676.2,422.9 658.1,412.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"658.1,400.4 676.2,410.9 676.2,422.9 658.1,412.4\" class=\"sk fnone\"/>\n<polygon points=\"694.3,400.4 676.2,410.9 676.2,422.9 694.3,412.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"694.3,400.4 676.2,410.9 676.2,422.9 694.3,412.4\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"694.3,400.4 676.2,410.9 676.2,422.9 694.3,412.4\" class=\"sk fnone\"/>\n<polygon points=\"676.2,390.0 694.3,400.4 676.2,410.9 658.1,400.4\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"895.2,412.0 906.2,418.4 906.2,427.4 895.2,421.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"895.2,412.0 906.2,418.4 906.2,427.4 895.2,421.0\" class=\"sks fnone\"/>\n<polygon points=\"917.2,412.0 906.2,418.4 906.2,427.4 917.2,421.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"917.2,412.0 906.2,418.4 906.2,427.4 917.2,421.0\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"917.2,412.0 906.2,418.4 906.2,427.4 917.2,421.0\" class=\"sks fnone\"/>\n<polygon points=\"906.2,405.7 917.2,412.0 906.2,418.4 895.2,412.0\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"508.4,415.2 531.7,428.7 531.7,437.7 508.4,424.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"508.4,415.2 531.7,428.7 531.7,437.7 508.4,424.2\" class=\"sks fnone\"/>\n<polygon points=\"555.1,415.2 531.7,428.7 531.7,437.7 555.1,424.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"555.1,415.2 531.7,428.7 531.7,437.7 555.1,424.2\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"555.1,415.2 531.7,428.7 531.7,437.7 555.1,424.2\" class=\"sks fnone\"/>\n<polygon points=\"531.7,401.7 555.1,415.2 531.7,428.7 508.4,415.2\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"550.1,428.8 565.4,437.7 565.4,443.7 550.1,434.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"550.1,428.8 565.4,437.7 565.4,443.7 550.1,434.8\" class=\"sk fnone\"/>\n<polygon points=\"580.7,428.8 565.4,437.7 565.4,443.7 580.7,434.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"580.7,428.8 565.4,437.7 565.4,443.7 580.7,434.8\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"580.7,428.8 565.4,437.7 565.4,443.7 580.7,434.8\" class=\"sk fnone\"/>\n<polygon points=\"565.4,420.0 580.7,428.8 565.4,437.7 550.1,428.8\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"215.6,340.2 291.8,384.2 291.8,456.2 215.6,412.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"215.6,340.2 291.8,384.2 291.8,456.2 215.6,412.2\" class=\"sks fnone\"/>\n<polygon points=\"368.1,340.2 291.8,384.2 291.8,456.2 368.1,412.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"368.1,340.2 291.8,384.2 291.8,456.2 368.1,412.2\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"368.1,340.2 291.8,384.2 291.8,456.2 368.1,412.2\" class=\"sks fnone\"/>\n<polygon points=\"291.8,296.2 368.1,340.2 291.8,384.2 215.6,340.2\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"366.2,415.0 392.2,429.9 392.2,435.9 366.2,421.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"366.2,415.0 392.2,429.9 392.2,435.9 366.2,421.0\" class=\"skf fnone\"/>\n<polygon points=\"418.1,415.0 392.2,429.9 392.2,435.9 418.1,421.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"418.1,415.0 392.2,429.9 392.2,435.9 418.1,421.0\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"418.1,415.0 392.2,429.9 392.2,435.9 418.1,421.0\" class=\"skf fnone\"/>\n<polygon points=\"392.2,400.0 418.1,415.0 392.2,429.9 366.2,415.0\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"48.5,309.4 132.4,357.9 132.4,462.9 48.5,414.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"48.5,309.4 132.4,357.9 132.4,462.9 48.5,414.4\" class=\"skf fnone\"/>\n<polygon points=\"216.2,309.4 132.4,357.9 132.4,462.9 216.2,414.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"216.2,309.4 132.4,357.9 132.4,462.9 216.2,414.4\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"216.2,309.4 132.4,357.9 132.4,462.9 216.2,414.4\" class=\"skf fnone\"/>\n<polygon points=\"132.4,261.0 216.2,309.4 132.4,357.9 48.5,309.4\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"570.6,446.6 592.7,459.4 592.7,463.4 570.6,450.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"570.6,446.6 592.7,459.4 592.7,463.4 570.6,450.6\" class=\"sks fnone\"/>\n<polygon points=\"614.9,446.6 592.7,459.4 592.7,463.4 614.9,450.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"614.9,446.6 592.7,459.4 592.7,463.4 614.9,450.6\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"614.9,446.6 592.7,459.4 592.7,463.4 614.9,450.6\" class=\"sks fnone\"/>\n<polygon points=\"592.7,433.9 614.9,446.6 592.7,459.4 570.6,446.6\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"751.0,391.4 821.1,431.9 821.1,470.9 751.0,430.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"751.0,391.4 821.1,431.9 821.1,470.9 751.0,430.4\" class=\"sks fnone\"/>\n<polygon points=\"891.2,391.4 821.1,431.9 821.1,470.9 891.2,430.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"891.2,391.4 821.1,431.9 821.1,470.9 891.2,430.4\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"891.2,391.4 821.1,431.9 821.1,470.9 891.2,430.4\" class=\"sks fnone\"/>\n<polygon points=\"821.1,350.9 891.2,391.4 821.1,431.9 751.0,391.4\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"673.6,422.3 714.2,445.7 714.2,457.7 673.6,434.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"673.6,422.3 714.2,445.7 714.2,457.7 673.6,434.3\" class=\"sks fnone\"/>\n<polygon points=\"754.7,422.3 714.2,445.7 714.2,457.7 754.7,434.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"754.7,422.3 714.2,445.7 714.2,457.7 754.7,434.3\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"754.7,422.3 714.2,445.7 714.2,457.7 754.7,434.3\" class=\"sks fnone\"/>\n<polygon points=\"714.2,398.9 754.7,422.3 714.2,445.7 673.6,422.3\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"740.0,443.2 754.1,451.3 754.1,463.3 740.0,455.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"740.0,443.2 754.1,451.3 754.1,463.3 740.0,455.2\" class=\"sk fnone\"/>\n<polygon points=\"768.3,443.2 754.1,451.3 754.1,463.3 768.3,455.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"768.3,443.2 754.1,451.3 754.1,463.3 768.3,455.2\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"768.3,443.2 754.1,451.3 754.1,463.3 768.3,455.2\" class=\"sk fnone\"/>\n<polygon points=\"754.1,435.0 768.3,443.2 754.1,451.3 740.0,443.2\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"204.1,421.6 236.3,440.2 236.3,473.2 204.1,454.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"204.1,421.6 236.3,440.2 236.3,473.2 204.1,454.6\" class=\"skr fnone\"/>\n<polygon points=\"268.5,421.6 236.3,440.2 236.3,473.2 268.5,454.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"268.5,421.6 236.3,440.2 236.3,473.2 268.5,454.6\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"268.5,421.6 236.3,440.2 236.3,473.2 268.5,454.6\" class=\"skr fnone\"/>\n<polygon points=\"236.3,403.0 268.5,421.6 236.3,440.2 204.1,421.6\" class=\"skr fp\"/>\n</g><polygon points=\"236.3,403.0 268.5,421.6 236.3,440.2 204.1,421.6\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"236.3,403.0 268.5,421.6 236.3,440.2 204.1,421.6\" class=\"skr fnone\"/>\n<g>\n<polygon points=\"598.6,455.8 615.6,465.7 615.6,474.7 598.6,464.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"598.6,455.8 615.6,465.7 615.6,474.7 598.6,464.8\" class=\"skf fnone\"/>\n<polygon points=\"632.6,455.8 615.6,465.7 615.6,474.7 632.6,464.8\" fill=\"var(--paper-2)\"/>\n<polygon points=\"632.6,455.8 615.6,465.7 615.6,474.7 632.6,464.8\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"632.6,455.8 615.6,465.7 615.6,474.7 632.6,464.8\" class=\"skf fnone\"/>\n<polygon points=\"615.6,446.0 632.6,455.8 615.6,465.7 598.6,455.8\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"1031.9,304.7 1102.3,345.3 1102.3,477.3 1031.9,436.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1031.9,304.7 1102.3,345.3 1102.3,477.3 1031.9,436.7\" class=\"sk fnone\"/>\n<polygon points=\"1172.7,304.7 1102.3,345.3 1102.3,477.3 1172.7,436.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1172.7,304.7 1102.3,345.3 1102.3,477.3 1172.7,436.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"1172.7,304.7 1102.3,345.3 1102.3,477.3 1172.7,436.7\" class=\"sk fnone\"/>\n<polygon points=\"1102.3,264.0 1172.7,304.7 1102.3,345.3 1031.9,304.7\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"760.5,463.7 779.3,474.6 779.3,480.6 760.5,469.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"760.5,463.7 779.3,474.6 779.3,480.6 760.5,469.7\" class=\"sks fnone\"/>\n<polygon points=\"798.1,463.7 779.3,474.6 779.3,480.6 798.1,469.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"798.1,463.7 779.3,474.6 779.3,480.6 798.1,469.7\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"798.1,463.7 779.3,474.6 779.3,480.6 798.1,469.7\" class=\"sks fnone\"/>\n<polygon points=\"779.3,452.8 798.1,463.7 779.3,474.6 760.5,463.7\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"627.6,473.7 638.0,479.7 638.0,483.7 627.6,477.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"627.6,473.7 638.0,479.7 638.0,483.7 627.6,477.7\" class=\"sks fnone\"/>\n<polygon points=\"648.3,473.7 638.0,479.7 638.0,483.7 648.3,477.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"648.3,473.7 638.0,479.7 638.0,483.7 648.3,477.7\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"648.3,473.7 638.0,479.7 638.0,483.7 648.3,477.7\" class=\"sks fnone\"/>\n<polygon points=\"638.0,467.7 648.3,473.7 638.0,479.7 627.6,473.7\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"1011.8,444.3 1041.7,461.5 1041.7,485.5 1011.8,468.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1011.8,444.3 1041.7,461.5 1041.7,485.5 1011.8,468.3\" class=\"sk fnone\"/>\n<polygon points=\"1071.5,444.3 1041.7,461.5 1041.7,485.5 1071.5,468.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1071.5,444.3 1041.7,461.5 1041.7,485.5 1071.5,468.3\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"1071.5,444.3 1041.7,461.5 1041.7,485.5 1071.5,468.3\" class=\"sk fnone\"/>\n<polygon points=\"1041.7,427.0 1071.5,444.3 1041.7,461.5 1011.8,444.3\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"790.5,471.0 800.9,477.0 800.9,486.0 790.5,480.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"790.5,471.0 800.9,477.0 800.9,486.0 790.5,480.0\" class=\"sk fnone\"/>\n<polygon points=\"811.3,471.0 800.9,477.0 800.9,486.0 811.3,480.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"811.3,471.0 800.9,477.0 800.9,486.0 811.3,480.0\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"811.3,471.0 800.9,477.0 800.9,486.0 811.3,480.0\" class=\"sk fnone\"/>\n<polygon points=\"800.9,465.0 811.3,471.0 800.9,477.0 790.5,471.0\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"244.7,469.3 277.4,488.2 277.4,497.2 244.7,478.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"244.7,469.3 277.4,488.2 277.4,497.2 244.7,478.3\" class=\"sks fnone\"/>\n<polygon points=\"310.0,469.3 277.4,488.2 277.4,497.2 310.0,478.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"310.0,469.3 277.4,488.2 277.4,497.2 310.0,478.3\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"310.0,469.3 277.4,488.2 277.4,497.2 310.0,478.3\" class=\"sks fnone\"/>\n<polygon points=\"277.4,450.5 310.0,469.3 277.4,488.2 244.7,469.3\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"809.3,485.1 820.2,491.4 820.2,497.4 809.3,491.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"809.3,485.1 820.2,491.4 820.2,497.4 809.3,491.1\" class=\"sks fnone\"/>\n<polygon points=\"831.1,485.1 820.2,491.4 820.2,497.4 831.1,491.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"831.1,485.1 820.2,491.4 820.2,497.4 831.1,491.1\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"831.1,485.1 820.2,491.4 820.2,497.4 831.1,491.1\" class=\"sks fnone\"/>\n<polygon points=\"820.2,478.9 831.1,485.1 820.2,491.4 809.3,485.1\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"1125.6,449.9 1166.7,473.6 1166.7,497.6 1125.6,473.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1125.6,449.9 1166.7,473.6 1166.7,497.6 1125.6,473.9\" class=\"sks fnone\"/>\n<polygon points=\"1207.9,449.9 1166.7,473.6 1166.7,497.6 1207.9,473.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1207.9,449.9 1166.7,473.6 1166.7,497.6 1207.9,473.9\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1207.9,449.9 1166.7,473.6 1166.7,497.6 1207.9,473.9\" class=\"sks fnone\"/>\n<polygon points=\"1166.7,426.1 1207.9,449.9 1166.7,473.6 1125.6,449.9\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"961.1,460.5 989.7,477.0 989.7,504.0 961.1,487.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"961.1,460.5 989.7,477.0 989.7,504.0 961.1,487.5\" class=\"skr fnone\"/>\n<polygon points=\"1018.3,460.5 989.7,477.0 989.7,504.0 1018.3,487.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1018.3,460.5 989.7,477.0 989.7,504.0 1018.3,487.5\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"1018.3,460.5 989.7,477.0 989.7,504.0 1018.3,487.5\" class=\"skr fnone\"/>\n<polygon points=\"989.7,444.0 1018.3,460.5 989.7,477.0 961.1,460.5\" class=\"skr fp\"/>\n</g><polygon points=\"989.7,444.0 1018.3,460.5 989.7,477.0 961.1,460.5\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"989.7,444.0 1018.3,460.5 989.7,477.0 961.1,460.5\" class=\"skr fnone\"/>\n<g>\n<polygon points=\"1203.5,463.6 1232.2,480.1 1232.2,504.1 1203.5,487.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1203.5,463.6 1232.2,480.1 1232.2,504.1 1203.5,487.6\" class=\"sk fnone\"/>\n<polygon points=\"1260.8,463.6 1232.2,480.1 1232.2,504.1 1260.8,487.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1260.8,463.6 1232.2,480.1 1232.2,504.1 1260.8,487.6\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"1260.8,463.6 1232.2,480.1 1232.2,504.1 1260.8,487.6\" class=\"sk fnone\"/>\n<polygon points=\"1232.2,447.0 1260.8,463.6 1232.2,480.1 1203.5,463.6\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"351.8,424.3 426.8,467.7 426.8,512.7 351.8,469.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"351.8,424.3 426.8,467.7 426.8,512.7 351.8,469.3\" class=\"skf fnone\"/>\n<polygon points=\"501.8,424.3 426.8,467.7 426.8,512.7 501.8,469.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"501.8,424.3 426.8,467.7 426.8,512.7 501.8,469.3\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"501.8,424.3 426.8,467.7 426.8,512.7 501.8,469.3\" class=\"skf fnone\"/>\n<polygon points=\"426.8,381.0 501.8,424.3 426.8,467.7 351.8,424.3\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"693.5,508.0 703.9,514.0 703.9,518.0 693.5,512.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"693.5,508.0 703.9,514.0 703.9,518.0 693.5,512.0\" class=\"skf fnone\"/>\n<polygon points=\"714.3,508.0 703.9,514.0 703.9,518.0 714.3,512.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"714.3,508.0 703.9,514.0 703.9,518.0 714.3,512.0\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"714.3,508.0 703.9,514.0 703.9,518.0 714.3,512.0\" class=\"skf fnone\"/>\n<polygon points=\"703.9,502.0 714.3,508.0 703.9,514.0 693.5,508.0\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"1072.1,476.4 1102.3,493.8 1102.3,520.8 1072.1,503.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1072.1,476.4 1102.3,493.8 1102.3,520.8 1072.1,503.4\" class=\"sk fnone\"/>\n<polygon points=\"1132.4,476.4 1102.3,493.8 1102.3,520.8 1132.4,503.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1132.4,476.4 1102.3,493.8 1102.3,520.8 1132.4,503.4\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"1132.4,476.4 1102.3,493.8 1102.3,520.8 1132.4,503.4\" class=\"sk fnone\"/>\n<polygon points=\"1102.3,459.0 1132.4,476.4 1102.3,493.8 1072.1,476.4\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"710.7,513.1 721.2,519.2 721.2,528.2 710.7,522.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"710.7,513.1 721.2,519.2 721.2,528.2 710.7,522.1\" class=\"skf fnone\"/>\n<polygon points=\"731.8,513.1 721.2,519.2 721.2,528.2 731.8,522.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"731.8,513.1 721.2,519.2 721.2,528.2 731.8,522.1\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"731.8,513.1 721.2,519.2 721.2,528.2 731.8,522.1\" class=\"skf fnone\"/>\n<polygon points=\"721.2,507.0 731.8,513.1 721.2,519.2 710.7,513.1\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"272.9,483.9 314.2,507.7 314.2,528.7 272.9,504.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"272.9,483.9 314.2,507.7 314.2,528.7 272.9,504.9\" class=\"ska fnone\"/>\n<polygon points=\"355.5,483.9 314.2,507.7 314.2,528.7 355.5,504.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"355.5,483.9 314.2,507.7 314.2,528.7 355.5,504.9\" fill=\"url(#s7-ha)\"/>\n<polygon points=\"355.5,483.9 314.2,507.7 314.2,528.7 355.5,504.9\" class=\"ska fnone\"/>\n<polygon points=\"314.2,460.0 355.5,483.9 314.2,507.7 272.9,483.9\" class=\"ska fp\"/>\n</g><polygon points=\"314.2,460.0 355.5,483.9 314.2,507.7 272.9,483.9\" fill=\"url(#s7-ha)\"/>\n<polygon points=\"314.2,460.0 355.5,483.9 314.2,507.7 272.9,483.9\" class=\"ska fnone\"/>\n<g>\n<polygon points=\"219.5,482.7 251.0,500.8 251.0,533.8 219.5,515.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"219.5,482.7 251.0,500.8 251.0,533.8 219.5,515.7\" class=\"skf fnone\"/>\n<polygon points=\"282.5,482.7 251.0,500.8 251.0,533.8 282.5,515.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"282.5,482.7 251.0,500.8 251.0,533.8 282.5,515.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"282.5,482.7 251.0,500.8 251.0,533.8 282.5,515.7\" class=\"skf fnone\"/>\n<polygon points=\"251.0,464.5 282.5,482.7 251.0,500.8 219.5,482.7\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"992.3,476.5 1033.0,499.9 1033.0,535.9 992.3,512.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"992.3,476.5 1033.0,499.9 1033.0,535.9 992.3,512.5\" class=\"sks fnone\"/>\n<polygon points=\"1073.6,476.5 1033.0,499.9 1033.0,535.9 1073.6,512.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1073.6,476.5 1033.0,499.9 1033.0,535.9 1073.6,512.5\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1073.6,476.5 1033.0,499.9 1033.0,535.9 1073.6,512.5\" class=\"sks fnone\"/>\n<polygon points=\"1033.0,453.0 1073.6,476.5 1033.0,499.9 992.3,476.5\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"728.0,525.3 742.3,533.6 742.3,542.6 728.0,534.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"728.0,525.3 742.3,533.6 742.3,542.6 728.0,534.3\" class=\"sks fnone\"/>\n<polygon points=\"756.7,525.3 742.3,533.6 742.3,542.6 756.7,534.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"756.7,525.3 742.3,533.6 742.3,542.6 756.7,534.3\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"756.7,525.3 742.3,533.6 742.3,542.6 756.7,534.3\" class=\"sks fnone\"/>\n<polygon points=\"742.3,517.0 756.7,525.3 742.3,533.6 728.0,525.3\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"1133.5,504.0 1162.9,520.9 1162.9,544.9 1133.5,528.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1133.5,504.0 1162.9,520.9 1162.9,544.9 1133.5,528.0\" class=\"sk fnone\"/>\n<polygon points=\"1192.3,504.0 1162.9,520.9 1162.9,544.9 1192.3,528.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1192.3,504.0 1162.9,520.9 1162.9,544.9 1192.3,528.0\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"1192.3,504.0 1162.9,520.9 1162.9,544.9 1192.3,528.0\" class=\"sk fnone\"/>\n<polygon points=\"1162.9,487.0 1192.3,504.0 1162.9,520.9 1133.5,504.0\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"1079.5,518.2 1093.6,526.3 1093.6,547.3 1079.5,539.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1079.5,518.2 1093.6,526.3 1093.6,547.3 1079.5,539.2\" class=\"sk fnone\"/>\n<polygon points=\"1107.8,518.2 1093.6,526.3 1093.6,547.3 1107.8,539.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1107.8,518.2 1093.6,526.3 1093.6,547.3 1107.8,539.2\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"1107.8,518.2 1093.6,526.3 1093.6,547.3 1107.8,539.2\" class=\"sk fnone\"/>\n<polygon points=\"1093.6,510.0 1107.8,518.2 1093.6,526.3 1079.5,518.2\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"432.9,498.1 513.0,544.4 513.0,565.4 432.9,519.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"432.9,498.1 513.0,544.4 513.0,565.4 432.9,519.1\" class=\"sks fnone\"/>\n<polygon points=\"593.2,498.1 513.0,544.4 513.0,565.4 593.2,519.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"593.2,498.1 513.0,544.4 513.0,565.4 593.2,519.1\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"593.2,498.1 513.0,544.4 513.0,565.4 593.2,519.1\" class=\"sks fnone\"/>\n<polygon points=\"513.0,451.9 593.2,498.1 513.0,544.4 432.9,498.1\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"320.0,526.4 367.1,553.5 367.1,562.5 320.0,535.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"320.0,526.4 367.1,553.5 367.1,562.5 320.0,535.4\" class=\"sks fnone\"/>\n<polygon points=\"414.1,526.4 367.1,553.5 367.1,562.5 414.1,535.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"414.1,526.4 367.1,553.5 367.1,562.5 414.1,535.4\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"414.1,526.4 367.1,553.5 367.1,562.5 414.1,535.4\" class=\"sks fnone\"/>\n<polygon points=\"367.1,499.2 414.1,526.4 367.1,553.5 320.0,526.4\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"259.5,514.9 291.3,533.3 291.3,557.3 259.5,538.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"259.5,514.9 291.3,533.3 291.3,557.3 259.5,538.9\" class=\"sks fnone\"/>\n<polygon points=\"323.1,514.9 291.3,533.3 291.3,557.3 323.1,538.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"323.1,514.9 291.3,533.3 291.3,557.3 323.1,538.9\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"323.1,514.9 291.3,533.3 291.3,557.3 323.1,538.9\" class=\"sks fnone\"/>\n<polygon points=\"291.3,496.6 323.1,514.9 291.3,533.3 259.5,514.9\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"1095.6,544.2 1123.1,560.0 1123.1,572.0 1095.6,556.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1095.6,544.2 1123.1,560.0 1123.1,572.0 1095.6,556.2\" class=\"sks fnone\"/>\n<polygon points=\"1150.5,544.2 1123.1,560.0 1123.1,572.0 1150.5,556.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1150.5,544.2 1123.1,560.0 1123.1,572.0 1150.5,556.2\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1150.5,544.2 1123.1,560.0 1123.1,572.0 1150.5,556.2\" class=\"sks fnone\"/>\n<polygon points=\"1123.1,528.3 1150.5,544.2 1123.1,560.0 1095.6,544.2\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"601.2,499.3 655.4,530.6 655.4,575.6 601.2,544.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"601.2,499.3 655.4,530.6 655.4,575.6 601.2,544.3\" class=\"skr fnone\"/>\n<polygon points=\"709.7,499.3 655.4,530.6 655.4,575.6 709.7,544.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"709.7,499.3 655.4,530.6 655.4,575.6 709.7,544.3\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"709.7,499.3 655.4,530.6 655.4,575.6 709.7,544.3\" class=\"skr fnone\"/>\n<polygon points=\"655.4,468.0 709.7,499.3 655.4,530.6 601.2,499.3\" class=\"skr fp\"/>\n</g><polygon points=\"655.4,468.0 709.7,499.3 655.4,530.6 601.2,499.3\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"655.4,468.0 709.7,499.3 655.4,530.6 601.2,499.3\" class=\"skr fnone\"/>\n<g>\n<polygon points=\"382.6,539.5 414.7,558.0 414.7,576.0 382.6,557.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"382.6,539.5 414.7,558.0 414.7,576.0 382.6,557.5\" class=\"skf fnone\"/>\n<polygon points=\"446.7,539.5 414.7,558.0 414.7,576.0 446.7,557.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"446.7,539.5 414.7,558.0 414.7,576.0 446.7,557.5\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"446.7,539.5 414.7,558.0 414.7,576.0 446.7,557.5\" class=\"skf fnone\"/>\n<polygon points=\"414.7,521.0 446.7,539.5 414.7,558.0 382.6,539.5\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"305.4,549.1 333.3,565.2 333.3,577.2 305.4,561.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"305.4,549.1 333.3,565.2 333.3,577.2 305.4,561.1\" class=\"skf fnone\"/>\n<polygon points=\"361.1,549.1 333.3,565.2 333.3,577.2 361.1,561.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"361.1,549.1 333.3,565.2 333.3,577.2 361.1,561.1\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"361.1,549.1 333.3,565.2 333.3,577.2 361.1,561.1\" class=\"skf fnone\"/>\n<polygon points=\"333.3,533.0 361.1,549.1 333.3,565.2 305.4,549.1\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"562.7,557.6 588.7,572.6 588.7,581.6 562.7,566.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"562.7,557.6 588.7,572.6 588.7,581.6 562.7,566.6\" class=\"skf fnone\"/>\n<polygon points=\"614.8,557.6 588.7,572.6 588.7,581.6 614.8,566.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"614.8,557.6 588.7,572.6 588.7,581.6 614.8,566.6\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"614.8,557.6 588.7,572.6 588.7,581.6 614.8,566.6\" class=\"skf fnone\"/>\n<polygon points=\"588.7,542.5 614.8,557.6 588.7,572.6 562.7,557.6\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"605.2,578.1 615.6,584.1 615.6,588.1 605.2,582.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"605.2,578.1 615.6,584.1 615.6,588.1 605.2,582.1\" class=\"sks fnone\"/>\n<polygon points=\"626.0,578.1 615.6,584.1 615.6,588.1 626.0,582.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"626.0,578.1 615.6,584.1 615.6,588.1 626.0,582.1\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"626.0,578.1 615.6,584.1 615.6,588.1 626.0,582.1\" class=\"sks fnone\"/>\n<polygon points=\"615.6,572.1 626.0,578.1 615.6,584.1 605.2,578.1\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"937.7,577.0 948.1,583.0 948.1,589.0 937.7,583.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"937.7,577.0 948.1,583.0 948.1,589.0 937.7,583.0\" class=\"sk fnone\"/>\n<polygon points=\"958.5,577.0 948.1,583.0 948.1,589.0 958.5,583.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"958.5,577.0 948.1,583.0 948.1,589.0 958.5,583.0\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"958.5,577.0 948.1,583.0 948.1,589.0 958.5,583.0\" class=\"sk fnone\"/>\n<polygon points=\"948.1,571.0 958.5,577.0 948.1,583.0 937.7,577.0\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"429.2,568.6 449.5,580.4 449.5,589.4 429.2,577.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"429.2,568.6 449.5,580.4 449.5,589.4 429.2,577.6\" class=\"sks fnone\"/>\n<polygon points=\"469.9,568.6 449.5,580.4 449.5,589.4 469.9,577.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"469.9,568.6 449.5,580.4 449.5,589.4 469.9,577.6\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"469.9,568.6 449.5,580.4 449.5,589.4 469.9,577.6\" class=\"sks fnone\"/>\n<polygon points=\"449.5,556.9 469.9,568.6 449.5,580.4 429.2,568.6\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"466.6,577.0 477.0,583.0 477.0,587.0 466.6,581.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"466.6,577.0 477.0,583.0 477.0,587.0 466.6,581.0\" class=\"skr fnone\"/>\n<polygon points=\"487.4,577.0 477.0,583.0 477.0,587.0 487.4,581.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"487.4,577.0 477.0,583.0 477.0,587.0 487.4,581.0\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"487.4,577.0 477.0,583.0 477.0,587.0 487.4,581.0\" class=\"skr fnone\"/>\n<polygon points=\"477.0,571.0 487.4,577.0 477.0,583.0 466.6,577.0\" class=\"skr fp\"/>\n</g><polygon points=\"477.0,571.0 487.4,577.0 477.0,583.0 466.6,577.0\" fill=\"url(#s7-hr)\"/>\n<polygon points=\"477.0,571.0 487.4,577.0 477.0,583.0 466.6,577.0\" class=\"skr fnone\"/>\n<g>\n<polygon points=\"485.7,588.0 496.1,594.0 496.1,598.0 485.7,592.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"485.7,588.0 496.1,594.0 496.1,598.0 485.7,592.0\" class=\"sks fnone\"/>\n<polygon points=\"506.5,588.0 496.1,594.0 496.1,598.0 506.5,592.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"506.5,588.0 496.1,594.0 496.1,598.0 506.5,592.0\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"506.5,588.0 496.1,594.0 496.1,598.0 506.5,592.0\" class=\"sks fnone\"/>\n<polygon points=\"496.1,582.0 506.5,588.0 496.1,594.0 485.7,588.0\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"341.3,573.5 370.4,590.3 370.4,599.3 341.3,582.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"341.3,573.5 370.4,590.3 370.4,599.3 341.3,582.5\" class=\"sks fnone\"/>\n<polygon points=\"399.5,573.5 370.4,590.3 370.4,599.3 399.5,582.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"399.5,573.5 370.4,590.3 370.4,599.3 399.5,582.5\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"399.5,573.5 370.4,590.3 370.4,599.3 399.5,582.5\" class=\"sks fnone\"/>\n<polygon points=\"370.4,556.7 399.5,573.5 370.4,590.3 341.3,573.5\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"664.7,544.3 717.7,574.9 717.7,610.9 664.7,580.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"664.7,544.3 717.7,574.9 717.7,610.9 664.7,580.3\" class=\"sks fnone\"/>\n<polygon points=\"770.7,544.3 717.7,574.9 717.7,610.9 770.7,580.3\" fill=\"var(--paper-2)\"/>\n<polygon points=\"770.7,544.3 717.7,574.9 717.7,610.9 770.7,580.3\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"770.7,544.3 717.7,574.9 717.7,610.9 770.7,580.3\" class=\"sks fnone\"/>\n<polygon points=\"717.7,513.7 770.7,544.3 717.7,574.9 664.7,544.3\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"386.7,593.2 418.1,611.3 418.1,617.3 386.7,599.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"386.7,593.2 418.1,611.3 418.1,617.3 386.7,599.2\" class=\"skf fnone\"/>\n<polygon points=\"449.6,593.2 418.1,611.3 418.1,617.3 449.6,599.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"449.6,593.2 418.1,611.3 418.1,617.3 449.6,599.2\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"449.6,593.2 418.1,611.3 418.1,617.3 449.6,599.2\" class=\"skf fnone\"/>\n<polygon points=\"418.1,575.0 449.6,593.2 418.1,611.3 386.7,593.2\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"717.9,605.9 733.4,614.8 733.4,620.8 717.9,611.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"717.9,605.9 733.4,614.8 733.4,620.8 717.9,611.9\" class=\"skf fnone\"/>\n<polygon points=\"748.8,605.9 733.4,614.8 733.4,620.8 748.8,611.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"748.8,605.9 733.4,614.8 733.4,620.8 748.8,611.9\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"748.8,605.9 733.4,614.8 733.4,620.8 748.8,611.9\" class=\"skf fnone\"/>\n<polygon points=\"733.4,597.0 748.8,605.9 733.4,614.8 717.9,605.9\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"743.6,620.9 755.9,628.0 755.9,632.0 743.6,624.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"743.6,620.9 755.9,628.0 755.9,632.0 743.6,624.9\" class=\"sks fnone\"/>\n<polygon points=\"768.1,620.9 755.9,628.0 755.9,632.0 768.1,624.9\" fill=\"var(--paper-2)\"/>\n<polygon points=\"768.1,620.9 755.9,628.0 755.9,632.0 768.1,624.9\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"768.1,620.9 755.9,628.0 755.9,632.0 768.1,624.9\" class=\"sks fnone\"/>\n<polygon points=\"755.9,613.8 768.1,620.9 755.9,628.0 743.6,620.9\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"950.9,578.4 1004.4,609.3 1004.4,636.3 950.9,605.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"950.9,578.4 1004.4,609.3 1004.4,636.3 950.9,605.4\" class=\"sk fnone\"/>\n<polygon points=\"1057.9,578.4 1004.4,609.3 1004.4,636.3 1057.9,605.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1057.9,578.4 1004.4,609.3 1004.4,636.3 1057.9,605.4\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"1057.9,578.4 1004.4,609.3 1004.4,636.3 1057.9,605.4\" class=\"sk fnone\"/>\n<polygon points=\"1004.4,547.5 1057.9,578.4 1004.4,609.3 950.9,578.4\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"628.2,604.7 658.9,622.5 658.9,637.5 628.2,619.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"628.2,604.7 658.9,622.5 658.9,637.5 628.2,619.7\" class=\"skf fnone\"/>\n<polygon points=\"689.6,604.7 658.9,622.5 658.9,637.5 689.6,619.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"689.6,604.7 658.9,622.5 658.9,637.5 689.6,619.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"689.6,604.7 658.9,622.5 658.9,637.5 689.6,619.7\" class=\"skf fnone\"/>\n<polygon points=\"658.9,587.0 689.6,604.7 658.9,622.5 628.2,604.7\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"425.7,617.0 459.3,636.4 459.3,642.4 425.7,623.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"425.7,617.0 459.3,636.4 459.3,642.4 425.7,623.0\" class=\"sks fnone\"/>\n<polygon points=\"492.9,617.0 459.3,636.4 459.3,642.4 492.9,623.0\" fill=\"var(--paper-2)\"/>\n<polygon points=\"492.9,617.0 459.3,636.4 459.3,642.4 492.9,623.0\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"492.9,617.0 459.3,636.4 459.3,642.4 492.9,623.0\" class=\"sks fnone\"/>\n<polygon points=\"459.3,597.6 492.9,617.0 459.3,636.4 425.7,617.0\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"564.1,615.7 586.1,628.5 586.1,643.5 564.1,630.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"564.1,615.7 586.1,628.5 586.1,643.5 564.1,630.7\" class=\"skf fnone\"/>\n<polygon points=\"608.2,615.7 586.1,628.5 586.1,643.5 608.2,630.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"608.2,615.7 586.1,628.5 586.1,643.5 608.2,630.7\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"608.2,615.7 586.1,628.5 586.1,643.5 608.2,630.7\" class=\"skf fnone\"/>\n<polygon points=\"586.1,603.0 608.2,615.7 586.1,628.5 564.1,615.7\" class=\"skf fp2\"/>\n</g>\n<g>\n<polygon points=\"672.8,630.4 693.0,642.1 693.0,651.1 672.8,639.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"672.8,630.4 693.0,642.1 693.0,651.1 672.8,639.4\" class=\"sks fnone\"/>\n<polygon points=\"713.2,630.4 693.0,642.1 693.0,651.1 713.2,639.4\" fill=\"var(--paper-2)\"/>\n<polygon points=\"713.2,630.4 693.0,642.1 693.0,651.1 713.2,639.4\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"713.2,630.4 693.0,642.1 693.0,651.1 713.2,639.4\" class=\"sks fnone\"/>\n<polygon points=\"693.0,618.8 713.2,630.4 693.0,642.1 672.8,630.4\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"597.2,643.1 614.5,653.2 614.5,657.2 597.2,647.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"597.2,643.1 614.5,653.2 614.5,657.2 597.2,647.1\" class=\"sks fnone\"/>\n<polygon points=\"631.9,643.1 614.5,653.2 614.5,657.2 631.9,647.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"631.9,643.1 614.5,653.2 614.5,657.2 631.9,647.1\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"631.9,643.1 614.5,653.2 614.5,657.2 631.9,647.1\" class=\"sks fnone\"/>\n<polygon points=\"614.5,633.1 631.9,643.1 614.5,653.2 597.2,643.1\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"847.5,570.1 911.8,607.2 911.8,670.2 847.5,633.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"847.5,570.1 911.8,607.2 911.8,670.2 847.5,633.1\" class=\"sk fnone\"/>\n<polygon points=\"976.1,570.1 911.8,607.2 911.8,670.2 976.1,633.1\" fill=\"var(--paper-2)\"/>\n<polygon points=\"976.1,570.1 911.8,607.2 911.8,670.2 976.1,633.1\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"976.1,570.1 911.8,607.2 911.8,670.2 976.1,633.1\" class=\"sk fnone\"/>\n<polygon points=\"911.8,533.0 976.1,570.1 911.8,607.2 847.5,570.1\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"1007.3,620.6 1072.4,658.2 1072.4,682.2 1007.3,644.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1007.3,620.6 1072.4,658.2 1072.4,682.2 1007.3,644.6\" class=\"sks fnone\"/>\n<polygon points=\"1137.4,620.6 1072.4,658.2 1072.4,682.2 1137.4,644.6\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1137.4,620.6 1072.4,658.2 1072.4,682.2 1137.4,644.6\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1137.4,620.6 1072.4,658.2 1072.4,682.2 1137.4,644.6\" class=\"sks fnone\"/>\n<polygon points=\"1072.4,583.1 1137.4,620.6 1072.4,658.2 1007.3,620.6\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"927.5,641.2 977.6,670.1 977.6,700.1 927.5,671.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"927.5,641.2 977.6,670.1 977.6,700.1 927.5,671.2\" class=\"sks fnone\"/>\n<polygon points=\"1027.8,641.2 977.6,670.1 977.6,700.1 1027.8,671.2\" fill=\"var(--paper-2)\"/>\n<polygon points=\"1027.8,641.2 977.6,670.1 977.6,700.1 1027.8,671.2\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"1027.8,641.2 977.6,670.1 977.6,700.1 1027.8,671.2\" class=\"sks fnone\"/>\n<polygon points=\"977.6,612.2 1027.8,641.2 977.6,670.1 927.5,641.2\" class=\"sks fp2\"/>\n</g>\n<g>\n<polygon points=\"727.3,603.5 833.8,665.1 833.8,764.1 727.3,702.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"727.3,603.5 833.8,665.1 833.8,764.1 727.3,702.5\" class=\"sk fnone\"/>\n<polygon points=\"940.4,603.5 833.8,665.1 833.8,764.1 940.4,702.5\" fill=\"var(--paper-2)\"/>\n<polygon points=\"940.4,603.5 833.8,665.1 833.8,764.1 940.4,702.5\" fill=\"url(#s7-hx)\"/>\n<polygon points=\"940.4,603.5 833.8,665.1 833.8,764.1 940.4,702.5\" class=\"sk fnone\"/>\n<polygon points=\"833.8,542.0 940.4,603.5 833.8,665.1 727.3,603.5\" class=\"sk fp\"/>\n</g>\n<g>\n<polygon points=\"889.8,737.7 901.7,744.6 901.7,748.6 889.8,741.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"889.8,737.7 901.7,744.6 901.7,748.6 889.8,741.7\" class=\"sks fnone\"/>\n<polygon points=\"913.6,737.7 901.7,744.6 901.7,748.6 913.6,741.7\" fill=\"var(--paper-2)\"/>\n<polygon points=\"913.6,737.7 901.7,744.6 901.7,748.6 913.6,741.7\" fill=\"url(#s7-hd)\"/>\n<polygon points=\"913.6,737.7 901.7,744.6 901.7,748.6 913.6,741.7\" class=\"sks fnone\"/>\n<polygon points=\"901.7,730.8 913.6,737.7 901.7,744.6 889.8,737.7\" class=\"sks fp2\"/>\n</g>\n</svg>"
  },
  "issueLog": [
    {
      "date": "2026-10-31",
      "num": "1A",
      "head": "SHEET 1A",
      "title": "THE DOCUMENT, DIMENSIONED",
      "rev": "A",
      "desc": "first printing — sheet 1's document as a dimensional drawing of the sample app's contacts page, every dimension a code and every code a row of a plate measured in Chromium"
    },
    {
      "date": "2026-10-31",
      "num": "2A",
      "head": "SHEET 2A",
      "title": "THE COUPLING PLAN",
      "rev": "J",
      "desc": "the mould panel under the plan: one 2×2 brick in third-angle with section A–A and the cord cap, every dimension a code in THE MOULD, read from brick-glb.mjs and connector-iso.mjs"
    },
    {
      "date": "2026-10-31",
      "num": "A5",
      "head": "APPENDIX A5",
      "title": "THE SHEET, DIMENSIONED",
      "rev": "B",
      "desc": "the grid row along the foot — the chrome's tracks as hairlines over the sheet at 1440 and 390 wide, empty, as its grid alone and with its elements blocked in, after the NASA…"
    },
    {
      "date": "2026-10-31",
      "num": "A5",
      "head": "APPENDIX A5",
      "title": "THE SHEET, DIMENSIONED",
      "rev": "A",
      "desc": "first printing — the atlas's own sheet chrome as a dimensional drawing, every dimension a code and every code a row of a plate measured in the built app"
    },
    {
      "date": "2026-10-31",
      "num": "A6",
      "head": "APPENDIX A6",
      "title": "THE INCORRECT USES",
      "rev": "A",
      "desc": "first printing — the atlas's own drawing rules as nine numbered pairs, each incorrect use crossed beside its correct form at one scale and tied to the guard that catches it, or to…"
    },
    {
      "date": "2026-10-30",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "N",
      "desc": "door 13, lit-ui-router-ssr «./testing», stands in the bridge quarter’s front row, and the storefront paragraph names the doors that undercut its cheapest"
    },
    {
      "date": "2026-10-30",
      "num": "14",
      "head": "SHEET 14",
      "title": "THE UPSTREAM WORKS",
      "rev": "E",
      "desc": "the river and the wharf run to x 1810, so forty-five yards stand in five rows"
    },
    {
      "date": "2026-10-29",
      "num": "2C",
      "head": "SHEET 2C",
      "title": "THE ALTERNATE BUILDS",
      "rev": "D",
      "desc": "a stack rings the full plate under its top where every top stud is ringed, so effect’s nineteen-plate stack carries two cords in builds III and XI"
    },
    {
      "date": "2026-10-29",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "M",
      "desc": "the root yard’s fifth slab is //#lint:css, one stylelint line on the shared surface"
    },
    {
      "date": "2026-10-29",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "M",
      "desc": "door 26, ui-router-server «./prerender», stands in back east of the redirects, and the registry’s lettering sits under its quarter"
    },
    {
      "date": "2026-10-29",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "L",
      "desc": "doors 24 and 25, ui-router-server «./ssr» and «./ssr/client», stand on the storefront’s east edge, and the flagship’s label and register callout sit 12 west"
    },
    {
      "date": "2026-10-29",
      "num": "14",
      "head": "SHEET 14",
      "title": "THE UPSTREAM WORKS",
      "rev": "D",
      "desc": "the river and the wharf run to x 1660, so forty-three yards stand in five rows"
    },
    {
      "date": "2026-10-28",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "K",
      "desc": "the structure and stud schedules set as tables under the drawing, and the drawing ends at the finished band"
    },
    {
      "date": "2026-10-28",
      "num": "2A",
      "head": "SHEET 2A",
      "title": "THE COUPLING PLAN",
      "rev": "I",
      "desc": "the peer rails and plug mouths spaced at 18 units, the ssr column clear of block 8"
    },
    {
      "date": "2026-10-28",
      "num": "2C",
      "head": "SHEET 2C",
      "title": "THE ALTERNATE BUILDS",
      "rev": "C",
      "desc": "the box, the spare register and the build and plate schedules set as tables under the drawing, and the grid draws a quarter larger at the same measure"
    },
    {
      "date": "2026-10-28",
      "num": "2E",
      "head": "SHEET 2E",
      "title": "THE CONSUMER BUILDS",
      "rev": "D",
      "desc": "the consumer schedule set as a table under the drawing, and the grid starts at the sheet’s corner"
    },
    {
      "date": "2026-10-28",
      "num": "2F",
      "head": "SHEET 2F",
      "title": "THE PINNED BUILDS",
      "rev": "C",
      "desc": "the pin schedule set as a table under the drawing"
    },
    {
      "date": "2026-10-28",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "I",
      "desc": "the structure schedule set as a table under the drawing, the task-manager inset at the top right clear of block 1, and the gate-severity box gone"
    },
    {
      "date": "2026-10-28",
      "num": "3A",
      "head": "SHEET 3A",
      "title": "THE HANDOFF WORKS",
      "rev": "F",
      "desc": "the seam schedule set as a table under the drawing, and the title box and the one-line summaries gone"
    },
    {
      "date": "2026-10-28",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "L",
      "desc": "the blocks drawn in ink with the one tier stated in the key, the schedule set as a table under the drawing, and the title box gone"
    },
    {
      "date": "2026-10-28",
      "num": "4",
      "head": "SHEET 4",
      "title": "THE FAMILY SPINE",
      "rev": "J",
      "desc": "the structure schedule set as a table under the drawing"
    },
    {
      "date": "2026-10-28",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "K",
      "desc": "the structure schedule and the road register set as tables under the drawing, the title box and the gate-severity box gone, and every leader dashed with a landing dot"
    },
    {
      "date": "2026-10-28",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "I",
      "desc": "the shadow schedule set as a table under the drawing, the title box, the brightness ladder and the verdict box gone with the key carrying every band, and every leader dashed with a…"
    },
    {
      "date": "2026-10-28",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "J",
      "desc": "the plant schedule set as a table under the drawing with the telemetry printed in the key, the title box gone, and every leader dashed with a landing dot"
    },
    {
      "date": "2026-10-28",
      "num": "8",
      "head": "SHEET 8",
      "title": "THE DELIVERED CITY",
      "rev": "F",
      "desc": "the structure schedule set as a table under the drawing, and the leaders dashed with a landing dot"
    },
    {
      "date": "2026-10-28",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "I",
      "desc": "the district schedule set as a table under the drawing, the three leaderless callouts folded into the notes, and the leaders dashed with a landing dot"
    },
    {
      "date": "2026-10-28",
      "num": "10",
      "head": "SHEET 10",
      "title": "THE BUNDLED CITY",
      "rev": "F",
      "desc": "the package-group schedule set as a table under the drawing, and every callout leader dashed with a landing dot"
    },
    {
      "date": "2026-10-28",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "K",
      "desc": "the door schedule set as a table under the drawing, and every callout leader dashed with a landing dot"
    },
    {
      "date": "2026-10-28",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "J",
      "desc": "the structure schedule set as a table under the drawing, the title box and the reading box gone with the key carrying the seasons, and every leader dashed with a landing dot"
    },
    {
      "date": "2026-10-28",
      "num": "14",
      "head": "SHEET 14",
      "title": "THE UPSTREAM WORKS",
      "rev": "C",
      "desc": "the consignment register set as three tables under the drawing, and the title box gone"
    },
    {
      "date": "2026-10-28",
      "num": "A1",
      "head": "APPENDIX A1",
      "title": "THE SPRITE STUDY",
      "rev": "B",
      "desc": "the in-figure title box gone"
    },
    {
      "date": "2026-10-28",
      "num": "A2",
      "head": "APPENDIX A2",
      "title": "THE SURVEY OFFICE",
      "rev": "E",
      "desc": "the plate schedule set as a table under the drawing, and the ONE BASIS label set level"
    },
    {
      "date": "2026-10-28",
      "num": "A3",
      "head": "APPENDIX A3",
      "title": "THE ATLAS, MEASURED",
      "rev": "C",
      "desc": "both registers set as tables under the drawing, and the title box gone"
    },
    {
      "date": "2026-10-28",
      "num": "A4",
      "head": "APPENDIX A4",
      "title": "THE ATLAS, SHIPPED",
      "rev": "D",
      "desc": "both structure schedules and the wire set as tables under the drawing, WHAT THE DRAWING SAYS cut to its headline, and the title box gone"
    },
    {
      "date": "2026-10-27",
      "num": "2B",
      "head": "SHEET 2B",
      "title": "THE COUPLING BENCH",
      "rev": "I",
      "desc": "ui-router-registry stands between ui-router-effect and ui-router-mobx in the core-only column, its three optional ties to the renderer-free packages drawn in red"
    },
    {
      "date": "2026-10-27",
      "num": "2E",
      "head": "SHEET 2E",
      "title": "THE CONSUMER BUILDS",
      "rev": "C",
      "desc": "a consumer seats over another part it pins where from over its heaviest pin no cord runs clear, and a straddle never takes a one-stud part's only stud"
    },
    {
      "date": "2026-10-24",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "J",
      "desc": "ui-router-registry takes schedule row 11, a compile-time part beside the lint plugin"
    },
    {
      "date": "2026-10-24",
      "num": "2B",
      "head": "SHEET 2B",
      "title": "THE COUPLING BENCH",
      "rev": "H",
      "desc": "ui-router-registry stands at the foot of the core-only column under ui-router-mobx, and the column's four reach across one"
    },
    {
      "date": "2026-10-24",
      "num": "2C",
      "head": "SHEET 2C",
      "title": "THE ALTERNATE BUILDS",
      "rev": "B",
      "desc": "the registry's typed builds join the box"
    },
    {
      "date": "2026-10-24",
      "num": "2E",
      "head": "SHEET 2E",
      "title": "THE CONSUMER BUILDS",
      "rev": "B",
      "desc": "eleven build panels, the registry seated as a compile-time part beside the lint plugin, and helloworld-buildless the twentieth consumer"
    },
    {
      "date": "2026-10-24",
      "num": "2F",
      "head": "SHEET 2F",
      "title": "THE PINNED BUILDS",
      "rev": "B",
      "desc": "the registry's pins stand in builds VI, IX and X, and navigation-api's plugin pin trails latest"
    },
    {
      "date": "2026-10-24",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "K",
      "desc": "the fourteenth quarter, ui-router-registry, stands south of ui-router-mobx inside the release road"
    },
    {
      "date": "2026-10-24",
      "num": "4",
      "head": "SHEET 4",
      "title": "THE FAMILY SPINE",
      "rev": "I",
      "desc": "ui-router-registry joins the bay as the sixth row of its second column, and the bay grows upward to hold ten companions"
    },
    {
      "date": "2026-10-24",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "J",
      "desc": "№50 ui-router-registry stands on the product district's east edge above the plugin's annex, №51 @tools/release-ledger on the yard's south-east lot, and the docs site's two release…"
    },
    {
      "date": "2026-10-24",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "H",
      "desc": "№50 ui-router-registry is the product district's one dark corner, types only"
    },
    {
      "date": "2026-10-24",
      "num": "8",
      "head": "SHEET 8",
      "title": "THE DELIVERED CITY",
      "rev": "E",
      "desc": "@lit/context is delivered beside @uirouter/dsr as badge 13, and the closure holds 33 packages"
    },
    {
      "date": "2026-10-24",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "H",
      "desc": "the prose ships twice — the markdown pages stand east of the html tower and the diagrams beside the fonts, and the sheet grows 120 px for the taller tower"
    },
    {
      "date": "2026-10-24",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "J",
      "desc": "door 27, ui-router-registry «.», an empty emit, stands in its own quarter north of the server storefront, and the registry's door and the lint plugin's are the two no browser opens"
    },
    {
      "date": "2026-10-24",
      "num": "12",
      "head": "SHEET 12",
      "title": "THE REGISTER PLATE",
      "rev": "G",
      "desc": "types:worker and typecheck:worker take columns in the emit and check stages, the overlay stands west of the register, and the uncacheable fifteen read off the handoff plate"
    },
    {
      "date": "2026-10-24",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "I",
      "desc": "№50 ui-router-registry stands east of the snapshot, №51 on the yard's south edge and the release workers north of docs, and the examples step south off docs' grown block"
    },
    {
      "date": "2026-10-24",
      "num": "14",
      "head": "SHEET 14",
      "title": "THE UPSTREAM WORKS",
      "rev": "B",
      "desc": "the north bank re-packs, each yard taking the row that seats it furthest west, so thirty-eight yards stand in five rows"
    },
    {
      "date": "2026-10-24",
      "num": "A3",
      "head": "APPENDIX A3",
      "title": "THE ATLAS, MEASURED",
      "rev": "B",
      "desc": "the main row draws at 0.84× sheet 7's ruler, the largest hundredth at which its four groups fit 1,520 px standing in separate slots at least 8 px apart"
    },
    {
      "date": "2026-10-24",
      "num": "A4",
      "head": "APPENDIX A4",
      "title": "THE ATLAS, SHIPPED",
      "rev": "C",
      "desc": "both rows draw at 0.91× sheet 9's ruler, the largest hundredth at which the role row and the city row fit 1,520 px with 8 px gaps and 140 px lettering slots"
    },
    {
      "date": "2026-10-22",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "I",
      "desc": "the four districts stand apart — the proving ground and the shopfront step east, every dashed bound pads its lots by 16 plan units, and the build throws when two bounds come within…"
    },
    {
      "date": "2026-10-18",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "J",
      "desc": "the thirteenth quarter, @repo/dev-gate, closes the row at the release road"
    },
    {
      "date": "2026-10-18",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "H",
      "desc": "№48 @tools/ci-logs is massed on the yard's south row east of @tools/shared's annex, and №49 @repo/dev-gate stands north of the route snapshot between road A and the snapshot"
    },
    {
      "date": "2026-10-18",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "G",
      "desc": "№48 @tools/ci-logs lights its cores and leaves its CLI wrapper in shadow"
    },
    {
      "date": "2026-10-18",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "H",
      "desc": "the north-east corner re-lots under the server's grown annex, @repo/dev-gate standing beside ui-router-mobx"
    },
    {
      "date": "2026-10-15",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "I",
      "desc": "brick 10, ui-router-mobx, drops onto the far seat of stud C’s front rail, and its cap carries ringed stud K, which brick 3 peers from brick 1’s cap"
    },
    {
      "date": "2026-10-15",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "I",
      "desc": "the twelfth quarter, ui-router-mobx, closes the row and the quarters are repacked west of the release road"
    },
    {
      "date": "2026-10-15",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "G",
      "desc": "№47 ui-router-mobx is massed north-east beside the route snapshot, between road A and road F, and №29 @tools/warn-lanes leaves the yard with its ratchet"
    },
    {
      "date": "2026-10-15",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "F",
      "desc": "№47 ui-router-mobx lights all but its barrel, and lit-ui-router-mobx's router-store.ts re-export stands in shadow beside its barrel"
    },
    {
      "date": "2026-10-15",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "G",
      "desc": "ui-router-mobx stands in the north-east corner under ui-router-effect's annex"
    },
    {
      "date": "2026-10-13",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "H",
      "desc": "brick 9, ui-router-signals, drops straight onto stud E beside brick 8 on stud C, and their caps carry ringed studs I and J, which bricks 5 and 7 peer from brick 1’s cap"
    },
    {
      "date": "2026-10-13",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "G",
      "desc": "brick 7, lit-ui-router-signals, seats on brick 1’s stud F between bricks 5 and 3, and brick 8, ui-router-effect, drops straight onto stud C"
    },
    {
      "date": "2026-10-13",
      "num": "A4",
      "head": "APPENDIX A4",
      "title": "THE ATLAS, SHIPPED",
      "rev": "B",
      "desc": "two altitudes at one ruler — both deploys drawn by role and by district, at the maintainer's ask: \"sheet a4 with the mixed rulers is annoying and kinda defeats the altitude atlas,…"
    },
    {
      "date": "2026-10-12",
      "num": "5",
      "head": "SHEET 5",
      "title": "THE DESIGN SPACE",
      "rev": "D",
      "desc": "the server-runtime column gets its platform floor"
    },
    {
      "date": "2026-10-12",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "I",
      "desc": "the alert register box is gone from the plate"
    },
    {
      "date": "2026-10-12",
      "num": "A4",
      "head": "APPENDIX A4",
      "title": "THE ATLAS, SHIPPED",
      "rev": "A",
      "desc": "first printing — the wire survey turned on the atlas's own deploy, at the maintainer's ask: \"for a3 we have the summed blocks of sheet 7? would be nice to have something like sheet…"
    },
    {
      "date": "2026-10-11",
      "num": "5",
      "head": "SHEET 5",
      "title": "THE DESIGN SPACE",
      "rev": "C",
      "desc": "the lineage is drawn in every column — `lit-ui-router-ssr` at build time, `ui-router-server` at server runtime, `lit-ui-router` at client runtime"
    },
    {
      "date": "2026-10-10",
      "num": "14",
      "head": "SHEET 14",
      "title": "THE UPSTREAM WORKS",
      "rev": "A",
      "desc": "first printing — the open-source work the city's surveyor sends upstream since the first commit, and what returns home, at the maintainer's ask: \"think i want a sheet for oss…"
    },
    {
      "date": "2026-10-04",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "F",
      "desc": "the finished model joins the exploded view"
    },
    {
      "date": "2026-10-04",
      "num": "city",
      "head": "SHEET 7 · 3D",
      "title": "THE CITY, IN THE ROUND",
      "rev": "H",
      "desc": "the city in the round as one glTF binary in Google's model-viewer, at the maintainer's ask: \"i think reworking the 3d working city as model viewer like this would be better than…"
    },
    {
      "date": "2026-10-04",
      "num": "plant",
      "head": "SHEET 7B · 3D",
      "title": "THE WORKING CITY, IN THE ROUND",
      "rev": "B",
      "desc": "the working city in the round as one glTF binary in Google's model-viewer, every plant merged per material on its member's roof, at the maintainer's ask: \"i think reworking the 3d…"
    },
    {
      "date": "2026-10-04",
      "num": "A3",
      "head": "APPENDIX A3",
      "title": "THE ATLAS, MEASURED",
      "rev": "A",
      "desc": "first printing — the city census turned on the atlas itself, at the maintainer's ask: \"i think the atlas desires a city render of itself in the appendix, comparing to the rest of…"
    },
    {
      "date": "2026-10-03",
      "num": "city",
      "head": "SHEET 7 · 3D",
      "title": "THE CITY, IN THE ROUND",
      "rev": "G",
      "desc": "every city building is crowned by a working plant"
    },
    {
      "date": "2026-10-03",
      "num": "plant",
      "head": "SHEET 7B · 3D",
      "title": "THE WORKING CITY, IN THE ROUND",
      "rev": "A",
      "desc": "the city stands twice, measured and working"
    },
    {
      "date": "2026-09-27",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "E",
      "desc": "all six runtime companions stand on the plate"
    },
    {
      "date": "2026-09-13",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "H",
      "desc": "RUST is sheet 13's weathering census, read from census-weather.json at origin/main @ 9896b3c1: the member's median idle days"
    },
    {
      "date": "2026-09-12",
      "num": "city",
      "head": "SHEET 7 · 3D",
      "title": "THE CITY, IN THE ROUND",
      "rev": "F",
      "desc": "The masses are drawn on PAPER, the way the flat plates draw them: faces are opaque and remove what stands behind them, the cap takes the tier's own fill and each right-hand wall…"
    },
    {
      "date": "2026-09-07",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "H",
      "desc": "the shopfront's district lettering reads apps/ + www/"
    },
    {
      "date": "2026-09-07",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "H",
      "desc": "re-surveyed at origin/main @ 185d414 after #716 and #717"
    },
    {
      "date": "2026-09-07",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "F",
      "desc": "re-surveyed after #717 moved the documentation site from docs/ to www/lit-ui-router.dev/ and #716 dropped the sample app's markov seed pipeline"
    },
    {
      "date": "2026-09-07",
      "num": "city",
      "head": "SHEET 7 · 3D",
      "title": "THE CITY, IN THE ROUND",
      "rev": "E",
      "desc": "THE STAGE IS VIEWPORT-RELATIVE — 80VH, CAPPED AT 1400PX AND FLOORED AT 520"
    },
    {
      "date": "2026-09-07",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "G",
      "desc": "re-surveyed after #716 dropped the sample app's markov seed pipeline"
    },
    {
      "date": "2026-09-07",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "F",
      "desc": "re-dated after #717 moved the documentation site to www/lit-ui-router.dev/"
    },
    {
      "date": "2026-09-06",
      "num": "1",
      "head": "SHEET 1",
      "title": "THE RENDER LOOP",
      "rev": "G",
      "desc": "the five doors re-cut — each frame tightened to the DIN line it now carries (144 → 116 wide) and the strip hung on the right end of the footer rule, so the band reads title left,…"
    },
    {
      "date": "2026-09-06",
      "num": "1",
      "head": "SHEET 1",
      "title": "THE RENDER LOOP",
      "rev": "F",
      "desc": "fills — every block’s left face and the Tilt plates’ flanks now carry their paper-2 tint, and the right faces their hatch (a stroke class’s fill:none was outranking the fill…"
    },
    {
      "date": "2026-09-06",
      "num": "2A",
      "head": "SHEET 2A",
      "title": "THE COUPLING PLAN",
      "rev": "D",
      "desc": "the two clamped companions re-cut to the line they frame"
    },
    {
      "date": "2026-09-06",
      "num": "2A",
      "head": "SHEET 2A",
      "title": "THE COUPLING PLAN",
      "rev": "C",
      "desc": "fills — the slab tops now carry their paper-2 tint and the right flanks their hatch, sheet 2’s rev C fault in this plate’s own slab helper"
    },
    {
      "date": "2026-09-06",
      "num": "2B",
      "head": "SHEET 2B",
      "title": "THE COUPLING BENCH",
      "rev": "C",
      "desc": "the bow deleted and the bench recomposed in four columns"
    },
    {
      "date": "2026-09-06",
      "num": "2B",
      "head": "SHEET 2B",
      "title": "THE COUPLING BENCH",
      "rev": "B",
      "desc": "the intra-column lit-ui-router-mobx → lit-ui-router tie bowed out of the column, because it ran straight through the navigation plugin standing between them"
    },
    {
      "date": "2026-09-06",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "G",
      "desc": "mass 1’s badge takes the far corner of its roof"
    },
    {
      "date": "2026-09-06",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "F",
      "desc": "fills — every mass’s left-face tint and right-face hatch draw for the first time (the fault sheet 7’s rev C worked around per plate"
    },
    {
      "date": "2026-09-06",
      "num": "3A",
      "head": "SHEET 3A",
      "title": "THE HANDOFF WORKS",
      "rev": "E",
      "desc": "recomposed to the data face — every frame on this plate was drawn to the old mono advance and is now sized to the widest DIN line it holds, so the spine is computed rather than…"
    },
    {
      "date": "2026-09-06",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "G",
      "desc": "the schedule re-ruled — the right column stood half a pixel off the longest //# row, so the band's spare measure is now split evenly into a 40px gutter and a 40px right margin, and…"
    },
    {
      "date": "2026-09-06",
      "num": "5",
      "head": "SHEET 5",
      "title": "THE DESIGN SPACE",
      "rev": "B",
      "desc": "the empty-quarter callout re-cut to the line it frames (330 → 236 wide)"
    },
    {
      "date": "2026-09-06",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "G",
      "desc": "the telemetry box re-cut — the rust ladder had outgrown the wall it was drawn to and ran off the plate, so the reading takes a continuation line and the box is sized to the widest…"
    },
    {
      "date": "2026-09-06",
      "num": "10",
      "head": "SHEET 10",
      "title": "THE BUNDLED CITY",
      "rev": "E",
      "desc": "the paper re-ruled — the five door frames tightened to the DIN line (144 → 116), the structure schedule opened to the plate’s full measure so its two columns get a real gutter…"
    },
    {
      "date": "2026-09-06",
      "num": "10",
      "head": "SHEET 10",
      "title": "THE BUNDLED CITY",
      "rev": "D",
      "desc": "fills — every mass’s left-face tint and right-face hatch draw for the first time (a stroke class’s fill:none was outranking the fill attribute, fixed at the source in helpers.mjs)"
    },
    {
      "date": "2026-09-06",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "E",
      "desc": "fills — every quarter’s left-face tint and right-face hatch draw for the first time (a stroke class’s fill:none was outranking the fill attribute, fixed at the source in…"
    },
    {
      "date": "2026-09-06",
      "num": "12",
      "head": "SHEET 12",
      "title": "THE REGISTER PLATE",
      "rev": "F",
      "desc": "the uncacheable tier’s reason column hangs on the plate’s right margin"
    },
    {
      "date": "2026-09-06",
      "num": "12",
      "head": "SHEET 12",
      "title": "THE REGISTER PLATE",
      "rev": "E",
      "desc": "the ci:main overlay holes and their key swatch now carry the accent hatch (a stroke class’s fill:none was outranking the fill attribute, fixed at the source in helpers.mjs)"
    },
    {
      "date": "2026-09-06",
      "num": "A1",
      "head": "APPENDIX A1",
      "title": "THE SPRITE STUDY",
      "rev": "A",
      "desc": "rolled into the set from the standalone sprite-studies exploration"
    },
    {
      "date": "2026-09-06",
      "num": "A2",
      "head": "APPENDIX A2",
      "title": "THE SURVEY OFFICE",
      "rev": "D",
      "desc": "the external-instrument ledger runs as one column instead of two"
    },
    {
      "date": "2026-09-06",
      "num": "A2",
      "head": "APPENDIX A2",
      "title": "THE SURVEY OFFICE",
      "rev": "C",
      "desc": "the master-snapshot plate now carries its accent hatch (a stroke class’s fill:none was outranking the fill attribute, fixed at the source in helpers.mjs)"
    },
    {
      "date": "2026-09-06",
      "num": "A2",
      "head": "APPENDIX A2",
      "title": "THE SURVEY OFFICE",
      "rev": "A",
      "desc": "first printing — the instrument drawn by itself"
    },
    {
      "date": "2026-09-05",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "C",
      "desc": "hidden line — every brick, plate and stud face is drawn OPAQUE now (a stroke class’s fill:none was outranking the fill attribute, so the flanks were see-through: brick 1’s top edge…"
    },
    {
      "date": "2026-09-05",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "D",
      "desc": "whole-cabinet re-probe — 14 of 16 doors byte-identical, the lint plugin's up 1,917 → 3,510 gz on #689's three new rules and the mobx door 650 → 908 gz at mobx 1.0.0"
    },
    {
      "date": "2026-09-05",
      "num": "12",
      "head": "SHEET 12",
      "title": "THE REGISTER PLATE",
      "rev": "D",
      "desc": "whole-cabinet refresh at eb32b4e — 586 nodes / 177 real, and real→real edges down a quarter to 96"
    },
    {
      "date": "2026-09-04",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "F",
      "desc": "refreshed after the 1.11.2 + mobx 1.0.0 releases"
    },
    {
      "date": "2026-09-04",
      "num": "4",
      "head": "SHEET 4",
      "title": "THE FAMILY SPINE",
      "rev": "E",
      "desc": "this repo's gates — the shared core gate and mobx's own on lit-ui-router"
    },
    {
      "date": "2026-09-04",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "E",
      "desc": "cabinet refresh after the 1.11.2 + mobx 1.0.0 releases"
    },
    {
      "date": "2026-09-04",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "F",
      "desc": "cabinet refresh after the 1.11.2 + mobx 1.0.0 releases"
    },
    {
      "date": "2026-09-04",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "E",
      "desc": "refreshed again after the 1.11.2 + mobx 1.0.0 releases"
    },
    {
      "date": "2026-09-03",
      "num": "1",
      "head": "SHEET 1",
      "title": "THE RENDER LOOP",
      "rev": "E",
      "desc": "the version reads census-files.json — 1.9.0 was a hand-typed relic"
    },
    {
      "date": "2026-09-03",
      "num": "2A",
      "head": "SHEET 2A",
      "title": "THE COUPLING PLAN",
      "rev": "B",
      "desc": "rows read census-bricks.json @ 185d414 — lit-ui-router 1.9.0"
    },
    {
      "date": "2026-09-03",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "E",
      "desc": "the altitude line reads the plates — 44 task names was a hand-typed relic"
    },
    {
      "date": "2026-09-03",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "D",
      "desc": "the task-manager inset reads census-handoff.json + census-plate.json"
    },
    {
      "date": "2026-09-03",
      "num": "3A",
      "head": "SHEET 3A",
      "title": "THE HANDOFF WORKS",
      "rev": "D",
      "desc": "whole-cabinet refresh — mise unmoved a third time, turbo down to 17 files / 96 definitions"
    },
    {
      "date": "2026-09-03",
      "num": "3A",
      "head": "SHEET 3A",
      "title": "THE HANDOFF WORKS",
      "rev": "C",
      "desc": "the vanished tmp/ census is a scripted probe"
    },
    {
      "date": "2026-09-03",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "E",
      "desc": "whole-cabinet refresh — #693 swapped one root guard for two, so the yard is re-platted and the plate stands at 183 real tasks in 28 structures"
    },
    {
      "date": "2026-09-03",
      "num": "4",
      "head": "SHEET 4",
      "title": "THE FAMILY SPINE",
      "rev": "D",
      "desc": "whole-cabinet refresh — the lint plugin's schedule line now prints BOTH its npm version and its in-repo version, which the rc.2 release pulled apart"
    },
    {
      "date": "2026-09-03",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "E",
      "desc": "RE-METERED — census-shadow.mjs is a scripted probe now, so the light is measured at the same ref as the census (metered at origin/main @ 185d414 (2026-09-07))"
    },
    {
      "date": "2026-09-03",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "E",
      "desc": "the LAMPS channel is imported too — plate 7A's light is a filed snapshot now (census-shadow.json, origin/main @ 185d414), so rust is the last editorial channel on this sheet and…"
    },
    {
      "date": "2026-09-03",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "D",
      "desc": "whole-cabinet refresh — the PIPES channel now reads the build graph off census-plate.json (24 real of 114 nodes) instead of a hand-pasted 22 of 113"
    },
    {
      "date": "2026-09-03",
      "num": "city",
      "head": "SHEET 7 · 3D",
      "title": "THE CITY, IN THE ROUND",
      "rev": "D",
      "desc": "THAT SURVEY IS NOW A FILED PLATE, METERED AT THE CITY'S OWN REF"
    },
    {
      "date": "2026-09-03",
      "num": "city",
      "head": "SHEET 7 · 3D",
      "title": "THE CITY, IN THE ROUND",
      "rev": "C",
      "desc": "A SECOND LANE RELIGHTS THE CITY FROM SHEET 7A'S SHADOW SURVEY"
    },
    {
      "date": "2026-09-03",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "F",
      "desc": "whole-cabinet refresh — the HTML pages overtook Inter, measured at origin/main @ b2338d0 (2026-09-04)"
    },
    {
      "date": "2026-09-03",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "E",
      "desc": "every count now imported from diagrams/data/census-shipped.json"
    },
    {
      "date": "2026-09-03",
      "num": "10",
      "head": "SHEET 10",
      "title": "THE BUNDLED CITY",
      "rev": "C",
      "desc": "every byte now read from the census-bundle plate"
    },
    {
      "date": "2026-09-03",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "C",
      "desc": "every byte now read from diagrams/data/census-doors.json"
    },
    {
      "date": "2026-09-03",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "D",
      "desc": "whole-cabinet refresh — 319 dated files, every band re-tested and held"
    },
    {
      "date": "2026-09-03",
      "num": "A2",
      "head": "APPENDIX A2",
      "title": "THE SURVEY OFFICE",
      "rev": "B",
      "desc": "the schedule now clears the instrument ledger however tall the rack grows, and long READ BY lists wrap"
    },
    {
      "date": "2026-09-02",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "C",
      "desc": "census refresh — every mass counted at origin/main @ 185d414 (2026-09-07) from diagrams/data/census-yard.json (scc Code lines), 203 authored files and 13,998 sloc across 17 massed…"
    },
    {
      "date": "2026-09-02",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "D",
      "desc": "every number now imported from diagrams/data/census-mass3b.json"
    },
    {
      "date": "2026-09-02",
      "num": "4",
      "head": "SHEET 4",
      "title": "THE FAMILY SPINE",
      "rev": "C",
      "desc": "every version and publish date imported from census-npm.json (npm registry read 2026-09-07), core and this repo's mass from census-bricks.json"
    },
    {
      "date": "2026-09-02",
      "num": "12",
      "head": "SHEET 12",
      "title": "THE REGISTER PLATE",
      "rev": "C",
      "desc": "every number now imported from diagrams/data/census-plate.json"
    },
    {
      "date": "2026-09-02",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "C",
      "desc": "re-dated off the plate at TODAY = 2026-09-06, with the fifth published package in the universe"
    },
    {
      "date": "2026-09-01",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "C corrected",
      "desc": "every height re-derived on scc 4.0.0 by census-mass3b.mjs"
    },
    {
      "date": "2026-08-31",
      "num": "3A",
      "head": "SHEET 3A",
      "title": "THE HANDOFF WORKS",
      "rev": "B",
      "desc": "census refresh 2026-08-31"
    },
    {
      "date": "2026-08-31",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "C",
      "desc": "re-surveyed at turbo 2.10.11 — the graph grew, the plain widened by a third, and //#lint:elements stopped being a one-line lane"
    },
    {
      "date": "2026-08-31",
      "num": "3B",
      "head": "SHEET 3B",
      "title": "THE WATCHED CITY",
      "rev": "B",
      "desc": "hidden-line pass — opaque walls painted back to front, and the main-line annex reseated clear of the plain’s lettering"
    },
    {
      "date": "2026-08-31",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "D",
      "desc": "recount — three new instruments massed (28 lint-elements, 29 warn-lanes, 30 eslint-ts-parser), and every sloc rebased on scc 4.0.0’s Code count"
    },
    {
      "date": "2026-08-31",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "C",
      "desc": "hidden-line pass — the masses now carry opaque faces and are painted back to front, so no rear iso edge reads through a front wall"
    },
    {
      "date": "2026-08-31",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "D",
      "desc": "footprints refreshed to sheet 7 rev D’s census"
    },
    {
      "date": "2026-08-31",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "C",
      "desc": "lettering pass — no district boundary is drawn through a caption"
    },
    {
      "date": "2026-08-31",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "C",
      "desc": "30 plants (three new machines), rust ladder RE-CUT on the fresh idle distribution"
    },
    {
      "date": "2026-08-31",
      "num": "7B",
      "head": "SHEET 7B",
      "title": "THE WORKING CITY",
      "rev": "B",
      "desc": "hidden-line pass — opaque plant walls painted back to front, and the pipes now stop inside the annex gap"
    },
    {
      "date": "2026-08-31",
      "num": "8",
      "head": "SHEET 8",
      "title": "THE DELIVERED CITY",
      "rev": "D",
      "desc": "hidden-line pass — opaque faces, masses painted back to front, no rear wall through a front one"
    },
    {
      "date": "2026-08-31",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "D",
      "desc": "hidden-line pass — opaque tenant walls painted back to front"
    },
    {
      "date": "2026-08-31",
      "num": "12",
      "head": "SHEET 12",
      "title": "THE REGISTER PLATE",
      "rev": "B",
      "desc": "census refresh 2026-08-31 — three new members, three new rows, the phantom share held"
    },
    {
      "date": "2026-08-31",
      "num": "13",
      "head": "SHEET 13",
      "title": "THE WEATHERING MAP",
      "rev": "B",
      "desc": "drafting pass — the timeline rows now clear their own tallest bar, and no badge sits on a caption"
    },
    {
      "date": "2026-08-17",
      "num": "7A",
      "head": "SHEET 7A",
      "title": "THE SHADOW SURVEY",
      "rev": "B",
      "desc": "polarity corrected — the tests are the light, shadow is the untested"
    },
    {
      "date": "2026-08-17",
      "num": "8",
      "head": "SHEET 8",
      "title": "THE DELIVERED CITY",
      "rev": "C",
      "desc": "recounted after the lit de-duplication · 2026-08-17"
    },
    {
      "date": "2026-08-16",
      "num": "1",
      "head": "SHEET 1",
      "title": "THE RENDER LOOP",
      "rev": "D",
      "desc": "the loop routed on the iso grid"
    },
    {
      "date": "2026-08-16",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "B",
      "desc": "the companions redrawn as an exploded LEGO assembly, every coupling named to its API call, source counted at origin/main @ 185d414 (2026-09-07)"
    },
    {
      "date": "2026-08-16",
      "num": "7",
      "head": "SHEET 7",
      "title": "THE MEASURED CITY",
      "rev": "B",
      "desc": "districts, gate severity in colour, and the roads between them"
    },
    {
      "date": "",
      "num": "2",
      "head": "SHEET 2",
      "title": "THE BRICK ASSEMBLY",
      "rev": "A",
      "desc": "Why bricks. Rev A drew these packages as sockets and panels and conceded the form broke. The mechanism they actually share is a standardised coupling: each companion attaches to…"
    },
    {
      "date": "",
      "num": "2A",
      "head": "SHEET 2A",
      "title": "THE COUPLING PLAN",
      "rev": "A",
      "desc": "This plate is the legibility companion to sheet 2. The exploded assembly (sheet 2, THE BRICK ASSEMBLY) shows the whole stack and where every brick falls"
    },
    {
      "date": "",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "A",
      "desc": "Mass is volume; volume does not predict authority. Footprint side is 1.6"
    },
    {
      "date": "",
      "num": "3",
      "head": "SHEET 3",
      "title": "THE INSTRUMENT YARD",
      "rev": "B",
      "desc": "caption: 'The monorepo drawn as what it functionally is: a short conveyor that turns source into one tarball, inside a yard of instruments built to measure that tarball. Rev B…"
    },
    {
      "date": "",
      "num": "3A",
      "head": "SHEET 3A",
      "title": "THE HANDOFF WORKS",
      "rev": "A",
      "desc": "Method — one census, cited throughout. Every count on this plate comes from a fresh 2026-08-17 census of the repo at HEAD: the 11 workflow files, all 17 turbo.json files,…"
    },
    {
      "date": "",
      "num": "4",
      "head": "SHEET 4",
      "title": "THE FAMILY SPINE",
      "rev": "B",
      "desc": "caption: `Not a loop and not a city: a spine. Every limb shares @uirouter/core and none of the limbs talk to each other"
    },
    {
      "date": "",
      "num": "8",
      "head": "SHEET 8",
      "title": "THE DELIVERED CITY",
      "rev": "A",
      "desc": "The drawing changed the city — twice. Rev A drew lodash 4.18.1 as the tallest building on the skyline"
    },
    {
      "date": "",
      "num": "8",
      "head": "SHEET 8",
      "title": "THE DELIVERED CITY",
      "rev": "B",
      "desc": "${txt(1120, 48, 'rev B drew the lit stack twice (2.8.0"
    },
    {
      "date": "",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "A",
      "desc": "The ghost district was the instrument, twice. Rev A reported twelve orphan files, 138 KB of dead weight in every deploy"
    },
    {
      "date": "",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "B",
      "desc": "The panel that waited its turn. The api-viewer docs panel"
    },
    {
      "date": "",
      "num": "9",
      "head": "SHEET 9",
      "title": "THE SHIPPED CITY",
      "rev": "C",
      "desc": "The product is a guest in its own city. The three routed sample apps"
    },
    {
      "date": "",
      "num": "10",
      "head": "SHEET 10",
      "title": "THE BUNDLED CITY",
      "rev": "A",
      "desc": "The déjà vu is gone. Rev A's one redundancy tree-shaking could not reach"
    },
    {
      "date": "",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "A",
      "desc": "The server is a storefront, not a tower. Eight doors: an index at ${fmt(SRV.gz)} gz"
    },
    {
      "date": "",
      "num": "11",
      "head": "SHEET 11",
      "title": "THE ENTRY QUARTERS",
      "rev": "B",
      "desc": "// graduated after rev B, so it takes 16 and leaves rev B's numbering intact."
    }
  ],
  "sheets": [
    {
      "id": "1",
      "num": "1",
      "title": "THE RENDER LOOP",
      "sub": "ALTITUDE 1 — lit-ui-router 1.19.0 · the client circuit drawn as one isometric scene: every leg of the loop is a road on the grid, the document a browser window whose DOM rises in plates, and the six package entries a door strip along the footer · version read from census-files.json",
      "caption": "The loop sits on the ground: every leg is a road that turns along the iso axes and stops short of the wall it points at. The city breaks its metaphor once, on purpose — the document is not a building but a browser window whose DOM rises in plates. The core matches, the hall runs its hook bays, Lit commits onto a layer, and a click on the topmost plate flies back to location.",
      "scale": "ONE PACKAGE",
      "verdict": "strong fit — the render cycle is a genuine circuit",
      "form": "ISO CIRCUIT",
      "labels": {
        "subject": "circuit",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "H",
      "file": "sheets/1.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-files.json"
      ],
      "thumb": {
        "light": "thumbs/1.webp",
        "dark": "thumbs/1-dark.webp"
      },
      "refs": [
        "1A"
      ]
    },
    {
      "id": "1a",
      "num": "1A",
      "title": "THE DOCUMENT, DIMENSIONED",
      "sub": "ALTITUDE 1 — ALTERNATE PLATE: sheet 1’s document at reading size — the sample app’s contacts page at /app/contacts/fruiz, measured in Chromium at 1280 and 390 wide and drawn as slots with chained codes, three details and the layer stack sheet 1 raises · rows read census-document.json @ 3f55e419, measured on the vanilla build at eca2d156",
      "caption": "The contacts page of the sample app, drawn the way a dimensional drawing draws a component: the shell's nav, the named view it fills, the list that hugs its rows and the nested view that flexes beside it, every distance a code. At 390 the row wraps and the nested view drops under the list. The stack at the lower right is the page's layers from the window to the link, the plates sheet 1 raises.",
      "scale": "ONE PAGE",
      "verdict": "alternate plate — sheet 1's document at reading size: the sample app's contacts page measured in Chromium, 25 rows in a list that hugs W1 beside a nested view that flexes and wraps under it at 390, one geometry for all four sample apps",
      "form": "DIMENSIONED PLAN",
      "labels": {
        "subject": "sample",
        "projection": "plan",
        "mode": "static"
      },
      "rev": "A",
      "file": "sheets/1a.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-document.json"
      ],
      "thumb": {
        "light": "thumbs/1a.webp",
        "dark": "thumbs/1a-dark.webp"
      },
      "refs": [
        "1"
      ]
    },
    {
      "id": "1i",
      "num": "1i",
      "title": "THE RENDER LOOP, WALKED",
      "sub": "ALTITUDE 1 — sheet 1's circuit, stepped · one navigation walked leg by leg · 10 STATIONS · 12 LEGS · 12 STEPS · surveyed at origin/main @ 3f55e419 (commit 2026-10-30)",
      "caption": "The circuit, stood up and stepped. 10 stations and 12 legs, then one click — a click on &lt;a uiSref&gt; from /people to /people/32 — walked in 12 steps under the pointer, every step standing on the 30 source lines the plate cites verbatim.",
      "scale": "ONE PACKAGE",
      "verdict": "sheet 1's circuit with a pointer in it — 10 stations, 12 legs, and one click walked in 12 steps, every step standing on the source lines the plate cites verbatim",
      "form": "INTERACTIVE CIRCUIT",
      "labels": {
        "subject": "circuit",
        "projection": "graph",
        "mode": "interactive"
      },
      "rev": "A",
      "file": "sheets/1i.html",
      "interactive": true,
      "needsCytoscape": true,
      "plates": [
        "census-loop.json"
      ],
      "thumb": {
        "light": "thumbs/1i.webp",
        "dark": "thumbs/1i-dark.webp"
      },
      "refs": [
        "1"
      ]
    },
    {
      "id": "2",
      "num": "2",
      "title": "THE BRICK ASSEMBLY",
      "sub": "ALTITUDE 2 — one baseplate, ten bricks, 89 authored files · an exploded LEGO assembly with every coupling named to the API call that makes it, brick and stud faces drawn opaque so nothing reads through a mass in front of it · REV J 2026-10-24: ui-router-registry takes schedule row 11, a compile-time part beside the lint plugin — types only, no stud, not drawn · source counted at origin/main @ 3f55e419 (2026-10-31)",
      "caption": "Every companion drawn here enters through a published stud — on @uirouter/core, or on a brick that publishes one of its own. Drawn exploded, the sheet answers the only question that matters about a plugin architecture: pull any brick off and what breaks? Only what stands on it or peers it — four bricks seat on lit-ui-router, one of them on the server too, three of them peering a brick on the plate — and the plate’s studs stay where they are.",
      "scale": "COMPANIONS",
      "verdict": "exploded, then seated: every coupling is a published stud, on core or on the brick below — and the server takes none of core’s",
      "form": "BRICK ASSEMBLY",
      "labels": {
        "subject": "coupling",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "K",
      "file": "sheets/2.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bricks.json",
        "census-couplings.json"
      ],
      "thumb": {
        "light": "thumbs/2.webp",
        "dark": "thumbs/2-dark.webp"
      },
      "refs": [
        "3",
        "4"
      ]
    },
    {
      "id": "2a",
      "num": "2A",
      "title": "THE COUPLING PLAN",
      "sub": "ALTITUDE 2 — ALTERNATE PLATE: the ten companions sheet 2 schedules, laid out for reading — core central as a socket wall, companions at its right, the server below the no-DOM line — with every coupling drawn disengaged and lettered to its API call · rows read census-bricks.json @ 3f55e419",
      "caption": "The brick assembly, uncoupled and brought down to one elevation: core as a socket wall, companions as shallow blocks drawn just short of seated, and each of the six connection points on the wall — five published studs and one keyed red seat — large enough to letter its API call on the joint itself. Eight more joints are companion-to-companion, and one of those spans both halves of the plate.",
      "scale": "COMPANIONS",
      "verdict": "alternate plate — the same joints at reading size: eight companion-to-companion joints from four companions, four of them two-armed, and ssr's arm bridges the flagship and the server across the no-DOM line",
      "form": "COUPLING PLAN",
      "labels": {
        "subject": "coupling",
        "projection": "plan",
        "mode": "static"
      },
      "rev": "J",
      "file": "sheets/2a.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bricks.json",
        "census-couplings.json"
      ],
      "thumb": {
        "light": "thumbs/2a.webp",
        "dark": "thumbs/2a-dark.webp"
      },
      "refs": [
        "2",
        "2C",
        "2E",
        "2F",
        "4"
      ]
    },
    {
      "id": "2b",
      "num": "2B",
      "title": "THE COUPLING BENCH",
      "sub": "ALTITUDE 2 — INTERACTIVE PLATE: sheet 2A’s joints made live · 14 nodes in five columns, every tie a straight run · each of the 27 drawn edges is a published contract, with its declared range under the pointer",
      "caption": "The same assembly as sheets 2 and 2A, reduced to what a consumer's installer actually reads: 14 buildings and 27 contracts. Hover an edge for the range it declares and the section it lives in; hover a building for its version, what it declares, and what declares it.",
      "scale": "COMPANIONS, CONTRACTED",
      "verdict": "2A’s joints made live — every one of the 27 drawn edges is a published contract with its declared range under the pointer: 36 peers to 3 dependencies across the 12 packages, and no dependency is a router",
      "form": "INTERACTIVE COUPLING GRAPH",
      "labels": {
        "subject": "coupling",
        "projection": "graph",
        "mode": "interactive"
      },
      "rev": "I",
      "file": "sheets/2b.html",
      "interactive": true,
      "needsCytoscape": true,
      "plates": [
        "census-bricks.json",
        "census-couplings.json"
      ],
      "thumb": {
        "light": "thumbs/2b.webp",
        "dark": "thumbs/2b-dark.webp"
      },
      "refs": [
        "2",
        "2A"
      ]
    },
    {
      "id": "2c",
      "num": "2C",
      "title": "THE ALTERNATE BUILDS",
      "sub": "ALTITUDE 2 — SIBLING PLATE, THE ECOSYSTEM: one box of twelve family bricks at sheet 2’s mould and nine runtimes as stacks of baseplates sized from one shipped build at the same scale, and the ten alternate models the repository’s own consumers build from it, and an eleventh the atlas’s own app builds on its own branch — each model the parts one consumer pins, on the plates they peer · rows read census-builds.json, both readings, and census-peers.json @ 3f55e419",
      "caption": "One box, eleven models. The sample apps, the docs site and the examples pin ten distinct sets of family parts, and the atlas’s own app pins an eleventh on its own branch; each set is drawn as the small assembly it makes on the runtime plates its parts peer, under a callout of its parts: effect, mobx and signal-polyfill share no model, no bricks stay in the box at the cabinet’s tree and no bricks with the atlas app, and one plate carries nothing at the cabinet’s tree and one with the atlas app.",
      "scale": "ONE BOX, ELEVEN BUILDS",
      "verdict": "alternate builds from one box: ten builds pinned by 20 consumers, vanilla the most built by six, and an eleventh, the atlas, by the atlas’s own app on its own branch, none mixing two of effect, mobx and signal-polyfill; every part is in a build at the cabinet’s tree, and hono is a plate no build stands on at the cabinet’s tree, hono with the atlas app too",
      "form": "BUILD INSTRUCTIONS",
      "labels": {
        "subject": "coupling",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "D",
      "file": "sheets/2c.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bricks.json",
        "census-builds.json",
        "census-couplings.json",
        "census-peers.json"
      ],
      "thumb": {
        "light": "thumbs/2c.webp",
        "dark": "thumbs/2c-dark.webp"
      },
      "refs": [
        "2",
        "A4"
      ]
    },
    {
      "id": "2e",
      "num": "2E",
      "title": "THE CONSUMER BUILDS",
      "sub": "ALTITUDE 2 — SIBLING PLATE, THE CONSUMERS: the twenty consumers in the cabinet’s tree and the atlas’s own app as bricks at sheet 2’s mould, each seated on the family parts it pins · rows read census-consumers.json, both readings, @ 3f55e419",
      "caption": "The repository's own consumers drawn as bricks on the family they pin. Nineteen of twenty-one pin lit-ui-router, brick 1; sample-app-lit-e2e pins no family part; the atlas app, on its own branch, is the heaviest at 32 studs.",
      "scale": "TWENTY-ONE CONSUMERS",
      "verdict": "the consumers as bricks: twenty-one consumers, twenty in the cabinet’s tree and the atlas app on its own branch; nineteen pin brick 1, lit-ui-router, and sample-app-lit-e2e pins none; the atlas app is the heaviest at 32 studs, sample-app-shared the tallest at 15 courses",
      "form": "BUILD INSTRUCTIONS",
      "labels": {
        "subject": "coupling",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "D",
      "file": "sheets/2e.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bricks.json",
        "census-builds.json",
        "census-couplings.json",
        "census-peers.json"
      ],
      "thumb": {
        "light": "thumbs/2e.webp",
        "dark": "thumbs/2e-dark.webp"
      },
      "refs": [
        "2",
        "2C"
      ]
    },
    {
      "id": "2f",
      "num": "2F",
      "title": "THE PINNED BUILDS",
      "sub": "ALTITUDE 2 — SIBLING PLATE, THE PINS: the twenty consumers in the cabinet’s tree and the atlas’s own app as stacks of what they pin, a course per family part and a plate per runtime dependency, each read where its installer reads it — the tree for a pnpm member, its own lockfile for an npm consumer — against npm’s latest · rows read census-pins.json, both readings, @ 3f55e419",
      "caption": "The consumers' pins, layer by layer, in sheet 2C's builds. The eight pnpm members read their 18 family pins from the tree; the thirteen npm consumers, the examples and the atlas app, read their 34 from their own lockfiles. Pins trailing npm's latest: none.",
      "scale": "TWENTY-ONE CONSUMERS, PIN BY PIN",
      "verdict": "the consumers’ pins, layer by layer: eight pnpm members read 18 family pins from the tree and thirteen npm consumers, the atlas app among them, read 34 from their own lockfiles; pins trailing npm’s latest: none",
      "form": "BUILD INSTRUCTIONS",
      "labels": {
        "subject": "coupling",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "C",
      "file": "sheets/2f.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bricks.json",
        "census-builds.json",
        "census-couplings.json",
        "census-peers.json",
        "census-pins.json"
      ],
      "thumb": {
        "light": "thumbs/2f.webp",
        "dark": "thumbs/2f-dark.webp"
      },
      "refs": [
        "2",
        "2C",
        "2E"
      ]
    },
    {
      "id": "3",
      "num": "3",
      "title": "THE INSTRUMENT YARD",
      "sub": "ALTITUDE 3 — 12 publishable packages · 27 tools · 96 turbo task names · one packer, many readers · every mass counted at origin/main @ 3f55e419 (2026-10-31) from www/atlas.lit-ui-router.dev/data/census-yard.json on scc Code lines — 396 authored files and 32,205 sloc across 18 massed structures, with the task-manager inset reading the same two plates sheet 3A draws",
      "caption": "The monorepo drawn as what it functionally is: a short conveyor that turns source into one tarball, inside a yard of instruments built to measure that tarball. Every structure carries its measured mass — footprint ∝ √sloc, height ∝ authored files — and gate severity is colour rather than height, because the two do not correlate: the blocks that stop the line are among the smallest on the sheet.",
      "scale": "MONOREPO",
      "verdict": "the yard re-massed from sloc × files — gate severity in colour: the smallest blocks stop the line; the task-manager inset reads the same plates as 3A, so the two cannot disagree",
      "form": "ISOMETRIC CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "isometric"
      },
      "rev": "I",
      "file": "sheets/3.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-files.json",
        "census-handoff.json",
        "census-plate.json",
        "census-yard.json"
      ],
      "thumb": {
        "light": "thumbs/3.webp",
        "dark": "thumbs/3-dark.webp"
      },
      "refs": [
        "3A",
        "4"
      ]
    },
    {
      "id": "3a",
      "num": "3A",
      "title": "THE HANDOFF WORKS",
      "sub": "ALTITUDE 3 · ALTERNATE PLATE — the sheet-3 task-manager inset at full size: 9 of 14 workflows · 65 mise tasks in 4 homes · turbo ci 1251 nodes, 332 real · 4 seam types · 3 service doors · every frame sized to the widest DIN line it holds, so the spine is computed rather than hand-set · every count imported from www/atlas.lit-ui-router.dev/data/census-handoff.json + census-plate.json · counted at origin/main @ 3f55e419 (2026-10-31)",
      "caption": "The two task managers drawn as the two machines they are — mise the node-free umbrella, turbo the cached fan-out — with the seams as the featured parts: every crossing is a bolted gasket labeled with what crosses it and what the boundary buys. The star fitting is the cache gasket on the return duct: turbo caches mise, because the six re-entrant lint lanes hash the mise task files and mise.lock, so a tool-pin bump invalidates exactly its own lane.",
      "scale": "TWO TASK MANAGERS",
      "verdict": "turbo caches mise — and the loop is a DAG in a loop costume: the 7 tasks that shell turbo and the 8 turbo re-enters never touch; every count imported, turbo at 153 definitions in 31 files",
      "form": "COUPLING SCHEMATIC",
      "labels": {
        "subject": "coupling",
        "projection": "schematic",
        "mode": "static"
      },
      "rev": "F",
      "file": "sheets/3a.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-handoff.json",
        "census-plate.json"
      ],
      "thumb": {
        "light": "thumbs/3a.webp",
        "dark": "thumbs/3a-dark.webp"
      },
      "refs": [
        "12"
      ]
    },
    {
      "id": "3b",
      "num": "3B",
      "title": "THE WATCHED CITY",
      "sub": "ALTITUDE 3 · ALTERNATE PLATE B — the PR ci graph as a city: 332 real tasks in 36 massed structures · footprint = watched files (21,118 task-file hashes) · height = command sloc (5,870) · 919 phantom plots · every number imported from www/atlas.lit-ui-router.dev/data/census-mass3b.json, surveyed at origin/main @ 3f55e419 (2026-10-31)",
      "caption": "The pull-request graph that plate 3A traced as plumbing, surveyed here as ground: every real task massed by what it watches (footprint) and what it actually executes (height). The survey’s verdict is flatness — 255 of 332 blocks are a single script line riding an external binary — which makes the exceptions legible at a glance: a 372-line test tower on a 111-file lot, and a 592-file plain patrolled by 21 lines of command.",
      "scale": "CI TASK GRAPH",
      "verdict": "footprint = watched files, height = command sloc — 255 of 332 tasks are one-line pads; the tallest is the 373-sloc @tools/dts-backtest#test tower",
      "form": "ISOMETRIC GRAPH CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "isometric graph"
      },
      "rev": "M",
      "file": "sheets/3b.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-files.json",
        "census-mass3b.json",
        "census-plate.json"
      ],
      "thumb": {
        "light": "thumbs/3b.webp",
        "dark": "thumbs/3b-dark.webp"
      },
      "refs": [
        "3",
        "12"
      ]
    },
    {
      "id": "4",
      "num": "4",
      "title": "THE FAMILY SPINE",
      "sub": "ALTITUDE 4 — one core, four living adapters, four dormant instruments, massed by authored source and gated on the core range each admits · versions npm registry read 2026-10-31, mass counted at origin/main @ 3f55e419 (2026-10-31)",
      "caption": "Not a loop and not a city: a spine. Every limb shares @uirouter/core and no limb talks to another, so the honest drawing is radial. Each block is massed from its own authored source and each stem crosses a gate naming the core range that limb admits — and the gates do not agree.",
      "scale": "ECOSYSTEM",
      "verdict": "every limb re-massed from sloc × files — one red gate: @uirouter/react pins core as a dependency",
      "form": "MASSED SPINE",
      "labels": {
        "subject": "spine",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "J",
      "file": "sheets/4.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bricks.json",
        "census-couplings.json",
        "census-npm.json"
      ],
      "thumb": {
        "light": "thumbs/4.webp",
        "dark": "thumbs/4-dark.webp"
      },
      "refs": [
        "2"
      ]
    },
    {
      "id": "5",
      "num": "5",
      "title": "THE DESIGN SPACE",
      "sub": "ALTITUDE 5 — eleven entries placed by where matching happens and who owns navigation, shape marking the source of truth · positions are editorial, argued in the notes",
      "caption": "No mechanism connects these projects, so an edge between them would be fiction; the one line on the sheet runs inside the lineage, where sheet 2 draws the mechanism. What is real is position: where matching happens, who owns navigation, and — the squares — whether the URL or a state tree is the source of truth.",
      "scale": "JS ECOSYSTEM",
      "verdict": "no shared mechanism — position, not edges",
      "form": "POSITIONED CHART",
      "labels": {
        "subject": "space",
        "projection": "chart",
        "mode": "static"
      },
      "rev": "D",
      "file": "sheets/5.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [],
      "thumb": {
        "light": "thumbs/5.webp",
        "dark": "thumbs/5-dark.webp"
      },
      "refs": [
        "1",
        "2"
      ]
    },
    {
      "id": "6",
      "num": "6",
      "title": "THE ROUTING STRATA",
      "sub": "ALTITUDE 6 — routing in general · the altitude where prose outranks pictures",
      "caption": "At the widest altitude the only shared structure is a definition, so the drawing shrinks to a core sample and the writing does the work: five strata, one invariant triple.",
      "scale": "EVERYTHING",
      "verdict": "prose outranks pictures; one small column earns its place",
      "form": "CORE SAMPLE",
      "labels": {
        "subject": "sample",
        "projection": "section",
        "mode": "static"
      },
      "rev": "A",
      "file": "sheets/6.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [],
      "thumb": {
        "light": "thumbs/6.webp",
        "dark": "thumbs/6-dark.webp"
      },
      "refs": [
        "1"
      ]
    },
    {
      "id": "7",
      "num": "7",
      "title": "THE MEASURED CITY",
      "sub": "ALTITUDE 3½ — the same city as sheet 3, surveyed by mass · 52 members in 4 districts, footprint ∝ √sloc, height ∝ authored files, spec mass drawn as an annex, gate severity in colour · counted at origin/main @ 3f55e419 (2026-10-31)",
      "caption": "Sheet 3 drew the monorepo as a process; this sheet counts who lives in it. Footprint ∝ √sloc, height ∝ authored files, tests drawn as annexes rather than deleted — and over that census the two things a census alone cannot say: which district each member belongs to, and which roads run between them. Every road is a workspace dependency or a turbo task edge, never an impression.",
      "scale": "MONOREPO, MEASURED",
      "verdict": "the census with districts and roads — tests as annexes, every edge cited: the 14-line harness stops every PR, and all 52 members are measured on the scc ruler",
      "form": "MEASURED CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "measured"
      },
      "rev": "K",
      "file": "sheets/7.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-city.json",
        "census-files.json",
        "census-plate.json",
        "census-shipped.json"
      ],
      "thumb": {
        "light": "thumbs/7.webp",
        "dark": "thumbs/7-dark.webp"
      },
      "refs": [
        "3"
      ]
    },
    {
      "id": "7a",
      "num": "7A",
      "title": "THE SHADOW SURVEY",
      "sub": "ALTITUDE 3½ — ALTERNATE PLATE TO SHEET 7: the measured city under its own test light · same city as sheet 7, 52 members · reach = the source each suite loads, brightness = line coverage of what it loads · metered at origin/main @ 3f55e419 (2026-10-31)",
      "caption": "This plate asks which members of sheet 7’s city ever stand in test light. Every member’s own suite runs under a coverage meter, and its light is drawn to two rules: reach, how much of the member’s source the suite loads; brightness, the line coverage of what it loads. The finding is a repo-wide habit visible from the air: the light is bright far more often than it is wide.",
      "scale": "MONOREPO, TESTED",
      "verdict": "the shadow survey — the tests are the light: where a suite reaches it burns near-full — 37 members read under their own suites' meters at 3f55e419, so the light and the census are one measurement",
      "form": "SHADOW PLAN",
      "labels": {
        "subject": "survey",
        "projection": "plan",
        "mode": "static"
      },
      "rev": "I",
      "file": "sheets/7a.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-city.json",
        "census-files.json",
        "census-plate.json",
        "census-shadow.json",
        "census-shipped.json"
      ],
      "thumb": {
        "light": "thumbs/7a.webp",
        "dark": "thumbs/7a-dark.webp"
      },
      "refs": [
        "7"
      ]
    },
    {
      "id": "7b",
      "num": "7B",
      "title": "THE WORKING CITY",
      "sub": "ALTITUDE 3½ — SYNTHESIS PLATE TO SHEET 7: the census city as a working plant · weathering (13) × test light (7A) × gates (7) × live build, one sprite per member · steam window 2026-08-02..2026-10-30 · counted at origin/main @ 3f55e419 (2026-10-31)",
      "caption": "Sheet 7 counted the city, sheet 13 dated its stone, plate 7A metered its test light. This plate turns the same city on: every member becomes a Working Plant sprite in the Factorio sense — a machine whose state is broadcast, not implied. The alert channel is drawn and empty: no gate in the city is red at HEAD.",
      "scale": "MONOREPO, RUNNING",
      "verdict": "the synthesis plate — rust, steam, lamps and pipes on one city: 50 plants run and every pipe connects on 47 green build tasks, 37 carry metered lamps, and the alert channel stands empty — no gate is red at HEAD",
      "form": "WORKING CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "working"
      },
      "rev": "J",
      "file": "sheets/7b.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-city.json",
        "census-files.json",
        "census-plate.json",
        "census-shadow.json",
        "census-shipped.json",
        "census-steam.json",
        "census-weather.json"
      ],
      "thumb": {
        "light": "thumbs/7b.webp",
        "dark": "thumbs/7b-dark.webp"
      },
      "refs": [
        "7",
        "13"
      ]
    },
    {
      "id": "8",
      "num": "8",
      "title": "THE DELIVERED CITY",
      "sub": "ALTITUDE 1½ — what npm actually installs for one consumer · sample-app-lit-vanilla · 33 delivered packages, 180,509 lines of code and 43,999 d.ts lines on disk, footprint from files and height from lines — measured at origin/main @ 3f55e419 (2026-10-31), closure of apps/sample-app-lit-vanilla",
      "caption": "The production dependency closure of one sample app, surveyed on disk: every delivered package as a building — footprint from file count, height from lines — with the consumer’s own 646-line building standing in the city it summoned.",
      "scale": "ONE CONSUMER",
      "verdict": "node_modules surveyed — 33 delivered packages, 279× the app that installs them",
      "form": "DELIVERED CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "delivered"
      },
      "rev": "F",
      "file": "sheets/8.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-nm.json"
      ],
      "thumb": {
        "light": "thumbs/8.webp",
        "dark": "thumbs/8-dark.webp"
      },
      "refs": [
        "7",
        "9"
      ]
    },
    {
      "id": "9",
      "num": "9",
      "title": "THE SHIPPED CITY",
      "sub": "ALTITUDE 2¾ — what the browser downloads · lit-ui-router.dev, one deploy · 1,771 files in 15 districts, 8.0 MB on the wire, footprint from file count and height from gzipped bytes — measured at origin/main @ 3f55e419 (2026-10-30) · www/atlas.lit-ui-router.dev/generator/census-shipped.mjs",
      "caption": "The production docs deploy surveyed on the wire: 1,771 files, 8.0 MB gzipped, drawn as 15 districts — the tallest towers are prerendered prose and font files, the routed apps are 400 KB of accent buildings in their own city, and there is no ghost block: the deploy carries no unreachable files at all.",
      "scale": "ONE DEPLOY",
      "verdict": "the wire survey — the deploy's tallest district is html pages at 3668 KB, and the lettering alone outweighs every routed app the site exists to demonstrate (849 KB against 400 KB)",
      "form": "SHIPPED CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "shipped"
      },
      "rev": "I",
      "file": "sheets/9.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-shipped.json"
      ],
      "thumb": {
        "light": "thumbs/9.webp",
        "dark": "thumbs/9-dark.webp"
      },
      "refs": [
        "7",
        "8",
        "10"
      ]
    },
    {
      "id": "10",
      "num": "10",
      "title": "THE BUNDLED CITY",
      "sub": "ALTITUDE 2⅞ — inside the wire: what the bundler kept · one production bundle: 14 package groups in 18 chunks, 126,866 gz, footprint from source kept and height from wire share — apps/sample-app-lit-vanilla · counted at origin/main @ 3f55e419 (2026-10-30)",
      "caption": "One shipped bundle opened up: every package that survived tree-shaking as a building — footprint from source kept, height from gzipped wire share — and the machine the router wraps, the chrome that demos it, and the app that uses it stand as three districts summing to 123.9 KB.",
      "scale": "ONE BUNDLE",
      "verdict": "tree-shaking’s verdict — core is 21.0%, the router 6.4% — one lit",
      "form": "BUNDLED CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "bundled"
      },
      "rev": "F",
      "file": "sheets/10.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bundle.json",
        "census-doors.json",
        "census-files.json",
        "census-shipped.json"
      ],
      "thumb": {
        "light": "thumbs/10.webp",
        "dark": "thumbs/10-dark.webp"
      },
      "refs": [
        "9",
        "11"
      ]
    },
    {
      "id": "11",
      "num": "11",
      "title": "THE ENTRY QUARTERS",
      "sub": "ALTITUDE 2⅞ — the same wire, cut by published package · every exported entry priced alone · 35 doors in 12 package quarters, footprint from minified bytes and height from gzipped, dependencies external — counted at origin/main @ 3f55e419 (2026-10-30)",
      "caption": "The split view to sheet 10’s unified city: every exported entry of every publishable package bundled alone and priced — 12 package quarters, 35 doors, the codecov bundle-analysis series drawn as skylines.",
      "scale": "TWELVE PACKAGES",
      "verdict": "the split view — 35 doors priced alone across 12 quarters; the cheapest is ui-router-registry «.» at 20 b, an empty emit, and the registry’s and the lint plugin’s are the five doors no browser opens",
      "form": "ENTRY QUARTERS",
      "labels": {
        "subject": "quarters",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "N",
      "file": "sheets/11.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-bricks.json",
        "census-bundle.json",
        "census-couplings.json",
        "census-doors.json",
        "census-files.json",
        "census-npm.json"
      ],
      "thumb": {
        "light": "thumbs/11.webp",
        "dark": "thumbs/11-dark.webp"
      },
      "refs": [
        "2",
        "4",
        "10"
      ]
    },
    {
      "id": "12",
      "num": "12",
      "title": "THE REGISTER PLATE",
      "sub": "ALTITUDE 3¼ — the monorepo as its CI reads it · every task node punched · surveyed at origin/main @ 3f55e419 (2026-10-31) · turbo 2.11.10",
      "caption": "The pull-request graph is a near-rectangle: 52 packages against 26 fanned task names, plus a ragged tail of 39 one-offs. 73% of the holes are unpunched — placeholder nodes that run nothing, minted so a ^self chain has somewhere to land an edge or an umbrella something to fan out from.",
      "scale": "PR CI GRAPH",
      "verdict": "the punched inventory — 73% of the graph runs nothing, and the real→real edges that remain are a thin core inside a large node count",
      "form": "REGISTER PLATE",
      "labels": {
        "subject": "register",
        "projection": "chart",
        "mode": "static"
      },
      "rev": "G",
      "file": "sheets/12.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-handoff.json",
        "census-plate.json"
      ],
      "thumb": {
        "light": "thumbs/12.webp",
        "dark": "thumbs/12-dark.webp"
      },
      "refs": [
        "3"
      ]
    },
    {
      "id": "12i",
      "num": "12i",
      "title": "THE REGISTER, WALKED",
      "sub": "ALTITUDE 3¼ — sheet 12's plate, live under the pointer · the whole ci graph carried node by node · 1,251 NODES · 332 RUN A COMMAND · 5,250 EDGES · 283 JOIN TWO REAL TASKS · surveyed at origin/main @ 3f55e419 (commit 2026-10-30) · turbo 2.11.10",
      "caption": "The punchcard, stood up. Default view is the real subgraph alone — 332 tasks that run a command over 283 edges that join two of them. PHANTOM SHROUD floods in the other 919 nodes and 4,967 edges, and 73.5% of the graph stops being a statistic.",
      "scale": "PR CI GRAPH",
      "verdict": "sheet 12's punchcard with a pointer in it — the whole ci graph carried node by node, real subgraph by default, and one checkbox that floods the 73% that runs nothing",
      "form": "INTERACTIVE REGISTER",
      "labels": {
        "subject": "register",
        "projection": "graph",
        "mode": "interactive"
      },
      "rev": "A",
      "file": "sheets/12i.html",
      "interactive": true,
      "needsCytoscape": true,
      "plates": [
        "census-plate.json"
      ],
      "thumb": {
        "light": "thumbs/12i.webp",
        "dark": "thumbs/12i-dark.webp"
      },
      "refs": [
        "12"
      ]
    },
    {
      "id": "13",
      "num": "13",
      "title": "THE WEATHERING MAP",
      "sub": "ALTITUDE t — the same city as sheet 7, surveyed in time · 731 files dated from the whole history · three construction seasons, 10 silent months · counted at origin/main @ 3f55e419",
      "caption": "Every sheet so far has drawn the city as it stands; this one dates the stone. Same districts and footprints as sheet 7, but the fills now say when each file was first committed and the edges how often it is touched. The history is three construction campaigns separated by silent months, and the two encodings disagree on purpose: 94% of the city is summer-built and barely weathered, while the port’s original masonry carries the hottest edges on the map.",
      "scale": "WORKSPACE × TIME",
      "verdict": "94% of the city is summer stone — and the port’s original masonry, 26 files from 2025-07-21, carries the hottest edges",
      "form": "WEATHERING MAP",
      "labels": {
        "subject": "map",
        "projection": "plan",
        "mode": "static"
      },
      "rev": "J",
      "file": "sheets/13.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-city.json",
        "census-weather.json"
      ],
      "thumb": {
        "light": "thumbs/13.webp",
        "dark": "thumbs/13-dark.webp"
      },
      "refs": [
        "7",
        "7B",
        "A1"
      ]
    },
    {
      "id": "14",
      "num": "14",
      "title": "THE UPSTREAM WORKS",
      "sub": "ALTITUDE 14 — the city among the commons it builds on · 99 consignments to 45 works cited by the city's own record, 15 sent and 84 watched, 80 tracked, 99 returned home, 32 off the river (5 missing) · counted at origin/main @ 3f55e419",
      "caption": "Every other sheet draws the city; this one draws the commons the city's own record cites. Across a river of time from the first commit, 99 consignments — pull requests, issues and bug reports in other projects' trackers — sit at the day they were filed, moored to the works on the north bank; the 15 the city sent fly its pennant and the 84 it watches fly none, and roads cross back to the 101 home pull requests, issues and commits that cite them on the city's wharf.",
      "scale": "CITY × COMMONS",
      "verdict": "99 consignments to 45 works, 15 sent and 84 watched, 80 tracked, 99 returned home",
      "form": "UPSTREAM WORKS",
      "labels": {
        "subject": "map",
        "projection": "plan",
        "mode": "static"
      },
      "rev": "E",
      "file": "sheets/14.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-plate.json",
        "census-upstream.json"
      ],
      "thumb": {
        "light": "thumbs/14.webp",
        "dark": "thumbs/14-dark.webp"
      },
      "refs": []
    }
  ],
  "appendix": [
    {
      "id": "a1",
      "num": "A1",
      "title": "THE SPRITE STUDY",
      "sub": "APPENDIX · META — the research behind the building sprites, drawn in the set it argues about · three concepts on one demo member, five states each · and, at the foot, the reference strip itself: six fair-use thumbnails at reference size, credited — the set draws no images anywhere else",
      "caption": "Every other plate in this set measures the codebase. This one measures a decision: how a workspace member should look when a sheet draws it as a building. One demo member is drawn fifteen times, five states along a wreck-to-splendor gauge under three competing treatments, and each treatment is priced. The verdict stands in the set: sheet 7B is the working plant, and sheet 13 the weathering gauge.",
      "scale": "THE ATLAS ITSELF",
      "verdict": "meta — the research behind the building sprites, argued on one demo member in fifteen blocks: the working plant wins on cost and independence and shipped as sheet 7B, the vines are its second layer, and the ledger roof stays parked until a sheet wants per-file stories",
      "form": "SPRITE STUDIES",
      "labels": {
        "subject": "sprite",
        "projection": "isometric",
        "mode": "static"
      },
      "rev": "B",
      "file": "sheets/a1.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [],
      "thumb": {
        "light": "thumbs/a1.webp",
        "dark": "thumbs/a1-dark.webp"
      },
      "refs": [
        "7",
        "7B",
        "8",
        "10",
        "13",
        "A2"
      ]
    },
    {
      "id": "a2",
      "num": "A2",
      "title": "THE SURVEY OFFICE",
      "sub": "APPENDIX · META — the atlas measuring itself · 23 probes, 23 plates, 26 drawings · every station, plate and edge on this plate introspected from www/atlas.lit-ui-router.dev/generator/ at build time · all plates pinned to origin/main @ 3f55e419 · commit 2026-10-30",
      "caption": "The instrument drawn by its own instrument: 23 probe stations over three tiers write 23 filed plates, which 26 drawings read — and the one that matters most is read nineteen times over. Nothing here is hand-listed: the stations are the generator files that write a plate, the tiers are the basis primitive each one calls, and the edges are the plate URLs the sheets construct.",
      "scale": "THE CENSUS PIPELINE",
      "verdict": "meta — the atlas measuring itself: one archive, 23 probe stations, 23 filed plates, and every station, plate and edge introspected from the generator at build time",
      "form": "FLOW GRAPH",
      "labels": {
        "subject": "pipeline",
        "projection": "graph",
        "mode": "static"
      },
      "rev": "E",
      "file": "sheets/a2.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [],
      "thumb": {
        "light": "thumbs/a2.webp",
        "dark": "thumbs/a2-dark.webp"
      },
      "refs": [
        "1",
        "1A",
        "1i",
        "2",
        "2A",
        "2B",
        "2C",
        "2E",
        "2F",
        "3",
        "3A",
        "3B",
        "4",
        "5",
        "6",
        "7",
        "7A",
        "7B",
        "8",
        "9",
        "10",
        "11",
        "12",
        "12i",
        "13",
        "14",
        "A1",
        "A3",
        "A4",
        "A5",
        "A6"
      ]
    },
    {
      "id": "a2i",
      "num": "A2i",
      "title": "THE SURVEY OFFICE — INTERACTIVE",
      "sub": "THE CENSUS PIPELINE AS A LIVE GRAPH · 94 NODES · 143 EDGES · 23 WRITES / 78 READS / 42 IMPORTS",
      "caption": "appendix A2's cytoscape sibling — the same introspected nodes and edges, hoverable; the master plate's fan-out is the hero",
      "scale": "THE CENSUS PIPELINE",
      "verdict": "appendix A2's cytoscape sibling — the same introspected nodes and edges, hoverable; the master plate's fan-out is the hero",
      "form": "INTERACTIVE GRAPH",
      "labels": {
        "subject": "pipeline",
        "projection": "graph",
        "mode": "interactive"
      },
      "rev": "B",
      "file": "sheets/a2i.html",
      "interactive": true,
      "needsCytoscape": true,
      "plates": [],
      "thumb": {
        "light": "thumbs/a2i.webp",
        "dark": "thumbs/a2i-dark.webp"
      },
      "refs": []
    },
    {
      "id": "a3",
      "num": "A3",
      "title": "THE ATLAS, MEASURED",
      "sub": "APPENDIX · META — the atlas as a census city on sheet 7's ruler, standing beside the codebase it draws · four members, 26,384 sloc · measured at www/atlas @ 08a98096, outside the cabinet, which is main's (origin/main @ 3f55e419)",
      "caption": "The atlas turned on itself with the census city's own instrument: footprint ∝ √sloc, height ∝ files, from sheet 7's functions. Sheet 7's four districts stand along the top as one block each; the atlas stands below them as a fifth district of four members — 2.5× the product it draws: 26,384 sloc against 10,708 in packages/.",
      "scale": "THE ATLAS ITSELF",
      "verdict": "meta — the atlas measured on sheet 7's ruler: 26,384 sloc of generator and app against 10,708 in the packages district, 2.5× the product it draws, with a 2-file annex",
      "form": "ISOMETRIC CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "measured"
      },
      "rev": "C",
      "file": "sheets/a3.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-city.json",
        "census-files.json",
        "census-plate.json",
        "census-shipped.json",
        "survey-self.json"
      ],
      "thumb": {
        "light": "thumbs/a3.webp",
        "dark": "thumbs/a3-dark.webp"
      },
      "refs": [
        "7",
        "A2"
      ]
    },
    {
      "id": "a4",
      "num": "A4",
      "title": "THE ATLAS, SHIPPED",
      "sub": "APPENDIX · META — the atlas's own deploy as a shipped city on sheet 9's ruler, by role and by district, standing beside the docs deploy it draws · 290 files in eleven districts, 8.5 MB on the wire · measured at www/atlas @ 08a98096, outside the cabinet, which is main's (origin/main @ 3f55e419)",
      "caption": "The atlas's own deploy surveyed on the wire with sheet 9's instrument at two altitudes: footprint ∝ files, height ∝ gzipped bytes, from sheet 9's functions. By role, three summed blocks of the docs deploy stand west of three of the atlas's; by district, the docs deploy's fifteen stand west of the atlas's eleven — 1.1× the docs deploy it draws, on the wire: 8.5 MB gzipped against 8.0 MB, in 290 files against 1,771.",
      "scale": "THE ATLAS ITSELF",
      "verdict": "meta — the atlas's own deploy on sheet 9's ruler, by role and by district: 290 files, 8.5 MB on the wire against the docs deploy's 8.0 MB, 1.1× the site it draws; the tallest district is card pictures at 3663 KB",
      "form": "SHIPPED CITY",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "static",
        "basis": "measured"
      },
      "rev": "D",
      "file": "sheets/a4.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "census-shipped.json",
        "survey-shipped.json"
      ],
      "thumb": {
        "light": "thumbs/a4.webp",
        "dark": "thumbs/a4-dark.webp"
      },
      "refs": [
        "9"
      ]
    },
    {
      "id": "a5",
      "num": "A5",
      "title": "THE SHEET, DIMENSIONED",
      "sub": "APPENDIX · META — the sheet every plate is set in, as a dimensional drawing: the double frame, the head, the plate and its fill button, the schedule, the caption, the notes and the title block, in codes · 33 instances, one geometry · measured at www/atlas @ eca2d156, outside the cabinet",
      "caption": "The atlas's own sheet chrome drawn as a component: one sheet in plan at 1440 wide with its spacing at 1:1, three details drawn larger and the same sheet at 390 wide. Every dimension is a code, and every code is a row in the four schedules under the drawing, measured in chromium or read from chrome.mjs.",
      "scale": "THE ATLAS ITSELF",
      "verdict": "meta — the sheet chrome every plate is set in, dimensioned: 33 instances, one geometry; 57 variables measured in chromium at 1440 and 390 wide or read from chrome.mjs; the 1.5 px frame draws at 1 px",
      "form": "DIMENSIONED PLAN",
      "labels": {
        "subject": "survey",
        "projection": "plan",
        "mode": "static"
      },
      "rev": "B",
      "file": "sheets/a5.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [
        "survey-chrome.json"
      ],
      "thumb": {
        "light": "thumbs/a5.webp",
        "dark": "thumbs/a5-dark.webp"
      },
      "refs": [
        "7"
      ]
    },
    {
      "id": "a6",
      "num": "A6",
      "title": "THE INCORRECT USES",
      "sub": "APPENDIX · META — the drawing rules the atlas keeps, each broken beside its correct form at one scale, numbered, and tied to the guard that catches it · 9 pairs, 4 with no guard",
      "caption": "The atlas's own drawing rules as nine numbered pairs, each incorrect use crossed in red beside its correct form at one scale. Under each pair, and in the schedule, stands the guard that catches it, or no guard, which makes the rule a candidate for one.",
      "scale": "THE ATLAS ITSELF",
      "verdict": "meta — the atlas's own incorrect uses, each drawn beside its correct form: 9 pairs, 4 stopped by the build or the audit, 4 with no guard and so candidates for one",
      "form": "PAIRED SCHEMATIC",
      "labels": {
        "subject": "survey",
        "projection": "schematic",
        "mode": "static"
      },
      "rev": "A",
      "file": "sheets/a6.html",
      "interactive": false,
      "needsCytoscape": false,
      "plates": [],
      "thumb": {
        "light": "thumbs/a6.webp",
        "dark": "thumbs/a6-dark.webp"
      },
      "refs": [
        "3B"
      ]
    }
  ],
  "extras": [
    {
      "id": "city",
      "title": "THE CITY, IN THE ROUND",
      "sub": "SHEET 7'S CENSUS CITY IN THE ROUND · 52 MEMBERS · 51 MASSED · 41 SPEC ANNEXES · 4 DISTRICTS · ONE GLTF BINARY · ONE CLIP RAISES IT FROM THE GROUND, RAISE ⇄ GROUND · THE CAMERA ORBITS FREE AND TURNS TO THE FOUR TRUE DIAGONALS · A SECOND LANE RELIGHTS THE CITY FROM SHEET 7A'S FILED SHADOW PLATE",
      "rev": "H",
      "shno": "SHEET 7 · 3D",
      "file": "sheets/city.html",
      "scale": "MONOREPO, IN THE ROUND",
      "verdict": "sheet 7's city as one glTF binary in Google's model-viewer, written from the plate's own computed geometry — opaque paper walls hatched in the tier's own rake inside a girding frame, sheet 7A's test light as a second material lane, a rise from the ground as its one clip, and a camera that orbits free and turns to the four true diagonals",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "interactive",
        "basis": "real 3d isometric"
      },
      "thumb": {
        "light": "thumbs/city.webp",
        "dark": "thumbs/city-dark.webp"
      },
      "refs": [
        "7",
        "7A"
      ]
    },
    {
      "id": "plant",
      "title": "THE WORKING CITY, IN THE ROUND",
      "sub": "SHEET 7'S CENSUS CITY IN THE ROUND, AT WORK · 52 MEMBERS · 51 MASSED · EACH CROWNED BY A WORKING PLANT SIZED FROM ITS OWN CENSUS · 41 SPEC ANNEXES · 4 DISTRICTS · ONE GLTF BINARY · ONE CLIP RAISES IT FROM THE GROUND AND CROWNS IT, RAISE ⇄ GROUND · THE CAMERA ORBITS FREE AND TURNS TO THE FOUR TRUE DIAGONALS · A SECOND LANE RELIGHTS THE CITY FROM SHEET 7A'S FILED SHADOW PLATE",
      "rev": "B",
      "shno": "SHEET 7B · 3D",
      "file": "sheets/plant.html",
      "scale": "THE WORKING CITY, IN THE ROUND",
      "verdict": "sheet 7's city as one glTF binary in Google's model-viewer, each mass crowned by a working plant sized from its own census — opaque paper walls hatched in the tier's own rake inside a girding frame, sheet 7A's test light as a second material lane, and a camera that orbits free and turns to the four true diagonals",
      "labels": {
        "subject": "city",
        "projection": "isometric",
        "mode": "interactive",
        "basis": "real 3d isometric"
      },
      "thumb": {
        "light": "thumbs/plant.webp",
        "dark": "thumbs/plant-dark.webp"
      },
      "refs": [
        "7",
        "7A",
        "7B"
      ]
    },
    {
      "id": "bricks",
      "title": "THE BRICK ASSEMBLY, IN THE ROUND",
      "sub": "SHEET 2'S FINISHED MODEL IN THE ROUND · 10 BRICKS · 2 PLATES · 2 LEVELS OF GROUND · ONE GLTF BINARY · THE SHEET'S EXPLOSION HALF AGAIN AS HIGH AS ITS ONE CLIP, ASSEMBLE ⇄ EXPLODE · THE CAMERA TURNS TO THE SHEET'S THREE DRAWN CORNERS",
      "rev": "A",
      "shno": "SHEET 2 · 3D",
      "file": "sheets/bricks.html",
      "scale": "COMPANIONS, IN THE ROUND",
      "verdict": "sheet 2's finished model as one glTF binary in Google's model-viewer — the same parts on the same two levels of ground, turned to the sheet's three drawn corners, with the sheet's explosion, half again as high, as a clip that lifts the stacked bricks off their seats first and drops every brick back down a dashed leader to its stud",
      "labels": {
        "subject": "coupling",
        "projection": "isometric",
        "mode": "interactive"
      },
      "thumb": {
        "light": "thumbs/bricks.webp",
        "dark": "thumbs/bricks-dark.webp"
      },
      "refs": [
        "2"
      ]
    },
    {
      "id": "builds",
      "title": "THE BUILDS, IN THE ROUND",
      "sub": "SHEET 2C'S ELEVEN BUILDS IN THE ROUND — VANILLA, TYPED SIGNALS, TYPED EFFECT, TYPED MOBX, ESLINTED VANILLA, SSR SERVER, NAV, TYPED NAV, TYPED VANILLA, SERVER and THE ATLAS · TWELVE OF THE BOX'S TWELVE BRICKS AND EIGHT OF ITS NINE PLATES BUILT · ONE GLTF BINARY PER BUILD · EACH BUILD'S EXPLOSION HALF AGAIN AS HIGH AS ITS ONE CLIP, ASSEMBLE ⇄ EXPLODE · THE CAMERA TURNS TO THREE CORNERS",
      "rev": "A",
      "shno": "SHEET 2C · 3D",
      "file": "sheets/builds.html",
      "scale": "ONE BOX, IN THE ROUND",
      "verdict": "sheet 2C's eleven builds as eleven glTF binaries in Google's model-viewer, picked by name — ten from the repository's own consumers and the atlas from the atlas app — each build's bricks in their hues on the runtime plates they peer, stacked plate by plate, with 10 straddles and 11 cords across the set, and each build's explosion, half again as high, as a clip that lifts the stacked bricks first while the plates stay put",
      "labels": {
        "subject": "coupling",
        "projection": "isometric",
        "mode": "interactive"
      },
      "thumb": {
        "light": "thumbs/builds.webp",
        "dark": "thumbs/builds-dark.webp"
      },
      "refs": [
        "2",
        "2C"
      ]
    }
  ]
}
