openvibers/openvibe.shared Commits

Icons that read at every size; an open book; the kit's scroll rule (4.69.0) (#221)

OP OpenVibers committed 12 days ago · ecf4ac1a2f · 18 files, +185 −23

The owner, 2026-11-01: "really tiny icons… a solid colour rather than the border lines… so all our icons look nice
across sizes and devices", the What-is-OpenVibe book reading as an empty square, and "you can't scroll down the
page even when you're at the bottom of the chat… this should be consistent across websites". 48 solid drawings;
ov-glyphs.js draws both and CSS alone picks by the icon's own size; kit.css's .ov-scroll / .ov-scroll-fill /
.ov-scroll-x.

Changes

ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex f24aefc..2d47191 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -4,6 +4,19 @@ All notable changes to `openvibe-shared`. Versions follow [semver](https://semve
breaking change to any exported module, browser global or served file name is a new major.
A release is the git tag `vX.Y.Z`; consumers pin the tag's tarball (see README).
++## 4.69.0
++
++- **Icons that read at every size** (plan L49; the owner, 2026-11-01: "really tiny icons… a solid colour rather than
++ the border lines… so all our icons look nice across different sizes and devices"). 48 glyphs most often shown small
++ have a solid drawing (`glyphs.SOLID`, `glyphs.solid(name)`, `glyphs.inner(name)`): filled shapes with holes cut
++ through. ov-glyphs.js draws both, and pure CSS chooses: at 18 px and under the solid one shows, and every other
++ glyph draws its lines heavier (`max(0px, (18.4px - 1.15em) * k)`: inside the SVG a px is a grid unit and an em is
++ the icon's own size). The sprite carries `ovg-<name>-solid` symbols.
++- **An open book** for fa-book-open (the closed one read as an empty square at 14 px).
++- **Scroll areas** (kit.css): `.ov-scroll` hands the swipe on to the page at its ends, `.ov-scroll-fill` holds it
++ (sheets, modals, full-screen chats), `.ov-scroll-x` scrolls sideways only. On a phone the kit's sidebar sections
++ no longer trap the page.
++
## 4.68.0
- **83 more glyphs, 446 Font Awesome names** (plan L49 step 1; the owner, 2026-11-01: "why Font Awesome? We should be
ddiff --git a/README.md b/README.md
iindex ca555aa..3a62b43 100644
---- a/README.md
++++ b/README.md
@@@ -2,7 +2,7 @@
> Versioned UI, the OpenVibe Frame (the navbar, footer and "shipped" views every site sits in), SEO, legal and release-client packages every OpenVibe site renders.
--**Status:** alpha, v4.68.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed
++**Status:** alpha, v4.69.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed
consumer installs a tagged release and none keeps a vendored copy
([docs/migration-plan.md](docs/migration-plan.md) is done); each repository's `package.json` names
the tag it pins.
ddiff --git a/STATUS.json b/STATUS.json
iindex cfe14c9..0608980 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -4,7 +4,7 @@
"code": true,
"wave": "W2",
"package": "openvibe-shared",
-- "version": "4.68.0",
++ "version": "4.69.0",
"plan": "OpenVibe End-to-End Realignment & Implementation Plan, revision 3 (20 Sep 2026)",
"deployed": false,
"deployment": "none of its own: a package released as git tags; OpenVibe.Network serves /shared/* from its pinned tag, and a site can serve its own pinned copy (openvibe-shared/serve)",
ddiff --git a/glyph-codepoints.json b/glyph-codepoints.json
iindex fae1ed9..682f100 100644
---- a/glyph-codepoints.json
++++ b/glyph-codepoints.json
@@@ -275,6 +275,7 @@
"wind": "E110",
"window": "E111",
"window-restore": "E112",
-- "wizard": "E113"
++ "wizard": "E113",
++ "book-open": "E114"
}
}
ddiff --git a/glyph-fonts/manifest.json b/glyph-fonts/manifest.json
iindex f41ecd9..de9d66d 100644
---- a/glyph-fonts/manifest.json
++++ b/glyph-fonts/manifest.json
@@@ -1,10 +1,10 @@
{
"family": "OV Glyphs",
-- "glyphs": 275,
-- "source_sha256": "54c5e596db05226568c583e5d765d0381d956f7752ce48299740f33218e9887b",
++ "glyphs": 276,
++ "source_sha256": "3b4521eb1e2869a444ce984b0781daf6e4ade0a97f2e24f64c31b4b3464b2ab5",
"files": {
-- "ov-glyphs.woff2": 22824,
-- "glyph-fonts/ov-glyphs.ttf": 53512,
-- "glyph-fonts/ov-glyphs.otf": 67012
++ "ov-glyphs.woff2": 22940,
++ "glyph-fonts/ov-glyphs.ttf": 53680,
++ "glyph-fonts/ov-glyphs.otf": 67204
}
}
ddiff --git a/glyph-fonts/ov-glyphs.otf b/glyph-fonts/ov-glyphs.otf
iindex 29342c0..4e8c146 100644
BBinary files a/glyph-fonts/ov-glyphs.otf and b/glyph-fonts/ov-glyphs.otf differ
ddiff --git a/glyph-fonts/ov-glyphs.ttf b/glyph-fonts/ov-glyphs.ttf
iindex ec1ce89..eaf0f92 100644
BBinary files a/glyph-fonts/ov-glyphs.ttf and b/glyph-fonts/ov-glyphs.ttf differ
ddiff --git a/glyphs.js b/glyphs.js
iindex 8c019dd..d695a3d 100644
---- a/glyphs.js
++++ b/glyphs.js
@@@ -217,9 +217,66 @@
'window-restore': '<rect x="3.5" y="8.5" width="12" height="11" rx="2"/><path d="M8.5 8.5v-2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-3"/>',
'align-left': '<path d="M4 6h16M4 10h10M4 14h16M4 18h10"/>',
slash: '<path d="M5 5l14 14"/>',
++ // 4.69.0: an open book for fa-book-open (the closed one read as an empty square at 14 px).
++ 'book-open': '<path d="M12 6.6C10 5.1 7 4.6 3.5 5.2v13.2c3.5-.6 6.5-.1 8.5 1.4 2-1.5 5-2 8.5-1.4V5.2C17 4.6 14 5.1 12 6.6Z"/><path d="M12 6.6v13.2"/>',
// A spinner is never drawn as one (the owner, 2026-10-31: nothing spins): three dots that take turns (ov-glyphs.js).
busy: '<path d="M6 12h.01M12 12h.01M18 12h.01" stroke-width="3.4"/>',
};
++ // ── Small sizes (4.69.0, plan L49; the owner, 2026-11-01: "really tiny icons… a solid colour rather than the border
++ // lines… so all our icons look nice across sizes"). A solid drawing for the glyphs most often shown small: filled
++ // shapes, holes cut with fill-rule evenodd, a line that must stay a line as class "ln". ov-glyphs.js draws both and
++ // shows the solid one when the icon is 18 px or smaller (pure CSS, see scripts/build-glyphs.js); a glyph without
++ // one draws its lines heavier there instead.
++ const SOLID = Object.freeze({
++ 'book-open': '<path d="M11 6.4C9 5 6.3 4.5 3 5.1v13.3c3.3-.6 6 0 8 1.4ZM13 6.4c2-1.4 4.7-1.9 8-1.3v13.3c-3.3-.6-6 0-8 1.4Z"/>',
++ book: '<path d="M4.5 5A2.5 2.5 0 0 1 7 2.5h12.5v15H7a2.5 2.5 0 0 0-2.5 2.5Z"/><path class="ln" d="M7.5 20.5h11.5"/>',
++ fire: '<path fill-rule="evenodd" d="M12 21.5a6.3 6.3 0 0 0 6.3-6.3c0-4-2.7-6.3-3.9-9.5-1.9 2.1-2.4 4.2-2.4 4.2S10.8 8 9.7 6.1C7.4 8.7 5.7 11.8 5.7 15.2A6.3 6.3 0 0 0 12 21.5Zm0-2.6a2.6 2.6 0 0 0 2.6-2.6c0-1.5-1.1-2.5-1.6-3.7-.8.9-1 1.7-1 1.7s-.5-.8-.9-1.5c-.9 1.1-1.6 2.3-1.6 3.6a2.6 2.6 0 0 0 2.5 2.5Z"/>',
++ info: '<path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 10.6h2.4V17h-2.4ZM12 6.5a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z"/>',
++ 'alert-circle': '<path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 6.8h2.4v7h-2.4ZM12 15.1a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z"/>',
++ alert: '<path fill-rule="evenodd" d="M10.4 3.9a1.85 1.85 0 0 1 3.2 0l8.3 14.4a1.85 1.85 0 0 1-1.6 2.8H3.7a1.85 1.85 0 0 1-1.6-2.8ZM10.9 9h2.2v5.6h-2.2ZM12 15.9a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6Z"/>',
++ heart: '<path d="M12 20.6s-7.6-4.6-7.6-10.6a4.3 4.3 0 0 1 7.6-2.9 4.3 4.3 0 0 1 7.6 2.9c0 6-7.6 10.6-7.6 10.6Z"/>',
++ star: '<path d="M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z"/>',
++ bell: '<path d="M5.8 16.2V11a6.2 6.2 0 0 1 12.4 0v5.2l1.7 2.3H4.1ZM9.9 19.6h4.2a2.1 2.1 0 0 1-4.2 0Z"/>',
++ user: '<circle cx="12" cy="7.8" r="4.1"/><path d="M4.2 21c0-4.3 3.5-7.2 7.8-7.2s7.8 2.9 7.8 7.2Z"/>',
++ members: '<circle cx="9" cy="7.9" r="3.6"/><path d="M2.4 20.8c0-3.8 3-6.5 6.6-6.5s6.6 2.7 6.6 6.5Z"/><circle cx="16.6" cy="7.4" r="2.9"/><path d="M16.8 13.4c2.9.4 4.8 2.8 4.8 6.4V20.8h-4.4c0-2.9-1-5.2-2.8-6.7Z"/>',
++ chat: '<path d="M3.5 5.6A1.6 1.6 0 0 1 5.1 4h13.8a1.6 1.6 0 0 1 1.6 1.6v9.8a1.6 1.6 0 0 1-1.6 1.6H8.6L3.5 21Z"/>',
++ eye: '<path fill-rule="evenodd" d="M12 4.8C6 4.8 1.8 12 1.8 12s4.2 7.2 10.2 7.2S22.2 12 22.2 12 18 4.8 12 4.8Zm0 3.6a3.6 3.6 0 1 1 0 7.2 3.6 3.6 0 0 1 0-7.2Z"/><circle cx="12" cy="12" r="1.7"/>',
++ clock: '<path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.9 6.6h2.2v5l3.2 1.9-1.1 1.9-4.3-2.6Z"/>',
++ pin: '<path fill-rule="evenodd" d="M12 2.3a7.3 7.3 0 0 0-7.3 7.3c0 5.6 7.3 12.1 7.3 12.1s7.3-6.5 7.3-12.1A7.3 7.3 0 0 0 12 2.3Zm0 4.6a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2Z"/>',
++ home: '<path d="M3.3 11.2 12 3.6l8.7 7.6v8.9a1 1 0 0 1-1 1h-5.2v-6.4h-5v6.4H4.3a1 1 0 0 1-1-1Z"/>',
++ camera: '<path fill-rule="evenodd" d="M3 8.3a1.8 1.8 0 0 1 1.8-1.8h2.5L9 4h6l1.7 2.5h2.5A1.8 1.8 0 0 1 21 8.3v10.1a1.8 1.8 0 0 1-1.8 1.8H4.8A1.8 1.8 0 0 1 3 18.4Zm9 1.9a3.4 3.4 0 1 0 0 6.8 3.4 3.4 0 0 0 0-6.8Z"/>',
++ video: '<path d="M2.5 7.6a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v8.8a2 2 0 0 1-2 2H4.5a2 2 0 0 1-2-2ZM17.2 10.1l4.3-2.6v9l-4.3-2.6Z"/>',
++ mic: '<path d="M8.7 5.8a3.3 3.3 0 0 1 6.6 0V11a3.3 3.3 0 0 1-6.6 0Z"/><path class="ln" d="M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21"/>',
++ lock: '<path d="M5 11.6a1.6 1.6 0 0 1 1.6-1.6h10.8a1.6 1.6 0 0 1 1.6 1.6v8a1.6 1.6 0 0 1-1.6 1.6H6.6A1.6 1.6 0 0 1 5 19.6Z"/><path class="ln" d="M8.2 10V7.6a3.8 3.8 0 0 1 7.6 0V10"/>',
++ shield: '<path d="M12 2.6 4.6 5.8V12c0 4.6 3.1 8 7.4 9.5 4.3-1.5 7.4-4.9 7.4-9.5V5.8Z"/>',
++ crown: '<path d="M2.6 7.8 7.4 12 12 4.6 16.6 12l4.8-4.2-2 11.7H4.6Z"/>',
++ trophy: '<path d="M7.3 3.3h9.4V9a4.7 4.7 0 0 1-9.4 0Z"/><path class="ln" d="M7.3 5.8H5.1a3 3 0 0 0 3 4.1M16.7 5.8h2.2a3 3 0 0 1-3 4.1M12 13.8V17M8 20.4h8"/>',
++ tag: '<path fill-rule="evenodd" d="M2.6 4.1A1.5 1.5 0 0 1 4.1 2.6h7.3l10.1 10.1-8.8 8.8L2.6 11.4Zm5.1 2.5a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Z"/>',
++ zap: '<path d="M13.4 2.4 4.6 13.4h6.2l-1.2 8.2 8.8-11h-6.2Z"/>',
++ play: '<path d="M7.4 4.4v15.2a.8.8 0 0 0 1.2.7l11.4-7.6a.8.8 0 0 0 0-1.4L8.6 3.7a.8.8 0 0 0-1.2.7Z"/>',
++ pause: '<rect x="6.3" y="4.6" width="4" height="14.8" rx="1.2"/><rect x="13.7" y="4.6" width="4" height="14.8" rx="1.2"/>',
++ spark: '<path d="M12 2.6l2 5.6 5.6 2-5.6 2L12 17.8l-2-5.6-5.6-2 5.6-2ZM19 14.6l.9 2.5 2.5.9-2.5.9-.9 2.5-.9-2.5-2.5-.9 2.5-.9Z"/>',
++ flag: '<path class="ln" d="M5 21V3.8"/><path d="M5.6 3.6h11.6l-2.1 4.4 2.1 4.4H5.6Z"/>',
++ folder: '<path d="M2.8 6.8a2 2 0 0 1 2-2h4.4l2 2h8a2 2 0 0 1 2 2v8.6a2 2 0 0 1-2 2H4.8a2 2 0 0 1-2-2Z"/>',
++ file: '<path d="M6 2.6h7.6v5.2h5V21.4H6ZM15.2 2.9l3.1 3.3h-3.1Z"/>',
++ image: '<path fill-rule="evenodd" d="M3 6.1a2.6 2.6 0 0 1 2.6-2.6h12.8A2.6 2.6 0 0 1 21 6.1v11.8a2.6 2.6 0 0 1-2.6 2.6H5.6A2.6 2.6 0 0 1 3 17.9Zm6 2.1a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Zm7.2 3.3-8 7.5h10.2a1.4 1.4 0 0 0 1.4-1.4v-2.9Z"/>',
++ cloud: '<path d="M7 18.8h10a4.4 4.4 0 0 0 .6-8.8A6.4 6.4 0 0 0 5.4 9.4 4.7 4.7 0 0 0 7 18.8Z"/>',
++ moon: '<path d="M20.4 14.4A8.5 8.5 0 1 1 9.6 3.6a7 7 0 0 0 10.8 10.8Z"/>',
++ drop: '<path d="M12 2.4s6.4 6.8 6.4 11.6a6.4 6.4 0 0 1-12.8 0C5.6 9.2 12 2.4 12 2.4Z"/>',
++ 'check-circle': '<path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM16.3 8.9l1.6 1.6-6.9 6.9-4.1-4.1 1.6-1.6 2.5 2.5Z"/>',
++ 'x-circle': '<path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9.2 7.8 12 10.6l2.8-2.8 1.4 1.4-2.8 2.8 2.8 2.8-1.4 1.4-2.8-2.8-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8Z"/>',
++ smile: '<path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM15 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM7.9 13.4h8.2a4.1 4.1 0 0 1-8.2 0Z"/>',
++ calendar: '<path fill-rule="evenodd" d="M4 7.4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Zm2.2 4V18.8h11.6v-7.4Z"/><path class="ln" d="M9 3.2v3.6M15 3.2v3.6"/>',
++ 'thumbs-up': '<path d="M7.4 10.4v10H4.6a1.1 1.1 0 0 1-1.1-1.1v-7.8a1.1 1.1 0 0 1 1.1-1.1ZM8.8 10.4l3.5-7.1a2.3 2.3 0 0 1 2.6 2.7l-.6 3.4h5.5a2.1 2.1 0 0 1 2.1 2.5l-1.4 6.8a2.1 2.1 0 0 1-2.1 1.7H8.8Z"/>',
++ megaphone: '<path d="M3.4 10a1.1 1.1 0 0 1 1.1-1.1h2.6l9.4-4.7v15.6l-9.4-4.7H4.5A1.1 1.1 0 0 1 3.4 14Z"/><path class="ln" d="M7.2 15.2l1.2 4.9M19 9.4a3.3 3.3 0 0 1 0 5.2"/>',
++ gem: '<path d="M6.4 3.6h11.2l3.8 5.3-9.4 11.6L2.6 8.9Z"/>',
++ ghost: '<path fill-rule="evenodd" d="M4.8 20.6V11a7.2 7.2 0 0 1 14.4 0v9.6l-2.4-1.8-2.4 1.8-2.4-1.8-2.4 1.8-2.4-1.8ZM9.4 9.3a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Zm5.2 0a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z"/>',
++ trash: '<path d="M5.8 7.6h12.4l-1 12a2 2 0 0 1-2 1.8H8.8a2 2 0 0 1-2-1.8Z"/><path class="ln" d="M3.8 6.6h16.4M9 6.6V4h6v2.6"/>',
++ coin: '<path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM11 6h2v1.2c1.1.2 2 .8 2.5 1.7l-1.7 1c-.3-.6-1-1-1.8-1-.9 0-1.5.4-1.5 1s.5.8 1.8 1.1c1.8.4 3.4 1 3.4 3 0 1.4-1 2.4-2.7 2.7V18h-2v-1.3c-1.2-.2-2.2-.9-2.7-1.9l1.7-1c.4.7 1.1 1.1 2 1.1 1 0 1.6-.4 1.6-1s-.6-.8-1.9-1.1c-1.7-.4-3.3-1-3.3-2.9 0-1.3 1-2.3 2.6-2.6Z"/>',
++ live: '<circle cx="12" cy="12" r="3.1"/><path class="ln" d="M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14"/>',
++ gift: '<path d="M3.4 8.6h17.2v3.2H3.4ZM4.6 12.8h6.4v8H5.6a1 1 0 0 1-1-1ZM13 12.8h6.4v7a1 1 0 0 1-1 1H13Z"/><path class="ln" d="M12 8.6c-1.5-3-5-4-5-1.5S12 8.6 12 8.6s5-1 5-3.5-3.5-1.5-5 3.5"/>',
++ music: '<path d="M8.4 6.6l12-2.3v3.2l-12 2.3Z"/><path class="ln" d="M9.5 18V7.8M19.5 16V5.6"/><circle cx="6.7" cy="18" r="2.9"/><circle cx="16.7" cy="16" r="2.9"/>',
++ });
const BY = { kit: 'the OpenVibe Kit', opus: 'drawn by Opus for the glyph set (2026-10-31)' };
const ALL = { ...(kit && kit.PATHS ? kit.PATHS : {}), ...DRAWN };
const NAMES = Object.freeze(Object.keys(ALL).sort());
@@@ -252,7 +309,7 @@
'screwdriver-wrench': 'wrench', wrench: 'wrench', music: 'music', gear: 'gear', gears: 'gear', 'paper-plane': 'plane', fire: 'fire',
'circle-nodes': 'nodes', 'network-wired': 'nodes', 'diagram-project': 'nodes', sitemap: 'nodes', bridge: 'bridge', envelope: 'mail', sun: 'sun', moon: 'moon',
'list-check': 'steps', list: 'list', 'list-ul': 'list', bars: 'menu', display: 'computer', desktop: 'computer', laptop: 'computer', 'wave-square': 'wave',
-- newspaper: 'news', 'file-lines': 'file', file: 'file', 'file-pdf': 'file', 'file-audio': 'file', folder: 'folder', book: 'book', 'book-open': 'book', crown: 'crown',
++ newspaper: 'news', 'file-lines': 'file', file: 'file', 'file-pdf': 'file', 'file-audio': 'file', folder: 'folder', book: 'book', 'book-open': 'book-open', crown: 'crown',
microchip: 'chip', 'id-card': 'id', brain: 'brain', cloud: 'cloud', 'cloud-sun': 'cloud', 'cloud-rain': 'cloud', 'cloud-showers-heavy': 'cloud', snowflake: 'snow',
mountain: 'mountain', 'mountain-sun': 'mountain', 'layer-group': 'layers', hashtag: 'hash', font: 'text', 'text-height': 'text',
'right-from-bracket': 'leave', 'right-to-bracket': 'enter', 'arrow-right-from-bracket': 'leave', 'arrow-right-to-bracket': 'enter',
@@@ -313,5 +370,9 @@
}
const fromFa = (fa) => { const n = String(fa || '').replace(/^fa-/, ''); return Object.prototype.hasOwnProperty.call(FA, n) && path(FA[n]) ? FA[n] : null; };
-- return { NAMES, META, FA, DRAWN: Object.freeze(Object.keys(DRAWN)), path, svg, fromFa };
++ const solid = (name) => (Object.prototype.hasOwnProperty.call(SOLID, name) ? SOLID[name] : '');
++ /** The inside of the <svg> ov-glyphs.js draws for a glyph: the line drawing, and its solid one when it has one. */
++ const inner = (name) => { const d = path(name); const so = solid(name); return d ? d + (so ? `<g class="ovg-s">${so}</g>` : '') : ''; };
++
++ return { NAMES, META, FA, SOLID, DRAWN: Object.freeze(Object.keys(DRAWN)), path, solid, inner, svg, fromFa };
});
ddiff --git a/kit.css b/kit.css
iindex c0b0d19..742e023 100644
---- a/kit.css
++++ b/kit.css
@@@ -320,3 +320,15 @@ div.ovk-set-row { cursor: default; }
.ovk-sidebar-scrim { position: fixed; inset: 0; z-index: 10050; background: rgba(0, 0, 0, .4); }
}
@media (prefers-reduced-motion: reduce) { .ovk-sidebar, .ovk-sidebar.is-open { transition: none; } .ovk-sidebar-dot.is-busy { animation: none; } }
++
++/* ── Scroll areas (4.69.0; the owner, 2026-11-01: "you can't scroll down the page even when you're at the bottom of
++ the chat… this should be consistent across websites"). The network's rule: a scroll area inside a page that scrolls
++ hands the swipe on to the page at its ends; only an area that fills the screen (a sheet, a modal, a full-screen
++ chat) holds it. A sideways rail scrolls sideways only, so a vertical swipe on it moves the page. */
++.ov-scroll { overflow: auto; overscroll-behavior: auto; -webkit-overflow-scrolling: touch; }
++.ov-scroll-fill { overflow: auto; overscroll-behavior: contain; }
++.ov-scroll-x { overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; touch-action: pan-x pan-y; scrollbar-width: none; }
++.ov-scroll-x::-webkit-scrollbar { display: none; }
++@media (max-width: 900px), (hover: none) {
++ .ovk-sidebar-secs { overscroll-behavior-y: auto; }
++}
ddiff --git a/navbar.js b/navbar.js
iindex ec64e83..bcd7120 100644
---- a/navbar.js
++++ b/navbar.js
@@@ -476,7 +476,7 @@
const NAV_ICONS_REV = '2a303c60dc83'; // sha256(nav-icons.js), first 12 hex: its ?v= (cacheable forever)
// END generated
// The files loaded from beside this one, by content (scripts/sibling-revs.js): a release changes their URLs.
-- const SIBLING_REV = { 'ov-mark.js': '82afb8a8cb4d', 'ov-glyphs.js': 'c39910bdee87', 'ov-brand.woff2': '3b4e6a8a5878', 'ov-look.js': '220c2bf637aa', 'ov-fx.js': '46fce1e2b8db' };
++ const SIBLING_REV = { 'ov-mark.js': '82afb8a8cb4d', 'ov-glyphs.js': '8cece63e3796', 'ov-brand.woff2': '3b4e6a8a5878', 'ov-look.js': '220c2bf637aa', 'ov-fx.js': '46fce1e2b8db' };
// The navbar's icons are filled paths (no Font Awesome CSS needed): the ones above ship here, the rest
// (nav-icons.js) load after first paint when a link, chip or menu row names one, into an empty <svg> of their
// size. Anything unknown, or nav-icons.js failing, falls back to <i class="fa-solid">.
ddiff --git a/ov-glyphs-fa.css b/ov-glyphs-fa.css
iindex aba5eba..5a5b96e 100644
---- a/ov-glyphs-fa.css
++++ b/ov-glyphs-fa.css
@@@ -22,7 +22,7 @@
.fa-ban::before{content:"\e009"}
.fa-bell::before{content:"\e00a"}
.fa-book::before{content:"\e00b"}
--.fa-book-open::before{content:"\e00b"}
++.fa-book-open::before{content:"\e114"}
.fa-box::before{content:"\e0c5"}
.fa-box-open::before{content:"\e0c5"}
.fa-cube::before{content:"\e0c5"}
ddiff --git a/ov-glyphs-font.css b/ov-glyphs-font.css
iindex a9bd130..daf48ef 100644
---- a/ov-glyphs-font.css
++++ b/ov-glyphs-font.css
@@@ -18,6 +18,7 @@
.ovi-ban::before{content:"\e009"}
.ovi-bell::before{content:"\e00a"}
.ovi-book::before{content:"\e00b"}
++.ovi-book-open::before{content:"\e114"}
.ovi-box::before{content:"\e0c5"}
.ovi-brain::before{content:"\e00c"}
.ovi-branch::before{content:"\e00d"}
ddiff --git a/ov-glyphs.js b/ov-glyphs.js
iindex 9a9917d..fdf5334 100644
---- a/ov-glyphs.js
++++ b/ov-glyphs.js
@@@ -16,17 +16,18 @@
* OVGlyphs.swap(rootEl) swaps inside one element now
* OVGlyphs.fromFa('fa-eye') → 'eye' the glyph a Font Awesome name maps to, or null
*
-- * 270 glyphs for 446 Font Awesome names (openvibe.design/icons shows them).
++ * 271 glyphs for 446 Font Awesome names (openvibe.design/icons shows them).
*/
(function () {
'use strict';
if (typeof window === 'undefined' || window.OVGlyphs) return;
-- const G = {"airplane":"<path d=\"M12 3c1 0 1.5 1 1.5 2.5V10l7.5 4.5V16l-7.5-2.5V18l2 1.5V21L12 20l-3.5 1v-1.5l2-1.5v-4.5L3 16v-1.5L10.5 10V5.5C10.5 4 11 3 12 3Z\"/>","alert":"<path d=\"M12 4 2.8 19.5h18.4Z\"/><path d=\"M12 10v4M12 17h.01\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","align-left":"<path d=\"M4 6h16M4 10h10M4 14h16M4 18h10\"/>","archive":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9M10 13h4\"/>","arrow-down":"<path d=\"M12 4v16M6 14l6 6 6-6\"/>","arrow-left":"<path d=\"M20 12H4M10 6l-6 6 6 6\"/>","arrow-right":"<path d=\"M4 12h16M14 6l6 6-6 6\"/>","arrow-up":"<path d=\"M12 20V4M6 10l6-6 6 6\"/>","arrows-h":"<path d=\"M3.5 12h17M7.5 8l-4 4 4 4M16.5 8l4 4-4 4\"/>","at":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path d=\"M15.6 12v1.4a2.6 2.6 0 0 0 5.2 0V12a8.8 8.8 0 1 0-3.4 6.9\"/>","back":"<path d=\"M15 5l-7 7 7 7\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0\"/>","book":"<path d=\"M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z\"/><path d=\"M4 19V5\"/>","box":"<path d=\"M3.5 8 12 4l8.5 4v8.5L12 20.5l-8.5-4Z\"/><path d=\"M3.5 8 12 12l8.5-4M12 12v8.5M7.8 6l8.4 4\"/>","brain":"<path d=\"M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2\"/>","branch":"<circle cx=\"6\" cy=\"5\" r=\"2\"/><circle cx=\"6\" cy=\"19\" r=\"2\"/><circle cx=\"18\" cy=\"7\" r=\"2\"/><path d=\"M6 7v10M18 9c0 5.5-6.5 4-11 8.5\"/>","bridge":"<path d=\"M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8\"/>","briefcase":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z\"/>","bug":"<rect x=\"7.5\" y=\"8\" width=\"9\" height=\"12.5\" rx=\"4.5\"/><path d=\"M9.5 8.3a2.5 2.5 0 0 1 5 0M12 12.5v8M7.5 13.5H4M20 13.5h-3.5M7.9 10 5 7.5M16.1 10 19 7.5M7.9 17.5 5 20M16.1 17.5 19 20\"/>","burst":"<path d=\"M12 2.5L13.99 7.2L18.72 5.28L16.8 10.01L21.5 12L16.8 13.99L18.72 18.72L13.99 16.8L12 21.5L10.01 16.8L5.28 18.72L7.2 13.99L2.5 12L7.2 10.01L5.28 5.28L10.01 7.2Z\"/>","busy":"<path d=\"M6 12h.01M12 12h.01M18 12h.01\" stroke-width=\"3.4\"/>","calendar":"<rect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10h16M9 3v4M15 3v4\"/>","camera":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/>","camera-flip":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><path d=\"M15 12.6a3.1 3.1 0 0 0-5.6-1.2M9 14.4a3.1 3.1 0 0 0 5.6 1.2M9.3 9.5v2h2M14.7 17.5v-2h-2\"/>","camera-off":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/><path d=\"M3.5 3.5l17 17\"/>","car":"<path d=\"M3.5 17v-4.5L6.2 7h11.6l2.7 5.5V17Z\"/><path d=\"M3.5 12.5h17M6.5 17v2.5M17.5 17v2.5M7.2 15h.01M16.8 15h.01\"/>","card":"<rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2\"/><path d=\"M2.5 10h19M6 15h4\"/>","care":"<path d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/><path d=\"M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z\"/>","cart":"<path d=\"M3 4h2l2.4 11h11L21 7H6.2\"/><circle cx=\"9\" cy=\"19.5\" r=\"1.3\"/><circle cx=\"17\" cy=\"19.5\" r=\"1.3\"/>","cc":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2.5\"/><path d=\"M10.6 10.1a2.4 2.4 0 1 0 0 3.8M17.1 10.1a2.4 2.4 0 1 0 0 3.8\"/>","chart":"<path d=\"M4 4v16h16\"/><path d=\"m7.5 14.5 3.5-4 3 2.5 5-6\"/>","chat":"<path d=\"M4 5h16v11H8l-4 4Z\"/>","chat-off":"<path d=\"M4 5h16v11H8l-4 4Z\"/><path d=\"M3.5 3.5l17 17\"/>","check":"<path d=\"m5 12.5 4.5 4.5L19 7.5\"/>","check-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8 12.4 2.8 2.8L16 9.6\"/>","check-double":"<path d=\"m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8\"/>","chevron":"<path d=\"m9 6 6 6-6 6\"/>","chevrons-left":"<path d=\"m11.5 17-5-5 5-5M18 17l-5-5 5-5\"/>","chevrons-right":"<path d=\"m6 17 5-5-5-5M12.5 17l5-5-5-5\"/>","child":"<circle cx=\"12\" cy=\"5.5\" r=\"2.2\"/><path d=\"M7.5 10.5 12 9l4.5 1.5M12 9v6M9 21l3-6 3 6\"/>","chip":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\"/><path d=\"M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3 21h18M5 21V9h5v12M10 21V4h6v17M16 21v-8h3.5v8M7.5 12h.01M7.5 15.5h.01M13 7.5h.01M13 11h.01M13 14.5h.01\"/>","clapper":"<path d=\"M3.5 10h17v9a1 1 0 0 1-1 1h-15a1 1 0 0 1-1-1Z\"/><path d=\"M3.5 10 2.9 6.6l16.4-3 .7 3.6ZM8 5.7l2.3 3.3M13.3 4.7l2.3 3.3\"/>","clipboard":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 11h6M9 15h4\"/>","clipboard-check":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 13.5l2 2 4-4\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M6 6l12 12M18 6 6 18\"/>","cloud":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/>","cloud-off":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/><path d=\"M3.5 3.5l17 17\"/>","code":"<path d=\"m8 8-4 4 4 4M16 8l4 4-4 4M14 5l-4 14\"/>","coin":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11\"/>","columns":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"15\" rx=\"2\"/><path d=\"M12 4.5v15M3.5 9h17\"/>","commit":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path d=\"M3 12h5.4M15.6 12H21\"/>","compass":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m15.6 8.4-2.1 5.1-5.1 2.1 2.1-5.1Z\"/>","compress":"<path d=\"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5\"/>","computer":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M8 20h8M12 16v4\"/>","contrast":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3v18M12 7.5h7M12 12h9M12 16.5h7\"/>","cookie":"<path d=\"M20.5 12.5a8.5 8.5 0 1 1-9-9 3 3 0 0 0 4 3.6 3 3 0 0 0 5 5.4Z\"/><path d=\"M8.5 9.5h.01M12 14h.01M8 15.5h.01M15.5 15.5h.01\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2\"/>","couch":"<path d=\"M5 11V8a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3\"/><path d=\"M3 13a2 2 0 0 1 4 0v1.5h10V13a2 2 0 0 1 4 0v5H3ZM5 18v2M19 18v2\"/>","crown":"<path d=\"M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z\"/>","cubes":"<path d=\"M12 3.5 8 5.5v4.5l4 2 4-2V5.5ZM7.5 12 3.5 14v4.5l4 2 4-2V14ZM16.5 12l-4 2v4.5l4 2 4-2V14Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7\" ry=\"3\"/><path d=\"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3\"/>","dice":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01\" stroke-width=\"2.6\"/>","dish":"<path d=\"M5 9.5A9.5 9.5 0 0 0 14.5 19Z\"/><path d=\"m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","dollar":"<path d=\"M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18\"/>","donate":"<circle cx=\"12\" cy=\"8.5\" r=\"5\"/><path d=\"M12 6.4v4.2M4 15.5h16V20H4ZM8.5 17.75h7\"/>","door":"<path d=\"M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01\"/>","down":"<path d=\"m6 9 6 6 6-6\"/>","download":"<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/>","drive":"<rect x=\"3\" y=\"13\" width=\"18\" height=\"7\" rx=\"2\"/><path d=\"M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01\"/>","drop":"<path d=\"M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z\"/>","ear":"<path d=\"M7.5 9a5 5 0 1 1 9.6 2c-.8 1.6-2.6 2.5-2.6 4.6a3 3 0 0 1-5.7 1.4\"/><path d=\"M10.5 9.3a2 2 0 1 1 3.5 1.3\"/>","enter":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4\"/>","eraser":"<path d=\"m14 4.5 5.5 5.5-9 9H6.3l-2.6-2.6a1.5 1.5 0 0 1 0-2.1Z\"/><path d=\"M9 9.5l5.5 5.5M10.5 19H20\"/>","expand":"<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/>","eye":"<path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","eye-off":"<path d=\"M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/>","fast-forward":"<path d=\"M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z\"/>","file":"<path d=\"M6 3h8l4 4v14H6Z\"/><path d=\"M14 3v4h4\"/>","file-code":"<path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z\"/><path d=\"M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2\"/>","film":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21\"/>","filter":"<path d=\"M4 6h16M7 12h10M10 18h4\"/>","finish":"<path d=\"M5 21V3.5\"/><rect x=\"5\" y=\"4\" width=\"14.5\" height=\"9\" rx=\"1\"/><path d=\"M5 8.5h14.5M9.8 4v9M14.6 4v9\"/>","fire":"<path d=\"M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z\"/>","fish":"<path d=\"M8 12c2-3.2 4.5-4.8 7.5-4.8 2.6 0 4.5 2 5.5 4.8-1 2.8-2.9 4.8-5.5 4.8-3 0-5.5-1.6-7.5-4.8Z\"/><path d=\"M8 12 3.5 8.5v7Z\"/><path d=\"M16.8 10.6h.01\"/>","fist":"<path d=\"M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9\"/>","flag":"<path d=\"M5 21V4M5 4h11l-2 4 2 4H5\"/>","flask":"<path d=\"M9.5 3.5h5M10 3.5V9.5L4.8 18.2a1.5 1.5 0 0 0 1.3 2.3h11.8a1.5 1.5 0 0 0 1.3-2.3L14 9.5V3.5\"/><path d=\"M7.2 15h9.6\"/>","focus":"<circle cx=\"12\" cy=\"12\" r=\"1.6\"/><path d=\"M12 3v5M10 6l2 2 2-2M12 21v-5M10 18l2-2 2 2M3 12h5M6 10l2 2-2 2M21 12h-5M18 10l-2 2 2 2\"/>","folder":"<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>","folder-tree":"<path d=\"M4.5 3.5v13a1 1 0 0 0 1 1H10M4.5 8.5H10\"/><path d=\"M10.5 5.5h3l1 1.5h5.5V11h-9.5ZM10.5 14.5h3l1 1.5h5.5V20h-9.5Z\"/>","food":"<path d=\"M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17\"/>","game":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"11\" rx=\"5\"/><path d=\"M7 11v3M5.5 12.5h3M15.5 12h.01M18 13.5h.01\"/>","gauge":"<path d=\"M4 18a8 8 0 1 1 16 0\"/><path d=\"m12 14.5 4-5.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"1.3\"/>","gavel":"<path d=\"m14 4.5 5.5 5.5M10.5 8l5.5 5.5M12.3 6.3l-6 6 5.4 5.4 6-6M3 21l6.3-6.3M14 21h7\"/>","gear":"<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z\"/>","gem":"<path d=\"M6.5 4h11L21 9l-9 11L3 9Z\"/><path d=\"M3 9h18M9.5 4 8 9l4 11M14.5 4 16 9l-4 11\"/>","ghost":"<path d=\"M5 20V11a7 7 0 0 1 14 0v9l-2.3-1.8-2.4 1.8-2.3-1.8L9.7 20l-2.4-1.8Z\"/><path d=\"M9.5 10.5h.01M14.5 10.5h.01\"/>","gift":"<rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"1\"/><path d=\"M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9\"/>","globe":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18\"/>","grid":"<rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/>","grip":"<path d=\"M9 6h.01M15 6h.01M9 12h.01M15 12h.01M9 18h.01M15 18h.01\" stroke-width=\"3\"/>","group":"<path d=\"M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4\"/><rect x=\"7\" y=\"7\" width=\"6\" height=\"5\" rx=\"1\"/><rect x=\"11\" y=\"12\" width=\"6\" height=\"5\" rx=\"1\"/>","hammer":"<path d=\"M13 4.5 19.5 11l-2.8 2.8-6.5-6.5Z\"/><path d=\"M13.5 10.5 4.5 19.5a1.4 1.4 0 0 0 2 2l9-9\"/>","hand":"<path d=\"M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15\"/>","handshake":"<path d=\"M2.5 9.5v6M21.5 9.5v6\"/><path d=\"M2.5 10.5h2.5l4-3 3.2 1.4L15 7.5l4 3h2.5\"/><path d=\"M5 10.5l6.8 6.8a1.3 1.3 0 0 0 1.9-1.8M13.7 15.5l.6.6a1.3 1.3 0 0 0 1.9-1.8M16.2 14.3l.3.3a1.3 1.3 0 0 0 1.9-1.8L19 10.5M18.4 12.8l-4.6-4.6-2.6 2.3a1.5 1.5 0 0 1-2.1-2.1l2.1-2.2\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heading":"<path d=\"M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4\"/>","headphones":"<path d=\"M4 15v-3a8 8 0 0 1 16 0v3\"/><rect x=\"3\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/><rect x=\"16.5\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/>","heart":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/>","heart-broken":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/><path d=\"M12 7.4 10.4 11l3 2-1.4 3.4\"/>","heart-pulse":"<path d=\"M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5\"/><path d=\"M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5\"/>","help":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01\"/>","history":"<path d=\"M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1\"/><path d=\"M12 8v4.2l3 1.8\"/>","home":"<path d=\"M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8\" cy=\"5.5\" r=\"1.8\"/><path d=\"M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3\"/>","hourglass":"<path d=\"M6 3.5h12M6 20.5h12M7.5 3.5c0 4.5 4.5 5.5 4.5 8.5s-4.5 4-4.5 8.5M16.5 3.5c0 4.5-4.5 5.5-4.5 8.5s4.5 4 4.5 8.5\"/>","id":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><circle cx=\"9\" cy=\"11\" r=\"2\"/><path d=\"M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3\"/>","idea":"<path d=\"M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z\"/>","image":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><circle cx=\"9\" cy=\"10\" r=\"1.6\"/><path d=\"m21 16-5-5-8 8\"/>","inbox":"<path d=\"M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5\"/>","infinity":"<path d=\"M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6\"/>","key":"<circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2\"/>","keyboard":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><path d=\"M6 10h.01M9 10h.01M12 10h.01M15 10h.01M18 10h.01M8 14h8\"/>","language":"<path d=\"M4 5h9M8.5 3v2M6 5c.5 3 2.5 6 6 7.5M11 5c-.6 3.4-2.8 6.8-6.5 8.5M12 21l4-9 4 9M13.4 18h5.2\"/>","laugh":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 13.5h8a4 4 0 0 1-8 0ZM7.5 8.6l2.2 1.2-2.2 1.2M16.5 8.6l-2.2 1.2 2.2 1.2\"/>","layers":"<path d=\"m12 3.5 9 5-9 5-9-5Z\"/><path d=\"m3 13 9 5 9-5\"/>","leaf":"<path d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8\"/>","leave":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10\"/>","lifebuoy":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6\"/>","link":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>","link-off":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/><path d=\"M3.5 3.5l17 17\"/>","list":"<path d=\"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01\"/>","list-ordered":"<path d=\"M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>","lungs":"<path d=\"M12 4v7.5M12 9.5l-2.8 2M12 9.5l2.8 2M8.6 6.8C6 6.8 4 10.5 4 15c0 2.6 1 4.5 3 4.5s2.5-2 2.5-4.5V8.5M15.4 6.8C18 6.8 20 10.5 20 15c0 2.6-1 4.5-3 4.5s-2.5-2-2.5-4.5V8.5\"/>","mail":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 7 8 6 8-6\"/>","map":"<path d=\"M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z\"/><path d=\"M9 4v14M15 6v14\"/>","mask":"<path d=\"M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z\"/><path d=\"M7.5 11.5h2M14.5 11.5h2\"/>","medical":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6\"/>","megaphone":"<path d=\"M3.5 10v4a1 1 0 0 0 1 1H7l9 4.5v-15L7 9H4.5a1 1 0 0 0-1 1Z\"/><path d=\"M7 15l1.3 5h2.4L10 15.6M19 9.5a3.2 3.2 0 0 1 0 5\"/>","members":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2\"/>","menu":"<path d=\"M4 7h16M4 12h16M4 17h16\"/>","mic":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0M12 18v3\"/>","mic-off":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","minus":"<path d=\"M5 12h14\"/>","minus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 12h8\"/>","money":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M6 9.5v.01M18 14.5v.01\"/>","moon":"<path d=\"M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z\"/>","more":"<circle cx=\"5\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"19\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z\"/>","move":"<path d=\"M12 3.5v17M3.5 12h17M9 6.5l3-3 3 3M9 17.5l3 3 3-3M6.5 9l-3 3 3 3M17.5 9l3 3-3 3\"/>","mug":"<path d=\"M4.5 9h11v7a4 4 0 0 1-4 4h-3a4 4 0 0 1-4-4Z\"/><path d=\"M15.5 10.5H17a2.5 2.5 0 0 1 0 5h-1.5M8 3.5c-.8 1 .8 2 0 3M11.5 3.5c-.8 1 .8 2 0 3\"/>","music":"<path d=\"M9 18V6l11-2v12\"/><circle cx=\"6.5\" cy=\"18\" r=\"2.5\"/><circle cx=\"17.5\" cy=\"16\" r=\"2.5\"/>","mute":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"m16 10 4 4M20 10l-4 4\"/>","news":"<path d=\"M4 5h13v14a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2Z\"/><path d=\"M17 9h3v10a2 2 0 0 1-2 2M7.5 9h6M7.5 12.5h6M7.5 16h3.5\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"2.2\"/><circle cx=\"5.5\" cy=\"18\" r=\"2.2\"/><circle cx=\"18.5\" cy=\"18\" r=\"2.2\"/><path d=\"M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6\"/>","open":"<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"/>","palette":"<path d=\"M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z\"/><circle cx=\"7.5\" cy=\"11\" r=\"1.2\"/><circle cx=\"10\" cy=\"7.3\" r=\"1.2\"/><circle cx=\"14.5\" cy=\"7.3\" r=\"1.2\"/>","parking":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5\"/>","pause":"<path d=\"M8 5v14M16 5v14\"/>","paw":"<path d=\"M8 18.4c0-2.8 1.8-5 4-5s4 2.2 4 5c0 1.3-1 2-2 2-.8 0-1.3-.5-2-.5s-1.2.5-2 .5c-1 0-2-.7-2-2Z\"/><circle cx=\"5.8\" cy=\"11\" r=\"1.8\"/><circle cx=\"9.4\" cy=\"6.4\" r=\"1.8\"/><circle cx=\"14.6\" cy=\"6.4\" r=\"1.8\"/><circle cx=\"18.2\" cy=\"11\" r=\"1.8\"/>","pencil":"<path d=\"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"/>","phone":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/>","phone-off":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/><path d=\"M3.5 3.5l17 17\"/>","piggy":"<path d=\"M4 12c0-3.3 3.4-6 8-6 1.3 0 2.5.2 3.6.6L18.5 5v3.4c.8.7 1.4 1.6 1.6 2.6h1.4v3.5H20c-.5 1-1.3 1.8-2.4 2.4V20h-3v-2c-.8.2-1.7.3-2.6.3-.8 0-1.6-.1-2.4-.3v2h-3v-3C5 15.8 4 14 4 12Z\"/><path d=\"M16 10.5h.01M9.5 8.5h3\"/>","pin":"<path d=\"M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.4\"/>","plane":"<path d=\"M20.5 3.5 3.5 10.5l6.8 3.2 3.2 6.8Z\"/><path d=\"m10.3 13.7 10.2-10.2\"/>","play":"<path d=\"M8 5v14l11-7Z\"/>","plug":"<path d=\"M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21\"/>","plus":"<path d=\"M12 5v14M5 12h14\"/>","plus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 8v8M8 12h8\"/>","print":"<path d=\"M7 9V3.5h10V9\"/><rect x=\"3.5\" y=\"9\" width=\"17\" height=\"8\" rx=\"2\"/><path d=\"M7 14h10v6.5H7ZM16.5 12h.01\"/>","quote":"<path d=\"M10 6.5C6.5 7.5 4.5 10 4.5 13.5v3h5v-5h-5M19.5 6.5c-3.5 1-5.5 3.5-5.5 7v3h5v-5h-5\"/>","radio":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M7 8 17 3.5\"/><circle cx=\"15.5\" cy=\"14\" r=\"2.5\"/><path d=\"M6.5 12.5h4M6.5 15.5h4\"/>","ranking":"<path d=\"M3 20.5h18M4 20.5V14h5M9 20.5V10h6v10.5M15 20.5V16h5v4.5\"/><path d=\"m12 3 .9 1.8 2 .3-1.45 1.4.35 2L12 7.6l-1.8.9.35-2L9.1 5.1l2-.3Z\"/>","record":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","recycle":"<path d=\"M7.2 19.5H4.8a1.4 1.4 0 0 1-1.2-2.1l2.6-4.5M9.8 4.9l1-1.7a1.4 1.4 0 0 1 2.4 0l2.6 4.5M18.6 12.9l1.8 3.1a1.4 1.4 0 0 1-1.2 2.1h-5.2\"/><path d=\"M11 17.6l2.1 2.1-2.1 2.1M3.4 10.6l2.8-.8.8 2.9M18 5.6l-.8 2.9-2.9-.8\"/>","reply":"<path d=\"M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1\"/>","restroom":"<circle cx=\"7\" cy=\"4.8\" r=\"1.8\"/><circle cx=\"17\" cy=\"4.8\" r=\"1.8\"/><path d=\"M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4\"/>","retry":"<path d=\"M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5\"/>","rewind":"<path d=\"M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z\"/>","road":"<path d=\"M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20\"/>","robot":"<rect x=\"5\" y=\"8\" width=\"14\" height=\"11\" rx=\"3\"/><path d=\"M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2\"/>","rocket":"<path d=\"M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z\"/><circle cx=\"15.5\" cy=\"8.5\" r=\"1.5\"/>","route":"<circle cx=\"6\" cy=\"18\" r=\"2.4\"/><circle cx=\"18\" cy=\"6\" r=\"2.4\"/><path d=\"M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6\"/>","rss":"<path d=\"M5 4.5a14.5 14.5 0 0 1 14.5 14.5M5 10.5A8.5 8.5 0 0 1 13.5 19\"/><path d=\"M5.5 18.5h.01\" stroke-width=\"3.4\"/>","save":"<path d=\"M5 4h11l3 3v13H5Z\"/><path d=\"M8 4v5h7V4M8 20v-6h8v6\"/>","scale":"<path d=\"M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0\"/>","scissors":"<circle cx=\"6\" cy=\"7\" r=\"2.6\"/><circle cx=\"6\" cy=\"17\" r=\"2.6\"/><path d=\"M8.2 8.6 20 18M8.2 15.4 20 6\"/>","scroll":"<path d=\"M8 3.5h10.5a2 2 0 0 1 2 2v1.5H17M8 3.5a2 2 0 0 0-2 2v12a3 3 0 0 1-3 3h11a3 3 0 0 0 3-3v-12a2 2 0 0 0-2-2M10 9h4M10 13h4\"/>","search":"<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m20 20-4.2-4.2\"/>","seedling":"<path d=\"M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z\"/>","server":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"7\" rx=\"2\"/><rect x=\"4\" y=\"13\" width=\"16\" height=\"7\" rx=\"2\"/><path d=\"M8 7.5h.01M8 16.5h.01\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.5\" r=\"3.5\"/><path d=\"m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z\"/>","share":"<path d=\"M12 15V3.5M7.5 8 12 3.5 16.5 8M5 13v6a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-6\"/>","shelter":"<path d=\"M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12\"/><circle cx=\"12\" cy=\"11\" r=\"1.8\"/><path d=\"M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21\"/>","shield":"<path d=\"M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z\"/>","shirt":"<path d=\"M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z\"/>","signature":"<path d=\"M3 16c2.5 0 3.5-9 6-9 1.5 0 1 6 2.5 6 1 0 1.5-2.5 2.5-2.5s.8 2 2 2c.8 0 1.5-.6 2-1.2M3 20h18\"/>","skip":"<path d=\"M6 5l9 7-9 7Z\"/><path d=\"M18.5 5v14\"/>","skull":"<path d=\"M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.4\"/><circle cx=\"14.5\" cy=\"10.5\" r=\"1.4\"/><path d=\"M10.5 18v3M13.5 18v3\"/>","slash":"<path d=\"M5 5l14 14\"/>","sliders":"<path d=\"M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"2.3\"/><circle cx=\"10\" cy=\"17\" r=\"2.3\"/>","smile":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01\"/>","snow":"<path d=\"M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5\"/>","sort":"<path d=\"M4 6h9M4 12h6M4 18h3M17.5 5v14M14.5 16l3 3 3-3\"/>","sort-asc":"<path d=\"M4 6h3M4 12h6M4 18h9M17.5 5v14M14.5 16l3 3 3-3\"/>","spark":"<path d=\"M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8Z\"/>","square":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2.5\"/>","star":"<path d=\"m12 4 2.4 5 5.4.6-4 3.7 1.1 5.4L12 16l-4.9 2.7 1.1-5.4-4-3.7 5.4-.6Z\"/>","steps":"<path d=\"M9 6h11M9 12h11M9 18h11\"/><path d=\"m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4\"/>","storm":"<path d=\"M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5\"/><path d=\"m13 13-2.5 4h3L11 21\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/>","swap":"<path d=\"M4 8h14l-3.5-3.5M20 16H6l3.5 3.5\"/>","sword":"<path d=\"M20 4v3.5L10.5 17 7 13.5 16.5 4Z\"/><path d=\"M5.5 12 12 18.5M8.5 15.5 4 20\"/>","table":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20\"/>","tack":"<path d=\"M9 3h6l-1 5 3 3H7l3-3ZM12 11v10\"/>","tag":"<path d=\"M3 12V4h8l10 10-8 8Z\"/><circle cx=\"7.5\" cy=\"8.5\" r=\"1.3\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","tent":"<path d=\"M2.5 20h19M12 5 4 20M12 5l8 15M12 13.5 9 20M12 13.5l3 6.5\"/>","terminal":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 9 3 3-3 3M13 15h4\"/>","text":"<path d=\"M5.5 20 11 4h2l5.5 16M7.6 14h8.8\"/>","thumbs-up":"<path d=\"M7 10.5v9.5H4.5a1 1 0 0 1-1-1v-7.5a1 1 0 0 1 1-1Z\"/><path d=\"M7 10.5 10.5 3.5a2.2 2.2 0 0 1 2.5 2.6L12.3 9.5H18a2 2 0 0 1 2 2.4l-1.3 6.5a2 2 0 0 1-2 1.6H7\"/>","ticket":"<path d=\"M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z\"/><path d=\"M14 7v10\"/>","timeline":"<path d=\"M3 12h1M8 12h2M14 12h2M20 12h1\"/><circle cx=\"6\" cy=\"12\" r=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"18\" cy=\"12\" r=\"2\"/><path d=\"M6 10V5.5M12 14v4.5M18 10V5.5\"/>","toolbox":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3\"/>","train":"<rect x=\"6\" y=\"3\" width=\"12\" height=\"13\" rx=\"3\"/><path d=\"M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3\"/>","tree":"<path d=\"M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4\"/>","trend-down":"<path d=\"M3 7l6 6 4-4 8 8\"/><path d=\"M15 17h6v-6\"/>","trend-up":"<path d=\"M3 17 9 11l4 4 8-8\"/><path d=\"M15 7h6v6\"/>","trophy":"<path d=\"M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8\"/>","tv":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"13\" rx=\"2\"/><path d=\"m8 3 4 4 4-4\"/>","umbrella":"<path d=\"M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01\"/>","undo":"<path d=\"M9 14 4 9l5-5\"/><path d=\"M4 9h10.5a5.5 5.5 0 0 1 0 11H11\"/>","up":"<path d=\"m6 15 6-6 6 6\"/>","upload":"<path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/>","user-check":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 11l2 2 4-4\"/>","user-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"10\" r=\"3\"/><path d=\"M6.6 18.3a6.5 6.5 0 0 1 10.8 0\"/>","user-lock":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><rect x=\"15\" y=\"15.5\" width=\"6\" height=\"5\" rx=\"1\"/><path d=\"M16.5 15.5v-1.2a1.5 1.5 0 0 1 3 0v1.2\"/>","user-minus":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M15.5 17.5h6\"/>","user-off":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/><path d=\"M3.5 3.5l17 17\"/>","user-pen":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M20 12.5l1.5 1.5-5 5-2 .5.5-2Z\"/>","user-tag":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M14.5 15h4l2.5 2.5-2.5 2.5h-4Z\"/><path d=\"M16.5 17.5h.01\"/>","video":"<rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"/><path d=\"m16 10 5-3v10l-5-3\"/>","volume":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"M15.5 9.5a3.5 3.5 0 0 1 0 5M18 7a7 7 0 0 1 0 10\"/>","walk":"<circle cx=\"13\" cy=\"4.5\" r=\"1.9\"/><path d=\"m9 21 2.6-6 2.1 2.4V21M11.6 15l1-5.6-3 1.6-1.5 3M12.6 9.4l2 3 3 1\"/>","wallet":"<path d=\"M4 7.5A2.5 2.5 0 0 1 6.5 5H18v4M4 7.5V18a2 2 0 0 0 2 2h14V9H6.5A2.5 2.5 0 0 1 4 7.5Z\"/><path d=\"M16 14.5h.01\"/>","water":"<path d=\"M2.5 9c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2M2.5 15c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2\"/>","wave":"<path d=\"M2 16c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2\"/><path d=\"M5.5 11.5A7 7 0 0 1 18 8.6c-2.3-.5-4.2.4-4.8 2.4\"/>","weight":"<circle cx=\"12\" cy=\"5.5\" r=\"2\"/><path d=\"M7 9h10l3 11.5H4Z\"/>","wifi":"<path d=\"M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01\"/>","wind":"<path d=\"M3 8.5h11a3 3 0 1 0-3-3M3 12.5h15a3 3 0 1 1-3 3M3 16.5h7\"/>","window":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"15\" rx=\"2\"/><path d=\"M3.5 9h17\"/>","window-restore":"<rect x=\"3.5\" y=\"8.5\" width=\"12\" height=\"11\" rx=\"2\"/><path d=\"M8.5 8.5v-2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-3\"/>","wizard":"<path d=\"M4 20h16M6.5 20 10 9.5 15.5 4 14 10.5 17.5 20\"/><path d=\"M8.6 15.5h7\"/>","wrench":"<path d=\"M14.5 4a5 5 0 0 0-4.4 7L4 17.1V20h2.9l6.1-6.1a5 5 0 0 0 7-4.4l-3 1.1-2.4-2.4 1.1-3Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13 3 5 13h6l-1 8 8-10h-6Z\"/>"};
-- const FA = {"address-card":"id","adjust":"contrast","align-left":"align-left","angle-down":"down","angle-right":"chevron","angles-left":"chevrons-left","angles-right":"chevrons-right","arrow-down":"arrow-down","arrow-down-short-wide":"sort-asc","arrow-down-wide-short":"sort","arrow-left":"arrow-left","arrow-right":"arrow-right","arrow-right-arrow-left":"swap","arrow-right-from-bracket":"leave","arrow-right-to-bracket":"enter","arrow-rotate-right":"retry","arrow-trend-down":"trend-down","arrow-trend-up":"trend-up","arrow-up":"arrow-up","arrow-up-from-bracket":"share","arrow-up-right-from-square":"open","arrows-left-right":"arrows-h","arrows-rotate":"retry","arrows-to-dot":"focus","arrows-up-down-left-right":"move","at":"at","backward":"rewind","backward-fast":"rewind","balance-scale":"scale","ban":"ban","bars":"menu","basket-shopping":"cart","bell":"bell","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book","box":"box","box-archive":"archive","box-open":"box","brain":"brain","bridge":"bridge","briefcase":"briefcase","briefcase-medical":"medical","broadcast-tower":"live","bug":"bug","bullhorn":"megaphone","bullseye":"target","burst":"burst","calendar":"calendar","calendar-day":"calendar","calendar-days":"calendar","camera":"camera","camera-cctv":"camera","camera-retro":"camera","camera-rotate":"camera-flip","camera-slash":"camera-off","campground":"tent","car":"car","caret-down":"down","cart":"cart","cart-plus":"cart","cart-shopping":"cart","chart-area":"chart","chart-bar":"chart","chart-column":"chart","chart-line":"chart","chart-simple":"chart","check":"check","check-circle":"check-circle","check-double":"check-double","chevron-down":"down","chevron-left":"back","chevron-right":"chevron","chevron-up":"up","child":"child","circle":"circle","circle-check":"check-circle","circle-dollar-to-slot":"donate","circle-dot":"record","circle-exclamation":"alert-circle","circle-half-stroke":"contrast","circle-info":"info","circle-minus":"minus-circle","circle-nodes":"nodes","circle-notch":"busy","circle-play":"play","circle-plus":"plus-circle","circle-question":"help","circle-user":"user-circle","circle-xmark":"x-circle","city":"city","clapperboard":"clapper","clipboard":"clipboard","clipboard-check":"clipboard-check","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","clone":"copy","closed-captioning":"cc","cloud":"cloud","cloud-arrow-up":"upload","cloud-bolt":"storm","cloud-moon":"cloud","cloud-rain":"cloud","cloud-showers-heavy":"cloud","cloud-slash":"cloud-off","cloud-sun":"cloud","code":"code","code-branch":"branch","code-commit":"commit","code-fork":"branch","coin":"coin","coins":"coin","comment":"chat","comment-dots":"chat","comment-slash":"chat-off","comments":"chat","compass":"compass","compress":"compress","cookie":"cookie","cookie-bite":"cookie","copy":"copy","couch":"couch","credit-card":"card","crown":"crown","cube":"box","cubes":"cubes","cut":"scissors","database":"database","desktop":"computer","diagram-project":"nodes","dice":"dice","dice-five":"dice","dice-six":"dice","display":"computer","dollar-sign":"dollar","door-closed":"door","door-open":"door","down-left-and-up-right-to-center":"compress","download":"download","droplet":"drop","ear-listen":"ear","earth-americas":"globe","earth-europe":"globe","ellipsis":"more","ellipsis-vertical":"more","envelope":"mail","eraser":"eraser","exchange-alt":"swap","expand":"expand","external-link":"open","eye":"eye","eye-slash":"eye-off","face-grin":"laugh","face-grin-squint":"laugh","face-grin-squint-tears":"laugh","face-grin-stars":"smile","face-laugh":"laugh","face-smile":"smile","faucet":"drop","faucet-drip":"drop","file":"file","file-audio":"file","file-code":"file-code","file-image":"image","file-lines":"file","file-pdf":"file","file-pen":"pencil","film":"film","filter":"filter","fire":"fire","fish":"fish","fist-raised":"fist","flag":"flag","flag-checkered":"finish","flask":"flask","flask-vial":"flask","floppy-disk":"save","folder":"folder","folder-open":"folder","folder-tree":"folder-tree","font":"text","forward":"fast-forward","forward-fast":"fast-forward","forward-step":"skip","gamepad":"game","gauge":"gauge","gauge-high":"gauge","gauge-simple":"gauge","gauge-simple-high":"gauge","gauge-simple-low":"gauge","gavel":"gavel","gear":"gear","gears":"gear","gem":"gem","ghost":"ghost","gift":"gift","globe":"globe","grid":"grid","grip":"grip","grip-vertical":"grip","hammer":"hammer","hand":"hand","hand-fist":"fist","hand-holding-dollar":"coin","hand-holding-heart":"care","hand-point-right":"hand","hand-pointer":"hand","handshake":"handshake","handshake-angle":"handshake","hard-drive":"drive","hashtag":"hash","hat-wizard":"wizard","hdd":"drive","heading":"heading","headphones":"headphones","headphones-simple":"headphones","headset":"headphones","heart":"heart","heart-crack":"heart-broken","heart-pulse":"heart-pulse","heartbeat":"heart-pulse","hiking":"mountain","hot-tub":"hot-tub","hot-tub-person":"hot-tub","hourglass":"hourglass","hourglass-end":"hourglass","hourglass-half":"hourglass","hourglass-start":"hourglass","house":"home","house-chimney":"home","house-signal":"home","icicles":"snow","icons":"shapes","id-card":"id","image":"image","images":"image","inbox":"inbox","infinity":"infinity","info-circle":"info","key":"key","keyboard":"keyboard","kit-medical":"medical","language":"language","laptop":"computer","layer-group":"layers","leaf":"leaf","left-right":"arrows-h","life-ring":"lifebuoy","lightbulb":"idea","link":"link","link-slash":"link-off","list":"list","list-check":"steps","list-ol":"list-ordered","list-ul":"list","location-dot":"pin","location-pin":"pin","lock":"lock","lungs":"lungs","magnifying-glass":"search","map":"map","map-location-dot":"map","map-marker-alt":"pin","map-pin":"pin","mask":"mask","message":"chat","microchip":"chip","microphone":"mic","microphone-lines":"mic","microphone-slash":"mic-off","minus":"minus","minus-circle":"minus-circle","mobile-screen":"phone","mobile-screen-button":"phone","money-bill":"money","money-bill-1":"money","money-bill-transfer":"money","money-bill-wave":"money","money-check":"money","moon":"moon","mountain":"mountain","mountain-sun":"mountain","mug-hot":"mug","mug-saucer":"mug","music":"music","network-wired":"nodes","newspaper":"news","object-group":"group","paint-brush":"palette","paintbrush":"palette","palette":"palette","paper-plane":"plane","parking":"parking","paste":"clipboard","pause":"pause","paw":"paw","pen":"pencil","pen-nib":"pencil","pen-to-square":"pencil","pencil":"pencil","people-arrows":"members","people-group":"members","person-hiking":"mountain","person-shelter":"shelter","person-swimming":"water","person-walking":"walk","phone":"phone","phone-slash":"phone-off","photo-film":"film","piggy-bank":"piggy","plane":"airplane","plane-departure":"airplane","play":"play","plug":"plug","plug-circle-bolt":"plug","plug-circle-check":"plug","plug-circle-xmark":"plug","plus":"plus","plus-circle":"plus-circle","print":"print","question":"help","quote-left":"quote","quote-right":"quote","radio":"radio","ranking-star":"ranking","recycle":"recycle","reply":"reply","restroom":"restroom","right-from-bracket":"leave","right-left":"swap","right-to-bracket":"enter","road":"road","robot":"robot","rocket":"rocket","rotate":"retry","rotate-back":"undo","rotate-left":"retry","rotate-right":"retry","route":"route","rss":"rss","satellite-dish":"dish","save":"save","scale-balanced":"scale","scissors":"scissors","screwdriver-wrench":"wrench","scroll":"scroll","search":"search","seedling":"seedling","server":"server","shapes":"shapes","share-nodes":"nodes","shield":"shield","shield-halved":"shield","shirt":"shirt","signal":"wifi","signature":"signature","sitemap":"nodes","skull":"skull","skull-crossbones":"skull","slash":"slash","sliders":"sliders","sliders-h":"sliders","smog":"cloud","snowflake":"snow","sparkles":"spark","spinner":"busy","square":"square","square-parking":"parking","star":"star","star-of-life":"spark","step-forward":"skip","stop":"stop","store":"store","suitcase":"briefcase","suitcase-medical":"medical","sun":"sun","sword":"sword","table":"table","table-cells":"grid","table-columns":"columns","table-list":"table","tag":"tag","tags":"tag","television":"tv","terminal":"terminal","text-height":"text","th":"grid","thumbs-up":"thumbs-up","thumbtack":"tack","ticket":"ticket","timeline":"timeline","times":"close","toolbox":"toolbox","tower-broadcast":"live","tower-cell":"live","train":"train","trash":"trash","trash-can":"trash","tree":"tree","triangle-exclamation":"alert","trophy":"trophy","tv":"tv","umbrella":"umbrella","umbrella-beach":"umbrella","undo":"undo","unlock":"lock","up-right-and-down-left-from-center":"expand","up-right-from-square":"open","upload":"upload","user":"user","user-astronaut":"user","user-check":"user-check","user-circle":"user-circle","user-edit":"user-pen","user-group":"members","user-lock":"user-lock","user-minus":"user-minus","user-pen":"user-pen","user-plus":"invite","user-secret":"user","user-shield":"shield","user-slash":"user-off","user-tag":"user-tag","users":"members","utensils":"food","video":"video","video-slash":"video","volume-high":"volume","volume-low":"volume","volume-off":"mute","volume-xmark":"mute","wallet":"wallet","wand-magic":"spark","wand-magic-sparkles":"spark","water":"water","wave-square":"wave","weight-hanging":"weight","wifi":"wifi","wind":"wind","window-maximize":"window","window-restore":"window-restore","wrench":"wrench","xmark":"close","xmark-circle":"x-circle"};
++ const G = {"airplane":"<path d=\"M12 3c1 0 1.5 1 1.5 2.5V10l7.5 4.5V16l-7.5-2.5V18l2 1.5V21L12 20l-3.5 1v-1.5l2-1.5v-4.5L3 16v-1.5L10.5 10V5.5C10.5 4 11 3 12 3Z\"/>","alert":"<path d=\"M12 4 2.8 19.5h18.4Z\"/><path d=\"M12 10v4M12 17h.01\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","align-left":"<path d=\"M4 6h16M4 10h10M4 14h16M4 18h10\"/>","archive":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"5\" rx=\"1\"/><path d=\"M5 9v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V9M10 13h4\"/>","arrow-down":"<path d=\"M12 4v16M6 14l6 6 6-6\"/>","arrow-left":"<path d=\"M20 12H4M10 6l-6 6 6 6\"/>","arrow-right":"<path d=\"M4 12h16M14 6l6 6-6 6\"/>","arrow-up":"<path d=\"M12 20V4M6 10l6-6 6 6\"/>","arrows-h":"<path d=\"M3.5 12h17M7.5 8l-4 4 4 4M16.5 8l4 4-4 4\"/>","at":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path d=\"M15.6 12v1.4a2.6 2.6 0 0 0 5.2 0V12a8.8 8.8 0 1 0-3.4 6.9\"/>","back":"<path d=\"M15 5l-7 7 7 7\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0\"/>","book":"<path d=\"M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z\"/><path d=\"M4 19V5\"/>","book-open":"<path d=\"M12 6.6C10 5.1 7 4.6 3.5 5.2v13.2c3.5-.6 6.5-.1 8.5 1.4 2-1.5 5-2 8.5-1.4V5.2C17 4.6 14 5.1 12 6.6Z\"/><path d=\"M12 6.6v13.2\"/>","box":"<path d=\"M3.5 8 12 4l8.5 4v8.5L12 20.5l-8.5-4Z\"/><path d=\"M3.5 8 12 12l8.5-4M12 12v8.5M7.8 6l8.4 4\"/>","brain":"<path d=\"M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2\"/>","branch":"<circle cx=\"6\" cy=\"5\" r=\"2\"/><circle cx=\"6\" cy=\"19\" r=\"2\"/><circle cx=\"18\" cy=\"7\" r=\"2\"/><path d=\"M6 7v10M18 9c0 5.5-6.5 4-11 8.5\"/>","bridge":"<path d=\"M2 15.5h20M4.5 15.5V10M19.5 15.5V10M2 9.5c4 0 6-3 10-3s6 3 10 3M8.5 15.5V12M15.5 15.5V12M12 15.5V8\"/>","briefcase":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V7M3 12.5h7.5M13.5 12.5H21M10.5 11.5h3v2.5h-3Z\"/>","bug":"<rect x=\"7.5\" y=\"8\" width=\"9\" height=\"12.5\" rx=\"4.5\"/><path d=\"M9.5 8.3a2.5 2.5 0 0 1 5 0M12 12.5v8M7.5 13.5H4M20 13.5h-3.5M7.9 10 5 7.5M16.1 10 19 7.5M7.9 17.5 5 20M16.1 17.5 19 20\"/>","burst":"<path d=\"M12 2.5L13.99 7.2L18.72 5.28L16.8 10.01L21.5 12L16.8 13.99L18.72 18.72L13.99 16.8L12 21.5L10.01 16.8L5.28 18.72L7.2 13.99L2.5 12L7.2 10.01L5.28 5.28L10.01 7.2Z\"/>","busy":"<path d=\"M6 12h.01M12 12h.01M18 12h.01\" stroke-width=\"3.4\"/>","calendar":"<rect x=\"4\" y=\"5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10h16M9 3v4M15 3v4\"/>","camera":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/>","camera-flip":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><path d=\"M15 12.6a3.1 3.1 0 0 0-5.6-1.2M9 14.4a3.1 3.1 0 0 0 5.6 1.2M9.3 9.5v2h2M14.7 17.5v-2h-2\"/>","camera-off":"<path d=\"M3.5 8h3.4l1.8-2.8h6.6L17.1 8h3.4v11.5h-17Z\"/><circle cx=\"12\" cy=\"13.3\" r=\"3.4\"/><path d=\"M3.5 3.5l17 17\"/>","car":"<path d=\"M3.5 17v-4.5L6.2 7h11.6l2.7 5.5V17Z\"/><path d=\"M3.5 12.5h17M6.5 17v2.5M17.5 17v2.5M7.2 15h.01M16.8 15h.01\"/>","card":"<rect x=\"2.5\" y=\"5\" width=\"19\" height=\"14\" rx=\"2\"/><path d=\"M2.5 10h19M6 15h4\"/>","care":"<path d=\"M3 15.5h3l4 3h5.5a2 2 0 0 0 0-4H12M7 15.5l2.2-2h3.3\"/><path d=\"M15.5 10s-3.2-2-3.2-4.4a1.9 1.9 0 0 1 3.2-1.3 1.9 1.9 0 0 1 3.2 1.3c0 2.4-3.2 4.4-3.2 4.4Z\"/>","cart":"<path d=\"M3 4h2l2.4 11h11L21 7H6.2\"/><circle cx=\"9\" cy=\"19.5\" r=\"1.3\"/><circle cx=\"17\" cy=\"19.5\" r=\"1.3\"/>","cc":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2.5\"/><path d=\"M10.6 10.1a2.4 2.4 0 1 0 0 3.8M17.1 10.1a2.4 2.4 0 1 0 0 3.8\"/>","chart":"<path d=\"M4 4v16h16\"/><path d=\"m7.5 14.5 3.5-4 3 2.5 5-6\"/>","chat":"<path d=\"M4 5h16v11H8l-4 4Z\"/>","chat-off":"<path d=\"M4 5h16v11H8l-4 4Z\"/><path d=\"M3.5 3.5l17 17\"/>","check":"<path d=\"m5 12.5 4.5 4.5L19 7.5\"/>","check-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8 12.4 2.8 2.8L16 9.6\"/>","check-double":"<path d=\"m2.5 12.5 4 4L15 8M11 16.5l1 1L21.5 8\"/>","chevron":"<path d=\"m9 6 6 6-6 6\"/>","chevrons-left":"<path d=\"m11.5 17-5-5 5-5M18 17l-5-5 5-5\"/>","chevrons-right":"<path d=\"m6 17 5-5-5-5M12.5 17l5-5-5-5\"/>","child":"<circle cx=\"12\" cy=\"5.5\" r=\"2.2\"/><path d=\"M7.5 10.5 12 9l4.5 1.5M12 9v6M9 21l3-6 3 6\"/>","chip":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.5\"/><path d=\"M10 3v4M14 3v4M10 17v4M14 17v4M3 10h4M3 14h4M17 10h4M17 14h4\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3 21h18M5 21V9h5v12M10 21V4h6v17M16 21v-8h3.5v8M7.5 12h.01M7.5 15.5h.01M13 7.5h.01M13 11h.01M13 14.5h.01\"/>","clapper":"<path d=\"M3.5 10h17v9a1 1 0 0 1-1 1h-15a1 1 0 0 1-1-1Z\"/><path d=\"M3.5 10 2.9 6.6l16.4-3 .7 3.6ZM8 5.7l2.3 3.3M13.3 4.7l2.3 3.3\"/>","clipboard":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 11h6M9 15h4\"/>","clipboard-check":"<rect x=\"5.5\" y=\"5\" width=\"13\" height=\"16\" rx=\"2\"/><path d=\"M9 5V3.5h6V5M9 13.5l2 2 4-4\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M6 6l12 12M18 6 6 18\"/>","cloud":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/>","cloud-off":"<path d=\"M7 18h10a4 4 0 0 0 .5-8A6 6 0 0 0 6 9.5 4.3 4.3 0 0 0 7 18Z\"/><path d=\"M3.5 3.5l17 17\"/>","code":"<path d=\"m8 8-4 4 4 4M16 8l4 4-4 4M14 5l-4 14\"/>","coin":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M14.5 9.2c-.5-.8-1.4-1.2-2.5-1.2-1.5 0-2.5.8-2.5 2s1 1.6 2.5 2 2.5.8 2.5 2-1 2-2.5 2c-1.1 0-2-.4-2.5-1.2M12 6.5v11\"/>","columns":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"15\" rx=\"2\"/><path d=\"M12 4.5v15M3.5 9h17\"/>","commit":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path d=\"M3 12h5.4M15.6 12H21\"/>","compass":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m15.6 8.4-2.1 5.1-5.1 2.1 2.1-5.1Z\"/>","compress":"<path d=\"M9 4v5H4M15 4v5h5M9 20v-5H4M15 20v-5h5\"/>","computer":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M8 20h8M12 16v4\"/>","contrast":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M12 3v18M12 7.5h7M12 12h9M12 16.5h7\"/>","cookie":"<path d=\"M20.5 12.5a8.5 8.5 0 1 1-9-9 3 3 0 0 0 4 3.6 3 3 0 0 0 5 5.4Z\"/><path d=\"M8.5 9.5h.01M12 14h.01M8 15.5h.01M15.5 15.5h.01\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12\" height=\"12\" rx=\"2\"/><path d=\"M16 8V6a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h2\"/>","couch":"<path d=\"M5 11V8a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v3\"/><path d=\"M3 13a2 2 0 0 1 4 0v1.5h10V13a2 2 0 0 1 4 0v5H3ZM5 18v2M19 18v2\"/>","crown":"<path d=\"M3 8.5 7.5 12.5 12 5.5l4.5 7 4.5-4L19 19H5Z\"/>","cubes":"<path d=\"M12 3.5 8 5.5v4.5l4 2 4-2V5.5ZM7.5 12 3.5 14v4.5l4 2 4-2V14ZM16.5 12l-4 2v4.5l4 2 4-2V14Z\"/>","database":"<ellipse cx=\"12\" cy=\"6\" rx=\"7\" ry=\"3\"/><path d=\"M5 6v12c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12c0 1.7 3.1 3 7 3s7-1.3 7-3\"/>","dice":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M8.5 8.5h.01M15.5 8.5h.01M12 12h.01M8.5 15.5h.01M15.5 15.5h.01\" stroke-width=\"2.6\"/>","dish":"<path d=\"M5 9.5A9.5 9.5 0 0 0 14.5 19Z\"/><path d=\"m9.5 14.5 4.5-4.5M14.5 4.5a5 5 0 0 1 5 5M14.5 8a1.5 1.5 0 0 1 1.5 1.5\"/>","dollar":"<path d=\"M16 7.5C15.3 6 13.8 5 12 5 9.5 5 8 6.3 8 8s1.7 2.6 4 3 4 1.4 4 3.3-1.6 3.2-4 3.2c-1.9 0-3.4-1-4-2.5M12 3v18\"/>","donate":"<circle cx=\"12\" cy=\"8.5\" r=\"5\"/><path d=\"M12 6.4v4.2M4 15.5h16V20H4ZM8.5 17.75h7\"/>","door":"<path d=\"M14 4.5 6 3v18l8-1.5ZM14 5h3.5a1 1 0 0 1 1 1v15M3 21h18M11 12h.01\"/>","down":"<path d=\"m6 9 6 6 6-6\"/>","download":"<path d=\"M12 4v11M7 10l5 5 5-5M5 20h14\"/>","drive":"<rect x=\"3\" y=\"13\" width=\"18\" height=\"7\" rx=\"2\"/><path d=\"M3.5 13 6.5 5h11l3 8M17 16.5h.01M14 16.5h.01\"/>","drop":"<path d=\"M12 3s6 6.5 6 11a6 6 0 0 1-12 0c0-4.5 6-11 6-11Z\"/>","ear":"<path d=\"M7.5 9a5 5 0 1 1 9.6 2c-.8 1.6-2.6 2.5-2.6 4.6a3 3 0 0 1-5.7 1.4\"/><path d=\"M10.5 9.3a2 2 0 1 1 3.5 1.3\"/>","enter":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 8l4 4-4 4M14 12H4\"/>","eraser":"<path d=\"m14 4.5 5.5 5.5-9 9H6.3l-2.6-2.6a1.5 1.5 0 0 1 0-2.1Z\"/><path d=\"M9 9.5l5.5 5.5M10.5 19H20\"/>","expand":"<path d=\"M4 9V4h5M20 9V4h-5M4 15v5h5M20 15v5h-5\"/>","eye":"<path d=\"M2.5 12S6 5.5 12 5.5 21.5 12 21.5 12 18 18.5 12 18.5 2.5 12 2.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","eye-off":"<path d=\"M3 12s3.5-6.5 9-6.5c1.6 0 3 .5 4.3 1.2M21 12s-3.5 6.5-9 6.5c-1.6 0-3-.5-4.3-1.2\"/><path d=\"M9.9 9.9a3 3 0 0 0 4.2 4.2M4 4l16 16\"/>","fast-forward":"<path d=\"M3.5 6.5v11L11 12ZM12.5 6.5v11L20 12Z\"/>","file":"<path d=\"M6 3h8l4 4v14H6Z\"/><path d=\"M14 3v4h4\"/>","file-code":"<path d=\"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8Z\"/><path d=\"M14 3v5h5M10 12.5 8 14.5l2 2M14 12.5l2 2-2 2\"/>","film":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M7.5 4v16M16.5 4v16M3 9h4.5M3 15h4.5M16.5 9H21M16.5 15H21\"/>","filter":"<path d=\"M4 6h16M7 12h10M10 18h4\"/>","finish":"<path d=\"M5 21V3.5\"/><rect x=\"5\" y=\"4\" width=\"14.5\" height=\"9\" rx=\"1\"/><path d=\"M5 8.5h14.5M9.8 4v9M14.6 4v9\"/>","fire":"<path d=\"M12 21a6 6 0 0 0 6-6c0-3.8-2.6-6-3.7-9-1.8 2-2.3 4-2.3 4S10.8 8 9.8 6.2C7.6 8.7 6 11.6 6 15a6 6 0 0 0 6 6Z\"/>","fish":"<path d=\"M8 12c2-3.2 4.5-4.8 7.5-4.8 2.6 0 4.5 2 5.5 4.8-1 2.8-2.9 4.8-5.5 4.8-3 0-5.5-1.6-7.5-4.8Z\"/><path d=\"M8 12 3.5 8.5v7Z\"/><path d=\"M16.8 10.6h.01\"/>","fist":"<path d=\"M7.5 11V7.5a1.5 1.5 0 0 1 3 0V10M10.5 9.5v-3a1.5 1.5 0 0 1 3 0v3M13.5 9.5v-2a1.5 1.5 0 0 1 3 0V10M16.5 10V9a1.5 1.5 0 0 1 3 0v5a7 7 0 0 1-7 7H12a5.5 5.5 0 0 1-5.5-5.5V13A2 2 0 0 1 8.5 11h2a1.5 1.5 0 0 1 0 3H9\"/>","flag":"<path d=\"M5 21V4M5 4h11l-2 4 2 4H5\"/>","flask":"<path d=\"M9.5 3.5h5M10 3.5V9.5L4.8 18.2a1.5 1.5 0 0 0 1.3 2.3h11.8a1.5 1.5 0 0 0 1.3-2.3L14 9.5V3.5\"/><path d=\"M7.2 15h9.6\"/>","focus":"<circle cx=\"12\" cy=\"12\" r=\"1.6\"/><path d=\"M12 3v5M10 6l2 2 2-2M12 21v-5M10 18l2-2 2 2M3 12h5M6 10l2 2-2 2M21 12h-5M18 10l-2 2 2 2\"/>","folder":"<path d=\"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Z\"/>","folder-tree":"<path d=\"M4.5 3.5v13a1 1 0 0 0 1 1H10M4.5 8.5H10\"/><path d=\"M10.5 5.5h3l1 1.5h5.5V11h-9.5ZM10.5 14.5h3l1 1.5h5.5V20h-9.5Z\"/>","food":"<path d=\"M7 3v7M5 3v4.5a2 2 0 0 0 4 0V3M7 10v11M17 21V3c-2 1.2-3.2 3.6-3.2 7v3H17\"/>","game":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"11\" rx=\"5\"/><path d=\"M7 11v3M5.5 12.5h3M15.5 12h.01M18 13.5h.01\"/>","gauge":"<path d=\"M4 18a8 8 0 1 1 16 0\"/><path d=\"m12 14.5 4-5.5\"/><circle cx=\"12\" cy=\"14.5\" r=\"1.3\"/>","gavel":"<path d=\"m14 4.5 5.5 5.5M10.5 8l5.5 5.5M12.3 6.3l-6 6 5.4 5.4 6-6M3 21l6.3-6.3M14 21h7\"/>","gear":"<circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.7 1.7 0 0 0 .3 1.8l.1.1a2 2 0 1 1-2.8 2.8l-.1-.1a1.7 1.7 0 0 0-1.8-.3 1.7 1.7 0 0 0-1 1.5V21a2 2 0 1 1-4 0v-.1a1.7 1.7 0 0 0-1.1-1.5 1.7 1.7 0 0 0-1.8.3l-.1.1a2 2 0 1 1-2.8-2.8l.1-.1a1.7 1.7 0 0 0 .3-1.8 1.7 1.7 0 0 0-1.5-1H3a2 2 0 1 1 0-4h.1a1.7 1.7 0 0 0 1.5-1.1 1.7 1.7 0 0 0-.3-1.8l-.1-.1a2 2 0 1 1 2.8-2.8l.1.1a1.7 1.7 0 0 0 1.8.3H9a1.7 1.7 0 0 0 1-1.5V3a2 2 0 1 1 4 0v.1a1.7 1.7 0 0 0 1 1.5 1.7 1.7 0 0 0 1.8-.3l.1-.1a2 2 0 1 1 2.8 2.8l-.1.1a1.7 1.7 0 0 0-.3 1.8V9a1.7 1.7 0 0 0 1.5 1H21a2 2 0 1 1 0 4h-.1a1.7 1.7 0 0 0-1.5 1Z\"/>","gem":"<path d=\"M6.5 4h11L21 9l-9 11L3 9Z\"/><path d=\"M3 9h18M9.5 4 8 9l4 11M14.5 4 16 9l-4 11\"/>","ghost":"<path d=\"M5 20V11a7 7 0 0 1 14 0v9l-2.3-1.8-2.4 1.8-2.3-1.8L9.7 20l-2.4-1.8Z\"/><path d=\"M9.5 10.5h.01M14.5 10.5h.01\"/>","gift":"<rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"1\"/><path d=\"M3 9h18M12 9v11M12 9c-1.5-3-5-4-5-1.5S12 9 12 9s5-1 5-3.5S13.5 6 12 9\"/>","globe":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><path d=\"M3 12h18M12 3c3 3 3 15 0 18M12 3c-3 3-3 15 0 18\"/>","grid":"<rect x=\"4\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"4\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"4\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/><rect x=\"13\" y=\"13\" width=\"7\" height=\"7\" rx=\"1.5\"/>","grip":"<path d=\"M9 6h.01M15 6h.01M9 12h.01M15 12h.01M9 18h.01M15 18h.01\" stroke-width=\"3\"/>","group":"<path d=\"M3 7V3h4M17 3h4v4M21 17v4h-4M7 21H3v-4\"/><rect x=\"7\" y=\"7\" width=\"6\" height=\"5\" rx=\"1\"/><rect x=\"11\" y=\"12\" width=\"6\" height=\"5\" rx=\"1\"/>","hammer":"<path d=\"M13 4.5 19.5 11l-2.8 2.8-6.5-6.5Z\"/><path d=\"M13.5 10.5 4.5 19.5a1.4 1.4 0 0 0 2 2l9-9\"/>","hand":"<path d=\"M8 13V5.5a1.5 1.5 0 0 1 3 0V11M11 10V4.5a1.5 1.5 0 0 1 3 0V11M14 10.5V6a1.5 1.5 0 0 1 3 0v7c0 4-2.5 7-6.5 7-2.6 0-4.2-1.3-5.7-3.6L3 13.6a1.5 1.5 0 0 1 2.4-1.8L8 15\"/>","handshake":"<path d=\"M2.5 9.5v6M21.5 9.5v6\"/><path d=\"M2.5 10.5h2.5l4-3 3.2 1.4L15 7.5l4 3h2.5\"/><path d=\"M5 10.5l6.8 6.8a1.3 1.3 0 0 0 1.9-1.8M13.7 15.5l.6.6a1.3 1.3 0 0 0 1.9-1.8M16.2 14.3l.3.3a1.3 1.3 0 0 0 1.9-1.8L19 10.5M18.4 12.8l-4.6-4.6-2.6 2.3a1.5 1.5 0 0 1-2.1-2.1l2.1-2.2\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heading":"<path d=\"M6 4v16M18 4v16M6 12h12M4 4h4M16 4h4M4 20h4M16 20h4\"/>","headphones":"<path d=\"M4 15v-3a8 8 0 0 1 16 0v3\"/><rect x=\"3\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/><rect x=\"16.5\" y=\"14\" width=\"4.5\" height=\"6.5\" rx=\"1.5\"/>","heart":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/>","heart-broken":"<path d=\"M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10Z\"/><path d=\"M12 7.4 10.4 11l3 2-1.4 3.4\"/>","heart-pulse":"<path d=\"M19.8 12.5c-1.9 4-7.8 7.5-7.8 7.5s-5.9-3.5-7.8-7.5M3.4 9.5A4.8 4.8 0 0 1 12 7a4.8 4.8 0 0 1 8.6 2.5\"/><path d=\"M2.5 12h4.5l1.5-2.5 2.5 5 2-3.5h8.5\"/>","help":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M9.6 9.3a2.5 2.5 0 0 1 4.8.9c0 1.7-2.4 2.2-2.4 3.8M12 17h.01\"/>","history":"<path d=\"M4 12a8 8 0 1 0 2.4-5.7L4 8.6M4 4.5v4.1h4.1\"/><path d=\"M12 8v4.2l3 1.8\"/>","home":"<path d=\"M4 11 12 4l8 7v8a1 1 0 0 1-1 1h-4v-6h-6v6H5a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8\" cy=\"5.5\" r=\"1.8\"/><path d=\"M3 12h18v3.5a4.5 4.5 0 0 1-4.5 4.5h-9A4.5 4.5 0 0 1 3 15.5ZM6 12v-1.5A2.5 2.5 0 0 1 8.5 8H9M13.5 9.5c.8-1-.8-2 0-3M17.5 9.5c.8-1-.8-2 0-3\"/>","hourglass":"<path d=\"M6 3.5h12M6 20.5h12M7.5 3.5c0 4.5 4.5 5.5 4.5 8.5s-4.5 4-4.5 8.5M16.5 3.5c0 4.5-4.5 5.5-4.5 8.5s4.5 4 4.5 8.5\"/>","id":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><circle cx=\"9\" cy=\"11\" r=\"2\"/><path d=\"M6 16c.5-1.5 1.7-2.3 3-2.3s2.5.8 3 2.3M15 10h3M15 13.5h3\"/>","idea":"<path d=\"M9 18h6M10 21h4M8.6 14.6A6 6 0 1 1 15.4 14.6c-.7.6-1.4 1.5-1.4 2.4h-4c0-.9-.7-1.8-1.4-2.4Z\"/>","image":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"/><circle cx=\"9\" cy=\"10\" r=\"1.6\"/><path d=\"m21 16-5-5-8 8\"/>","inbox":"<path d=\"M3 13.5 5.5 5h13l2.5 8.5V19a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1ZM3 13.5h5l1.5 2.5h5l1.5-2.5h5\"/>","infinity":"<path d=\"M12 12c-2-2.7-3.7-4-5.5-4a4 4 0 0 0 0 8c1.8 0 3.5-1.3 5.5-4Zm0 0c2 2.7 3.7 4 5.5 4a4 4 0 0 0 0-8c-1.8 0-3.5 1.3-5.5 4Z\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M19 8v6M16 11h6\"/>","key":"<circle cx=\"8\" cy=\"15\" r=\"4\"/><path d=\"m10.8 12.2 8.7-8.7M16 7l3 3M14 9l2 2\"/>","keyboard":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><path d=\"M6 10h.01M9 10h.01M12 10h.01M15 10h.01M18 10h.01M8 14h8\"/>","language":"<path d=\"M4 5h9M8.5 3v2M6 5c.5 3 2.5 6 6 7.5M11 5c-.6 3.4-2.8 6.8-6.5 8.5M12 21l4-9 4 9M13.4 18h5.2\"/>","laugh":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 13.5h8a4 4 0 0 1-8 0ZM7.5 8.6l2.2 1.2-2.2 1.2M16.5 8.6l-2.2 1.2 2.2 1.2\"/>","layers":"<path d=\"m12 3.5 9 5-9 5-9-5Z\"/><path d=\"m3 13 9 5 9-5\"/>","leaf":"<path d=\"M5 19c0-8.5 5-13.6 15-15-.9 9.9-6 15-15 15ZM5 19l8-8\"/>","leave":"<path d=\"M14 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4M10 16l-4-4 4-4M6 12h10\"/>","lifebuoy":"<circle cx=\"12\" cy=\"12\" r=\"9\"/><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"m5.6 5.6 3.6 3.6M14.8 14.8l3.6 3.6M18.4 5.6l-3.6 3.6M9.2 14.8l-3.6 3.6\"/>","link":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/>","link-off":"<path d=\"M10 14a4 4 0 0 0 5.7 0l3-3a4 4 0 0 0-5.7-5.7l-1 1M14 10a4 4 0 0 0-5.7 0l-3 3a4 4 0 0 0 5.7 5.7l1-1\"/><path d=\"M3.5 3.5l17 17\"/>","list":"<path d=\"M9 6h11M9 12h11M9 18h11M4.5 6h.01M4.5 12h.01M4.5 18h.01\"/>","list-ordered":"<path d=\"M10 6h11M10 12h11M10 18h11M4 4.5 5 4v4.5M4 8.5h2M4 13a1 1 0 0 1 2 .3c0 1.1-2 1.7-2 2.7h2.2\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<rect x=\"5\" y=\"11\" width=\"14\" height=\"9\" rx=\"2\"/><path d=\"M8 11V8a4 4 0 0 1 8 0v3\"/>","lungs":"<path d=\"M12 4v7.5M12 9.5l-2.8 2M12 9.5l2.8 2M8.6 6.8C6 6.8 4 10.5 4 15c0 2.6 1 4.5 3 4.5s2.5-2 2.5-4.5V8.5M15.4 6.8C18 6.8 20 10.5 20 15c0 2.6-1 4.5-3 4.5s-2.5-2-2.5-4.5V8.5\"/>","mail":"<rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"2\"/><path d=\"m4 7 8 6 8-6\"/>","map":"<path d=\"M9 4 3 6v14l6-2 6 2 6-2V4l-6 2Z\"/><path d=\"M9 4v14M15 6v14\"/>","mask":"<path d=\"M3.5 7c3 1.3 5.8 1.8 8.5 1.8S17.5 8.3 20.5 7c0 6-2.5 10-5 10-1.4 0-2-1.5-3.5-1.5S9.9 17 8.5 17c-2.5 0-5-4-5-10Z\"/><path d=\"M7.5 11.5h2M14.5 11.5h2\"/>","medical":"<rect x=\"3\" y=\"7\" width=\"18\" height=\"13\" rx=\"2\"/><path d=\"M9 7V5a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2M12 10.5v6M9 13.5h6\"/>","megaphone":"<path d=\"M3.5 10v4a1 1 0 0 0 1 1H7l9 4.5v-15L7 9H4.5a1 1 0 0 0-1 1Z\"/><path d=\"M7 15l1.3 5h2.4L10 15.6M19 9.5a3.2 3.2 0 0 1 0 5\"/>","members":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 4.8a3.2 3.2 0 0 1 0 6.4M18 14.8c1.9.6 3 2.4 3 5.2\"/>","menu":"<path d=\"M4 7h16M4 12h16M4 17h16\"/>","mic":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 14 0M12 18v3\"/>","mic-off":"<rect x=\"9\" y=\"3\" width=\"6\" height=\"11\" rx=\"3\"/><path d=\"M5 11a7 7 0 0 0 11.6 5.3M19 11c0 .8-.1 1.6-.4 2.3M12 18v3M4 4l16 16\"/>","minus":"<path d=\"M5 12h14\"/>","minus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 12h8\"/>","money":"<rect x=\"2.5\" y=\"6\" width=\"19\" height=\"12\" rx=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path d=\"M6 9.5v.01M18 14.5v.01\"/>","moon":"<path d=\"M20 14.5A8 8 0 1 1 9.5 4a6.5 6.5 0 0 0 10.5 10.5Z\"/>","more":"<circle cx=\"5\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"19\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3 20 9.5 8.5l4 6.5 2.5-3.5L21 20Z\"/>","move":"<path d=\"M12 3.5v17M3.5 12h17M9 6.5l3-3 3 3M9 17.5l3 3 3-3M6.5 9l-3 3 3 3M17.5 9l3 3-3 3\"/>","mug":"<path d=\"M4.5 9h11v7a4 4 0 0 1-4 4h-3a4 4 0 0 1-4-4Z\"/><path d=\"M15.5 10.5H17a2.5 2.5 0 0 1 0 5h-1.5M8 3.5c-.8 1 .8 2 0 3M11.5 3.5c-.8 1 .8 2 0 3\"/>","music":"<path d=\"M9 18V6l11-2v12\"/><circle cx=\"6.5\" cy=\"18\" r=\"2.5\"/><circle cx=\"17.5\" cy=\"16\" r=\"2.5\"/>","mute":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"m16 10 4 4M20 10l-4 4\"/>","news":"<path d=\"M4 5h13v14a2 2 0 0 0 2 2H6a2 2 0 0 1-2-2Z\"/><path d=\"M17 9h3v10a2 2 0 0 1-2 2M7.5 9h6M7.5 12.5h6M7.5 16h3.5\"/>","nodes":"<circle cx=\"12\" cy=\"5\" r=\"2.2\"/><circle cx=\"5.5\" cy=\"18\" r=\"2.2\"/><circle cx=\"18.5\" cy=\"18\" r=\"2.2\"/><path d=\"M11 7 6.5 16M13 7l4.5 9M7.7 18h8.6\"/>","open":"<path d=\"M14 4h6v6M20 4l-9 9M18 14v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h4\"/>","palette":"<path d=\"M12 3a9 9 0 1 0 0 18c1.2 0 1.8-.8 1.8-1.7 0-1.2-1-1.6-1-2.6s.8-1.7 2-1.7H17a4 4 0 0 0 4-4C21 6.7 17 3 12 3Z\"/><circle cx=\"7.5\" cy=\"11\" r=\"1.2\"/><circle cx=\"10\" cy=\"7.3\" r=\"1.2\"/><circle cx=\"14.5\" cy=\"7.3\" r=\"1.2\"/>","parking":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"3\"/><path d=\"M9.5 17V7h3.5a3 3 0 0 1 0 6H9.5\"/>","pause":"<path d=\"M8 5v14M16 5v14\"/>","paw":"<path d=\"M8 18.4c0-2.8 1.8-5 4-5s4 2.2 4 5c0 1.3-1 2-2 2-.8 0-1.3-.5-2-.5s-1.2.5-2 .5c-1 0-2-.7-2-2Z\"/><circle cx=\"5.8\" cy=\"11\" r=\"1.8\"/><circle cx=\"9.4\" cy=\"6.4\" r=\"1.8\"/><circle cx=\"14.6\" cy=\"6.4\" r=\"1.8\"/><circle cx=\"18.2\" cy=\"11\" r=\"1.8\"/>","pencil":"<path d=\"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4Z\"/>","phone":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/>","phone-off":"<path d=\"M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2\"/><path d=\"M3.5 3.5l17 17\"/>","piggy":"<path d=\"M4 12c0-3.3 3.4-6 8-6 1.3 0 2.5.2 3.6.6L18.5 5v3.4c.8.7 1.4 1.6 1.6 2.6h1.4v3.5H20c-.5 1-1.3 1.8-2.4 2.4V20h-3v-2c-.8.2-1.7.3-2.6.3-.8 0-1.6-.1-2.4-.3v2h-3v-3C5 15.8 4 14 4 12Z\"/><path d=\"M16 10.5h.01M9.5 8.5h3\"/>","pin":"<path d=\"M12 21s-6.5-5.6-6.5-11a6.5 6.5 0 0 1 13 0C18.5 15.4 12 21 12 21Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.4\"/>","plane":"<path d=\"M20.5 3.5 3.5 10.5l6.8 3.2 3.2 6.8Z\"/><path d=\"m10.3 13.7 10.2-10.2\"/>","play":"<path d=\"M8 5v14l11-7Z\"/>","plug":"<path d=\"M9 3v5M15 3v5M6.5 8h11v3a5.5 5.5 0 0 1-11 0ZM12 16.5V21\"/>","plus":"<path d=\"M12 5v14M5 12h14\"/>","plus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 8v8M8 12h8\"/>","print":"<path d=\"M7 9V3.5h10V9\"/><rect x=\"3.5\" y=\"9\" width=\"17\" height=\"8\" rx=\"2\"/><path d=\"M7 14h10v6.5H7ZM16.5 12h.01\"/>","quote":"<path d=\"M10 6.5C6.5 7.5 4.5 10 4.5 13.5v3h5v-5h-5M19.5 6.5c-3.5 1-5.5 3.5-5.5 7v3h5v-5h-5\"/>","radio":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M7 8 17 3.5\"/><circle cx=\"15.5\" cy=\"14\" r=\"2.5\"/><path d=\"M6.5 12.5h4M6.5 15.5h4\"/>","ranking":"<path d=\"M3 20.5h18M4 20.5V14h5M9 20.5V10h6v10.5M15 20.5V16h5v4.5\"/><path d=\"m12 3 .9 1.8 2 .3-1.45 1.4.35 2L12 7.6l-1.8.9.35-2L9.1 5.1l2-.3Z\"/>","record":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","recycle":"<path d=\"M7.2 19.5H4.8a1.4 1.4 0 0 1-1.2-2.1l2.6-4.5M9.8 4.9l1-1.7a1.4 1.4 0 0 1 2.4 0l2.6 4.5M18.6 12.9l1.8 3.1a1.4 1.4 0 0 1-1.2 2.1h-5.2\"/><path d=\"M11 17.6l2.1 2.1-2.1 2.1M3.4 10.6l2.8-.8.8 2.9M18 5.6l-.8 2.9-2.9-.8\"/>","reply":"<path d=\"M9 7 4 12l5 5M4 12h10a6 6 0 0 1 6 6v1\"/>","restroom":"<circle cx=\"7\" cy=\"4.8\" r=\"1.8\"/><circle cx=\"17\" cy=\"4.8\" r=\"1.8\"/><path d=\"M12 3v18M5.5 21v-5.5H4.5V10.5A1.5 1.5 0 0 1 6 9h2a1.5 1.5 0 0 1 1.5 1.5v5H8.5V21M16 21v-4h-2.5l2-6.6a1 1 0 0 1 1-.9h1a1 1 0 0 1 1 .9l2 6.6H18v4\"/>","retry":"<path d=\"M4 12a8 8 0 0 1 13.7-5.7L20 8.5M20 4v4.5h-4.5M20 12a8 8 0 0 1-13.7 5.7L4 15.5M4 20v-4.5h4.5\"/>","rewind":"<path d=\"M20.5 6.5v11L13 12ZM11.5 6.5v11L4 12Z\"/>","road":"<path d=\"M8 3 4 21M16 3l4 18M12 4v2.5M12 10.5v3M12 17.5V20\"/>","robot":"<rect x=\"5\" y=\"8\" width=\"14\" height=\"11\" rx=\"3\"/><path d=\"M12 4v4M9 13h.01M15 13h.01M9.5 16.5h5M3 13v2M21 13v2\"/>","rocket":"<path d=\"M12 15.5 8.5 12C10 6.5 14 3.5 20.5 3.5 20.5 10 17.5 14 12 15.5ZM8.5 12 5 11.5 7.5 8h4M12 15.5l.5 3.5 3.5-2.5v-4M6.5 17.5c-1.5 0-3 1.5-3 3 1.5 0 3-1.5 3-3Z\"/><circle cx=\"15.5\" cy=\"8.5\" r=\"1.5\"/>","route":"<circle cx=\"6\" cy=\"18\" r=\"2.4\"/><circle cx=\"18\" cy=\"6\" r=\"2.4\"/><path d=\"M8.4 18H16a3 3 0 0 0 0-6H8a3 3 0 0 1 0-6h7.6\"/>","rss":"<path d=\"M5 4.5a14.5 14.5 0 0 1 14.5 14.5M5 10.5A8.5 8.5 0 0 1 13.5 19\"/><path d=\"M5.5 18.5h.01\" stroke-width=\"3.4\"/>","save":"<path d=\"M5 4h11l3 3v13H5Z\"/><path d=\"M8 4v5h7V4M8 20v-6h8v6\"/>","scale":"<path d=\"M12 3.5V21M8 21h8M4.5 7h15M12 3.5h.01M2.5 14 5 7.5 7.5 14M16.5 14 19 7.5l2.5 6.5M2.5 14a2.5 2.5 0 0 0 5 0M16.5 14a2.5 2.5 0 0 0 5 0\"/>","scissors":"<circle cx=\"6\" cy=\"7\" r=\"2.6\"/><circle cx=\"6\" cy=\"17\" r=\"2.6\"/><path d=\"M8.2 8.6 20 18M8.2 15.4 20 6\"/>","scroll":"<path d=\"M8 3.5h10.5a2 2 0 0 1 2 2v1.5H17M8 3.5a2 2 0 0 0-2 2v12a3 3 0 0 1-3 3h11a3 3 0 0 0 3-3v-12a2 2 0 0 0-2-2M10 9h4M10 13h4\"/>","search":"<circle cx=\"11\" cy=\"11\" r=\"6.5\"/><path d=\"m20 20-4.2-4.2\"/>","seedling":"<path d=\"M12 21v-9M12 12C12 8 9.5 5.5 5 5.5c0 4 2.5 6.5 7 6.5ZM12 14.5c0-4 2.5-6.5 7-6.5 0 4-2.5 6.5-7 6.5Z\"/>","server":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"7\" rx=\"2\"/><rect x=\"4\" y=\"13\" width=\"16\" height=\"7\" rx=\"2\"/><path d=\"M8 7.5h.01M8 16.5h.01\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.5\" r=\"3.5\"/><path d=\"m16.5 3.5 4 7h-8ZM14 14h6v6h-6ZM3.5 20l3.5-6 3.5 6Z\"/>","share":"<path d=\"M12 15V3.5M7.5 8 12 3.5 16.5 8M5 13v6a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-6\"/>","shelter":"<path d=\"M2.5 10.5 12 3l9.5 7.5M5 9v12M19 9v12\"/><circle cx=\"12\" cy=\"11\" r=\"1.8\"/><path d=\"M9.5 21v-4.5a2.5 2.5 0 0 1 5 0V21\"/>","shield":"<path d=\"M12 3 5 6v6c0 4.4 3 7.6 7 9 4-1.4 7-4.6 7-9V6Z\"/>","shirt":"<path d=\"M8 3 3 6l2 4 2-1v12h10V9l2 1 2-4-5-3c-.5 1.5-2 2.5-4 2.5S8.5 4.5 8 3Z\"/>","signature":"<path d=\"M3 16c2.5 0 3.5-9 6-9 1.5 0 1 6 2.5 6 1 0 1.5-2.5 2.5-2.5s.8 2 2 2c.8 0 1.5-.6 2-1.2M3 20h18\"/>","skip":"<path d=\"M6 5l9 7-9 7Z\"/><path d=\"M18.5 5v14\"/>","skull":"<path d=\"M12 3a7 7 0 0 0-7 7c0 2.3 1.1 3.9 2.5 5v3h9v-3c1.4-1.1 2.5-2.7 2.5-5a7 7 0 0 0-7-7Z\"/><circle cx=\"9.5\" cy=\"10.5\" r=\"1.4\"/><circle cx=\"14.5\" cy=\"10.5\" r=\"1.4\"/><path d=\"M10.5 18v3M13.5 18v3\"/>","slash":"<path d=\"M5 5l14 14\"/>","sliders":"<path d=\"M4 7h9.5M18.5 7H20M4 17h3.5M12.5 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"2.3\"/><circle cx=\"10\" cy=\"17\" r=\"2.3\"/>","smile":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8.5 14a4 4 0 0 0 7 0M9 9.5h.01M15 9.5h.01\"/>","snow":"<path d=\"M12 3v18M4.2 7.5l15.6 9M4.2 16.5l15.6-9M9.5 4.5 12 7l2.5-2.5M9.5 19.5 12 17l2.5 2.5\"/>","sort":"<path d=\"M4 6h9M4 12h6M4 18h3M17.5 5v14M14.5 16l3 3 3-3\"/>","sort-asc":"<path d=\"M4 6h3M4 12h6M4 18h9M17.5 5v14M14.5 16l3 3 3-3\"/>","spark":"<path d=\"M12 3l1.8 5.2L19 10l-5.2 1.8L12 17l-1.8-5.2L5 10l5.2-1.8ZM19 15l.8 2.2L22 18l-2.2.8L19 21l-.8-2.2L16 18l2.2-.8Z\"/>","square":"<rect x=\"4\" y=\"4\" width=\"16\" height=\"16\" rx=\"2.5\"/>","star":"<path d=\"m12 4 2.4 5 5.4.6-4 3.7 1.1 5.4L12 16l-4.9 2.7 1.1-5.4-4-3.7 5.4-.6Z\"/>","steps":"<path d=\"M9 6h11M9 12h11M9 18h11\"/><path d=\"m3 6 1.5 1.5L7 5M3 12l1.5 1.5L7 11M3 18l1.5 1.5L7 17\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M4 9 5.5 4h13L20 9M4 9h16v1.5a2.7 2.7 0 0 1-5.3 0 2.7 2.7 0 0 1-5.4 0A2.7 2.7 0 0 1 4 10.5ZM5 13v7h14v-7M10 20v-4h4v4\"/>","storm":"<path d=\"M7 17.5a4.5 4.5 0 1 1 .9-8.9A5.5 5.5 0 0 1 18.5 10a3.8 3.8 0 0 1-.5 7.5\"/><path d=\"m13 13-2.5 4h3L11 21\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4\"/>","swap":"<path d=\"M4 8h14l-3.5-3.5M20 16H6l3.5 3.5\"/>","sword":"<path d=\"M20 4v3.5L10.5 17 7 13.5 16.5 4Z\"/><path d=\"M5.5 12 12 18.5M8.5 15.5 4 20\"/>","table":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"M3 9.5h18M3 15h18M9 9.5V20M15 9.5V20\"/>","tack":"<path d=\"M9 3h6l-1 5 3 3H7l3-3ZM12 11v10\"/>","tag":"<path d=\"M3 12V4h8l10 10-8 8Z\"/><circle cx=\"7.5\" cy=\"8.5\" r=\"1.3\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","tent":"<path d=\"M2.5 20h19M12 5 4 20M12 5l8 15M12 13.5 9 20M12 13.5l3 6.5\"/>","terminal":"<rect x=\"3\" y=\"4\" width=\"18\" height=\"16\" rx=\"2\"/><path d=\"m7 9 3 3-3 3M13 15h4\"/>","text":"<path d=\"M5.5 20 11 4h2l5.5 16M7.6 14h8.8\"/>","thumbs-up":"<path d=\"M7 10.5v9.5H4.5a1 1 0 0 1-1-1v-7.5a1 1 0 0 1 1-1Z\"/><path d=\"M7 10.5 10.5 3.5a2.2 2.2 0 0 1 2.5 2.6L12.3 9.5H18a2 2 0 0 1 2 2.4l-1.3 6.5a2 2 0 0 1-2 1.6H7\"/>","ticket":"<path d=\"M3 7h18v3a2 2 0 0 0 0 4v3H3v-3a2 2 0 0 0 0-4Z\"/><path d=\"M14 7v10\"/>","timeline":"<path d=\"M3 12h1M8 12h2M14 12h2M20 12h1\"/><circle cx=\"6\" cy=\"12\" r=\"2\"/><circle cx=\"12\" cy=\"12\" r=\"2\"/><circle cx=\"18\" cy=\"12\" r=\"2\"/><path d=\"M6 10V5.5M12 14v4.5M18 10V5.5\"/>","toolbox":"<rect x=\"3\" y=\"8\" width=\"18\" height=\"12\" rx=\"2\"/><path d=\"M9 8V5.5A1.5 1.5 0 0 1 10.5 4h3A1.5 1.5 0 0 1 15 5.5V8M3 13h18M8 11.5v3M16 11.5v3\"/>","train":"<rect x=\"6\" y=\"3\" width=\"12\" height=\"13\" rx=\"3\"/><path d=\"M6 10h12M9 13h.01M15 13h.01M8.5 21l2-3.5M15.5 21l-2-3.5\"/>","trash":"<path d=\"M4 7h16M10 11v6M14 11v6M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12M9 7V4h6v3\"/>","tree":"<path d=\"M12 3 6.5 10.5h3L5 17h14l-4.5-6.5h3ZM12 17v4\"/>","trend-down":"<path d=\"M3 7l6 6 4-4 8 8\"/><path d=\"M15 17h6v-6\"/>","trend-up":"<path d=\"M3 17 9 11l4 4 8-8\"/><path d=\"M15 7h6v6\"/>","trophy":"<path d=\"M8 4h8v5a4 4 0 0 1-8 0ZM8 6H5a3 3 0 0 0 3 4M16 6h3a3 3 0 0 1-3 4M12 13v4M8 20h8\"/>","tv":"<rect x=\"2.5\" y=\"7\" width=\"19\" height=\"13\" rx=\"2\"/><path d=\"m8 3 4 4 4-4\"/>","umbrella":"<path d=\"M3 12a9 9 0 0 1 18 0ZM12 12v6.5a2 2 0 0 1-4 0M12 3v.01\"/>","undo":"<path d=\"M9 14 4 9l5-5\"/><path d=\"M4 9h10.5a5.5 5.5 0 0 1 0 11H11\"/>","up":"<path d=\"m6 15 6-6 6 6\"/>","upload":"<path d=\"M12 20V9M7 14l5-5 5 5M5 4h14\"/>","user":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/>","user-check":"<circle cx=\"9\" cy=\"8\" r=\"3.2\"/><path d=\"M3 20c0-3.3 2.7-5.5 6-5.5s6 2.2 6 5.5M16 11l2 2 4-4\"/>","user-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"10\" r=\"3\"/><path d=\"M6.6 18.3a6.5 6.5 0 0 1 10.8 0\"/>","user-lock":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><rect x=\"15\" y=\"15.5\" width=\"6\" height=\"5\" rx=\"1\"/><path d=\"M16.5 15.5v-1.2a1.5 1.5 0 0 1 3 0v1.2\"/>","user-minus":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M15.5 17.5h6\"/>","user-off":"<circle cx=\"12\" cy=\"8\" r=\"3.5\"/><path d=\"M5 20c0-3.6 3.1-6 7-6s7 2.4 7 6\"/><path d=\"M3.5 3.5l17 17\"/>","user-pen":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M20 12.5l1.5 1.5-5 5-2 .5.5-2Z\"/>","user-tag":"<circle cx=\"10\" cy=\"8\" r=\"3.5\"/><path d=\"M3.5 20c0-3.6 2.9-6 6.5-6 1.2 0 2.3.3 3.2.7\"/><path d=\"M14.5 15h4l2.5 2.5-2.5 2.5h-4Z\"/><path d=\"M16.5 17.5h.01\"/>","video":"<rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"2\"/><path d=\"m16 10 5-3v10l-5-3\"/>","volume":"<path d=\"M4 9.5h3.5L12 6v12l-4.5-3.5H4Z\"/><path d=\"M15.5 9.5a3.5 3.5 0 0 1 0 5M18 7a7 7 0 0 1 0 10\"/>","walk":"<circle cx=\"13\" cy=\"4.5\" r=\"1.9\"/><path d=\"m9 21 2.6-6 2.1 2.4V21M11.6 15l1-5.6-3 1.6-1.5 3M12.6 9.4l2 3 3 1\"/>","wallet":"<path d=\"M4 7.5A2.5 2.5 0 0 1 6.5 5H18v4M4 7.5V18a2 2 0 0 0 2 2h14V9H6.5A2.5 2.5 0 0 1 4 7.5Z\"/><path d=\"M16 14.5h.01\"/>","water":"<path d=\"M2.5 9c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2M2.5 15c2.4 0 2.4-2 4.8-2s2.4 2 4.7 2 2.4-2 4.8-2 2.4 2 4.7 2\"/>","wave":"<path d=\"M2 16c2.5 0 2.5-2 5-2s2.5 2 5 2 2.5-2 5-2 2.5 2 5 2\"/><path d=\"M5.5 11.5A7 7 0 0 1 18 8.6c-2.3-.5-4.2.4-4.8 2.4\"/>","weight":"<circle cx=\"12\" cy=\"5.5\" r=\"2\"/><path d=\"M7 9h10l3 11.5H4Z\"/>","wifi":"<path d=\"M2.5 9a14 14 0 0 1 19 0M5.5 12.5a9.5 9.5 0 0 1 13 0M8.5 16a5 5 0 0 1 7 0M12 19.5h.01\"/>","wind":"<path d=\"M3 8.5h11a3 3 0 1 0-3-3M3 12.5h15a3 3 0 1 1-3 3M3 16.5h7\"/>","window":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"15\" rx=\"2\"/><path d=\"M3.5 9h17\"/>","window-restore":"<rect x=\"3.5\" y=\"8.5\" width=\"12\" height=\"11\" rx=\"2\"/><path d=\"M8.5 8.5v-2a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v7a2 2 0 0 1-2 2h-3\"/>","wizard":"<path d=\"M4 20h16M6.5 20 10 9.5 15.5 4 14 10.5 17.5 20\"/><path d=\"M8.6 15.5h7\"/>","wrench":"<path d=\"M14.5 4a5 5 0 0 0-4.4 7L4 17.1V20h2.9l6.1-6.1a5 5 0 0 0 7-4.4l-3 1.1-2.4-2.4 1.1-3Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13 3 5 13h6l-1 8 8-10h-6Z\"/>"};
++ const S = {"alert":"<path fill-rule=\"evenodd\" d=\"M10.4 3.9a1.85 1.85 0 0 1 3.2 0l8.3 14.4a1.85 1.85 0 0 1-1.6 2.8H3.7a1.85 1.85 0 0 1-1.6-2.8ZM10.9 9h2.2v5.6h-2.2ZM12 15.9a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6Z\"/>","alert-circle":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 6.8h2.4v7h-2.4ZM12 15.1a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z\"/>","bell":"<path d=\"M5.8 16.2V11a6.2 6.2 0 0 1 12.4 0v5.2l1.7 2.3H4.1ZM9.9 19.6h4.2a2.1 2.1 0 0 1-4.2 0Z\"/>","book":"<path d=\"M4.5 5A2.5 2.5 0 0 1 7 2.5h12.5v15H7a2.5 2.5 0 0 0-2.5 2.5Z\"/><path class=\"ln\" d=\"M7.5 20.5h11.5\"/>","book-open":"<path d=\"M11 6.4C9 5 6.3 4.5 3 5.1v13.3c3.3-.6 6 0 8 1.4ZM13 6.4c2-1.4 4.7-1.9 8-1.3v13.3c-3.3-.6-6 0-8 1.4Z\"/>","calendar":"<path fill-rule=\"evenodd\" d=\"M4 7.4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Zm2.2 4V18.8h11.6v-7.4Z\"/><path class=\"ln\" d=\"M9 3.2v3.6M15 3.2v3.6\"/>","camera":"<path fill-rule=\"evenodd\" d=\"M3 8.3a1.8 1.8 0 0 1 1.8-1.8h2.5L9 4h6l1.7 2.5h2.5A1.8 1.8 0 0 1 21 8.3v10.1a1.8 1.8 0 0 1-1.8 1.8H4.8A1.8 1.8 0 0 1 3 18.4Zm9 1.9a3.4 3.4 0 1 0 0 6.8 3.4 3.4 0 0 0 0-6.8Z\"/>","chat":"<path d=\"M3.5 5.6A1.6 1.6 0 0 1 5.1 4h13.8a1.6 1.6 0 0 1 1.6 1.6v9.8a1.6 1.6 0 0 1-1.6 1.6H8.6L3.5 21Z\"/>","check-circle":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM16.3 8.9l1.6 1.6-6.9 6.9-4.1-4.1 1.6-1.6 2.5 2.5Z\"/>","clock":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.9 6.6h2.2v5l3.2 1.9-1.1 1.9-4.3-2.6Z\"/>","cloud":"<path d=\"M7 18.8h10a4.4 4.4 0 0 0 .6-8.8A6.4 6.4 0 0 0 5.4 9.4 4.7 4.7 0 0 0 7 18.8Z\"/>","coin":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM11 6h2v1.2c1.1.2 2 .8 2.5 1.7l-1.7 1c-.3-.6-1-1-1.8-1-.9 0-1.5.4-1.5 1s.5.8 1.8 1.1c1.8.4 3.4 1 3.4 3 0 1.4-1 2.4-2.7 2.7V18h-2v-1.3c-1.2-.2-2.2-.9-2.7-1.9l1.7-1c.4.7 1.1 1.1 2 1.1 1 0 1.6-.4 1.6-1s-.6-.8-1.9-1.1c-1.7-.4-3.3-1-3.3-2.9 0-1.3 1-2.3 2.6-2.6Z\"/>","crown":"<path d=\"M2.6 7.8 7.4 12 12 4.6 16.6 12l4.8-4.2-2 11.7H4.6Z\"/>","drop":"<path d=\"M12 2.4s6.4 6.8 6.4 11.6a6.4 6.4 0 0 1-12.8 0C5.6 9.2 12 2.4 12 2.4Z\"/>","eye":"<path fill-rule=\"evenodd\" d=\"M12 4.8C6 4.8 1.8 12 1.8 12s4.2 7.2 10.2 7.2S22.2 12 22.2 12 18 4.8 12 4.8Zm0 3.6a3.6 3.6 0 1 1 0 7.2 3.6 3.6 0 0 1 0-7.2Z\"/><circle cx=\"12\" cy=\"12\" r=\"1.7\"/>","file":"<path d=\"M6 2.6h7.6v5.2h5V21.4H6ZM15.2 2.9l3.1 3.3h-3.1Z\"/>","fire":"<path fill-rule=\"evenodd\" d=\"M12 21.5a6.3 6.3 0 0 0 6.3-6.3c0-4-2.7-6.3-3.9-9.5-1.9 2.1-2.4 4.2-2.4 4.2S10.8 8 9.7 6.1C7.4 8.7 5.7 11.8 5.7 15.2A6.3 6.3 0 0 0 12 21.5Zm0-2.6a2.6 2.6 0 0 0 2.6-2.6c0-1.5-1.1-2.5-1.6-3.7-.8.9-1 1.7-1 1.7s-.5-.8-.9-1.5c-.9 1.1-1.6 2.3-1.6 3.6a2.6 2.6 0 0 0 2.5 2.5Z\"/>","flag":"<path class=\"ln\" d=\"M5 21V3.8\"/><path d=\"M5.6 3.6h11.6l-2.1 4.4 2.1 4.4H5.6Z\"/>","folder":"<path d=\"M2.8 6.8a2 2 0 0 1 2-2h4.4l2 2h8a2 2 0 0 1 2 2v8.6a2 2 0 0 1-2 2H4.8a2 2 0 0 1-2-2Z\"/>","gem":"<path d=\"M6.4 3.6h11.2l3.8 5.3-9.4 11.6L2.6 8.9Z\"/>","ghost":"<path fill-rule=\"evenodd\" d=\"M4.8 20.6V11a7.2 7.2 0 0 1 14.4 0v9.6l-2.4-1.8-2.4 1.8-2.4-1.8-2.4 1.8-2.4-1.8ZM9.4 9.3a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Zm5.2 0a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z\"/>","gift":"<path d=\"M3.4 8.6h17.2v3.2H3.4ZM4.6 12.8h6.4v8H5.6a1 1 0 0 1-1-1ZM13 12.8h6.4v7a1 1 0 0 1-1 1H13Z\"/><path class=\"ln\" d=\"M12 8.6c-1.5-3-5-4-5-1.5S12 8.6 12 8.6s5-1 5-3.5-3.5-1.5-5 3.5\"/>","heart":"<path d=\"M12 20.6s-7.6-4.6-7.6-10.6a4.3 4.3 0 0 1 7.6-2.9 4.3 4.3 0 0 1 7.6 2.9c0 6-7.6 10.6-7.6 10.6Z\"/>","home":"<path d=\"M3.3 11.2 12 3.6l8.7 7.6v8.9a1 1 0 0 1-1 1h-5.2v-6.4h-5v6.4H4.3a1 1 0 0 1-1-1Z\"/>","image":"<path fill-rule=\"evenodd\" d=\"M3 6.1a2.6 2.6 0 0 1 2.6-2.6h12.8A2.6 2.6 0 0 1 21 6.1v11.8a2.6 2.6 0 0 1-2.6 2.6H5.6A2.6 2.6 0 0 1 3 17.9Zm6 2.1a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Zm7.2 3.3-8 7.5h10.2a1.4 1.4 0 0 0 1.4-1.4v-2.9Z\"/>","info":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 10.6h2.4V17h-2.4ZM12 6.5a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"3.1\"/><path class=\"ln\" d=\"M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14\"/>","lock":"<path d=\"M5 11.6a1.6 1.6 0 0 1 1.6-1.6h10.8a1.6 1.6 0 0 1 1.6 1.6v8a1.6 1.6 0 0 1-1.6 1.6H6.6A1.6 1.6 0 0 1 5 19.6Z\"/><path class=\"ln\" d=\"M8.2 10V7.6a3.8 3.8 0 0 1 7.6 0V10\"/>","megaphone":"<path d=\"M3.4 10a1.1 1.1 0 0 1 1.1-1.1h2.6l9.4-4.7v15.6l-9.4-4.7H4.5A1.1 1.1 0 0 1 3.4 14Z\"/><path class=\"ln\" d=\"M7.2 15.2l1.2 4.9M19 9.4a3.3 3.3 0 0 1 0 5.2\"/>","members":"<circle cx=\"9\" cy=\"7.9\" r=\"3.6\"/><path d=\"M2.4 20.8c0-3.8 3-6.5 6.6-6.5s6.6 2.7 6.6 6.5Z\"/><circle cx=\"16.6\" cy=\"7.4\" r=\"2.9\"/><path d=\"M16.8 13.4c2.9.4 4.8 2.8 4.8 6.4V20.8h-4.4c0-2.9-1-5.2-2.8-6.7Z\"/>","mic":"<path d=\"M8.7 5.8a3.3 3.3 0 0 1 6.6 0V11a3.3 3.3 0 0 1-6.6 0Z\"/><path class=\"ln\" d=\"M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21\"/>","moon":"<path d=\"M20.4 14.4A8.5 8.5 0 1 1 9.6 3.6a7 7 0 0 0 10.8 10.8Z\"/>","music":"<path d=\"M8.4 6.6l12-2.3v3.2l-12 2.3Z\"/><path class=\"ln\" d=\"M9.5 18V7.8M19.5 16V5.6\"/><circle cx=\"6.7\" cy=\"18\" r=\"2.9\"/><circle cx=\"16.7\" cy=\"16\" r=\"2.9\"/>","pause":"<rect x=\"6.3\" y=\"4.6\" width=\"4\" height=\"14.8\" rx=\"1.2\"/><rect x=\"13.7\" y=\"4.6\" width=\"4\" height=\"14.8\" rx=\"1.2\"/>","pin":"<path fill-rule=\"evenodd\" d=\"M12 2.3a7.3 7.3 0 0 0-7.3 7.3c0 5.6 7.3 12.1 7.3 12.1s7.3-6.5 7.3-12.1A7.3 7.3 0 0 0 12 2.3Zm0 4.6a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2Z\"/>","play":"<path d=\"M7.4 4.4v15.2a.8.8 0 0 0 1.2.7l11.4-7.6a.8.8 0 0 0 0-1.4L8.6 3.7a.8.8 0 0 0-1.2.7Z\"/>","shield":"<path d=\"M12 2.6 4.6 5.8V12c0 4.6 3.1 8 7.4 9.5 4.3-1.5 7.4-4.9 7.4-9.5V5.8Z\"/>","smile":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM15 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM7.9 13.4h8.2a4.1 4.1 0 0 1-8.2 0Z\"/>","spark":"<path d=\"M12 2.6l2 5.6 5.6 2-5.6 2L12 17.8l-2-5.6-5.6-2 5.6-2ZM19 14.6l.9 2.5 2.5.9-2.5.9-.9 2.5-.9-2.5-2.5-.9 2.5-.9Z\"/>","star":"<path d=\"M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z\"/>","tag":"<path fill-rule=\"evenodd\" d=\"M2.6 4.1A1.5 1.5 0 0 1 4.1 2.6h7.3l10.1 10.1-8.8 8.8L2.6 11.4Zm5.1 2.5a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Z\"/>","thumbs-up":"<path d=\"M7.4 10.4v10H4.6a1.1 1.1 0 0 1-1.1-1.1v-7.8a1.1 1.1 0 0 1 1.1-1.1ZM8.8 10.4l3.5-7.1a2.3 2.3 0 0 1 2.6 2.7l-.6 3.4h5.5a2.1 2.1 0 0 1 2.1 2.5l-1.4 6.8a2.1 2.1 0 0 1-2.1 1.7H8.8Z\"/>","trash":"<path d=\"M5.8 7.6h12.4l-1 12a2 2 0 0 1-2 1.8H8.8a2 2 0 0 1-2-1.8Z\"/><path class=\"ln\" d=\"M3.8 6.6h16.4M9 6.6V4h6v2.6\"/>","trophy":"<path d=\"M7.3 3.3h9.4V9a4.7 4.7 0 0 1-9.4 0Z\"/><path class=\"ln\" d=\"M7.3 5.8H5.1a3 3 0 0 0 3 4.1M16.7 5.8h2.2a3 3 0 0 1-3 4.1M12 13.8V17M8 20.4h8\"/>","user":"<circle cx=\"12\" cy=\"7.8\" r=\"4.1\"/><path d=\"M4.2 21c0-4.3 3.5-7.2 7.8-7.2s7.8 2.9 7.8 7.2Z\"/>","video":"<path d=\"M2.5 7.6a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v8.8a2 2 0 0 1-2 2H4.5a2 2 0 0 1-2-2ZM17.2 10.1l4.3-2.6v9l-4.3-2.6Z\"/>","x-circle":"<path fill-rule=\"evenodd\" d=\"M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9.2 7.8 12 10.6l2.8-2.8 1.4 1.4-2.8 2.8 2.8 2.8-1.4 1.4-2.8-2.8-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8Z\"/>","zap":"<path d=\"M13.4 2.4 4.6 13.4h6.2l-1.2 8.2 8.8-11h-6.2Z\"/>"};
++ const FA = {"address-card":"id","adjust":"contrast","align-left":"align-left","angle-down":"down","angle-right":"chevron","angles-left":"chevrons-left","angles-right":"chevrons-right","arrow-down":"arrow-down","arrow-down-short-wide":"sort-asc","arrow-down-wide-short":"sort","arrow-left":"arrow-left","arrow-right":"arrow-right","arrow-right-arrow-left":"swap","arrow-right-from-bracket":"leave","arrow-right-to-bracket":"enter","arrow-rotate-right":"retry","arrow-trend-down":"trend-down","arrow-trend-up":"trend-up","arrow-up":"arrow-up","arrow-up-from-bracket":"share","arrow-up-right-from-square":"open","arrows-left-right":"arrows-h","arrows-rotate":"retry","arrows-to-dot":"focus","arrows-up-down-left-right":"move","at":"at","backward":"rewind","backward-fast":"rewind","balance-scale":"scale","ban":"ban","bars":"menu","basket-shopping":"cart","bell":"bell","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book-open","box":"box","box-archive":"archive","box-open":"box","brain":"brain","bridge":"bridge","briefcase":"briefcase","briefcase-medical":"medical","broadcast-tower":"live","bug":"bug","bullhorn":"megaphone","bullseye":"target","burst":"burst","calendar":"calendar","calendar-day":"calendar","calendar-days":"calendar","camera":"camera","camera-cctv":"camera","camera-retro":"camera","camera-rotate":"camera-flip","camera-slash":"camera-off","campground":"tent","car":"car","caret-down":"down","cart":"cart","cart-plus":"cart","cart-shopping":"cart","chart-area":"chart","chart-bar":"chart","chart-column":"chart","chart-line":"chart","chart-simple":"chart","check":"check","check-circle":"check-circle","check-double":"check-double","chevron-down":"down","chevron-left":"back","chevron-right":"chevron","chevron-up":"up","child":"child","circle":"circle","circle-check":"check-circle","circle-dollar-to-slot":"donate","circle-dot":"record","circle-exclamation":"alert-circle","circle-half-stroke":"contrast","circle-info":"info","circle-minus":"minus-circle","circle-nodes":"nodes","circle-notch":"busy","circle-play":"play","circle-plus":"plus-circle","circle-question":"help","circle-user":"user-circle","circle-xmark":"x-circle","city":"city","clapperboard":"clapper","clipboard":"clipboard","clipboard-check":"clipboard-check","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","clone":"copy","closed-captioning":"cc","cloud":"cloud","cloud-arrow-up":"upload","cloud-bolt":"storm","cloud-moon":"cloud","cloud-rain":"cloud","cloud-showers-heavy":"cloud","cloud-slash":"cloud-off","cloud-sun":"cloud","code":"code","code-branch":"branch","code-commit":"commit","code-fork":"branch","coin":"coin","coins":"coin","comment":"chat","comment-dots":"chat","comment-slash":"chat-off","comments":"chat","compass":"compass","compress":"compress","cookie":"cookie","cookie-bite":"cookie","copy":"copy","couch":"couch","credit-card":"card","crown":"crown","cube":"box","cubes":"cubes","cut":"scissors","database":"database","desktop":"computer","diagram-project":"nodes","dice":"dice","dice-five":"dice","dice-six":"dice","display":"computer","dollar-sign":"dollar","door-closed":"door","door-open":"door","down-left-and-up-right-to-center":"compress","download":"download","droplet":"drop","ear-listen":"ear","earth-americas":"globe","earth-europe":"globe","ellipsis":"more","ellipsis-vertical":"more","envelope":"mail","eraser":"eraser","exchange-alt":"swap","expand":"expand","external-link":"open","eye":"eye","eye-slash":"eye-off","face-grin":"laugh","face-grin-squint":"laugh","face-grin-squint-tears":"laugh","face-grin-stars":"smile","face-laugh":"laugh","face-smile":"smile","faucet":"drop","faucet-drip":"drop","file":"file","file-audio":"file","file-code":"file-code","file-image":"image","file-lines":"file","file-pdf":"file","file-pen":"pencil","film":"film","filter":"filter","fire":"fire","fish":"fish","fist-raised":"fist","flag":"flag","flag-checkered":"finish","flask":"flask","flask-vial":"flask","floppy-disk":"save","folder":"folder","folder-open":"folder","folder-tree":"folder-tree","font":"text","forward":"fast-forward","forward-fast":"fast-forward","forward-step":"skip","gamepad":"game","gauge":"gauge","gauge-high":"gauge","gauge-simple":"gauge","gauge-simple-high":"gauge","gauge-simple-low":"gauge","gavel":"gavel","gear":"gear","gears":"gear","gem":"gem","ghost":"ghost","gift":"gift","globe":"globe","grid":"grid","grip":"grip","grip-vertical":"grip","hammer":"hammer","hand":"hand","hand-fist":"fist","hand-holding-dollar":"coin","hand-holding-heart":"care","hand-point-right":"hand","hand-pointer":"hand","handshake":"handshake","handshake-angle":"handshake","hard-drive":"drive","hashtag":"hash","hat-wizard":"wizard","hdd":"drive","heading":"heading","headphones":"headphones","headphones-simple":"headphones","headset":"headphones","heart":"heart","heart-crack":"heart-broken","heart-pulse":"heart-pulse","heartbeat":"heart-pulse","hiking":"mountain","hot-tub":"hot-tub","hot-tub-person":"hot-tub","hourglass":"hourglass","hourglass-end":"hourglass","hourglass-half":"hourglass","hourglass-start":"hourglass","house":"home","house-chimney":"home","house-signal":"home","icicles":"snow","icons":"shapes","id-card":"id","image":"image","images":"image","inbox":"inbox","infinity":"infinity","info-circle":"info","key":"key","keyboard":"keyboard","kit-medical":"medical","language":"language","laptop":"computer","layer-group":"layers","leaf":"leaf","left-right":"arrows-h","life-ring":"lifebuoy","lightbulb":"idea","link":"link","link-slash":"link-off","list":"list","list-check":"steps","list-ol":"list-ordered","list-ul":"list","location-dot":"pin","location-pin":"pin","lock":"lock","lungs":"lungs","magnifying-glass":"search","map":"map","map-location-dot":"map","map-marker-alt":"pin","map-pin":"pin","mask":"mask","message":"chat","microchip":"chip","microphone":"mic","microphone-lines":"mic","microphone-slash":"mic-off","minus":"minus","minus-circle":"minus-circle","mobile-screen":"phone","mobile-screen-button":"phone","money-bill":"money","money-bill-1":"money","money-bill-transfer":"money","money-bill-wave":"money","money-check":"money","moon":"moon","mountain":"mountain","mountain-sun":"mountain","mug-hot":"mug","mug-saucer":"mug","music":"music","network-wired":"nodes","newspaper":"news","object-group":"group","paint-brush":"palette","paintbrush":"palette","palette":"palette","paper-plane":"plane","parking":"parking","paste":"clipboard","pause":"pause","paw":"paw","pen":"pencil","pen-nib":"pencil","pen-to-square":"pencil","pencil":"pencil","people-arrows":"members","people-group":"members","person-hiking":"mountain","person-shelter":"shelter","person-swimming":"water","person-walking":"walk","phone":"phone","phone-slash":"phone-off","photo-film":"film","piggy-bank":"piggy","plane":"airplane","plane-departure":"airplane","play":"play","plug":"plug","plug-circle-bolt":"plug","plug-circle-check":"plug","plug-circle-xmark":"plug","plus":"plus","plus-circle":"plus-circle","print":"print","question":"help","quote-left":"quote","quote-right":"quote","radio":"radio","ranking-star":"ranking","recycle":"recycle","reply":"reply","restroom":"restroom","right-from-bracket":"leave","right-left":"swap","right-to-bracket":"enter","road":"road","robot":"robot","rocket":"rocket","rotate":"retry","rotate-back":"undo","rotate-left":"retry","rotate-right":"retry","route":"route","rss":"rss","satellite-dish":"dish","save":"save","scale-balanced":"scale","scissors":"scissors","screwdriver-wrench":"wrench","scroll":"scroll","search":"search","seedling":"seedling","server":"server","shapes":"shapes","share-nodes":"nodes","shield":"shield","shield-halved":"shield","shirt":"shirt","signal":"wifi","signature":"signature","sitemap":"nodes","skull":"skull","skull-crossbones":"skull","slash":"slash","sliders":"sliders","sliders-h":"sliders","smog":"cloud","snowflake":"snow","sparkles":"spark","spinner":"busy","square":"square","square-parking":"parking","star":"star","star-of-life":"spark","step-forward":"skip","stop":"stop","store":"store","suitcase":"briefcase","suitcase-medical":"medical","sun":"sun","sword":"sword","table":"table","table-cells":"grid","table-columns":"columns","table-list":"table","tag":"tag","tags":"tag","television":"tv","terminal":"terminal","text-height":"text","th":"grid","thumbs-up":"thumbs-up","thumbtack":"tack","ticket":"ticket","timeline":"timeline","times":"close","toolbox":"toolbox","tower-broadcast":"live","tower-cell":"live","train":"train","trash":"trash","trash-can":"trash","tree":"tree","triangle-exclamation":"alert","trophy":"trophy","tv":"tv","umbrella":"umbrella","umbrella-beach":"umbrella","undo":"undo","unlock":"lock","up-right-and-down-left-from-center":"expand","up-right-from-square":"open","upload":"upload","user":"user","user-astronaut":"user","user-check":"user-check","user-circle":"user-circle","user-edit":"user-pen","user-group":"members","user-lock":"user-lock","user-minus":"user-minus","user-pen":"user-pen","user-plus":"invite","user-secret":"user","user-shield":"shield","user-slash":"user-off","user-tag":"user-tag","users":"members","utensils":"food","video":"video","video-slash":"video","volume-high":"volume","volume-low":"volume","volume-off":"mute","volume-xmark":"mute","wallet":"wallet","wand-magic":"spark","wand-magic-sparkles":"spark","water":"water","wave-square":"wave","weight-hanging":"weight","wifi":"wifi","wind":"wind","window-maximize":"window","window-restore":"window-restore","wrench":"wrench","xmark":"close","xmark-circle":"x-circle"};
// Font Awesome's style, size, layout and animation classes: they say how, not what.
const MOD = /^fa-(solid|regular|light|thin|duotone|sharp|sharp-duotone|classic|brands|fw|lg|xl|xs|sm|2xs|2xl|[0-9]+x|spin|spin-pulse|spin-reverse|pulse|beat|beat-fade|bounce|fade|flip|shake|border|inverse|li|ul|stack|stack-1x|stack-2x|layers|layers-text|layers-counter|pull-left|pull-right|rotate-[0-9]+|rotate-by|flip-horizontal|flip-vertical|flip-both|swap-opacity|width-auto|width-fixed)$/;
const BUSY = '<circle cx="6" cy="12" r="1.8"/><circle cx="12" cy="12" r="1.8"/><circle cx="18" cy="12" r="1.8"/>';
-- const CSS = ".ovg::before,.ovg::after{content:none!important;display:none!important}.ovg{display:inline-block;width:1.15em;height:1.15em;line-height:1;vertical-align:-.18em;font-family:inherit!important;font-style:normal!important}.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:var(--ovg-stroke,2);stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.fa-duotone>svg{stroke:var(--fa-primary-color,currentColor)}.ovg.fa-2xs{font-size:.625em}.ovg.fa-xs{font-size:.75em}.ovg.fa-sm{font-size:.875em}.ovg.fa-lg{font-size:1.25em}.ovg.fa-xl{font-size:1.5em}.ovg.fa-2xl{font-size:2em}.ovg.fa-1x{font-size:1em}.ovg.fa-2x{font-size:2em}.ovg.fa-3x{font-size:3em}.ovg.fa-4x{font-size:4em}.ovg.fa-5x{font-size:5em}.ovg.fa-6x{font-size:6em}.ovg.fa-7x{font-size:7em}.ovg.fa-8x{font-size:8em}.ovg.fa-9x{font-size:9em}.ovg.fa-10x{font-size:10em}.ovg.fa-fw{width:1.25em;text-align:center}.ovg.fa-border{box-sizing:content-box;border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);padding:var(--fa-border-padding,.2em .25em .15em)}.ovg.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.ovg.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.ovg.fa-rotate-90>svg{transform:rotate(90deg)}.ovg.fa-rotate-180>svg{transform:rotate(180deg)}.ovg.fa-rotate-270>svg{transform:rotate(270deg)}.ovg.fa-rotate-by>svg{transform:rotate(var(--fa-rotate-angle,0))}.ovg.fa-flip-horizontal>svg{transform:scale(-1,1)}.ovg.fa-flip-vertical>svg{transform:scale(1,-1)}.ovg.fa-flip-both>svg{transform:scale(-1,-1)}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{position:absolute;left:calc(var(--fa-li-width,2em)*-1);width:var(--fa-li-width,2em);text-align:center;line-height:inherit}.fa-stack{display:inline-block;position:relative;width:2.5em;height:2em;line-height:2em;vertical-align:middle}.fa-stack>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-stack>.ovg.fa-stack-2x{font-size:2em}.ovg.fa-inverse{color:var(--fa-inverse,#fff)}.fa-layers{display:inline-block;position:relative;width:1em;height:1em;text-align:center;vertical-align:-.125em}.fa-layers>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-layers-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-block}.fa-layers-counter{position:absolute;top:var(--fa-top,0);right:var(--fa-right,0);display:inline-block;box-sizing:border-box;min-width:var(--fa-counter-min-width,1.5em);max-width:var(--fa-counter-max-width,5em);padding:var(--fa-counter-padding,.25em .5em);border-radius:var(--fa-counter-border-radius,1em);background:var(--fa-counter-background-color,#ff253a);color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.ovg.fa-beat{animation:ovgBeat var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-bounce{animation:ovgBounce var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-fade{animation:ovgFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-beat-fade{animation:ovgBeatFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-flip{animation:ovgFlip var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-shake{animation:ovgShake var(--fa-animation-duration,1s) var(--fa-animation-timing,linear) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-spin,.ovg.fa-pulse,.ovg.fa-spin-pulse{animation:ovgBreathe var(--fa-animation-duration,1.6s) ease-in-out var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite)!important}.ovg[data-ovg=busy].fa-spin,.ovg[data-ovg=busy].fa-pulse,.ovg[data-ovg=busy].fa-spin-pulse{animation:none!important}@keyframes ovgBeat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes ovgBounce{0%{transform:scale(1,1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%,100%{transform:scale(1,1) translateY(0)}}@keyframes ovgFade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes ovgBeatFade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}.ovg.ovg-draw>svg>*{stroke-dasharray:1;stroke-dashoffset:1;animation:ovgDraw var(--ovg-draw-duration,.6s) cubic-bezier(.4,0,.2,1) var(--ovg-draw-delay,0s) forwards}.ovg.ovg-draw>svg>*:nth-child(2){animation-delay:calc(var(--ovg-draw-delay,0s) + .12s)}.ovg.ovg-draw>svg>*:nth-child(n+3){animation-delay:calc(var(--ovg-draw-delay,0s) + .24s)}@keyframes ovgDraw{to{stroke-dashoffset:0}}.ovg.ovg-once{--fa-animation-iteration-count:1}.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle,html[data-ov-motion=reduced] .ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}";
++ const CSS = ".ovg::before,.ovg::after{content:none!important;display:none!important}.ovg{display:inline-block;width:1.15em;height:1.15em;line-height:1;vertical-align:-.18em;font-family:inherit!important;font-style:normal!important}.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:calc(var(--ovg-stroke,2) * 1px + max(0px, (18.4px - 1.15em) * .25));stroke-linecap:round;stroke-linejoin:round;overflow:visible}.ovg>svg.has-s{stroke-width:min(var(--ovg-stroke,2) * 1px, max(0px, (1.15em - 18.4px) * 999))}.ovg>svg>.ovg-s{fill:currentColor;stroke:none;clip-path:inset(max(0px, (1.15em - 18.4px) * 999))}.ovg>svg>.ovg-s .ln{fill:none;stroke:currentColor;stroke-width:2.6px}.ovg>svg>.ovg-s,.ovg>svg>.ovg-s *{stroke-dasharray:none!important;animation:none!important}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.fa-duotone>svg{stroke:var(--fa-primary-color,currentColor)}.ovg.fa-2xs{font-size:.625em}.ovg.fa-xs{font-size:.75em}.ovg.fa-sm{font-size:.875em}.ovg.fa-lg{font-size:1.25em}.ovg.fa-xl{font-size:1.5em}.ovg.fa-2xl{font-size:2em}.ovg.fa-1x{font-size:1em}.ovg.fa-2x{font-size:2em}.ovg.fa-3x{font-size:3em}.ovg.fa-4x{font-size:4em}.ovg.fa-5x{font-size:5em}.ovg.fa-6x{font-size:6em}.ovg.fa-7x{font-size:7em}.ovg.fa-8x{font-size:8em}.ovg.fa-9x{font-size:9em}.ovg.fa-10x{font-size:10em}.ovg.fa-fw{width:1.25em;text-align:center}.ovg.fa-border{box-sizing:content-box;border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);border-radius:var(--fa-border-radius,.1em);padding:var(--fa-border-padding,.2em .25em .15em)}.ovg.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.ovg.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.ovg.fa-rotate-90>svg{transform:rotate(90deg)}.ovg.fa-rotate-180>svg{transform:rotate(180deg)}.ovg.fa-rotate-270>svg{transform:rotate(270deg)}.ovg.fa-rotate-by>svg{transform:rotate(var(--fa-rotate-angle,0))}.ovg.fa-flip-horizontal>svg{transform:scale(-1,1)}.ovg.fa-flip-vertical>svg{transform:scale(1,-1)}.ovg.fa-flip-both>svg{transform:scale(-1,-1)}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{position:absolute;left:calc(var(--fa-li-width,2em)*-1);width:var(--fa-li-width,2em);text-align:center;line-height:inherit}.fa-stack{display:inline-block;position:relative;width:2.5em;height:2em;line-height:2em;vertical-align:middle}.fa-stack>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-stack>.ovg.fa-stack-2x{font-size:2em}.ovg.fa-inverse{color:var(--fa-inverse,#fff)}.fa-layers{display:inline-block;position:relative;width:1em;height:1em;text-align:center;vertical-align:-.125em}.fa-layers>.ovg{position:absolute;inset:0;margin:auto;width:1em;height:1em}.fa-layers-text{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:inline-block}.fa-layers-counter{position:absolute;top:var(--fa-top,0);right:var(--fa-right,0);display:inline-block;box-sizing:border-box;min-width:var(--fa-counter-min-width,1.5em);max-width:var(--fa-counter-max-width,5em);padding:var(--fa-counter-padding,.25em .5em);border-radius:var(--fa-counter-border-radius,1em);background:var(--fa-counter-background-color,#ff253a);color:var(--fa-inverse,#fff);line-height:var(--fa-counter-line-height,1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:scale(var(--fa-counter-scale,.25));transform-origin:top right}.ovg.fa-beat{animation:ovgBeat var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-bounce{animation:ovgBounce var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-fade{animation:ovgFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-beat-fade{animation:ovgBeatFade var(--fa-animation-duration,1s) var(--fa-animation-timing,cubic-bezier(.4,0,.6,1)) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-flip{animation:ovgFlip var(--fa-animation-duration,1s) var(--fa-animation-timing,ease-in-out) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-shake{animation:ovgShake var(--fa-animation-duration,1s) var(--fa-animation-timing,linear) var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite) var(--fa-animation-direction,normal)}.ovg.fa-spin,.ovg.fa-pulse,.ovg.fa-spin-pulse{animation:ovgBreathe var(--fa-animation-duration,1.6s) ease-in-out var(--fa-animation-delay,0s) var(--fa-animation-iteration-count,infinite)!important}.ovg[data-ovg=busy].fa-spin,.ovg[data-ovg=busy].fa-pulse,.ovg[data-ovg=busy].fa-spin-pulse{animation:none!important}@keyframes ovgBeat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes ovgBounce{0%{transform:scale(1,1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1,1) translateY(var(--fa-bounce-rebound,-.125em))}64%,100%{transform:scale(1,1) translateY(0)}}@keyframes ovgFade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes ovgBeatFade{0%,100%{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes ovgFlip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes ovgShake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,100%{transform:rotate(0)}}@keyframes ovgBreathe{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.9)}}.ovg.ovg-draw>svg>*{stroke-dasharray:1;stroke-dashoffset:1;animation:ovgDraw var(--ovg-draw-duration,.6s) cubic-bezier(.4,0,.2,1) var(--ovg-draw-delay,0s) forwards}.ovg.ovg-draw>svg>*:nth-child(2){animation-delay:calc(var(--ovg-draw-delay,0s) + .12s)}.ovg.ovg-draw>svg>*:nth-child(n+3){animation-delay:calc(var(--ovg-draw-delay,0s) + .24s)}@keyframes ovgDraw{to{stroke-dashoffset:0}}.ovg.ovg-once{--fa-animation-iteration-count:1}.ovg[data-ovg=busy]>svg{fill:currentColor;stroke:none}.ovg[data-ovg=busy] circle{animation:ovgHop 1s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.ovg[data-ovg=busy] circle:nth-child(2){animation-delay:.15s}.ovg[data-ovg=busy] circle:nth-child(3){animation-delay:.3s}@keyframes ovgHop{0%,60%,100%{transform:translateY(0);opacity:.55}30%{transform:translateY(-3px);opacity:1}}@media (prefers-reduced-motion:reduce){.ovg,.ovg[data-ovg=busy] circle,.ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}}html[data-ov-motion=reduced] .ovg,html[data-ov-motion=reduced] .ovg[data-ovg=busy] circle,html[data-ov-motion=reduced] .ovg.ovg-draw>svg>*{animation:none!important;stroke-dashoffset:0!important}";
const nameOf = (el) => { for (const c of el.classList) if (c.startsWith('fa-') && !MOD.test(c)) return c.slice(3); return null; };
const fromFa = (fa) => { const n = String(fa || '').replace(/^fa-/, ''); return Object.prototype.hasOwnProperty.call(FA, n) ? FA[n] : null; };
// data-fa-transform, in Font Awesome's units (a sixteenth of the icon).
@@@ -60,7 +61,7 @@
if (title && !el.hasAttribute('aria-label')) { el.setAttribute('role', 'img'); el.setAttribute('aria-label', title); }
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
const t = transformOf(tf);
-- el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';
++ el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (S[g] ? ' class="has-s"' : '') + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g] + (S[g] ? '<g class="ovg-s">' + S[g] + '</g>' : '')) + '</svg>';
// ovg-draw draws each line in: every shape measures 1 along its length.
if (el.classList.contains('ovg-draw')) el.firstChild.childNodes.forEach((n) => { if (n.setAttribute) n.setAttribute('pathLength', '1'); });
}
ddiff --git a/ov-glyphs.svg b/ov-glyphs.svg
iindex 9fc117c..b1c31c6 100644
---- a/ov-glyphs.svg
++++ b/ov-glyphs.svg
@@@ -15,6 +15,7 @@
<symbol id="ovg-ban" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m6 6 12 12"/></symbol>
<symbol id="ovg-bell" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M6 16V11a6 6 0 0 1 12 0v5l1.5 2h-15ZM10 20a2 2 0 0 0 4 0"/></symbol>
<symbol id="ovg-book" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 5a2 2 0 0 1 2-2h13v16H6a2 2 0 0 0-2 2Z"/><path d="M4 19V5"/></symbol>
++<symbol id="ovg-book-open" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M12 6.6C10 5.1 7 4.6 3.5 5.2v13.2c3.5-.6 6.5-.1 8.5 1.4 2-1.5 5-2 8.5-1.4V5.2C17 4.6 14 5.1 12 6.6Z"/><path d="M12 6.6v13.2"/></symbol>
<symbol id="ovg-box" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3.5 8 12 4l8.5 4v8.5L12 20.5l-8.5-4Z"/><path d="M3.5 8 12 12l8.5-4M12 12v8.5M7.8 6l8.4 4"/></symbol>
<symbol id="ovg-brain" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 4a3 3 0 0 0-3 3 3 3 0 0 0-2 5 3 3 0 0 0 2 5 3 3 0 0 0 6 1.2V5.5A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3 3 3 0 0 1 2 5 3 3 0 0 1-2 5 3 3 0 0 1-6 1.2"/></symbol>
<symbol id="ovg-branch" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="6" cy="5" r="2"/><circle cx="6" cy="19" r="2"/><circle cx="18" cy="7" r="2"/><path d="M6 7v10M18 9c0 5.5-6.5 4-11 8.5"/></symbol>
@@@ -276,3 +277,52 @@
<symbol id="ovg-x-circle" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="8.5"/><path d="m9 9 6 6M15 9l-6 6"/></symbol>
<symbol id="ovg-zap" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M13 3 5 13h6l-1 8 8-10h-6Z"/></symbol>
</svg>
++
++<symbol id="ovg-alert-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M10.4 3.9a1.85 1.85 0 0 1 3.2 0l8.3 14.4a1.85 1.85 0 0 1-1.6 2.8H3.7a1.85 1.85 0 0 1-1.6-2.8ZM10.9 9h2.2v5.6h-2.2ZM12 15.9a1.3 1.3 0 1 1 0 2.6 1.3 1.3 0 0 1 0-2.6Z"/></symbol>
++<symbol id="ovg-alert-circle-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 6.8h2.4v7h-2.4ZM12 15.1a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z"/></symbol>
++<symbol id="ovg-bell-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M5.8 16.2V11a6.2 6.2 0 0 1 12.4 0v5.2l1.7 2.3H4.1ZM9.9 19.6h4.2a2.1 2.1 0 0 1-4.2 0Z"/></symbol>
++<symbol id="ovg-book-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M4.5 5A2.5 2.5 0 0 1 7 2.5h12.5v15H7a2.5 2.5 0 0 0-2.5 2.5Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M7.5 20.5h11.5"/></symbol>
++<symbol id="ovg-book-open-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M11 6.4C9 5 6.3 4.5 3 5.1v13.3c3.3-.6 6 0 8 1.4ZM13 6.4c2-1.4 4.7-1.9 8-1.3v13.3c-3.3-.6-6 0-8 1.4Z"/></symbol>
++<symbol id="ovg-calendar-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M4 7.4a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2V19a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2Zm2.2 4V18.8h11.6v-7.4Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M9 3.2v3.6M15 3.2v3.6"/></symbol>
++<symbol id="ovg-camera-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M3 8.3a1.8 1.8 0 0 1 1.8-1.8h2.5L9 4h6l1.7 2.5h2.5A1.8 1.8 0 0 1 21 8.3v10.1a1.8 1.8 0 0 1-1.8 1.8H4.8A1.8 1.8 0 0 1 3 18.4Zm9 1.9a3.4 3.4 0 1 0 0 6.8 3.4 3.4 0 0 0 0-6.8Z"/></symbol>
++<symbol id="ovg-chat-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M3.5 5.6A1.6 1.6 0 0 1 5.1 4h13.8a1.6 1.6 0 0 1 1.6 1.6v9.8a1.6 1.6 0 0 1-1.6 1.6H8.6L3.5 21Z"/></symbol>
++<symbol id="ovg-check-circle-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM16.3 8.9l1.6 1.6-6.9 6.9-4.1-4.1 1.6-1.6 2.5 2.5Z"/></symbol>
++<symbol id="ovg-clock-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.9 6.6h2.2v5l3.2 1.9-1.1 1.9-4.3-2.6Z"/></symbol>
++<symbol id="ovg-cloud-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M7 18.8h10a4.4 4.4 0 0 0 .6-8.8A6.4 6.4 0 0 0 5.4 9.4 4.7 4.7 0 0 0 7 18.8Z"/></symbol>
++<symbol id="ovg-coin-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM11 6h2v1.2c1.1.2 2 .8 2.5 1.7l-1.7 1c-.3-.6-1-1-1.8-1-.9 0-1.5.4-1.5 1s.5.8 1.8 1.1c1.8.4 3.4 1 3.4 3 0 1.4-1 2.4-2.7 2.7V18h-2v-1.3c-1.2-.2-2.2-.9-2.7-1.9l1.7-1c.4.7 1.1 1.1 2 1.1 1 0 1.6-.4 1.6-1s-.6-.8-1.9-1.1c-1.7-.4-3.3-1-3.3-2.9 0-1.3 1-2.3 2.6-2.6Z"/></symbol>
++<symbol id="ovg-crown-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M2.6 7.8 7.4 12 12 4.6 16.6 12l4.8-4.2-2 11.7H4.6Z"/></symbol>
++<symbol id="ovg-drop-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.4s6.4 6.8 6.4 11.6a6.4 6.4 0 0 1-12.8 0C5.6 9.2 12 2.4 12 2.4Z"/></symbol>
++<symbol id="ovg-eye-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 4.8C6 4.8 1.8 12 1.8 12s4.2 7.2 10.2 7.2S22.2 12 22.2 12 18 4.8 12 4.8Zm0 3.6a3.6 3.6 0 1 1 0 7.2 3.6 3.6 0 0 1 0-7.2Z"/><circle cx="12" cy="12" r="1.7"/></symbol>
++<symbol id="ovg-file-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M6 2.6h7.6v5.2h5V21.4H6ZM15.2 2.9l3.1 3.3h-3.1Z"/></symbol>
++<symbol id="ovg-fire-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 21.5a6.3 6.3 0 0 0 6.3-6.3c0-4-2.7-6.3-3.9-9.5-1.9 2.1-2.4 4.2-2.4 4.2S10.8 8 9.7 6.1C7.4 8.7 5.7 11.8 5.7 15.2A6.3 6.3 0 0 0 12 21.5Zm0-2.6a2.6 2.6 0 0 0 2.6-2.6c0-1.5-1.1-2.5-1.6-3.7-.8.9-1 1.7-1 1.7s-.5-.8-.9-1.5c-.9 1.1-1.6 2.3-1.6 3.6a2.6 2.6 0 0 0 2.5 2.5Z"/></symbol>
++<symbol id="ovg-flag-solid" viewBox="0 0 24 24" fill="currentColor"><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M5 21V3.8"/><path d="M5.6 3.6h11.6l-2.1 4.4 2.1 4.4H5.6Z"/></symbol>
++<symbol id="ovg-folder-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M2.8 6.8a2 2 0 0 1 2-2h4.4l2 2h8a2 2 0 0 1 2 2v8.6a2 2 0 0 1-2 2H4.8a2 2 0 0 1-2-2Z"/></symbol>
++<symbol id="ovg-gem-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M6.4 3.6h11.2l3.8 5.3-9.4 11.6L2.6 8.9Z"/></symbol>
++<symbol id="ovg-ghost-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M4.8 20.6V11a7.2 7.2 0 0 1 14.4 0v9.6l-2.4-1.8-2.4 1.8-2.4-1.8-2.4 1.8-2.4-1.8ZM9.4 9.3a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Zm5.2 0a1.3 1.3 0 1 0 0 2.6 1.3 1.3 0 0 0 0-2.6Z"/></symbol>
++<symbol id="ovg-gift-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M3.4 8.6h17.2v3.2H3.4ZM4.6 12.8h6.4v8H5.6a1 1 0 0 1-1-1ZM13 12.8h6.4v7a1 1 0 0 1-1 1H13Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M12 8.6c-1.5-3-5-4-5-1.5S12 8.6 12 8.6s5-1 5-3.5-3.5-1.5-5 3.5"/></symbol>
++<symbol id="ovg-heart-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M12 20.6s-7.6-4.6-7.6-10.6a4.3 4.3 0 0 1 7.6-2.9 4.3 4.3 0 0 1 7.6 2.9c0 6-7.6 10.6-7.6 10.6Z"/></symbol>
++<symbol id="ovg-home-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M3.3 11.2 12 3.6l8.7 7.6v8.9a1 1 0 0 1-1 1h-5.2v-6.4h-5v6.4H4.3a1 1 0 0 1-1-1Z"/></symbol>
++<symbol id="ovg-image-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M3 6.1a2.6 2.6 0 0 1 2.6-2.6h12.8A2.6 2.6 0 0 1 21 6.1v11.8a2.6 2.6 0 0 1-2.6 2.6H5.6A2.6 2.6 0 0 1 3 17.9Zm6 2.1a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Zm7.2 3.3-8 7.5h10.2a1.4 1.4 0 0 0 1.4-1.4v-2.9Z"/></symbol>
++<symbol id="ovg-info-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM10.8 10.6h2.4V17h-2.4ZM12 6.5a1.45 1.45 0 1 1 0 2.9 1.45 1.45 0 0 1 0-2.9Z"/></symbol>
++<symbol id="ovg-live-solid" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="12" r="3.1"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M7.8 7.8a6 6 0 0 0 0 8.4M16.2 7.8a6 6 0 0 1 0 8.4M5 5a10 10 0 0 0 0 14M19 5a10 10 0 0 1 0 14"/></symbol>
++<symbol id="ovg-lock-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M5 11.6a1.6 1.6 0 0 1 1.6-1.6h10.8a1.6 1.6 0 0 1 1.6 1.6v8a1.6 1.6 0 0 1-1.6 1.6H6.6A1.6 1.6 0 0 1 5 19.6Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M8.2 10V7.6a3.8 3.8 0 0 1 7.6 0V10"/></symbol>
++<symbol id="ovg-megaphone-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M3.4 10a1.1 1.1 0 0 1 1.1-1.1h2.6l9.4-4.7v15.6l-9.4-4.7H4.5A1.1 1.1 0 0 1 3.4 14Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M7.2 15.2l1.2 4.9M19 9.4a3.3 3.3 0 0 1 0 5.2"/></symbol>
++<symbol id="ovg-members-solid" viewBox="0 0 24 24" fill="currentColor"><circle cx="9" cy="7.9" r="3.6"/><path d="M2.4 20.8c0-3.8 3-6.5 6.6-6.5s6.6 2.7 6.6 6.5Z"/><circle cx="16.6" cy="7.4" r="2.9"/><path d="M16.8 13.4c2.9.4 4.8 2.8 4.8 6.4V20.8h-4.4c0-2.9-1-5.2-2.8-6.7Z"/></symbol>
++<symbol id="ovg-mic-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M8.7 5.8a3.3 3.3 0 0 1 6.6 0V11a3.3 3.3 0 0 1-6.6 0Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M5.5 11a6.5 6.5 0 0 0 13 0M12 17.5V21"/></symbol>
++<symbol id="ovg-moon-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M20.4 14.4A8.5 8.5 0 1 1 9.6 3.6a7 7 0 0 0 10.8 10.8Z"/></symbol>
++<symbol id="ovg-music-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M8.4 6.6l12-2.3v3.2l-12 2.3Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M9.5 18V7.8M19.5 16V5.6"/><circle cx="6.7" cy="18" r="2.9"/><circle cx="16.7" cy="16" r="2.9"/></symbol>
++<symbol id="ovg-pause-solid" viewBox="0 0 24 24" fill="currentColor"><rect x="6.3" y="4.6" width="4" height="14.8" rx="1.2"/><rect x="13.7" y="4.6" width="4" height="14.8" rx="1.2"/></symbol>
++<symbol id="ovg-pin-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.3a7.3 7.3 0 0 0-7.3 7.3c0 5.6 7.3 12.1 7.3 12.1s7.3-6.5 7.3-12.1A7.3 7.3 0 0 0 12 2.3Zm0 4.6a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2Z"/></symbol>
++<symbol id="ovg-play-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M7.4 4.4v15.2a.8.8 0 0 0 1.2.7l11.4-7.6a.8.8 0 0 0 0-1.4L8.6 3.7a.8.8 0 0 0-1.2.7Z"/></symbol>
++<symbol id="ovg-shield-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.6 4.6 5.8V12c0 4.6 3.1 8 7.4 9.5 4.3-1.5 7.4-4.9 7.4-9.5V5.8Z"/></symbol>
++<symbol id="ovg-smile-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM15 8.6a1.35 1.35 0 1 1 0 2.7 1.35 1.35 0 0 1 0-2.7ZM7.9 13.4h8.2a4.1 4.1 0 0 1-8.2 0Z"/></symbol>
++<symbol id="ovg-spark-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M12 2.6l2 5.6 5.6 2-5.6 2L12 17.8l-2-5.6-5.6-2 5.6-2ZM19 14.6l.9 2.5 2.5.9-2.5.9-.9 2.5-.9-2.5-2.5-.9 2.5-.9Z"/></symbol>
++<symbol id="ovg-star-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M12 3.2l2.6 5.4 5.9.7-4.4 4 1.2 5.9L12 16.3l-5.3 2.9 1.2-5.9-4.4-4 5.9-.7Z"/></symbol>
++<symbol id="ovg-tag-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M2.6 4.1A1.5 1.5 0 0 1 4.1 2.6h7.3l10.1 10.1-8.8 8.8L2.6 11.4Zm5.1 2.5a1.9 1.9 0 1 0 0 3.8 1.9 1.9 0 0 0 0-3.8Z"/></symbol>
++<symbol id="ovg-thumbs-up-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M7.4 10.4v10H4.6a1.1 1.1 0 0 1-1.1-1.1v-7.8a1.1 1.1 0 0 1 1.1-1.1ZM8.8 10.4l3.5-7.1a2.3 2.3 0 0 1 2.6 2.7l-.6 3.4h5.5a2.1 2.1 0 0 1 2.1 2.5l-1.4 6.8a2.1 2.1 0 0 1-2.1 1.7H8.8Z"/></symbol>
++<symbol id="ovg-trash-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M5.8 7.6h12.4l-1 12a2 2 0 0 1-2 1.8H8.8a2 2 0 0 1-2-1.8Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M3.8 6.6h16.4M9 6.6V4h6v2.6"/></symbol>
++<symbol id="ovg-trophy-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M7.3 3.3h9.4V9a4.7 4.7 0 0 1-9.4 0Z"/><path fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" d="M7.3 5.8H5.1a3 3 0 0 0 3 4.1M16.7 5.8h2.2a3 3 0 0 1-3 4.1M12 13.8V17M8 20.4h8"/></symbol>
++<symbol id="ovg-user-solid" viewBox="0 0 24 24" fill="currentColor"><circle cx="12" cy="7.8" r="4.1"/><path d="M4.2 21c0-4.3 3.5-7.2 7.8-7.2s7.8 2.9 7.8 7.2Z"/></symbol>
++<symbol id="ovg-video-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M2.5 7.6a2 2 0 0 1 2-2H14a2 2 0 0 1 2 2v8.8a2 2 0 0 1-2 2H4.5a2 2 0 0 1-2-2ZM17.2 10.1l4.3-2.6v9l-4.3-2.6Z"/></symbol>
++<symbol id="ovg-x-circle-solid" viewBox="0 0 24 24" fill="currentColor"><path fill-rule="evenodd" d="M12 2.8a9.2 9.2 0 1 0 0 18.4 9.2 9.2 0 0 0 0-18.4ZM9.2 7.8 12 10.6l2.8-2.8 1.4 1.4-2.8 2.8 2.8 2.8-1.4 1.4-2.8-2.8-2.8 2.8-1.4-1.4 2.8-2.8-2.8-2.8Z"/></symbol>
++<symbol id="ovg-zap-solid" viewBox="0 0 24 24" fill="currentColor"><path d="M13.4 2.4 4.6 13.4h6.2l-1.2 8.2 8.8-11h-6.2Z"/></symbol>
\\ No newline at end of file
ddiff --git a/ov-glyphs.woff2 b/ov-glyphs.woff2
iindex bd2dd4d..e78d2f9 100644
BBinary files a/ov-glyphs.woff2 and b/ov-glyphs.woff2 differ
ddiff --git a/package.json b/package.json
iindex 802d8b0..3c2f61b 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-shared",
-- "version": "4.68.0",
++ "version": "4.69.0",
"description": "Shared navbar, footer, themes, icons, legal pages, SEO, auth and analytics for every OpenVibe site",
"main": "index.js",
"bin": {
ddiff --git a/scripts/build-glyphs.js b/scripts/build-glyphs.js
iindex 75a8ebd..13ad1a0 100644
---- a/scripts/build-glyphs.js
++++ b/scripts/build-glyphs.js
@@@ -10,6 +10,8 @@ const glyphs = require('../glyphs');
const used = [...new Set(Object.values(glyphs.FA))].sort();
const G = Object.fromEntries(used.map((n) => [n, glyphs.path(n)]));
++// The solid drawings for small sizes (4.69.0): only for glyphs the Font Awesome names reach.
++const S = Object.fromEntries(used.filter((n) => glyphs.solid(n)).map((n) => [n, glyphs.solid(n)]));
const FA = Object.fromEntries(Object.entries(glyphs.FA).sort(([a], [b]) => (a < b ? -1 : 1)));
// Font Awesome's features on a swapped icon (4.62.0), with Font Awesome's own class names and CSS variables, so a site
@@@ -20,7 +22,15 @@ const CSS = [
// The icon: Font Awesome's glyph off, ours in the text's colour and size, one drawing in four weights.
'.ovg::before,.ovg::after{content:none!important;display:none!important}',
'.ovg{display:inline-block;width:1.15em;height:1.15em;line-height:1;vertical-align:-.18em;font-family:inherit!important;font-style:normal!important}',
-- '.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:var(--ovg-stroke,2);stroke-linecap:round;stroke-linejoin:round;overflow:visible}',
++ // Optical sizes (4.69.0, plan L49): inside the SVG a px is a grid unit and an em is the icon's own size, so
++ // max(0px, (18.4px - 1.15em) * k) is zero for an icon 18.4 px or bigger and grows as it shrinks. Lines thicken
++ // when small; a glyph with a solid drawing shows that instead (its lines go to 0, the solid group's clip opens).
++ // A browser without clip-path on SVG groups shows the solid one at every size: still the right icon.
++ '.ovg>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:calc(var(--ovg-stroke,2) * 1px + max(0px, (18.4px - 1.15em) * .25));stroke-linecap:round;stroke-linejoin:round;overflow:visible}',
++ '.ovg>svg.has-s{stroke-width:min(var(--ovg-stroke,2) * 1px, max(0px, (1.15em - 18.4px) * 999))}',
++ '.ovg>svg>.ovg-s{fill:currentColor;stroke:none;clip-path:inset(max(0px, (1.15em - 18.4px) * 999))}',
++ '.ovg>svg>.ovg-s .ln{fill:none;stroke:currentColor;stroke-width:2.6px}',
++ '.ovg>svg>.ovg-s,.ovg>svg>.ovg-s *{stroke-dasharray:none!important;animation:none!important}',
'.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.fa-duotone>svg{stroke:var(--fa-primary-color,currentColor)}',
// Sizes, fixed width, borders and pulls.
'.ovg.fa-2xs{font-size:.625em}.ovg.fa-xs{font-size:.75em}.ovg.fa-sm{font-size:.875em}.ovg.fa-lg{font-size:1.25em}.ovg.fa-xl{font-size:1.5em}.ovg.fa-2xl{font-size:2em}',
@@@ -91,6 +101,7 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
'use strict';
if (typeof window === 'undefined' || window.OVGlyphs) return;
const G = ${JSON.stringify(G)};
++ const S = ${JSON.stringify(S)};
const FA = ${JSON.stringify(FA)};
// Font Awesome's style, size, layout and animation classes: they say how, not what.
const MOD = /^fa-(solid|regular|light|thin|duotone|sharp|sharp-duotone|classic|brands|fw|lg|xl|xs|sm|2xs|2xl|[0-9]+x|spin|spin-pulse|spin-reverse|pulse|beat|beat-fade|bounce|fade|flip|shake|border|inverse|li|ul|stack|stack-1x|stack-2x|layers|layers-text|layers-counter|pull-left|pull-right|rotate-[0-9]+|rotate-by|flip-horizontal|flip-vertical|flip-both|swap-opacity|width-auto|width-fixed)$/;
@@@ -129,7 +140,7 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
if (title && !el.hasAttribute('aria-label')) { el.setAttribute('role', 'img'); el.setAttribute('aria-label', title); }
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
const t = transformOf(tf);
-- el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g]) + '</svg>';
++ el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"' + (S[g] ? ' class="has-s"' : '') + (t ? ' style="transform:' + t + '"' : '') + '>' + (g === 'busy' ? BUSY : G[g] + (S[g] ? '<g class="ovg-s">' + S[g] + '</g>' : '')) + '</svg>';
// ovg-draw draws each line in: every shape measures 1 along its length.
if (el.classList.contains('ovg-draw')) el.firstChild.childNodes.forEach((n) => { if (n.setAttribute) n.setAttribute('pathLength', '1'); });
}
@@@ -157,7 +168,7 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
`;
// The sprite: every glyph as a <symbol>, for <svg><use href="/shared/ov-glyphs.svg#ovg-eye"/></svg>.
--const sprite = `<svg xmlns="http://www.w3.org/2000/svg">\n<!-- The OpenVibe glyphs (openvibe-shared, MIT): <svg><use href="ov-glyphs.svg#ovg-eye"/></svg>. Generated by scripts/build-glyphs.js. -->\n${glyphs.NAMES.map((n) => `<symbol id="ovg-${n}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${glyphs.path(n)}</symbol>`).join('\n')}\n</svg>\n`;
++const sprite = `<svg xmlns="http://www.w3.org/2000/svg">\n<!-- The OpenVibe glyphs (openvibe-shared, MIT): <svg><use href="ov-glyphs.svg#ovg-eye"/></svg>. Generated by scripts/build-glyphs.js. -->\n${glyphs.NAMES.map((n) => `<symbol id="ovg-${n}" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${glyphs.path(n)}</symbol>`).join('\n')}\n</svg>\n${Object.keys(glyphs.SOLID).length ? '\n' + Object.keys(glyphs.SOLID).sort().map((n) => `<symbol id="ovg-${n}-solid" viewBox="0 0 24 24" fill="currentColor">${glyphs.solid(n).replace(/class="ln"/g, 'fill="none" stroke="currentColor" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round"')}</symbol>`).join('\n') : ''}`;
if (require.main === module) {
fs.writeFileSync(path.join(__dirname, '..', 'ov-glyphs.js'), out);
ddiff --git a/test/glyphs.test.js b/test/glyphs.test.js
iindex 71ec71c..244f672 100644
---- a/test/glyphs.test.js
++++ b/test/glyphs.test.js
@@@ -11,7 +11,7 @@ const glyphs = require('../glyphs');
const kit = require('../kit');
// ── The registry ──
--assert.ok(glyphs.NAMES.length >= 270, `${glyphs.NAMES.length} glyphs`);
++assert.ok(glyphs.NAMES.length >= 276, `${glyphs.NAMES.length} glyphs`);
for (const name of kit.ICONS) assert.ok(glyphs.NAMES.includes(name), `the kit's ${name} is a glyph`);
for (const [fa, g] of Object.entries(glyphs.FA)) assert.ok(glyphs.path(g), `fa-${fa} → ${g}, a glyph that exists`);
for (const name of glyphs.NAMES) {
@@@ -21,6 +21,18 @@ for (const name of glyphs.NAMES) {
assert.ok(!/fill=|style=|on\w+=|href|<script|url\(/i.test(d), `${name}: no fills, styles, handlers or links`);
for (const m of d.matchAll(/(?:cx|cy|x|y)="(-?[\d.]+)"/g)) assert.ok(Number(m[1]) >= 0 && Number(m[1]) <= 24, `${name}: on the 24 grid`);
}
++// Solid drawings for small sizes (4.69.0): filled shapes and evenodd holes, a line as class "ln", on the grid.
++for (const [name, d] of Object.entries(glyphs.SOLID)) {
++ assert.ok(glyphs.path(name), `${name}: a solid drawing has a line one`);
++ const tags = [...d.matchAll(/<([a-z]+)\b/g)].map((m) => m[1]);
++ assert.ok(tags.length && tags.every((t) => ['path', 'circle', 'rect', 'ellipse'].includes(t)), `${name}: solid shapes only (${tags})`);
++ assert.ok(!/style=|on\w+=|href|<script|url\(|fill="(?!none)/i.test(d), `${name}: no styles, handlers, links or colours`);
++ assert.ok([...d.matchAll(/class="([^"]*)"/g)].every((m) => m[1] === 'ln'), `${name}: the only class is ln`);
++ assert.ok(glyphs.inner(name).includes('<g class="ovg-s">'), `${name}: inner() carries it`);
++}
++assert.ok(Object.keys(glyphs.SOLID).length >= 40, 'the glyphs most often shown small have a solid drawing');
++assert.strictEqual(glyphs.fromFa('fa-book-open'), 'book-open', 'an open book, not a square');
++assert.strictEqual(glyphs.inner('check'), glyphs.path('check'), 'a glyph without a solid one is its lines alone');
assert.strictEqual(glyphs.fromFa('fa-tower-broadcast'), 'live');
assert.strictEqual(glyphs.fromFa('eye-slash'), 'eye-off');
assert.strictEqual(glyphs.fromFa('fa-spinner'), 'busy', 'a spinner is the busy dots');
@@@ -39,7 +51,7 @@ const SRC = fs.readFileSync(path.join(__dirname, '..', 'ov-glyphs.js'), 'utf8');
assert.strictEqual(SRC, builder.build(), 'ov-glyphs.js is current: run node scripts/build-glyphs.js');
const SPRITE = fs.readFileSync(path.join(__dirname, '..', 'ov-glyphs.svg'), 'utf8');
assert.strictEqual(SPRITE, builder.sprite(), 'ov-glyphs.svg is current: run node scripts/build-glyphs.js');
--assert.strictEqual((SPRITE.match(/<symbol id="ovg-/g) || []).length, glyphs.NAMES.length, 'the sprite has every glyph');
++assert.strictEqual((SPRITE.match(/<symbol id="ovg-/g) || []).length, glyphs.NAMES.length + Object.keys(glyphs.SOLID).length, 'the sprite has every glyph, and each solid one as ovg-<name>-solid');
assert.ok(SPRITE.includes(`<symbol id="ovg-eye" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${glyphs.path('eye')}</symbol>`));
// Font Awesome's features, kept (4.62.0): every documented class has a rule, with Font Awesome's own variables.