openvibers/openvibe.shared Commits

openvibe-shared 4.231.0: OpenVibe's own icons, and no Font Awesome drawing left (#513)

OP OpenVibers committed 8 h ago · 768ed2ac2c · 21 files, +633 −391

* openvibe-shared 4.231.0: OpenVibe's own icons, and no Font Awesome drawing left

The ring icons' solids are the glyphs' own; the generator that read Font Awesome's font is gone; <i data-ov-icon>
and <i data-ov-brand> drawn by ov-glyphs.js (every glyph), OVGlyphs.icon/html/has, glyphs.markup(); the bar draws
glyph names; scripts/fa-to-ov.js rewrites a repository's static markup and lists the rest; names that drew nothing
map to a glyph.

* README: v4.231.0

Changes

ddiff --git a/AGENTS.md b/AGENTS.md
iindex 33df0cd..1e2273e 100644
---- a/AGENTS.md
++++ b/AGENTS.md
@@@ -20,8 +20,10 @@ service: it owns no database, port or process, and nothing is deployed from this
`docs/tokens.md`, `docs/forms.md`, `docs/player-startup.md`, `docs/home-pages.md`,
`docs/migration-plan.md`); architecture decisions in `docs/adr/`.
- **Build helpers:** `scripts/build-styles.js` (CSS bundles), `scripts/build-theme-loader.js`
-- (generated theme block), `scripts/build-icons.js`, `scripts/build-nav-icons.py` (glyph fonts and
-- the Font Awesome mapping), `scripts/create-site.js` (a new site scaffold), `scripts/size-report.js`.
++ (generated theme block), `scripts/build-icons.js`, `scripts/build-glyphs.js` (`ov-glyphs.js` and the sprite),
++ `scripts/build-navbar-icons.js` (the bar's set and the ring icons' solids, from `glyphs.js`),
++ `scripts/fa-to-ov.js` (a repository's Font Awesome markup into `data-ov-icon`), `scripts/create-site.js` (a new
++ site scaffold), `scripts/size-report.js`.
## Who calls it, what it calls
@@@ -47,7 +49,7 @@ npm test -- --strict # a skipped file fails the run
npm run size # raw + brotli (q11) size of every browser file
node scripts/build-theme-loader.js
node scripts/build-styles.js
--python3 scripts/build-nav-icons.py --font …/fa-solid-900.woff2 --css …/fontawesome.min.css
++node scripts/build-navbar-icons.js # the bar's icons and the ring solids, from glyphs.js
node scripts/create-site.js my-site
```
@@@ -82,8 +84,10 @@ skipped (and shown as ○, never passed) when Chrome is absent. `test/run.js` us
- **Generated blocks are committed:** navbar and theme-loader generated blocks are regenerated by
their scripts and checked by tests. Never hand-edit a generated CSS/JS block.
- **Content-hashed assets only** (`assets.js`, `serve.url`); never add `?v=` by hand.
--- **Glyph rules:** draw icons from the one registry (`glyphs.js`); a place whose glyph test forbids
-- Font Awesome markup must not use it. Emoji and Font Awesome classes are mapped through `fromFa`.
++- **Glyph rules:** draw icons from the one registry (`glyphs.js`) with OpenVibe's own markup:
++ `<i data-ov-icon="eye">`, `<i data-ov-brand="github">` (`glyphs.markup()` on a server, `OVGlyphs.icon()` in a
++ page). Never add Font Awesome markup; `scripts/fa-to-ov.js` rewrites what is left, and a later release drops the
++ Font Awesome names entirely. No drawing comes from another icon set.
- **CSS is phone first:** the Frame and Kit styles start at the 390 px layout; test a phone width
before a desktop one.
- **Motion rule ("Calm reduces, only Off removes"):** reduced motion reduces animation; it does not
ddiff --git a/CHANGELOG.md b/CHANGELOG.md
iindex e3ca7e7..13e75ce 100644
---- a/CHANGELOG.md
++++ b/CHANGELOG.md
@@@ -1,5 +1,31 @@
# Changelog
++## 4.231.0 — 2026-11-12
++
++**OpenVibe's own icons, and no Font Awesome drawing left** (the owner, 11-12: "make sure no remnants of font awesome or
++other libraries are still being used rather than our openvibe.design systems").
++
++- **The ring icons' solids are the glyphs' own.** Nine product icons (Network, Live, Tools, Media, Games, Community,
++ Chat, Domains, Bench) drew Font Awesome outlines as their solid twin. Each is now the solid drawing of the glyph
++ that stands for it, on the same 24-unit grid as the line drawings. Exchange keeps its line drawing until `swap` has
++ a solid. `scripts/build-navbar-icons.js` writes them from `glyphs.js` and refuses any drawing that is not a glyph.
++- **The generator that read Font Awesome's font is gone** (`scripts/build-nav-icons.py`; `npm run build:icons` is
++ `build-navbar-icons.js`). The bar's dead 512-grid path in `navbar.js` went with it.
++- **OpenVibe's own markup:**
++ - `<i data-ov-icon="eye">` names any glyph and `<i data-ov-brand="github">` any logo, drawn by `ov-glyphs.js`;
++ - classes `ovg-xs` … `ovg-3x`, `ovg-fw`, `ovg-rotate-*`, `ovg-flip-h`/`-v` and `ovg-fill` (what `fa-solid` did);
++ - `OVGlyphs.icon()`, `.html()` and `.has()` in a page, and `glyphs.markup()` on a server;
++ - the drop-in now carries every glyph (287), and the navbar loads it for this markup too.
++- **The bar draws glyph names:** a name the bar's set lacks is drawn as `<i data-ov-icon>`, never as Font Awesome.
++- **`scripts/fa-to-ov.js`** rewrites a repository's static Font Awesome markup into `data-ov-icon` / `data-ov-brand`.
++ It keeps each attribute's own quote, and running it twice changes nothing. It lists what a person has to decide
++ (names built at run time, JS class strings, CSS rules, animations, unknown names). `glyphs.fromFaClasses()` is its
++ mapping.
++- **Names that drew nothing now draw their glyph:** `arrow-rotate-left`, `chart-pie`, `book-skull`, `crosshairs`,
++ `location-crosshairs`, `satellite`, `globe-americas`, `street-view`, `magnifying-glass-location`, `apple-whole`,
++ `backpack`, `shield-heart`, `openstreetmap`; and the logos `reddit-alien` and `kickstarter-k`.
++- Test `fa-to-ov`.
++
## 4.230.0 — 2026-11-12
- **OpenVibe's own controls on every site** (the owner, 11-12: "improve the selection boxes to use a more customized look integrated into openvibe.design and themed better with animations and effects for all inputs and buttons"). `ov-forms.css` now draws every checkbox and radio: a rounded box whose check pops in, and a ring whose dot grows. The mark is the box's own `::before` (a clip-path check, scaled), so no picture is fetched. Both lift their border on hover, squeeze on a press and glow with focus; the mixed state is a bar; disabled is faded. A switch (`role="switch"`) glows when on, its knob squeezes when pressed, and it has a focus ring. Buttons answer a press, and text fields, text areas and selects glow in the accent with focus. Everything is `:where()`, so a site's own rule wins; `data-ov-native` keeps the browser's control; motion follows the person (Calm slower, Off moves nothing).
ddiff --git a/README.md b/README.md
iindex 0d3dca9..94660a1 100644
---- a/README.md
++++ b/README.md
@@@ -5,7 +5,7 @@
**Docs:** https://openvibe.services · **For AI:** https://openvibe.network/llms.txt
**Install and test:** `npm ci && npm test`
--**Status:** alpha, v4.230.0 (every release is a tag; see [CHANGELOG.md](CHANGELOG.md)). Every deployed
++**Status:** alpha, v4.231.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.
@@@ -581,9 +581,23 @@ breakdown and status classes in `getStats` and `getBotAnalysis` include the coun
Never `express.static` the whole package directory. It also holds server code, tests and
scripts.
++**Icons: OpenVibe's own markup (4.231.0).** Every icon is an OpenVibe glyph (openvibe.design/icons):
++
++```html
++<i data-ov-icon="live"></i> <!-- any glyph by name; a title names it to screen readers -->
++<i data-ov-icon="eye" class="ovg-lg ovg-fw"></i> <!-- ovg-xs … ovg-3x, ovg-fw, ovg-rotate-*, ovg-flip-h/-v, ovg-fill -->
++<i data-ov-brand="github"></i> <!-- a brand logo (brands.js, Simple Icons) -->
++```
++
++`ov-glyphs.js` draws them (the navbar loads it on any page that shows one); `OVGlyphs.icon('live', { title })` makes
++one in a page, `require('openvibe-shared/glyphs').markup('live')` writes one on a server. Font Awesome markup is still
++drawn with the glyph its name maps to while sites move: `node node_modules/openvibe-shared/scripts/fa-to-ov.js
++--write` rewrites a repository's static markup and lists what a person has to change (names built at run time, JS
++class strings, CSS rules, animations).
++
**navbar.js and `nav-icons.js`.** navbar.js draws the icons for its own rows inline. The rest
--of the Font Awesome glyph set sites name in `links`, `chips` and menu sections lives in
--`nav-icons.js`. navbar.js fetches that file once, after first paint, from **the same directory
++of the bar's set (OpenVibe glyphs, keyed by the names sites pass in `links`, `chips` and menu sections) lives in
++`nav-icons.js`; a glyph name the set lacks is drawn as `<i data-ov-icon>` by `ov-glyphs.js`. navbar.js fetches that file once, after first paint, from **the same directory
navbar.js was loaded from**, as `nav-icons.js?v=<first 12 hex of its sha256>`. It falls back to
`https://openvibe.network/shared/` when navbar.js is bundled or inlined.
@@@ -1078,7 +1092,7 @@ npm ci
npm test # every test/*.test.js (fnm exec --using=22.22.1 npm test)
npm test -- navbar # only matching files
npm run size # raw + brotli (q11) size of every browser file
--python3 scripts/build-nav-icons.py --font …/fa-solid-900.woff2 --css …/fontawesome.min.css
++node scripts/build-navbar-icons.js # the bar's icons and the ring solids, from glyphs.js
node scripts/build-theme-loader.js
```
ddiff --git a/STATUS.json b/STATUS.json
iindex 02491f6..d7d95e9 100644
---- a/STATUS.json
++++ b/STATUS.json
@@@ -4,7 +4,7 @@
"code": true,
"wave": "W2",
"package": "openvibe-shared",
-- "version": "4.230.0",
++ "version": "4.231.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/brands.js b/brands.js
iindex 31fd8b1..51a6e2f 100644
---- a/brands.js
++++ b/brands.js
@@@ -15,7 +15,7 @@
else root.OVBrands = api;
})(typeof globalThis !== 'undefined' ? globalThis : this, function () {
const BRANDS = {"android":{"title":"Android","hex":"#3ddc84","path":"M18.4395 5.5586c-.675 1.1664-1.352 2.3318-2.0274 3.498-.0366-.0155-.0742-.0286-.1113-.043-1.8249-.6957-3.484-.8-4.42-.787-1.8551.0185-3.3544.4643-4.2597.8203-.084-.1494-1.7526-3.021-2.0215-3.4864a1.1451 1.1451 0 0 0-.1406-.1914c-.3312-.364-.9054-.4859-1.379-.203-.475.282-.7136.9361-.3886 1.5019 1.9466 3.3696-.0966-.2158 1.9473 3.3593.0172.031-.4946.2642-1.3926 1.0177C2.8987 12.176.452 14.772 0 18.9902h24c-.119-1.1108-.3686-2.099-.7461-3.0683-.7438-1.9118-1.8435-3.2928-2.7402-4.1836a12.1048 12.1048 0 0 0-2.1309-1.6875c.6594-1.122 1.312-2.2559 1.9649-3.3848.2077-.3615.1886-.7956-.0079-1.1191a1.1001 1.1001 0 0 0-.8515-.5332c-.5225-.0536-.9392.3128-1.0488.5449zm-.0391 8.461c.3944.5926.324 1.3306-.1563 1.6503-.4799.3197-1.188.0985-1.582-.4941-.3944-.5927-.324-1.3307.1563-1.6504.4727-.315 1.1812-.1086 1.582.4941zM7.207 13.5273c.4803.3197.5506 1.0577.1563 1.6504-.394.5926-1.1038.8138-1.584.4941-.48-.3197-.5503-1.0577-.1563-1.6504.4008-.6021 1.1087-.8106 1.584-.4941z"},"apple":{"title":"Apple","hex":"#000000","path":"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701"},"bitcoin":{"title":"Bitcoin","hex":"#f7931a","path":"M23.638 14.904c-1.602 6.43-8.113 10.34-14.542 8.736C2.67 22.05-1.244 15.525.362 9.105 1.962 2.67 8.475-1.243 14.9.358c6.43 1.605 10.342 8.115 8.738 14.548v-.002zm-6.35-4.613c.24-1.59-.974-2.45-2.64-3.03l.54-2.153-1.315-.33-.525 2.107c-.345-.087-.705-.167-1.064-.25l.526-2.127-1.32-.33-.54 2.165c-.285-.067-.565-.132-.84-.2l-1.815-.45-.35 1.407s.975.225.955.236c.535.136.63.486.615.766l-1.477 5.92c-.075.166-.24.406-.614.314.015.02-.96-.24-.96-.24l-.66 1.51 1.71.426.93.242-.54 2.19 1.32.327.54-2.17c.36.1.705.19 1.05.273l-.51 2.154 1.32.33.545-2.19c2.24.427 3.93.257 4.64-1.774.57-1.637-.03-2.58-1.217-3.196.854-.193 1.5-.76 1.68-1.93h.01zm-3.01 4.22c-.404 1.64-3.157.75-4.05.53l.72-2.9c.896.23 3.757.67 3.33 2.37zm.41-4.24c-.37 1.49-2.662.735-3.405.55l.654-2.64c.744.18 3.137.524 2.75 2.084v.006z"},"bluesky":{"title":"Bluesky","hex":"#1185fe","path":"M5.202 2.857C7.954 4.922 10.913 9.11 12 11.358c1.087-2.247 4.046-6.436 6.798-8.501C20.783 1.366 24 .213 24 3.883c0 .732-.42 6.156-.667 7.037-.856 3.061-3.978 3.842-6.755 3.37 4.854.826 6.089 3.562 3.422 6.299-5.065 5.196-7.28-1.304-7.847-2.97-.104-.305-.152-.448-.153-.327 0-.121-.05.022-.153.327-.568 1.666-2.782 8.166-7.847 2.97-2.667-2.737-1.432-5.473 3.422-6.3-2.777.473-5.899-.308-6.755-3.369C.42 10.04 0 4.615 0 3.883c0-3.67 3.217-2.517 5.202-1.026"},"brave":{"title":"Brave","hex":"#fb542b","path":"M15.68 0l2.096 2.38s1.84-.512 2.709.358c.868.87 1.584 1.638 1.584 1.638l-.562 1.381.715 2.047s-2.104 7.98-2.35 8.955c-.486 1.919-.818 2.66-2.198 3.633-1.38.972-3.884 2.66-4.293 2.916-.409.256-.92.692-1.38.692-.46 0-.97-.436-1.38-.692a185.796 185.796 0 01-4.293-2.916c-1.38-.973-1.712-1.714-2.197-3.633-.247-.975-2.351-8.955-2.351-8.955l.715-2.047-.562-1.381s.716-.768 1.585-1.638c.868-.87 2.708-.358 2.708-.358L8.321 0h7.36zm-3.679 14.936c-.14 0-1.038.317-1.758.69-.72.373-1.242.637-1.409.742-.167.104-.065.301.087.409.152.107 2.194 1.69 2.393 1.866.198.175.489.464.687.464.198 0 .49-.29.688-.464.198-.175 2.24-1.759 2.392-1.866.152-.108.254-.305.087-.41-.167-.104-.689-.368-1.41-.741-.72-.373-1.617-.69-1.757-.69zm0-11.278s-.409.001-1.022.206-1.278.46-1.584.46c-.307 0-2.581-.434-2.581-.434S4.119 7.152 4.119 7.849c0 .697.339.881.68 1.243l2.02 2.149c.192.203.59.511.356 1.066-.235.555-.58 1.26-.196 1.977.384.716 1.042 1.194 1.464 1.115.421-.08 1.412-.598 1.776-.834.364-.237 1.518-1.19 1.518-1.554 0-.365-1.193-1.02-1.413-1.168-.22-.15-1.226-.725-1.247-.95-.02-.227-.012-.293.284-.851.297-.559.831-1.304.742-1.8-.089-.495-.95-.753-1.565-.986-.615-.232-1.799-.671-1.947-.74-.148-.068-.11-.133.339-.175.448-.043 1.719-.212 2.292-.052.573.16 1.552.403 1.632.532.079.13.149.134.067.579-.081.445-.5 2.581-.541 2.96-.04.38-.12.63.288.724.409.094 1.097.256 1.333.256s.924-.162 1.333-.256c.408-.093.329-.344.288-.723-.04-.38-.46-2.516-.541-2.961-.082-.445-.012-.45.067-.579.08-.129 1.059-.372 1.632-.532.573-.16 1.845.009 2.292.052.449.042.487.107.339.175-.148.069-1.332.508-1.947.74-.615.233-1.476.49-1.565.986-.09.496.445 1.241.742 1.8.297.558.304.624.284.85-.02.226-1.026.802-1.247.95-.22.15-1.413.804-1.413 1.169 0 .364 1.154 1.317 1.518 1.554.364.236 1.355.755 1.776.834.422.079 1.08-.4 1.464-1.115.384-.716.039-1.422-.195-1.977-.235-.555.163-.863.355-1.066l2.02-2.149c.341-.362.68-.546.68-1.243 0-.697-2.695-3.96-2.695-3.96s-2.274.436-2.58.436c-.307 0-.972-.256-1.585-.461-.613-.205-1.022-.206-1.022-.206z"},"cloudflare":{"title":"Cloudflare","hex":"#f38020","path":"M16.5088 16.8447c.1475-.5068.0908-.9707-.1553-1.3154-.2246-.3164-.6045-.499-1.0615-.5205l-8.6592-.1123a.1559.1559 0 0 1-.1333-.0713c-.0283-.042-.0351-.0986-.021-.1553.0278-.084.1123-.1484.2036-.1562l8.7359-.1123c1.0351-.0489 2.1601-.8868 2.5537-1.9136l.499-1.3013c.0215-.0561.0293-.1128.0147-.168-.5625-2.5463-2.835-4.4453-5.5499-4.4453-2.5039 0-4.6284 1.6177-5.3876 3.8614-.4927-.3658-1.1187-.5625-1.794-.499-1.2026.119-2.1665 1.083-2.2861 2.2856-.0283.31-.0069.6128.0635.894C1.5683 13.171 0 14.7754 0 16.752c0 .1748.0142.3515.0352.5273.0141.083.0844.1475.1689.1475h15.9814c.0909 0 .1758-.0645.2032-.1553l.12-.4268zm2.7568-5.5634c-.0771 0-.1611 0-.2383.0112-.0566 0-.1054.0415-.127.0976l-.3378 1.1744c-.1475.5068-.0918.9707.1543 1.3164.2256.3164.6055.498 1.0625.5195l1.8437.1133c.0557 0 .1055.0263.1329.0703.0283.043.0351.1074.0214.1562-.0283.084-.1132.1485-.204.1553l-1.921.1123c-1.041.0488-2.1582.8867-2.5527 1.914l-.1406.3585c-.0283.0713.0215.1416.0986.1416h6.5977c.0771 0 .1474-.0489.169-.126.1122-.4082.1757-.837.1757-1.2803 0-2.6025-2.125-4.727-4.7344-4.727"},"discord":{"title":"Discord","hex":"#5865f2","path":"M20.317 4.3698a19.7913 19.7913 0 00-4.8851-1.5152.0741.0741 0 00-.0785.0371c-.211.3753-.4447.8648-.6083 1.2495-1.8447-.2762-3.68-.2762-5.4868 0-.1636-.3933-.4058-.8742-.6177-1.2495a.077.077 0 00-.0785-.037 19.7363 19.7363 0 00-4.8852 1.515.0699.0699 0 00-.0321.0277C.5334 9.0458-.319 13.5799.0992 18.0578a.0824.0824 0 00.0312.0561c2.0528 1.5076 4.0413 2.4228 5.9929 3.0294a.0777.0777 0 00.0842-.0276c.4616-.6304.8731-1.2952 1.226-1.9942a.076.076 0 00-.0416-.1057c-.6528-.2476-1.2743-.5495-1.8722-.8923a.077.077 0 01-.0076-.1277c.1258-.0943.2517-.1923.3718-.2914a.0743.0743 0 01.0776-.0105c3.9278 1.7933 8.18 1.7933 12.0614 0a.0739.0739 0 01.0785.0095c.1202.099.246.1981.3728.2924a.077.077 0 01-.0066.1276 12.2986 12.2986 0 01-1.873.8914.0766.0766 0 00-.0407.1067c.3604.698.7719 1.3628 1.225 1.9932a.076.076 0 00.0842.0286c1.961-.6067 3.9495-1.5219 6.0023-3.0294a.077.077 0 00.0313-.0552c.5004-5.177-.8382-9.6739-3.5485-13.6604a.061.061 0 00-.0312-.0286zM8.02 15.3312c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9555-2.4189 2.157-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.9555 2.4189-2.1569 2.4189zm7.9748 0c-1.1825 0-2.1569-1.0857-2.1569-2.419 0-1.3332.9554-2.4189 2.1569-2.4189 1.2108 0 2.1757 1.0952 2.1568 2.419 0 1.3332-.946 2.4189-2.1568 2.4189Z"},"docker":{"title":"Docker","hex":"#2496ed","path":"M13.983 11.078h2.119a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.119a.185.185 0 00-.185.185v1.888c0 .102.083.185.185.185m-2.954-5.43h2.118a.186.186 0 00.186-.186V3.574a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m0 2.716h2.118a.187.187 0 00.186-.186V6.29a.186.186 0 00-.186-.185h-2.118a.185.185 0 00-.185.185v1.887c0 .102.082.185.185.186m-2.93 0h2.12a.186.186 0 00.184-.186V6.29a.185.185 0 00-.185-.185H8.1a.185.185 0 00-.185.185v1.887c0 .102.083.185.185.186m-2.964 0h2.119a.186.186 0 00.185-.186V6.29a.185.185 0 00-.185-.185H5.136a.186.186 0 00-.186.185v1.887c0 .102.084.185.186.186m5.893 2.715h2.118a.186.186 0 00.186-.185V9.006a.186.186 0 00-.186-.186h-2.118a.185.185 0 00-.185.185v1.888c0 .102.082.185.185.185m-2.93 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.083.185.185.185m-2.964 0h2.119a.185.185 0 00.185-.185V9.006a.185.185 0 00-.184-.186h-2.12a.186.186 0 00-.186.186v1.887c0 .102.084.185.186.185m-2.92 0h2.12a.185.185 0 00.184-.185V9.006a.185.185 0 00-.184-.186h-2.12a.185.185 0 00-.184.185v1.888c0 .102.082.185.185.185M23.763 9.89c-.065-.051-.672-.51-1.954-.51-.338.001-.676.03-1.01.087-.248-1.7-1.653-2.53-1.716-2.566l-.344-.199-.226.327c-.284.438-.49.922-.612 1.43-.23.97-.09 1.882.403 2.661-.595.332-1.55.413-1.744.42H.751a.751.751 0 00-.75.748 11.376 11.376 0 00.692 4.062c.545 1.428 1.355 2.48 2.41 3.124 1.18.723 3.1 1.137 5.275 1.137.983.003 1.963-.086 2.93-.266a12.248 12.248 0 003.823-1.389c.98-.567 1.86-1.288 2.61-2.136 1.252-1.418 1.998-2.997 2.553-4.4h.221c1.372 0 2.215-.549 2.68-1.009.309-.293.55-.65.707-1.046l.098-.288Z"},"ethereum":{"title":"Ethereum","hex":"#3c3c3d","path":"M11.944 17.97L4.58 13.62 11.943 24l7.37-10.38-7.372 4.35h.003zM12.056 0L4.69 12.223l7.365 4.354 7.365-4.35L12.056 0z"},"facebook":{"title":"Facebook","hex":"#0866ff","path":"M9.101 23.691v-7.98H6.627v-3.667h2.474v-1.58c0-4.085 1.848-5.978 5.858-5.978.401 0 .955.042 1.468.103a8.68 8.68 0 0 1 1.141.195v3.325a8.623 8.623 0 0 0-.653-.036 26.805 26.805 0 0 0-.733-.009c-.707 0-1.259.096-1.675.309a1.686 1.686 0 0 0-.679.622c-.258.42-.374.995-.374 1.752v1.297h3.919l-.386 2.103-.287 1.564h-3.246v8.245C19.396 23.238 24 18.179 24 12.044c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.628 3.874 10.35 9.101 11.647Z"},"firefoxbrowser":{"title":"Firefox Browser","hex":"#ff7139","path":"M8.824 7.287c.008 0 .004 0 0 0zm-2.8-1.4c.006 0 .003 0 0 0zm16.754 2.161c-.505-1.215-1.53-2.528-2.333-2.943.654 1.283 1.033 2.57 1.177 3.53l.002.02c-1.314-3.278-3.544-4.6-5.366-7.477-.091-.147-.184-.292-.273-.446a3.545 3.545 0 01-.13-.24 2.118 2.118 0 01-.172-.46.03.03 0 00-.027-.03.038.038 0 00-.021 0l-.006.001a.037.037 0 00-.01.005L15.624 0c-2.585 1.515-3.657 4.168-3.932 5.856a6.197 6.197 0 00-2.305.587.297.297 0 00-.147.37c.057.162.24.24.396.17a5.622 5.622 0 012.008-.523l.067-.005a5.847 5.847 0 011.957.222l.095.03a5.816 5.816 0 01.616.228c.08.036.16.073.238.112l.107.055a5.835 5.835 0 01.368.211 5.953 5.953 0 012.034 2.104c-.62-.437-1.733-.868-2.803-.681 4.183 2.09 3.06 9.292-2.737 9.02a5.164 5.164 0 01-1.513-.292 4.42 4.42 0 01-.538-.232c-1.42-.735-2.593-2.121-2.74-3.806 0 0 .537-2 3.845-2 .357 0 1.38-.998 1.398-1.287-.005-.095-2.029-.9-2.817-1.677-.422-.416-.622-.616-.8-.767a3.47 3.47 0 00-.301-.227 5.388 5.388 0 01-.032-2.842c-1.195.544-2.124 1.403-2.8 2.163h-.006c-.46-.584-.428-2.51-.402-2.913-.006-.025-.343.176-.389.206-.406.29-.787.616-1.136.974-.397.403-.76.839-1.085 1.303a9.816 9.816 0 00-1.562 3.52c-.003.013-.11.487-.19 1.073-.013.09-.026.181-.037.272a7.8 7.8 0 00-.069.667l-.002.034-.023.387-.001.06C.386 18.795 5.593 24 12.016 24c5.752 0 10.527-4.176 11.463-9.661.02-.149.035-.298.052-.448.232-1.994-.025-4.09-.753-5.844z"},"github":{"title":"GitHub","hex":"#181717","path":"M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"},"gitlab":{"title":"GitLab","hex":"#fc6d26","path":"m23.6004 9.5927-.0337-.0862L20.3.9814a.851.851 0 0 0-.3362-.405.8748.8748 0 0 0-.9997.0539.8748.8748 0 0 0-.29.4399l-2.2055 6.748H7.5375l-2.2057-6.748a.8573.8573 0 0 0-.29-.4412.8748.8748 0 0 0-.9997-.0537.8585.8585 0 0 0-.3362.4049L.4332 9.5015l-.0325.0862a6.0657 6.0657 0 0 0 2.0119 7.0105l.0113.0087.03.0213 4.976 3.7264 2.462 1.8633 1.4995 1.1321a1.0085 1.0085 0 0 0 1.2197 0l1.4995-1.1321 2.4619-1.8633 5.006-3.7489.0125-.01a6.0682 6.0682 0 0 0 2.0094-7.003z"},"google":{"title":"Google","hex":"#4285f4","path":"M12.48 10.92v3.28h7.84c-.24 1.84-.853 3.187-1.787 4.133-1.147 1.147-2.933 2.4-6.053 2.4-4.827 0-8.6-3.893-8.6-8.72s3.773-8.72 8.6-8.72c2.6 0 4.507 1.027 5.907 2.347l2.307-2.307C18.747 1.44 16.133 0 12.48 0 5.867 0 .307 5.387.307 12s5.56 12 12.173 12c3.573 0 6.267-1.173 8.373-3.36 2.16-2.16 2.84-5.213 2.84-7.667 0-.76-.053-1.467-.173-2.053H12.48z"},"googlechrome":{"title":"Google Chrome","hex":"#4285f4","path":"M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z"},"instagram":{"title":"Instagram","hex":"#ff0069","path":"M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077"},"kick":{"title":"Kick","hex":"#53fc19","path":"M1.333 0h8v5.333H12V2.667h2.667V0h8v8H20v2.667h-2.667v2.666H20V16h2.667v8h-8v-2.667H12v-2.666H9.333V24h-8Z"},"kickstarter":{"title":"Kickstarter","hex":"#05ce78","path":"M7.168 0c-3.2 0-5.797 2.579-5.797 5.758v12.484C1.371 21.42 3.968 24 7.168 24c1.981 0 3.716-.978 4.768-2.479l.794.79c2.26 2.245 5.943 2.245 8.203 0a5.724 5.724 0 001.696-4.075 5.724 5.724 0 00-1.696-4.074l-2.182-2.168 2.182-2.156a5.724 5.724 0 001.696-4.074 5.724 5.724 0 00-1.696-4.074c-2.26-2.246-5.942-2.246-8.203 0l-.794.789A5.797 5.797 0 007.168 0Z"},"line":{"title":"LINE","hex":"#00c300","path":"M19.365 9.863c.349 0 .63.285.63.631 0 .345-.281.63-.63.63H17.61v1.125h1.755c.349 0 .63.283.63.63 0 .344-.281.629-.63.629h-2.386c-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63h2.386c.346 0 .627.285.627.63 0 .349-.281.63-.63.63H17.61v1.125h1.755zm-3.855 3.016c0 .27-.174.51-.432.596-.064.021-.133.031-.199.031-.211 0-.391-.09-.51-.25l-2.443-3.317v2.94c0 .344-.279.629-.631.629-.346 0-.626-.285-.626-.629V8.108c0-.27.173-.51.43-.595.06-.023.136-.033.194-.033.195 0 .375.104.495.254l2.462 3.33V8.108c0-.345.282-.63.63-.63.345 0 .63.285.63.63v4.771zm-5.741 0c0 .344-.282.629-.631.629-.345 0-.627-.285-.627-.629V8.108c0-.345.282-.63.63-.63.346 0 .628.285.628.63v4.771zm-2.466.629H4.917c-.345 0-.63-.285-.63-.629V8.108c0-.345.285-.63.63-.63.348 0 .63.285.63.63v4.141h1.756c.348 0 .629.283.629.63 0 .344-.282.629-.629.629M24 10.314C24 4.943 18.615.572 12 .572S0 4.943 0 10.314c0 4.811 4.27 8.842 10.035 9.608.391.082.923.258 1.058.59.12.301.079.766.038 1.08l-.164 1.02c-.045.301-.24 1.186 1.049.645 1.291-.539 6.916-4.078 9.436-6.975C23.176 14.393 24 12.458 24 10.314"},"linux":{"title":"Linux","hex":"#fcc624","path":"M12.504 0c-.155 0-.315.008-.48.021-4.226.333-3.105 4.807-3.17 6.298-.076 1.092-.3 1.953-1.05 3.02-.885 1.051-2.127 2.75-2.716 4.521-.278.832-.41 1.684-.287 2.489a.424.424 0 00-.11.135c-.26.268-.45.6-.663.839-.199.199-.485.267-.797.4-.313.136-.658.269-.864.68-.09.189-.136.394-.132.602 0 .199.027.4.055.536.058.399.116.728.04.97-.249.68-.28 1.145-.106 1.484.174.334.535.47.94.601.81.2 1.91.135 2.774.6.926.466 1.866.67 2.616.47.526-.116.97-.464 1.208-.946.587-.003 1.23-.269 2.26-.334.699-.058 1.574.267 2.577.2.025.134.063.198.114.333l.003.003c.391.778 1.113 1.132 1.884 1.071.771-.06 1.592-.536 2.257-1.306.631-.765 1.683-1.084 2.378-1.503.348-.199.629-.469.649-.853.023-.4-.2-.811-.714-1.376v-.097l-.003-.003c-.17-.2-.25-.535-.338-.926-.085-.401-.182-.786-.492-1.046h-.003c-.059-.054-.123-.067-.188-.135a.357.357 0 00-.19-.064c.431-1.278.264-2.55-.173-3.694-.533-1.41-1.465-2.638-2.175-3.483-.796-1.005-1.576-1.957-1.56-3.368.026-2.152.236-6.133-3.544-6.139zm.529 3.405h.013c.213 0 .396.062.584.198.19.135.33.332.438.533.105.259.158.459.166.724 0-.02.006-.04.006-.06v.105a.086.086 0 01-.004-.021l-.004-.024a1.807 1.807 0 01-.15.706.953.953 0 01-.213.335.71.71 0 00-.088-.042c-.104-.045-.198-.064-.284-.133a1.312 1.312 0 00-.22-.066c.05-.06.146-.133.183-.198.053-.128.082-.264.088-.402v-.02a1.21 1.21 0 00-.061-.4c-.045-.134-.101-.2-.183-.333-.084-.066-.167-.132-.267-.132h-.016c-.093 0-.176.03-.262.132a.8.8 0 00-.205.334 1.18 1.18 0 00-.09.4v.019c.002.089.008.179.02.267-.193-.067-.438-.135-.607-.202a1.635 1.635 0 01-.018-.2v-.02a1.772 1.772 0 01.15-.768c.082-.22.232-.406.43-.533a.985.985 0 01.594-.2zm-2.962.059h.036c.142 0 .27.048.399.135.146.129.264.288.344.465.09.199.14.4.153.667v.004c.007.134.006.2-.002.266v.08c-.03.007-.056.018-.083.024-.152.055-.274.135-.393.2.012-.09.013-.18.003-.267v-.015c-.012-.133-.04-.2-.082-.333a.613.613 0 00-.166-.267.248.248 0 00-.183-.064h-.021c-.071.006-.13.04-.186.132a.552.552 0 00-.12.27.944.944 0 00-.023.33v.015c.012.135.037.2.08.334.046.134.098.2.166.268.01.009.02.018.034.024-.07.057-.117.07-.176.136a.304.304 0 01-.131.068 2.62 2.62 0 01-.275-.402 1.772 1.772 0 01-.155-.667 1.759 1.759 0 01.08-.668 1.43 1.43 0 01.283-.535c.128-.133.26-.2.418-.2zm1.37 1.706c.332 0 .733.065 1.216.399.293.2.523.269 1.052.468h.003c.255.136.405.266.478.399v-.131a.571.571 0 01.016.47c-.123.31-.516.643-1.063.842v.002c-.268.135-.501.333-.775.465-.276.135-.588.292-1.012.267a1.139 1.139 0 01-.448-.067 3.566 3.566 0 01-.322-.198c-.195-.135-.363-.332-.612-.465v-.005h-.005c-.4-.246-.616-.512-.686-.71-.07-.268-.005-.47.193-.6.224-.135.38-.271.483-.336.104-.074.143-.102.176-.131h.002v-.003c.169-.202.436-.47.839-.601.139-.036.294-.065.466-.065zm2.8 2.142c.358 1.417 1.196 3.475 1.735 4.473.286.534.855 1.659 1.102 3.024.156-.005.33.018.513.064.646-1.671-.546-3.467-1.089-3.966-.22-.2-.232-.335-.123-.335.59.534 1.365 1.572 1.646 2.757.13.535.16 1.104.021 1.67.067.028.135.06.205.067 1.032.534 1.413.938 1.23 1.537v-.043c-.06-.003-.12 0-.18 0h-.016c.151-.467-.182-.825-1.065-1.224-.915-.4-1.646-.336-1.77.465-.008.043-.013.066-.018.135-.068.023-.139.053-.209.064-.43.268-.662.669-.793 1.187-.13.533-.17 1.156-.205 1.869v.003c-.02.334-.17.838-.319 1.35-1.5 1.072-3.58 1.538-5.348.334a2.645 2.645 0 00-.402-.533 1.45 1.45 0 00-.275-.333c.182 0 .338-.03.465-.067a.615.615 0 00.314-.334c.108-.267 0-.697-.345-1.163-.345-.467-.931-.995-1.788-1.521-.63-.4-.986-.87-1.15-1.396-.165-.534-.143-1.085-.015-1.645.245-1.07.873-2.11 1.274-2.763.107-.065.037.135-.408.974-.396.751-1.14 2.497-.122 3.854a8.123 8.123 0 01.647-2.876c.564-1.278 1.743-3.504 1.836-5.268.048.036.217.135.289.202.218.133.38.333.59.465.21.201.477.335.876.335.039.003.075.006.11.006.412 0 .73-.134.997-.268.29-.134.52-.334.74-.4h.005c.467-.135.835-.402 1.044-.7zm2.185 8.958c.037.6.343 1.245.882 1.377.588.134 1.434-.333 1.791-.765l.211-.01c.315-.007.577.01.847.268l.003.003c.208.199.305.53.391.876.085.4.154.78.409 1.066.486.527.645.906.636 1.14l.003-.007v.018l-.003-.012c-.015.262-.185.396-.498.595-.63.401-1.746.712-2.457 1.57-.618.737-1.37 1.14-2.036 1.191-.664.053-1.237-.2-1.574-.898l-.005-.003c-.21-.4-.12-1.025.056-1.69.176-.668.428-1.344.463-1.897.037-.714.076-1.335.195-1.814.12-.465.308-.797.641-.984l.045-.022zm-10.814.049h.01c.053 0 .105.005.157.014.376.055.706.333 1.023.752l.91 1.664.003.003c.243.533.754 1.064 1.189 1.637.434.598.77 1.131.729 1.57v.006c-.057.744-.48 1.148-1.125 1.294-.645.135-1.52.002-2.395-.464-.968-.536-2.118-.469-2.857-.602-.369-.066-.61-.2-.723-.4-.11-.2-.113-.602.123-1.23v-.004l.002-.003c.117-.334.03-.752-.027-1.118-.055-.401-.083-.71.043-.94.16-.334.396-.4.69-.533.294-.135.64-.202.915-.47h.002v-.002c.256-.268.445-.601.668-.838.19-.201.38-.336.663-.336zm7.159-9.074c-.435.201-.945.535-1.488.535-.542 0-.97-.267-1.28-.466-.154-.134-.28-.268-.373-.335-.164-.134-.144-.333-.074-.333.109.016.129.134.199.2.096.066.215.2.36.333.292.2.68.467 1.167.467.485 0 1.053-.267 1.398-.466.195-.135.445-.334.648-.467.156-.136.149-.267.279-.267.128.016.034.134-.147.332a8.097 8.097 0 01-.69.468zm-1.082-1.583V5.64c-.006-.02.013-.042.029-.05.074-.043.18-.027.26.004.063 0 .16.067.15.135-.006.049-.085.066-.135.066-.055 0-.092-.043-.141-.068-.052-.018-.146-.008-.163-.065zm-.551 0c-.02.058-.113.049-.166.066-.047.025-.086.068-.14.068-.05 0-.13-.02-.136-.068-.01-.066.088-.133.15-.133.08-.031.184-.047.259-.005.019.009.036.03.03.05v.02h.003z"},"mastodon":{"title":"Mastodon","hex":"#6364ff","path":"M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z"},"matrix":{"title":"Matrix","hex":"#000000","path":"M.632.55v22.9H2.28V24H0V0h2.28v.55zm7.043 7.26v1.157h.033c.309-.443.683-.784 1.117-1.024.433-.245.936-.365 1.5-.365.54 0 1.033.107 1.481.314.448.208.785.582 1.02 1.108.254-.374.6-.706 1.034-.992.434-.287.95-.43 1.546-.43.453 0 .872.056 1.26.167.388.11.716.286.993.53.276.245.489.559.646.951.152.392.23.863.23 1.417v5.728h-2.349V11.52c0-.286-.01-.559-.032-.812a1.755 1.755 0 0 0-.18-.66 1.106 1.106 0 0 0-.438-.448c-.194-.11-.457-.166-.785-.166-.332 0-.6.064-.803.189a1.38 1.38 0 0 0-.48.499 1.946 1.946 0 0 0-.231.696 5.56 5.56 0 0 0-.06.785v4.768h-2.35v-4.8c0-.254-.004-.503-.018-.752a2.074 2.074 0 0 0-.143-.688 1.052 1.052 0 0 0-.415-.503c-.194-.125-.476-.19-.854-.19-.111 0-.259.024-.439.074-.18.051-.36.143-.53.282-.171.138-.319.337-.439.595-.12.259-.18.6-.18 1.02v4.966H5.46V7.81zm15.693 15.64V.55H21.72V0H24v24h-2.28v-.55z"},"medium":{"title":"Medium","hex":"#000000","path":"M4.21 0A4.201 4.201 0 0 0 0 4.21v15.58A4.201 4.201 0 0 0 4.21 24h15.58A4.201 4.201 0 0 0 24 19.79v-1.093c-.137.013-.278.02-.422.02-2.577 0-4.027-2.146-4.09-4.832a7.592 7.592 0 0 1 .022-.708c.093-1.186.475-2.241 1.105-3.022a3.885 3.885 0 0 1 1.395-1.1c.468-.237 1.127-.367 1.664-.367h.023c.101 0 .202.004.303.01V4.211A4.201 4.201 0 0 0 19.79 0Zm.198 5.583h4.165l3.588 8.435 3.59-8.435h3.864v.146l-.019.004c-.705.16-1.063.397-1.063 1.254h-.003l.003 10.274c.06.676.424.885 1.063 1.03l.02.004v.145h-4.923v-.145l.019-.005c.639-.144.994-.353 1.054-1.03V7.267l-4.745 11.15h-.261L6.15 7.569v9.445c0 .857.358 1.094 1.063 1.253l.02.004v.147H4.405v-.147l.019-.004c.705-.16 1.065-.397 1.065-1.253V6.987c0-.857-.358-1.094-1.064-1.254l-.018-.004zm19.25 3.668c-1.086.023-1.733 1.323-1.813 3.124H24V9.298a1.378 1.378 0 0 0-.342-.047Zm-1.862 3.632c-.1 1.756.86 3.239 2.204 3.634v-3.634z"},"nodedotjs":{"title":"Node.js","hex":"#5fa04e","path":"M11.998,24c-0.321,0-0.641-0.084-0.922-0.247l-2.936-1.737c-0.438-0.245-0.224-0.332-0.08-0.383 c0.585-0.203,0.703-0.25,1.328-0.604c0.065-0.037,0.151-0.023,0.218,0.017l2.256,1.339c0.082,0.045,0.197,0.045,0.272,0l8.795-5.076 c0.082-0.047,0.134-0.141,0.134-0.238V6.921c0-0.099-0.053-0.192-0.137-0.242l-8.791-5.072c-0.081-0.047-0.189-0.047-0.271,0 L3.075,6.68C2.99,6.729,2.936,6.825,2.936,6.921v10.15c0,0.097,0.054,0.189,0.139,0.235l2.409,1.392 c1.307,0.654,2.108-0.116,2.108-0.89V7.787c0-0.142,0.114-0.253,0.256-0.253h1.115c0.139,0,0.255,0.112,0.255,0.253v10.021 c0,1.745-0.95,2.745-2.604,2.745c-0.508,0-0.909,0-2.026-0.551L2.28,18.675c-0.57-0.329-0.922-0.945-0.922-1.604V6.921 c0-0.659,0.353-1.275,0.922-1.603l8.795-5.082c0.557-0.315,1.296-0.315,1.848,0l8.794,5.082c0.57,0.329,0.924,0.944,0.924,1.603 v10.15c0,0.659-0.354,1.273-0.924,1.604l-8.794,5.078C12.643,23.916,12.324,24,11.998,24z M19.099,13.993 c0-1.9-1.284-2.406-3.987-2.763c-2.731-0.361-3.009-0.548-3.009-1.187c0-0.528,0.235-1.233,2.258-1.233 c1.807,0,2.473,0.389,2.747,1.607c0.024,0.115,0.129,0.199,0.247,0.199h1.141c0.071,0,0.138-0.031,0.186-0.081 c0.048-0.054,0.074-0.123,0.067-0.196c-0.177-2.098-1.571-3.076-4.388-3.076c-2.508,0-4.004,1.058-4.004,2.833 c0,1.925,1.488,2.457,3.895,2.695c2.88,0.282,3.103,0.703,3.103,1.269c0,0.983-0.789,1.402-2.642,1.402 c-2.327,0-2.839-0.584-3.011-1.742c-0.02-0.124-0.126-0.215-0.253-0.215h-1.137c-0.141,0-0.254,0.112-0.254,0.253 c0,1.482,0.806,3.248,4.655,3.248C17.501,17.007,19.099,15.91,19.099,13.993z"},"npm":{"title":"npm","hex":"#cb3837","path":"M1.763 0C.786 0 0 .786 0 1.763v20.474C0 23.214.786 24 1.763 24h20.474c.977 0 1.763-.786 1.763-1.763V1.763C24 .786 23.214 0 22.237 0zM5.13 5.323l13.837.019-.009 13.836h-3.464l.01-10.382h-3.456L12.04 19.17H5.113z"},"patreon":{"title":"Patreon","hex":"#000000","path":"M22.957 7.21c-.004-3.064-2.391-5.576-5.191-6.482-3.478-1.125-8.064-.962-11.384.604C2.357 3.231 1.093 7.391 1.046 11.54c-.039 3.411.302 12.396 5.369 12.46 3.765.047 4.326-4.804 6.068-7.141 1.24-1.662 2.836-2.132 4.801-2.618 3.376-.836 5.678-3.501 5.673-7.031Z"},"paypal":{"title":"PayPal","hex":"#002991","path":"M15.607 4.653H8.941L6.645 19.251H1.82L4.862 0h7.995c3.754 0 6.375 2.294 6.473 5.513-.648-.478-2.105-.86-3.722-.86m6.57 5.546c0 3.41-3.01 6.853-6.958 6.853h-2.493L11.595 24H6.74l1.845-11.538h3.592c4.208 0 7.346-3.634 7.153-6.949a5.24 5.24 0 0 1 2.848 4.686M9.653 5.546h6.408c.907 0 1.942.222 2.363.541-.195 2.741-2.655 5.483-6.441 5.483H8.714Z"},"pinterest":{"title":"Pinterest","hex":"#bd081c","path":"M12.017 0C5.396 0 .029 5.367.029 11.987c0 5.079 3.158 9.417 7.618 11.162-.105-.949-.199-2.403.041-3.439.219-.937 1.406-5.957 1.406-5.957s-.359-.72-.359-1.781c0-1.663.967-2.911 2.168-2.911 1.024 0 1.518.769 1.518 1.688 0 1.029-.653 2.567-.992 3.992-.285 1.193.6 2.165 1.775 2.165 2.128 0 3.768-2.245 3.768-5.487 0-2.861-2.063-4.869-5.008-4.869-3.41 0-5.409 2.562-5.409 5.199 0 1.033.394 2.143.889 2.741.099.12.112.225.085.345-.09.375-.293 1.199-.334 1.363-.053.225-.172.271-.401.165-1.495-.69-2.433-2.878-2.433-4.646 0-3.776 2.748-7.252 7.92-7.252 4.158 0 7.392 2.967 7.392 6.923 0 4.135-2.607 7.462-6.233 7.462-1.214 0-2.354-.629-2.758-1.379l-.749 2.848c-.269 1.045-1.004 2.352-1.498 3.146 1.123.345 2.306.535 3.55.535 6.607 0 11.985-5.365 11.985-11.987C23.97 5.39 18.592.026 11.985.026L12.017 0z"},"python":{"title":"Python","hex":"#3776ab","path":"M14.25.18l.9.2.73.26.59.3.45.32.34.34.25.34.16.33.1.3.04.26.02.2-.01.13V8.5l-.05.63-.13.55-.21.46-.26.38-.3.31-.33.25-.35.19-.35.14-.33.1-.3.07-.26.04-.21.02H8.77l-.69.05-.59.14-.5.22-.41.27-.33.32-.27.35-.2.36-.15.37-.1.35-.07.32-.04.27-.02.21v3.06H3.17l-.21-.03-.28-.07-.32-.12-.35-.18-.36-.26-.36-.36-.35-.46-.32-.59-.28-.73-.21-.88-.14-1.05-.05-1.23.06-1.22.16-1.04.24-.87.32-.71.36-.57.4-.44.42-.33.42-.24.4-.16.36-.1.32-.05.24-.01h.16l.06.01h8.16v-.83H6.18l-.01-2.75-.02-.37.05-.34.11-.31.17-.28.25-.26.31-.23.38-.2.44-.18.51-.15.58-.12.64-.1.71-.06.77-.04.84-.02 1.27.05zm-6.3 1.98l-.23.33-.08.41.08.41.23.34.33.22.41.09.41-.09.33-.22.23-.34.08-.41-.08-.41-.23-.33-.33-.22-.41-.09-.41.09zm13.09 3.95l.28.06.32.12.35.18.36.27.36.35.35.47.32.59.28.73.21.88.14 1.04.05 1.23-.06 1.23-.16 1.04-.24.86-.32.71-.36.57-.4.45-.42.33-.42.24-.4.16-.36.09-.32.05-.24.02-.16-.01h-8.22v.82h5.84l.01 2.76.02.36-.05.34-.11.31-.17.29-.25.25-.31.24-.38.2-.44.17-.51.15-.58.13-.64.09-.71.07-.77.04-.84.01-1.27-.04-1.07-.14-.9-.2-.73-.25-.59-.3-.45-.33-.34-.34-.25-.34-.16-.33-.1-.3-.04-.25-.02-.2.01-.13v-5.34l.05-.64.13-.54.21-.46.26-.38.3-.32.33-.24.35-.2.35-.14.33-.1.3-.06.26-.04.21-.02.13-.01h5.84l.69-.05.59-.14.5-.21.41-.28.33-.32.27-.35.2-.36.15-.36.1-.35.07-.32.04-.28.02-.21V6.07h2.09l.14.01zm-6.47 14.25l-.23.33-.08.41.08.41.23.33.33.23.41.08.41-.08.33-.23.23-.33.08-.41-.08-.41-.23-.33-.33-.23-.41-.08-.41.08z"},"raspberrypi":{"title":"Raspberry Pi","hex":"#a22846","path":"m19.8955 10.8961-.1726-.3028c.0068-2.1746-1.0022-3.061-2.1788-3.7348.356-.0938.7237-.1711.8245-.6182.6118-.1566.7397-.4398.8011-.7398.16-.1066.6955-.4061.6394-.9211.2998-.2069.4669-.4725.3819-.8487.3222-.3515.407-.6419.2702-.9096.3868-.4805.2152-.7295.05-.9817.2897-.5254.0341-1.0887-.7758-.9944-.3221-.4733-1.0244-.3659-1.133-.3637-.1215-.1519-.2819-.2821-.7755-.219-.3197-.2851-.6771-.2364-1.0458-.0964-.4378-.3403-.7275-.0675-1.0584.0356-.53-.1706-.6513.0631-.9117.1583-.5781-.1203-.7538.1416-1.0309.4182l-.3224-.0063c-.8719.5061-1.305 1.5366-1.4585 2.0664-.1536-.5299-.5858-1.5604-1.4575-2.0664l-.3223.0063C9.942.5014 9.7663.2394 9.1883.3597 8.9279.2646 8.807.0309 8.2766.2015c-.2172-.0677-.417-.2084-.6522-.2012l.0004.0002C7.5017.0041 7.369.049 7.2185.166c-.3688-.1401-.7262-.1887-1.0459.0964-.4936-.0631-.654.0671-.7756.219C5.2887.4791 4.5862.3717 4.264.845c-.8096-.0943-1.0655.4691-.7756.9944-.1653.2521-.3366.5013.05.9819-.1367.2677-.0519.5581.2703.9096-.085.3763.0822.6418.3819.8487-.0561.515.4795.8144.6394.9211.0614.3001.1894.5832.8011.7398.1008.4472.4685.5244.8245.6183-1.1766.6737-2.1856 1.56-2.1788 3.7348l-.1724.3028c-1.3491.8082-2.5629 3.4056-.6648 5.5167.124.6609.3319 1.1355.5171 1.6609.2769 2.117 2.0841 3.1082 2.5608 3.2255.6984.524 1.4423 1.0212 2.449 1.3696.949.964 1.977 1.3314 3.0107 1.3308.0152 0 .0306.0002.0457 0 1.0337.0006 2.0618-.3668 3.0107-1.3308 1.0067-.3483 1.7506-.8456 2.4491-1.3696.4766-.1173 2.2838-1.1085 2.5607-3.2255.1851-.5253.3931-1 .517-1.6609 1.8981-2.1113.6843-4.7089-.6649-5.517zm-1.0386-.3715c-.0704.8759-4.6354-3.0504-3.8472-3.1808 2.1391-.3558 3.9191.896 3.8472 3.1808zm-2.0155 4.3649c-1.1481.7409-2.8025.2626-3.6953-1.0681-.8928-1.3306-.6858-3.0101.4623-3.7509 1.1481-.7409 2.8025-.2627 3.6953 1.068.8927 1.3307.6858 3.0101-.4623 3.751zM13.6591 1.3721c.0396.1967.0843.321.1354.3577.2537-.272.4611-.5506.7878-.8123.0011.1537-.0776.3205.1169.4425.1752-.2356.4119-.4459.7263-.6244-.1514.2611-.026.3404.0554.4486.24-.2059.4681-.4144.9109-.5759-.121.1474-.2902.2914-.1108.4607.2473-.1544.496-.3086 1.0833-.4183-.1323.1475-.4059.295-.2401.4426.3104-.1186.6539-.2047 1.034-.2546-.182.1496-.3337.2963-.1846.4122.3323-.1022.7899-.2398 1.2372-.1212l-.2832.2849c-.0314.0382.6623.0297 1.1202.0364-.167.2321-.3375.4562-.437.8548.0454.0459.2723.0204.4862 0-.2194.4618-.6004.5783-.6893.776.134.1015.32.075.5232.006-.158.3254-.4892.5484-.7509.8123.0662.047.1818.075.4555.0425-.2418.257-.5339.492-.8802.7032.0614.0708.2722.0681.4678.0727-.3136.3069-.7173.466-1.0955.6668.1885.1288.3234.0988.4678.097-.2676.2198-.7225.3342-1.1448.4668.0803.1249.1607.1589.3324.194-.447.2473-1.0873.1343-1.2679.2607.0435.1243.1665.2053.3139.2728-.7197.0418-2.6879-.0262-3.0652-1.5156.7367-.8094 2.0813-1.7593 4.394-2.934-1.7994.6022-3.4229 1.405-4.7817 2.5096-1.5978-.7436-.4965-2.6197.283-3.3645zm-1.6126 5.3718c1.1329-.0123 2.5356.8325 2.53 1.6286-.005.7027-.9851 1.2715-2.5213 1.2607-1.5043-.0177-2.5172-.7148-2.5137-1.3957.003-.5603 1.2282-1.5263 2.505-1.4936zm-5.7646-.6006c.1717-.0351.252-.0692.3323-.194-.4223-.1327-.8772-.247-1.1448-.4668.1444.0018.2792.0318.4678-.097-.3783-.2008-.782-.3599-1.0956-.6668.1955-.0048.4064-.002.4677-.0728-.3462-.2113-.6383-.4463-.8801-.7033.2738.0325.3893.0045.4555-.0425-.2617-.264-.593-.487-.7509-.8123.2032.069.3892.0954.5232-.006-.089-.1977-.47-.3142-.6894-.776.214.0204.4409.0459.4863 0-.0994-.3985-.2698-.6226-.4369-.8547.4579-.0067 1.1516.0018 1.1202-.0364l-.2831-.2849c.4472-.1186.9049.019 1.2371.1213.1492-.1159-.0026-.2626-.1847-.4123.3801.05.7236.1361 1.034.2547.1659-.1476-.1076-.2951-.24-.4426.5872.1097.8361.2639 1.0833.4183.1794-.1694.0103-.3133-.1108-.4607.4428.1615.6709.37.911.5759.0814-.1082.2068-.1875.0554-.4486.3143.1785.5511.3888.7263.6244.1945-.122.1159-.2888.1169-.4426.3267.2618.534.5404.7879.8124.0511-.0366.0959-.161.1354-.3577.7794.7448 1.8807 2.6208.2831 3.3646-1.3589-1.1039-2.9817-1.9064-4.78-2.5086 2.3115 1.174 3.6556 2.1239 4.392 2.9328-.3773 1.4895-2.3455 1.5575-3.0651 1.5157.1473-.0676.2703-.1485.3139-.2728-.1806-.1264-.8209-.0134-1.2679-.2607zm2.8175 1.1334c.7881.1304-3.7769 4.0567-3.8472 3.1809-.0719-2.2846 1.7079-3.5367 3.8472-3.1809zm-4.847 8.7567c-1.1094-.8789-1.4668-3.4529.5901-4.6097 1.2394-.3273.4184 5.051-.5901 4.6097zm4.2656 4.5989c-.6257.3719-2.1452.2187-3.2252-1.3095-.7283-1.2823-.6345-2.5872-.123-2.9705.7648-.4589 1.9464.1609 2.8559 1.2003.7923.9405 1.1536 2.5927.4923 3.0797zm-1.2415-5.6086c-1.1481-.7409-1.3551-2.4203-.4623-3.7511.8928-1.3307 2.5472-1.8089 3.6952-1.068 1.1481.7409 1.3551 2.4203.4623 3.7509-.8926 1.3308-2.5471 1.809-3.6952 1.0682zm4.7948 8.2279c-1.3763.0584-2.7258-1.1105-2.7081-1.5157-.0206-.594 1.6758-1.0578 2.782-1.0306 1.1131-.0479 2.6068.3531 2.6097.8851.0184.5166-1.3547 1.6838-2.6836 1.6612zm2.7584-5.8578c.0081 1.3899-1.226 2.5225-2.7562 2.5299-1.5302.0073-2.7773-1.1135-2.7854-2.5033v-.0265c-.008-1.3899 1.2259-2.5226 2.7562-2.5299 1.5302-.0073 2.7773 1.1134 2.7853 2.5033a.7794.7794 0 0 1 .0001.0265zm3.855 2.0029c-1.186 1.6208-2.7916 1.684-3.3896 1.2325-.6255-.5811-.148-2.3854.7094-3.3747v-.0003c.9812-1.0912 2.0302-1.8037 2.7609-1.2469.4919.4828.7805 2.3008-.0807 3.3894zm1.0724-3.4301c-1.0086.4413-1.8298-4.9372-.5901-4.61 2.0568 1.1569 1.6994 3.731.5901 4.61zm-.0256-8.3279h.2985v-.5304h.2986c.1502 0 .2053.0624.2262.2052.0152.1088.0113.2395.0477.3253h.2984c-.0533-.0763-.0515-.2358-.0571-.3213-.0097-.1373-.0513-.2796-.1977-.3176v-.0037c.1502-.061.2149-.1807.2149-.341 0-.2048-.1539-.3738-.3974-.3738h-.732v1.3573zm.2985-1.1255h.3269c.1333 0 .2054.0573.2054.188 0 .1369-.0721.1942-.2054.1942H20.03v-.3822zm-1.0337.4633c0 .7009.5682 1.2694 1.2695 1.2694s1.2695-.5684 1.2695-1.2694c0-.7013-.5683-1.2697-1.2695-1.2697-.7013 0-1.2695.5684-1.2695 1.2697zm2.3275 0c0 .5845-.4737 1.058-1.058 1.058s-1.058-.4735-1.058-1.058c0-.5849.4737-1.058 1.058-1.058s1.058.4731 1.058 1.058z"},"reddit":{"title":"Reddit","hex":"#ff4500","path":"M12 0C5.373 0 0 5.373 0 12c0 3.314 1.343 6.314 3.515 8.485l-2.286 2.286C.775 23.225 1.097 24 1.738 24H12c6.627 0 12-5.373 12-12S18.627 0 12 0Zm4.388 3.199c1.104 0 1.999.895 1.999 1.999 0 1.105-.895 2-1.999 2-.946 0-1.739-.657-1.947-1.539v.002c-1.147.162-2.032 1.15-2.032 2.341v.007c1.776.067 3.4.567 4.686 1.363.473-.363 1.064-.58 1.707-.58 1.547 0 2.802 1.254 2.802 2.802 0 1.117-.655 2.081-1.601 2.531-.088 3.256-3.637 5.876-7.997 5.876-4.361 0-7.905-2.617-7.998-5.87-.954-.447-1.614-1.415-1.614-2.538 0-1.548 1.255-2.802 2.803-2.802.645 0 1.239.218 1.712.585 1.275-.79 2.881-1.291 4.64-1.365v-.01c0-1.663 1.263-3.034 2.88-3.207.188-.911.993-1.595 1.959-1.595Zm-8.085 8.376c-.784 0-1.459.78-1.506 1.797-.047 1.016.64 1.429 1.426 1.429.786 0 1.371-.369 1.418-1.385.047-1.017-.553-1.841-1.338-1.841Zm7.406 0c-.786 0-1.385.824-1.338 1.841.047 1.017.634 1.385 1.418 1.385.785 0 1.473-.413 1.426-1.429-.046-1.017-.721-1.797-1.506-1.797Zm-3.703 4.013c-.974 0-1.907.048-2.77.135-.147.015-.241.168-.183.305.483 1.154 1.622 1.964 2.953 1.964 1.33 0 2.47-.81 2.953-1.964.057-.137-.037-.29-.184-.305-.863-.087-1.795-.135-2.769-.135Z"},"signal":{"title":"Signal","hex":"#3b45fd","path":"M12 0q-.934 0-1.83.139l.17 1.111a11 11 0 0 1 3.32 0l.172-1.111A12 12 0 0 0 12 0M9.152.34A12 12 0 0 0 5.77 1.742l.584.961a10.8 10.8 0 0 1 3.066-1.27zm5.696 0-.268 1.094a10.8 10.8 0 0 1 3.066 1.27l.584-.962A12 12 0 0 0 14.848.34M12 2.25a9.75 9.75 0 0 0-8.539 14.459c.074.134.1.292.064.441l-1.013 4.338 4.338-1.013a.62.62 0 0 1 .441.064A9.7 9.7 0 0 0 12 21.75c5.385 0 9.75-4.365 9.75-9.75S17.385 2.25 12 2.25m-7.092.068a12 12 0 0 0-2.59 2.59l.909.664a11 11 0 0 1 2.345-2.345zm14.184 0-.664.909a11 11 0 0 1 2.345 2.345l.909-.664a12 12 0 0 0-2.59-2.59M1.742 5.77A12 12 0 0 0 .34 9.152l1.094.268a10.8 10.8 0 0 1 1.269-3.066zm20.516 0-.961.584a10.8 10.8 0 0 1 1.27 3.066l1.093-.268a12 12 0 0 0-1.402-3.383M.138 10.168A12 12 0 0 0 0 12q0 .934.139 1.83l1.111-.17A11 11 0 0 1 1.125 12q0-.848.125-1.66zm23.723.002-1.111.17q.125.812.125 1.66c0 .848-.042 1.12-.125 1.66l1.111.172a12.1 12.1 0 0 0 0-3.662M1.434 14.58l-1.094.268a12 12 0 0 0 .96 2.591l-.265 1.14 1.096.255.36-1.539-.188-.365a10.8 10.8 0 0 1-.87-2.35m21.133 0a10.8 10.8 0 0 1-1.27 3.067l.962.584a12 12 0 0 0 1.402-3.383zm-1.793 3.848a11 11 0 0 1-2.345 2.345l.664.909a12 12 0 0 0 2.59-2.59zm-19.959 1.1L.357 21.48a1.8 1.8 0 0 0 2.162 2.161l1.954-.455-.256-1.095-1.953.455a.675.675 0 0 1-.81-.81l.454-1.954zm16.832 1.769a10.8 10.8 0 0 1-3.066 1.27l.268 1.093a12 12 0 0 0 3.382-1.402zm-10.94.213-1.54.36.256 1.095 1.139-.266c.814.415 1.683.74 2.591.961l.268-1.094a10.8 10.8 0 0 1-2.35-.869zm3.634 1.24-.172 1.111a12.1 12.1 0 0 0 3.662 0l-.17-1.111q-.812.125-1.66.125a11 11 0 0 1-1.66-.125"},"snapchat":{"title":"Snapchat","hex":"#fffc00","path":"M12.206.793c.99 0 4.347.276 5.93 3.821.529 1.193.403 3.219.299 4.847l-.003.06c-.012.18-.022.345-.03.51.075.045.203.09.401.09.3-.016.659-.12 1.033-.301.165-.088.344-.104.464-.104.182 0 .359.029.509.09.45.149.734.479.734.838.015.449-.39.839-1.213 1.168-.089.029-.209.075-.344.119-.45.135-1.139.36-1.333.81-.09.224-.061.524.12.868l.015.015c.06.136 1.526 3.475 4.791 4.014.255.044.435.27.42.509 0 .075-.015.149-.045.225-.24.569-1.273.988-3.146 1.271-.059.091-.12.375-.164.57-.029.179-.074.36-.134.553-.076.271-.27.405-.555.405h-.03c-.135 0-.313-.031-.538-.074-.36-.075-.765-.135-1.273-.135-.3 0-.599.015-.913.074-.6.104-1.123.464-1.723.884-.853.599-1.826 1.288-3.294 1.288-.06 0-.119-.015-.18-.015h-.149c-1.468 0-2.427-.675-3.279-1.288-.599-.42-1.107-.779-1.707-.884-.314-.045-.629-.074-.928-.074-.54 0-.958.089-1.272.149-.211.043-.391.074-.54.074-.374 0-.523-.224-.583-.42-.061-.192-.09-.389-.135-.567-.046-.181-.105-.494-.166-.57-1.918-.222-2.95-.642-3.189-1.226-.031-.063-.052-.15-.055-.225-.015-.243.165-.465.42-.509 3.264-.54 4.73-3.879 4.791-4.02l.016-.029c.18-.345.224-.645.119-.869-.195-.434-.884-.658-1.332-.809-.121-.029-.24-.074-.346-.119-1.107-.435-1.257-.93-1.197-1.273.09-.479.674-.793 1.168-.793.146 0 .27.029.383.074.42.194.789.3 1.104.3.234 0 .384-.06.465-.105l-.046-.569c-.098-1.626-.225-3.651.307-4.837C7.392 1.077 10.739.807 11.727.807l.419-.015h.06z"},"soundcloud":{"title":"SoundCloud","hex":"#ff5500","path":"M23.999 14.165c-.052 1.796-1.612 3.169-3.4 3.169h-8.18a.68.68 0 0 1-.675-.683V7.862a.747.747 0 0 1 .452-.724s.75-.513 2.333-.513a5.364 5.364 0 0 1 2.763.755 5.433 5.433 0 0 1 2.57 3.54c.282-.08.574-.121.868-.12.884 0 1.73.358 2.347.992s.948 1.49.922 2.373ZM10.721 8.421c.247 2.98.427 5.697 0 8.672a.264.264 0 0 1-.53 0c-.395-2.946-.22-5.718 0-8.672a.264.264 0 0 1 .53 0ZM9.072 9.448c.285 2.659.37 4.986-.006 7.655a.277.277 0 0 1-.55 0c-.331-2.63-.256-5.02 0-7.655a.277.277 0 0 1 .556 0Zm-1.663-.257c.27 2.726.39 5.171 0 7.904a.266.266 0 0 1-.532 0c-.38-2.69-.257-5.21 0-7.904a.266.266 0 0 1 .532 0Zm-1.647.77a26.108 26.108 0 0 1-.008 7.147.272.272 0 0 1-.542 0 27.955 27.955 0 0 1 0-7.147.275.275 0 0 1 .55 0Zm-1.67 1.769c.421 1.865.228 3.5-.029 5.388a.257.257 0 0 1-.514 0c-.21-1.858-.398-3.549 0-5.389a.272.272 0 0 1 .543 0Zm-1.655-.273c.388 1.897.26 3.508-.01 5.412-.026.28-.514.283-.54 0-.244-1.878-.347-3.54-.01-5.412a.283.283 0 0 1 .56 0Zm-1.668.911c.4 1.268.257 2.292-.026 3.572a.257.257 0 0 1-.514 0c-.241-1.262-.354-2.312-.023-3.572a.283.283 0 0 1 .563 0Z"},"spotify":{"title":"Spotify","hex":"#1ed760","path":"M12 0C5.4 0 0 5.4 0 12s5.4 12 12 12 12-5.4 12-12S18.66 0 12 0zm5.521 17.34c-.24.359-.66.48-1.021.24-2.82-1.74-6.36-2.101-10.561-1.141-.418.122-.779-.179-.899-.539-.12-.421.18-.78.54-.9 4.56-1.021 8.52-.6 11.64 1.32.42.18.479.659.301 1.02zm1.44-3.3c-.301.42-.841.6-1.262.3-3.239-1.98-8.159-2.58-11.939-1.38-.479.12-1.02-.12-1.14-.6-.12-.48.12-1.021.6-1.141C9.6 9.9 15 10.561 18.72 12.84c.361.181.54.78.241 1.2zm.12-3.36C15.24 8.4 8.82 8.16 5.16 9.301c-.6.179-1.2-.181-1.38-.721-.18-.601.18-1.2.72-1.381 4.26-1.26 11.28-1.02 15.721 1.621.539.3.719 1.02.419 1.56-.299.421-1.02.599-1.559.3z"},"steam":{"title":"Steam","hex":"#000000","path":"M11.979 0C5.678 0 .511 4.86.022 11.037l6.432 2.658c.545-.371 1.203-.59 1.912-.59.063 0 .125.004.188.006l2.861-4.142V8.91c0-2.495 2.028-4.524 4.524-4.524 2.494 0 4.524 2.031 4.524 4.527s-2.03 4.525-4.524 4.525h-.105l-4.076 2.911c0 .052.004.105.004.159 0 1.875-1.515 3.396-3.39 3.396-1.635 0-3.016-1.173-3.331-2.727L.436 15.27C1.862 20.307 6.486 24 11.979 24c6.627 0 11.999-5.373 11.999-12S18.605 0 11.979 0zM7.54 18.21l-1.473-.61c.262.543.714.999 1.314 1.25 1.297.539 2.793-.076 3.332-1.375.263-.63.264-1.319.005-1.949s-.75-1.121-1.377-1.383c-.624-.26-1.29-.249-1.878-.03l1.523.63c.956.4 1.409 1.5 1.009 2.455-.397.957-1.497 1.41-2.454 1.012H7.54zm11.415-9.303c0-1.662-1.353-3.015-3.015-3.015-1.665 0-3.015 1.353-3.015 3.015 0 1.665 1.35 3.015 3.015 3.015 1.663 0 3.015-1.35 3.015-3.015zm-5.273-.005c0-1.252 1.013-2.266 2.265-2.266 1.249 0 2.266 1.014 2.266 2.266 0 1.251-1.017 2.265-2.266 2.265-1.253 0-2.265-1.014-2.265-2.265z"},"stripe":{"title":"Stripe","hex":"#635bff","path":"M13.976 9.15c-2.172-.806-3.356-1.426-3.356-2.409 0-.831.683-1.305 1.901-1.305 2.227 0 4.515.858 6.09 1.631l.89-5.494C18.252.975 15.697 0 12.165 0 9.667 0 7.589.654 6.104 1.872 4.56 3.147 3.757 4.992 3.757 7.218c0 4.039 2.467 5.76 6.476 7.219 2.585.92 3.445 1.574 3.445 2.583 0 .98-.84 1.545-2.354 1.545-1.875 0-4.965-.921-6.99-2.109l-.9 5.555C5.175 22.99 8.385 24 11.714 24c2.641 0 4.843-.624 6.328-1.813 1.664-1.305 2.525-3.236 2.525-5.732 0-4.128-2.524-5.851-6.594-7.305h.003z"},"telegram":{"title":"Telegram","hex":"#26a5e4","path":"M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z"},"threads":{"title":"Threads","hex":"#000000","path":"M18.263 11.097c-.03-3.486-1.92-5.586-5.111-5.586-2.13 0-3.922.963-4.863 2.499l2.062 1.438c.535-.843 1.272-1.543 2.628-1.543 1.528 0 2.318.85 2.544 2.431a15 15 0 0 0-2.236-.173c-4.125 0-6.068 1.867-6.068 4.336s1.943 3.99 4.804 3.99c3.139 0 5.013-2.115 5.781-4.735.798.361 1.348 1.204 1.348 2.47 0 3.387-3.907 5.232-7.22 5.232-4.885 0-8.077-3.207-8.077-8.424 0-6.392 4.223-10.487 9.9-10.487 3.808 0 5.69 1.671 6.97 3.914l2.108-1.475C21.44 2.078 18.331 0 13.663 0 6.227 0 1.168 5.277 1.168 12.934c0 7 4.953 11.066 10.856 11.066 4.878 0 9.809-2.846 9.809-7.716 0-2.545-1.46-4.231-3.569-5.187m-6.33 4.855c-1.077 0-2.026-.512-2.026-1.453 0-1.483 1.822-1.934 3.606-1.934.678 0 1.34.045 1.927.173-.422 1.927-1.671 3.215-3.508 3.214Z"},"tiktok":{"title":"TikTok","hex":"#000000","path":"M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"},"tumblr":{"title":"Tumblr","hex":"#36465d","path":"M14.563 24c-5.093 0-7.031-3.756-7.031-6.411V9.747H5.116V6.648c3.63-1.313 4.512-4.596 4.71-6.469C9.84.051 9.941 0 9.999 0h3.517v6.114h4.801v3.633h-4.82v7.47c.016 1.001.375 2.371 2.207 2.371h.09c.631-.02 1.486-.205 1.936-.419l1.156 3.425c-.436.636-2.4 1.374-4.156 1.404h-.178l.011.002z"},"twitch":{"title":"Twitch","hex":"#9146ff","path":"M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714Z"},"ubuntu":{"title":"Ubuntu","hex":"#e95420","path":"M17.61.455a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zM12.92.8C8.923.777 5.137 2.941 3.148 6.451a4.5 4.5 0 0 1 .26-.007 4.92 4.92 0 0 1 2.585.737A8.316 8.316 0 0 1 12.688 3.6 4.944 4.944 0 0 1 13.723.834 11.008 11.008 0 0 0 12.92.8zm9.226 4.994a4.915 4.915 0 0 1-1.918 2.246 8.36 8.36 0 0 1-.273 8.303 4.89 4.89 0 0 1 1.632 2.54 11.156 11.156 0 0 0 .559-13.089zM3.41 7.932A3.41 3.41 0 0 0 0 11.342a3.41 3.41 0 0 0 3.41 3.409 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41zm2.027 7.866a4.908 4.908 0 0 1-2.915.358 11.1 11.1 0 0 0 7.991 6.698 11.234 11.234 0 0 0 2.422.249 4.879 4.879 0 0 1-.999-2.85 8.484 8.484 0 0 1-.836-.136 8.304 8.304 0 0 1-5.663-4.32zm11.405.928a3.41 3.41 0 0 0-3.41 3.41 3.41 3.41 0 0 0 3.41 3.41 3.41 3.41 0 0 0 3.41-3.41 3.41 3.41 0 0 0-3.41-3.41z"},"vimeo":{"title":"Vimeo","hex":"#1ab7ea","path":"M23.9765 6.4168c-.105 2.338-1.739 5.5429-4.894 9.6088-3.2679 4.247-6.0258 6.3699-8.2898 6.3699-1.409 0-2.578-1.294-3.553-3.881l-1.9179-7.1138c-.719-2.584-1.488-3.878-2.312-3.878-.179 0-.806.378-1.8809 1.132l-1.129-1.457a315.06 315.06 0 003.501-3.1279c1.579-1.368 2.765-2.085 3.5539-2.159 1.867-.18 3.016 1.1 3.447 3.838.465 2.953.789 4.789.971 5.5069.5389 2.45 1.1309 3.674 1.7759 3.674.502 0 1.256-.796 2.265-2.385 1.004-1.589 1.54-2.797 1.612-3.628.144-1.371-.395-2.061-1.614-2.061-.574 0-1.167.121-1.777.391 1.186-3.8679 3.434-5.7568 6.7619-5.6368 2.4729.06 3.6279 1.664 3.4929 4.7969z"},"whatsapp":{"title":"WhatsApp","hex":"#25d366","path":"M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z"},"wikipedia":{"title":"Wikipedia","hex":"#000000","path":"M12.09 13.119c-.936 1.932-2.217 4.548-2.853 5.728-.616 1.074-1.127.931-1.532.029-1.406-3.321-4.293-9.144-5.651-12.409-.251-.601-.441-.987-.619-1.139-.181-.15-.554-.24-1.122-.271C.103 5.033 0 4.982 0 4.898v-.455l.052-.045c.924-.005 5.401 0 5.401 0l.051.045v.434c0 .119-.075.176-.225.176l-.564.031c-.485.029-.727.164-.727.436 0 .135.053.33.166.601 1.082 2.646 4.818 10.521 4.818 10.521l.136.046 2.411-4.81-.482-1.067-1.658-3.264s-.318-.654-.428-.872c-.728-1.443-.712-1.518-1.447-1.617-.207-.023-.313-.05-.313-.149v-.468l.06-.045h4.292l.113.037v.451c0 .105-.076.15-.227.15l-.308.047c-.792.061-.661.381-.136 1.422l1.582 3.252 1.758-3.504c.293-.64.233-.801.111-.947-.07-.084-.305-.22-.812-.24l-.201-.021c-.052 0-.098-.015-.145-.051-.045-.031-.067-.076-.067-.129v-.427l.061-.045c1.247-.008 4.043 0 4.043 0l.059.045v.436c0 .121-.059.178-.193.178-.646.03-.782.095-1.023.439-.12.186-.375.589-.646 1.039l-2.301 4.273-.065.135 2.792 5.712.17.048 4.396-10.438c.154-.422.129-.722-.064-.895-.197-.172-.346-.273-.857-.295l-.42-.016c-.061 0-.105-.014-.152-.045-.043-.029-.072-.075-.072-.119v-.436l.059-.045h4.961l.041.045v.437c0 .119-.074.18-.209.18-.648.03-1.127.18-1.443.421-.314.255-.557.616-.736 1.067 0 0-4.043 9.258-5.426 12.339-.525 1.007-1.053.917-1.503-.031-.571-1.171-1.773-3.786-2.646-5.71l.053-.036z"},"x":{"title":"X","hex":"#000000","path":"M14.234 10.162 22.977 0h-2.072l-7.591 8.824L7.251 0H.258l9.168 13.343L.258 24H2.33l8.016-9.318L16.749 24h6.993zm-2.837 3.299-.929-1.329L3.076 1.56h3.182l5.965 8.532.929 1.329 7.754 11.09h-3.182z"},"ycombinator":{"title":"Y Combinator","hex":"#f0652f","path":"M0 24V0h24v24H0zM6.951 5.896l4.112 7.708v5.064h1.583v-4.972l4.148-7.799h-1.749l-2.457 4.875c-.372.745-.688 1.434-.688 1.434s-.297-.708-.651-1.434L8.831 5.896h-1.88z"},"youtube":{"title":"YouTube","hex":"#ff0000","path":"M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"}};
-- const FA = {"youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter-k":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","reddit-alien":"reddit","tumblr":"tumblr","hacker-news":"ycombinator","line":"line","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
++ const FA = {"reddit-alien":"reddit","kickstarter-k":"kick","youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter-k":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","reddit-alien":"reddit","tumblr":"tumblr","hacker-news":"ycombinator","line":"line","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
const has = (o, k) => Object.prototype.hasOwnProperty.call(o, k);
const get = (slug) => (has(BRANDS, slug) ? BRANDS[slug] : null);
const fromFa = (name) => { const n = String(name || '').replace(/^fa-/, ''); return has(FA, n) ? FA[n] : null; };
ddiff --git a/glyphs.js b/glyphs.js
iindex 26543f0..acffd63 100644
---- a/glyphs.js
++++ b/glyphs.js
@@@ -12,6 +12,8 @@
* glyphs.path(name) its drawing (the inside of a 24-unit SVG), or ''
* glyphs.svg(name, { size, title, style }) a standalone SVG, or ''
* glyphs.fromFa('fa-tower-broadcast') → 'live' the glyph for a Font Awesome name (with or without fa-), or null
++ * glyphs.markup('live', { title, cls }) <i data-ov-icon="live">, OpenVibe's own markup (4.231.0)
++ * glyphs.fromFaClasses('fa-solid fa-eye me-2') { icon: 'eye', cls: ['ovg-fill', 'me-2'], … } (scripts/fa-to-ov.js)
* glyphs.FA { 'tower-broadcast': 'live', … }
* glyphs.META[name] { by, tags } who drew it and what it is for (openvibe.design/icons)
*
@@@ -485,6 +487,10 @@
// ── Font Awesome's names, as the network uses them, mapped to the glyph that stands for each ──
const FA = Object.freeze({
++ // 4.231.0: the names sites used that drew nothing once Font Awesome's stylesheet was gone (the maps app, yt).
++ 'arrow-rotate-left': 'undo', 'chart-pie': 'chart', 'book-skull': 'book', crosshairs: 'target', 'location-crosshairs': 'target',
++ satellite: 'image', 'globe-americas': 'globe', 'street-view': 'walk', 'magnifying-glass-location': 'search', 'apple-whole': 'food',
++ backpack: 'briefcase', 'shield-heart': 'shield', openstreetmap: 'map',
'wand-magic-sparkles': 'wand', 'wand-magic': 'wand', 'wand-sparkles': 'wand', sparkles: 'spark', 'star-of-life': 'spark', eye: 'eye', 'eye-slash': 'eye-off',
binoculars: 'binoculars', telescope: 'telescope', microscope: 'microscope', joystick: 'joystick', gpu: 'gpu', cpu: 'cpu', memory: 'memory', ram: 'memory',
'tower-broadcast': 'live', 'broadcast-tower': 'live', 'satellite-dish': 'dish', 'tower-cell': 'live', 'signal': 'wifi', wifi: 'wifi',
@@@ -607,5 +613,50 @@
/** 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 };
++ // ── OpenVibe's own markup (4.231.0): <i data-ov-icon="name">, drawn in the page by ov-glyphs.js ──
++ function markup(name, { title = '', cls = '' } = {}) {
++ if (name !== 'busy' && !path(name)) return '';
++ return `<i data-ov-icon="${esc(name)}"${cls ? ` class="${esc(cls)}"` : ''}${title ? ` title="${esc(title)}"` : ' aria-hidden="true"'}></i>`;
++ }
++ // Font Awesome's classes that say how, in OpenVibe's: '' drops one (the glyphs' default does it), null means a person
++ // has to decide (an animation, a stack, a list: scripts/fa-to-ov.js reports it and leaves the element alone).
++ const FA_HOW = Object.freeze({
++ 'fa-solid': 'ovg-fill', fas: 'ovg-fill', 'fa-regular': '', far: '', 'fa-classic': '', 'fa-thin': 'ovg-thin', 'fa-light': 'ovg-light',
++ 'fa-fw': 'ovg-fw', 'fa-2xs': 'ovg-xs', 'fa-xs': 'ovg-xs', 'fa-sm': 'ovg-sm', 'fa-1x': '', 'fa-lg': 'ovg-lg', 'fa-xl': 'ovg-xl', 'fa-2xl': 'ovg-2x',
++ 'fa-2x': 'ovg-2x', 'fa-3x': 'ovg-3x', 'fa-rotate-90': 'ovg-rotate-90', 'fa-rotate-180': 'ovg-rotate-180', 'fa-rotate-270': 'ovg-rotate-270',
++ 'fa-flip-horizontal': 'ovg-flip-h', 'fa-flip-vertical': 'ovg-flip-v', fa: '',
++ });
++ const SPINNERS = new Set(['spinner', 'circle-notch', 'rotate', 'arrows-rotate', 'sync', 'sync-alt', 'rotate-right', 'arrow-rotate-right', 'gear', 'cog', 'circle-dot']);
++ /**
++ * A class list in OpenVibe's terms: { icon, brand, cls, manual, unknown }. ICON is the glyph its Font Awesome name
++ * maps to (a spinning spinner is busy), BRAND a logo's Font Awesome name (the caller maps it with brands.fromFa),
++ * CLS the classes to keep (the page's own, and ovg-* for Font Awesome's sizes, widths and turns), MANUAL the
++ * classes a person has to decide, UNKNOWN a name the glyphs do not have. Classes without fa- give icon null.
++ */
++ function fromFaClasses(list) {
++ const out = { icon: null, brand: null, cls: [], manual: [], unknown: null };
++ const words = String(list || '').split(/\s+/).filter(Boolean);
++ const brand = words.includes('fa-brands') || words.includes('fab');
++ const spin = words.some((w) => /^fa-(spin|spin-pulse|pulse)$/.test(w));
++ for (const w of words) {
++ if (w === 'fa-brands' || w === 'fab') continue;
++ if (Object.prototype.hasOwnProperty.call(FA_HOW, w)) { if (FA_HOW[w]) out.cls.push(FA_HOW[w]); continue; }
++ if (/^fa-(spin|spin-pulse|pulse)$/.test(w)) continue;
++ if (/^fa-(beat|beat-fade|bounce|fade|flip|shake|stack|stack-1x|stack-2x|layers|layers-text|layers-counter|ul|li|border|pull-left|pull-right|inverse|rotate-by|flip-both|sharp|duotone|sharp-duotone|[4-9]x|10x|swap-opacity|width-auto)$/.test(w)) { out.manual.push(w); continue; }
++ if (/^fa-[a-z0-9-]+$/.test(w)) {
++ const n = w.slice(3);
++ if (brand) { out.brand = out.brand || n; continue; }
++ if (spin && SPINNERS.has(n)) { out.icon = 'busy'; continue; }
++ const g = fromFa(n);
++ if (g && !out.icon) out.icon = g; else if (!g) out.unknown = out.unknown || w;
++ continue;
++ }
++ out.cls.push(w);
++ }
++ if (spin && out.icon && out.icon !== 'busy') out.manual.push('fa-spin');
++ out.cls = [...new Set(out.cls)];
++ return out;
++ }
++
++ return { NAMES, META, FA, SOLID, DRAWN: Object.freeze(Object.keys(DRAWN)), path, solid, inner, svg, fromFa, markup, fromFaClasses, FA_HOW };
});
ddiff --git a/nav-icons.js b/nav-icons.js
iindex 94af37f..00433ad 100644
---- a/nav-icons.js
++++ b/nav-icons.js
@@@ -1,11 +1,9 @@
// ═══════════════════════════════════════════════════════════════
--// OpenVibe — navbar icon glyphs. Generated by scripts/build-nav-icons.py; do not edit by hand.
--// Font Awesome Free 6 solid glyphs (CC BY 4.0, fontawesome.com/license/free) as filled paths:
--// name -> [advance width, path] in a 0 0 512 512 viewBox. The glyphs are normalised to the same
--// ink size on that one square, so the advance says how much side bearing a glyph carries and
--// sizes its slot, not how big it draws. navbar.js ships the glyphs it draws itself and fetches
--// this file after first paint for the rest; a page that wants every glyph from the first frame
--// can load it before navbar.js instead.
++// OpenVibe — the bar's icons. Written by scripts/build-navbar-icons.js from glyphs.js; do not edit by hand.
++// Each entry is [0, line, solid]: an OpenVibe glyph's line drawing and its solid one, on a 24-unit grid. The
++// keys are the names sites pass in links, chips and menu rows (Font Awesome's, until every site names glyphs:
++// scripts/fa-to-ov.js). navbar.js ships the glyphs it draws itself and fetches this file after first paint for the
++// rest; a page that wants every glyph from the first frame can load it before navbar.js instead.
// ═══════════════════════════════════════════════════════════════
(function (root) {
ddiff --git a/navbar.js b/navbar.js
iindex 2c90862..3549e6f 100644
---- a/navbar.js
++++ b/navbar.js
@@@ -556,8 +556,7 @@
// ── Icons ────────────────────────────────────────────────
// BEGIN generated by scripts/build-navbar-icons.js from nav-icons.js; do not edit by hand
-- // The glyphs the navbar draws itself: [0, line, solid] is an OpenVibe glyph (24-unit grid); [w, path] a Font
-- // Awesome Free 6 solid glyph (CC BY 4.0, fontawesome.com/license/free) in a 0 0 512 512 viewBox, one ink size. The rest of the set is nav-icons.js.
++ // The glyphs the navbar draws itself: [0, line, solid], OpenVibe glyphs on a 24-unit grid. The rest of the set is nav-icons.js.
const NAV_ICONS = {
'fa-bell': [0, '<path d="M6 14.5V9.5a6 6 0 0 1 12 0v5l1.5 2h-15.5ZM10 18.5a2 2 0 0 0 4 0"/>', '<path d="M5 15.5V9.5a7 7 0 0 1 13.5 0v5.5l2 2.5H3.5ZM9.5 19.5h4.5a2.5 2.5 0 0 1-4.5 0Z"/>'],
'fa-clock-rotate-left': [0, '<path d="M4 12a8.5 8.5 0 1 0 2.5-6L4 8.5M4 4v4h4"/><path d="M12 8v4.5l3 2"/>', '<path d="M6 6A9 9 0 1 1 3 12h3a6 6 0 1 0 2-4.5ZM2.5 2.5v7h7ZM11 8h2v3.5l2.5 1.5l-1 2l-4-2.5Z"/>'],
@@@ -578,14 +577,14 @@
'fa-sun': [0, '<circle cx="11.9" cy="11.9" r="3.4"/><path d="M12 3.5v2M12 18.5v2M6 6l1 1M16.5 16.5l1 1M3.5 12h2M18.5 12h2M6 18l1-1M16.5 7l1-1"/>', '<circle cx="12" cy="12" r="3.8"/><path class="ln" d="M12 4v1.5M12 18.5v1.5M6.5 6l1 1M17 17L18 18M4 12h1.5M18.5 12h1.5M6.5 18l1-1M17 7L18 6"/>'],
'fa-brain': [0, '<path d="M9 4a3 3 0 0 0-3 3a3 3 0 0 0-2 5a3 3 0 0 0 2 5a3 3 0 0 0 6 1V6A2 2 0 0 0 9 4ZM15 4a3 3 0 0 1 3 3a3 3 0 0 1 2 5a3 3 0 0 1-2 5a3 3 0 0 1-6 1"/>', '<path d="M9 4a3 3 0 0 0-3 3a3 3 0 0 0-2 5.5a3 3 0 0 0 2 5a3 3 0 0 0 5.5 1.5V5.5A2.5 2.5 0 0 0 9 4Z"/><path d="M15 4a3 3 0 0 1 3 3a3 3 0 0 1 2 5.5a3 3 0 0 1-2 5a3 3 0 0 1-5.5 1.5V5.5A2.5 2.5 0 0 1 15 4Z"/>'],
};
-- // Every other glyph in nav-icons.js, grouped by advance width (sizes its slot before the path arrives); 0 is an OpenVibe glyph.
++ // Every other glyph in nav-icons.js, by width (0: a 24-unit OpenVibe glyph), so its slot has its size before the path arrives.
const NAV_ICONS_LAZY = {
0: 'fa-book fa-camera fa-comments fa-gamepad fa-gauge-high fa-hand-fist fa-house fa-link fa-list-check fa-network-wired fa-paste fa-people-arrows fa-scissors fa-screwdriver-wrench fa-shirt fa-text-height fa-user fa-video fa-wand-magic-sparkles fa-arrow-up-right-from-square fa-chevron-right fa-bars fa-xmark fa-magnifying-glass fa-file-pdf fa-arrow-down fa-arrow-right fa-clock fa-envelope fa-star fa-heart fa-play fa-circle-info fa-triangle-exclamation fa-check fa-globe fa-code fa-robot fa-photo-film fa-tower-cell fa-diagram-project fa-toolbox fa-comment-dots fa-money-bill-wave fa-crown fa-server fa-newspaper fa-tag fa-ticket fa-chart-line fa-pen-nib fa-key fa-plug fa-bolt fa-satellite-dish fa-microchip fa-circle-nodes fa-download fa-upload fa-image fa-music fa-file-lines fa-font fa-location-dot fa-lock fa-wave-square fa-map fa-utensils fa-user-shield fa-gauge fa-pen fa-earth-americas fa-hashtag fa-inbox fa-folder fa-puzzle-piece fa-shield fa-display fa-microphone fa-infinity fa-list fa-flag-checkered fa-tv fa-compass',
};
-- const NAV_ICONS_REV = '9c00647232a9'; // sha256(nav-icons.js), first 12 hex: its ?v= (cacheable forever)
++ const NAV_ICONS_REV = '46fab66e2bf7'; // 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.
-- // Other icons load from nav-icons.js after first paint; unknown names fall back to Font Awesome.
++ // Other icons load from nav-icons.js after first paint; a name the bar's set lacks is drawn by ov-glyphs.js.
const _selfSrc = (typeof document !== 'undefined' && document.currentScript && document.currentScript.src) || '';
let _lazyWidth = null;
let _iconState = 0; // 0 idle, 1 loading, 2 loaded, 3 unavailable
@@@ -610,7 +609,7 @@
* serves its own pinned copy at /shared/ gets its own), else the network's copy.
*/
// The files loaded from beside this one, by content (scripts/sibling-revs.js): a release changes their URLs.
-- const SIBLING_REV = { 'ov-mark.js': 'f34f731c3a94', 'ov-glyphs.js': 'c96584376da1', 'ov-brand.woff2': '3b4e6a8a5878', 'ov-look.js': 'dd84a30bb646', 'ov-fx.js': '947820d69097', 'ov-labels.js': 'd40f7ca14bc4', 'ov-forms.js': '2eb9e2604c3e', 'ov-forms.css': '07e8f59d9e6d', 'ov-share.js': 'd419508a797e', 'ov-share.css': 'd609a71f611a', 'search.js': 'ef289c4550b1', 'dock.js': '9f15df28050c', 'presence.js': '5f195d41f8c5', 'panels.js': 'd90bfe987d81', 'surfaces.js': 'a94e76bd1200', 'notification-ui.js': '0cef1f895965', 'history.js': 'f9fb9e096c65', 'bottom.js': '1671b6949137', 'appbar.js': 'c21485176ae9', 'release-watch.js': '25f02a3f0684', 'ov-icons.js': '3a88a5ba2565', 'sso-client.js': 'f574ac3331a5', 'overlay.js': '2bc56b3cf726', 'ov-home.js': 'b11405559831', 'nav-slots.js': '7b11e6916732', 'ov-wallet.js': '3fa6bb23b429', 'ov-wallet.css': '4923c808c9ad', 'purse.js': '9d3fea0dae02', 'ov-drop.js': '445689a5eb80', 'ov-tip.js': '1d918e7de69d', 'ov-arrange.js': 'ae24086bd2be', 'soft.js': '98ab9b8080b1', 'ov-run.js': '91be6059adcf', 'ov-composer.js': 'ac7107f5d733' };
++ const SIBLING_REV = { 'ov-mark.js': 'f34f731c3a94', 'ov-glyphs.js': '2ee871bd8ffa', 'ov-brand.woff2': '3b4e6a8a5878', 'ov-look.js': 'dd84a30bb646', 'ov-fx.js': '947820d69097', 'ov-labels.js': 'd40f7ca14bc4', 'ov-forms.js': '2eb9e2604c3e', 'ov-forms.css': '07e8f59d9e6d', 'ov-share.js': 'd419508a797e', 'ov-share.css': 'd609a71f611a', 'search.js': 'ef289c4550b1', 'dock.js': '9f15df28050c', 'presence.js': '5f195d41f8c5', 'panels.js': 'd90bfe987d81', 'surfaces.js': 'a94e76bd1200', 'notification-ui.js': '0cef1f895965', 'history.js': 'f9fb9e096c65', 'bottom.js': '1671b6949137', 'appbar.js': 'c21485176ae9', 'release-watch.js': '25f02a3f0684', 'ov-icons.js': '8701ebc6f8a3', 'sso-client.js': 'f574ac3331a5', 'overlay.js': '2bc56b3cf726', 'ov-home.js': 'b11405559831', 'nav-slots.js': '7b11e6916732', 'ov-wallet.js': '3fa6bb23b429', 'ov-wallet.css': '4923c808c9ad', 'purse.js': '9d3fea0dae02', 'ov-drop.js': '445689a5eb80', 'ov-tip.js': '1d918e7de69d', 'ov-arrange.js': 'ae24086bd2be', 'soft.js': '98ab9b8080b1', 'ov-run.js': '91be6059adcf', 'ov-composer.js': 'ac7107f5d733' };
const siblingV = (name) => `${sibling(name)}${SIBLING_REV[name] ? `?v=${SIBLING_REV[name]}` : ''}`;
// ov-tip.js loads at the first hover over a tooltip's owner.
@@@ -624,10 +623,11 @@
};
document.addEventListener('pointerover', tip, { passive: true });
}
-- // ov-glyphs.js, when a page shows a Font Awesome-style icon: now, or the first time one appears. One watch per page,
++ // ov-glyphs.js, when a page shows an icon (<i data-ov-icon>, <i data-ov-brand>, or a Font Awesome name while sites
++ // still write them): now, or the first time one appears. One watch per page,
// made here and not in the bar's render, so it holds nothing of a bar that a page move (Boost) re-renders. A
// mutation only schedules one look 250 ms later, and the watch ends once the glyphs are loading.
-- const GLYPH_ICONS = 'i[class*="fa-"],span[class*="fa-"],link[href*="fontawesome"],link[href*="font-awesome"]';
++ const GLYPH_ICONS = '[data-ov-icon],[data-ov-brand],i[class*="fa-"],span[class*="fa-"]';
let glyphWatch = null;
function loadGlyphs() {
if (root.OVGlyphs || document.getElementById('ov-glyphs-loader') || document.querySelector('script[src*="/ov-glyphs.js"]')) return true;
@@@ -788,8 +788,7 @@
iconSlots().forEach((el) => {
const g = NAV_ICONS[el.getAttribute('data-ovnav-ic')]; if (!g) return;
el.removeAttribute('data-ovnav-ic'); el.removeAttribute('data-ovnav-cls');
-- if (g[0] === 0) { el.innerHTML = g[1] + (g[2] ? `<g class="ovg-s">${g[2]}</g>` : ''); if (g[2]) el.classList.add('has-s'); }
-- else el.innerHTML = `<path fill="currentColor" d="${g[1]}"/>`;
++ el.innerHTML = g[1] + (g[2] ? `<g class="ovg-s">${g[2]}</g>` : ''); if (g[2]) el.classList.add('has-s');
});
}
function iconsUnavailable() {
@@@ -822,18 +821,17 @@
function navIcon(cls) {
if (!cls) return '';
const key = String(cls).split(/\s+/).find(c => NAV_ICONS[c] || (_iconState !== 3 && lazyWidth(c) >= 0));
-- if (!key) return `<i class="fa-solid ${escapeAttr(cls)}"></i>`;
-- const g = NAV_ICONS[key] || (adoptIcons() ? NAV_ICONS[key] : null);
-- const w = g ? g[0] : lazyWidth(key);
-- if (w === 0) {
-- if (g) return ovSvg(g);
-- loadIcons();
-- return ovSvg(null, ` data-ovnav-ic="${key}" data-ovnav-cls="${escapeAttr(cls)}"`);
++ // Not one of the bar's own: an OpenVibe glyph by name (<i data-ov-icon>, drawn by ov-glyphs.js), or, while a
++ // site still passes a Font Awesome name the bar's set lacks, that name for ov-glyphs.js to map (4.231.0).
++ if (!key) {
++ const name = String(cls).trim();
++ if (/^[a-z][a-z0-9-]*$/.test(name) && !name.startsWith('fa-')) return `<i class="ovnav-ic" data-ov-icon="${escapeAttr(name)}" aria-hidden="true"></i>`;
++ return `<i class="fa-solid ${escapeAttr(cls)}"></i>`;
}
-- const svg = `<svg class="ovnav-ic" viewBox="0 0 ${w} 512" style="width:${(w / 512).toFixed(3)}em" aria-hidden="true" focusable="false"`;
-- if (g) return `${svg}><path fill="currentColor" d="${g[1]}"/></svg>`;
++ const g = NAV_ICONS[key] || (adoptIcons() ? NAV_ICONS[key] : null);
++ if (g) return ovSvg(g);
loadIcons();
-- return `${svg} data-ovnav-ic="${key}" data-ovnav-cls="${escapeAttr(cls)}"></svg>`;
++ return ovSvg(null, ` data-ovnav-ic="${key}" data-ovnav-cls="${escapeAttr(cls)}"`);
}
function upgradeIconsWhenFontsReady() { /* icons no longer depend on webfonts */ }
ddiff --git a/ov-glyphs-fa.css b/ov-glyphs-fa.css
iindex b96cc77..3688ac2 100644
---- a/ov-glyphs-fa.css
++++ b/ov-glyphs-fa.css
@@@ -28,6 +28,7 @@
.fa-bell::before{content:"\e00a"}
.fa-binoculars::before{content:"\e117"}
.fa-book::before{content:"\e00b"}
++.fa-book-skull::before{content:"\e00b"}
.fa-book-open::before{content:"\e114"}
.fa-box::before{content:"\e0c5"}
.fa-box-open::before{content:"\e0c5"}
@@@ -36,6 +37,7 @@
.fa-code-branch::before{content:"\e00d"}
.fa-code-fork::before{content:"\e00d"}
.fa-bridge::before{content:"\e00e"}
++.fa-backpack::before{content:"\e09c"}
.fa-briefcase::before{content:"\e09c"}
.fa-suitcase::before{content:"\e09c"}
.fa-bug::before{content:"\e0c6"}
@@@ -63,6 +65,7 @@
.fa-chart-bar::before{content:"\e014"}
.fa-chart-column::before{content:"\e014"}
.fa-chart-line::before{content:"\e014"}
++.fa-chart-pie::before{content:"\e014"}
.fa-chart-simple::before{content:"\e014"}
.fa-magnifying-glass-chart::before{content:"\e014"}
.fa-comment::before{content:"\e015"}
@@@ -168,6 +171,7 @@
.fa-folder::before{content:"\e035"}
.fa-folder-open::before{content:"\e035"}
.fa-folder-tree::before{content:"\e0e0"}
++.fa-apple-whole::before{content:"\e036"}
.fa-utensils::before{content:"\e036"}
.fa-gamepad::before{content:"\e038"}
.fa-gauge::before{content:"\e039"}
@@@ -184,6 +188,7 @@
.fa-earth-americas::before{content:"\e03d"}
.fa-earth-europe::before{content:"\e03d"}
.fa-globe::before{content:"\e03d"}
++.fa-globe-americas::before{content:"\e03d"}
.fa-gpu::before{content:"\e119"}
.fa-grid::before{content:"\e03e"}
.fa-table-cells::before{content:"\e03e"}
@@@ -224,6 +229,7 @@
.fa-file-image::before{content:"\e047"}
.fa-image::before{content:"\e047"}
.fa-images::before{content:"\e047"}
++.fa-satellite::before{content:"\e047"}
.fa-inbox::before{content:"\e0ab"}
.fa-infinity::before{content:"\e0ac"}
.fa-circle-info::before{content:"\e048"}
@@@ -257,6 +263,7 @@
.fa-envelope::before{content:"\e054"}
.fa-map::before{content:"\e055"}
.fa-map-location-dot::before{content:"\e055"}
++.fa-openstreetmap::before{content:"\e055"}
.fa-mask::before{content:"\e0eb"}
.fa-briefcase-medical::before{content:"\e0af"}
.fa-kit-medical::before{content:"\e0af"}
@@@ -369,6 +376,7 @@
.fa-scroll::before{content:"\e0fb"}
.fa-magnifying-glass::before{content:"\e072"}
.fa-magnifying-glass-dollar::before{content:"\e072"}
++.fa-magnifying-glass-location::before{content:"\e072"}
.fa-search::before{content:"\e072"}
.fa-seedling::before{content:"\e0b7"}
.fa-server::before{content:"\e074"}
@@@ -378,6 +386,7 @@
.fa-person-shelter::before{content:"\e0b9"}
.fa-shield::before{content:"\e075"}
.fa-shield-halved::before{content:"\e075"}
++.fa-shield-heart::before{content:"\e075"}
.fa-user-shield::before{content:"\e075"}
.fa-shirt::before{content:"\e076"}
.fa-signature::before{content:"\e0fd"}
@@@ -414,6 +423,8 @@
.fa-tag::before{content:"\e084"}
.fa-tags::before{content:"\e084"}
.fa-bullseye::before{content:"\e085"}
++.fa-crosshairs::before{content:"\e085"}
++.fa-location-crosshairs::before{content:"\e085"}
.fa-telescope::before{content:"\e11e"}
.fa-campground::before{content:"\e087"}
.fa-terminal::before{content:"\e088"}
@@@ -435,6 +446,7 @@
.fa-tv::before{content:"\e0bf"}
.fa-umbrella::before{content:"\e0c0"}
.fa-umbrella-beach::before{content:"\e0c0"}
++.fa-arrow-rotate-left::before{content:"\e107"}
.fa-rotate-back::before{content:"\e107"}
.fa-undo::before{content:"\e107"}
.fa-chevron-up::before{content:"\e08f"}
@@@ -458,6 +470,7 @@
.fa-volume-low::before{content:"\e094"}
.fa-person-walking::before{content:"\e10e"}
.fa-shoe-prints::before{content:"\e10e"}
++.fa-street-view::before{content:"\e10e"}
.fa-wallet::before{content:"\e095"}
.fa-wand-magic::before{content:"\e11f"}
.fa-wand-magic-sparkles::before{content:"\e11f"}
@@@ -485,6 +498,7 @@
.fa-duotone.fa-box-archive::after{content:"\e003";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-bell::after{content:"\e00a";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-binoculars::after{content:"\e117";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-book-skull::after{content:"\e00b";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-book::after{content:"\e00b";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-book-open::after{content:"\e114";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-box-open::after{content:"\e0c5";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -492,6 +506,7 @@
.fa-duotone.fa-cube::after{content:"\e0c5";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-brain::after{content:"\e00c";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-bridge::after{content:"\e00e";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-backpack::after{content:"\e09c";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-briefcase::after{content:"\e09c";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-suitcase::after{content:"\e09c";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-bug::after{content:"\e0c6";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -513,6 +528,7 @@
.fa-duotone.fa-basket-shopping::after{content:"\e013";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-cart-plus::after{content:"\e013";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-closed-captioning::after{content:"\e0cb";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-chart-pie::after{content:"\e014";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-chart-line::after{content:"\e014";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-magnifying-glass-chart::after{content:"\e014";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-chart-simple::after{content:"\e014";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -600,6 +616,7 @@
.fa-duotone.fa-folder::after{content:"\e035";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-folder-open::after{content:"\e035";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-folder-tree::after{content:"\e0e0";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-apple-whole::after{content:"\e036";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-utensils::after{content:"\e036";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-gamepad::after{content:"\e038";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-gauge-high::after{content:"\e039";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -613,6 +630,7 @@
.fa-duotone.fa-gem::after{content:"\e0e1";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-ghost::after{content:"\e0e2";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-gift::after{content:"\e03c";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-globe-americas::after{content:"\e03d";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-globe::after{content:"\e03d";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-earth-americas::after{content:"\e03d";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-earth-europe::after{content:"\e03d";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -643,6 +661,7 @@
.fa-duotone.fa-id-card::after{content:"\e045";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-address-card::after{content:"\e045";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-lightbulb::after{content:"\e046";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-satellite::after{content:"\e047";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-image::after{content:"\e047";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-images::after{content:"\e047";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-file-image::after{content:"\e047";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -667,6 +686,7 @@
.fa-duotone.fa-lock::after{content:"\e053";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-unlock::after{content:"\e053";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-envelope::after{content:"\e054";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-openstreetmap::after{content:"\e055";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-map::after{content:"\e055";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-map-location-dot::after{content:"\e055";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-mask::after{content:"\e0eb";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -761,6 +781,7 @@
.fa-duotone.fa-scissors::after{content:"\e071";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-cut::after{content:"\e071";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-clip::after{content:"\e071";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-magnifying-glass-location::after{content:"\e072";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-magnifying-glass::after{content:"\e072";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-search::after{content:"\e072";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-magnifying-glass-dollar::after{content:"\e072";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -769,6 +790,7 @@
.fa-duotone.fa-icons::after{content:"\e0b8";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-shapes::after{content:"\e0b8";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-person-shelter::after{content:"\e0b9";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-shield-heart::after{content:"\e075";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-shield-halved::after{content:"\e075";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-shield::after{content:"\e075";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-user-shield::after{content:"\e075";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -794,6 +816,8 @@
.fa-duotone.fa-thumbtack::after{content:"\e083";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-tag::after{content:"\e084";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-tags::after{content:"\e084";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-crosshairs::after{content:"\e085";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-location-crosshairs::after{content:"\e085";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-bullseye::after{content:"\e085";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-telescope::after{content:"\e11e";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-campground::after{content:"\e087";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
@@@ -831,6 +855,7 @@
.fa-duotone.fa-video-slash::after{content:"\e093";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-volume-high::after{content:"\e094";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-volume-low::after{content:"\e094";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
++.fa-duotone.fa-street-view::after{content:"\e10e";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-shoe-prints::after{content:"\e10e";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-person-walking::after{content:"\e10e";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
.fa-duotone.fa-wallet::after{content:"\e095";position:absolute;font-family:"OV Glyphs Solid";opacity:.2}
ddiff --git a/ov-glyphs.js b/ov-glyphs.js
iindex 610e169..72bb9be 100644
---- a/ov-glyphs.js
++++ b/ov-glyphs.js
@@@ -1,11 +1,17 @@
/* Generated by scripts/build-glyphs.js from glyphs.js: edit those, then run it. */
/**
-- * openvibe-shared/ov-glyphs.js — the OpenVibe glyphs in place of Font Awesome (plan L32). A page that loads it keeps its
-- * markup (<i class="fa-solid fa-tower-broadcast">) and shows the network's own icon instead: the same hand as the mark
-- * (24-unit grid, 2-unit round strokes), in the text's colour and size. A name the glyphs do not have yet stays Font
-- * Awesome's. A brand logo (fa-brands) is drawn from brands.js (Simple Icons, CC0; 4.72.0), fetched from beside this
-- * file the first time a page shows one, filled in the text's colour with the brand's own as --ovg-brand (add
-- * ovg-brand-color to wear it). A spinner is three dots that take turns, never a spin.
++ * openvibe-shared/ov-glyphs.js — the OpenVibe glyphs (plan L32): the same hand as the mark (24-unit grid, 2-unit round
++ * strokes), in the text's colour and size.
++ *
++ * <i data-ov-icon="live"></i> any glyph by name (openvibe.design/icons lists them); a title names it
++ * <i data-ov-brand="github"></i> a brand logo, from brands.js (Simple Icons, CC0), fetched the first time one
++ * shows, filled in the text's colour (add ovg-brand-color to wear the brand's)
++ * class ovg-xs … ovg-3x, ovg-fw, ovg-rotate-90/180/270, ovg-flip-h/-v, ovg-solid, ovg-line, ovg-draw, ovg-once
++ * OVGlyphs.icon('live', { title }) an element, drawn; OVGlyphs.html('live') its markup
++ *
++ * A spinner is the glyph busy: three dots that take turns, never a spin. Font Awesome markup (<i class="fa-solid
++ * fa-tower-broadcast">) is still drawn with the glyph its name maps to, until every site writes data-ov-icon
++ * (scripts/fa-to-ov.js rewrites a repository); a release after that drops it.
*
* Font Awesome's features keep working without its stylesheet (4.62.0): sizes (fa-2xs … fa-2xl, fa-1x … fa-10x), fa-fw,
* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the
@@@ -18,19 +24,19 @@
* OVGlyphs.swap(rootEl) swaps inside one element now
* OVGlyphs.fromFa('fa-eye') → 'eye' the glyph a Font Awesome name maps to, or null
*
-- * 280 glyphs for 468 Font Awesome names (openvibe.design/icons shows them).
++ * 287 glyphs for 481 Font Awesome names (openvibe.design/icons shows them).
*/
(function () {
'use strict';
if (typeof window === 'undefined' || window.OVGlyphs) return;
-- const G = {"airplane":"<path d=\"M12 3.2c0.9 0 1.4 0.9 1.4 2.4V9.8l7 4.2V15.4l-7-2.4V17.2l1.9 1.4V20L12 19.1l-3.3 0.9v-1.4l1.9-1.4v-4.2L3.6 15.4v-1.4L10.6 9.8V5.6C10.6 4.2 11.1 3.2 12 3.2Z\"/>","alert":"<path d=\"M12 4.5L3.6 18.8h16.9Z\"/><path d=\"M12 10v3.7M12 16.5h0\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","align-left":"<path d=\"M4 5.9h16.6M4 10h10.4M4 14.3h16.6M4 18.5h10.4\"/>","archive":"<rect x=\"3.5\" y=\"4.8\" width=\"17\" height=\"4.7\" rx=\"0.9\"/><path d=\"M5.4 9.5v9.4a0.9 0.9 0 0 0 0.9 0.9h11.3a0.9 0.9 0 0 0 0.9-0.9V9.5M10.1 13.3h3.8\"/>","arrow-down":"<path d=\"M12 3.2v16.7M5.7 13.7l6.3 6.3l6.3-6.3\"/>","arrow-left":"<path d=\"M20.8 12H4M10.3 5.7l-6.3 6.3l6.3 6.3\"/>","arrow-right":"<path d=\"M3.2 12h16.7M13.7 5.7l6.3 6.3l-6.3 6.3\"/>","arrow-up":"<path d=\"M12 20.8V4M5.7 10.3l6.3-6.3l6.3 6.3\"/>","arrows-h":"<path d=\"M3.8 12h16.5M7.6 8.1l-3.9 3.9l3.9 3.9M16.4 8.1l3.9 3.9l-3.9 3.9\"/>","at":"<circle cx=\"12\" cy=\"12\" r=\"3.4\"/><path d=\"M15.4 12v1.3a2.5 2.5 0 0 0 4.9 0V12a8.3 8.3 0 1 0-3.2 6.5\"/>","back":"<path d=\"M16.1 3.6l-8.4 8.4l8.4 8.4\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 14.6V9.5a6.1 6.1 0 0 1 12.2 0v5.1l1.5 2.1h-15.3ZM10 18.7a2.1 2.1 0 0 0 4 0\"/>","binoculars":"<rect x=\"4.4\" y=\"7.4\" width=\"6\" height=\"12.8\" rx=\"3\"/><rect x=\"13.6\" y=\"7.4\" width=\"6\" height=\"12.8\" rx=\"3\"/><path d=\"M10.4 10.2h3.2M10.4 15.8h3.2\"/><path d=\"M6.9 7.4V5.7a1.6 1.6 0 0 1 3.2 0v1.7M13.9 7.4V5.7a1.6 1.6 0 0 1 3.2 0v1.7\"/>","book":"<path d=\"M5 5.7a1.9 1.9 0 0 1 1.9-1.9h12.1v14.9H6.8a1.9 1.9 0 0 0-1.9 1.9Z\"/><path d=\"M5 18.7V5.7\"/>","book-open":"<path d=\"M12 6.3C10 4.8 7 4.3 3.5 4.9v13.2c3.5-0.6 6.5-0.1 8.5 1.4c2-1.5 5-2 8.5-1.4V4.9C17 4.3 14 4.8 12 6.3Z\"/><path d=\"M12 6.3v13.2\"/>","box":"<path d=\"M3.6 7.9L11.9 3.9l8.4 3.9v8.4L11.9 20.1l-8.4-3.9Z\"/><path d=\"M3.6 7.9L11.9 11.8l8.4-3.9M11.9 11.8v8.4M7.8 5.9l8.4 3.9\"/>","brain":"<path d=\"M9.2 4.2a2.8 2.8 0 0 0-2.8 2.8a2.8 2.8 0 0 0-1.9 4.8a2.8 2.8 0 0 0 1.9 4.8a2.8 2.8 0 0 0 5.8 1.1V5.8A1.9 1.9 0 0 0 9.2 4.2ZM14.9 4.2a2.8 2.8 0 0 1 2.8 2.8a2.8 2.8 0 0 1 1.9 4.8a2.8 2.8 0 0 1-1.9 4.8a2.8 2.8 0 0 1-5.8 1.1\"/>","branch":"<circle cx=\"6.7\" cy=\"5.6\" r=\"1.9\"/><circle cx=\"6.7\" cy=\"18.6\" r=\"1.9\"/><circle cx=\"17.9\" cy=\"7.5\" r=\"1.9\"/><path d=\"M6.7 7.5v9.3M17.9 9.3c0 5.1-6 3.7-10.2 7.9\"/>","bridge":"<path d=\"M3.5 16h17M7 19.5V5M17 19.5V5\"/><path d=\"M3.5 10c1.8 0 2.8-2.3 3.5-5c2.4 5.2 7.6 5.2 10 0c.7 2.7 1.7 5 3.5 5\"/><path d=\"M12 10.9V16\"/>","briefcase":"<rect x=\"3.5\" y=\"7.2\" width=\"17\" height=\"12.3\" rx=\"1.9\"/><path d=\"M9.2 7.2V5.7A1.4 1.4 0 0 1 10.6 4.3h2.8A1.4 1.4 0 0 1 14.8 5.7V7.2M3.5 12.3h7.1M13.4 12.3H20.5M10.6 11.4h2.8v2.4h-2.8Z\"/>","bug":"<rect x=\"7.2\" y=\"6.2\" width=\"9.6\" height=\"13.3\" rx=\"4.8\"/><path d=\"M9.3 6.5a2.7 2.7 0 0 1 5.3 0M12 10.9v8.5M7.2 12H3.5M20.5 12h-3.7M7.6 8.3L4.6 5.6M16.4 8.3L19.4 5.6M7.6 16.3L4.6 18.9M16.4 16.3L19.4 18.9\"/>","burst":"<path d=\"M11.9 3.7L13.6 7.8L17.8 6.2L16.2 10.4L20.3 12.1L16.2 13.8L17.8 18L13.6 16.4L11.9 20.4L10.2 16.4L6 18L7.6 13.8L3.6 12.1L7.6 10.4L6 6.2L10.2 7.8Z\"/>","busy":"<path d=\"M4.7 12h0M12.1 12h0M19.4 12h0\" stroke-width=\"4.2\"/>","calendar":"<rect x=\"4\" y=\"5.5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10.5h16M9 3.5v4M15 3.5v4\"/>","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.7 7.9h3.3l1.7-2.7h6.4L16.9 7.9h3.3v11.2h-16.5Z\"/><circle cx=\"11.9\" cy=\"13\" r=\"3.3\"/><path d=\"M3.7 3.5l16.5 16.5\"/>","car":"<path d=\"M3.5 15.8v-4.5L6.2 5.8h11.6l2.7 5.5V15.8Z\"/><path d=\"M3.5 11.3h17M6.5 15.8v2.5M17.5 15.8v2.5M7.2 13.8h0M16.8 13.8h0\"/>","card":"<rect x=\"3.7\" y=\"5.8\" width=\"16.7\" height=\"12.3\" rx=\"1.8\"/><path d=\"M3.7 10.3h16.7M6.7 14.6h3.5\"/>","care":"<path d=\"M12 10.6s-3.8-2.3-3.8-5a2.1 2.1 0 0 1 3.8-1.3a2.1 2.1 0 0 1 3.8 1.3c0 2.7-3.8 5-3.8 5Z\"/><path d=\"M3.5 13.5v6.5M3.5 15h3.3l3.4 2.8h7.7a1.8 1.8 0 0 0 0-3.6h-4.1\"/>","cart":"<path d=\"M3.5 4.1h1.9l2.2 10.2h10.2L20.3 6.9H6.5\"/><circle cx=\"9.1\" cy=\"18.6\" r=\"1.2\"/><circle cx=\"16.5\" cy=\"18.6\" r=\"1.2\"/>","cc":"<rect x=\"3.5\" y=\"5.4\" width=\"17\" height=\"13.2\" rx=\"2.4\"/><path d=\"M10.7 10.2a2.3 2.3 0 1 0 0 3.6M16.8 10.2a2.3 2.3 0 1 0 0 3.6\"/>","chart":"<path d=\"M3.9 3.4v16.7h16.7\"/><path d=\"M7.7 14.5l3.6-4.1l3.2 2.7l5.2-6.3\"/>","chat":"<path d=\"M3.8 4.3h16.8v11.7H8l-4.2 4.2Z\"/>","chat-off":"<path d=\"M4.2 5.1h15.7v10.9H8l-4 4Z\"/><path d=\"M3.7 3.7l16.7 16.7\"/>","check":"<path d=\"M3.7 12.1l5.4 5.4L20.4 6.1\"/>","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=\"M3.6 11.7l3.6 3.6L14.6 7.7M11.1 15.2l0.9 0.9L20.4 7.7\"/>","chevron":"<path d=\"M7.9 3.6l8.4 8.4l-8.4 8.4\"/>","chevrons-left":"<path d=\"M10.9 19.3l-7.3-7.3l7.3-7.3M20.4 19.3l-7.3-7.3l7.3-7.3\"/>","chevrons-right":"<path d=\"M3.6 19.3l7.3-7.3l-7.3-7.3M13.1 19.3l7.3-7.3l-7.3-7.3\"/>","child":"<circle cx=\"12\" cy=\"5.8\" r=\"2.1\"/><path d=\"M7.9 10.5L12 9.2l4.1 1.4M12 9.2v5.6M9.2 20.4l2.8-5.6l2.8 5.6\"/>","chip":"<rect x=\"7.3\" y=\"7.3\" width=\"9.4\" height=\"9.4\" rx=\"1.4\"/><path d=\"M10.1 3.5v3.8M13.9 3.5v3.8M10.1 16.7v3.8M13.9 16.7v3.8M3.5 10.1h3.8M3.5 13.9h3.8M16.7 10.1h3.8M16.7 13.9h3.8\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3.5 19.7h17M5.4 19.7V8.3h4.7v11.3M10.1 19.7V3.6h5.7v16.1M15.8 19.7v-7.6h3.3v7.6M7.8 11.2h0M7.8 14.5h0M12.9 6.9h0M12.9 10.2h0M12.9 13.5h0\"/>","clapper":"<path d=\"M4 10.4h16.3v8.6a1 1 0 0 1-1 1h-14.4a1 1 0 0 1-1-1Z\"/><path d=\"M4 10.4L3.4 7.2l15.7-2.9l0.7 3.3ZM8.5 6.3l2.2 3.2M13.3 5.4l2.2 3.2\"/>","clipboard":"<rect x=\"5.7\" y=\"5\" width=\"12.6\" height=\"15.5\" rx=\"1.9\"/><path d=\"M9.1 5V3.5h5.8V5M9.1 10.8h5.8M9.1 14.7h3.9\"/>","clipboard-check":"<rect x=\"5.7\" y=\"4.9\" width=\"12.6\" height=\"15.5\" rx=\"1.9\"/><path d=\"M9.1 4.9V3.5h5.8V4.9M9.1 13.2l1.9 1.9l3.9-3.9\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M3.7 3.7l16.7 16.7M20.4 3.7L3.7 20.4\"/>","cloud":"<path d=\"M7.8 17.6h8.9a3.4 3.4 0 0 0 0.5-7A5.2 5.2 0 0 0 6.9 10.1A3.7 3.7 0 0 0 7.8 17.6Z\"/>","cloud-off":"<path d=\"M7.5 17.6h9.5a3.8 3.8 0 0 0 0.5-7.5A5.7 5.7 0 0 0 6.4 9.6A4.1 4.1 0 0 0 7.5 17.6Z\"/><path d=\"M4 3.9l16.1 16.1\"/>","code":"<path d=\"M7.8 7.8l-4.2 4.2l4.2 4.2M16.2 7.8l4.2 4.2l-4.2 4.2M14.2 4.6l-4.2 14.8\"/>","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.4\"/><path d=\"M3.5 12h5.1M15.4 12H20.5\"/>","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=\"M8.8 3.5v5.3H3.5M15.2 3.5v5.3h5.3M8.8 20.5v-5.3H3.5M15.2 20.5v-5.3h5.3\"/>","computer":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"11.3\" rx=\"1.9\"/><path d=\"M8.2 19.7h7.6M12 15.9v3.8\"/>","contrast":"<circle cx=\"11.7\" cy=\"12\" r=\"8.4\"/><path d=\"M11.7 3.6v16.7M11.7 7.9h6.5M11.7 12h8.4M11.7 16.2h6.5\"/>","cookie":"<path d=\"M20.6 12.3a8.4 8.4 0 1 1-8.9-8.9a3 3 0 0 0 3.9 3.5a3 3 0 0 0 4.9 5.3Z\"/><path d=\"M8.8 9.4h0M12.2 13.8h0M8.3 15.3h0M15.7 15.3h0\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12.5\" height=\"12.5\" rx=\"2.1\"/><path d=\"M16.3 8V5.8a2.1 2.1 0 0 0-2.1-2.1H5.8a2.1 2.1 0 0 0-2.1 2.1v8.4a2.1 2.1 0 0 0 2.1 2.1h2.1\"/>","couch":"<path d=\"M5.4 10.1V7.2a1.9 1.9 0 0 1 1.9-1.9h9.4a1.9 1.9 0 0 1 1.9 1.9v2.8\"/><path d=\"M3.5 11.9a1.9 1.9 0 0 1 3.8 0v1.4h9.4V11.9a1.9 1.9 0 0 1 3.8 0v4.7H3.5ZM5.4 16.7v1.9M18.6 16.7v1.9\"/>","cpu":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.6\"/><rect x=\"10.4\" y=\"10.4\" width=\"3.2\" height=\"3.2\" rx=\"0.6\"/><path d=\"M9.5 3.5v3.5M14.5 3.5v3.5M9.5 17v3.5M14.5 17v3.5M3.5 9.5h3.5M3.5 14.5h3.5M17 9.5h3.5M17 14.5h3.5\"/>","crown":"<path d=\"M3.5 8.3L7.8 12L11.9 5.5l4.2 6.5l4.2-3.7L18.4 18.1H5.4Z\"/>","cubes":"<path d=\"M12 3.2L8.1 5.2v4.4l3.9 2l3.9-2V5.2ZM7.6 11.6L3.6 13.6v4.4l3.9 2l3.9-2V13.6ZM16.4 11.6l-3.9 2v4.4l3.9 2l3.9-2V13.6Z\"/>","database":"<ellipse cx=\"12\" cy=\"6.4\" rx=\"6.6\" ry=\"2.8\"/><path d=\"M5.4 6.4v11.3c0 1.6 2.9 2.8 6.6 2.8s6.6-1.2 6.6-2.8V6.4M5.4 12c0 1.6 2.9 2.8 6.6 2.8s6.6-1.2 6.6-2.8\"/>","dice":"<rect x=\"3.7\" y=\"3.6\" width=\"16.7\" height=\"16.7\" rx=\"3\"/><path d=\"M8.6 8.6h0M15.5 8.6h0M12.1 12h0M8.6 15.4h0M15.5 15.4h0\" stroke-width=\"2.6\"/>","dish":"<path d=\"M3.8 9.2A10.9 10.9 0 0 0 14.8 20.2Z\"/><path d=\"M9 15l5.2-5.2M14.8 3.4a5.8 5.8 0 0 1 5.8 5.8M14.8 7.5a1.8 1.8 0 0 1 1.8 1.8\"/>","dollar":"<path d=\"M15.7 8C15 6.6 13.7 5.6 12 5.6C9.6 5.6 8.3 6.9 8.3 8.5s1.6 2.5 3.7 2.8s3.7 1.3 3.7 3.1s-1.5 3-3.7 3c-1.8 0-3.2-0.9-3.7-2.4M12 3.7v16.7\"/>","donate":"<circle cx=\"11.9\" cy=\"8.4\" r=\"5.2\"/><path d=\"M11.9 6v4.3M3.7 15.6h16.5V20H3.7ZM8.3 17.7h7.2\"/>","door":"<path d=\"M13.7 4.7L6.3 3.2v16.7l7.5-1.4ZM13.7 5.1h3.3a0.9 0.9 0 0 1 0.9 0.9v14M3.5 20h16.7M11 11.6h0\"/>","down":"<path d=\"M3.6 7.9l8.4 8.4l8.4-8.4\"/>","download":"<path d=\"M12 3.2v11.5M6.8 9.5l5.2 5.2l5.2-5.2M4.7 20h14.7\"/>","drive":"<rect x=\"3.5\" y=\"12.3\" width=\"17\" height=\"6.6\" rx=\"1.9\"/><path d=\"M3.9 12.3L6.8 4.7h10.4l2.8 7.6M16.7 15.6h0M13.8 15.6h0\"/>","drop":"<path d=\"M12 3.5s5.9 6.4 5.9 10.8a5.9 5.9 0 0 1-11.8 0c0-4.4 5.9-10.8 5.9-10.8Z\"/>","ear":"<path d=\"M6.2 9.5a5.7 5.7 0 1 1 10.8 2.4c-0.9 1.9-3.1 3-3.1 5.2a3.4 3.4 0 0 1-6.5 1.6\"/><path d=\"M9.7 9.9a2.4 2.4 0 1 1 3.8 1.5\"/>","enter":"<path d=\"M13.8 3.6h4.1a2.1 2.1 0 0 1 2.1 2.1v12.5a2.1 2.1 0 0 1-2.1 2.1h-4.1M9.5 7.9l4.1 4.1l-4.1 4.1M13.8 12H3.2\"/>","eraser":"<path d=\"M14.3 4.4l5.5 5.5l-9 9H6.6l-2.6-2.6a1.5 1.5 0 0 1 0-2.1Z\"/><path d=\"M9.3 9.4l5.5 5.5M10.8 18.9H20.3\"/>","expand":"<path d=\"M3.5 8.8V3.5h5.3M20.5 8.8V3.5h-5.3M3.5 15.2v5.3h5.3M20.5 15.2v5.3h-5.3\"/>","eye":"<path d=\"M3.5 12S6.6 6.2 12 6.2S20.5 12 20.5 12S17.4 17.8 12 17.8S3.5 12 3.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"2.7\"/>","eye-off":"<path d=\"M10.6 6.1c0.5-0.1 0.9-0.1 1.4-0.1c5.2 0 8.5 6 8.5 6s-0.6 1.1-1.7 2.4M6.9 7.6C4.7 9.2 3.5 12 3.5 12s3.3 6 8.5 6c1.6 0 3-0.5 4.2-1.2\"/><path d=\"M10 10a2.8 2.8 0 0 0 4 4M4.5 4.5l15 15\"/>","fast-forward":"<path d=\"M4 6.4v11.2L11.6 12ZM13.1 6.4v11.2L20.7 12Z\"/>","file":"<path d=\"M6.4 3.5h7.6l3.8 3.8v13.2H6.4Z\"/><path d=\"M13.9 3.5v3.8h3.8\"/>","file-code":"<path d=\"M13.9 3.5H7.4a1.9 1.9 0 0 0-1.9 1.9v13a1.9 1.9 0 0 0 1.9 1.9h9.3a1.9 1.9 0 0 0 1.9-1.9V8.2Z\"/><path d=\"M13.9 3.5v4.6h4.6M10.1 12.4L8.3 14.3l1.9 1.9M13.9 12.4l1.9 1.9l-1.9 1.9\"/>","film":"<rect x=\"3.5\" y=\"4.4\" width=\"17\" height=\"15.1\" rx=\"1.9\"/><path d=\"M7.7 4.4v15.1M16.3 4.4v15.1M3.5 9.2h4.3M3.5 14.8h4.3M16.3 9.2H20.5M16.3 14.8H20.5\"/>","filter":"<path d=\"M3.5 6h17M6.7 12.4h10.6M9.9 18.7h4.2\"/>","finish":"<path d=\"M5.2 20.7V4\"/><rect x=\"5.2\" y=\"4.6\" width=\"13.9\" height=\"8.6\" rx=\"1\"/><path d=\"M5.2 8.8h13.9M9.6 4.6v8.6M14.3 4.6v8.6\"/>","fire":"<path d=\"M12 20.5a6.8 6.8 0 0 0 6.8-6.8c0-4.3-2.9-6.8-4.2-10.1c-2 2.3-2.6 4.5-2.6 4.5S10.7 5.8 9.5 3.8C7 6.6 5.2 10 5.2 13.7a6.8 6.8 0 0 0 6.8 6.8Z\"/>","fish":"<path d=\"M9 12c1.8-3.2 4.3-4.8 7.1-4.8c2.6 0 4.2 2 4.9 4.8c-0.7 2.8-2.3 4.8-4.9 4.8c-2.8 0-5.3-1.6-7.1-4.8Z\"/><path d=\"M9 12L4.2 8.6M9 12l-4.8 3.4M17.3 10.6h0.01\"/>","fist":"<path d=\"M6.4 10.1V6.4a1.6 1.6 0 0 1 3.2 0V9.1M9.5 8.5v-3.2a1.6 1.6 0 0 1 3.2 0v3.2M12.6 8.5v-2.1a1.6 1.6 0 0 1 3.2 0V9.1M15.7 9.1V8a1.6 1.6 0 0 1 3.2 0v5.2a7.3 7.3 0 0 1-7.3 7.3H11.1a5.7 5.7 0 0 1-5.7-5.7V12.3A2.1 2.1 0 0 1 7.4 11.2h2.1a1.6 1.6 0 0 1 0 3.2H8\"/>","flag":"<path d=\"M6.7 20.7V4M6.7 4h10.8l-2 3.9l2 3.9H6.7\"/>","flask":"<path d=\"M9.5 3.2h4.9M10 3.2V9.2L4.9 17.7a1.5 1.5 0 0 0 1.3 2.3h11.6a1.5 1.5 0 0 0 1.3-2.3L14 9.2V3.2\"/><path d=\"M7.3 14.6h9.5\"/>","focus":"<circle cx=\"12\" cy=\"12\" r=\"2.8\"/><path d=\"M3.5 9V5.9A2.4 2.4 0 0 1 5.9 3.5H9M15 3.5h3.1A2.4 2.4 0 0 1 20.5 5.9V9M20.5 15v3.1a2.4 2.4 0 0 1-2.4 2.4H15M9 20.5H5.9A2.4 2.4 0 0 1 3.5 18.1V15\"/>","folder":"<path d=\"M3.8 7.3a1.9 1.9 0 0 1 1.9-1.9h3.6l1.9 1.9h7.4a1.9 1.9 0 0 1 1.9 1.9v7.4a1.9 1.9 0 0 1-1.9 1.9H5.8a1.9 1.9 0 0 1-1.9-1.9Z\"/>","folder-tree":"<path d=\"M4.1 3.3v13.2a1 1 0 0 0 1 1H9.7M4.1 8.3H9.7\"/><path d=\"M10.2 5.3h3.1l1 1.5h5.6V10.9h-9.7ZM10.2 14.5h3.1l1 1.5h5.6V20.1h-9.7Z\"/>","food":"<path d=\"M8.2 4v6.5M6.3 4v4.2a1.9 1.9 0 0 0 3.7 0V4M8.2 10.5v10.2M17.5 20.8V4c-1.9 1.1-3 3.3-3 6.5v2.8H17.5\"/>","game":"<rect x=\"3.7\" y=\"7.2\" width=\"16.7\" height=\"9.7\" rx=\"4.4\"/><path d=\"M7.6 10.7v2.7M6.4 12h2.7M15.1 11.6h0M17.4 12.9h0\"/>","gauge":"<path d=\"M3.6 16.9a8.4 8.4 0 1 1 16.7 0\"/><path d=\"M11.9 13.2l4.1-5.7\"/><circle cx=\"11.9\" cy=\"13.2\" r=\"1.4\"/>","gavel":"<path d=\"M13.7 4.1l5.1 5.1M10.5 7.4l5.1 5.1M12.1 5.8l-5.6 5.6l5 5l5.6-5.6M3.5 19.5l5.9-5.9M13.7 19.5h6.5\"/>","gear":"<circle cx=\"12\" cy=\"12.1\" r=\"2.3\"/><path d=\"M17.6 14.3a1.3 1.3 0 0 0 0.2 1.5l0.1 0.1a1.5 1.5 0 1 1-2.4 2.4l-0.1-0.1a1.3 1.3 0 0 0-1.5-0.2a1.3 1.3 0 0 0-0.8 1.3V18.8a1.5 1.5 0 1 1-3.4 0v-0.1a1.3 1.3 0 0 0-0.9-1.3a1.3 1.3 0 0 0-1.5 0.2l-0.1 0.1a1.5 1.5 0 1 1-2.4-2.4l0.1-0.1a1.3 1.3 0 0 0 0.2-1.5a1.3 1.3 0 0 0-1.3-0.8H5.4a1.5 1.5 0 1 1 0-3.4h0.1a1.3 1.3 0 0 0 1.3-0.9a1.3 1.3 0 0 0-0.2-1.5l-0.1-0.1a1.5 1.5 0 1 1 2.4-2.4l0.1 0.1a1.3 1.3 0 0 0 1.5 0.2H9.8a1.3 1.3 0 0 0 0.8-1.3V5.4a1.5 1.5 0 1 1 3.4 0v0.1a1.3 1.3 0 0 0 0.8 1.3a1.3 1.3 0 0 0 1.5-0.2l0.1-0.1a1.5 1.5 0 1 1 2.4 2.4l-0.1 0.1a1.3 1.3 0 0 0-0.2 1.5V9.8a1.3 1.3 0 0 0 1.3 0.8H18.7a1.5 1.5 0 1 1 0 3.4h-0.1a1.3 1.3 0 0 0-1.3 0.8Z\"/>","gem":"<path d=\"M6.8 4.9h10.3L20.2 9.5l-8.3 10.3L3.6 9.5Z\"/><path d=\"M3.6 9.5h16.7M9.6 4.9L8.1 9.5l3.8 10.3M14.2 4.9L15.7 9.5l-3.8 10.3\"/>","ghost":"<path d=\"M4.7 20V10.6a7.3 7.3 0 0 1 14.7 0v9.4l-2.4-1.9l-2.5 1.9l-2.4-1.9L9.6 20l-2.5-1.9Z\"/><path d=\"M9.4 10.1h0M14.6 10.1h0\"/>","gift":"<rect x=\"4.4\" y=\"8.8\" width=\"15.1\" height=\"10.4\" rx=\"0.9\"/><path d=\"M3.5 8.8h17M12 8.8v10.4M12 8.8c-1.4-2.8-4.7-3.8-4.7-1.4S12 8.8 12 8.8s4.7-0.9 4.7-3.3S13.4 6 12 8.8\"/>","globe":"<circle cx=\"11.9\" cy=\"11.9\" r=\"8.3\"/><path d=\"M3.6 11.9h16.7M11.9 3.6c2.7 2.7 2.7 13.9 0 16.7M11.9 3.6c-2.7 2.7-2.7 13.9 0 16.7\"/>","gpu":"<rect x=\"3.5\" y=\"5.5\" width=\"14.4\" height=\"10\" rx=\"1.6\"/><circle cx=\"8.2\" cy=\"10.5\" r=\"2.8\"/><path d=\"M8.2 8.3v4.4M6 10.5h4.4\"/><path d=\"M17.9 8h2.6v5h-2.6M3.5 15.5v2.5\"/>","grid":"<rect x=\"3.5\" y=\"3.5\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/><rect x=\"13.1\" y=\"3.5\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/><rect x=\"3.5\" y=\"13.1\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/><rect x=\"13.1\" y=\"13.1\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/>","grip":"<path d=\"M8.3 4.5h0M15.8 4.5h0M8.3 12h0M15.8 12h0M8.3 19.5h0M15.8 19.5h0\" stroke-width=\"3.8\"/>","group":"<path d=\"M3.5 7.3V3.5h3.8M16.7 3.5h3.8v3.8M20.5 16.7v3.8h-3.8M7.3 20.5H3.5v-3.8\"/><rect x=\"7.3\" y=\"7.3\" width=\"5.7\" height=\"4.7\" rx=\"0.9\"/><rect x=\"11.1\" y=\"12\" width=\"5.7\" height=\"4.7\" rx=\"0.9\"/>","hammer":"<path d=\"M13.1 3.7L19.3 9.9l-2.7 2.7l-6.2-6.2Z\"/><path d=\"M13.6 9.4L5 18.1a1.3 1.3 0 0 0 1.9 1.9l8.6-8.6\"/>","hand":"<path d=\"M9.9 13.6V6.2a1.5 1.5 0 0 1 3 0V11.7M12.8 10.7V5.3a1.5 1.5 0 0 1 3 0V11.7M15.8 11.2V6.7a1.5 1.5 0 0 1 3 0v6.9c0 3.9-2.5 6.9-6.4 6.9c-2.6 0-4.1-1.3-5.6-3.5L4.9 14.2a1.5 1.5 0 0 1 2.4-1.8L9.9 15.6\"/>","handshake":"<path d=\"M3.6 9.9v5.3M20.3 9.9v5.3\"/><path d=\"M3.6 10.8h2.2l3.5-2.7l2.9 1.3L14.5 8.2l3.5 2.7h2.2\"/><path d=\"M5.7 10.8l5.6 5.6a1.4 1.4 0 0 0 2-2M18 10.8l-4.7 4.5M17.5 12.8l-4-4l-2.3 2.1a1.3 1.3 0 0 1-1.9-1.9l1.9-2\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heading":"<path d=\"M5.6 3.5v17M18.4 3.5v17M5.6 12h12.7M3.5 3.5h4.2M16.2 3.5h4.2M3.5 20.5h4.2M16.2 20.5h4.2\"/>","headphones":"<path d=\"M4.4 13.9v-2.8a7.5 7.5 0 0 1 14.9 0v2.8\"/><rect x=\"3.5\" y=\"13\" width=\"4.2\" height=\"6\" rx=\"1.4\"/><rect x=\"16.1\" y=\"13\" width=\"4.2\" height=\"6\" rx=\"1.4\"/>","heart":"<path d=\"M11.9 20.3s-8.1-5.1-8.1-11.6a4.6 4.6 0 0 1 8.1-3A4.6 4.6 0 0 1 20 9.2c0 6.5-8.1 11.6-8.1 11.6Z\"/>","heart-broken":"<path d=\"M11.9 20.3s-8.1-5.1-8.1-11.6a4.6 4.6 0 0 1 8.1-3A4.6 4.6 0 0 1 20 9.2c0 6.5-8.1 11.6-8.1 11.6Z\"/><path d=\"M11.9 5.8L10 9.8l3.5 2.3l-1.6 3.9\"/>","heart-pulse":"<path d=\"M19 12.3c-1.7 3.6-7 6.7-7 6.7s-5.3-3.1-7-6.7M4.3 9.7A4.3 4.3 0 0 1 12 7.4a4.3 4.3 0 0 1 7.7 2.2\"/><path d=\"M3.5 11.9h4l1.3-2.2l2.2 4.5l1.8-3.1h7.6\"/>","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=\"M3.8 12.1a8.3 8.3 0 1 0 2.5-5.9L3.8 8.5M3.8 4.2v4.2h4.2\"/><path d=\"M12 7.9v4.3l3.1 1.9\"/>","home":"<path d=\"M3.6 10.6L12 3.3l8.4 7.3v8.4a1 1 0 0 1-1 1h-4.2v-6.3h-6.3v6.3H4.7a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8.6\" cy=\"5.8\" r=\"1.7\"/><path d=\"M3.8 11.9h16.6v3.3a4.2 4.2 0 0 1-4.2 4.2h-8.4A4.2 4.2 0 0 1 3.8 15.2ZM6.8 11.9v-1.4A2.4 2.4 0 0 1 8.9 8.2H9.4M13.7 9.5c0.8-0.9-0.8-1.9 0-2.8M17.3 9.5c0.8-0.9-0.8-1.9 0-2.8\"/>","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.7\" y=\"5.5\" width=\"16.7\" height=\"13\" rx=\"1.9\"/><circle cx=\"9.2\" cy=\"11\" r=\"1.9\"/><path d=\"M6.4 15.6c0.5-1.4 1.6-2.2 2.8-2.2s2.4 0.8 2.8 2.2M14.8 10.1h2.8M14.8 13.4h2.8\"/>","idea":"<path d=\"M9.1 17.6h5.8M10.1 20.5h3.9M8.7 14.3A5.8 5.8 0 1 1 15.2 14.3c-0.7 0.6-1.4 1.5-1.4 2.3h-3.9c0-0.9-0.7-1.7-1.4-2.3Z\"/>","image":"<rect x=\"3.5\" y=\"5.4\" width=\"16.7\" height=\"13\" rx=\"2.8\"/><circle cx=\"9.1\" cy=\"10\" r=\"1.5\"/><path d=\"M20.3 15.6l-4.7-4.7l-7.4 7.4\"/>","inbox":"<path d=\"M3.5 12.7L5.9 4.8h12.1l2.4 7.9V17.8a0.9 0.9 0 0 1-0.9 0.9H4.4a0.9 0.9 0 0 1-0.9-0.9ZM3.5 12.7h4.6l1.4 2.4h4.6l1.4-2.4h4.6\"/>","infinity":"<path d=\"M12 12c-1.8-2.4-3.3-3.6-4.9-3.6a3.6 3.6 0 0 0 0 7.2c1.6 0 3.1-1.2 4.9-3.6Zm0 0c1.8 2.4 3.3 3.6 4.9 3.6a3.6 3.6 0 0 0 0-7.2c-1.6 0-3.1 1.2-4.9 3.6Z\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9.2\" cy=\"8.2\" r=\"2.9\"/><path d=\"M3.8 18.8c0-3 2.4-4.8 5.3-4.8s5.3 2 5.3 4.8M17.9 8.2v5.3M15.3 10.9h5.3\"/>","joystick":"<path d=\"M4.3 19.6h15.4l-2.6-7.3H6.9Z\"/><path d=\"M12 12.3V7.6\"/><circle cx=\"12\" cy=\"5.4\" r=\"2.1\"/><circle cx=\"8.3\" cy=\"16.6\" r=\"1.1\"/><circle cx=\"15.7\" cy=\"16.6\" r=\"1.1\"/>","key":"<circle cx=\"8.1\" cy=\"15.9\" r=\"4.3\"/><path d=\"M11.1 12.9l9.4-9.4M16.8 7.3l3.2 3.2M14.6 9.4l2.2 2.2\"/>","keyboard":"<rect x=\"3.5\" y=\"6.6\" width=\"17\" height=\"10.7\" rx=\"1.8\"/><path d=\"M6.6 10.2h0M9.3 10.2h0M12 10.2h0M14.7 10.2h0M17.4 10.2h0M8.4 13.8h7.2\"/>","language":"<path d=\"M4.6 5.4h8.4M8.8 3.6v1.9M6.4 5.4c0.5 2.8 2.3 5.6 5.6 7M11.1 5.4c-0.6 3.2-2.6 6.3-6 7.9M12 20.3l3.7-8.4l3.7 8.4M13.3 17.5h4.8\"/>","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 5.4l8.3 4.6l-8.3 4.6l-8.3-4.6Z\"/><path d=\"M3.8 14l8.3 4.6l8.3-4.6\"/>","leaf":"<path d=\"M3.8 20.1c0-9.5 5.6-15.2 16.7-16.7c-1 11.1-6.7 16.7-16.7 16.7ZM3.8 20.1l8.9-8.9\"/>","leave":"<path d=\"M12.7 3.5h4.2a2.1 2.1 0 0 1 2.1 2.1v12.7a2.1 2.1 0 0 1-2.1 2.1h-4.2M8.5 16.2l-4.2-4.2l4.2-4.2M4.2 12h10.6\"/>","lifebuoy":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"3.8\"/><path d=\"M6 6l3.4 3.4M14.6 14.7l3.4 3.4M18 6l-3.4 3.4M9.4 14.7l-3.4 3.4\"/>","link":"<path d=\"M9.9 14.1a4.3 4.3 0 0 0 6.1 0l3.2-3.2a4.3 4.3 0 0 0-6.1-6.1l-1.1 1.1M14.1 9.9a4.3 4.3 0 0 0-6.1 0l-3.2 3.2a4.3 4.3 0 0 0 6.1 6.1l1.1-1.1\"/>","link-off":"<path d=\"M10 13.8a4 4 0 0 0 5.6 0l2.9-2.9a4 4 0 0 0-5.6-5.6l-1 1M13.8 10a4 4 0 0 0-5.6 0l-2.9 2.9a4 4 0 0 0 5.6 5.6l1-1\"/><path d=\"M3.6 3.6l16.7 16.7\"/>","list":"<path d=\"M8.2 5.5h11.9M8.2 12h11.9M8.2 18.5h11.9M3.3 5.5h0M3.3 12h0M3.3 18.5h0\"/>","list-ordered":"<path d=\"M9.7 6.8h10.8M9.7 12.8h10.8M9.7 18.8h10.8M3.8 5.4L4.7 5v4.4M3.8 9.3h2M3.8 13.7a1 1 0 0 1 2 0.3c0 1.1-2 1.7-2 2.7h2.2\"/>","live":"<circle cx=\"12\" cy=\"11.8\" r=\"2\"/><path d=\"M8.6 8.4a4.9 4.9 0 0 0 0 7.1M15.4 8.4a4.9 4.9 0 0 1 0 7.1M6.3 6.1a8.1 8.1 0 0 0 0 11.9M17.7 6.1a8.1 8.1 0 0 1 0 11.9\"/>","lock":"<rect x=\"4.7\" y=\"10.7\" width=\"14.5\" height=\"9.4\" rx=\"2.1\"/><path d=\"M7.8 10.7V7.5a4 4 0 0 1 8.3 0v3.2\"/>","lungs":"<path d=\"M12 3.5v8M12 9.4l-3 2.1M12 9.4l3 2.1M8.4 6.5C5.6 6.5 3.5 10.4 3.5 15.2c0 2.8 1.1 4.8 3.2 4.8s2.7-2.1 2.7-4.8V8.3M15.6 6.5C18.4 6.5 20.5 10.4 20.5 15.2c0 2.8-1.1 4.8-3.2 4.8s-2.7-2.1-2.7-4.8V8.3\"/>","mail":"<rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"13.2\" rx=\"1.9\"/><path d=\"M4.4 7.4l7.6 5.7l7.6-5.7\"/>","map":"<path d=\"M9.1 4.6L3.5 6.5v13l5.6-1.9l5.6 1.9l5.6-1.9V4.6l-5.6 1.9Z\"/><path d=\"M9.1 4.6v13M14.7 6.5v13\"/>","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.5\" y=\"7.1\" width=\"17\" height=\"12.3\" rx=\"1.9\"/><path d=\"M9.2 7.1V5.2a0.9 0.9 0 0 1 0.9-0.9h3.8a0.9 0.9 0 0 1 0.9 0.9v1.9M12 10.4v5.7M9.2 13.3h5.7\"/>","megaphone":"<path d=\"M3.6 9.5v4a1 1 0 0 0 1 1H7.1l9 4.5v-15L7.1 8.5H4.5a1 1 0 0 0-1 1Z\"/><path d=\"M7.1 14.5l1.3 5h2.4L10.1 15.1M19.1 9a3.2 3.2 0 0 1 0 5\"/>","members":"<circle cx=\"9.2\" cy=\"7.9\" r=\"3\"/><path d=\"M3.6 19.1c0-3.1 2.6-5.1 5.6-5.1s5.6 2.1 5.6 5.1M15.7 5a3 3 0 0 1 0 5.9M17.6 14.3c1.8 0.6 2.8 2.3 2.8 4.8\"/>","memory":"<rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"7.5\" rx=\"1.2\"/><path d=\"M3.5 15v3.5M6.6 15v3.5M9.7 15v3.5M12.8 15v3.5M15.9 15v3.5M19 15v3.5\"/><path d=\"M6.7 8h4.8M6.7 10.8h3M13.4 8h3.9M13.4 10.8h2.4\"/>","menu":"<path d=\"M3.5 6.7h17M3.5 12h17M3.5 17.3h17\"/>","mic":"<rect x=\"9.2\" y=\"3.5\" width=\"5.7\" height=\"10.4\" rx=\"2.8\"/><path d=\"M5.4 11.1a6.6 6.6 0 0 0 13.2 0M12 17.7v2.8\"/>","mic-off":"<rect x=\"9.2\" y=\"3.6\" width=\"5.7\" height=\"10.4\" rx=\"2.8\"/><path d=\"M5.5 11.1a6.6 6.6 0 0 0 11 5M18.7 11.1c0 0.8-0.1 1.5-0.4 2.2M12.1 17.7v2.8M4.5 4.5l15.1 15.1\"/>","microscope":"<path d=\"M3.4 19.9h17.2M6.2 19.9v-3.4h5.8v3.4M9.2 16.5h8.6M14.1 16.5V7.4M14.1 7.4a4 4 0 0 1 4-4h1.2M19.3 3.4v4.8M9.9 9.9h3.6\"/>","minus":"<path d=\"M3.5 12h17\"/>","minus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 12h8\"/>","money":"<rect x=\"3.5\" y=\"6.6\" width=\"17\" height=\"10.7\" rx=\"1.8\"/><circle cx=\"12\" cy=\"12\" r=\"2.2\"/><path d=\"M6.6 9.8v0M17.4 14.2v0\"/>","moon":"<path d=\"M20.5 14.6A8.6 8.6 0 1 1 9.4 3.5a6.9 6.9 0 0 0 11.2 11.2Z\"/>","more":"<circle cx=\"5.2\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"18.8\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3.6 17.5L9.3 6l3.7 6.3L15.5 9.1L20.3 17.5Z\"/>","move":"<path d=\"M11.9 3.6v16.7M3.6 11.9h16.7M9 6.5l2.9-2.9l2.9 2.9M9 17.3l2.9 2.9l2.9-2.9M6.5 9l-2.9 2.9l2.9 2.9M17.3 9l2.9 2.9l-2.9 2.9\"/>","mug":"<path d=\"M4.8 9.1h11v7a4 4 0 0 1-4 4h-3a4 4 0 0 1-4-4Z\"/><path d=\"M15.8 10.5H17.3a2.5 2.5 0 0 1 0 5h-1.5M8.3 3.5c-0.8 1 0.8 2 0 3M11.8 3.5c-0.8 1 0.8 2 0 3\"/>","music":"<path d=\"M8.6 17.7V5.6l11.1-2.1v12.2\"/><circle cx=\"6\" cy=\"17.7\" r=\"2.6\"/><circle cx=\"17.2\" cy=\"15.7\" r=\"2.6\"/>","mute":"<path d=\"M3.9 9.4h3.6L12.2 5.8v12.4l-4.6-3.6H3.9Z\"/><path d=\"M16.3 9.9l4.1 4.1M20.5 9.9l-4.1 4.1\"/>","news":"<path d=\"M3.5 3.5h13.8v14.9a2.1 2.1 0 0 0 2.1 2.1H5.6a2.1 2.1 0 0 1-2.1-2.1Z\"/><path d=\"M17.3 7.7h3.2v10.6a2.1 2.1 0 0 1-2.1 2.1M7.2 7.7h6.4M7.2 11.5h6.4M7.2 15.2h3.7\"/>","nodes":"<circle cx=\"12\" cy=\"5.4\" r=\"2.1\"/><circle cx=\"5.8\" cy=\"17.9\" r=\"2.1\"/><circle cx=\"18.2\" cy=\"17.9\" r=\"2.1\"/><path d=\"M11 7.4L6.8 15.9M13 7.4l4.3 8.6M7.9 17.9h8.3\"/>","open":"<path d=\"M14 3.8h6.3v6.3M20.2 3.8l-9.4 9.4M18.2 14.2v4.2a2.1 2.1 0 0 1-2.1 2.1H5.6a2.1 2.1 0 0 1-2.1-2.1V7.9a2.1 2.1 0 0 1 2.1-2.1h4.2\"/>","palette":"<path d=\"M12.2 3.8a8.4 8.4 0 1 0 0 16.8c1.1 0 1.7-0.9 1.7-1.6c0-1.1-0.9-1.5-0.9-2.6s0.9-1.6 1.9-1.6H16.9a3.7 3.7 0 0 0 3.7-3.7C20.6 7.2 16.9 3.8 12.2 3.8Z\"/><circle cx=\"8\" cy=\"11.4\" r=\"1.1\"/><circle cx=\"10.3\" cy=\"7.9\" r=\"1.1\"/><circle cx=\"14.5\" cy=\"7.9\" r=\"1.1\"/>","parking":"<rect x=\"3.7\" y=\"3.7\" width=\"16.7\" height=\"16.7\" rx=\"3\"/><path d=\"M9.6 17V7.2h3.4a3 3 0 0 1 0 5.9H9.6\"/>","pause":"<path d=\"M7.1 3.5v17M16.9 3.5v17\"/>","paw":"<path d=\"M7.8 18.5c0-3 1.9-5.3 4.2-5.3s4.2 2.3 4.2 5.3c0 1.4-1.1 2.1-2.1 2.1c-0.8 0-1.4-0.5-2.1-0.5s-1.3 0.5-2.1 0.5c-1.1 0-2.1-0.7-2.1-2.1Z\"/><circle cx=\"5.4\" cy=\"10.6\" r=\"1.9\"/><circle cx=\"9.2\" cy=\"5.7\" r=\"1.9\"/><circle cx=\"14.8\" cy=\"5.7\" r=\"1.9\"/><circle cx=\"18.6\" cy=\"10.6\" r=\"1.9\"/>","pencil":"<path d=\"M11.9 19.6h8.4M16.1 4.2a2 2 0 0 1 2.8 2.8L7.2 18.7l-3.7 0.9l0.9-3.7Z\"/>","phone":"<path d=\"M5.7 3.4h3.9l2 4.9l-2.5 1.5a10.8 10.8 0 0 0 4.9 4.9L15.6 12.3l4.9 2v3.9a2 2 0 0 1-2 2A15.8 15.8 0 0 1 3.8 5.4a2 2 0 0 1 2-2\"/>","phone-off":"<path d=\"M5.6 4.1h3.7l1.9 4.7l-2.4 1.4a10.3 10.3 0 0 0 4.7 4.7L15.1 12.5l4.7 1.9v3.7a1.9 1.9 0 0 1-1.9 1.9A15.1 15.1 0 0 1 3.8 5.9a1.9 1.9 0 0 1 1.9-1.9\"/><path d=\"M4.3 3.6l16.1 16.1\"/>","piggy":"<path d=\"M3.5 11.4c0-3.2 3.3-5.7 7.7-5.7c1.3 0 2.4 0.2 3.4 0.6L17.4 4.7v3.3c0.8 0.7 1.4 1.6 1.6 2.5h1.4v3.4H18.8c-0.5 1-1.3 1.7-2.3 2.3V19.1h-2.9v-1.9c-0.8 0.2-1.7 0.3-2.5 0.3c-0.8 0-1.6-0.1-2.3-0.3v1.9h-2.9v-2.9C4.4 15.1 3.5 13.4 3.5 11.4Z\"/><path d=\"M14.9 10.1h0M8.7 8.1h2.9\"/>","pin":"<path d=\"M12 20.7s-6.2-5.4-6.2-10.5a6.2 6.2 0 0 1 12.4 0C18.2 15.2 12 20.7 12 20.7Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.3\"/>","plane":"<path d=\"M20 4L3.5 10.8l6.6 3.1l3.1 6.6Z\"/><path d=\"M10.1 13.9l9.9-9.9\"/>","play":"<path d=\"M5.6 3.6v16.9l13.4-8.5Z\"/>","plug":"<path d=\"M9.2 4v4.6M14.8 4v4.6M6.9 8.7h10.2v2.8a5.1 5.1 0 0 1-10.2 0ZM12 16.6V20.7\"/>","plus":"<path d=\"M12 3.5v17M3.5 12h17\"/>","plus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 8v8M8 12h8\"/>","print":"<path d=\"M7.1 8.9V3.5h9.9V8.9\"/><rect x=\"3.6\" y=\"8.9\" width=\"16.7\" height=\"7.9\" rx=\"2\"/><path d=\"M7.1 13.8h9.9v6.4H7.1ZM16.4 11.9h0\"/>","puzzle":"<path d=\"M3.8 7h4.2a2.6 2.6 0 1 1 4.8 0h4.2v4.2a2.6 2.6 0 1 1 0 4.8v4.2h-4.2a2.6 2.6 0 1 0-4.8 0H3.8v-4.2a2.6 2.6 0 1 0 0-4.8Z\"/>","quote":"<path d=\"M9.8 6.2C5.8 7.2 3.6 10 3.6 13.9v3.3h5.6v-5.6h-5.6M20.3 6.2c-3.9 1.1-6.1 3.9-6.1 7.8v3.3h5.6v-5.6h-5.6\"/>","radio":"<rect x=\"3.5\" y=\"8.3\" width=\"16.8\" height=\"11.3\" rx=\"1.9\"/><path d=\"M7.3 8.3L16.7 3.9\"/><circle cx=\"15.3\" cy=\"14\" r=\"2.4\"/><path d=\"M6.8 12.4h3.8M6.8 15.4h3.8\"/>","ranking":"<path d=\"M3.5 19.9h17M4.5 19.9V13.8h4.7M9.2 19.9V10h5.7v9.9M14.9 19.9V15.7h4.7v4.3\"/><path d=\"M12 3.4l0.9 1.7l1.9 0.3l-1.4 1.3l0.3 1.9L12 7.7l-1.7 0.9l0.3-1.9L9.3 5.4l1.9-0.3Z\"/>","record":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","recycle":"<path d=\"M7.8 18.2H5.7a1.2 1.2 0 0 1-1-1.8l2.3-3.9M10 5.5l0.9-1.5a1.2 1.2 0 0 1 2.1 0l2.3 3.9M17.7 12.4l1.6 2.7a1.2 1.2 0 0 1-1 1.8h-4.5\"/><path d=\"M11.1 16.5l1.8 1.8l-1.8 1.8M4.5 10.4l2.4-0.7l0.7 2.5M17.2 6.1l-0.7 2.5l-2.5-0.7\"/>","reply":"<path d=\"M9.2 5.8L4 11l5.1 5.1M4 11h10.3a6.2 6.2 0 0 1 6.2 6.2v1\"/>","restroom":"<circle cx=\"7.1\" cy=\"5.3\" r=\"1.7\"/><circle cx=\"16.4\" cy=\"5.3\" r=\"1.7\"/><path d=\"M11.7 3.6v16.7M5.6 20.3v-5.1H4.7V10.6A1.4 1.4 0 0 1 6.1 9.2h1.9a1.4 1.4 0 0 1 1.4 1.4v4.6H8.5V20.3M15.5 20.3v-3.7h-2.4l1.9-6.1a0.9 0.9 0 0 1 0.9-0.9h0.9a0.9 0.9 0 0 1 0.9 0.9l1.9 6.1H17.3v3.7\"/>","retry":"<path d=\"M3.7 12a8.2 8.2 0 0 1 14.1-5.9L20.2 8.4M20.2 3.8v4.6h-4.6M20.2 12a8.2 8.2 0 0 1-14.1 5.9L3.7 15.6M3.7 20.3v-4.6h4.6\"/>","rewind":"<path d=\"M20 6.4v11.2L12.4 12ZM10.9 6.4v11.2L3.3 12Z\"/>","road":"<path d=\"M8.2 3.5L4.4 20.5M15.8 3.5l3.8 17M12 4.4v2.4M12 10.6v2.8M12 17.2V19.6\"/>","robot":"<rect x=\"5.4\" y=\"8.3\" width=\"13.2\" height=\"10.4\" rx=\"2.8\"/><path d=\"M12 4.6v3.8M9.2 13.1h0M14.8 13.1h0M9.6 16.4h4.7M3.5 13.1v1.9M20.5 13.1v1.9\"/>","rocket":"<path d=\"M11.8 15.7L8.4 12.3C9.9 6.9 13.8 3.9 20.2 3.9C20.2 10.3 17.3 14.2 11.8 15.7ZM8.4 12.3L4.9 11.8L7.4 8.3h3.9M11.8 15.7l0.5 3.4l3.4-2.5v-3.9M6.4 17.7c-1.5 0-3 1.5-3 3c1.5 0 3-1.5 3-3Z\"/><circle cx=\"15.3\" cy=\"8.8\" 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=\"M4 3.5a16.5 16.5 0 0 1 16.5 16.5M4 10.4A9.6 9.6 0 0 1 13.6 20.1\"/><path d=\"M4.6 19.4h0\" stroke-width=\"3.9\"/>","save":"<path d=\"M4.7 3.5h11.5l3.2 3.2v13.6H4.7Z\"/><path d=\"M7.8 3.5v5.2h7.3V3.5M7.8 20.2v-6.3h8.4v6.3\"/>","scale":"<path d=\"M12 4.3V19.5M8.5 19.5h6.9M5.5 7.4h13M12 4.3h0M3.7 13.4L5.9 7.8L8.1 13.4M15.9 13.4L18.1 7.8l2.2 5.6M3.7 13.4a2.2 2.2 0 0 0 4.3 0M15.9 13.4a2.2 2.2 0 0 0 4.3 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 3.8h10.1a1.9 1.9 0 0 1 1.9 1.9v1.5H17M8.3 3.8a1.9 1.9 0 0 0-1.9 1.9v11.7a2.9 2.9 0 0 1-2.9 2.9h10.7a2.9 2.9 0 0 0 2.9-2.9v-11.7a1.9 1.9 0 0 0-1.9-1.9M10.2 9.2h3.9M10.2 13h3.9\"/>","search":"<circle cx=\"10.6\" cy=\"10.6\" r=\"7\"/><path d=\"M20.4 20.4l-4.5-4.5\"/>","seedling":"<path d=\"M12 20.8v-9.8M12 11C12 6.7 9.3 4 4.4 4c0 4.3 2.7 7 7.6 7ZM12 13.7c0-4.3 2.7-7 7.6-7c0 4.3-2.7 7-7.6 7Z\"/>","server":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"7.4\" rx=\"2.1\"/><rect x=\"3.5\" y=\"13.1\" width=\"17\" height=\"7.4\" rx=\"2.1\"/><path d=\"M7.8 7.2h0M7.8 16.8h0\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.7\" r=\"3.4\"/><path d=\"M16.4 3.7l3.9 6.9h-7.9ZM13.9 14.1h5.9v5.9h-5.9ZM3.6 20l3.4-5.9l3.4 5.9Z\"/>","share":"<path d=\"M12 15.2V3.3M7.4 8.1L12 3.3L16.6 8.1M4.9 12.9v6.1a1 1 0 0 0 1 1h12.2a1 1 0 0 0 1-1v-6.1\"/>","shelter":"<path d=\"M3.7 10.5L12 4l8.3 6.5M5.9 9.2v10.4M18.1 9.2v10.4\"/><circle cx=\"12\" cy=\"11\" r=\"1.6\"/><path d=\"M9.8 19.6v-3.9a2.2 2.2 0 0 1 4.3 0V19.6\"/>","shield":"<path d=\"M12 3.7L5.5 6.6v5.6c0 4.1 2.8 7.1 6.5 8.4c3.7-1.3 6.5-4.2 6.5-8.4V6.6Z\"/>","shirt":"<path d=\"M8.2 3.8L3.7 6.6l1.8 3.8l1.8-0.9v11.2h9.3V9.4l1.8 0.9l1.8-3.8l-4.7-2.7c-0.5 1.4-1.8 2.3-3.8 2.3S8.8 5.1 8.2 3.8Z\"/>","signature":"<path d=\"M3.9 14c2.4 0 3.3-8.4 5.6-8.4c1.4 0 0.9 5.6 2.4 5.6c0.9 0 1.4-2.4 2.4-2.4s0.8 1.9 1.9 1.9c0.8 0 1.4-0.6 1.9-1.1M3.9 17.8h16.7\"/>","skip":"<path d=\"M4.8 3.5l10.8 8.4l-10.8 8.4Z\"/><path d=\"M19.7 3.5v16.7\"/>","skull":"<path d=\"M12 3.7a6.5 6.5 0 0 0-6.5 6.5c0 2.2 1 3.6 2.4 4.6v2.8h8.4v-2.8c1.3-1 2.4-2.6 2.4-4.6a6.5 6.5 0 0 0-6.5-6.5Z\"/><circle cx=\"9.6\" cy=\"10.7\" r=\"1.3\"/><circle cx=\"14.4\" cy=\"10.7\" r=\"1.3\"/><path d=\"M10.6 17.7v2.8M13.4 17.7v2.8\"/>","slash":"<path d=\"M3.6 3.6l16.7 16.7\"/>","sliders":"<path d=\"M3.5 6.8h10M18.7 6.8H20.3M3.5 17.2h3.6M12.4 17.2H20.3\"/><circle cx=\"16.2\" cy=\"6.8\" r=\"2.4\"/><circle cx=\"9.8\" cy=\"17.2\" r=\"2.4\"/>","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 3.5v17M4.6 7.8l14.7 8.5M4.6 16.3l14.7-8.5M9.6 4.9L12 7.3l2.4-2.4M9.6 19.1L12 16.7l2.4 2.4\"/>","sort":"<path d=\"M3.5 5.8h9.2M3.5 12h6.2M3.5 18.2h3M17.5 4.8v14.4M14.3 16.2l3 3l3-3\"/>","sort-asc":"<path d=\"M3.4 5.4h3M3.4 11.6h6.3M3.4 17.9h9.3M17.5 4.3v14.6M14.3 16l3 3l3-3\"/>","spark":"<path d=\"M10.4 3.6l1.7 4.8L17 10.1l-4.8 1.7L10.4 16.7l-1.7-4.8L3.9 10.1l4.8-1.7ZM17 14.8l0.8 2.1L19.8 17.6l-2.1 0.8L17 20.3l-0.8-2.1L14.3 17.6l2.1-0.8Z\"/>","square":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"2.7\"/>","star":"<path d=\"M12 4l2.6 5.3l5.7 0.6l-4.3 3.9l1.2 5.7L12 16.8l-5.2 2.9l1.2-5.7l-4.3-3.9l5.7-0.6Z\"/>","steps":"<path d=\"M9.7 5.7h11M9.7 11.8h11M9.7 17.8h11\"/><path d=\"M3.7 5.7l1.5 1.5L7.7 4.8M3.7 11.8l1.5 1.5L7.7 10.8M3.7 17.8l1.5 1.5L7.7 16.8\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M3.7 8.8L5.3 3.7h13.4L20.3 8.8M3.7 8.8h16.5v1.6a2.8 2.8 0 0 1-5.4 0a2.8 2.8 0 0 1-5.6 0A2.8 2.8 0 0 1 3.7 10.4ZM4.8 12.9v7.2h14.5v-7.2M9.9 20.1v-4.1h4.1v4.1\"/>","storm":"<path d=\"M7.8 16a3.8 3.8 0 1 1 0.8-7.4A4.5 4.5 0 0 1 17.4 10.5a3.1 3.1 0 0 1-0.4 6.2\"/><path d=\"M12.9 12.2l-2.1 3.3h2.5L11.3 18.9\"/>","sun":"<circle cx=\"11.9\" cy=\"11.9\" r=\"3.4\"/><path d=\"M11.9 3.5v1.8M11.9 18.6v1.8M6 6l1.2 1.2M16.7 16.7l1.2 1.2M3.5 11.9h1.8M18.6 11.9h1.8M6 17.9l1.2-1.2M16.7 7.2l1.2-1.2\"/>","swap":"<path d=\"M3.5 7.8h14.9l-3.7-3.7M20.5 16.3H5.6l3.7 3.7\"/>","sword":"<path d=\"M20.3 3.7v3.7L10.4 17.3L6.7 13.6L16.7 3.7Z\"/><path d=\"M5.2 12L12 18.8M8.3 15.7L3.6 20.4\"/>","table":"<rect x=\"3.5\" y=\"4.3\" width=\"17\" height=\"15.1\" rx=\"1.9\"/><path d=\"M3.5 9.5h17M3.5 14.7h17M9.2 9.5V19.4M14.8 9.5V19.4\"/>","tack":"<path d=\"M9.3 4h5.6l-0.9 4.6l2.8 2.8H7.4l2.8-2.8ZM12 11.4v9.3\"/>","tag":"<path d=\"M3.8 11.2V3.8h7.4l9.3 9.3l-7.4 7.4Z\"/><circle cx=\"8\" cy=\"8\" r=\"1.2\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","telescope":"<path d=\"M3.1 11.4l14.4-7.2l2.5 5l-14.4 7.2Z\"/><path d=\"M9.1 14.9l-1.6 4.7M9.1 14.9l5.5 4.7M8.2 17.3h6.4\"/>","tent":"<path d=\"M3.5 18.4h17M12 4.9L4.8 18.4M12 4.9l7.2 13.4M12 12.5L9.3 18.4M12 12.5l2.7 5.8\"/>","terminal":"<rect x=\"3.7\" y=\"4.6\" width=\"16.7\" height=\"14.9\" rx=\"1.9\"/><path d=\"M7.4 9.2l2.8 2.8l-2.8 2.8M12.9 14.8h3.7\"/>","text":"<path d=\"M5.2 20.3L10.9 3.6h2.1l5.7 16.7M7.4 14h9.2\"/>","thumbs-up":"<path d=\"M7.3 10.4v9.6H4.8a1 1 0 0 1-1-1v-7.6a1 1 0 0 1 1-1Z\"/><path d=\"M7.3 10.4L10.9 3.3a2.2 2.2 0 0 1 2.5 2.6L12.7 9.4H18.5a2 2 0 0 1 2 2.4l-1.3 6.6a2 2 0 0 1-2 1.6H7.3\"/>","ticket":"<path d=\"M3.6 7.4h16.7v2.8a1.9 1.9 0 0 0 0 3.7v2.8H3.6v-2.8a1.9 1.9 0 0 0 0-3.7Z\"/><path d=\"M13.8 7.4v9.3\"/>","timeline":"<path d=\"M3.5 12h0.9M8.2 12h1.9M13.9 12h1.9M19.6 12h0.9\"/><circle cx=\"6.3\" cy=\"12\" r=\"1.9\"/><circle cx=\"12\" cy=\"12\" r=\"1.9\"/><circle cx=\"17.7\" cy=\"12\" r=\"1.9\"/><path d=\"M6.3 10.1V5.9M12 13.9v4.3M17.7 10.1V5.9\"/>","toolbox":"<rect x=\"3.5\" y=\"8.1\" width=\"17\" height=\"11.3\" rx=\"1.9\"/><path d=\"M9.2 8.1V5.8A1.4 1.4 0 0 1 10.6 4.3h2.8A1.4 1.4 0 0 1 14.8 5.8V8.1M3.5 12.8h17M8.2 11.4v2.8M15.8 11.4v2.8\"/>","train":"<rect x=\"6.4\" y=\"3.8\" width=\"11.2\" height=\"12.1\" rx=\"2.8\"/><path d=\"M6.4 10.3h11.2M9.2 13.1h0M14.8 13.1h0M8.7 20.5l1.9-3.3M15.3 20.5l-1.9-3.3\"/>","trash":"<path d=\"M4.1 6.7h15.8M10 10.6v5.9M14 10.6v5.9M6.1 6.7l1 11.8a2 2 0 0 0 2 2h5.9a2 2 0 0 0 2-2l1-11.8M9 6.7V3.7h5.9v3\"/>","tree":"<path d=\"M12.1 3.6L7 10.6h2.8L5.6 16.6h13l-4.2-6h2.8ZM12.1 16.6v3.7\"/>","trend-down":"<path d=\"M3.2 7.2l5.6 5.6l3.8-3.8l7.4 7.4\"/><path d=\"M14.4 16.6h5.6v-5.6\"/>","trend-up":"<path d=\"M3.2 16.8L8.8 11.3l3.8 3.8l7.4-7.4\"/><path d=\"M14.4 7.4h5.6v5.6\"/>","trophy":"<path d=\"M7.9 4h8.4v5.2a4.1 4.1 0 0 1-8.4 0ZM7.9 6.1H4.7a3.2 3.2 0 0 0 3.2 4.1M16.2 6.1h3.2a3.2 3.2 0 0 1-3.2 4.1M12 13.4v4.1M7.9 20.8h8.4\"/>","tv":"<rect x=\"3.5\" y=\"7.8\" width=\"17\" height=\"11.6\" rx=\"1.8\"/><path d=\"M8.4 4.3l3.6 3.6l3.6-3.6\"/>","umbrella":"<path d=\"M3.8 12.5a8.4 8.4 0 0 1 16.6 0ZM12.1 12.5v6a1.9 1.9 0 0 1-3.7 0M12.1 4.1v0\"/>","undo":"<path d=\"M9.2 14.2L4 8.9l5.2-5.2\"/><path d=\"M4 8.9h11a5.8 5.8 0 0 1 0 11.5H11.3\"/>","up":"<path d=\"M3.7 16.1l8.3-8.3l8.3 8.3\"/>","upload":"<path d=\"M12 20.8V9.2M6.8 14.5l5.2-5.2l5.2 5.2M4.7 4h14.7\"/>","user":"<circle cx=\"12\" cy=\"7.4\" r=\"3.8\"/><path d=\"M4.3 20.5c0-3.9 3.4-6.6 7.7-6.6s7.7 2.6 7.7 6.6\"/>","user-check":"<circle cx=\"9.2\" cy=\"8.1\" r=\"2.8\"/><path d=\"M4 19c0-2.9 2.4-4.9 5.4-4.9s5.4 1.9 5.4 4.9M15.4 10.8l1.8 1.8l3.6-3.6\"/>","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=\"9.8\" cy=\"7.3\" r=\"3.3\"/><path d=\"M3.5 18.8c0-3.4 2.8-5.7 6.2-5.7c1.2 0 2.2 0.3 3.1 0.7\"/><rect x=\"14.6\" y=\"14.5\" width=\"5.7\" height=\"4.8\" rx=\"1\"/><path d=\"M16 14.5v-1.2a1.5 1.5 0 0 1 2.9 0v1.2\"/>","user-minus":"<circle cx=\"10.1\" cy=\"8\" r=\"3.3\"/><path d=\"M4 19.3c0-3.3 2.7-5.7 6.1-5.7c1.1 0 2.2 0.3 3 0.7\"/><path d=\"M15.1 17h5.7\"/>","user-off":"<circle cx=\"12\" cy=\"8.2\" r=\"3.5\"/><path d=\"M5.1 20c0-3.6 3-5.9 6.9-5.9s6.9 2.3 6.9 5.9\"/><path d=\"M3.7 3.7l16.7 16.7\"/>","user-pen":"<circle cx=\"9.8\" cy=\"8\" r=\"3.3\"/><path d=\"M3.8 19.1c0-3.3 2.7-5.6 6-5.6c1.1 0 2.1 0.3 3 0.7\"/><path d=\"M19.1 12.1l1.4 1.4l-4.7 4.7l-1.9 0.5l0.5-1.9Z\"/>","user-tag":"<circle cx=\"10\" cy=\"7.6\" r=\"3.3\"/><path d=\"M3.8 18.9c0-3.3 2.8-5.6 6.1-5.6c1.1 0 2.2 0.3 3.1 0.7\"/><path d=\"M14.2 14.2h3.7l2.4 2.4l-2.4 2.4h-3.7Z\"/><path d=\"M16.1 16.5h0\"/>","video":"<rect x=\"3.4\" y=\"6.4\" width=\"12.3\" height=\"11.3\" rx=\"1.9\"/><path d=\"M15.6 10.2l4.7-2.8v9.4l-4.7-2.8\"/>","volume":"<path d=\"M3.5 9.5h3.7L11.8 5.8v12.6l-4.7-3.7H3.5Z\"/><path d=\"M15.5 9.5a3.7 3.7 0 0 1 0 5.2M18.1 6.9a7.3 7.3 0 0 1 0 10.5\"/>","walk":"<circle cx=\"12.3\" cy=\"5.1\" r=\"1.7\"/><path d=\"M8.8 20.3l2.4-5.5l1.9 2.2V20.3M11 14.8l0.9-5.2l-2.7 1.4l-1.4 2.7M11.9 9.6l1.8 2.7l2.7 0.9\"/>","wallet":"<path d=\"M3.5 6.8A2.7 2.7 0 0 1 6.2 4.2H18.4v4.2M3.5 6.8V18a2.1 2.1 0 0 0 2.1 2.1h14.9V8.4H6.2A2.7 2.7 0 0 1 3.5 6.8Z\"/><path d=\"M16.2 14.2h0\"/>","wand":"<path d=\"M3.7 20.3L13.9 10.1M12.1 8.3l3.6 3.6\"/><path d=\"M17.9 3.7l0.9 2.3l2.3 0.9l-2.3 0.9l-0.9 2.3l-0.9-2.3l-2.3-0.9l2.3-0.9Z\"/>","water":"<path d=\"M3.5 10.2c2.1 0 2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8s2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8M3.5 15.6c2.1 0 2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8s2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8\"/>","wave":"<path d=\"M3.7 16.2c2.1 0 2.1-1.7 4.2-1.7s2.1 1.7 4.2 1.7s2.1-1.7 4.2-1.7s2.1 1.7 4.2 1.7\"/><path d=\"M6.5 12.7A5.6 5.6 0 0 1 16.4 9.4c-1.9-0.4-3.5 0.3-4 2\"/>","weight":"<circle cx=\"12\" cy=\"5.2\" r=\"2\"/><path d=\"M7.1 8.7h9.9l3 11.3H4.1Z\"/>","wifi":"<path d=\"M3.7 9.4a12.4 12.4 0 0 1 16.7 0M6.4 12.5a8.4 8.4 0 0 1 11.5 0M9.1 15.6a4.4 4.4 0 0 1 6.2 0M12.1 18.6h0\"/>","wind":"<path d=\"M3.5 9.9h10.4a2.8 2.8 0 1 0-2.8-2.8M3.5 13.7h14.2a2.8 2.8 0 1 1-2.8 2.8M3.5 17.5h6.6\"/>","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=\"M3.6 20h16.7M6.3 20L9.9 9.1L15.7 3.3L14.1 10.1L17.8 20\"/><path d=\"M8.4 15.4h7.3\"/>","wrench":"<path d=\"M14.6 3.6a5.2 5.2 0 0 0-4.6 7.3L3.7 17.3V20.3h3.1l6.4-6.4a5.2 5.2 0 0 0 7.3-4.6l-3.2 1.2l-2.5-2.5l1.2-3.2Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13.4 3.5L5.9 12.9h5.7l-0.9 7.6l7.6-9.4h-5.7Z\"/>"};
-- const S = {"airplane":"<path d=\"M11.8 2.6c1.3 0 2 1.2 2 3V9.5l7.2 4.2v2.5L13.8 13.7v3.5l2 1.5v2.5L11.8 19.7l-3.7 1.2v-2.5l2-1.5v-3.5l-7.2 2.5v-2.5L9.8 9.5V5.3c0-1.8 0.7-3 2-3Z\"/>","alert":"<path fill-rule=\"evenodd\" d=\"M10.5 4.1a1.7 1.7 0 0 1 3 0l7.7 13.3a1.7 1.7 0 0 1-1.5 2.6H4.3a1.7 1.7 0 0 1-1.5-2.6ZM11 8.8h2v5.2h-2ZM12 15.2a1.2 1.2 0 1 1 0 2.4a1.2 1.2 0 0 1 0-2.4Z\"/>","alert-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM11.7 6.9h2.5v7.1h-2.5ZM12.9 15.3a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Z\"/>","archive":"<rect x=\"2.6\" y=\"3.4\" width=\"18.8\" height=\"5.4\" rx=\"1.2\"/><path fill-rule=\"evenodd\" d=\"M4.4 10h15.2v9.2a1.6 1.6 0 0 1-1.6 1.6H6a1.6 1.6 0 0 1-1.6-1.6ZM9.6 12.4v1.8h4.8v-1.8Z\"/>","bell":"<path d=\"M5.2 15.4V9.6a6.8 6.8 0 0 1 13.7 0v5.7l1.9 2.6H3.3ZM9.7 19.3h4.6a2.3 2.3 0 0 1-4.6 0Z\"/>","binoculars":"<rect x=\"2.9\" y=\"5.4\" width=\"6.8\" height=\"16\" rx=\"3.4\"/><rect x=\"14.3\" y=\"5.4\" width=\"6.8\" height=\"16\" rx=\"3.4\"/><rect x=\"9.3\" y=\"10.7\" width=\"5.4\" height=\"2.8\" rx=\"1\"/><path class=\"ln\" d=\"M5.8 5.4V5.2a1.3 1.3 0 0 1 2.6 0v0.2M17.6 5.4V5.2a1.3 1.3 0 0 1 2.6 0v0.2\"/>","book":"<path d=\"M4.3 5.2A2.4 2.4 0 0 1 6.8 2.7h12.2v14.6H6.8a2.4 2.4 0 0 0-2.4 2.4Z\"/><path class=\"ln\" d=\"M7.2 20.2h11.2\"/>","book-open":"<path d=\"M10.9 5.8C8.8 4.4 6 3.8 2.5 4.5v14c3.5-0.6 6.3 0 8.4 1.5ZM13.1 5.8c2.1-1.5 5-2 8.4-1.4v14c-3.5-0.6-6.3 0-8.4 1.5Z\"/>","box":"<path d=\"M12 2.7l9.4 4.5l-9.4 4.5l-9.4-4.5ZM2.6 8.9l8.6 4.1v8.2l-8.6-4.3ZM21.4 8.9l-8.6 4.1v8.2l8.6-4.3Z\"/>","brain":"<path d=\"M8.9 3.8a3.2 3.2 0 0 0-3.2 3.1a3.1 3.1 0 0 0-2.2 5.3a3.1 3.1 0 0 0 2.2 5.2a3.2 3.2 0 0 0 5.7 1.3V5.6A2.3 2.3 0 0 0 8.9 3.8Z\"/><path d=\"M15.1 3.8a3.2 3.2 0 0 1 3.2 3.1a3.1 3.1 0 0 1 2.2 5.3a3.1 3.1 0 0 1-2.2 5.2a3.2 3.2 0 0 1-5.7 1.3V5.6A2.3 2.3 0 0 1 15.1 3.8Z\"/>","bridge":"<path d=\"M5.7 4.6h2.6v15.4H5.7ZM15.7 4.6h2.6v15.4h-2.6ZM3.4 14.6h17.2v2.8H3.4Z\"/><path class=\"ln\" d=\"M4 10c1.6 0 2.5-2.3 3-5c2.4 5.2 7.6 5.2 10 0c.5 2.7 1.4 5 3 5M12 10.9V15\"/>","briefcase":"<path d=\"M2.7 9.1a2.5 2.5 0 0 1 2.5-2.5h13.6a2.5 2.5 0 0 1 2.5 2.5v2.8H2.7ZM2.7 13.1h7.2v1.5h4.3v-1.5h7.2V17.9a2.5 2.5 0 0 1-2.5 2.5H5.2a2.5 2.5 0 0 1-2.5-2.5Z\"/><path class=\"ln\" d=\"M9.1 6.6V5.7A1.5 1.5 0 0 1 10.5 4.2h2.9A1.5 1.5 0 0 1 14.9 5.7v0.9\"/>","bug":"<path fill-rule=\"evenodd\" d=\"M12 7a4.8 4.8 0 0 1 4.8 4.8v3.4a4.8 4.8 0 0 1-9.6 0v-3.4A4.8 4.8 0 0 1 12 8Zm-0.7 4.4v7.4h1.4v-7.4Z\"/><path d=\"M9.4 5.8a2.6 2.6 0 0 1 5.2 0Z\"/><path class=\"ln\" d=\"M7.2 12.5H3.8M20.2 12.5h-3.4M7.6 9.4L5 7M16.4 9.4L19 7M7.6 16.6L5 19M16.4 16.6L19 19\"/>","burst":"<path d=\"M12.1 2.6l2 4.6l4.7-1.9l-1.9 4.7l4.6 2l-4.6 2l1.9 4.7l-4.7-1.9l-2 4.6l-2-4.6l-4.7 1.9l1.9-4.7L2.7 12l4.6-2l-1.9-4.7l4.7 1.9Z\"/>","calendar":"<path fill-rule=\"evenodd\" d=\"M4.1 8.1a2 2 0 0 1 2-2h11.8a2 2 0 0 1 2 2V19.5a2 2 0 0 1-2 2H6.1a2 2 0 0 1-2-2Zm2.2 3.9V19.3h11.4v-7.3Z\"/><path class=\"ln\" d=\"M9 3.9v3.5M15 3.9v3.5\"/>","camera":"<path fill-rule=\"evenodd\" d=\"M2.5 7.8a1.9 1.9 0 0 1 1.9-1.9h2.6L8.8 3.3h6.3l1.8 2.6h2.6A1.9 1.9 0 0 1 21.5 7.8v10.7a1.9 1.9 0 0 1-1.9 1.9H4.4A1.9 1.9 0 0 1 2.5 18.5Zm9.5 2a3.6 3.6 0 1 0 0 7.2a3.6 3.6 0 0 0 0-7.2Z\"/>","camera-flip":"<path fill-rule=\"evenodd\" d=\"M2.5 7.8a1.9 1.9 0 0 1 1.9-1.9h2.6L8.8 3.3h6.3l1.8 2.6h2.6A1.9 1.9 0 0 1 21.5 7.8v10.7a1.9 1.9 0 0 1-1.9 1.9H4.4A1.9 1.9 0 0 1 2.5 18.5ZM7.7 11.7A4.5 4.5 0 0 1 16.3 11.7L13.9 12.6A2 2 0 0 0 10.1 12.6ZM16.3 14.8A4.5 4.5 0 0 1 7.7 14.8L10.1 14A2 2 0 0 0 13.9 14Z\"/>","camera-off":"<path d=\"M8.5 4.6L9 3.8h6.1l1.7 2.5h2.5A1.8 1.8 0 0 1 21.2 8.1v9.1ZM3.8 7.3L16.7 20.2H4.8A1.8 1.8 0 0 1 3 18.4V8.1Z\"/><path class=\"ln\" d=\"M4 3.8l16.2 16.2\"/>","car":"<path fill-rule=\"evenodd\" d=\"M5.6 5.2h12.7l2.7 5.5H3ZM2.6 12.2h18.7v4.5H2.6ZM5.9 14.4a1.1 1.1 0 1 0 2.3 0a1.1 1.1 0 1 0-2.3 0ZM15.8 14.4a1.1 1.1 0 1 0 2.3 0a1.1 1.1 0 1 0-2.3 0ZM5 17.5h2.7v1.8H5ZM16.3 17.5h2.7v1.8h-2.7Z\"/>","card":"<path fill-rule=\"evenodd\" d=\"M2.6 7.4a2.4 2.4 0 0 1 2.4-2.4h13.9a2.4 2.4 0 0 1 2.4 2.4v9.3a2.4 2.4 0 0 1-2.4 2.4h-13.9a2.4 2.4 0 0 1-2.4-2.4ZM2.6 9.5v1.7h18.7V9.5ZM5.9 14.2v1.5h4.8v-1.5Z\"/>","care":"<path d=\"M12 11s-4.3-2.6-4.3-5.6a2.3 2.3 0 0 1 4.3-1.5a2.3 2.3 0 0 1 4.3 1.5c0 3-4.3 5.6-4.3 5.6Z\"/><path class=\"ln\" d=\"M3.8 13.8v6M3.8 15.2h3.1l3.3 2.7h7.5a1.7 1.7 0 0 0 0-3.4h-3.9\"/>","cart":"<path d=\"M6.3 7h15l-2.5 8.3H8.1Z\"/><circle cx=\"9.5\" cy=\"19.4\" r=\"1.6\"/><circle cx=\"17\" cy=\"19.4\" r=\"1.6\"/><path class=\"ln\" d=\"M3.8 4.8H5.8l2.3 10.5\"/>","cc":"<path fill-rule=\"evenodd\" d=\"M5.6 4.6h12.7a3 3 0 0 1 3 3v8.8a3 3 0 0 1-3 3h-12.7a3 3 0 0 1-3-3v-8.8a3 3 0 0 1 3-3ZM10.8 9.5A3.2 3.2 0 1 0 10.8 14.5L9.6 13A1.3 1.3 0 1 1 9.6 11ZM17.4 9.5A3.2 3.2 0 1 0 17.4 14.5L16.2 13A1.3 1.3 0 1 1 16.2 11Z\"/>","chart":"<path class=\"ln\" d=\"M4 3.5v16.2h16.2\"/><path d=\"M7 14.9L11 10.3l3 2.5l5.2-6.2V17.7H7Z\"/>","chat":"<path d=\"M2.7 4.7A1.8 1.8 0 0 1 4.5 3h15.2a1.8 1.8 0 0 1 1.8 1.8v10.9a1.8 1.8 0 0 1-1.8 1.8H8.3L2.7 21.8Z\"/>","chat-off":"<path d=\"M8.1 4.6H19a1.6 1.6 0 0 1 1.6 1.6v9.5a1.6 1.6 0 0 1-0.4 1ZM3.4 7.3L12.9 16.8H8.3l-4.9 4.6Z\"/><path class=\"ln\" d=\"M4 4.2l16 16\"/>","check-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM17.3 8.9l1.6 1.6l-7 7l-4.1-4.1l1.6-1.6l2.6 2.6Z\"/>","child":"<circle cx=\"12\" cy=\"5.2\" r=\"2.6\"/><path class=\"ln\" d=\"M7.7 10L12 8.6l4.3 1.4M12 8.6v5.8M9.1 20.1l2.9-5.8l2.9 5.8\"/>","chip":"<path fill-rule=\"evenodd\" d=\"M8.6 7.2h6.8a1.4 1.4 0 0 1 1.4 1.4v6.8a1.4 1.4 0 0 1-1.4 1.4H8.6a1.4 1.4 0 0 1-1.4-1.4V8.6a1.4 1.4 0 0 1 1.4-1.4Zm1.7 3.1v3.4h3.4v-3.4Z\"/><path class=\"ln\" d=\"M10.2 4v3.2M13.8 4v3.2M10.2 16.8V20M13.8 16.8V20M4 10.2h3.2M4 13.8h3.2M16.8 10.2H20M16.8 13.8H20\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"9.5\"/>","city":"<path fill-rule=\"evenodd\" d=\"M5.4 7.7h4.6v10.9H5.4Zm1.9 2.2v1.4h1.2v-1.4Zm0 2.9v1.4h1.2v-1.4Z\"/><path fill-rule=\"evenodd\" d=\"M10.7 3.4h5.1v15.2h-5.1Zm1.7 2.4v1.4h1.4V5.8Zm0 2.9v1.4h1.4V8.7Zm0 2.9v1.4h1.4v-1.4Z\"/><path d=\"M16.5 11.3h2.2v7.4h-2.2Z\"/><path class=\"ln\" d=\"M3.9 18.6h16.1\"/>","clapper":"<path fill-rule=\"evenodd\" d=\"M2.6 5.9L19.9 2.7l0.9 4.3L3.2 8.7ZM7 5.1L9.2 8.1l2.6-0.2L9.6 4.6ZM12.6 4l2.2 3.6l2.6-0.3L15.2 3.6Z\"/><path d=\"M3.1 9.9h18.2v9a1.6 1.6 0 0 1-1.6 1.6h-15a1.6 1.6 0 0 1-1.6-1.6Z\"/>","clipboard":"<path fill-rule=\"evenodd\" d=\"M7.5 4.2h9a2 2 0 0 1 2 2v13.1a2 2 0 0 1-2 2H7.5a2 2 0 0 1-2-2V6.3a2 2 0 0 1 2-2ZM9.1 9.9v1.6h5.8v-1.6Zm0 3.9v1.6h3.9v-1.6Z\"/><rect x=\"8.7\" y=\"2.5\" width=\"6.6\" height=\"3.7\" rx=\"1.2\"/>","clipboard-check":"<path fill-rule=\"evenodd\" d=\"M7.5 4.2h9a2 2 0 0 1 2 2v13.1a2 2 0 0 1-2 2H7.5a2 2 0 0 1-2-2V6.3a2 2 0 0 1 2-2ZM8 13.1L11 16.1l5-5l-1.6-1.6l-3.4 3.4l-1.5-1.5Z\"/><rect x=\"8.7\" y=\"2.5\" width=\"6.6\" height=\"3.7\" rx=\"1.2\"/>","clock":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM11.9 6.6h2.3v5l3.3 2l-1.1 2l-4.3-2.7Z\"/>","cloud":"<path d=\"M7.9 18.2h9.6a4.2 4.2 0 0 0 0.6-8.3A6.1 6.1 0 0 0 6.5 9.2A4.5 4.5 0 0 0 7.9 18.2Z\"/>","cloud-off":"<path d=\"M10.1 5.7A6 6 0 0 1 17.9 9.8a4.1 4.1 0 0 1 2.8 6.5ZM6.6 9.1L15.5 18H7.9A4.4 4.4 0 0 1 6.4 9.2Z\"/><path class=\"ln\" d=\"M5.1 4.2l15 15\"/>","coin":"<path fill-rule=\"evenodd\" d=\"M13 2.6a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM12 5.8h2.1v1.2c1.1 0.2 2.1 0.8 2.6 1.7l-1.7 1c-0.3-0.6-1-1-1.8-1c-0.9 0-1.5 0.4-1.5 1s0.5 0.8 1.8 1.1c1.8 0.4 3.5 1 3.5 3.1c0 1.4-1 2.5-2.8 2.8V18h-2.1v-1.3c-1.2-0.2-2.3-0.9-2.8-2l1.7-1c0.4 0.7 1.1 1.1 2.1 1.1c1 0 1.6-0.4 1.6-1s-0.6-0.8-2-1.1c-1.7-0.4-3.4-1-3.4-3c0-1.3 1-2.4 2.7-2.7Z\"/>","columns":"<path d=\"M2.6 6.3a2.7 2.7 0 0 1 2.7-2.7h13.4a2.7 2.7 0 0 1 2.7 2.7v1.5H2.6ZM2.6 9.9h8.3v10.4H5.3a2.7 2.7 0 0 1-2.7-2.7ZM13 9.9h8.3v7.7a2.7 2.7 0 0 1-2.7 2.7H13Z\"/>","compass":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM17.4 7.7L14.9 14.1L8.5 16.5L11 10.1Z\"/>","compress":"<path d=\"M9.7 9.7H2.7L9.7 2.7ZM14.3 9.7h7l-7-7ZM9.7 14.3H2.7l7 7ZM14.3 14.3h7l-7 7Z\"/>","computer":"<rect x=\"2.6\" y=\"3.4\" width=\"18.8\" height=\"12.8\" rx=\"2.2\"/><path class=\"ln\" d=\"M8 20h8M12 16.2v3.8\"/>","contrast":"<path fill-rule=\"evenodd\" d=\"M12.4 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm0 2.1a7.2 7.2 0 0 1 0 14.4Z\"/>","cookie":"<path fill-rule=\"evenodd\" d=\"M21.6 12.4a9.4 9.4 0 1 1-10-10a3.4 3.4 0 0 0 4.4 3.9a3.4 3.4 0 0 0 5.5 5.9ZM7 9.1a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0ZM10.9 14a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0ZM6.5 15.7a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0ZM14.8 15.7a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0Z\"/>","copy":"<rect x=\"7.5\" y=\"7.5\" width=\"13.8\" height=\"13.8\" rx=\"2.5\"/><path class=\"ln\" d=\"M16.4 7.5V5.9a2.1 2.1 0 0 0-2.1-2.1H5.9a2.1 2.1 0 0 0-2.1 2.1v8.5a2.1 2.1 0 0 0 2.1 2.1h1.7\"/>","couch":"<path d=\"M7.1 4.2h9.7A2.5 2.5 0 0 1 19.4 6.7v1.9a3.1 3.1 0 0 0-3.1 3.1v0.1H7.7v-0.1A3.1 3.1 0 0 0 4.6 8.7V6.7A2.5 2.5 0 0 1 7.1 4.2ZM2.7 11.6a2.5 2.5 0 0 1 5.1 0v1.9h8.6V11.6a2.5 2.5 0 0 1 5.1 0v5.5H2.7Z\"/><path class=\"ln\" d=\"M5.2 17.1v1.9M18.8 17.1v1.9\"/>","cpu":"<path fill-rule=\"evenodd\" d=\"M7 5.8h10A1.2 1.2 0 0 1 18.2 7v10a1.2 1.2 0 0 1-1.2 1.2H7A1.2 1.2 0 0 1 5.8 17V7A1.2 1.2 0 0 1 7 5.8Zm3.4 4.6a0.6 0.6 0 0 0-0.6 0.6v3.2a0.6 0.6 0 0 0 0.6 0.6h3.2a0.6 0.6 0 0 0 0.6-0.6V11a0.6 0.6 0 0 0-0.6-0.6Z\"/><path class=\"ln\" d=\"M9.5 3.7v3.3M14.5 3.7v3.3M9.5 17v3.3M14.5 17v3.3M3.7 9.5h3.3M3.7 14.5h3.3M17 9.5h3.3M17 14.5h3.3\"/>","crown":"<path d=\"M2.6 7.3L7.4 11.5L12 4.1L16.6 11.5l4.8-4.2l-2 11.7H4.6Z\"/>","cubes":"<path d=\"M12 2.3L7.8 4.4v4.8l4.2 2.1l4.2-2.1V4.4ZM6.8 12.1L2.7 14.2v4.8l4.2 2.1l4.2-2.1v-4.8ZM17.2 12.1l-4.2 2.1v4.8l4.2 2.1l4.2-2.1v-4.8Z\"/>","database":"<ellipse cx=\"12\" cy=\"5.7\" rx=\"7.9\" ry=\"3.2\"/><path d=\"M4.1 7.5a7.9 3.2 0 0 0 15.9 0v4.3a7.9 3.2 0 0 1-15.9 0ZM4.1 13.4a7.9 3.2 0 0 0 15.9 0v4.7a7.9 3.2 0 0 1-15.9 0Z\"/>","dice":"<path fill-rule=\"evenodd\" d=\"M6.2 2.7h11.5a3.6 3.6 0 0 1 3.6 3.6v11.5a3.6 3.6 0 0 1-3.6 3.6H6.2a3.6 3.6 0 0 1-3.6-3.6V6.2a3.6 3.6 0 0 1 3.6-3.6ZM6.2 8.2a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM13.8 8.2a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM10 12a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM6.2 15.8a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM13.8 15.8a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0Z\"/>","dish":"<path d=\"M2.7 9.7A11.7 11.7 0 0 0 14.4 21.4Z\"/><path class=\"ln\" d=\"M8.8 15.3l4.9-4.9M14.2 4a5.8 5.8 0 0 1 5.8 5.8M14.2 8.1a1.8 1.8 0 0 1 1.8 1.8\"/>","donate":"<path fill-rule=\"evenodd\" d=\"M12 2.2a5.9 5.9 0 1 0 0 11.8a5.9 5.9 0 0 0 0-11.8Zm-0.8 3.4h1.7v5.1h-1.7ZM2.9 15h18.2v6H2.9ZM7.8 17.1v1.6h8.5V17.1Z\"/>","door":"<path fill-rule=\"evenodd\" d=\"M14.3 4.5L6.2 3v17.1l8.2-1.5ZM10.2 11.5a1 1 0 1 0 2 0a1 1 0 1 0-2 0Z\"/><path class=\"ln\" d=\"M15.5 5.3h1.4a0.9 0.9 0 0 1 0.9 0.9v13.3M15.5 19.5H20M4 19.5h2.1\"/>","download":"<path d=\"M10.6 2.3h2.5v7h4.7L11.9 15.4l-5.9-5.9h4.7Z\"/><path class=\"ln\" d=\"M4.5 19.7h14.9\"/>","drive":"<path fill-rule=\"evenodd\" d=\"M5.3 11.4h13.5a2.7 2.7 0 0 1 2.7 2.7v3a2.7 2.7 0 0 1-2.7 2.7H5.3a2.7 2.7 0 0 1-2.7-2.7v-3a2.7 2.7 0 0 1 2.7-2.7ZM16.8 14.4a1.1 1.1 0 1 1 0 2.3a1.1 1.1 0 0 1 0-2.3ZM13.7 14.4a1.1 1.1 0 1 1 0 2.3a1.1 1.1 0 0 1 0-2.3Z\"/><path class=\"ln\" d=\"M4.1 11.9L6.8 4.7h10.4l2.8 7.2\"/>","drop":"<path d=\"M12 2.2s7 7.4 7 12.6a7 7 0 0 1-13.9 0C5 9.6 12 2.2 12 2.2Z\"/>","eraser":"<path d=\"M14 3.9l6.1 6.1-5.2 5.2-6.1-6.1ZM7.4 10l6.2 6.2-3.2 3.2H6.1l-2.9-2.9a1.6 1.6 0 0 1 0-2.3Z\"/><path class=\"ln\" d=\"M13 19.4h7\"/>","expand":"<path d=\"M2.7 2.7h7L2.7 9.7ZM21.3 2.7h-7l7 7ZM2.7 21.3h7l-7-7ZM21.3 21.3h-7l7-7Z\"/>","eye":"<path fill-rule=\"evenodd\" d=\"M12 5.3C6.4 5.3 2.6 12 2.6 12s3.9 6.7 9.4 6.7S21.5 12 21.5 12S17.6 5.3 12 5.3Zm0 3.3a3.3 3.3 0 1 1 0 6.7a3.3 3.3 0 0 1 0-6.7Z\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/>","eye-off":"<path d=\"M9 5.8A10 10 0 0 1 21.4 12a10 10 0 0 1-2.5 3.8L15.3 12.2a3.3 3.3 0 0 0-3.5-3.5ZM15 18.2A10 10 0 0 1 2.6 12a10 10 0 0 1 2.5-3.8L8.7 11.8a3.3 3.3 0 0 0 3.5 3.5Z\"/><path class=\"ln\" d=\"M4.6 4.6l14.8 14.8\"/>","fast-forward":"<path d=\"M3 5.5v13.1L12 12ZM12.7 5.5v13.1L21.8 12Z\"/>","file":"<path d=\"M5.8 2.4h7.6v5.2h5V21.2H5.8ZM15 2.7l3.1 3.3h-3.1Z\"/>","file-code":"<path fill-rule=\"evenodd\" d=\"M5.8 2.4h7.6v5.2h5V21.2H5.8ZM9.8 11l1.5 1.4l-1.6 1.7l1.6 1.7l-1.5 1.4l-2.9-3.1ZM14.4 11l-1.5 1.4l1.6 1.7l-1.6 1.7l1.5 1.4l2.9-3.1Z\"/><path d=\"M15 2.7l3.1 3.3h-3.1Z\"/>","film":"<path fill-rule=\"evenodd\" d=\"M4.8 3.6h14.4a2.3 2.3 0 0 1 2.3 2.3v12.3a2.3 2.3 0 0 1-2.3 2.3H4.8A2.3 2.3 0 0 1 2.5 18.2V5.8A2.3 2.3 0 0 1 4.8 3.6Zm3.8 2v12.9h6.8V5.5ZM4.4 6v2h2.1V6Zm0 5v1.8h2.1v-1.8Zm0 4.9v2h2.1v-2Zm13.1-10v2h2.1V6Zm0 5v1.8h2.1v-1.8Zm0 4.9v2h2.1v-2Z\"/>","finish":"<path d=\"M6.5 4.2h3.9v4.6H6.5ZM14.8 4.2h4a0.9 0.9 0 0 1 0.9 0.9v3.7h-4.9ZM10.5 8.6h4.5v4.6H10.5Z\"/><path class=\"ln\" d=\"M6 20.3V4.1\"/>","fire":"<path fill-rule=\"evenodd\" d=\"M12.1 19.8a6.8 6.8 0 0 0 6.8-6.8c0-4.3-2.9-6.8-4.2-10.3c-2.1 2.3-2.6 4.6-2.6 4.6S10.8 5.1 9.6 3C7.1 5.9 5.2 9.2 5.2 12.9A6.8 6.8 0 0 0 12.1 21.4Zm0-2.8a2.8 2.8 0 0 0 2.8-2.8c0-1.6-1.2-2.7-1.7-4c-0.9 1-1.1 1.8-1.1 1.8s-0.5-0.9-1-1.6c-1 1.2-1.7 2.5-1.7 3.9a2.8 2.8 0 0 0 2.7 2.7Z\"/>","fish":"<path fill-rule=\"evenodd\" d=\"M8.7 12c1.9-3.5 4.6-5.3 7.6-5.3c2.8 0 4.6 2.2 5.4 5.3c-0.8 3.1-2.6 5.3-5.4 5.3c-3 0-5.7-1.8-7.6-5.3ZM16.2 10.6a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0-2.4 0Z\"/><path class=\"ln\" d=\"M8.7 12L4.4 8.9M8.7 12l-4.3 3.1\"/>","flag":"<path class=\"ln\" d=\"M7.2 20.5V4.3\"/><path d=\"M7.8 4.1h10.9l-2 4.1l2 4.1H7.8Z\"/>","focus":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path class=\"ln\" d=\"M3.8 9V6.1A2.3 2.3 0 0 1 6.1 3.8H9M15 3.8h2.9A2.3 2.3 0 0 1 20.2 6.1V9M20.2 15v2.9a2.3 2.3 0 0 1-2.3 2.3H15M9 20.2H6.1A2.3 2.3 0 0 1 3.8 17.9V15\"/>","folder":"<path d=\"M2.7 6.4a2.1 2.1 0 0 1 2.1-2.1h4.4l2.1 2.1h8.1a2.1 2.1 0 0 1 2.1 2.1v8.7a2.1 2.1 0 0 1-2.1 2.1H4.8a2.1 2.1 0 0 1-2.1-2.1Z\"/>","folder-tree":"<path d=\"M9.6 5h4l1 1.5h6.4v5.3H9.6ZM9.6 14.3h4l1 1.5h6.4v5.3H9.6Z\"/><path class=\"ln\" d=\"M4.1 3.6v13.2a1 1 0 0 0 1 1H9.6M4.1 8.8H9.6\"/>","food":"<path d=\"M4.7 3.3h1.5v4.7h0.6V3.3h1.4v4.7h0.6V3.3h1.5v4.9A2.9 2.9 0 0 1 8.6 10.8V21.7H6.5V10.8a2.9 2.9 0 0 1-1.8-2.7ZM18.9 21.7h-2.3v-7.4h-3V10.6c0-3.9 1.7-6.6 5.2-7.7Z\"/>","game":"<path fill-rule=\"evenodd\" d=\"M7.6 6.3h8.8a5.8 5.8 0 0 1 0 11.5H7.6a5.8 5.8 0 0 1 0-11.5Zm-1.4 3.7v1.6H4.7v1.8h1.6v1.6H7.9v-1.6h1.6v-1.8H7.9v-1.6Zm9.2 1a1.2 1.2 0 1 0 0 2.3a1.2 1.2 0 0 0 0-2.3Zm2.5 1.6a1.2 1.2 0 1 0 0 2.3a1.2 1.2 0 0 0 0-2.3Z\"/>","gauge":"<path fill-rule=\"evenodd\" d=\"M3.7 18A9.4 9.4 0 1 1 19.4 19.6ZM15 8.6l-2.2 5.6l-2.1 0.3l-0.4-2.1Z\"/>","gavel":"<path d=\"M11.3 5.5L5.5 11.3l6.1 6.1l5.8-5.8Z\"/><path class=\"ln\" d=\"M13.7 4.2l5 5M3.8 19.1l5.7-5.7M13.7 19.1h6.3\"/>","gear":"<path fill-rule=\"evenodd\" d=\"M18.2 14.6a1.4 1.4 0 0 0 0.3 1.7l0.1 0.1a1.7 1.7 0 1 1-2.7 2.7l-0.1-0.1a1.4 1.4 0 0 0-1.7-0.3a1.4 1.4 0 0 0-0.9 1.4V19.6a1.7 1.7 0 1 1-3.8 0v-0.1a1.4 1.4 0 0 0-1-1.4a1.4 1.4 0 0 0-1.7 0.3l-0.1 0.1a1.7 1.7 0 1 1-2.7-2.7l0.1-0.1a1.4 1.4 0 0 0 0.3-1.7a1.4 1.4 0 0 0-1.4-0.9H4.6a1.7 1.7 0 1 1 0-3.8h0.1a1.4 1.4 0 0 0 1.4-1a1.4 1.4 0 0 0-0.3-1.7l-0.1-0.1a1.7 1.7 0 1 1 2.7-2.7l0.1 0.1a1.4 1.4 0 0 0 1.7 0.3H9.6a1.4 1.4 0 0 0 0.9-1.4V4.6a1.7 1.7 0 1 1 3.8 0v0.1a1.4 1.4 0 0 0 0.9 1.4a1.4 1.4 0 0 0 1.7-0.3l0.1-0.1a1.7 1.7 0 1 1 2.7 2.7l-0.1 0.1a1.4 1.4 0 0 0-0.3 1.7V9.6a1.4 1.4 0 0 0 1.4 0.9H19.6a1.7 1.7 0 1 1 0 3.8h-0.1a1.4 1.4 0 0 0-1.4 0.9ZM12.1 9.3a2.8 2.8 0 1 0 0 6.5a2.8 2.8 0 0 0 0-6.5Z\"/>","gem":"<path d=\"M6.4 3.9h11.2l3.8 5.3l-9.4 11.6L2.6 9.2Z\"/>","ghost":"<path fill-rule=\"evenodd\" d=\"M3.4 21.3V9.9a8.7 8.7 0 0 1 17.2 0v11.5l-2.9-2.1l-2.9 2.1l-2.9-2.1l-2.9 2.1l-2.9-2.1ZM8.8 7.8a1.6 1.6 0 1 0 0 3.1a1.6 1.6 0 0 0 0-3.1Zm6.2 0a1.6 1.6 0 1 0 0 3.1a1.6 1.6 0 0 0 0-3.1Z\"/>","gift":"<path d=\"M3.1 8.6h17.7v3.3H3.1ZM4.4 12.9h6.6v8.2H5.4a1 1 0 0 1-1-1ZM13 12.9h6.6v7.2a1 1 0 0 1-1 1H13Z\"/><path class=\"ln\" d=\"M12 8.6c-1.5-3.1-5.1-4.1-5.1-1.5S12 8.6 12 8.6s5.1-1 5.1-3.6s-3.6-1.5-5.1 3.6\"/>","globe":"<path d=\"M2.6 11.1A9.5 9.5 0 0 1 12 2.6a4.5 9.5 0 0 0-4.5 8.5ZM21.4 11.1A9.5 9.5 0 0 0 12 2.6a4.5 9.5 0 0 1 4.5 8.5ZM2.6 12.9A9.5 9.5 0 0 0 12 21.5a4.5 9.5 0 0 1-4.5-8.5ZM21.4 12.9A9.5 9.5 0 0 1 12 21.5a4.5 9.5 0 0 0 4.5-8.5ZM12 2.6a2.7 9.5 0 0 0-2.7 8.5h5.3A2.7 9.5 0 0 0 12 2.6ZM12 21.5a2.7 9.5 0 0 1-2.7-8.5h5.3A2.7 9.5 0 0 1 12 21.5Z\"/>","gpu":"<rect x=\"4\" y=\"5.5\" width=\"14.4\" height=\"10\" rx=\"1.6\"/><circle cx=\"8.7\" cy=\"10.5\" r=\"2.8\"/><rect x=\"18.4\" y=\"8\" width=\"2.6\" height=\"5\" rx=\"0.8\"/><path class=\"ln\" d=\"M8.7 8.3v4.4M6.5 10.5h4.4M4 15.5v2.5\"/>","grid":"<rect x=\"2.7\" y=\"2.7\" width=\"8\" height=\"8\" rx=\"2.2\"/><rect x=\"13.3\" y=\"2.7\" width=\"8\" height=\"8\" rx=\"2.2\"/><rect x=\"2.7\" y=\"13.3\" width=\"8\" height=\"8\" rx=\"2.2\"/><rect x=\"13.3\" y=\"13.3\" width=\"8\" height=\"8\" rx=\"2.2\"/>","group":"<rect x=\"6.9\" y=\"6.8\" width=\"6.4\" height=\"4.8\" rx=\"1.1\"/><rect x=\"10.8\" y=\"12.5\" width=\"6.4\" height=\"4.6\" rx=\"1.1\"/><path class=\"ln\" d=\"M4 7.6V4h3.6M16.5 4h3.6v3.6M20 16.4v3.6h-3.6M7.6 20H4v-3.6\"/>","hammer":"<path d=\"M13.1 2.5l7.5 7.5l-3.7 3.7l-7.5-7.5ZM12.9 8.9L3.7 18.1a2.1 2.1 0 0 0 2.9 2.9l9.2-9.2Z\"/>","hand":"<path d=\"M9 14.3V4.9a1.4 1.4 0 0 1 2.8 0v5.2a0.5 0.5 0 0 0 1.1 0V3.8a1.4 1.4 0 0 1 2.8 0v6.4a0.5 0.5 0 0 0 1.1 0V5.7a1.4 1.4 0 0 1 2.8 0v7.7c0 4.5-2.8 7.7-7.3 7.7c-2.9 0-4.7-1.5-6.3-4l-1.8-2.9a1.7 1.7 0 0 1 2.8-2Z\"/>","handshake":"<path d=\"M2.3 9.2h2.7v6.8H2.3ZM19 9.2h2.7v6.8H19Z\"/><path class=\"ln\" d=\"M5.6 10.8h0.3l3.4-2.6l2.9 1.3L14.6 8.1l3.4 2.6h0.4M5.9 10.8l5.4 5.4a1.4 1.4 0 0 0 2-2M18 10.8l-4.7 4.5M17.4 12.8l-3.9-3.9l-2.3 2.1a1.3 1.3 0 0 1-1.9-1.9l1.9-2\"/>","headphones":"<path class=\"ln\" d=\"M4 14.5V12a8 8 0 0 1 16 0v2.5\"/><rect x=\"2.6\" y=\"13.4\" width=\"5.4\" height=\"7.6\" rx=\"1.8\"/><rect x=\"16\" y=\"13.4\" width=\"5.4\" height=\"7.6\" rx=\"1.8\"/>","heart":"<path d=\"M12 21.6s-9.3-5.7-9.3-13a5.3 5.3 0 0 1 9.3-3.6a5.3 5.3 0 0 1 9.3 3.6c0 7.4-9.3 13-9.3 13Z\"/>","heart-broken":"<path fill-rule=\"evenodd\" d=\"M12 21.6s-9.3-5.7-9.3-13a5.3 5.3 0 0 1 9.3-3.6a5.3 5.3 0 0 1 9.3 3.6c0 7.4-9.3 13-9.3 13ZM10.9 5.9l2.7 0.6l-1.4 2.7l3.6 2.5l-2.6 5.9l-2.5-1.1l1.5-3.7l-3.7-2.5Z\"/>","help":"<path fill-rule=\"evenodd\" d=\"M13 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM9.3 9.4A3.7 3.7 0 1 1 13.9 12.8v1.6h-2.1V10.9h1a1.6 1.6 0 1 0-1.6-1.6ZM13 15.8a1.3 1.3 0 1 1 0 2.6a1.3 1.3 0 0 1 0-2.6Z\"/>","history":"<path d=\"M5.8 5.8A9.1 9.1 0 1 1 3.2 12.2h3a6.1 6.1 0 1 0 1.8-4.3ZM2.5 2.7v7.2h7.2ZM11.2 8.1h2.2v3.7l2.7 1.6l-1.1 1.8l-3.8-2.3Z\"/>","home":"<path d=\"M2.7 10.4L12 2.3l9.3 8.1v9.5a1.1 1.1 0 0 1-1.1 1.1h-5.6v-6.9h-5.4v6.9H3.8a1.1 1.1 0 0 1-1.1-1.1Z\"/>","hot-tub":"<circle cx=\"8.2\" cy=\"5.4\" r=\"2.4\"/><path d=\"M2.6 10.9h18.8v4.2a5.1 5.1 0 0 1-5.1 5.1h-8.5a5.1 5.1 0 0 1-5.1-5.1Z\"/><path class=\"ln\" d=\"M6.3 10.9v-0.6A2.4 2.4 0 0 1 8.7 8H9.2M13.5 9.4c0.8-0.9-0.8-1.9 0-2.8M17.3 9.4c0.8-0.9-0.8-1.9 0-2.8\"/>","id":"<path fill-rule=\"evenodd\" d=\"M4.8 4.6h14.4a2.3 2.3 0 0 1 2.3 2.3v10.3a2.3 2.3 0 0 1-2.3 2.3H4.8A2.3 2.3 0 0 1 2.5 17.2V6.9A2.3 2.3 0 0 1 4.8 4.6Zm4.1 4.2a2.2 2.2 0 1 0 0 4.3a2.2 2.2 0 0 0 0-4.3Zm-3.2 7.7h6.4c-0.6-1.7-1.8-2.7-3.2-2.7s-2.6 0.9-3.2 2.7Zm8.8-7.2v1.5h4V9.4Zm0 3.6v1.5h4v-1.5Z\"/>","idea":"<path d=\"M8.3 14.9A6.5 6.5 0 1 1 15.7 14.9c-0.7 0.6-1.3 1.3-1.4 2.2H9.7c-0.1-0.9-0.7-1.6-1.4-2.2Z\"/><path class=\"ln\" d=\"M9.6 20.5h4.8\"/>","image":"<path fill-rule=\"evenodd\" d=\"M2.8 6.1a2.7 2.7 0 0 1 2.7-2.7h13.3A2.7 2.7 0 0 1 21.5 6.1v12.3a2.7 2.7 0 0 1-2.7 2.7H5.4A2.7 2.7 0 0 1 2.8 18.4Zm6.2 2.2a2 2 0 1 0 0 3.9a2 2 0 0 0 0-3.9Zm7.5 3.5l-8.3 7.8h10.7a1.5 1.5 0 0 0 1.5-1.5v-3.1Z\"/>","inbox":"<path fill-rule=\"evenodd\" d=\"M2.7 12.4L5.2 3.7h13.6l2.5 8.8V17.9a1.6 1.6 0 0 1-1.6 1.6H4.2A1.6 1.6 0 0 1 2.7 17.9ZM6.4 5.6L4.6 11.5h3.8l1.5 2.4h4.3l1.5-2.4h3.8L17.6 5.6Z\"/>","info":"<path fill-rule=\"evenodd\" d=\"M12.9 2.6a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM11.7 10.5h2.5V16.9h-2.5ZM12.9 6.4a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Z\"/>","invite":"<circle cx=\"8.8\" cy=\"7.7\" r=\"3.2\"/><path d=\"M2.9 19.2c0-3.4 2.7-5.8 5.8-5.8s5.8 2.4 5.8 5.8Z\"/><path class=\"ln\" d=\"M17.6 7.8v5.3M15 10.5h5.3\"/>","joystick":"<path d=\"M3.8 21.2h16.4l-2.8-8.2H6.6Z\"/><circle cx=\"12\" cy=\"5.6\" r=\"2.8\"/><circle cx=\"8.3\" cy=\"17.2\" r=\"1.1\"/><circle cx=\"15.7\" cy=\"17.2\" r=\"1.1\"/><path class=\"ln\" d=\"M12 13V8.4\"/>","key":"<path fill-rule=\"evenodd\" d=\"M8.3 10.1a5.4 5.4 0 1 1 0 10.9a5.4 5.4 0 0 1 0-10.9Zm0 3.6a1.9 1.9 0 1 0 0 3.8a1.9 1.9 0 0 0 0-3.8Z\"/><path class=\"ln\" d=\"M11.7 12.2l8.7-8.7M16.7 7.2l3.1 3.1M14.4 9.5l2.1 2.1\"/>","keyboard":"<path fill-rule=\"evenodd\" d=\"M4.8 5.7h14.4A2.3 2.3 0 0 1 21.5 8v8a2.3 2.3 0 0 1-2.3 2.3H4.8A2.3 2.3 0 0 1 2.5 16V8a2.3 2.3 0 0 1 2.3-2.3ZM5.3 9.1h1.9v1.9H5.3ZM8.2 9.1h1.9v1.9H8.2ZM11 9.1h1.9v1.9h-1.9ZM13.9 9.1h1.9v1.9h-1.9ZM16.8 9.1h1.9v1.9h-1.9ZM7.8 13.3h8.4v1.7H7.8Z\"/>","laugh":"<path fill-rule=\"evenodd\" d=\"M13 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM7.9 8.1l3.5 1.7l-3.5 1.7l-0.7-1.4l0.7-0.4l-0.7-0.4ZM18 8.1l-3.5 1.7l3.5 1.7l0.7-1.4l-0.7-0.4l0.7-0.4ZM8.5 13.5h8.9a4.4 4.4 0 0 1-8.9 0Z\"/>","layers":"<path d=\"M12 4.3l8.6 5l-8.6 5l-8.6-5Z\"/><path class=\"ln\" d=\"M3.9 13.9l8.1 4.5l8.1-4.5\"/>","leaf":"<path fill-rule=\"evenodd\" d=\"M5.4 18.6c0-8.9 5.2-14.2 15.7-15.7c-1 10.4-6.3 15.7-15.7 15.7Zm3.1-2L16.8 7.1l-9.5 8.5Z\"/><path class=\"ln\" d=\"M3.7 20.3L6 18\"/>","lifebuoy":"<path fill-rule=\"evenodd\" d=\"M13.1 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm0 5.3a4.1 4.1 0 1 1 0 8.2a4.1 4.1 0 0 1 0-8.2ZM15.5 16.2L18.4 19.1L20.2 17.3L17.2 14.3ZM10.8 16.2L7.9 19.1L6 17.3L9 14.3ZM15.5 7.8L18.4 4.9L20.2 6.7L17.2 9.7ZM10.8 7.8L7.9 4.9L6 6.7L9 9.7Z\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path class=\"ln\" d=\"M8.5 8.5a4.9 4.9 0 0 0 0 6.9M15.5 8.5a4.9 4.9 0 0 1 0 6.9M6.2 6.2a8.2 8.2 0 0 0 0 11.5M17.8 6.2a8.2 8.2 0 0 1 0 11.5\"/>","lock":"<path d=\"M4.6 11.1a1.6 1.6 0 0 1 1.6-1.6h11.5a1.6 1.6 0 0 1 1.6 1.6v8.4a1.6 1.6 0 0 1-1.6 1.6H6.2A1.6 1.6 0 0 1 4.6 19.6Z\"/><path class=\"ln\" d=\"M7.9 9.4V6.8a4.1 4.1 0 0 1 8 0V9.4\"/>","mail":"<path d=\"M2.5 7.3v-0.4A2.3 2.3 0 0 1 4.8 4.6h14.4A2.3 2.3 0 0 1 21.5 6.9v0.4l-8.7 5.6a1.6 1.6 0 0 1-1.7 0ZM2.5 9.4v7.6A2.3 2.3 0 0 0 4.8 19.4h14.4a2.3 2.3 0 0 0 2.3-2.3V9.4l-8 5.2a2.7 2.7 0 0 1-3 0Z\"/>","map":"<path d=\"M2.6 6.1 8.3 4.2v14l-5.7 1.9ZM9.7 4.2l4.6 1.6v14l-4.6-1.6ZM15.7 5.8l5.7-1.9v14l-5.7 1.9Z\"/>","mask":"<path fill-rule=\"evenodd\" d=\"M2.7 6.1c3.3 1.4 6.4 2.1 9.4 2.1s6.1-0.6 9.4-2.1c0 7.1-2.9 11.7-5.8 11.7c-1.5 0-2.2-1.5-3.6-1.5s-2.1 1.5-3.6 1.5c-2.9 0-5.8-4.6-5.8-11.7ZM6.8 11.6a1.6 1.1 0 1 0 3.3 0a1.6 1.1 0 1 0-3.3 0ZM14 11.6a1.6 1.1 0 1 0 3.3 0a1.6 1.1 0 1 0-3.3 0Z\"/>","medical":"<path fill-rule=\"evenodd\" d=\"M5.3 6.3h13.5a2.7 2.7 0 0 1 2.7 2.7v8.7a2.7 2.7 0 0 1-2.7 2.7H5.3a2.7 2.7 0 0 1-2.7-2.7V9a2.7 2.7 0 0 1 2.7-2.7ZM10.9 10h2.3v2.2h2.2v2.3h-2.2V16.7h-2.3v-2.2H8.7v-2.3h2.2Z\"/><path class=\"ln\" d=\"M9.2 6.3V5.3a0.9 0.9 0 0 1 0.9-0.9h3.8a0.9 0.9 0 0 1 0.9 0.9v1\"/>","megaphone":"<path d=\"M2.7 9.1a1.1 1.1 0 0 1 1.1-1.1h2.7l9.7-4.8v16.1l-9.7-4.8H3.8A1.1 1.1 0 0 1 2.7 13.2Z\"/><path class=\"ln\" d=\"M6.6 14.5l1.2 5M18.8 8.5a3.4 3.4 0 0 1 0 5.4\"/>","members":"<circle cx=\"9.1\" cy=\"7.1\" r=\"3.5\"/><path d=\"M2.6 19.6c0-3.7 2.9-6.3 6.4-6.3s6.4 2.6 6.4 6.3Z\"/><circle cx=\"16.5\" cy=\"6.6\" r=\"2.8\"/><path d=\"M16.7 12.4c2.8 0.4 4.7 2.7 4.7 6.2V19.6h-4.3c0-2.8-1-5.1-2.7-6.5Z\"/>","memory":"<rect x=\"3.5\" y=\"5\" width=\"17\" height=\"7.5\" rx=\"1.2\"/><path class=\"ln\" d=\"M3.5 14.5v3.5M6.6 14.5v3.5M9.7 14.5v3.5M12.8 14.5v3.5M15.9 14.5v3.5M19 14.5v3.5M6.7 7.5h4.8M6.7 10.3h3M13.4 7.5h3.9M13.4 10.3h2.4\"/>","mic":"<path d=\"M8.9 5.8a3.1 3.1 0 0 1 6.2 0V10.8a3.1 3.1 0 0 1-6.2 0Z\"/><path class=\"ln\" d=\"M5.9 10.8a6.1 6.1 0 0 0 12.3 0M12 16.9V20.2\"/>","mic-off":"<path d=\"M9 5.4A3.1 3.1 0 0 1 15.2 5.8V10.7a3.1 3.1 0 0 1-0.1 0.8Z\"/><path class=\"ln\" d=\"M5.4 10.7a6.6 6.6 0 0 0 11 5M18.7 10.7c0 0.8-0.1 1.5-0.4 2.2M12.1 17.3v2.8M4.5 4.1l15.1 15.1\"/>","microscope":"<path d=\"M2.8 18.2h18.4v2.6H2.8Z\"/><path d=\"M6.2 14.8h5.8v3.4H6.2Z\"/><path d=\"M9.2 14.8h8.6v2.6H9.2Z\"/><path d=\"M12.6 7.4a5 5 0 0 1 5-5h1.2v4.8h-1.2a1.8 1.8 0 0 0-1.8 1.8v6.4h-3.2Z\"/><path class=\"ln\" d=\"M19.3 3.4v4.8M9.9 9.9h3.6\"/>","minus-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM7.9 10.9v2.5h10.2v-2.5Z\"/>","money":"<path fill-rule=\"evenodd\" d=\"M4.8 5.7h14.4a2.1 2.1 0 0 1 2.1 2.1v8.4a2.1 2.1 0 0 1-2.1 2.1H4.8a2.1 2.1 0 0 1-2.1-2.1V7.8a2.1 2.1 0 0 1 2.1-2.1ZM12 8.9a3.1 3.1 0 1 0 0 6.3a3.1 3.1 0 0 0 0-6.3ZM6.3 8.7a1 1 0 1 0 0 2.1a1 1 0 0 0 0-2.1Zm11.4 4.6a1 1 0 1 0 0 2.1a1 1 0 0 0 0-2.1Z\"/><circle cx=\"12\" cy=\"12\" r=\"1.4\"/>","moon":"<path d=\"M21.7 14.6A9.7 9.7 0 1 1 9.4 2.3a8 8 0 0 0 12.3 12.3Z\"/>","more":"<circle cx=\"4.8\" cy=\"12\" r=\"2.2\"/><circle cx=\"12\" cy=\"12\" r=\"2.2\"/><circle cx=\"19.2\" cy=\"12\" r=\"2.2\"/>","mountain":"<path d=\"M2.8 18.1L9.2 5.3l4.1 7.1L16.1 8.9L21.5 18.1Z\"/>","mug":"<path d=\"M3.8 8.9h12.2v7.6a4.6 4.6 0 0 1-4.6 4.6h-3a4.6 4.6 0 0 1-4.6-4.6Z\"/><path class=\"ln\" d=\"M16 11H16.9a2.5 2.5 0 0 1 0 5h-0.9M7.9 3.7c-0.8 1 0.8 2 0 3M11.4 3.7c-0.8 1 0.8 2 0 3\"/>","music":"<path d=\"M7.6 5.4l13.3-2.5v3.5l-13.3 2.5Z\"/><path class=\"ln\" d=\"M8.8 17.9V6.5M19.7 15.6V4.2\"/><circle cx=\"5.5\" cy=\"17.9\" r=\"3.2\"/><circle cx=\"16.7\" cy=\"15.6\" r=\"3.2\"/>","mute":"<path d=\"M2.9 8.8h4l5.5-4.2v14.8l-5.5-4.2H2.9Z\"/><path class=\"ln\" d=\"M15.5 9.6l4.7 4.7M20.3 9.6l-4.7 4.7\"/>","news":"<path fill-rule=\"evenodd\" d=\"M2.8 2.6h14.2v15.2a2.2 2.2 0 0 0 2.2 2.2H5.1A2.2 2.2 0 0 1 2.8 18.9ZM6.6 6.6h6.8v1.7H6.6Zm0 3.7h6.8v1.7H6.6Zm0 3.7h4v1.7H6.6Z\"/><path class=\"ln\" d=\"M17.1 7.7H19.8V17.9a2.1 2.1 0 0 1-2.1 2.1\"/>","nodes":"<circle cx=\"12\" cy=\"5.2\" r=\"3\"/><circle cx=\"5.6\" cy=\"18\" r=\"3\"/><circle cx=\"18.4\" cy=\"18\" r=\"3\"/><path class=\"ln\" d=\"M10.9 7.6L6.8 15.5M13.1 7.6l4.1 7.9M8.4 18h7.1\"/>","palette":"<path fill-rule=\"evenodd\" d=\"M12.1 2.7a9.4 9.4 0 1 0 0 18.8c1.3 0 2-0.9 2-1.9c0-1.2-1-1.5-1-2.5s0.8-1.6 2-1.6H17.3a4.4 4.4 0 0 0 4.4-4.4C21.7 6.7 17.4 2.7 12.1 2.7ZM7.8 9.7a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Zm2.5-3.7a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Zm4.6 0a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Z\"/>","parking":"<path fill-rule=\"evenodd\" d=\"M6.2 2.6h11.6a3.6 3.6 0 0 1 3.6 3.6v11.6a3.6 3.6 0 0 1-3.6 3.6H6.2a3.6 3.6 0 0 1-3.6-3.6V6.2a3.6 3.6 0 0 1 3.6-3.6ZM8.4 18V6H13a4 4 0 0 1 0 8h-2.4v4ZM10.6 8.2v3.6H13a1.8 1.8 0 0 0 0-3.6Z\"/>","pause":"<rect x=\"4.8\" y=\"2.6\" width=\"5.1\" height=\"18.8\" rx=\"1.5\"/><rect x=\"14.2\" y=\"2.6\" width=\"5.1\" height=\"18.8\" rx=\"1.5\"/>","paw":"<path d=\"M6.9 18.5c0-3.5 2.2-6.3 5.1-6.3s5.1 2.8 5.1 6.3c0 1.8-1.3 2.9-2.9 2.9c-0.9 0-1.5-0.6-2.2-0.6s-1.3 0.6-2.2 0.6c-1.6 0-2.9-1.1-2.9-2.9Z\"/><circle cx=\"5.1\" cy=\"10.2\" r=\"2.6\"/><circle cx=\"9.1\" cy=\"5.1\" r=\"2.6\"/><circle cx=\"14.9\" cy=\"5.1\" r=\"2.6\"/><circle cx=\"18.9\" cy=\"10.2\" r=\"2.6\"/>","pencil":"<path d=\"M15.6 3.1a2.2 2.2 0 0 1 3.2 3.2L6.9 18.1l-4.5 1.2l1.2-4.5Z\"/><path class=\"ln\" d=\"M11.8 19.7H20.1\"/>","phone":"<path d=\"M5.1 2.4h4.9l2.4 6l-2.7 1.6a10.7 10.7 0 0 0 4.2 4.2l1.6-2.7l6 2.4v4.9a2.3 2.3 0 0 1-2.3 2.3A17.3 17.3 0 0 1 2.8 4.6a2.3 2.3 0 0 1 2.3-2.3Z\"/>","piggy":"<path fill-rule=\"evenodd\" d=\"M2.6 11.4c0-3.6 3.7-6.5 8.7-6.5c1.4 0 2.7 0.2 3.9 0.7L18.3 3.8v3.7c0.9 0.8 1.5 1.7 1.7 2.8h1.5v3.8H20c-0.5 1.1-1.4 2-2.6 2.6V20.1h-3.3v-2.2c-0.9 0.2-1.8 0.3-2.8 0.3c-0.9 0-1.7-0.1-2.6-0.3v2.2h-3.3v-3.3C3.7 15.5 2.6 13.6 2.6 11.4ZM14.5 9.8a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0-2.2 0ZM8.3 6.8v1.5h3.7V6.8Z\"/>","pin":"<path fill-rule=\"evenodd\" d=\"M12 2.8a7.1 7.1 0 0 0-7.1 7.1c0 5.5 7.1 11.8 7.1 11.8s7.1-6.3 7.1-11.8A7.1 7.1 0 0 0 12 2.8Zm0 4.5a2.5 2.5 0 1 1 0 5.1a2.5 2.5 0 0 1 0-5.1Z\"/>","plane":"<path d=\"M21.2 2.9L2.4 10.7l6.9 3.2ZM21.2 2.9l-11 12l3.2 6.9Z\"/>","play":"<path d=\"M5.1 3.5v17a0.9 0.9 0 0 0 1.3 0.8l12.8-8.5a0.9 0.9 0 0 0 0-1.6L6.5 2.7a0.9 0.9 0 0 0-1.3 0.8Z\"/>","plug":"<path d=\"M6.5 8h10.9v3.3a5.4 5.4 0 0 1-10.9 0Z\"/><path class=\"ln\" d=\"M9.2 4.2v3.8M14.6 4.2v3.8M11.9 16.8v3.5\"/>","plus-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm-1.2 4.2h2.5v3.8H18v2.5h-3.8V17.1h-2.5v-3.8H7.9v-2.5h3.8Z\"/>","print":"<path d=\"M6.2 2.6h11.5v4.4H6.2ZM2.6 11a2.7 2.7 0 0 1 2.7-2.7h13.4a2.7 2.7 0 0 1 2.7 2.7v4.1a2.7 2.7 0 0 1-2.7 2.7h-0.3v-4.5H5.6v4.5h-0.3A2.7 2.7 0 0 1 2.6 15.1ZM7.1 14.7h9.9v6.7H7.1Z\"/>","puzzle":"<path d=\"M2.8 5.4h5a2.9 2.9 0 1 1 5.8 0h5v5a2.9 2.9 0 1 1 0 5.8v5h-5a2.9 2.9 0 1 0-5.8 0H2.8v-5a2.9 2.9 0 1 0 0-5.8Z\"/>","radio":"<path fill-rule=\"evenodd\" d=\"M5.2 7.8h13.6a2.5 2.5 0 0 1 2.5 2.5v7.8a2.5 2.5 0 0 1-2.5 2.5H5.2A2.5 2.5 0 0 1 2.6 18.1v-7.8A2.5 2.5 0 0 1 5.2 7.8ZM12.9 14.2a2.5 2.5 0 1 0 5.1 0a2.5 2.5 0 1 0-5.1 0ZM6.1 11.6v2h4.7v-2ZM6.1 15v2h4.7v-2Z\"/><path class=\"ln\" d=\"M7.1 7.8L16.9 4\"/>","ranking":"<path d=\"M3.5 13.7h4.9V9.9h7.1v5.7h4.9v5.4H3.5ZM12 2.2l1 2l2.2 0.3l-1.6 1.6l0.4 2.2L12 7.5l-2 1l0.4-2.2l-1.6-1.6l2.2-0.3Z\"/>","record":"<path fill-rule=\"evenodd\" d=\"M13.2 2.7a9.3 9.3 0 1 0 0 18.5a9.3 9.3 0 0 0 0-18.5Zm0 3.3a6 6 0 1 1 0 11.9a6 6 0 0 1 0-11.9Z\"/><circle cx=\"13.2\" cy=\"12\" r=\"3.7\"/>","restroom":"<circle cx=\"7.2\" cy=\"5.1\" r=\"1.8\"/><circle cx=\"16.2\" cy=\"5.1\" r=\"1.8\"/><path d=\"M6 9h1.8a1.5 1.5 0 0 1 1.5 1.5v4.7H8.6v5H5.5v-5H4.7v-4.7A1.5 1.5 0 0 1 6 9Z\"/><path d=\"M15.7 9.4h1.1a0.9 0.9 0 0 1 0.9 0.7l1.9 6.3H17.4v3.6h-2.3v-3.6h-2.1l1.9-6.3a0.9 0.9 0 0 1 0.9-0.7Z\"/><path class=\"ln\" d=\"M11.6 3.7v16.3\"/>","retry":"<path class=\"ln\" d=\"M4 12a8 8 0 0 1 13.4-5.9M20 12a8 8 0 0 1-13.4 5.9\"/><path d=\"M21.3 2.8v7h-7ZM2.7 21.2v-7h7Z\"/>","rewind":"<path d=\"M21 5.5v13.1L12 12ZM11.3 5.5v13.1L2.2 12Z\"/>","robot":"<path fill-rule=\"evenodd\" d=\"M8.5 8.7h6.9a3.1 3.1 0 0 1 3.1 3.1v4.3A3.1 3.1 0 0 1 15.5 19.3H8.5A3.1 3.1 0 0 1 5.4 16.2v-4.3A3.1 3.1 0 0 1 8.5 8.7Zm0.9 3.8a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4Zm5.2 0a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4ZM9.7 16v1.3h4.5v-1.3Z\"/><path class=\"ln\" d=\"M12 5.3v3.5M3.9 13.1v2.8M20.2 13.1v2.8\"/>","rocket":"<path fill-rule=\"evenodd\" d=\"M11.9 16.6L7.4 12.2C9.1 6.1 13.6 2.9 21.1 2.9c0 7.5-3.2 12-9.2 13.7ZM13.6 8.7a1.7 1.7 0 1 0 3.5 0a1.7 1.7 0 1 0-3.5 0Z\"/><path d=\"M3.7 12.2L6.8 7.5h3.5L6.6 12.6ZM11.4 17.4L11.9 20.3l4.6-3.3v-3.5ZM6.3 17.7c-2 0-3.9 2-3.9 3.9c2 0 3.9-2 3.9-3.9Z\"/>","save":"<path fill-rule=\"evenodd\" d=\"M4.4 2.7h12.4l3.5 3.5V20.8a0.7 0.7 0 0 1-0.7 0.7H4.4a0.7 0.7 0 0 1-0.7-0.7V3.4a0.7 0.7 0 0 1 0.7-0.7Zm3.4 1.4v4.9h7.4V4.1ZM7.2 13.6v6.4h9.6v-6.4Z\"/>","scissors":"<path fill-rule=\"evenodd\" d=\"M6.2 3.8a3.2 3.2 0 1 1 0 6.5a3.2 3.2 0 0 1 0-6.5Zm0 2a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4ZM6.2 13.7a3.2 3.2 0 1 1 0 6.5a3.2 3.2 0 0 1 0-6.5Zm0 2a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4Z\"/><path class=\"ln\" d=\"M8.7 8.8L20.4 18.1M8.7 15.2L20.4 5.9\"/>","search":"<path fill-rule=\"evenodd\" d=\"M10.6 3a7.7 7.7 0 1 1 0 15.4a7.7 7.7 0 0 1 0-15.4Zm0 3.2a4.5 4.5 0 1 0 0 9.2a4.5 4.5 0 0 0 0-9.2Z\"/><path class=\"ln\" d=\"M16.3 16.4l3.8 3.8\"/>","seedling":"<path d=\"M12.4 10.8C12.4 6.1 9.5 2.9 4 2.9c0 4.9 3 7.8 8.4 7.8ZM11.6 13.4c0-4.7 3-7.8 8.4-7.8c0 4.9-3 7.8-8.4 7.8Z\"/><path class=\"ln\" d=\"M12 20.4V12.5\"/>","server":"<path fill-rule=\"evenodd\" d=\"M5.2 2.6h13.4a2.7 2.7 0 0 1 2.7 2.7v3.4a2.7 2.7 0 0 1-2.7 2.7H5.2A2.7 2.7 0 0 1 2.5 8.6V5.3A2.7 2.7 0 0 1 5.2 2.6Zm2.2 2.9a1.5 1.5 0 1 0 0 2.9a1.5 1.5 0 0 0 0-2.9ZM5.2 12.7h13.4a2.7 2.7 0 0 1 2.7 2.7v3.4a2.7 2.7 0 0 1-2.7 2.7H5.2A2.7 2.7 0 0 1 2.5 18.7v-3.4A2.7 2.7 0 0 1 5.2 12.7Zm2.2 2.9a1.5 1.5 0 1 0 0 2.9a1.5 1.5 0 0 0 0-2.9Z\"/>","shapes":"<circle cx=\"7.3\" cy=\"7.6\" r=\"4.3\"/><path d=\"M16.5 2.7l5 8.6h-9.8ZM13.4 13.7h7.4v7.4h-7.4ZM2.5 21.1L6.8 13.7l4.3 7.4Z\"/>","shelter":"<path fill-rule=\"evenodd\" d=\"M12 2.7L2.5 10.2l1.1 1.5l1-0.8v10h14.8V10.9l1 0.8l1.1-1.5ZM9.5 20.9v-4.8a2.5 2.5 0 0 1 4.9 0v4.8ZM12 9.1a1.7 1.7 0 1 1 0 3.4a1.7 1.7 0 0 1 0-3.4Z\"/>","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\"/>","shirt":"<path d=\"M8 2.7L2.5 5.9l2.5 4.9l1.5-0.8v11.2h11V10.1l1.5 0.8L21.5 5.9l-5.5-3.2c-0.6 1.5-1.9 2.5-4 2.5S8.6 4.2 8 2.7Z\"/>","skip":"<path d=\"M3.3 2.6v18.9L15.8 12Z\"/><rect x=\"17.8\" y=\"2.7\" width=\"3.2\" height=\"18.7\" rx=\"1.5\"/>","skull":"<path fill-rule=\"evenodd\" d=\"M12 2.6a7.9 7.9 0 0 0-7.9 7.9c0 2.4 1.1 4.2 2.5 5.4V19.5a2 2 0 0 0 2 2h6.8a2 2 0 0 0 2-2v-3.6c1.4-1.2 2.5-3 2.5-5.4A7.9 7.9 0 0 0 12 2.6ZM9.2 9.4a1.7 1.7 0 1 1 0 3.4a1.7 1.7 0 0 1 0-3.4ZM14.8 9.4a1.7 1.7 0 1 1 0 3.4a1.7 1.7 0 0 1 0-3.4ZM12 13.3l1 1.8h-2ZM10.1 18.1h0.9v2.4h-0.9ZM13 18.1h0.9v2.4H13Z\"/>","sliders":"<path class=\"ln\" d=\"M4 7h8.8M19.2 7H20M4 17h2.8M13.2 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"3.2\"/><circle cx=\"10\" cy=\"17\" r=\"3.2\"/>","smile":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM9.9 8.6a1.4 1.4 0 1 1 0 2.8a1.4 1.4 0 0 1 0-2.8ZM16 8.6a1.4 1.4 0 1 1 0 2.8a1.4 1.4 0 0 1 0-2.8ZM8.8 13.5h8.3a4.1 4.1 0 0 1-8.3 0Z\"/>","spark":"<path d=\"M10.7 2.6l2 5.6l5.6 2l-5.6 2L10.7 17.8l-2-5.6l-5.6-2l5.6-2ZM17.6 14.7l0.9 2.5l2.5 0.9l-2.5 0.9l-0.9 2.5l-0.9-2.5l-2.5-0.9l2.5-0.9Z\"/>","square":"<rect x=\"2.7\" y=\"2.7\" width=\"18.7\" height=\"18.7\" rx=\"3.3\"/>","star":"<path d=\"M12 2.8l2.9 6l6.6 0.8l-4.9 4.5l1.3 6.6L12 17.4l-5.9 3.2l1.3-6.6l-4.9-4.5l6.6-0.8Z\"/>","steps":"<path fill-rule=\"evenodd\" d=\"M2.8 4h4.9v4.9H2.8Zm1 2.5l0.8-0.9l0.9 0.9l1.4-1.4l0.9 0.9l-2.3 2.3ZM2.8 9.4h4.9v4.9H2.8Zm1 2.5l0.8-0.9l0.9 0.9l1.4-1.4l0.9 0.9l-2.3 2.3ZM2.8 15h4.9v4.9H2.8Zm1 2.5l0.8-0.9l0.9 0.9l1.4-1.4l0.9 0.9l-2.3 2.3Z\"/><path class=\"ln\" d=\"M10.6 6.4H20.3M10.6 11.9H20.3M10.6 17.4H20.3\"/>","store":"<path d=\"M4.4 3h15l2 6.2v1.4a3.2 3.2 0 0 1-6.3 0a3.2 3.2 0 0 1-6.3 0a3.2 3.2 0 0 1-6.3 0V9.2ZM4 14.9h15.9v5.6a1.1 1.1 0 0 1-1.1 1.1H14.1v-5.1h-4.4v5.1H5.1a1.1 1.1 0 0 1-1.1-1.1Z\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"3.8\"/><path class=\"ln\" d=\"M12 3.9v1.3M12 18.7v1.3M6.3 6.2l0.9 0.9M16.8 16.8L17.8 17.8M4 12h1.3M18.7 12h1.3M6.3 17.8l0.9-0.9M16.8 7.2L17.8 6.2\"/>","sword":"<path d=\"M21.2 2.8v4.7l-10.8 10.8l-4.7-4.7L16.5 2.8Z\"/><path class=\"ln\" d=\"M5.2 11.9L12.1 18.8M8.4 15.6L3.7 20.3\"/>","table":"<path d=\"M2.7 6.2a2.5 2.5 0 0 1 2.5-2.5h13.6a2.5 2.5 0 0 1 2.5 2.5v2.3H2.7ZM2.7 10.5h5.3v9.9H5.2a2.5 2.5 0 0 1-2.5-2.5ZM9.8 10.5h4.5v9.9H9.8ZM16.1 10.5h5.3V17.9a2.5 2.5 0 0 1-2.5 2.5h-2.7Z\"/>","tack":"<path d=\"M8.5 3h7.2a0.8 0.8 0 0 1 0.8 1l-0.8 4l2.8 2.8a0.7 0.7 0 0 1-0.6 1.4H6.1a0.7 0.7 0 0 1-0.6-1.4l2.8-2.8l-0.8-4a0.8 0.8 0 0 1 0.8-1Z\"/><path class=\"ln\" d=\"M12 12.2V20.5\"/>","tag":"<path fill-rule=\"evenodd\" d=\"M2.9 3.4A1.5 1.5 0 0 1 4.4 2.9h7.2l10 10l-8.7 8.7L2.9 10.6Zm5 2.5a1.9 1.9 0 1 0 0 3.7a1.9 1.9 0 0 0 0-3.7Z\"/>","target":"<path fill-rule=\"evenodd\" d=\"M12 2.6a9.4 9.4 0 1 1 0 18.8a9.4 9.4 0 0 1 0-18.8Zm0 3a6.4 6.4 0 1 0 0 12.9a6.4 6.4 0 0 0 0-12.9Zm0 2.7a3.7 3.7 0 1 1 0 7.4a3.7 3.7 0 0 1 0-7.4Z\"/>","telescope":"<path d=\"M2.2 12.2l15.6-7.8l3 6l-15.6 7.8Z\"/><path class=\"ln\" d=\"M9.1 14.9l-1.6 4.7M9.1 14.9l5.5 4.7M8.2 17.3h6.4\"/>","tent":"<path fill-rule=\"evenodd\" d=\"M12 4.2L19.3 17.4H4.7ZM12 11.6L9.5 17.4h5.1Z\"/><path class=\"ln\" d=\"M3.9 17.7h16.2\"/>","terminal":"<path fill-rule=\"evenodd\" d=\"M5 3.6h14a2.4 2.4 0 0 1 2.4 2.4v12a2.4 2.4 0 0 1-2.4 2.4H5A2.4 2.4 0 0 1 2.6 18V6A2.4 2.4 0 0 1 5 3.6Zm1.4 6 1.3-1.3 3.6 3.7-3.6 3.7-1.3-1.3 2.4-2.4Zm6.4 4.6h4.4v1.7h-4.4Z\"/>","text":"<path fill-rule=\"evenodd\" d=\"M10.2 2.4h3.7l6.8 18.7h-3.4l-1.6-4.7H8.3l-1.6 4.7H3.3ZM9.3 13.6h5.4L12 5.7Z\"/>","thumbs-up":"<path d=\"M6.5 10.1v10.3H3.6a1.1 1.1 0 0 1-1.1-1.1v-8a1.1 1.1 0 0 1 1.1-1.1ZM7.9 10.1l3.6-7.3a2.4 2.4 0 0 1 2.7 2.8l-0.6 3.5h5.6a2.2 2.2 0 0 1 2.2 2.6l-1.4 7a2.2 2.2 0 0 1-2.2 1.7H7.9Z\"/>","ticket":"<path fill-rule=\"evenodd\" d=\"M2.6 6.4h18.8v3.4a2.2 2.2 0 0 0 0 4.4v3.4H2.6v-3.4a2.2 2.2 0 0 0 0-4.4ZM13.3 8.4v1.8h1.4V8.4Zm0 2.7v1.8h1.4v-1.8Zm0 2.7v1.8h1.4v-1.8Z\"/>","toolbox":"<path d=\"M2.7 10.1a2.5 2.5 0 0 1 2.5-2.5h13.6a2.5 2.5 0 0 1 2.5 2.5v2.2H2.7ZM2.7 13.7h4.7v1.5h1.6v-1.5h6.2v1.5h1.6v-1.5h4.7V17.8a2.5 2.5 0 0 1-2.5 2.5H5.2A2.5 2.5 0 0 1 2.7 17.8Z\"/><path class=\"ln\" d=\"M9.1 7.5V5.7A1.5 1.5 0 0 1 10.5 4.2h2.9A1.5 1.5 0 0 1 14.9 5.7v1.9\"/>","train":"<path fill-rule=\"evenodd\" d=\"M9.1 2.7h5.8a2.9 2.9 0 0 1 2.9 2.9v6.8a2.9 2.9 0 0 1-2.9 2.9H9.1a2.9 2.9 0 0 1-2.9-2.9V5.6a2.9 2.9 0 0 1 2.9-2.9Zm-1.2 2.5v4.1h8.2V5.2ZM9.1 11.4a1.1 1.1 0 1 0 0 2.1A1.1 1.1 0 0 0 9.1 11.4Zm5.8 0a1.1 1.1 0 1 0 0 2.1a1.1 1.1 0 0 0 0-2.1Z\"/><path class=\"ln\" d=\"M8.6 20.2l1.9-3.4M15.4 20.2l-1.9-3.4\"/>","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\"/>","tree":"<path d=\"M12 2.5L5.9 10.7h3L4.4 16.9h15.1l-4.5-6.2h3Z\"/><path class=\"ln\" d=\"M12 16.2v4\"/>","trophy":"<path d=\"M7.3 3h9.6V8.6a4.7 4.7 0 0 1-9.6 0Z\"/><path class=\"ln\" d=\"M7.3 5.6H5a3.1 3.1 0 0 0 3.1 4.1M16.7 5.6h2.3a3.1 3.1 0 0 1-3.1 4.1M12 13.7V16.9M8 20.4h8.1\"/>","tv":"<rect x=\"2.7\" y=\"7.4\" width=\"18.6\" height=\"13.3\" rx=\"2.3\"/><path class=\"ln\" d=\"M8.2 3.8l3.8 3.4l3.8-3.4\"/>","umbrella":"<path d=\"M2.6 12.7a9.4 9.4 0 0 1 18.8 0Z\"/><path class=\"ln\" d=\"M12 12.7v5.6a1.9 1.9 0 0 1-3.8 0\"/>","upload":"<path d=\"M10.6 21.7h2.5v-7h4.7L11.9 8.6l-5.9 5.9h4.7Z\"/><path class=\"ln\" d=\"M4.5 4.3h14.9\"/>","user":"<circle cx=\"12\" cy=\"6.7\" r=\"4.5\"/><path d=\"M3.5 21c0-4.7 3.8-7.8 8.5-7.8s8.5 3.2 8.5 7.8Z\"/>","user-check":"<circle cx=\"8.9\" cy=\"7.5\" r=\"3.2\"/><path d=\"M2.9 19.3c0-3.4 2.7-5.9 5.9-5.9s5.9 2.4 5.9 5.9Z\"/><path class=\"ln\" d=\"M14.8 10.6l1.9 1.9l3.8-3.8\"/>","user-circle":"<path fill-rule=\"evenodd\" d=\"M13 2.9a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm0 3.8a3.3 3.3 0 1 1 0 6.5a3.3 3.3 0 0 1 0-6.5ZM7.2 17.9a6.7 6.7 0 0 1 11.5 0a8.1 8.1 0 0 1-11.5 0Z\"/>","user-lock":"<circle cx=\"9.9\" cy=\"7.2\" r=\"4.2\"/><path d=\"M2.7 20c0-4.2 3.2-7 7.2-7c1.2 0 2.3 0.3 3.2 0.8v6.2Z\"/><rect x=\"14.5\" y=\"14.5\" width=\"6.9\" height=\"5.7\" rx=\"1.3\"/><path class=\"ln\" d=\"M16.4 14.5v-1a1.5 1.5 0 0 1 3 0v1\"/>","user-minus":"<circle cx=\"9.6\" cy=\"7.6\" r=\"3.9\"/><path d=\"M2.8 19.7c0-3.9 3.1-6.6 6.8-6.6c1.2 0 2.2 0.3 3.1 0.8v5.9Z\"/><path class=\"ln\" d=\"M15.1 16.7h5.2\"/>","user-off":"<path d=\"M9.1 4.7A4.2 4.2 0 1 1 15 10.6ZM4.2 20.8c0-4.3 2.8-6.9 6.3-7.2L17.5 20.8Z\"/><path class=\"ln\" d=\"M4 3.5l16.2 16.2\"/>","user-pen":"<circle cx=\"9.8\" cy=\"7.6\" r=\"4\"/><path d=\"M2.9 19.9c0-4 3.1-6.7 6.9-6.7c1.2 0 2.2 0.3 3.1 0.8v5.9Z\"/><path d=\"M19.5 11.4l2.1 2.1l-5.2 5.2l-2.8 0.7l0.7-2.8Z\"/>","user-tag":"<circle cx=\"10\" cy=\"7.4\" r=\"4\"/><path d=\"M2.9 19.9c0-4 3.2-6.8 7-6.8c1.2 0 2.3 0.3 3.2 0.8v6Z\"/><path fill-rule=\"evenodd\" d=\"M14 13.7h4.5l3.1 3.1l-3.1 3.1h-4.5ZM15.2 16.8a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0-2.2 0Z\"/>","video":"<path d=\"M3 7.7a2 2 0 0 1 2-2H14.4a2 2 0 0 1 2 2v8.7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2ZM17.5 10.1l4.2-2.6v8.9l-4.2-2.6Z\"/>","volume":"<path d=\"M2.5 8.9h4l5.4-4.2v14.6l-5.4-4.2H2.5Z\"/><path class=\"ln\" d=\"M15.2 9.3a3.8 3.8 0 0 1 0 5.5M17.7 6.5a7.5 7.5 0 0 1 0 11\"/>","walk":"<circle cx=\"12.4\" cy=\"4.6\" r=\"2.2\"/><path class=\"ln\" d=\"M8.7 19.8l2.4-5.5l1.9 2.2V19.8M11.1 14.3l0.9-5.2l-2.8 1.5l-1.4 2.8M12 9.1l1.8 2.8l2.8 0.9\"/>","wallet":"<path fill-rule=\"evenodd\" d=\"M5.7 2.8H19v4.6h1.6a0.9 0.9 0 0 1 0.9 0.9v12.4H5.1a2.5 2.5 0 0 1-2.5-2.5V5.9a3.1 3.1 0 0 1 3.1-3.1Zm0 2.1a1 1 0 0 0 0 2.1h11.2V4.9ZM16.7 12.9a1.4 1.4 0 1 0 0 2.8a1.4 1.4 0 0 0 0-2.8Z\"/>","wand":"<path class=\"ln\" d=\"M3.7 20.3L13.9 10.1M12.1 8.3l3.6 3.6\"/><path d=\"M17.9 3.7l0.9 2.3l2.3 0.9l-2.3 0.9l-0.9 2.3l-0.9-2.3l-2.3-0.9l2.3-0.9Z\"/>","water":"<path d=\"M2.7 7.9c2.4 0 2.4-2 4.7-2s2.4 2 4.6 2s2.4-2 4.7-2s2.4 2 4.6 2v3.2c-2.3 0-2.3-2-4.6-2s-2.4 2-4.7 2s-2.3-2-4.6-2s-2.4 2-4.7 2ZM2.7 14.8c2.4 0 2.4-2 4.7-2s2.4 2 4.6 2s2.4-2 4.7-2s2.4 2 4.6 2v3.2c-2.3 0-2.3-2-4.6-2s-2.4 2-4.7 2s-2.3-2-4.6-2s-2.4 2-4.7 2Z\"/>","weight":"<circle cx=\"12\" cy=\"4.8\" r=\"2.6\"/><path d=\"M6.5 8.7h10.9l3.3 12.3H3.2Z\"/>","window":"<path d=\"M2.6 6.2a2.7 2.7 0 0 1 2.7-2.7h13.4a2.7 2.7 0 0 1 2.7 2.7v1.5H2.6ZM2.6 9.8h18.7v7.7a2.7 2.7 0 0 1-2.7 2.7h-13.4a2.7 2.7 0 0 1-2.7-2.7Z\"/>","window-restore":"<path d=\"M2.7 10.4a2.7 2.7 0 0 1 2.7-2.7h8.2a2.7 2.7 0 0 1 2.7 2.7v7.2a2.7 2.7 0 0 1-2.7 2.7h-8.2a2.7 2.7 0 0 1-2.7-2.7ZM7.9 6.4V6.3a2.7 2.7 0 0 1 2.7-2.7h8.2a2.7 2.7 0 0 1 2.7 2.7v7.2a2.7 2.7 0 0 1-2.7 2.7h-1.1v-5.8a4 4 0 0 0-4-4Z\"/>","wrench":"<path d=\"M14.9 2.5a6 6 0 0 0-5.5 8.3L2.7 17.5V21.3H6.5l6.7-6.7a6 6 0 0 0 8.3-5.5l-3.5 1.3l-2.9-2.9l1.3-3.5Z\"/>","x-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM10.1 7.9L12.9 10.7l2.9-2.9l1.4 1.4l-2.9 2.9l2.9 2.9l-1.4 1.4l-2.9-2.9l-2.9 2.9l-1.4-1.4l2.9-2.9l-2.9-2.9Z\"/>","zap":"<path d=\"M13.9 2.5L5.2 13.3h6.1l-1.2 8.1l8.7-10.8h-6.1Z\"/>"};
-- 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","binoculars":"binoculars","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":"live","broadcast-tower":"live","bug":"bug","bullhorn":"megaphone","bullseye":"target","burst":"burst","calendar":"calendar","calendar-check":"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","clip":"scissors","clipboard":"clipboard","clipboard-check":"clipboard-check","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","clone":"copy","closed-captioning":"cc","cloud":"cloud","cloud-arrow-down":"download","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","cpu":"cpu","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","gpu":"gpu","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","joystick":"joystick","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","magnifying-glass-chart":"chart","magnifying-glass-dollar":"search","map":"map","map-location-dot":"map","map-marker-alt":"pin","map-pin":"pin","mask":"mask","memory":"memory","message":"chat","microchip":"chip","microphone":"mic","microphone-lines":"mic","microphone-slash":"mic-off","microscope":"microscope","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-plus":"plug","plug-circle-xmark":"plug","plus":"plus","plus-circle":"plus-circle","power-off":"stop","print":"print","puzzle":"puzzle","puzzle-piece":"puzzle","puzzle-piece-simple":"puzzle","question":"help","quote-left":"quote","quote-right":"quote","radio":"radio","ram":"memory","ranking-star":"ranking","receipt":"ticket","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","shoe-prints":"walk","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","telescope":"telescope","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":"wand","wand-magic-sparkles":"wand","wand-sparkles":"wand","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 FB = {"youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter-k":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","reddit-alien":"reddit","tumblr":"tumblr","hacker-news":"ycombinator","line":"line","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
++ const G = {"airplane":"<path d=\"M12 3.2c0.9 0 1.4 0.9 1.4 2.4V9.8l7 4.2V15.4l-7-2.4V17.2l1.9 1.4V20L12 19.1l-3.3 0.9v-1.4l1.9-1.4v-4.2L3.6 15.4v-1.4L10.6 9.8V5.6C10.6 4.2 11.1 3.2 12 3.2Z\"/>","alert":"<path d=\"M12 4.5L3.6 18.8h16.9Z\"/><path d=\"M12 10v3.7M12 16.5h0\"/>","alert-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5v5.5M12 16.5h.01\"/>","align-left":"<path d=\"M4 5.9h16.6M4 10h10.4M4 14.3h16.6M4 18.5h10.4\"/>","archive":"<rect x=\"3.5\" y=\"4.8\" width=\"17\" height=\"4.7\" rx=\"0.9\"/><path d=\"M5.4 9.5v9.4a0.9 0.9 0 0 0 0.9 0.9h11.3a0.9 0.9 0 0 0 0.9-0.9V9.5M10.1 13.3h3.8\"/>","arrow-down":"<path d=\"M12 3.2v16.7M5.7 13.7l6.3 6.3l6.3-6.3\"/>","arrow-left":"<path d=\"M20.8 12H4M10.3 5.7l-6.3 6.3l6.3 6.3\"/>","arrow-right":"<path d=\"M3.2 12h16.7M13.7 5.7l6.3 6.3l-6.3 6.3\"/>","arrow-up":"<path d=\"M12 20.8V4M5.7 10.3l6.3-6.3l6.3 6.3\"/>","arrows-h":"<path d=\"M3.8 12h16.5M7.6 8.1l-3.9 3.9l3.9 3.9M16.4 8.1l3.9 3.9l-3.9 3.9\"/>","at":"<circle cx=\"12\" cy=\"12\" r=\"3.4\"/><path d=\"M15.4 12v1.3a2.5 2.5 0 0 0 4.9 0V12a8.3 8.3 0 1 0-3.2 6.5\"/>","back":"<path d=\"M16.1 3.6l-8.4 8.4l8.4 8.4\"/>","ban":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m6 6 12 12\"/>","bell":"<path d=\"M6 14.6V9.5a6.1 6.1 0 0 1 12.2 0v5.1l1.5 2.1h-15.3ZM10 18.7a2.1 2.1 0 0 0 4 0\"/>","binoculars":"<rect x=\"4.4\" y=\"7.4\" width=\"6\" height=\"12.8\" rx=\"3\"/><rect x=\"13.6\" y=\"7.4\" width=\"6\" height=\"12.8\" rx=\"3\"/><path d=\"M10.4 10.2h3.2M10.4 15.8h3.2\"/><path d=\"M6.9 7.4V5.7a1.6 1.6 0 0 1 3.2 0v1.7M13.9 7.4V5.7a1.6 1.6 0 0 1 3.2 0v1.7\"/>","book":"<path d=\"M5 5.7a1.9 1.9 0 0 1 1.9-1.9h12.1v14.9H6.8a1.9 1.9 0 0 0-1.9 1.9Z\"/><path d=\"M5 18.7V5.7\"/>","book-open":"<path d=\"M12 6.3C10 4.8 7 4.3 3.5 4.9v13.2c3.5-0.6 6.5-0.1 8.5 1.4c2-1.5 5-2 8.5-1.4V4.9C17 4.3 14 4.8 12 6.3Z\"/><path d=\"M12 6.3v13.2\"/>","box":"<path d=\"M3.6 7.9L11.9 3.9l8.4 3.9v8.4L11.9 20.1l-8.4-3.9Z\"/><path d=\"M3.6 7.9L11.9 11.8l8.4-3.9M11.9 11.8v8.4M7.8 5.9l8.4 3.9\"/>","brain":"<path d=\"M9.2 4.2a2.8 2.8 0 0 0-2.8 2.8a2.8 2.8 0 0 0-1.9 4.8a2.8 2.8 0 0 0 1.9 4.8a2.8 2.8 0 0 0 5.8 1.1V5.8A1.9 1.9 0 0 0 9.2 4.2ZM14.9 4.2a2.8 2.8 0 0 1 2.8 2.8a2.8 2.8 0 0 1 1.9 4.8a2.8 2.8 0 0 1-1.9 4.8a2.8 2.8 0 0 1-5.8 1.1\"/>","branch":"<circle cx=\"6.7\" cy=\"5.6\" r=\"1.9\"/><circle cx=\"6.7\" cy=\"18.6\" r=\"1.9\"/><circle cx=\"17.9\" cy=\"7.5\" r=\"1.9\"/><path d=\"M6.7 7.5v9.3M17.9 9.3c0 5.1-6 3.7-10.2 7.9\"/>","bridge":"<path d=\"M3.5 16h17M7 19.5V5M17 19.5V5\"/><path d=\"M3.5 10c1.8 0 2.8-2.3 3.5-5c2.4 5.2 7.6 5.2 10 0c.7 2.7 1.7 5 3.5 5\"/><path d=\"M12 10.9V16\"/>","briefcase":"<rect x=\"3.5\" y=\"7.2\" width=\"17\" height=\"12.3\" rx=\"1.9\"/><path d=\"M9.2 7.2V5.7A1.4 1.4 0 0 1 10.6 4.3h2.8A1.4 1.4 0 0 1 14.8 5.7V7.2M3.5 12.3h7.1M13.4 12.3H20.5M10.6 11.4h2.8v2.4h-2.8Z\"/>","bug":"<rect x=\"7.2\" y=\"6.2\" width=\"9.6\" height=\"13.3\" rx=\"4.8\"/><path d=\"M9.3 6.5a2.7 2.7 0 0 1 5.3 0M12 10.9v8.5M7.2 12H3.5M20.5 12h-3.7M7.6 8.3L4.6 5.6M16.4 8.3L19.4 5.6M7.6 16.3L4.6 18.9M16.4 16.3L19.4 18.9\"/>","burst":"<path d=\"M11.9 3.7L13.6 7.8L17.8 6.2L16.2 10.4L20.3 12.1L16.2 13.8L17.8 18L13.6 16.4L11.9 20.4L10.2 16.4L6 18L7.6 13.8L3.6 12.1L7.6 10.4L6 6.2L10.2 7.8Z\"/>","busy":"<path d=\"M4.7 12h0M12.1 12h0M19.4 12h0\" stroke-width=\"4.2\"/>","calendar":"<rect x=\"4\" y=\"5.5\" width=\"16\" height=\"15\" rx=\"2\"/><path d=\"M4 10.5h16M9 3.5v4M15 3.5v4\"/>","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.7 7.9h3.3l1.7-2.7h6.4L16.9 7.9h3.3v11.2h-16.5Z\"/><circle cx=\"11.9\" cy=\"13\" r=\"3.3\"/><path d=\"M3.7 3.5l16.5 16.5\"/>","car":"<path d=\"M3.5 15.8v-4.5L6.2 5.8h11.6l2.7 5.5V15.8Z\"/><path d=\"M3.5 11.3h17M6.5 15.8v2.5M17.5 15.8v2.5M7.2 13.8h0M16.8 13.8h0\"/>","card":"<rect x=\"3.7\" y=\"5.8\" width=\"16.7\" height=\"12.3\" rx=\"1.8\"/><path d=\"M3.7 10.3h16.7M6.7 14.6h3.5\"/>","care":"<path d=\"M12 10.6s-3.8-2.3-3.8-5a2.1 2.1 0 0 1 3.8-1.3a2.1 2.1 0 0 1 3.8 1.3c0 2.7-3.8 5-3.8 5Z\"/><path d=\"M3.5 13.5v6.5M3.5 15h3.3l3.4 2.8h7.7a1.8 1.8 0 0 0 0-3.6h-4.1\"/>","cart":"<path d=\"M3.5 4.1h1.9l2.2 10.2h10.2L20.3 6.9H6.5\"/><circle cx=\"9.1\" cy=\"18.6\" r=\"1.2\"/><circle cx=\"16.5\" cy=\"18.6\" r=\"1.2\"/>","cc":"<rect x=\"3.5\" y=\"5.4\" width=\"17\" height=\"13.2\" rx=\"2.4\"/><path d=\"M10.7 10.2a2.3 2.3 0 1 0 0 3.6M16.8 10.2a2.3 2.3 0 1 0 0 3.6\"/>","chart":"<path d=\"M3.9 3.4v16.7h16.7\"/><path d=\"M7.7 14.5l3.6-4.1l3.2 2.7l5.2-6.3\"/>","chat":"<path d=\"M3.8 4.3h16.8v11.7H8l-4.2 4.2Z\"/>","chat-off":"<path d=\"M4.2 5.1h15.7v10.9H8l-4 4Z\"/><path d=\"M3.7 3.7l16.7 16.7\"/>","check":"<path d=\"M3.7 12.1l5.4 5.4L20.4 6.1\"/>","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=\"M3.6 11.7l3.6 3.6L14.6 7.7M11.1 15.2l0.9 0.9L20.4 7.7\"/>","chevron":"<path d=\"M7.9 3.6l8.4 8.4l-8.4 8.4\"/>","chevrons-left":"<path d=\"M10.9 19.3l-7.3-7.3l7.3-7.3M20.4 19.3l-7.3-7.3l7.3-7.3\"/>","chevrons-right":"<path d=\"M3.6 19.3l7.3-7.3l-7.3-7.3M13.1 19.3l7.3-7.3l-7.3-7.3\"/>","child":"<circle cx=\"12\" cy=\"5.8\" r=\"2.1\"/><path d=\"M7.9 10.5L12 9.2l4.1 1.4M12 9.2v5.6M9.2 20.4l2.8-5.6l2.8 5.6\"/>","chip":"<rect x=\"7.3\" y=\"7.3\" width=\"9.4\" height=\"9.4\" rx=\"1.4\"/><path d=\"M10.1 3.5v3.8M13.9 3.5v3.8M10.1 16.7v3.8M13.9 16.7v3.8M3.5 10.1h3.8M3.5 13.9h3.8M16.7 10.1h3.8M16.7 13.9h3.8\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/>","city":"<path d=\"M3.5 19.7h17M5.4 19.7V8.3h4.7v11.3M10.1 19.7V3.6h5.7v16.1M15.8 19.7v-7.6h3.3v7.6M7.8 11.2h0M7.8 14.5h0M12.9 6.9h0M12.9 10.2h0M12.9 13.5h0\"/>","clapper":"<path d=\"M4 10.4h16.3v8.6a1 1 0 0 1-1 1h-14.4a1 1 0 0 1-1-1Z\"/><path d=\"M4 10.4L3.4 7.2l15.7-2.9l0.7 3.3ZM8.5 6.3l2.2 3.2M13.3 5.4l2.2 3.2\"/>","clipboard":"<rect x=\"5.7\" y=\"5\" width=\"12.6\" height=\"15.5\" rx=\"1.9\"/><path d=\"M9.1 5V3.5h5.8V5M9.1 10.8h5.8M9.1 14.7h3.9\"/>","clipboard-check":"<rect x=\"5.7\" y=\"4.9\" width=\"12.6\" height=\"15.5\" rx=\"1.9\"/><path d=\"M9.1 4.9V3.5h5.8V4.9M9.1 13.2l1.9 1.9l3.9-3.9\"/>","clock":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 7.5V12l3 2\"/>","close":"<path d=\"M3.7 3.7l16.7 16.7M20.4 3.7L3.7 20.4\"/>","cloud":"<path d=\"M7.8 17.6h8.9a3.4 3.4 0 0 0 0.5-7A5.2 5.2 0 0 0 6.9 10.1A3.7 3.7 0 0 0 7.8 17.6Z\"/>","cloud-off":"<path d=\"M7.5 17.6h9.5a3.8 3.8 0 0 0 0.5-7.5A5.7 5.7 0 0 0 6.4 9.6A4.1 4.1 0 0 0 7.5 17.6Z\"/><path d=\"M4 3.9l16.1 16.1\"/>","code":"<path d=\"M7.8 7.8l-4.2 4.2l4.2 4.2M16.2 7.8l4.2 4.2l-4.2 4.2M14.2 4.6l-4.2 14.8\"/>","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.4\"/><path d=\"M3.5 12h5.1M15.4 12H20.5\"/>","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=\"M8.8 3.5v5.3H3.5M15.2 3.5v5.3h5.3M8.8 20.5v-5.3H3.5M15.2 20.5v-5.3h5.3\"/>","computer":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"11.3\" rx=\"1.9\"/><path d=\"M8.2 19.7h7.6M12 15.9v3.8\"/>","contrast":"<circle cx=\"11.7\" cy=\"12\" r=\"8.4\"/><path d=\"M11.7 3.6v16.7M11.7 7.9h6.5M11.7 12h8.4M11.7 16.2h6.5\"/>","cookie":"<path d=\"M20.6 12.3a8.4 8.4 0 1 1-8.9-8.9a3 3 0 0 0 3.9 3.5a3 3 0 0 0 4.9 5.3Z\"/><path d=\"M8.8 9.4h0M12.2 13.8h0M8.3 15.3h0M15.7 15.3h0\"/>","copy":"<rect x=\"8\" y=\"8\" width=\"12.5\" height=\"12.5\" rx=\"2.1\"/><path d=\"M16.3 8V5.8a2.1 2.1 0 0 0-2.1-2.1H5.8a2.1 2.1 0 0 0-2.1 2.1v8.4a2.1 2.1 0 0 0 2.1 2.1h2.1\"/>","couch":"<path d=\"M5.4 10.1V7.2a1.9 1.9 0 0 1 1.9-1.9h9.4a1.9 1.9 0 0 1 1.9 1.9v2.8\"/><path d=\"M3.5 11.9a1.9 1.9 0 0 1 3.8 0v1.4h9.4V11.9a1.9 1.9 0 0 1 3.8 0v4.7H3.5ZM5.4 16.7v1.9M18.6 16.7v1.9\"/>","cpu":"<rect x=\"7\" y=\"7\" width=\"10\" height=\"10\" rx=\"1.6\"/><rect x=\"10.4\" y=\"10.4\" width=\"3.2\" height=\"3.2\" rx=\"0.6\"/><path d=\"M9.5 3.5v3.5M14.5 3.5v3.5M9.5 17v3.5M14.5 17v3.5M3.5 9.5h3.5M3.5 14.5h3.5M17 9.5h3.5M17 14.5h3.5\"/>","crown":"<path d=\"M3.5 8.3L7.8 12L11.9 5.5l4.2 6.5l4.2-3.7L18.4 18.1H5.4Z\"/>","cubes":"<path d=\"M12 3.2L8.1 5.2v4.4l3.9 2l3.9-2V5.2ZM7.6 11.6L3.6 13.6v4.4l3.9 2l3.9-2V13.6ZM16.4 11.6l-3.9 2v4.4l3.9 2l3.9-2V13.6Z\"/>","database":"<ellipse cx=\"12\" cy=\"6.4\" rx=\"6.6\" ry=\"2.8\"/><path d=\"M5.4 6.4v11.3c0 1.6 2.9 2.8 6.6 2.8s6.6-1.2 6.6-2.8V6.4M5.4 12c0 1.6 2.9 2.8 6.6 2.8s6.6-1.2 6.6-2.8\"/>","dice":"<rect x=\"3.7\" y=\"3.6\" width=\"16.7\" height=\"16.7\" rx=\"3\"/><path d=\"M8.6 8.6h0M15.5 8.6h0M12.1 12h0M8.6 15.4h0M15.5 15.4h0\" stroke-width=\"2.6\"/>","dish":"<path d=\"M3.8 9.2A10.9 10.9 0 0 0 14.8 20.2Z\"/><path d=\"M9 15l5.2-5.2M14.8 3.4a5.8 5.8 0 0 1 5.8 5.8M14.8 7.5a1.8 1.8 0 0 1 1.8 1.8\"/>","dollar":"<path d=\"M15.7 8C15 6.6 13.7 5.6 12 5.6C9.6 5.6 8.3 6.9 8.3 8.5s1.6 2.5 3.7 2.8s3.7 1.3 3.7 3.1s-1.5 3-3.7 3c-1.8 0-3.2-0.9-3.7-2.4M12 3.7v16.7\"/>","donate":"<circle cx=\"11.9\" cy=\"8.4\" r=\"5.2\"/><path d=\"M11.9 6v4.3M3.7 15.6h16.5V20H3.7ZM8.3 17.7h7.2\"/>","door":"<path d=\"M13.7 4.7L6.3 3.2v16.7l7.5-1.4ZM13.7 5.1h3.3a0.9 0.9 0 0 1 0.9 0.9v14M3.5 20h16.7M11 11.6h0\"/>","down":"<path d=\"M3.6 7.9l8.4 8.4l8.4-8.4\"/>","download":"<path d=\"M12 3.2v11.5M6.8 9.5l5.2 5.2l5.2-5.2M4.7 20h14.7\"/>","drive":"<rect x=\"3.5\" y=\"12.3\" width=\"17\" height=\"6.6\" rx=\"1.9\"/><path d=\"M3.9 12.3L6.8 4.7h10.4l2.8 7.6M16.7 15.6h0M13.8 15.6h0\"/>","drop":"<path d=\"M12 3.5s5.9 6.4 5.9 10.8a5.9 5.9 0 0 1-11.8 0c0-4.4 5.9-10.8 5.9-10.8Z\"/>","ear":"<path d=\"M6.2 9.5a5.7 5.7 0 1 1 10.8 2.4c-0.9 1.9-3.1 3-3.1 5.2a3.4 3.4 0 0 1-6.5 1.6\"/><path d=\"M9.7 9.9a2.4 2.4 0 1 1 3.8 1.5\"/>","enter":"<path d=\"M13.8 3.6h4.1a2.1 2.1 0 0 1 2.1 2.1v12.5a2.1 2.1 0 0 1-2.1 2.1h-4.1M9.5 7.9l4.1 4.1l-4.1 4.1M13.8 12H3.2\"/>","eraser":"<path d=\"M14.3 4.4l5.5 5.5l-9 9H6.6l-2.6-2.6a1.5 1.5 0 0 1 0-2.1Z\"/><path d=\"M9.3 9.4l5.5 5.5M10.8 18.9H20.3\"/>","expand":"<path d=\"M3.5 8.8V3.5h5.3M20.5 8.8V3.5h-5.3M3.5 15.2v5.3h5.3M20.5 15.2v5.3h-5.3\"/>","eye":"<path d=\"M3.5 12S6.6 6.2 12 6.2S20.5 12 20.5 12S17.4 17.8 12 17.8S3.5 12 3.5 12Z\"/><circle cx=\"12\" cy=\"12\" r=\"2.7\"/>","eye-off":"<path d=\"M10.6 6.1c0.5-0.1 0.9-0.1 1.4-0.1c5.2 0 8.5 6 8.5 6s-0.6 1.1-1.7 2.4M6.9 7.6C4.7 9.2 3.5 12 3.5 12s3.3 6 8.5 6c1.6 0 3-0.5 4.2-1.2\"/><path d=\"M10 10a2.8 2.8 0 0 0 4 4M4.5 4.5l15 15\"/>","fast-forward":"<path d=\"M4 6.4v11.2L11.6 12ZM13.1 6.4v11.2L20.7 12Z\"/>","file":"<path d=\"M6.4 3.5h7.6l3.8 3.8v13.2H6.4Z\"/><path d=\"M13.9 3.5v3.8h3.8\"/>","file-code":"<path d=\"M13.9 3.5H7.4a1.9 1.9 0 0 0-1.9 1.9v13a1.9 1.9 0 0 0 1.9 1.9h9.3a1.9 1.9 0 0 0 1.9-1.9V8.2Z\"/><path d=\"M13.9 3.5v4.6h4.6M10.1 12.4L8.3 14.3l1.9 1.9M13.9 12.4l1.9 1.9l-1.9 1.9\"/>","film":"<rect x=\"3.5\" y=\"4.4\" width=\"17\" height=\"15.1\" rx=\"1.9\"/><path d=\"M7.7 4.4v15.1M16.3 4.4v15.1M3.5 9.2h4.3M3.5 14.8h4.3M16.3 9.2H20.5M16.3 14.8H20.5\"/>","filter":"<path d=\"M3.5 6h17M6.7 12.4h10.6M9.9 18.7h4.2\"/>","finish":"<path d=\"M5.2 20.7V4\"/><rect x=\"5.2\" y=\"4.6\" width=\"13.9\" height=\"8.6\" rx=\"1\"/><path d=\"M5.2 8.8h13.9M9.6 4.6v8.6M14.3 4.6v8.6\"/>","fire":"<path d=\"M12 20.5a6.8 6.8 0 0 0 6.8-6.8c0-4.3-2.9-6.8-4.2-10.1c-2 2.3-2.6 4.5-2.6 4.5S10.7 5.8 9.5 3.8C7 6.6 5.2 10 5.2 13.7a6.8 6.8 0 0 0 6.8 6.8Z\"/>","fish":"<path d=\"M9 12c1.8-3.2 4.3-4.8 7.1-4.8c2.6 0 4.2 2 4.9 4.8c-0.7 2.8-2.3 4.8-4.9 4.8c-2.8 0-5.3-1.6-7.1-4.8Z\"/><path d=\"M9 12L4.2 8.6M9 12l-4.8 3.4M17.3 10.6h0.01\"/>","fist":"<path d=\"M6.4 10.1V6.4a1.6 1.6 0 0 1 3.2 0V9.1M9.5 8.5v-3.2a1.6 1.6 0 0 1 3.2 0v3.2M12.6 8.5v-2.1a1.6 1.6 0 0 1 3.2 0V9.1M15.7 9.1V8a1.6 1.6 0 0 1 3.2 0v5.2a7.3 7.3 0 0 1-7.3 7.3H11.1a5.7 5.7 0 0 1-5.7-5.7V12.3A2.1 2.1 0 0 1 7.4 11.2h2.1a1.6 1.6 0 0 1 0 3.2H8\"/>","flag":"<path d=\"M6.7 20.7V4M6.7 4h10.8l-2 3.9l2 3.9H6.7\"/>","flame":"<path d=\"M12 20c3.3 0 5.6-2.3 5.6-5.3c0-3.9-4.1-7.2-5.6-11.4c-1.5 4.2-5.6 7.6-5.6 11.4C6.4 17.8 8.6 20 12 20Z\"/><path d=\"M12 16.7c1.3 0 2.3-0.9 2.3-2.2c0-1.3-1.1-2.5-2.3-3.9c-1.1 1.5-2.3 2.6-2.3 3.9c0 1.2 0.9 2.2 2.3 2.2Z\"/>","flask":"<path d=\"M9.5 3.2h4.9M10 3.2V9.2L4.9 17.7a1.5 1.5 0 0 0 1.3 2.3h11.6a1.5 1.5 0 0 0 1.3-2.3L14 9.2V3.2\"/><path d=\"M7.3 14.6h9.5\"/>","focus":"<circle cx=\"12\" cy=\"12\" r=\"2.8\"/><path d=\"M3.5 9V5.9A2.4 2.4 0 0 1 5.9 3.5H9M15 3.5h3.1A2.4 2.4 0 0 1 20.5 5.9V9M20.5 15v3.1a2.4 2.4 0 0 1-2.4 2.4H15M9 20.5H5.9A2.4 2.4 0 0 1 3.5 18.1V15\"/>","folder":"<path d=\"M3.8 7.3a1.9 1.9 0 0 1 1.9-1.9h3.6l1.9 1.9h7.4a1.9 1.9 0 0 1 1.9 1.9v7.4a1.9 1.9 0 0 1-1.9 1.9H5.8a1.9 1.9 0 0 1-1.9-1.9Z\"/>","folder-tree":"<path d=\"M4.1 3.3v13.2a1 1 0 0 0 1 1H9.7M4.1 8.3H9.7\"/><path d=\"M10.2 5.3h3.1l1 1.5h5.6V10.9h-9.7ZM10.2 14.5h3.1l1 1.5h5.6V20.1h-9.7Z\"/>","food":"<path d=\"M8.2 4v6.5M6.3 4v4.2a1.9 1.9 0 0 0 3.7 0V4M8.2 10.5v10.2M17.5 20.8V4c-1.9 1.1-3 3.3-3 6.5v2.8H17.5\"/>","forward":"<path d=\"M7.9 3.6l8.4 8.4l-8.4 8.4\"/>","game":"<rect x=\"3.7\" y=\"7.2\" width=\"16.7\" height=\"9.7\" rx=\"4.4\"/><path d=\"M7.6 10.7v2.7M6.4 12h2.7M15.1 11.6h0M17.4 12.9h0\"/>","gauge":"<path d=\"M3.6 16.9a8.4 8.4 0 1 1 16.7 0\"/><path d=\"M11.9 13.2l4.1-5.7\"/><circle cx=\"11.9\" cy=\"13.2\" r=\"1.4\"/>","gavel":"<path d=\"M13.7 4.1l5.1 5.1M10.5 7.4l5.1 5.1M12.1 5.8l-5.6 5.6l5 5l5.6-5.6M3.5 19.5l5.9-5.9M13.7 19.5h6.5\"/>","gear":"<circle cx=\"12\" cy=\"12.1\" r=\"2.3\"/><path d=\"M17.6 14.3a1.3 1.3 0 0 0 0.2 1.5l0.1 0.1a1.5 1.5 0 1 1-2.4 2.4l-0.1-0.1a1.3 1.3 0 0 0-1.5-0.2a1.3 1.3 0 0 0-0.8 1.3V18.8a1.5 1.5 0 1 1-3.4 0v-0.1a1.3 1.3 0 0 0-0.9-1.3a1.3 1.3 0 0 0-1.5 0.2l-0.1 0.1a1.5 1.5 0 1 1-2.4-2.4l0.1-0.1a1.3 1.3 0 0 0 0.2-1.5a1.3 1.3 0 0 0-1.3-0.8H5.4a1.5 1.5 0 1 1 0-3.4h0.1a1.3 1.3 0 0 0 1.3-0.9a1.3 1.3 0 0 0-0.2-1.5l-0.1-0.1a1.5 1.5 0 1 1 2.4-2.4l0.1 0.1a1.3 1.3 0 0 0 1.5 0.2H9.8a1.3 1.3 0 0 0 0.8-1.3V5.4a1.5 1.5 0 1 1 3.4 0v0.1a1.3 1.3 0 0 0 0.8 1.3a1.3 1.3 0 0 0 1.5-0.2l0.1-0.1a1.5 1.5 0 1 1 2.4 2.4l-0.1 0.1a1.3 1.3 0 0 0-0.2 1.5V9.8a1.3 1.3 0 0 0 1.3 0.8H18.7a1.5 1.5 0 1 1 0 3.4h-0.1a1.3 1.3 0 0 0-1.3 0.8Z\"/>","gem":"<path d=\"M6.8 4.9h10.3L20.2 9.5l-8.3 10.3L3.6 9.5Z\"/><path d=\"M3.6 9.5h16.7M9.6 4.9L8.1 9.5l3.8 10.3M14.2 4.9L15.7 9.5l-3.8 10.3\"/>","ghost":"<path d=\"M4.7 20V10.6a7.3 7.3 0 0 1 14.7 0v9.4l-2.4-1.9l-2.5 1.9l-2.4-1.9L9.6 20l-2.5-1.9Z\"/><path d=\"M9.4 10.1h0M14.6 10.1h0\"/>","gift":"<rect x=\"4.4\" y=\"8.8\" width=\"15.1\" height=\"10.4\" rx=\"0.9\"/><path d=\"M3.5 8.8h17M12 8.8v10.4M12 8.8c-1.4-2.8-4.7-3.8-4.7-1.4S12 8.8 12 8.8s4.7-0.9 4.7-3.3S13.4 6 12 8.8\"/>","globe":"<circle cx=\"11.9\" cy=\"11.9\" r=\"8.3\"/><path d=\"M3.6 11.9h16.7M11.9 3.6c2.7 2.7 2.7 13.9 0 16.7M11.9 3.6c-2.7 2.7-2.7 13.9 0 16.7\"/>","gpu":"<rect x=\"3.5\" y=\"5.5\" width=\"14.4\" height=\"10\" rx=\"1.6\"/><circle cx=\"8.2\" cy=\"10.5\" r=\"2.8\"/><path d=\"M8.2 8.3v4.4M6 10.5h4.4\"/><path d=\"M17.9 8h2.6v5h-2.6M3.5 15.5v2.5\"/>","grid":"<rect x=\"3.5\" y=\"3.5\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/><rect x=\"13.1\" y=\"3.5\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/><rect x=\"3.5\" y=\"13.1\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/><rect x=\"13.1\" y=\"13.1\" width=\"7.4\" height=\"7.4\" rx=\"1.6\"/>","grip":"<path d=\"M8.3 4.5h0M15.8 4.5h0M8.3 12h0M15.8 12h0M8.3 19.5h0M15.8 19.5h0\" stroke-width=\"3.8\"/>","group":"<path d=\"M3.5 7.3V3.5h3.8M16.7 3.5h3.8v3.8M20.5 16.7v3.8h-3.8M7.3 20.5H3.5v-3.8\"/><rect x=\"7.3\" y=\"7.3\" width=\"5.7\" height=\"4.7\" rx=\"0.9\"/><rect x=\"11.1\" y=\"12\" width=\"5.7\" height=\"4.7\" rx=\"0.9\"/>","hammer":"<path d=\"M13.1 3.7L19.3 9.9l-2.7 2.7l-6.2-6.2Z\"/><path d=\"M13.6 9.4L5 18.1a1.3 1.3 0 0 0 1.9 1.9l8.6-8.6\"/>","hand":"<path d=\"M9.9 13.6V6.2a1.5 1.5 0 0 1 3 0V11.7M12.8 10.7V5.3a1.5 1.5 0 0 1 3 0V11.7M15.8 11.2V6.7a1.5 1.5 0 0 1 3 0v6.9c0 3.9-2.5 6.9-6.4 6.9c-2.6 0-4.1-1.3-5.6-3.5L4.9 14.2a1.5 1.5 0 0 1 2.4-1.8L9.9 15.6\"/>","handshake":"<path d=\"M3.6 9.9v5.3M20.3 9.9v5.3\"/><path d=\"M3.6 10.8h2.2l3.5-2.7l2.9 1.3L14.5 8.2l3.5 2.7h2.2\"/><path d=\"M5.7 10.8l5.6 5.6a1.4 1.4 0 0 0 2-2M18 10.8l-4.7 4.5M17.5 12.8l-4-4l-2.3 2.1a1.3 1.3 0 0 1-1.9-1.9l1.9-2\"/>","hash":"<path d=\"M5 9h15M4 15h15M10 3.5 8 20.5M16 3.5l-2 17\"/>","heading":"<path d=\"M5.6 3.5v17M18.4 3.5v17M5.6 12h12.7M3.5 3.5h4.2M16.2 3.5h4.2M3.5 20.5h4.2M16.2 20.5h4.2\"/>","headphones":"<path d=\"M4.4 13.9v-2.8a7.5 7.5 0 0 1 14.9 0v2.8\"/><rect x=\"3.5\" y=\"13\" width=\"4.2\" height=\"6\" rx=\"1.4\"/><rect x=\"16.1\" y=\"13\" width=\"4.2\" height=\"6\" rx=\"1.4\"/>","heart":"<path d=\"M11.9 20.3s-8.1-5.1-8.1-11.6a4.6 4.6 0 0 1 8.1-3A4.6 4.6 0 0 1 20 9.2c0 6.5-8.1 11.6-8.1 11.6Z\"/>","heart-broken":"<path d=\"M11.9 20.3s-8.1-5.1-8.1-11.6a4.6 4.6 0 0 1 8.1-3A4.6 4.6 0 0 1 20 9.2c0 6.5-8.1 11.6-8.1 11.6Z\"/><path d=\"M11.9 5.8L10 9.8l3.5 2.3l-1.6 3.9\"/>","heart-pulse":"<path d=\"M19 12.3c-1.7 3.6-7 6.7-7 6.7s-5.3-3.1-7-6.7M4.3 9.7A4.3 4.3 0 0 1 12 7.4a4.3 4.3 0 0 1 7.7 2.2\"/><path d=\"M3.5 11.9h4l1.3-2.2l2.2 4.5l1.8-3.1h7.6\"/>","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=\"M3.8 12.1a8.3 8.3 0 1 0 2.5-5.9L3.8 8.5M3.8 4.2v4.2h4.2\"/><path d=\"M12 7.9v4.3l3.1 1.9\"/>","home":"<path d=\"M3.6 10.6L12 3.3l8.4 7.3v8.4a1 1 0 0 1-1 1h-4.2v-6.3h-6.3v6.3H4.7a1 1 0 0 1-1-1Z\"/>","hot-tub":"<circle cx=\"8.6\" cy=\"5.8\" r=\"1.7\"/><path d=\"M3.8 11.9h16.6v3.3a4.2 4.2 0 0 1-4.2 4.2h-8.4A4.2 4.2 0 0 1 3.8 15.2ZM6.8 11.9v-1.4A2.4 2.4 0 0 1 8.9 8.2H9.4M13.7 9.5c0.8-0.9-0.8-1.9 0-2.8M17.3 9.5c0.8-0.9-0.8-1.9 0-2.8\"/>","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.7\" y=\"5.5\" width=\"16.7\" height=\"13\" rx=\"1.9\"/><circle cx=\"9.2\" cy=\"11\" r=\"1.9\"/><path d=\"M6.4 15.6c0.5-1.4 1.6-2.2 2.8-2.2s2.4 0.8 2.8 2.2M14.8 10.1h2.8M14.8 13.4h2.8\"/>","idea":"<path d=\"M9.1 17.6h5.8M10.1 20.5h3.9M8.7 14.3A5.8 5.8 0 1 1 15.2 14.3c-0.7 0.6-1.4 1.5-1.4 2.3h-3.9c0-0.9-0.7-1.7-1.4-2.3Z\"/>","image":"<rect x=\"3.5\" y=\"5.4\" width=\"16.7\" height=\"13\" rx=\"2.8\"/><circle cx=\"9.1\" cy=\"10\" r=\"1.5\"/><path d=\"M20.3 15.6l-4.7-4.7l-7.4 7.4\"/>","inbox":"<path d=\"M3.5 12.7L5.9 4.8h12.1l2.4 7.9V17.8a0.9 0.9 0 0 1-0.9 0.9H4.4a0.9 0.9 0 0 1-0.9-0.9ZM3.5 12.7h4.6l1.4 2.4h4.6l1.4-2.4h4.6\"/>","infinity":"<path d=\"M12 12c-1.8-2.4-3.3-3.6-4.9-3.6a3.6 3.6 0 0 0 0 7.2c1.6 0 3.1-1.2 4.9-3.6Zm0 0c1.8 2.4 3.3 3.6 4.9 3.6a3.6 3.6 0 0 0 0-7.2c-1.6 0-3.1 1.2-4.9 3.6Z\"/>","info":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 11v5M12 8h.01\"/>","invite":"<circle cx=\"9.2\" cy=\"8.2\" r=\"2.9\"/><path d=\"M3.8 18.8c0-3 2.4-4.8 5.3-4.8s5.3 2 5.3 4.8M17.9 8.2v5.3M15.3 10.9h5.3\"/>","joystick":"<path d=\"M4.3 19.6h15.4l-2.6-7.3H6.9Z\"/><path d=\"M12 12.3V7.6\"/><circle cx=\"12\" cy=\"5.4\" r=\"2.1\"/><circle cx=\"8.3\" cy=\"16.6\" r=\"1.1\"/><circle cx=\"15.7\" cy=\"16.6\" r=\"1.1\"/>","key":"<circle cx=\"8.1\" cy=\"15.9\" r=\"4.3\"/><path d=\"M11.1 12.9l9.4-9.4M16.8 7.3l3.2 3.2M14.6 9.4l2.2 2.2\"/>","keyboard":"<rect x=\"3.5\" y=\"6.6\" width=\"17\" height=\"10.7\" rx=\"1.8\"/><path d=\"M6.6 10.2h0M9.3 10.2h0M12 10.2h0M14.7 10.2h0M17.4 10.2h0M8.4 13.8h7.2\"/>","language":"<path d=\"M4.6 5.4h8.4M8.8 3.6v1.9M6.4 5.4c0.5 2.8 2.3 5.6 5.6 7M11.1 5.4c-0.6 3.2-2.6 6.3-6 7.9M12 20.3l3.7-8.4l3.7 8.4M13.3 17.5h4.8\"/>","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 5.4l8.3 4.6l-8.3 4.6l-8.3-4.6Z\"/><path d=\"M3.8 14l8.3 4.6l8.3-4.6\"/>","layers-plus":"<path d=\"M3.8 9.8l8.2-4.8l8.2 4.8M3.8 14l8.2 4.8l4.8-2.8\"/><path d=\"M18.6 14.4v5M16.1 16.9h5\"/>","leaf":"<path d=\"M3.8 20.1c0-9.5 5.6-15.2 16.7-16.7c-1 11.1-6.7 16.7-16.7 16.7ZM3.8 20.1l8.9-8.9\"/>","leave":"<path d=\"M12.7 3.5h4.2a2.1 2.1 0 0 1 2.1 2.1v12.7a2.1 2.1 0 0 1-2.1 2.1h-4.2M8.5 16.2l-4.2-4.2l4.2-4.2M4.2 12h10.6\"/>","lifebuoy":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"3.8\"/><path d=\"M6 6l3.4 3.4M14.6 14.7l3.4 3.4M18 6l-3.4 3.4M9.4 14.7l-3.4 3.4\"/>","link":"<path d=\"M9.9 14.1a4.3 4.3 0 0 0 6.1 0l3.2-3.2a4.3 4.3 0 0 0-6.1-6.1l-1.1 1.1M14.1 9.9a4.3 4.3 0 0 0-6.1 0l-3.2 3.2a4.3 4.3 0 0 0 6.1 6.1l1.1-1.1\"/>","link-off":"<path d=\"M10 13.8a4 4 0 0 0 5.6 0l2.9-2.9a4 4 0 0 0-5.6-5.6l-1 1M13.8 10a4 4 0 0 0-5.6 0l-2.9 2.9a4 4 0 0 0 5.6 5.6l1-1\"/><path d=\"M3.6 3.6l16.7 16.7\"/>","list":"<path d=\"M8.2 5.5h11.9M8.2 12h11.9M8.2 18.5h11.9M3.3 5.5h0M3.3 12h0M3.3 18.5h0\"/>","list-ordered":"<path d=\"M9.7 6.8h10.8M9.7 12.8h10.8M9.7 18.8h10.8M3.8 5.4L4.7 5v4.4M3.8 9.3h2M3.8 13.7a1 1 0 0 1 2 0.3c0 1.1-2 1.7-2 2.7h2.2\"/>","live":"<circle cx=\"12\" cy=\"11.8\" r=\"2\"/><path d=\"M8.6 8.4a4.9 4.9 0 0 0 0 7.1M15.4 8.4a4.9 4.9 0 0 1 0 7.1M6.3 6.1a8.1 8.1 0 0 0 0 11.9M17.7 6.1a8.1 8.1 0 0 1 0 11.9\"/>","lock":"<rect x=\"4.7\" y=\"10.7\" width=\"14.5\" height=\"9.4\" rx=\"2.1\"/><path d=\"M7.8 10.7V7.5a4 4 0 0 1 8.3 0v3.2\"/>","lungs":"<path d=\"M12 3.5v8M12 9.4l-3 2.1M12 9.4l3 2.1M8.4 6.5C5.6 6.5 3.5 10.4 3.5 15.2c0 2.8 1.1 4.8 3.2 4.8s2.7-2.1 2.7-4.8V8.3M15.6 6.5C18.4 6.5 20.5 10.4 20.5 15.2c0 2.8-1.1 4.8-3.2 4.8s-2.7-2.1-2.7-4.8V8.3\"/>","mail":"<rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"13.2\" rx=\"1.9\"/><path d=\"M4.4 7.4l7.6 5.7l7.6-5.7\"/>","map":"<path d=\"M9.1 4.6L3.5 6.5v13l5.6-1.9l5.6 1.9l5.6-1.9V4.6l-5.6 1.9Z\"/><path d=\"M9.1 4.6v13M14.7 6.5v13\"/>","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.5\" y=\"7.1\" width=\"17\" height=\"12.3\" rx=\"1.9\"/><path d=\"M9.2 7.1V5.2a0.9 0.9 0 0 1 0.9-0.9h3.8a0.9 0.9 0 0 1 0.9 0.9v1.9M12 10.4v5.7M9.2 13.3h5.7\"/>","megaphone":"<path d=\"M3.6 9.5v4a1 1 0 0 0 1 1H7.1l9 4.5v-15L7.1 8.5H4.5a1 1 0 0 0-1 1Z\"/><path d=\"M7.1 14.5l1.3 5h2.4L10.1 15.1M19.1 9a3.2 3.2 0 0 1 0 5\"/>","members":"<circle cx=\"9.2\" cy=\"7.9\" r=\"3\"/><path d=\"M3.6 19.1c0-3.1 2.6-5.1 5.6-5.1s5.6 2.1 5.6 5.1M15.7 5a3 3 0 0 1 0 5.9M17.6 14.3c1.8 0.6 2.8 2.3 2.8 4.8\"/>","memory":"<rect x=\"3.5\" y=\"5.5\" width=\"17\" height=\"7.5\" rx=\"1.2\"/><path d=\"M3.5 15v3.5M6.6 15v3.5M9.7 15v3.5M12.8 15v3.5M15.9 15v3.5M19 15v3.5\"/><path d=\"M6.7 8h4.8M6.7 10.8h3M13.4 8h3.9M13.4 10.8h2.4\"/>","menu":"<path d=\"M3.5 6.7h17M3.5 12h17M3.5 17.3h17\"/>","mic":"<rect x=\"9.2\" y=\"3.5\" width=\"5.7\" height=\"10.4\" rx=\"2.8\"/><path d=\"M5.4 11.1a6.6 6.6 0 0 0 13.2 0M12 17.7v2.8\"/>","mic-off":"<rect x=\"9.2\" y=\"3.6\" width=\"5.7\" height=\"10.4\" rx=\"2.8\"/><path d=\"M5.5 11.1a6.6 6.6 0 0 0 11 5M18.7 11.1c0 0.8-0.1 1.5-0.4 2.2M12.1 17.7v2.8M4.5 4.5l15.1 15.1\"/>","microscope":"<path d=\"M3.4 19.9h17.2M6.2 19.9v-3.4h5.8v3.4M9.2 16.5h8.6M14.1 16.5V7.4M14.1 7.4a4 4 0 0 1 4-4h1.2M19.3 3.4v4.8M9.9 9.9h3.6\"/>","minus":"<path d=\"M3.5 12h17\"/>","minus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M8 12h8\"/>","money":"<rect x=\"3.5\" y=\"6.6\" width=\"17\" height=\"10.7\" rx=\"1.8\"/><circle cx=\"12\" cy=\"12\" r=\"2.2\"/><path d=\"M6.6 9.8v0M17.4 14.2v0\"/>","moon":"<path d=\"M20.5 14.6A8.6 8.6 0 1 1 9.4 3.5a6.9 6.9 0 0 0 11.2 11.2Z\"/>","more":"<circle cx=\"5.2\" cy=\"12\" r=\"1.6\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/><circle cx=\"18.8\" cy=\"12\" r=\"1.6\"/>","mountain":"<path d=\"M3.6 17.5L9.3 6l3.7 6.3L15.5 9.1L20.3 17.5Z\"/>","move":"<path d=\"M11.9 3.6v16.7M3.6 11.9h16.7M9 6.5l2.9-2.9l2.9 2.9M9 17.3l2.9 2.9l2.9-2.9M6.5 9l-2.9 2.9l2.9 2.9M17.3 9l2.9 2.9l-2.9 2.9\"/>","mug":"<path d=\"M4.8 9.1h11v7a4 4 0 0 1-4 4h-3a4 4 0 0 1-4-4Z\"/><path d=\"M15.8 10.5H17.3a2.5 2.5 0 0 1 0 5h-1.5M8.3 3.5c-0.8 1 0.8 2 0 3M11.8 3.5c-0.8 1 0.8 2 0 3\"/>","music":"<path d=\"M8.6 17.7V5.6l11.1-2.1v12.2\"/><circle cx=\"6\" cy=\"17.7\" r=\"2.6\"/><circle cx=\"17.2\" cy=\"15.7\" r=\"2.6\"/>","mute":"<path d=\"M3.9 9.4h3.6L12.2 5.8v12.4l-4.6-3.6H3.9Z\"/><path d=\"M16.3 9.9l4.1 4.1M20.5 9.9l-4.1 4.1\"/>","news":"<path d=\"M3.5 3.5h13.8v14.9a2.1 2.1 0 0 0 2.1 2.1H5.6a2.1 2.1 0 0 1-2.1-2.1Z\"/><path d=\"M17.3 7.7h3.2v10.6a2.1 2.1 0 0 1-2.1 2.1M7.2 7.7h6.4M7.2 11.5h6.4M7.2 15.2h3.7\"/>","nodes":"<circle cx=\"12\" cy=\"5.4\" r=\"2.1\"/><circle cx=\"5.8\" cy=\"17.9\" r=\"2.1\"/><circle cx=\"18.2\" cy=\"17.9\" r=\"2.1\"/><path d=\"M11 7.4L6.8 15.9M13 7.4l4.3 8.6M7.9 17.9h8.3\"/>","open":"<path d=\"M14 3.8h6.3v6.3M20.2 3.8l-9.4 9.4M18.2 14.2v4.2a2.1 2.1 0 0 1-2.1 2.1H5.6a2.1 2.1 0 0 1-2.1-2.1V7.9a2.1 2.1 0 0 1 2.1-2.1h4.2\"/>","palette":"<path d=\"M12.2 3.8a8.4 8.4 0 1 0 0 16.8c1.1 0 1.7-0.9 1.7-1.6c0-1.1-0.9-1.5-0.9-2.6s0.9-1.6 1.9-1.6H16.9a3.7 3.7 0 0 0 3.7-3.7C20.6 7.2 16.9 3.8 12.2 3.8Z\"/><circle cx=\"8\" cy=\"11.4\" r=\"1.1\"/><circle cx=\"10.3\" cy=\"7.9\" r=\"1.1\"/><circle cx=\"14.5\" cy=\"7.9\" r=\"1.1\"/>","parking":"<rect x=\"3.7\" y=\"3.7\" width=\"16.7\" height=\"16.7\" rx=\"3\"/><path d=\"M9.6 17V7.2h3.4a3 3 0 0 1 0 5.9H9.6\"/>","pause":"<path d=\"M7.1 3.5v17M16.9 3.5v17\"/>","paw":"<path d=\"M7.8 18.5c0-3 1.9-5.3 4.2-5.3s4.2 2.3 4.2 5.3c0 1.4-1.1 2.1-2.1 2.1c-0.8 0-1.4-0.5-2.1-0.5s-1.3 0.5-2.1 0.5c-1.1 0-2.1-0.7-2.1-2.1Z\"/><circle cx=\"5.4\" cy=\"10.6\" r=\"1.9\"/><circle cx=\"9.2\" cy=\"5.7\" r=\"1.9\"/><circle cx=\"14.8\" cy=\"5.7\" r=\"1.9\"/><circle cx=\"18.6\" cy=\"10.6\" r=\"1.9\"/>","pencil":"<path d=\"M11.9 19.6h8.4M16.1 4.2a2 2 0 0 1 2.8 2.8L7.2 18.7l-3.7 0.9l0.9-3.7Z\"/>","phone":"<path d=\"M5.7 3.4h3.9l2 4.9l-2.5 1.5a10.8 10.8 0 0 0 4.9 4.9L15.6 12.3l4.9 2v3.9a2 2 0 0 1-2 2A15.8 15.8 0 0 1 3.8 5.4a2 2 0 0 1 2-2\"/>","phone-off":"<path d=\"M5.6 4.1h3.7l1.9 4.7l-2.4 1.4a10.3 10.3 0 0 0 4.7 4.7L15.1 12.5l4.7 1.9v3.7a1.9 1.9 0 0 1-1.9 1.9A15.1 15.1 0 0 1 3.8 5.9a1.9 1.9 0 0 1 1.9-1.9\"/><path d=\"M4.3 3.6l16.1 16.1\"/>","piggy":"<path d=\"M3.5 11.4c0-3.2 3.3-5.7 7.7-5.7c1.3 0 2.4 0.2 3.4 0.6L17.4 4.7v3.3c0.8 0.7 1.4 1.6 1.6 2.5h1.4v3.4H18.8c-0.5 1-1.3 1.7-2.3 2.3V19.1h-2.9v-1.9c-0.8 0.2-1.7 0.3-2.5 0.3c-0.8 0-1.6-0.1-2.3-0.3v1.9h-2.9v-2.9C4.4 15.1 3.5 13.4 3.5 11.4Z\"/><path d=\"M14.9 10.1h0M8.7 8.1h2.9\"/>","pin":"<path d=\"M12 20.7s-6.2-5.4-6.2-10.5a6.2 6.2 0 0 1 12.4 0C18.2 15.2 12 20.7 12 20.7Z\"/><circle cx=\"12\" cy=\"10\" r=\"2.3\"/>","plane":"<path d=\"M20 4L3.5 10.8l6.6 3.1l3.1 6.6Z\"/><path d=\"M10.1 13.9l9.9-9.9\"/>","play":"<path d=\"M5.6 3.6v16.9l13.4-8.5Z\"/>","plug":"<path d=\"M9.2 4v4.6M14.8 4v4.6M6.9 8.7h10.2v2.8a5.1 5.1 0 0 1-10.2 0ZM12 16.6V20.7\"/>","plus":"<path d=\"M12 3.5v17M3.5 12h17\"/>","plus-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"M12 8v8M8 12h8\"/>","print":"<path d=\"M7.1 8.9V3.5h9.9V8.9\"/><rect x=\"3.6\" y=\"8.9\" width=\"16.7\" height=\"7.9\" rx=\"2\"/><path d=\"M7.1 13.8h9.9v6.4H7.1ZM16.4 11.9h0\"/>","puzzle":"<path d=\"M3.8 7h4.2a2.6 2.6 0 1 1 4.8 0h4.2v4.2a2.6 2.6 0 1 1 0 4.8v4.2h-4.2a2.6 2.6 0 1 0-4.8 0H3.8v-4.2a2.6 2.6 0 1 0 0-4.8Z\"/>","quote":"<path d=\"M9.8 6.2C5.8 7.2 3.6 10 3.6 13.9v3.3h5.6v-5.6h-5.6M20.3 6.2c-3.9 1.1-6.1 3.9-6.1 7.8v3.3h5.6v-5.6h-5.6\"/>","radio":"<rect x=\"3.5\" y=\"8.3\" width=\"16.8\" height=\"11.3\" rx=\"1.9\"/><path d=\"M7.3 8.3L16.7 3.9\"/><circle cx=\"15.3\" cy=\"14\" r=\"2.4\"/><path d=\"M6.8 12.4h3.8M6.8 15.4h3.8\"/>","ranking":"<path d=\"M3.5 19.9h17M4.5 19.9V13.8h4.7M9.2 19.9V10h5.7v9.9M14.9 19.9V15.7h4.7v4.3\"/><path d=\"M12 3.4l0.9 1.7l1.9 0.3l-1.4 1.3l0.3 1.9L12 7.7l-1.7 0.9l0.3-1.9L9.3 5.4l1.9-0.3Z\"/>","record":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"3\"/>","recycle":"<path d=\"M7.8 18.2H5.7a1.2 1.2 0 0 1-1-1.8l2.3-3.9M10 5.5l0.9-1.5a1.2 1.2 0 0 1 2.1 0l2.3 3.9M17.7 12.4l1.6 2.7a1.2 1.2 0 0 1-1 1.8h-4.5\"/><path d=\"M11.1 16.5l1.8 1.8l-1.8 1.8M4.5 10.4l2.4-0.7l0.7 2.5M17.2 6.1l-0.7 2.5l-2.5-0.7\"/>","reply":"<path d=\"M9.2 5.8L4 11l5.1 5.1M4 11h10.3a6.2 6.2 0 0 1 6.2 6.2v1\"/>","restroom":"<circle cx=\"7.1\" cy=\"5.3\" r=\"1.7\"/><circle cx=\"16.4\" cy=\"5.3\" r=\"1.7\"/><path d=\"M11.7 3.6v16.7M5.6 20.3v-5.1H4.7V10.6A1.4 1.4 0 0 1 6.1 9.2h1.9a1.4 1.4 0 0 1 1.4 1.4v4.6H8.5V20.3M15.5 20.3v-3.7h-2.4l1.9-6.1a0.9 0.9 0 0 1 0.9-0.9h0.9a0.9 0.9 0 0 1 0.9 0.9l1.9 6.1H17.3v3.7\"/>","retry":"<path d=\"M3.7 12a8.2 8.2 0 0 1 14.1-5.9L20.2 8.4M20.2 3.8v4.6h-4.6M20.2 12a8.2 8.2 0 0 1-14.1 5.9L3.7 15.6M3.7 20.3v-4.6h4.6\"/>","rewind":"<path d=\"M20 6.4v11.2L12.4 12ZM10.9 6.4v11.2L3.3 12Z\"/>","road":"<path d=\"M8.2 3.5L4.4 20.5M15.8 3.5l3.8 17M12 4.4v2.4M12 10.6v2.8M12 17.2V19.6\"/>","robot":"<rect x=\"5.4\" y=\"8.3\" width=\"13.2\" height=\"10.4\" rx=\"2.8\"/><path d=\"M12 4.6v3.8M9.2 13.1h0M14.8 13.1h0M9.6 16.4h4.7M3.5 13.1v1.9M20.5 13.1v1.9\"/>","rocket":"<path d=\"M11.8 15.7L8.4 12.3C9.9 6.9 13.8 3.9 20.2 3.9C20.2 10.3 17.3 14.2 11.8 15.7ZM8.4 12.3L4.9 11.8L7.4 8.3h3.9M11.8 15.7l0.5 3.4l3.4-2.5v-3.9M6.4 17.7c-1.5 0-3 1.5-3 3c1.5 0 3-1.5 3-3Z\"/><circle cx=\"15.3\" cy=\"8.8\" 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=\"M4 3.5a16.5 16.5 0 0 1 16.5 16.5M4 10.4A9.6 9.6 0 0 1 13.6 20.1\"/><path d=\"M4.6 19.4h0\" stroke-width=\"3.9\"/>","save":"<path d=\"M4.7 3.5h11.5l3.2 3.2v13.6H4.7Z\"/><path d=\"M7.8 3.5v5.2h7.3V3.5M7.8 20.2v-6.3h8.4v6.3\"/>","scale":"<path d=\"M12 4.3V19.5M8.5 19.5h6.9M5.5 7.4h13M12 4.3h0M3.7 13.4L5.9 7.8L8.1 13.4M15.9 13.4L18.1 7.8l2.2 5.6M3.7 13.4a2.2 2.2 0 0 0 4.3 0M15.9 13.4a2.2 2.2 0 0 0 4.3 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 3.8h10.1a1.9 1.9 0 0 1 1.9 1.9v1.5H17M8.3 3.8a1.9 1.9 0 0 0-1.9 1.9v11.7a2.9 2.9 0 0 1-2.9 2.9h10.7a2.9 2.9 0 0 0 2.9-2.9v-11.7a1.9 1.9 0 0 0-1.9-1.9M10.2 9.2h3.9M10.2 13h3.9\"/>","search":"<circle cx=\"10.6\" cy=\"10.6\" r=\"7\"/><path d=\"M20.4 20.4l-4.5-4.5\"/>","seedling":"<path d=\"M12 20.8v-9.8M12 11C12 6.7 9.3 4 4.4 4c0 4.3 2.7 7 7.6 7ZM12 13.7c0-4.3 2.7-7 7.6-7c0 4.3-2.7 7-7.6 7Z\"/>","send":"<path d=\"M12 20.7V4.2M3.7 12.4l8.3-8.3l8.3 8.3\"/>","server":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"7.4\" rx=\"2.1\"/><rect x=\"3.5\" y=\"13.1\" width=\"17\" height=\"7.4\" rx=\"2.1\"/><path d=\"M7.8 7.2h0M7.8 16.8h0\"/>","shapes":"<circle cx=\"7.5\" cy=\"7.7\" r=\"3.4\"/><path d=\"M16.4 3.7l3.9 6.9h-7.9ZM13.9 14.1h5.9v5.9h-5.9ZM3.6 20l3.4-5.9l3.4 5.9Z\"/>","share":"<path d=\"M12 15.2V3.3M7.4 8.1L12 3.3L16.6 8.1M4.9 12.9v6.1a1 1 0 0 0 1 1h12.2a1 1 0 0 0 1-1v-6.1\"/>","shelter":"<path d=\"M3.7 10.5L12 4l8.3 6.5M5.9 9.2v10.4M18.1 9.2v10.4\"/><circle cx=\"12\" cy=\"11\" r=\"1.6\"/><path d=\"M9.8 19.6v-3.9a2.2 2.2 0 0 1 4.3 0V19.6\"/>","shield":"<path d=\"M12 3.7L5.5 6.6v5.6c0 4.1 2.8 7.1 6.5 8.4c3.7-1.3 6.5-4.2 6.5-8.4V6.6Z\"/>","shirt":"<path d=\"M8.2 3.8L3.7 6.6l1.8 3.8l1.8-0.9v11.2h9.3V9.4l1.8 0.9l1.8-3.8l-4.7-2.7c-0.5 1.4-1.8 2.3-3.8 2.3S8.8 5.1 8.2 3.8Z\"/>","shoe":"<path d=\"M3.7 14.8v-4.8l3.5-0.4l2.6-3.5l2.8 1.2l-0.8 2.3l3.5 1.9l4.1 0.9a1.7 1.7 0 0 1 1.3 1.7V14.8Z\"/><path d=\"M3.7 17.2h16.6\"/>","sidebar":"<rect x=\"3.5\" y=\"4.5\" width=\"17\" height=\"15\" rx=\"2.5\"/><path d=\"M9.5 4.5v15\"/>","signature":"<path d=\"M3.9 14c2.4 0 3.3-8.4 5.6-8.4c1.4 0 0.9 5.6 2.4 5.6c0.9 0 1.4-2.4 2.4-2.4s0.8 1.9 1.9 1.9c0.8 0 1.4-0.6 1.9-1.1M3.9 17.8h16.7\"/>","skip":"<path d=\"M4.8 3.5l10.8 8.4l-10.8 8.4Z\"/><path d=\"M19.7 3.5v16.7\"/>","skull":"<path d=\"M12 3.7a6.5 6.5 0 0 0-6.5 6.5c0 2.2 1 3.6 2.4 4.6v2.8h8.4v-2.8c1.3-1 2.4-2.6 2.4-4.6a6.5 6.5 0 0 0-6.5-6.5Z\"/><circle cx=\"9.6\" cy=\"10.7\" r=\"1.3\"/><circle cx=\"14.4\" cy=\"10.7\" r=\"1.3\"/><path d=\"M10.6 17.7v2.8M13.4 17.7v2.8\"/>","slash":"<path d=\"M3.6 3.6l16.7 16.7\"/>","sliders":"<path d=\"M3.5 6.8h10M18.7 6.8H20.3M3.5 17.2h3.6M12.4 17.2H20.3\"/><circle cx=\"16.2\" cy=\"6.8\" r=\"2.4\"/><circle cx=\"9.8\" cy=\"17.2\" r=\"2.4\"/>","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 3.5v17M4.6 7.8l14.7 8.5M4.6 16.3l14.7-8.5M9.6 4.9L12 7.3l2.4-2.4M9.6 19.1L12 16.7l2.4 2.4\"/>","sort":"<path d=\"M3.5 5.8h9.2M3.5 12h6.2M3.5 18.2h3M17.5 4.8v14.4M14.3 16.2l3 3l3-3\"/>","sort-asc":"<path d=\"M3.4 5.4h3M3.4 11.6h6.3M3.4 17.9h9.3M17.5 4.3v14.6M14.3 16l3 3l3-3\"/>","spark":"<path d=\"M10.4 3.6l1.7 4.8L17 10.1l-4.8 1.7L10.4 16.7l-1.7-4.8L3.9 10.1l4.8-1.7ZM17 14.8l0.8 2.1L19.8 17.6l-2.1 0.8L17 20.3l-0.8-2.1L14.3 17.6l2.1-0.8Z\"/>","square":"<rect x=\"3.5\" y=\"3.5\" width=\"17\" height=\"17\" rx=\"2.7\"/>","star":"<path d=\"M12 4l2.6 5.3l5.7 0.6l-4.3 3.9l1.2 5.7L12 16.8l-5.2 2.9l1.2-5.7l-4.3-3.9l5.7-0.6Z\"/>","steps":"<path d=\"M9.7 5.7h11M9.7 11.8h11M9.7 17.8h11\"/><path d=\"M3.7 5.7l1.5 1.5L7.7 4.8M3.7 11.8l1.5 1.5L7.7 10.8M3.7 17.8l1.5 1.5L7.7 16.8\"/>","stop":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m8.5 8.5 7 7\"/>","store":"<path d=\"M3.7 8.8L5.3 3.7h13.4L20.3 8.8M3.7 8.8h16.5v1.6a2.8 2.8 0 0 1-5.4 0a2.8 2.8 0 0 1-5.6 0A2.8 2.8 0 0 1 3.7 10.4ZM4.8 12.9v7.2h14.5v-7.2M9.9 20.1v-4.1h4.1v4.1\"/>","storm":"<path d=\"M7.8 16a3.8 3.8 0 1 1 0.8-7.4A4.5 4.5 0 0 1 17.4 10.5a3.1 3.1 0 0 1-0.4 6.2\"/><path d=\"M12.9 12.2l-2.1 3.3h2.5L11.3 18.9\"/>","sun":"<circle cx=\"11.9\" cy=\"11.9\" r=\"3.4\"/><path d=\"M11.9 3.5v1.8M11.9 18.6v1.8M6 6l1.2 1.2M16.7 16.7l1.2 1.2M3.5 11.9h1.8M18.6 11.9h1.8M6 17.9l1.2-1.2M16.7 7.2l1.2-1.2\"/>","swap":"<path d=\"M3.5 7.8h14.9l-3.7-3.7M20.5 16.3H5.6l3.7 3.7\"/>","sword":"<path d=\"M20.3 3.7v3.7L10.4 17.3L6.7 13.6L16.7 3.7Z\"/><path d=\"M5.2 12L12 18.8M8.3 15.7L3.6 20.4\"/>","table":"<rect x=\"3.5\" y=\"4.3\" width=\"17\" height=\"15.1\" rx=\"1.9\"/><path d=\"M3.5 9.5h17M3.5 14.7h17M9.2 9.5V19.4M14.8 9.5V19.4\"/>","tack":"<path d=\"M9.3 4h5.6l-0.9 4.6l2.8 2.8H7.4l2.8-2.8ZM12 11.4v9.3\"/>","tag":"<path d=\"M3.8 11.2V3.8h7.4l9.3 9.3l-7.4 7.4Z\"/><circle cx=\"8\" cy=\"8\" r=\"1.2\"/>","target":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><circle cx=\"12\" cy=\"12\" r=\"5\"/><circle cx=\"12\" cy=\"12\" r=\"1.5\"/>","task":"<rect x=\"3.7\" y=\"3.6\" width=\"16.7\" height=\"16.7\" rx=\"3.2\"/><path d=\"M7.8 12l3.2 3.2l5.2-6.3\"/>","telescope":"<path d=\"M3.1 11.4l14.4-7.2l2.5 5l-14.4 7.2Z\"/><path d=\"M9.1 14.9l-1.6 4.7M9.1 14.9l5.5 4.7M8.2 17.3h6.4\"/>","tent":"<path d=\"M3.5 18.4h17M12 4.9L4.8 18.4M12 4.9l7.2 13.4M12 12.5L9.3 18.4M12 12.5l2.7 5.8\"/>","terminal":"<rect x=\"3.7\" y=\"4.6\" width=\"16.7\" height=\"14.9\" rx=\"1.9\"/><path d=\"M7.4 9.2l2.8 2.8l-2.8 2.8M12.9 14.8h3.7\"/>","text":"<path d=\"M5.2 20.3L10.9 3.6h2.1l5.7 16.7M7.4 14h9.2\"/>","thumbs-up":"<path d=\"M7.3 10.4v9.6H4.8a1 1 0 0 1-1-1v-7.6a1 1 0 0 1 1-1Z\"/><path d=\"M7.3 10.4L10.9 3.3a2.2 2.2 0 0 1 2.5 2.6L12.7 9.4H18.5a2 2 0 0 1 2 2.4l-1.3 6.6a2 2 0 0 1-2 1.6H7.3\"/>","ticket":"<path d=\"M3.6 7.4h16.7v2.8a1.9 1.9 0 0 0 0 3.7v2.8H3.6v-2.8a1.9 1.9 0 0 0 0-3.7Z\"/><path d=\"M13.8 7.4v9.3\"/>","timeline":"<path d=\"M3.5 12h0.9M8.2 12h1.9M13.9 12h1.9M19.6 12h0.9\"/><circle cx=\"6.3\" cy=\"12\" r=\"1.9\"/><circle cx=\"12\" cy=\"12\" r=\"1.9\"/><circle cx=\"17.7\" cy=\"12\" r=\"1.9\"/><path d=\"M6.3 10.1V5.9M12 13.9v4.3M17.7 10.1V5.9\"/>","toolbox":"<rect x=\"3.5\" y=\"8.1\" width=\"17\" height=\"11.3\" rx=\"1.9\"/><path d=\"M9.2 8.1V5.8A1.4 1.4 0 0 1 10.6 4.3h2.8A1.4 1.4 0 0 1 14.8 5.8V8.1M3.5 12.8h17M8.2 11.4v2.8M15.8 11.4v2.8\"/>","train":"<rect x=\"6.4\" y=\"3.8\" width=\"11.2\" height=\"12.1\" rx=\"2.8\"/><path d=\"M6.4 10.3h11.2M9.2 13.1h0M14.8 13.1h0M8.7 20.5l1.9-3.3M15.3 20.5l-1.9-3.3\"/>","trash":"<path d=\"M4.1 6.7h15.8M10 10.6v5.9M14 10.6v5.9M6.1 6.7l1 11.8a2 2 0 0 0 2 2h5.9a2 2 0 0 0 2-2l1-11.8M9 6.7V3.7h5.9v3\"/>","tree":"<path d=\"M12.1 3.6L7 10.6h2.8L5.6 16.6h13l-4.2-6h2.8ZM12.1 16.6v3.7\"/>","trend-down":"<path d=\"M3.2 7.2l5.6 5.6l3.8-3.8l7.4 7.4\"/><path d=\"M14.4 16.6h5.6v-5.6\"/>","trend-up":"<path d=\"M3.2 16.8L8.8 11.3l3.8 3.8l7.4-7.4\"/><path d=\"M14.4 7.4h5.6v5.6\"/>","trophy":"<path d=\"M7.9 4h8.4v5.2a4.1 4.1 0 0 1-8.4 0ZM7.9 6.1H4.7a3.2 3.2 0 0 0 3.2 4.1M16.2 6.1h3.2a3.2 3.2 0 0 1-3.2 4.1M12 13.4v4.1M7.9 20.8h8.4\"/>","tv":"<rect x=\"3.5\" y=\"7.8\" width=\"17\" height=\"11.6\" rx=\"1.8\"/><path d=\"M8.4 4.3l3.6 3.6l3.6-3.6\"/>","umbrella":"<path d=\"M3.8 12.5a8.4 8.4 0 0 1 16.6 0ZM12.1 12.5v6a1.9 1.9 0 0 1-3.7 0M12.1 4.1v0\"/>","undo":"<path d=\"M9.2 14.2L4 8.9l5.2-5.2\"/><path d=\"M4 8.9h11a5.8 5.8 0 0 1 0 11.5H11.3\"/>","up":"<path d=\"M3.7 16.1l8.3-8.3l8.3 8.3\"/>","upload":"<path d=\"M12 20.8V9.2M6.8 14.5l5.2-5.2l5.2 5.2M4.7 4h14.7\"/>","user":"<circle cx=\"12\" cy=\"7.4\" r=\"3.8\"/><path d=\"M4.3 20.5c0-3.9 3.4-6.6 7.7-6.6s7.7 2.6 7.7 6.6\"/>","user-check":"<circle cx=\"9.2\" cy=\"8.1\" r=\"2.8\"/><path d=\"M4 19c0-2.9 2.4-4.9 5.4-4.9s5.4 1.9 5.4 4.9M15.4 10.8l1.8 1.8l3.6-3.6\"/>","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=\"9.8\" cy=\"7.3\" r=\"3.3\"/><path d=\"M3.5 18.8c0-3.4 2.8-5.7 6.2-5.7c1.2 0 2.2 0.3 3.1 0.7\"/><rect x=\"14.6\" y=\"14.5\" width=\"5.7\" height=\"4.8\" rx=\"1\"/><path d=\"M16 14.5v-1.2a1.5 1.5 0 0 1 2.9 0v1.2\"/>","user-minus":"<circle cx=\"10.1\" cy=\"8\" r=\"3.3\"/><path d=\"M4 19.3c0-3.3 2.7-5.7 6.1-5.7c1.1 0 2.2 0.3 3 0.7\"/><path d=\"M15.1 17h5.7\"/>","user-off":"<circle cx=\"12\" cy=\"8.2\" r=\"3.5\"/><path d=\"M5.1 20c0-3.6 3-5.9 6.9-5.9s6.9 2.3 6.9 5.9\"/><path d=\"M3.7 3.7l16.7 16.7\"/>","user-pen":"<circle cx=\"9.8\" cy=\"8\" r=\"3.3\"/><path d=\"M3.8 19.1c0-3.3 2.7-5.6 6-5.6c1.1 0 2.1 0.3 3 0.7\"/><path d=\"M19.1 12.1l1.4 1.4l-4.7 4.7l-1.9 0.5l0.5-1.9Z\"/>","user-tag":"<circle cx=\"10\" cy=\"7.6\" r=\"3.3\"/><path d=\"M3.8 18.9c0-3.3 2.8-5.6 6.1-5.6c1.1 0 2.2 0.3 3.1 0.7\"/><path d=\"M14.2 14.2h3.7l2.4 2.4l-2.4 2.4h-3.7Z\"/><path d=\"M16.1 16.5h0\"/>","video":"<rect x=\"3.4\" y=\"6.4\" width=\"12.3\" height=\"11.3\" rx=\"1.9\"/><path d=\"M15.6 10.2l4.7-2.8v9.4l-4.7-2.8\"/>","volume":"<path d=\"M3.5 9.5h3.7L11.8 5.8v12.6l-4.7-3.7H3.5Z\"/><path d=\"M15.5 9.5a3.7 3.7 0 0 1 0 5.2M18.1 6.9a7.3 7.3 0 0 1 0 10.5\"/>","walk":"<circle cx=\"12.3\" cy=\"5.1\" r=\"1.7\"/><path d=\"M8.8 20.3l2.4-5.5l1.9 2.2V20.3M11 14.8l0.9-5.2l-2.7 1.4l-1.4 2.7M11.9 9.6l1.8 2.7l2.7 0.9\"/>","wallet":"<path d=\"M3.5 6.8A2.7 2.7 0 0 1 6.2 4.2H18.4v4.2M3.5 6.8V18a2.1 2.1 0 0 0 2.1 2.1h14.9V8.4H6.2A2.7 2.7 0 0 1 3.5 6.8Z\"/><path d=\"M16.2 14.2h0\"/>","wand":"<path d=\"M3.7 20.3L13.9 10.1M12.1 8.3l3.6 3.6\"/><path d=\"M17.9 3.7l0.9 2.3l2.3 0.9l-2.3 0.9l-0.9 2.3l-0.9-2.3l-2.3-0.9l2.3-0.9Z\"/>","water":"<path d=\"M3.5 10.2c2.1 0 2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8s2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8M3.5 15.6c2.1 0 2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8s2.1-1.8 4.3-1.8s2.1 1.8 4.2 1.8\"/>","wave":"<path d=\"M3.7 16.2c2.1 0 2.1-1.7 4.2-1.7s2.1 1.7 4.2 1.7s2.1-1.7 4.2-1.7s2.1 1.7 4.2 1.7\"/><path d=\"M6.5 12.7A5.6 5.6 0 0 1 16.4 9.4c-1.9-0.4-3.5 0.3-4 2\"/>","weight":"<circle cx=\"12\" cy=\"5.2\" r=\"2\"/><path d=\"M7.1 8.7h9.9l3 11.3H4.1Z\"/>","wifi":"<path d=\"M3.7 9.4a12.4 12.4 0 0 1 16.7 0M6.4 12.5a8.4 8.4 0 0 1 11.5 0M9.1 15.6a4.4 4.4 0 0 1 6.2 0M12.1 18.6h0\"/>","wind":"<path d=\"M3.5 9.9h10.4a2.8 2.8 0 1 0-2.8-2.8M3.5 13.7h14.2a2.8 2.8 0 1 1-2.8 2.8M3.5 17.5h6.6\"/>","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=\"M3.6 20h16.7M6.3 20L9.9 9.1L15.7 3.3L14.1 10.1L17.8 20\"/><path d=\"M8.4 15.4h7.3\"/>","wrench":"<path d=\"M14.6 3.6a5.2 5.2 0 0 0-4.6 7.3L3.7 17.3V20.3h3.1l6.4-6.4a5.2 5.2 0 0 0 7.3-4.6l-3.2 1.2l-2.5-2.5l1.2-3.2Z\"/>","x-circle":"<circle cx=\"12\" cy=\"12\" r=\"8.5\"/><path d=\"m9 9 6 6M15 9l-6 6\"/>","zap":"<path d=\"M13.4 3.5L5.9 12.9h5.7l-0.9 7.6l7.6-9.4h-5.7Z\"/>"};
++ const S = {"airplane":"<path d=\"M11.8 2.6c1.3 0 2 1.2 2 3V9.5l7.2 4.2v2.5L13.8 13.7v3.5l2 1.5v2.5L11.8 19.7l-3.7 1.2v-2.5l2-1.5v-3.5l-7.2 2.5v-2.5L9.8 9.5V5.3c0-1.8 0.7-3 2-3Z\"/>","alert":"<path fill-rule=\"evenodd\" d=\"M10.5 4.1a1.7 1.7 0 0 1 3 0l7.7 13.3a1.7 1.7 0 0 1-1.5 2.6H4.3a1.7 1.7 0 0 1-1.5-2.6ZM11 8.8h2v5.2h-2ZM12 15.2a1.2 1.2 0 1 1 0 2.4a1.2 1.2 0 0 1 0-2.4Z\"/>","alert-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM11.7 6.9h2.5v7.1h-2.5ZM12.9 15.3a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Z\"/>","archive":"<rect x=\"2.6\" y=\"3.4\" width=\"18.8\" height=\"5.4\" rx=\"1.2\"/><path fill-rule=\"evenodd\" d=\"M4.4 10h15.2v9.2a1.6 1.6 0 0 1-1.6 1.6H6a1.6 1.6 0 0 1-1.6-1.6ZM9.6 12.4v1.8h4.8v-1.8Z\"/>","bell":"<path d=\"M5.2 15.4V9.6a6.8 6.8 0 0 1 13.7 0v5.7l1.9 2.6H3.3ZM9.7 19.3h4.6a2.3 2.3 0 0 1-4.6 0Z\"/>","binoculars":"<rect x=\"2.9\" y=\"5.4\" width=\"6.8\" height=\"16\" rx=\"3.4\"/><rect x=\"14.3\" y=\"5.4\" width=\"6.8\" height=\"16\" rx=\"3.4\"/><rect x=\"9.3\" y=\"10.7\" width=\"5.4\" height=\"2.8\" rx=\"1\"/><path class=\"ln\" d=\"M5.8 5.4V5.2a1.3 1.3 0 0 1 2.6 0v0.2M17.6 5.4V5.2a1.3 1.3 0 0 1 2.6 0v0.2\"/>","book":"<path d=\"M4.3 5.2A2.4 2.4 0 0 1 6.8 2.7h12.2v14.6H6.8a2.4 2.4 0 0 0-2.4 2.4Z\"/><path class=\"ln\" d=\"M7.2 20.2h11.2\"/>","book-open":"<path d=\"M10.9 5.8C8.8 4.4 6 3.8 2.5 4.5v14c3.5-0.6 6.3 0 8.4 1.5ZM13.1 5.8c2.1-1.5 5-2 8.4-1.4v14c-3.5-0.6-6.3 0-8.4 1.5Z\"/>","box":"<path d=\"M12 2.7l9.4 4.5l-9.4 4.5l-9.4-4.5ZM2.6 8.9l8.6 4.1v8.2l-8.6-4.3ZM21.4 8.9l-8.6 4.1v8.2l8.6-4.3Z\"/>","brain":"<path d=\"M8.9 3.8a3.2 3.2 0 0 0-3.2 3.1a3.1 3.1 0 0 0-2.2 5.3a3.1 3.1 0 0 0 2.2 5.2a3.2 3.2 0 0 0 5.7 1.3V5.6A2.3 2.3 0 0 0 8.9 3.8Z\"/><path d=\"M15.1 3.8a3.2 3.2 0 0 1 3.2 3.1a3.1 3.1 0 0 1 2.2 5.3a3.1 3.1 0 0 1-2.2 5.2a3.2 3.2 0 0 1-5.7 1.3V5.6A2.3 2.3 0 0 1 15.1 3.8Z\"/>","bridge":"<path d=\"M5.7 4.6h2.6v15.4H5.7ZM15.7 4.6h2.6v15.4h-2.6ZM3.4 14.6h17.2v2.8H3.4Z\"/><path class=\"ln\" d=\"M4 10c1.6 0 2.5-2.3 3-5c2.4 5.2 7.6 5.2 10 0c.5 2.7 1.4 5 3 5M12 10.9V15\"/>","briefcase":"<path d=\"M2.7 9.1a2.5 2.5 0 0 1 2.5-2.5h13.6a2.5 2.5 0 0 1 2.5 2.5v2.8H2.7ZM2.7 13.1h7.2v1.5h4.3v-1.5h7.2V17.9a2.5 2.5 0 0 1-2.5 2.5H5.2a2.5 2.5 0 0 1-2.5-2.5Z\"/><path class=\"ln\" d=\"M9.1 6.6V5.7A1.5 1.5 0 0 1 10.5 4.2h2.9A1.5 1.5 0 0 1 14.9 5.7v0.9\"/>","bug":"<path fill-rule=\"evenodd\" d=\"M12 7a4.8 4.8 0 0 1 4.8 4.8v3.4a4.8 4.8 0 0 1-9.6 0v-3.4A4.8 4.8 0 0 1 12 8Zm-0.7 4.4v7.4h1.4v-7.4Z\"/><path d=\"M9.4 5.8a2.6 2.6 0 0 1 5.2 0Z\"/><path class=\"ln\" d=\"M7.2 12.5H3.8M20.2 12.5h-3.4M7.6 9.4L5 7M16.4 9.4L19 7M7.6 16.6L5 19M16.4 16.6L19 19\"/>","burst":"<path d=\"M12.1 2.6l2 4.6l4.7-1.9l-1.9 4.7l4.6 2l-4.6 2l1.9 4.7l-4.7-1.9l-2 4.6l-2-4.6l-4.7 1.9l1.9-4.7L2.7 12l4.6-2l-1.9-4.7l4.7 1.9Z\"/>","calendar":"<path fill-rule=\"evenodd\" d=\"M4.1 8.1a2 2 0 0 1 2-2h11.8a2 2 0 0 1 2 2V19.5a2 2 0 0 1-2 2H6.1a2 2 0 0 1-2-2Zm2.2 3.9V19.3h11.4v-7.3Z\"/><path class=\"ln\" d=\"M9 3.9v3.5M15 3.9v3.5\"/>","camera":"<path fill-rule=\"evenodd\" d=\"M2.5 7.8a1.9 1.9 0 0 1 1.9-1.9h2.6L8.8 3.3h6.3l1.8 2.6h2.6A1.9 1.9 0 0 1 21.5 7.8v10.7a1.9 1.9 0 0 1-1.9 1.9H4.4A1.9 1.9 0 0 1 2.5 18.5Zm9.5 2a3.6 3.6 0 1 0 0 7.2a3.6 3.6 0 0 0 0-7.2Z\"/>","camera-flip":"<path fill-rule=\"evenodd\" d=\"M2.5 7.8a1.9 1.9 0 0 1 1.9-1.9h2.6L8.8 3.3h6.3l1.8 2.6h2.6A1.9 1.9 0 0 1 21.5 7.8v10.7a1.9 1.9 0 0 1-1.9 1.9H4.4A1.9 1.9 0 0 1 2.5 18.5ZM7.7 11.7A4.5 4.5 0 0 1 16.3 11.7L13.9 12.6A2 2 0 0 0 10.1 12.6ZM16.3 14.8A4.5 4.5 0 0 1 7.7 14.8L10.1 14A2 2 0 0 0 13.9 14Z\"/>","camera-off":"<path d=\"M8.5 4.6L9 3.8h6.1l1.7 2.5h2.5A1.8 1.8 0 0 1 21.2 8.1v9.1ZM3.8 7.3L16.7 20.2H4.8A1.8 1.8 0 0 1 3 18.4V8.1Z\"/><path class=\"ln\" d=\"M4 3.8l16.2 16.2\"/>","car":"<path fill-rule=\"evenodd\" d=\"M5.6 5.2h12.7l2.7 5.5H3ZM2.6 12.2h18.7v4.5H2.6ZM5.9 14.4a1.1 1.1 0 1 0 2.3 0a1.1 1.1 0 1 0-2.3 0ZM15.8 14.4a1.1 1.1 0 1 0 2.3 0a1.1 1.1 0 1 0-2.3 0ZM5 17.5h2.7v1.8H5ZM16.3 17.5h2.7v1.8h-2.7Z\"/>","card":"<path fill-rule=\"evenodd\" d=\"M2.6 7.4a2.4 2.4 0 0 1 2.4-2.4h13.9a2.4 2.4 0 0 1 2.4 2.4v9.3a2.4 2.4 0 0 1-2.4 2.4h-13.9a2.4 2.4 0 0 1-2.4-2.4ZM2.6 9.5v1.7h18.7V9.5ZM5.9 14.2v1.5h4.8v-1.5Z\"/>","care":"<path d=\"M12 11s-4.3-2.6-4.3-5.6a2.3 2.3 0 0 1 4.3-1.5a2.3 2.3 0 0 1 4.3 1.5c0 3-4.3 5.6-4.3 5.6Z\"/><path class=\"ln\" d=\"M3.8 13.8v6M3.8 15.2h3.1l3.3 2.7h7.5a1.7 1.7 0 0 0 0-3.4h-3.9\"/>","cart":"<path d=\"M6.3 7h15l-2.5 8.3H8.1Z\"/><circle cx=\"9.5\" cy=\"19.4\" r=\"1.6\"/><circle cx=\"17\" cy=\"19.4\" r=\"1.6\"/><path class=\"ln\" d=\"M3.8 4.8H5.8l2.3 10.5\"/>","cc":"<path fill-rule=\"evenodd\" d=\"M5.6 4.6h12.7a3 3 0 0 1 3 3v8.8a3 3 0 0 1-3 3h-12.7a3 3 0 0 1-3-3v-8.8a3 3 0 0 1 3-3ZM10.8 9.5A3.2 3.2 0 1 0 10.8 14.5L9.6 13A1.3 1.3 0 1 1 9.6 11ZM17.4 9.5A3.2 3.2 0 1 0 17.4 14.5L16.2 13A1.3 1.3 0 1 1 16.2 11Z\"/>","chart":"<path class=\"ln\" d=\"M4 3.5v16.2h16.2\"/><path d=\"M7 14.9L11 10.3l3 2.5l5.2-6.2V17.7H7Z\"/>","chat":"<path d=\"M2.7 4.7A1.8 1.8 0 0 1 4.5 3h15.2a1.8 1.8 0 0 1 1.8 1.8v10.9a1.8 1.8 0 0 1-1.8 1.8H8.3L2.7 21.8Z\"/>","chat-off":"<path d=\"M8.1 4.6H19a1.6 1.6 0 0 1 1.6 1.6v9.5a1.6 1.6 0 0 1-0.4 1ZM3.4 7.3L12.9 16.8H8.3l-4.9 4.6Z\"/><path class=\"ln\" d=\"M4 4.2l16 16\"/>","check-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM17.3 8.9l1.6 1.6l-7 7l-4.1-4.1l1.6-1.6l2.6 2.6Z\"/>","child":"<circle cx=\"12\" cy=\"5.2\" r=\"2.6\"/><path class=\"ln\" d=\"M7.7 10L12 8.6l4.3 1.4M12 8.6v5.8M9.1 20.1l2.9-5.8l2.9 5.8\"/>","chip":"<path fill-rule=\"evenodd\" d=\"M8.6 7.2h6.8a1.4 1.4 0 0 1 1.4 1.4v6.8a1.4 1.4 0 0 1-1.4 1.4H8.6a1.4 1.4 0 0 1-1.4-1.4V8.6a1.4 1.4 0 0 1 1.4-1.4Zm1.7 3.1v3.4h3.4v-3.4Z\"/><path class=\"ln\" d=\"M10.2 4v3.2M13.8 4v3.2M10.2 16.8V20M13.8 16.8V20M4 10.2h3.2M4 13.8h3.2M16.8 10.2H20M16.8 13.8H20\"/>","circle":"<circle cx=\"12\" cy=\"12\" r=\"9.5\"/>","city":"<path fill-rule=\"evenodd\" d=\"M5.4 7.7h4.6v10.9H5.4Zm1.9 2.2v1.4h1.2v-1.4Zm0 2.9v1.4h1.2v-1.4Z\"/><path fill-rule=\"evenodd\" d=\"M10.7 3.4h5.1v15.2h-5.1Zm1.7 2.4v1.4h1.4V5.8Zm0 2.9v1.4h1.4V8.7Zm0 2.9v1.4h1.4v-1.4Z\"/><path d=\"M16.5 11.3h2.2v7.4h-2.2Z\"/><path class=\"ln\" d=\"M3.9 18.6h16.1\"/>","clapper":"<path fill-rule=\"evenodd\" d=\"M2.6 5.9L19.9 2.7l0.9 4.3L3.2 8.7ZM7 5.1L9.2 8.1l2.6-0.2L9.6 4.6ZM12.6 4l2.2 3.6l2.6-0.3L15.2 3.6Z\"/><path d=\"M3.1 9.9h18.2v9a1.6 1.6 0 0 1-1.6 1.6h-15a1.6 1.6 0 0 1-1.6-1.6Z\"/>","clipboard":"<path fill-rule=\"evenodd\" d=\"M7.5 4.2h9a2 2 0 0 1 2 2v13.1a2 2 0 0 1-2 2H7.5a2 2 0 0 1-2-2V6.3a2 2 0 0 1 2-2ZM9.1 9.9v1.6h5.8v-1.6Zm0 3.9v1.6h3.9v-1.6Z\"/><rect x=\"8.7\" y=\"2.5\" width=\"6.6\" height=\"3.7\" rx=\"1.2\"/>","clipboard-check":"<path fill-rule=\"evenodd\" d=\"M7.5 4.2h9a2 2 0 0 1 2 2v13.1a2 2 0 0 1-2 2H7.5a2 2 0 0 1-2-2V6.3a2 2 0 0 1 2-2ZM8 13.1L11 16.1l5-5l-1.6-1.6l-3.4 3.4l-1.5-1.5Z\"/><rect x=\"8.7\" y=\"2.5\" width=\"6.6\" height=\"3.7\" rx=\"1.2\"/>","clock":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM11.9 6.6h2.3v5l3.3 2l-1.1 2l-4.3-2.7Z\"/>","cloud":"<path d=\"M7.9 18.2h9.6a4.2 4.2 0 0 0 0.6-8.3A6.1 6.1 0 0 0 6.5 9.2A4.5 4.5 0 0 0 7.9 18.2Z\"/>","cloud-off":"<path d=\"M10.1 5.7A6 6 0 0 1 17.9 9.8a4.1 4.1 0 0 1 2.8 6.5ZM6.6 9.1L15.5 18H7.9A4.4 4.4 0 0 1 6.4 9.2Z\"/><path class=\"ln\" d=\"M5.1 4.2l15 15\"/>","coin":"<path fill-rule=\"evenodd\" d=\"M13 2.6a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM12 5.8h2.1v1.2c1.1 0.2 2.1 0.8 2.6 1.7l-1.7 1c-0.3-0.6-1-1-1.8-1c-0.9 0-1.5 0.4-1.5 1s0.5 0.8 1.8 1.1c1.8 0.4 3.5 1 3.5 3.1c0 1.4-1 2.5-2.8 2.8V18h-2.1v-1.3c-1.2-0.2-2.3-0.9-2.8-2l1.7-1c0.4 0.7 1.1 1.1 2.1 1.1c1 0 1.6-0.4 1.6-1s-0.6-0.8-2-1.1c-1.7-0.4-3.4-1-3.4-3c0-1.3 1-2.4 2.7-2.7Z\"/>","columns":"<path d=\"M2.6 6.3a2.7 2.7 0 0 1 2.7-2.7h13.4a2.7 2.7 0 0 1 2.7 2.7v1.5H2.6ZM2.6 9.9h8.3v10.4H5.3a2.7 2.7 0 0 1-2.7-2.7ZM13 9.9h8.3v7.7a2.7 2.7 0 0 1-2.7 2.7H13Z\"/>","compass":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM17.4 7.7L14.9 14.1L8.5 16.5L11 10.1Z\"/>","compress":"<path d=\"M9.7 9.7H2.7L9.7 2.7ZM14.3 9.7h7l-7-7ZM9.7 14.3H2.7l7 7ZM14.3 14.3h7l-7 7Z\"/>","computer":"<rect x=\"2.6\" y=\"3.4\" width=\"18.8\" height=\"12.8\" rx=\"2.2\"/><path class=\"ln\" d=\"M8 20h8M12 16.2v3.8\"/>","contrast":"<path fill-rule=\"evenodd\" d=\"M12.4 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm0 2.1a7.2 7.2 0 0 1 0 14.4Z\"/>","cookie":"<path fill-rule=\"evenodd\" d=\"M21.6 12.4a9.4 9.4 0 1 1-10-10a3.4 3.4 0 0 0 4.4 3.9a3.4 3.4 0 0 0 5.5 5.9ZM7 9.1a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0ZM10.9 14a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0ZM6.5 15.7a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0ZM14.8 15.7a1.3 1.3 0 1 0 2.7 0a1.3 1.3 0 1 0-2.7 0Z\"/>","copy":"<rect x=\"7.5\" y=\"7.5\" width=\"13.8\" height=\"13.8\" rx=\"2.5\"/><path class=\"ln\" d=\"M16.4 7.5V5.9a2.1 2.1 0 0 0-2.1-2.1H5.9a2.1 2.1 0 0 0-2.1 2.1v8.5a2.1 2.1 0 0 0 2.1 2.1h1.7\"/>","couch":"<path d=\"M7.1 4.2h9.7A2.5 2.5 0 0 1 19.4 6.7v1.9a3.1 3.1 0 0 0-3.1 3.1v0.1H7.7v-0.1A3.1 3.1 0 0 0 4.6 8.7V6.7A2.5 2.5 0 0 1 7.1 4.2ZM2.7 11.6a2.5 2.5 0 0 1 5.1 0v1.9h8.6V11.6a2.5 2.5 0 0 1 5.1 0v5.5H2.7Z\"/><path class=\"ln\" d=\"M5.2 17.1v1.9M18.8 17.1v1.9\"/>","cpu":"<path fill-rule=\"evenodd\" d=\"M7 5.8h10A1.2 1.2 0 0 1 18.2 7v10a1.2 1.2 0 0 1-1.2 1.2H7A1.2 1.2 0 0 1 5.8 17V7A1.2 1.2 0 0 1 7 5.8Zm3.4 4.6a0.6 0.6 0 0 0-0.6 0.6v3.2a0.6 0.6 0 0 0 0.6 0.6h3.2a0.6 0.6 0 0 0 0.6-0.6V11a0.6 0.6 0 0 0-0.6-0.6Z\"/><path class=\"ln\" d=\"M9.5 3.7v3.3M14.5 3.7v3.3M9.5 17v3.3M14.5 17v3.3M3.7 9.5h3.3M3.7 14.5h3.3M17 9.5h3.3M17 14.5h3.3\"/>","crown":"<path d=\"M2.6 7.3L7.4 11.5L12 4.1L16.6 11.5l4.8-4.2l-2 11.7H4.6Z\"/>","cubes":"<path d=\"M12 2.3L7.8 4.4v4.8l4.2 2.1l4.2-2.1V4.4ZM6.8 12.1L2.7 14.2v4.8l4.2 2.1l4.2-2.1v-4.8ZM17.2 12.1l-4.2 2.1v4.8l4.2 2.1l4.2-2.1v-4.8Z\"/>","database":"<ellipse cx=\"12\" cy=\"5.7\" rx=\"7.9\" ry=\"3.2\"/><path d=\"M4.1 7.5a7.9 3.2 0 0 0 15.9 0v4.3a7.9 3.2 0 0 1-15.9 0ZM4.1 13.4a7.9 3.2 0 0 0 15.9 0v4.7a7.9 3.2 0 0 1-15.9 0Z\"/>","dice":"<path fill-rule=\"evenodd\" d=\"M6.2 2.7h11.5a3.6 3.6 0 0 1 3.6 3.6v11.5a3.6 3.6 0 0 1-3.6 3.6H6.2a3.6 3.6 0 0 1-3.6-3.6V6.2a3.6 3.6 0 0 1 3.6-3.6ZM6.2 8.2a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM13.8 8.2a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM10 12a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM6.2 15.8a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0ZM13.8 15.8a2 2 0 1 0 3.9 0a2 2 0 1 0-3.9 0Z\"/>","dish":"<path d=\"M2.7 9.7A11.7 11.7 0 0 0 14.4 21.4Z\"/><path class=\"ln\" d=\"M8.8 15.3l4.9-4.9M14.2 4a5.8 5.8 0 0 1 5.8 5.8M14.2 8.1a1.8 1.8 0 0 1 1.8 1.8\"/>","donate":"<path fill-rule=\"evenodd\" d=\"M12 2.2a5.9 5.9 0 1 0 0 11.8a5.9 5.9 0 0 0 0-11.8Zm-0.8 3.4h1.7v5.1h-1.7ZM2.9 15h18.2v6H2.9ZM7.8 17.1v1.6h8.5V17.1Z\"/>","door":"<path fill-rule=\"evenodd\" d=\"M14.3 4.5L6.2 3v17.1l8.2-1.5ZM10.2 11.5a1 1 0 1 0 2 0a1 1 0 1 0-2 0Z\"/><path class=\"ln\" d=\"M15.5 5.3h1.4a0.9 0.9 0 0 1 0.9 0.9v13.3M15.5 19.5H20M4 19.5h2.1\"/>","download":"<path d=\"M10.6 2.3h2.5v7h4.7L11.9 15.4l-5.9-5.9h4.7Z\"/><path class=\"ln\" d=\"M4.5 19.7h14.9\"/>","drive":"<path fill-rule=\"evenodd\" d=\"M5.3 11.4h13.5a2.7 2.7 0 0 1 2.7 2.7v3a2.7 2.7 0 0 1-2.7 2.7H5.3a2.7 2.7 0 0 1-2.7-2.7v-3a2.7 2.7 0 0 1 2.7-2.7ZM16.8 14.4a1.1 1.1 0 1 1 0 2.3a1.1 1.1 0 0 1 0-2.3ZM13.7 14.4a1.1 1.1 0 1 1 0 2.3a1.1 1.1 0 0 1 0-2.3Z\"/><path class=\"ln\" d=\"M4.1 11.9L6.8 4.7h10.4l2.8 7.2\"/>","drop":"<path d=\"M12 2.2s7 7.4 7 12.6a7 7 0 0 1-13.9 0C5 9.6 12 2.2 12 2.2Z\"/>","eraser":"<path d=\"M14 3.9l6.1 6.1-5.2 5.2-6.1-6.1ZM7.4 10l6.2 6.2-3.2 3.2H6.1l-2.9-2.9a1.6 1.6 0 0 1 0-2.3Z\"/><path class=\"ln\" d=\"M13 19.4h7\"/>","expand":"<path d=\"M2.7 2.7h7L2.7 9.7ZM21.3 2.7h-7l7 7ZM2.7 21.3h7l-7-7ZM21.3 21.3h-7l7-7Z\"/>","eye":"<path fill-rule=\"evenodd\" d=\"M12 5.3C6.4 5.3 2.6 12 2.6 12s3.9 6.7 9.4 6.7S21.5 12 21.5 12S17.6 5.3 12 5.3Zm0 3.3a3.3 3.3 0 1 1 0 6.7a3.3 3.3 0 0 1 0-6.7Z\"/><circle cx=\"12\" cy=\"12\" r=\"1.6\"/>","eye-off":"<path d=\"M9 5.8A10 10 0 0 1 21.4 12a10 10 0 0 1-2.5 3.8L15.3 12.2a3.3 3.3 0 0 0-3.5-3.5ZM15 18.2A10 10 0 0 1 2.6 12a10 10 0 0 1 2.5-3.8L8.7 11.8a3.3 3.3 0 0 0 3.5 3.5Z\"/><path class=\"ln\" d=\"M4.6 4.6l14.8 14.8\"/>","fast-forward":"<path d=\"M3 5.5v13.1L12 12ZM12.7 5.5v13.1L21.8 12Z\"/>","file":"<path d=\"M5.8 2.4h7.6v5.2h5V21.2H5.8ZM15 2.7l3.1 3.3h-3.1Z\"/>","file-code":"<path fill-rule=\"evenodd\" d=\"M5.8 2.4h7.6v5.2h5V21.2H5.8ZM9.8 11l1.5 1.4l-1.6 1.7l1.6 1.7l-1.5 1.4l-2.9-3.1ZM14.4 11l-1.5 1.4l1.6 1.7l-1.6 1.7l1.5 1.4l2.9-3.1Z\"/><path d=\"M15 2.7l3.1 3.3h-3.1Z\"/>","film":"<path fill-rule=\"evenodd\" d=\"M4.8 3.6h14.4a2.3 2.3 0 0 1 2.3 2.3v12.3a2.3 2.3 0 0 1-2.3 2.3H4.8A2.3 2.3 0 0 1 2.5 18.2V5.8A2.3 2.3 0 0 1 4.8 3.6Zm3.8 2v12.9h6.8V5.5ZM4.4 6v2h2.1V6Zm0 5v1.8h2.1v-1.8Zm0 4.9v2h2.1v-2Zm13.1-10v2h2.1V6Zm0 5v1.8h2.1v-1.8Zm0 4.9v2h2.1v-2Z\"/>","finish":"<path d=\"M6.5 4.2h3.9v4.6H6.5ZM14.8 4.2h4a0.9 0.9 0 0 1 0.9 0.9v3.7h-4.9ZM10.5 8.6h4.5v4.6H10.5Z\"/><path class=\"ln\" d=\"M6 20.3V4.1\"/>","fire":"<path fill-rule=\"evenodd\" d=\"M12.1 19.8a6.8 6.8 0 0 0 6.8-6.8c0-4.3-2.9-6.8-4.2-10.3c-2.1 2.3-2.6 4.6-2.6 4.6S10.8 5.1 9.6 3C7.1 5.9 5.2 9.2 5.2 12.9A6.8 6.8 0 0 0 12.1 21.4Zm0-2.8a2.8 2.8 0 0 0 2.8-2.8c0-1.6-1.2-2.7-1.7-4c-0.9 1-1.1 1.8-1.1 1.8s-0.5-0.9-1-1.6c-1 1.2-1.7 2.5-1.7 3.9a2.8 2.8 0 0 0 2.7 2.7Z\"/>","fish":"<path fill-rule=\"evenodd\" d=\"M8.7 12c1.9-3.5 4.6-5.3 7.6-5.3c2.8 0 4.6 2.2 5.4 5.3c-0.8 3.1-2.6 5.3-5.4 5.3c-3 0-5.7-1.8-7.6-5.3ZM16.2 10.6a1.2 1.2 0 1 0 2.4 0a1.2 1.2 0 1 0-2.4 0Z\"/><path class=\"ln\" d=\"M8.7 12L4.4 8.9M8.7 12l-4.3 3.1\"/>","flag":"<path class=\"ln\" d=\"M7.2 20.5V4.3\"/><path d=\"M7.8 4.1h10.9l-2 4.1l2 4.1H7.8Z\"/>","flame":"<path fill-rule=\"evenodd\" d=\"M12 20.9c3.8 0 6.4-2.6 6.4-6.1c0-4.3-4.4-7.7-5.9-12.6h-1C10 7.2 5.6 10.5 5.6 14.9c0 3.5 2.6 6.1 6.4 6.1Zm0-3.3c1.2 0 1.9-0.8 1.9-1.9c0-1.2-1-2.1-1.9-3.5c-1 1.4-1.9 2.3-1.9 3.5c0 1.1 0.8 1.9 1.9 1.9Z\"/>","focus":"<circle cx=\"12\" cy=\"12\" r=\"3.6\"/><path class=\"ln\" d=\"M3.8 9V6.1A2.3 2.3 0 0 1 6.1 3.8H9M15 3.8h2.9A2.3 2.3 0 0 1 20.2 6.1V9M20.2 15v2.9a2.3 2.3 0 0 1-2.3 2.3H15M9 20.2H6.1A2.3 2.3 0 0 1 3.8 17.9V15\"/>","folder":"<path d=\"M2.7 6.4a2.1 2.1 0 0 1 2.1-2.1h4.4l2.1 2.1h8.1a2.1 2.1 0 0 1 2.1 2.1v8.7a2.1 2.1 0 0 1-2.1 2.1H4.8a2.1 2.1 0 0 1-2.1-2.1Z\"/>","folder-tree":"<path d=\"M9.6 5h4l1 1.5h6.4v5.3H9.6ZM9.6 14.3h4l1 1.5h6.4v5.3H9.6Z\"/><path class=\"ln\" d=\"M4.1 3.6v13.2a1 1 0 0 0 1 1H9.6M4.1 8.8H9.6\"/>","food":"<path d=\"M4.7 3.3h1.5v4.7h0.6V3.3h1.4v4.7h0.6V3.3h1.5v4.9A2.9 2.9 0 0 1 8.6 10.8V21.7H6.5V10.8a2.9 2.9 0 0 1-1.8-2.7ZM18.9 21.7h-2.3v-7.4h-3V10.6c0-3.9 1.7-6.6 5.2-7.7Z\"/>","game":"<path fill-rule=\"evenodd\" d=\"M7.6 6.3h8.8a5.8 5.8 0 0 1 0 11.5H7.6a5.8 5.8 0 0 1 0-11.5Zm-1.4 3.7v1.6H4.7v1.8h1.6v1.6H7.9v-1.6h1.6v-1.8H7.9v-1.6Zm9.2 1a1.2 1.2 0 1 0 0 2.3a1.2 1.2 0 0 0 0-2.3Zm2.5 1.6a1.2 1.2 0 1 0 0 2.3a1.2 1.2 0 0 0 0-2.3Z\"/>","gauge":"<path fill-rule=\"evenodd\" d=\"M3.7 18A9.4 9.4 0 1 1 19.4 19.6ZM15 8.6l-2.2 5.6l-2.1 0.3l-0.4-2.1Z\"/>","gavel":"<path d=\"M11.3 5.5L5.5 11.3l6.1 6.1l5.8-5.8Z\"/><path class=\"ln\" d=\"M13.7 4.2l5 5M3.8 19.1l5.7-5.7M13.7 19.1h6.3\"/>","gear":"<path fill-rule=\"evenodd\" d=\"M18.2 14.6a1.4 1.4 0 0 0 0.3 1.7l0.1 0.1a1.7 1.7 0 1 1-2.7 2.7l-0.1-0.1a1.4 1.4 0 0 0-1.7-0.3a1.4 1.4 0 0 0-0.9 1.4V19.6a1.7 1.7 0 1 1-3.8 0v-0.1a1.4 1.4 0 0 0-1-1.4a1.4 1.4 0 0 0-1.7 0.3l-0.1 0.1a1.7 1.7 0 1 1-2.7-2.7l0.1-0.1a1.4 1.4 0 0 0 0.3-1.7a1.4 1.4 0 0 0-1.4-0.9H4.6a1.7 1.7 0 1 1 0-3.8h0.1a1.4 1.4 0 0 0 1.4-1a1.4 1.4 0 0 0-0.3-1.7l-0.1-0.1a1.7 1.7 0 1 1 2.7-2.7l0.1 0.1a1.4 1.4 0 0 0 1.7 0.3H9.6a1.4 1.4 0 0 0 0.9-1.4V4.6a1.7 1.7 0 1 1 3.8 0v0.1a1.4 1.4 0 0 0 0.9 1.4a1.4 1.4 0 0 0 1.7-0.3l0.1-0.1a1.7 1.7 0 1 1 2.7 2.7l-0.1 0.1a1.4 1.4 0 0 0-0.3 1.7V9.6a1.4 1.4 0 0 0 1.4 0.9H19.6a1.7 1.7 0 1 1 0 3.8h-0.1a1.4 1.4 0 0 0-1.4 0.9ZM12.1 9.3a2.8 2.8 0 1 0 0 6.5a2.8 2.8 0 0 0 0-6.5Z\"/>","gem":"<path d=\"M6.4 3.9h11.2l3.8 5.3l-9.4 11.6L2.6 9.2Z\"/>","ghost":"<path fill-rule=\"evenodd\" d=\"M3.4 21.3V9.9a8.7 8.7 0 0 1 17.2 0v11.5l-2.9-2.1l-2.9 2.1l-2.9-2.1l-2.9 2.1l-2.9-2.1ZM8.8 7.8a1.6 1.6 0 1 0 0 3.1a1.6 1.6 0 0 0 0-3.1Zm6.2 0a1.6 1.6 0 1 0 0 3.1a1.6 1.6 0 0 0 0-3.1Z\"/>","gift":"<path d=\"M3.1 8.6h17.7v3.3H3.1ZM4.4 12.9h6.6v8.2H5.4a1 1 0 0 1-1-1ZM13 12.9h6.6v7.2a1 1 0 0 1-1 1H13Z\"/><path class=\"ln\" d=\"M12 8.6c-1.5-3.1-5.1-4.1-5.1-1.5S12 8.6 12 8.6s5.1-1 5.1-3.6s-3.6-1.5-5.1 3.6\"/>","globe":"<path d=\"M2.6 11.1A9.5 9.5 0 0 1 12 2.6a4.5 9.5 0 0 0-4.5 8.5ZM21.4 11.1A9.5 9.5 0 0 0 12 2.6a4.5 9.5 0 0 1 4.5 8.5ZM2.6 12.9A9.5 9.5 0 0 0 12 21.5a4.5 9.5 0 0 1-4.5-8.5ZM21.4 12.9A9.5 9.5 0 0 1 12 21.5a4.5 9.5 0 0 0 4.5-8.5ZM12 2.6a2.7 9.5 0 0 0-2.7 8.5h5.3A2.7 9.5 0 0 0 12 2.6ZM12 21.5a2.7 9.5 0 0 1-2.7-8.5h5.3A2.7 9.5 0 0 1 12 21.5Z\"/>","gpu":"<rect x=\"4\" y=\"5.5\" width=\"14.4\" height=\"10\" rx=\"1.6\"/><circle cx=\"8.7\" cy=\"10.5\" r=\"2.8\"/><rect x=\"18.4\" y=\"8\" width=\"2.6\" height=\"5\" rx=\"0.8\"/><path class=\"ln\" d=\"M8.7 8.3v4.4M6.5 10.5h4.4M4 15.5v2.5\"/>","grid":"<rect x=\"2.7\" y=\"2.7\" width=\"8\" height=\"8\" rx=\"2.2\"/><rect x=\"13.3\" y=\"2.7\" width=\"8\" height=\"8\" rx=\"2.2\"/><rect x=\"2.7\" y=\"13.3\" width=\"8\" height=\"8\" rx=\"2.2\"/><rect x=\"13.3\" y=\"13.3\" width=\"8\" height=\"8\" rx=\"2.2\"/>","group":"<rect x=\"6.9\" y=\"6.8\" width=\"6.4\" height=\"4.8\" rx=\"1.1\"/><rect x=\"10.8\" y=\"12.5\" width=\"6.4\" height=\"4.6\" rx=\"1.1\"/><path class=\"ln\" d=\"M4 7.6V4h3.6M16.5 4h3.6v3.6M20 16.4v3.6h-3.6M7.6 20H4v-3.6\"/>","hammer":"<path d=\"M13.1 2.5l7.5 7.5l-3.7 3.7l-7.5-7.5ZM12.9 8.9L3.7 18.1a2.1 2.1 0 0 0 2.9 2.9l9.2-9.2Z\"/>","hand":"<path d=\"M9 14.3V4.9a1.4 1.4 0 0 1 2.8 0v5.2a0.5 0.5 0 0 0 1.1 0V3.8a1.4 1.4 0 0 1 2.8 0v6.4a0.5 0.5 0 0 0 1.1 0V5.7a1.4 1.4 0 0 1 2.8 0v7.7c0 4.5-2.8 7.7-7.3 7.7c-2.9 0-4.7-1.5-6.3-4l-1.8-2.9a1.7 1.7 0 0 1 2.8-2Z\"/>","handshake":"<path d=\"M2.3 9.2h2.7v6.8H2.3ZM19 9.2h2.7v6.8H19Z\"/><path class=\"ln\" d=\"M5.6 10.8h0.3l3.4-2.6l2.9 1.3L14.6 8.1l3.4 2.6h0.4M5.9 10.8l5.4 5.4a1.4 1.4 0 0 0 2-2M18 10.8l-4.7 4.5M17.4 12.8l-3.9-3.9l-2.3 2.1a1.3 1.3 0 0 1-1.9-1.9l1.9-2\"/>","headphones":"<path class=\"ln\" d=\"M4 14.5V12a8 8 0 0 1 16 0v2.5\"/><rect x=\"2.6\" y=\"13.4\" width=\"5.4\" height=\"7.6\" rx=\"1.8\"/><rect x=\"16\" y=\"13.4\" width=\"5.4\" height=\"7.6\" rx=\"1.8\"/>","heart":"<path d=\"M12 21.6s-9.3-5.7-9.3-13a5.3 5.3 0 0 1 9.3-3.6a5.3 5.3 0 0 1 9.3 3.6c0 7.4-9.3 13-9.3 13Z\"/>","heart-broken":"<path fill-rule=\"evenodd\" d=\"M12 21.6s-9.3-5.7-9.3-13a5.3 5.3 0 0 1 9.3-3.6a5.3 5.3 0 0 1 9.3 3.6c0 7.4-9.3 13-9.3 13ZM10.9 5.9l2.7 0.6l-1.4 2.7l3.6 2.5l-2.6 5.9l-2.5-1.1l1.5-3.7l-3.7-2.5Z\"/>","help":"<path fill-rule=\"evenodd\" d=\"M13 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM9.3 9.4A3.7 3.7 0 1 1 13.9 12.8v1.6h-2.1V10.9h1a1.6 1.6 0 1 0-1.6-1.6ZM13 15.8a1.3 1.3 0 1 1 0 2.6a1.3 1.3 0 0 1 0-2.6Z\"/>","history":"<path d=\"M5.8 5.8A9.1 9.1 0 1 1 3.2 12.2h3a6.1 6.1 0 1 0 1.8-4.3ZM2.5 2.7v7.2h7.2ZM11.2 8.1h2.2v3.7l2.7 1.6l-1.1 1.8l-3.8-2.3Z\"/>","home":"<path d=\"M2.7 10.4L12 2.3l9.3 8.1v9.5a1.1 1.1 0 0 1-1.1 1.1h-5.6v-6.9h-5.4v6.9H3.8a1.1 1.1 0 0 1-1.1-1.1Z\"/>","hot-tub":"<circle cx=\"8.2\" cy=\"5.4\" r=\"2.4\"/><path d=\"M2.6 10.9h18.8v4.2a5.1 5.1 0 0 1-5.1 5.1h-8.5a5.1 5.1 0 0 1-5.1-5.1Z\"/><path class=\"ln\" d=\"M6.3 10.9v-0.6A2.4 2.4 0 0 1 8.7 8H9.2M13.5 9.4c0.8-0.9-0.8-1.9 0-2.8M17.3 9.4c0.8-0.9-0.8-1.9 0-2.8\"/>","id":"<path fill-rule=\"evenodd\" d=\"M4.8 4.6h14.4a2.3 2.3 0 0 1 2.3 2.3v10.3a2.3 2.3 0 0 1-2.3 2.3H4.8A2.3 2.3 0 0 1 2.5 17.2V6.9A2.3 2.3 0 0 1 4.8 4.6Zm4.1 4.2a2.2 2.2 0 1 0 0 4.3a2.2 2.2 0 0 0 0-4.3Zm-3.2 7.7h6.4c-0.6-1.7-1.8-2.7-3.2-2.7s-2.6 0.9-3.2 2.7Zm8.8-7.2v1.5h4V9.4Zm0 3.6v1.5h4v-1.5Z\"/>","idea":"<path d=\"M8.3 14.9A6.5 6.5 0 1 1 15.7 14.9c-0.7 0.6-1.3 1.3-1.4 2.2H9.7c-0.1-0.9-0.7-1.6-1.4-2.2Z\"/><path class=\"ln\" d=\"M9.6 20.5h4.8\"/>","image":"<path fill-rule=\"evenodd\" d=\"M2.8 6.1a2.7 2.7 0 0 1 2.7-2.7h13.3A2.7 2.7 0 0 1 21.5 6.1v12.3a2.7 2.7 0 0 1-2.7 2.7H5.4A2.7 2.7 0 0 1 2.8 18.4Zm6.2 2.2a2 2 0 1 0 0 3.9a2 2 0 0 0 0-3.9Zm7.5 3.5l-8.3 7.8h10.7a1.5 1.5 0 0 0 1.5-1.5v-3.1Z\"/>","inbox":"<path fill-rule=\"evenodd\" d=\"M2.7 12.4L5.2 3.7h13.6l2.5 8.8V17.9a1.6 1.6 0 0 1-1.6 1.6H4.2A1.6 1.6 0 0 1 2.7 17.9ZM6.4 5.6L4.6 11.5h3.8l1.5 2.4h4.3l1.5-2.4h3.8L17.6 5.6Z\"/>","info":"<path fill-rule=\"evenodd\" d=\"M12.9 2.6a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM11.7 10.5h2.5V16.9h-2.5ZM12.9 6.4a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Z\"/>","invite":"<circle cx=\"8.8\" cy=\"7.7\" r=\"3.2\"/><path d=\"M2.9 19.2c0-3.4 2.7-5.8 5.8-5.8s5.8 2.4 5.8 5.8Z\"/><path class=\"ln\" d=\"M17.6 7.8v5.3M15 10.5h5.3\"/>","joystick":"<path d=\"M3.8 21.2h16.4l-2.8-8.2H6.6Z\"/><circle cx=\"12\" cy=\"5.6\" r=\"2.8\"/><circle cx=\"8.3\" cy=\"17.2\" r=\"1.1\"/><circle cx=\"15.7\" cy=\"17.2\" r=\"1.1\"/><path class=\"ln\" d=\"M12 13V8.4\"/>","key":"<path fill-rule=\"evenodd\" d=\"M8.3 10.1a5.4 5.4 0 1 1 0 10.9a5.4 5.4 0 0 1 0-10.9Zm0 3.6a1.9 1.9 0 1 0 0 3.8a1.9 1.9 0 0 0 0-3.8Z\"/><path class=\"ln\" d=\"M11.7 12.2l8.7-8.7M16.7 7.2l3.1 3.1M14.4 9.5l2.1 2.1\"/>","keyboard":"<path fill-rule=\"evenodd\" d=\"M4.8 5.7h14.4A2.3 2.3 0 0 1 21.5 8v8a2.3 2.3 0 0 1-2.3 2.3H4.8A2.3 2.3 0 0 1 2.5 16V8a2.3 2.3 0 0 1 2.3-2.3ZM5.3 9.1h1.9v1.9H5.3ZM8.2 9.1h1.9v1.9H8.2ZM11 9.1h1.9v1.9h-1.9ZM13.9 9.1h1.9v1.9h-1.9ZM16.8 9.1h1.9v1.9h-1.9ZM7.8 13.3h8.4v1.7H7.8Z\"/>","laugh":"<path fill-rule=\"evenodd\" d=\"M13 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM7.9 8.1l3.5 1.7l-3.5 1.7l-0.7-1.4l0.7-0.4l-0.7-0.4ZM18 8.1l-3.5 1.7l3.5 1.7l0.7-1.4l-0.7-0.4l0.7-0.4ZM8.5 13.5h8.9a4.4 4.4 0 0 1-8.9 0Z\"/>","layers":"<path d=\"M12 4.3l8.6 5l-8.6 5l-8.6-5Z\"/><path class=\"ln\" d=\"M3.9 13.9l8.1 4.5l8.1-4.5\"/>","layers-plus":"<path d=\"M12 4.1l8.2 4.8l-8.2 4.8l-8.2-4.8Z\"/><path class=\"ln\" d=\"M3.8 14l8.2 4.8l4.8-2.8\"/><path d=\"M17.6 13.9h1.6v2.2h2.2v1.6h-2.2v2.2h-1.6v-2.2h-2.2v-1.6h2.2Z\"/>","leaf":"<path fill-rule=\"evenodd\" d=\"M5.4 18.6c0-8.9 5.2-14.2 15.7-15.7c-1 10.4-6.3 15.7-15.7 15.7Zm3.1-2L16.8 7.1l-9.5 8.5Z\"/><path class=\"ln\" d=\"M3.7 20.3L6 18\"/>","lifebuoy":"<path fill-rule=\"evenodd\" d=\"M13.1 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm0 5.3a4.1 4.1 0 1 1 0 8.2a4.1 4.1 0 0 1 0-8.2ZM15.5 16.2L18.4 19.1L20.2 17.3L17.2 14.3ZM10.8 16.2L7.9 19.1L6 17.3L9 14.3ZM15.5 7.8L18.4 4.9L20.2 6.7L17.2 9.7ZM10.8 7.8L7.9 4.9L6 6.7L9 9.7Z\"/>","live":"<circle cx=\"12\" cy=\"12\" r=\"2.5\"/><path class=\"ln\" d=\"M8.5 8.5a4.9 4.9 0 0 0 0 6.9M15.5 8.5a4.9 4.9 0 0 1 0 6.9M6.2 6.2a8.2 8.2 0 0 0 0 11.5M17.8 6.2a8.2 8.2 0 0 1 0 11.5\"/>","lock":"<path d=\"M4.6 11.1a1.6 1.6 0 0 1 1.6-1.6h11.5a1.6 1.6 0 0 1 1.6 1.6v8.4a1.6 1.6 0 0 1-1.6 1.6H6.2A1.6 1.6 0 0 1 4.6 19.6Z\"/><path class=\"ln\" d=\"M7.9 9.4V6.8a4.1 4.1 0 0 1 8 0V9.4\"/>","mail":"<path d=\"M2.5 7.3v-0.4A2.3 2.3 0 0 1 4.8 4.6h14.4A2.3 2.3 0 0 1 21.5 6.9v0.4l-8.7 5.6a1.6 1.6 0 0 1-1.7 0ZM2.5 9.4v7.6A2.3 2.3 0 0 0 4.8 19.4h14.4a2.3 2.3 0 0 0 2.3-2.3V9.4l-8 5.2a2.7 2.7 0 0 1-3 0Z\"/>","map":"<path d=\"M2.6 6.1 8.3 4.2v14l-5.7 1.9ZM9.7 4.2l4.6 1.6v14l-4.6-1.6ZM15.7 5.8l5.7-1.9v14l-5.7 1.9Z\"/>","mask":"<path fill-rule=\"evenodd\" d=\"M2.7 6.1c3.3 1.4 6.4 2.1 9.4 2.1s6.1-0.6 9.4-2.1c0 7.1-2.9 11.7-5.8 11.7c-1.5 0-2.2-1.5-3.6-1.5s-2.1 1.5-3.6 1.5c-2.9 0-5.8-4.6-5.8-11.7ZM6.8 11.6a1.6 1.1 0 1 0 3.3 0a1.6 1.1 0 1 0-3.3 0ZM14 11.6a1.6 1.1 0 1 0 3.3 0a1.6 1.1 0 1 0-3.3 0Z\"/>","medical":"<path fill-rule=\"evenodd\" d=\"M5.3 6.3h13.5a2.7 2.7 0 0 1 2.7 2.7v8.7a2.7 2.7 0 0 1-2.7 2.7H5.3a2.7 2.7 0 0 1-2.7-2.7V9a2.7 2.7 0 0 1 2.7-2.7ZM10.9 10h2.3v2.2h2.2v2.3h-2.2V16.7h-2.3v-2.2H8.7v-2.3h2.2Z\"/><path class=\"ln\" d=\"M9.2 6.3V5.3a0.9 0.9 0 0 1 0.9-0.9h3.8a0.9 0.9 0 0 1 0.9 0.9v1\"/>","megaphone":"<path d=\"M2.7 9.1a1.1 1.1 0 0 1 1.1-1.1h2.7l9.7-4.8v16.1l-9.7-4.8H3.8A1.1 1.1 0 0 1 2.7 13.2Z\"/><path class=\"ln\" d=\"M6.6 14.5l1.2 5M18.8 8.5a3.4 3.4 0 0 1 0 5.4\"/>","members":"<circle cx=\"9.1\" cy=\"7.1\" r=\"3.5\"/><path d=\"M2.6 19.6c0-3.7 2.9-6.3 6.4-6.3s6.4 2.6 6.4 6.3Z\"/><circle cx=\"16.5\" cy=\"6.6\" r=\"2.8\"/><path d=\"M16.7 12.4c2.8 0.4 4.7 2.7 4.7 6.2V19.6h-4.3c0-2.8-1-5.1-2.7-6.5Z\"/>","memory":"<rect x=\"3.5\" y=\"5\" width=\"17\" height=\"7.5\" rx=\"1.2\"/><path class=\"ln\" d=\"M3.5 14.5v3.5M6.6 14.5v3.5M9.7 14.5v3.5M12.8 14.5v3.5M15.9 14.5v3.5M19 14.5v3.5M6.7 7.5h4.8M6.7 10.3h3M13.4 7.5h3.9M13.4 10.3h2.4\"/>","mic":"<path d=\"M8.9 5.8a3.1 3.1 0 0 1 6.2 0V10.8a3.1 3.1 0 0 1-6.2 0Z\"/><path class=\"ln\" d=\"M5.9 10.8a6.1 6.1 0 0 0 12.3 0M12 16.9V20.2\"/>","mic-off":"<path d=\"M9 5.4A3.1 3.1 0 0 1 15.2 5.8V10.7a3.1 3.1 0 0 1-0.1 0.8Z\"/><path class=\"ln\" d=\"M5.4 10.7a6.6 6.6 0 0 0 11 5M18.7 10.7c0 0.8-0.1 1.5-0.4 2.2M12.1 17.3v2.8M4.5 4.1l15.1 15.1\"/>","microscope":"<path d=\"M2.8 18.2h18.4v2.6H2.8Z\"/><path d=\"M6.2 14.8h5.8v3.4H6.2Z\"/><path d=\"M9.2 14.8h8.6v2.6H9.2Z\"/><path d=\"M12.6 7.4a5 5 0 0 1 5-5h1.2v4.8h-1.2a1.8 1.8 0 0 0-1.8 1.8v6.4h-3.2Z\"/><path class=\"ln\" d=\"M19.3 3.4v4.8M9.9 9.9h3.6\"/>","minus-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM7.9 10.9v2.5h10.2v-2.5Z\"/>","money":"<path fill-rule=\"evenodd\" d=\"M4.8 5.7h14.4a2.1 2.1 0 0 1 2.1 2.1v8.4a2.1 2.1 0 0 1-2.1 2.1H4.8a2.1 2.1 0 0 1-2.1-2.1V7.8a2.1 2.1 0 0 1 2.1-2.1ZM12 8.9a3.1 3.1 0 1 0 0 6.3a3.1 3.1 0 0 0 0-6.3ZM6.3 8.7a1 1 0 1 0 0 2.1a1 1 0 0 0 0-2.1Zm11.4 4.6a1 1 0 1 0 0 2.1a1 1 0 0 0 0-2.1Z\"/><circle cx=\"12\" cy=\"12\" r=\"1.4\"/>","moon":"<path d=\"M21.7 14.6A9.7 9.7 0 1 1 9.4 2.3a8 8 0 0 0 12.3 12.3Z\"/>","more":"<circle cx=\"4.8\" cy=\"12\" r=\"2.2\"/><circle cx=\"12\" cy=\"12\" r=\"2.2\"/><circle cx=\"19.2\" cy=\"12\" r=\"2.2\"/>","mountain":"<path d=\"M2.8 18.1L9.2 5.3l4.1 7.1L16.1 8.9L21.5 18.1Z\"/>","mug":"<path d=\"M3.8 8.9h12.2v7.6a4.6 4.6 0 0 1-4.6 4.6h-3a4.6 4.6 0 0 1-4.6-4.6Z\"/><path class=\"ln\" d=\"M16 11H16.9a2.5 2.5 0 0 1 0 5h-0.9M7.9 3.7c-0.8 1 0.8 2 0 3M11.4 3.7c-0.8 1 0.8 2 0 3\"/>","music":"<path d=\"M7.6 5.4l13.3-2.5v3.5l-13.3 2.5Z\"/><path class=\"ln\" d=\"M8.8 17.9V6.5M19.7 15.6V4.2\"/><circle cx=\"5.5\" cy=\"17.9\" r=\"3.2\"/><circle cx=\"16.7\" cy=\"15.6\" r=\"3.2\"/>","mute":"<path d=\"M2.9 8.8h4l5.5-4.2v14.8l-5.5-4.2H2.9Z\"/><path class=\"ln\" d=\"M15.5 9.6l4.7 4.7M20.3 9.6l-4.7 4.7\"/>","news":"<path fill-rule=\"evenodd\" d=\"M2.8 2.6h14.2v15.2a2.2 2.2 0 0 0 2.2 2.2H5.1A2.2 2.2 0 0 1 2.8 18.9ZM6.6 6.6h6.8v1.7H6.6Zm0 3.7h6.8v1.7H6.6Zm0 3.7h4v1.7H6.6Z\"/><path class=\"ln\" d=\"M17.1 7.7H19.8V17.9a2.1 2.1 0 0 1-2.1 2.1\"/>","nodes":"<circle cx=\"12\" cy=\"5.2\" r=\"3\"/><circle cx=\"5.6\" cy=\"18\" r=\"3\"/><circle cx=\"18.4\" cy=\"18\" r=\"3\"/><path class=\"ln\" d=\"M10.9 7.6L6.8 15.5M13.1 7.6l4.1 7.9M8.4 18h7.1\"/>","palette":"<path fill-rule=\"evenodd\" d=\"M12.1 2.7a9.4 9.4 0 1 0 0 18.8c1.3 0 2-0.9 2-1.9c0-1.2-1-1.5-1-2.5s0.8-1.6 2-1.6H17.3a4.4 4.4 0 0 0 4.4-4.4C21.7 6.7 17.4 2.7 12.1 2.7ZM7.8 9.7a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Zm2.5-3.7a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Zm4.6 0a1.5 1.5 0 1 1 0 3a1.5 1.5 0 0 1 0-3Z\"/>","parking":"<path fill-rule=\"evenodd\" d=\"M6.2 2.6h11.6a3.6 3.6 0 0 1 3.6 3.6v11.6a3.6 3.6 0 0 1-3.6 3.6H6.2a3.6 3.6 0 0 1-3.6-3.6V6.2a3.6 3.6 0 0 1 3.6-3.6ZM8.4 18V6H13a4 4 0 0 1 0 8h-2.4v4ZM10.6 8.2v3.6H13a1.8 1.8 0 0 0 0-3.6Z\"/>","pause":"<rect x=\"4.8\" y=\"2.6\" width=\"5.1\" height=\"18.8\" rx=\"1.5\"/><rect x=\"14.2\" y=\"2.6\" width=\"5.1\" height=\"18.8\" rx=\"1.5\"/>","paw":"<path d=\"M6.9 18.5c0-3.5 2.2-6.3 5.1-6.3s5.1 2.8 5.1 6.3c0 1.8-1.3 2.9-2.9 2.9c-0.9 0-1.5-0.6-2.2-0.6s-1.3 0.6-2.2 0.6c-1.6 0-2.9-1.1-2.9-2.9Z\"/><circle cx=\"5.1\" cy=\"10.2\" r=\"2.6\"/><circle cx=\"9.1\" cy=\"5.1\" r=\"2.6\"/><circle cx=\"14.9\" cy=\"5.1\" r=\"2.6\"/><circle cx=\"18.9\" cy=\"10.2\" r=\"2.6\"/>","pencil":"<path d=\"M15.6 3.1a2.2 2.2 0 0 1 3.2 3.2L6.9 18.1l-4.5 1.2l1.2-4.5Z\"/><path class=\"ln\" d=\"M11.8 19.7H20.1\"/>","phone":"<path d=\"M5.1 2.4h4.9l2.4 6l-2.7 1.6a10.7 10.7 0 0 0 4.2 4.2l1.6-2.7l6 2.4v4.9a2.3 2.3 0 0 1-2.3 2.3A17.3 17.3 0 0 1 2.8 4.6a2.3 2.3 0 0 1 2.3-2.3Z\"/>","piggy":"<path fill-rule=\"evenodd\" d=\"M2.6 11.4c0-3.6 3.7-6.5 8.7-6.5c1.4 0 2.7 0.2 3.9 0.7L18.3 3.8v3.7c0.9 0.8 1.5 1.7 1.7 2.8h1.5v3.8H20c-0.5 1.1-1.4 2-2.6 2.6V20.1h-3.3v-2.2c-0.9 0.2-1.8 0.3-2.8 0.3c-0.9 0-1.7-0.1-2.6-0.3v2.2h-3.3v-3.3C3.7 15.5 2.6 13.6 2.6 11.4ZM14.5 9.8a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0-2.2 0ZM8.3 6.8v1.5h3.7V6.8Z\"/>","pin":"<path fill-rule=\"evenodd\" d=\"M12 2.8a7.1 7.1 0 0 0-7.1 7.1c0 5.5 7.1 11.8 7.1 11.8s7.1-6.3 7.1-11.8A7.1 7.1 0 0 0 12 2.8Zm0 4.5a2.5 2.5 0 1 1 0 5.1a2.5 2.5 0 0 1 0-5.1Z\"/>","plane":"<path d=\"M21.2 2.9L2.4 10.7l6.9 3.2ZM21.2 2.9l-11 12l3.2 6.9Z\"/>","play":"<path d=\"M5.1 3.5v17a0.9 0.9 0 0 0 1.3 0.8l12.8-8.5a0.9 0.9 0 0 0 0-1.6L6.5 2.7a0.9 0.9 0 0 0-1.3 0.8Z\"/>","plug":"<path d=\"M6.5 8h10.9v3.3a5.4 5.4 0 0 1-10.9 0Z\"/><path class=\"ln\" d=\"M9.2 4.2v3.8M14.6 4.2v3.8M11.9 16.8v3.5\"/>","plus-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm-1.2 4.2h2.5v3.8H18v2.5h-3.8V17.1h-2.5v-3.8H7.9v-2.5h3.8Z\"/>","print":"<path d=\"M6.2 2.6h11.5v4.4H6.2ZM2.6 11a2.7 2.7 0 0 1 2.7-2.7h13.4a2.7 2.7 0 0 1 2.7 2.7v4.1a2.7 2.7 0 0 1-2.7 2.7h-0.3v-4.5H5.6v4.5h-0.3A2.7 2.7 0 0 1 2.6 15.1ZM7.1 14.7h9.9v6.7H7.1Z\"/>","puzzle":"<path d=\"M2.8 5.4h5a2.9 2.9 0 1 1 5.8 0h5v5a2.9 2.9 0 1 1 0 5.8v5h-5a2.9 2.9 0 1 0-5.8 0H2.8v-5a2.9 2.9 0 1 0 0-5.8Z\"/>","radio":"<path fill-rule=\"evenodd\" d=\"M5.2 7.8h13.6a2.5 2.5 0 0 1 2.5 2.5v7.8a2.5 2.5 0 0 1-2.5 2.5H5.2A2.5 2.5 0 0 1 2.6 18.1v-7.8A2.5 2.5 0 0 1 5.2 7.8ZM12.9 14.2a2.5 2.5 0 1 0 5.1 0a2.5 2.5 0 1 0-5.1 0ZM6.1 11.6v2h4.7v-2ZM6.1 15v2h4.7v-2Z\"/><path class=\"ln\" d=\"M7.1 7.8L16.9 4\"/>","ranking":"<path d=\"M3.5 13.7h4.9V9.9h7.1v5.7h4.9v5.4H3.5ZM12 2.2l1 2l2.2 0.3l-1.6 1.6l0.4 2.2L12 7.5l-2 1l0.4-2.2l-1.6-1.6l2.2-0.3Z\"/>","record":"<path fill-rule=\"evenodd\" d=\"M13.2 2.7a9.3 9.3 0 1 0 0 18.5a9.3 9.3 0 0 0 0-18.5Zm0 3.3a6 6 0 1 1 0 11.9a6 6 0 0 1 0-11.9Z\"/><circle cx=\"13.2\" cy=\"12\" r=\"3.7\"/>","restroom":"<circle cx=\"7.2\" cy=\"5.1\" r=\"1.8\"/><circle cx=\"16.2\" cy=\"5.1\" r=\"1.8\"/><path d=\"M6 9h1.8a1.5 1.5 0 0 1 1.5 1.5v4.7H8.6v5H5.5v-5H4.7v-4.7A1.5 1.5 0 0 1 6 9Z\"/><path d=\"M15.7 9.4h1.1a0.9 0.9 0 0 1 0.9 0.7l1.9 6.3H17.4v3.6h-2.3v-3.6h-2.1l1.9-6.3a0.9 0.9 0 0 1 0.9-0.7Z\"/><path class=\"ln\" d=\"M11.6 3.7v16.3\"/>","retry":"<path class=\"ln\" d=\"M4 12a8 8 0 0 1 13.4-5.9M20 12a8 8 0 0 1-13.4 5.9\"/><path d=\"M21.3 2.8v7h-7ZM2.7 21.2v-7h7Z\"/>","rewind":"<path d=\"M21 5.5v13.1L12 12ZM11.3 5.5v13.1L2.2 12Z\"/>","robot":"<path fill-rule=\"evenodd\" d=\"M8.5 8.7h6.9a3.1 3.1 0 0 1 3.1 3.1v4.3A3.1 3.1 0 0 1 15.5 19.3H8.5A3.1 3.1 0 0 1 5.4 16.2v-4.3A3.1 3.1 0 0 1 8.5 8.7Zm0.9 3.8a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4Zm5.2 0a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4ZM9.7 16v1.3h4.5v-1.3Z\"/><path class=\"ln\" d=\"M12 5.3v3.5M3.9 13.1v2.8M20.2 13.1v2.8\"/>","rocket":"<path fill-rule=\"evenodd\" d=\"M11.9 16.6L7.4 12.2C9.1 6.1 13.6 2.9 21.1 2.9c0 7.5-3.2 12-9.2 13.7ZM13.6 8.7a1.7 1.7 0 1 0 3.5 0a1.7 1.7 0 1 0-3.5 0Z\"/><path d=\"M3.7 12.2L6.8 7.5h3.5L6.6 12.6ZM11.4 17.4L11.9 20.3l4.6-3.3v-3.5ZM6.3 17.7c-2 0-3.9 2-3.9 3.9c2 0 3.9-2 3.9-3.9Z\"/>","save":"<path fill-rule=\"evenodd\" d=\"M4.4 2.7h12.4l3.5 3.5V20.8a0.7 0.7 0 0 1-0.7 0.7H4.4a0.7 0.7 0 0 1-0.7-0.7V3.4a0.7 0.7 0 0 1 0.7-0.7Zm3.4 1.4v4.9h7.4V4.1ZM7.2 13.6v6.4h9.6v-6.4Z\"/>","scissors":"<path fill-rule=\"evenodd\" d=\"M6.2 3.8a3.2 3.2 0 1 1 0 6.5a3.2 3.2 0 0 1 0-6.5Zm0 2a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4ZM6.2 13.7a3.2 3.2 0 1 1 0 6.5a3.2 3.2 0 0 1 0-6.5Zm0 2a1.2 1.2 0 1 0 0 2.4a1.2 1.2 0 0 0 0-2.4Z\"/><path class=\"ln\" d=\"M8.7 8.8L20.4 18.1M8.7 15.2L20.4 5.9\"/>","search":"<path fill-rule=\"evenodd\" d=\"M10.6 3a7.7 7.7 0 1 1 0 15.4a7.7 7.7 0 0 1 0-15.4Zm0 3.2a4.5 4.5 0 1 0 0 9.2a4.5 4.5 0 0 0 0-9.2Z\"/><path class=\"ln\" d=\"M16.3 16.4l3.8 3.8\"/>","seedling":"<path d=\"M12.4 10.8C12.4 6.1 9.5 2.9 4 2.9c0 4.9 3 7.8 8.4 7.8ZM11.6 13.4c0-4.7 3-7.8 8.4-7.8c0 4.9-3 7.8-8.4 7.8Z\"/><path class=\"ln\" d=\"M12 20.4V12.5\"/>","server":"<path fill-rule=\"evenodd\" d=\"M5.2 2.6h13.4a2.7 2.7 0 0 1 2.7 2.7v3.4a2.7 2.7 0 0 1-2.7 2.7H5.2A2.7 2.7 0 0 1 2.5 8.6V5.3A2.7 2.7 0 0 1 5.2 2.6Zm2.2 2.9a1.5 1.5 0 1 0 0 2.9a1.5 1.5 0 0 0 0-2.9ZM5.2 12.7h13.4a2.7 2.7 0 0 1 2.7 2.7v3.4a2.7 2.7 0 0 1-2.7 2.7H5.2A2.7 2.7 0 0 1 2.5 18.7v-3.4A2.7 2.7 0 0 1 5.2 12.7Zm2.2 2.9a1.5 1.5 0 1 0 0 2.9a1.5 1.5 0 0 0 0-2.9Z\"/>","shapes":"<circle cx=\"7.3\" cy=\"7.6\" r=\"4.3\"/><path d=\"M16.5 2.7l5 8.6h-9.8ZM13.4 13.7h7.4v7.4h-7.4ZM2.5 21.1L6.8 13.7l4.3 7.4Z\"/>","shelter":"<path fill-rule=\"evenodd\" d=\"M12 2.7L2.5 10.2l1.1 1.5l1-0.8v10h14.8V10.9l1 0.8l1.1-1.5ZM9.5 20.9v-4.8a2.5 2.5 0 0 1 4.9 0v4.8ZM12 9.1a1.7 1.7 0 1 1 0 3.4a1.7 1.7 0 0 1 0-3.4Z\"/>","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\"/>","shirt":"<path d=\"M8 2.7L2.5 5.9l2.5 4.9l1.5-0.8v11.2h11V10.1l1.5 0.8L21.5 5.9l-5.5-3.2c-0.6 1.5-1.9 2.5-4 2.5S8.6 4.2 8 2.7Z\"/>","shoe":"<path d=\"M3.7 14.5V9.1l3.6-0.5l2.6-3.5l3.5 1.6l-0.8 2.3l3.1 1.7l3.6 0.8a1.9 1.9 0 0 1 1.3 1.8v1.4Z\"/><path class=\"ln\" d=\"M4.2 17h16\"/>","sidebar":"<path d=\"M2.6 6.3a2.7 2.7 0 0 1 2.7-2.7h2.8v16.6H5.3a2.7 2.7 0 0 1-2.7-2.7ZM10.1 3.7h8.5a2.7 2.7 0 0 1 2.7 2.7v11.3a2.7 2.7 0 0 1-2.7 2.7h-8.5Z\"/>","skip":"<path d=\"M3.3 2.6v18.9L15.8 12Z\"/><rect x=\"17.8\" y=\"2.7\" width=\"3.2\" height=\"18.7\" rx=\"1.5\"/>","skull":"<path fill-rule=\"evenodd\" d=\"M12 2.6a7.9 7.9 0 0 0-7.9 7.9c0 2.4 1.1 4.2 2.5 5.4V19.5a2 2 0 0 0 2 2h6.8a2 2 0 0 0 2-2v-3.6c1.4-1.2 2.5-3 2.5-5.4A7.9 7.9 0 0 0 12 2.6ZM9.2 9.4a1.7 1.7 0 1 1 0 3.4a1.7 1.7 0 0 1 0-3.4ZM14.8 9.4a1.7 1.7 0 1 1 0 3.4a1.7 1.7 0 0 1 0-3.4ZM12 13.3l1 1.8h-2ZM10.1 18.1h0.9v2.4h-0.9ZM13 18.1h0.9v2.4H13Z\"/>","sliders":"<path class=\"ln\" d=\"M4 7h8.8M19.2 7H20M4 17h2.8M13.2 17H20\"/><circle cx=\"16\" cy=\"7\" r=\"3.2\"/><circle cx=\"10\" cy=\"17\" r=\"3.2\"/>","smile":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM9.9 8.6a1.4 1.4 0 1 1 0 2.8a1.4 1.4 0 0 1 0-2.8ZM16 8.6a1.4 1.4 0 1 1 0 2.8a1.4 1.4 0 0 1 0-2.8ZM8.8 13.5h8.3a4.1 4.1 0 0 1-8.3 0Z\"/>","spark":"<path d=\"M10.7 2.6l2 5.6l5.6 2l-5.6 2L10.7 17.8l-2-5.6l-5.6-2l5.6-2ZM17.6 14.7l0.9 2.5l2.5 0.9l-2.5 0.9l-0.9 2.5l-0.9-2.5l-2.5-0.9l2.5-0.9Z\"/>","square":"<rect x=\"2.7\" y=\"2.7\" width=\"18.7\" height=\"18.7\" rx=\"3.3\"/>","star":"<path d=\"M12 2.8l2.9 6l6.6 0.8l-4.9 4.5l1.3 6.6L12 17.4l-5.9 3.2l1.3-6.6l-4.9-4.5l6.6-0.8Z\"/>","steps":"<path fill-rule=\"evenodd\" d=\"M2.8 4h4.9v4.9H2.8Zm1 2.5l0.8-0.9l0.9 0.9l1.4-1.4l0.9 0.9l-2.3 2.3ZM2.8 9.4h4.9v4.9H2.8Zm1 2.5l0.8-0.9l0.9 0.9l1.4-1.4l0.9 0.9l-2.3 2.3ZM2.8 15h4.9v4.9H2.8Zm1 2.5l0.8-0.9l0.9 0.9l1.4-1.4l0.9 0.9l-2.3 2.3Z\"/><path class=\"ln\" d=\"M10.6 6.4H20.3M10.6 11.9H20.3M10.6 17.4H20.3\"/>","store":"<path d=\"M4.4 3h15l2 6.2v1.4a3.2 3.2 0 0 1-6.3 0a3.2 3.2 0 0 1-6.3 0a3.2 3.2 0 0 1-6.3 0V9.2ZM4 14.9h15.9v5.6a1.1 1.1 0 0 1-1.1 1.1H14.1v-5.1h-4.4v5.1H5.1a1.1 1.1 0 0 1-1.1-1.1Z\"/>","sun":"<circle cx=\"12\" cy=\"12\" r=\"3.8\"/><path class=\"ln\" d=\"M12 3.9v1.3M12 18.7v1.3M6.3 6.2l0.9 0.9M16.8 16.8L17.8 17.8M4 12h1.3M18.7 12h1.3M6.3 17.8l0.9-0.9M16.8 7.2L17.8 6.2\"/>","sword":"<path d=\"M21.2 2.8v4.7l-10.8 10.8l-4.7-4.7L16.5 2.8Z\"/><path class=\"ln\" d=\"M5.2 11.9L12.1 18.8M8.4 15.6L3.7 20.3\"/>","table":"<path d=\"M2.7 6.2a2.5 2.5 0 0 1 2.5-2.5h13.6a2.5 2.5 0 0 1 2.5 2.5v2.3H2.7ZM2.7 10.5h5.3v9.9H5.2a2.5 2.5 0 0 1-2.5-2.5ZM9.8 10.5h4.5v9.9H9.8ZM16.1 10.5h5.3V17.9a2.5 2.5 0 0 1-2.5 2.5h-2.7Z\"/>","tack":"<path d=\"M8.5 3h7.2a0.8 0.8 0 0 1 0.8 1l-0.8 4l2.8 2.8a0.7 0.7 0 0 1-0.6 1.4H6.1a0.7 0.7 0 0 1-0.6-1.4l2.8-2.8l-0.8-4a0.8 0.8 0 0 1 0.8-1Z\"/><path class=\"ln\" d=\"M12 12.2V20.5\"/>","tag":"<path fill-rule=\"evenodd\" d=\"M2.9 3.4A1.5 1.5 0 0 1 4.4 2.9h7.2l10 10l-8.7 8.7L2.9 10.6Zm5 2.5a1.9 1.9 0 1 0 0 3.7a1.9 1.9 0 0 0 0-3.7Z\"/>","target":"<path fill-rule=\"evenodd\" d=\"M12 2.6a9.4 9.4 0 1 1 0 18.8a9.4 9.4 0 0 1 0-18.8Zm0 3a6.4 6.4 0 1 0 0 12.9a6.4 6.4 0 0 0 0-12.9Zm0 2.7a3.7 3.7 0 1 1 0 7.4a3.7 3.7 0 0 1 0-7.4Z\"/>","task":"<path fill-rule=\"evenodd\" d=\"M6.6 2.7h10.9a3.9 3.9 0 0 1 3.9 3.9v10.9a3.9 3.9 0 0 1-3.9 3.9H6.6A3.9 3.9 0 0 1 2.7 17.4V6.6A3.9 3.9 0 0 1 6.6 2.7ZM6.5 12.1l4.6 4.6l6.6-7.9l-1.8-1.5l-5 6l-2.6-2.6Z\"/>","telescope":"<path d=\"M2.2 12.2l15.6-7.8l3 6l-15.6 7.8Z\"/><path class=\"ln\" d=\"M9.1 14.9l-1.6 4.7M9.1 14.9l5.5 4.7M8.2 17.3h6.4\"/>","tent":"<path fill-rule=\"evenodd\" d=\"M12 4.2L19.3 17.4H4.7ZM12 11.6L9.5 17.4h5.1Z\"/><path class=\"ln\" d=\"M3.9 17.7h16.2\"/>","terminal":"<path fill-rule=\"evenodd\" d=\"M5 3.6h14a2.4 2.4 0 0 1 2.4 2.4v12a2.4 2.4 0 0 1-2.4 2.4H5A2.4 2.4 0 0 1 2.6 18V6A2.4 2.4 0 0 1 5 3.6Zm1.4 6 1.3-1.3 3.6 3.7-3.6 3.7-1.3-1.3 2.4-2.4Zm6.4 4.6h4.4v1.7h-4.4Z\"/>","text":"<path fill-rule=\"evenodd\" d=\"M10.2 2.4h3.7l6.8 18.7h-3.4l-1.6-4.7H8.3l-1.6 4.7H3.3ZM9.3 13.6h5.4L12 5.7Z\"/>","thumbs-up":"<path d=\"M6.5 10.1v10.3H3.6a1.1 1.1 0 0 1-1.1-1.1v-8a1.1 1.1 0 0 1 1.1-1.1ZM7.9 10.1l3.6-7.3a2.4 2.4 0 0 1 2.7 2.8l-0.6 3.5h5.6a2.2 2.2 0 0 1 2.2 2.6l-1.4 7a2.2 2.2 0 0 1-2.2 1.7H7.9Z\"/>","ticket":"<path fill-rule=\"evenodd\" d=\"M2.6 6.4h18.8v3.4a2.2 2.2 0 0 0 0 4.4v3.4H2.6v-3.4a2.2 2.2 0 0 0 0-4.4ZM13.3 8.4v1.8h1.4V8.4Zm0 2.7v1.8h1.4v-1.8Zm0 2.7v1.8h1.4v-1.8Z\"/>","toolbox":"<path d=\"M2.7 10.1a2.5 2.5 0 0 1 2.5-2.5h13.6a2.5 2.5 0 0 1 2.5 2.5v2.2H2.7ZM2.7 13.7h4.7v1.5h1.6v-1.5h6.2v1.5h1.6v-1.5h4.7V17.8a2.5 2.5 0 0 1-2.5 2.5H5.2A2.5 2.5 0 0 1 2.7 17.8Z\"/><path class=\"ln\" d=\"M9.1 7.5V5.7A1.5 1.5 0 0 1 10.5 4.2h2.9A1.5 1.5 0 0 1 14.9 5.7v1.9\"/>","train":"<path fill-rule=\"evenodd\" d=\"M9.1 2.7h5.8a2.9 2.9 0 0 1 2.9 2.9v6.8a2.9 2.9 0 0 1-2.9 2.9H9.1a2.9 2.9 0 0 1-2.9-2.9V5.6a2.9 2.9 0 0 1 2.9-2.9Zm-1.2 2.5v4.1h8.2V5.2ZM9.1 11.4a1.1 1.1 0 1 0 0 2.1A1.1 1.1 0 0 0 9.1 11.4Zm5.8 0a1.1 1.1 0 1 0 0 2.1a1.1 1.1 0 0 0 0-2.1Z\"/><path class=\"ln\" d=\"M8.6 20.2l1.9-3.4M15.4 20.2l-1.9-3.4\"/>","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\"/>","tree":"<path d=\"M12 2.5L5.9 10.7h3L4.4 16.9h15.1l-4.5-6.2h3Z\"/><path class=\"ln\" d=\"M12 16.2v4\"/>","trophy":"<path d=\"M7.3 3h9.6V8.6a4.7 4.7 0 0 1-9.6 0Z\"/><path class=\"ln\" d=\"M7.3 5.6H5a3.1 3.1 0 0 0 3.1 4.1M16.7 5.6h2.3a3.1 3.1 0 0 1-3.1 4.1M12 13.7V16.9M8 20.4h8.1\"/>","tv":"<rect x=\"2.7\" y=\"7.4\" width=\"18.6\" height=\"13.3\" rx=\"2.3\"/><path class=\"ln\" d=\"M8.2 3.8l3.8 3.4l3.8-3.4\"/>","umbrella":"<path d=\"M2.6 12.7a9.4 9.4 0 0 1 18.8 0Z\"/><path class=\"ln\" d=\"M12 12.7v5.6a1.9 1.9 0 0 1-3.8 0\"/>","upload":"<path d=\"M10.6 21.7h2.5v-7h4.7L11.9 8.6l-5.9 5.9h4.7Z\"/><path class=\"ln\" d=\"M4.5 4.3h14.9\"/>","user":"<circle cx=\"12\" cy=\"6.7\" r=\"4.5\"/><path d=\"M3.5 21c0-4.7 3.8-7.8 8.5-7.8s8.5 3.2 8.5 7.8Z\"/>","user-check":"<circle cx=\"8.9\" cy=\"7.5\" r=\"3.2\"/><path d=\"M2.9 19.3c0-3.4 2.7-5.9 5.9-5.9s5.9 2.4 5.9 5.9Z\"/><path class=\"ln\" d=\"M14.8 10.6l1.9 1.9l3.8-3.8\"/>","user-circle":"<path fill-rule=\"evenodd\" d=\"M13 2.9a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7Zm0 3.8a3.3 3.3 0 1 1 0 6.5a3.3 3.3 0 0 1 0-6.5ZM7.2 17.9a6.7 6.7 0 0 1 11.5 0a8.1 8.1 0 0 1-11.5 0Z\"/>","user-lock":"<circle cx=\"9.9\" cy=\"7.2\" r=\"4.2\"/><path d=\"M2.7 20c0-4.2 3.2-7 7.2-7c1.2 0 2.3 0.3 3.2 0.8v6.2Z\"/><rect x=\"14.5\" y=\"14.5\" width=\"6.9\" height=\"5.7\" rx=\"1.3\"/><path class=\"ln\" d=\"M16.4 14.5v-1a1.5 1.5 0 0 1 3 0v1\"/>","user-minus":"<circle cx=\"9.6\" cy=\"7.6\" r=\"3.9\"/><path d=\"M2.8 19.7c0-3.9 3.1-6.6 6.8-6.6c1.2 0 2.2 0.3 3.1 0.8v5.9Z\"/><path class=\"ln\" d=\"M15.1 16.7h5.2\"/>","user-off":"<path d=\"M9.1 4.7A4.2 4.2 0 1 1 15 10.6ZM4.2 20.8c0-4.3 2.8-6.9 6.3-7.2L17.5 20.8Z\"/><path class=\"ln\" d=\"M4 3.5l16.2 16.2\"/>","user-pen":"<circle cx=\"9.8\" cy=\"7.6\" r=\"4\"/><path d=\"M2.9 19.9c0-4 3.1-6.7 6.9-6.7c1.2 0 2.2 0.3 3.1 0.8v5.9Z\"/><path d=\"M19.5 11.4l2.1 2.1l-5.2 5.2l-2.8 0.7l0.7-2.8Z\"/>","user-tag":"<circle cx=\"10\" cy=\"7.4\" r=\"4\"/><path d=\"M2.9 19.9c0-4 3.2-6.8 7-6.8c1.2 0 2.3 0.3 3.2 0.8v6Z\"/><path fill-rule=\"evenodd\" d=\"M14 13.7h4.5l3.1 3.1l-3.1 3.1h-4.5ZM15.2 16.8a1.1 1.1 0 1 0 2.2 0a1.1 1.1 0 1 0-2.2 0Z\"/>","video":"<path d=\"M3 7.7a2 2 0 0 1 2-2H14.4a2 2 0 0 1 2 2v8.7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2ZM17.5 10.1l4.2-2.6v8.9l-4.2-2.6Z\"/>","volume":"<path d=\"M2.5 8.9h4l5.4-4.2v14.6l-5.4-4.2H2.5Z\"/><path class=\"ln\" d=\"M15.2 9.3a3.8 3.8 0 0 1 0 5.5M17.7 6.5a7.5 7.5 0 0 1 0 11\"/>","walk":"<circle cx=\"12.4\" cy=\"4.6\" r=\"2.2\"/><path class=\"ln\" d=\"M8.7 19.8l2.4-5.5l1.9 2.2V19.8M11.1 14.3l0.9-5.2l-2.8 1.5l-1.4 2.8M12 9.1l1.8 2.8l2.8 0.9\"/>","wallet":"<path fill-rule=\"evenodd\" d=\"M5.7 2.8H19v4.6h1.6a0.9 0.9 0 0 1 0.9 0.9v12.4H5.1a2.5 2.5 0 0 1-2.5-2.5V5.9a3.1 3.1 0 0 1 3.1-3.1Zm0 2.1a1 1 0 0 0 0 2.1h11.2V4.9ZM16.7 12.9a1.4 1.4 0 1 0 0 2.8a1.4 1.4 0 0 0 0-2.8Z\"/>","wand":"<path class=\"ln\" d=\"M3.7 20.3L13.9 10.1M12.1 8.3l3.6 3.6\"/><path d=\"M17.9 3.7l0.9 2.3l2.3 0.9l-2.3 0.9l-0.9 2.3l-0.9-2.3l-2.3-0.9l2.3-0.9Z\"/>","water":"<path d=\"M2.7 7.9c2.4 0 2.4-2 4.7-2s2.4 2 4.6 2s2.4-2 4.7-2s2.4 2 4.6 2v3.2c-2.3 0-2.3-2-4.6-2s-2.4 2-4.7 2s-2.3-2-4.6-2s-2.4 2-4.7 2ZM2.7 14.8c2.4 0 2.4-2 4.7-2s2.4 2 4.6 2s2.4-2 4.7-2s2.4 2 4.6 2v3.2c-2.3 0-2.3-2-4.6-2s-2.4 2-4.7 2s-2.3-2-4.6-2s-2.4 2-4.7 2Z\"/>","weight":"<circle cx=\"12\" cy=\"4.8\" r=\"2.6\"/><path d=\"M6.5 8.7h10.9l3.3 12.3H3.2Z\"/>","window":"<path d=\"M2.6 6.2a2.7 2.7 0 0 1 2.7-2.7h13.4a2.7 2.7 0 0 1 2.7 2.7v1.5H2.6ZM2.6 9.8h18.7v7.7a2.7 2.7 0 0 1-2.7 2.7h-13.4a2.7 2.7 0 0 1-2.7-2.7Z\"/>","window-restore":"<path d=\"M2.7 10.4a2.7 2.7 0 0 1 2.7-2.7h8.2a2.7 2.7 0 0 1 2.7 2.7v7.2a2.7 2.7 0 0 1-2.7 2.7h-8.2a2.7 2.7 0 0 1-2.7-2.7ZM7.9 6.4V6.3a2.7 2.7 0 0 1 2.7-2.7h8.2a2.7 2.7 0 0 1 2.7 2.7v7.2a2.7 2.7 0 0 1-2.7 2.7h-1.1v-5.8a4 4 0 0 0-4-4Z\"/>","wrench":"<path d=\"M14.9 2.5a6 6 0 0 0-5.5 8.3L2.7 17.5V21.3H6.5l6.7-6.7a6 6 0 0 0 8.3-5.5l-3.5 1.3l-2.9-2.9l1.3-3.5Z\"/>","x-circle":"<path fill-rule=\"evenodd\" d=\"M12.9 2.7a9.4 9.4 0 1 0 0 18.7a9.4 9.4 0 0 0 0-18.7ZM10.1 7.9L12.9 10.7l2.9-2.9l1.4 1.4l-2.9 2.9l2.9 2.9l-1.4 1.4l-2.9-2.9l-2.9 2.9l-1.4-1.4l2.9-2.9l-2.9-2.9Z\"/>","zap":"<path d=\"M13.9 2.5L5.2 13.3h6.1l-1.2 8.1l8.7-10.8h-6.1Z\"/>"};
++ 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","apple-whole":"food","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-left":"undo","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","backpack":"briefcase","backward":"rewind","backward-fast":"rewind","balance-scale":"scale","ban":"ban","bars":"menu","basket-shopping":"cart","bell":"bell","binoculars":"binoculars","bolt":"zap","bolt-lightning":"zap","book":"book","book-open":"book-open","book-skull":"book","box":"box","box-archive":"archive","box-open":"box","brain":"brain","bridge":"bridge","briefcase":"briefcase","briefcase-medical":"medical","broadcast":"live","broadcast-tower":"live","bug":"bug","bullhorn":"megaphone","bullseye":"target","burst":"burst","calendar":"calendar","calendar-check":"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-pie":"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","clip":"scissors","clipboard":"clipboard","clipboard-check":"clipboard-check","clipboard-list":"clipboard","clock":"clock","clock-rotate-left":"history","clone":"copy","closed-captioning":"cc","cloud":"cloud","cloud-arrow-down":"download","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","cpu":"cpu","credit-card":"card","crosshairs":"target","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","globe-americas":"globe","gpu":"gpu","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","joystick":"joystick","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-crosshairs":"target","location-dot":"pin","location-pin":"pin","lock":"lock","lungs":"lungs","magnifying-glass":"search","magnifying-glass-chart":"chart","magnifying-glass-dollar":"search","magnifying-glass-location":"search","map":"map","map-location-dot":"map","map-marker-alt":"pin","map-pin":"pin","mask":"mask","memory":"memory","message":"chat","microchip":"chip","microphone":"mic","microphone-lines":"mic","microphone-slash":"mic-off","microscope":"microscope","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","openstreetmap":"map","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-plus":"plug","plug-circle-xmark":"plug","plus":"plus","plus-circle":"plus-circle","power-off":"stop","print":"print","puzzle":"puzzle","puzzle-piece":"puzzle","puzzle-piece-simple":"puzzle","question":"help","quote-left":"quote","quote-right":"quote","radio":"radio","ram":"memory","ranking-star":"ranking","receipt":"ticket","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":"image","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","shield-heart":"shield","shirt":"shirt","shoe-prints":"walk","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","street-view":"walk","suitcase":"briefcase","suitcase-medical":"medical","sun":"sun","sword":"sword","table":"table","table-cells":"grid","table-columns":"columns","table-list":"table","tag":"tag","tags":"tag","telescope":"telescope","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":"wand","wand-magic-sparkles":"wand","wand-sparkles":"wand","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 FB = {"reddit-alien":"reddit","kickstarter-k":"kick","youtube":"youtube","square-youtube":"youtube","twitch":"twitch","discord":"discord","github":"github","square-github":"github","x-twitter":"x","square-x-twitter":"x","twitter":"x","kick":"kick","kickstarter":"kickstarter","google":"google","tiktok":"tiktok","threads":"threads","spotify":"spotify","soundcloud":"soundcloud","reddit":"reddit","tumblr":"tumblr","hacker-news":"ycombinator","line":"line","paypal":"paypal","patreon":"patreon","mastodon":"mastodon","linux":"linux","instagram":"instagram","facebook":"facebook","facebook-f":"facebook","cloudflare":"cloudflare","brave":"brave","bluesky":"bluesky","bitcoin":"bitcoin","apple":"apple","telegram":"telegram","whatsapp":"whatsapp","steam":"steam","snapchat":"snapchat","pinterest":"pinterest","vimeo":"vimeo","vimeo-v":"vimeo","npm":"npm","node":"nodedotjs","node-js":"nodedotjs","docker":"docker","python":"python","android":"android","chrome":"googlechrome","firefox":"firefoxbrowser","firefox-browser":"firefoxbrowser","gitlab":"gitlab","ubuntu":"ubuntu","raspberry":"raspberrypi","raspberry-pi":"raspberrypi","stripe":"stripe","cc-stripe":"stripe","signal":"signal","matrix":"matrix","medium":"medium","wikipedia":"wikipedia","wikipedia-w":"wikipedia","ethereum":"ethereum"};
// 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:calc(var(--ovg-stroke,2) * 1px + max(0px, (18.4px - 1.15em) * .25));stroke-linecap:round;stroke-linejoin:round;overflow:visible}html[data-ov-icons=solid]{--ovg-pref:99999px}html[data-ov-icons=line]{--ovg-pref:0px}.ovg>svg.has-s{stroke-width:min(var(--ovg-stroke,2) * 1px + max(0px, (18.4px - 1.15em) * .25), max(0px, (1.15em - var(--ovg-pref, var(--ovg-solid-below, 18.4px))) * 999))}.ovg>svg>.ovg-s{fill:currentColor;stroke:none;clip-path:inset(max(0px, (1.15em - var(--ovg-pref, var(--ovg-solid-below, 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.ovg-solid>svg.has-s{stroke-width:0}.ovg.ovg-solid>svg>.ovg-s{clip-path:none}.ovg.ovg-line>svg.has-s{stroke-width:calc(var(--ovg-stroke,2) * 1px + max(0px, (18.4px - 1.15em) * .25))}.ovg.ovg-line>svg>.ovg-s{clip-path:inset(50%)}.ovg.ovg-thin{--ovg-stroke:1}.ovg.ovg-light{--ovg-stroke:1.5}.ovg.ovg-regular{--ovg-stroke:2}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.ovg-duotone>svg>.ovg-s{clip-path:none;opacity:.2;fill:var(--ovg-duotone-color,currentColor)}.ovg.ovg-duotone>svg.has-s{stroke-width:var(--ovg-stroke,2)}:where([aria-current=page],[aria-current=true],[aria-pressed=true],[aria-selected=true],.is-here)>.ovg:not(.ovg-line)>svg.has-s{stroke-width:0}:where([aria-current=page],[aria-current=true],[aria-pressed=true],[aria-selected=true],.is-here)>.ovg:not(.ovg-line)>svg>.ovg-s{clip-path:none}.ovg.ovg-brand>svg{fill:currentColor;stroke:none}.ovg.ovg-brand.ovg-brand-color{color:var(--ovg-brand)}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.fa-solid{--ovg-solid-below:99999px}.ovg.fa-duotone{--ovg-duotone-color:var(--fa-secondary-color,currentColor)}.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}}html[data-ov-motion=off] .ovg,html[data-ov-motion=off] .ovg[data-ovg=busy] circle,html[data-ov-motion=off] .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}html[data-ov-icons=solid]{--ovg-pref:99999px}html[data-ov-icons=line]{--ovg-pref:0px}.ovg>svg.has-s{stroke-width:min(var(--ovg-stroke,2) * 1px + max(0px, (18.4px - 1.15em) * .25), max(0px, (1.15em - var(--ovg-pref, var(--ovg-solid-below, 18.4px))) * 999))}.ovg>svg>.ovg-s{fill:currentColor;stroke:none;clip-path:inset(max(0px, (1.15em - var(--ovg-pref, var(--ovg-solid-below, 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.ovg-solid>svg.has-s{stroke-width:0}.ovg.ovg-solid>svg>.ovg-s{clip-path:none}.ovg.ovg-line>svg.has-s{stroke-width:calc(var(--ovg-stroke,2) * 1px + max(0px, (18.4px - 1.15em) * .25))}.ovg.ovg-line>svg>.ovg-s{clip-path:inset(50%)}.ovg.ovg-thin{--ovg-stroke:1}.ovg.ovg-light{--ovg-stroke:1.5}.ovg.ovg-regular{--ovg-stroke:2}.ovg.ovg-bold{--ovg-stroke:2.5}.ovg.ovg-duotone>svg>.ovg-s{clip-path:none;opacity:.2;fill:var(--ovg-duotone-color,currentColor)}.ovg.ovg-duotone>svg.has-s{stroke-width:var(--ovg-stroke,2)}:where([aria-current=page],[aria-current=true],[aria-pressed=true],[aria-selected=true],.is-here)>.ovg:not(.ovg-line)>svg.has-s{stroke-width:0}:where([aria-current=page],[aria-current=true],[aria-pressed=true],[aria-selected=true],.is-here)>.ovg:not(.ovg-line)>svg>.ovg-s{clip-path:none}.ovg.ovg-brand>svg{fill:currentColor;stroke:none}.ovg.ovg-brand.ovg-brand-color{color:var(--ovg-brand)}.ovg.fa-thin{--ovg-stroke:1}.ovg.fa-light{--ovg-stroke:1.5}.ovg.fa-solid{--ovg-solid-below:99999px}.ovg.fa-duotone{--ovg-duotone-color:var(--fa-secondary-color,currentColor)}.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.ovg-fill{--ovg-solid-below:99999px}.ovg.ovg-xs{font-size:.75em}.ovg.ovg-sm{font-size:.875em}.ovg.ovg-lg{font-size:1.25em}.ovg.ovg-xl{font-size:1.5em}.ovg.ovg-2x{font-size:2em}.ovg.ovg-3x{font-size:3em}.ovg.ovg-fw{width:1.25em;text-align:center}.ovg.ovg-rotate-90>svg{transform:rotate(90deg)}.ovg.ovg-rotate-180>svg{transform:rotate(180deg)}.ovg.ovg-rotate-270>svg{transform:rotate(270deg)}.ovg.ovg-flip-h>svg{transform:scale(-1,1)}.ovg.ovg-flip-v>svg{transform:scale(1,-1)}.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}}html[data-ov-motion=off] .ovg,html[data-ov-motion=off] .ovg[data-ovg=busy] circle,html[data-ov-motion=off] .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).
@@@ -53,7 +59,7 @@
const SRC = (document.currentScript && document.currentScript.src) || '';
let brandState = 0; // 0 idle, 1 loading, 2 ready, 3 unavailable
const waiting = new Set();
-- const BRANDS_REV = '0da501c80e60';
++ const BRANDS_REV = '3548611c3e72';
// A logo far below the fold (a footer's social links) waits until it comes near the screen (4.138.0): most visits
// never get there, and brands.js is 26 KB. One that is in view, or hidden in a closed fold that opens, loads then.
let brandSeen = null;
@@@ -74,21 +80,21 @@
const sc = document.createElement('script');
sc.src = dir + 'brands.js' + (BRANDS_REV ? '?v=' + BRANDS_REV : '');
sc.async = true;
-- sc.onload = () => { brandState = window.OVBrands ? 2 : 3; waiting.forEach((el) => drawBrand(el)); waiting.clear(); };
++ sc.onload = () => { brandState = window.OVBrands ? 2 : 3; waiting.forEach((el) => draw(el)); waiting.clear(); };
sc.onerror = () => { brandState = 3; waiting.clear(); };
document.head.appendChild(sc);
}
-- function drawBrand(el) {
++ function drawBrand(el, own) {
let fa = null;
-- for (const c of el.classList) if (c.startsWith('fa-') && c !== 'fa-brands' && !MOD.test(c) && Object.prototype.hasOwnProperty.call(FB, c.slice(3))) { fa = c.slice(3); break; }
-- if (!fa) return;
-- const slug = FB[fa];
++ if (own == null) for (const c of el.classList) if (c.startsWith('fa-') && c !== 'fa-brands' && !MOD.test(c) && Object.prototype.hasOwnProperty.call(FB, c.slice(3))) { fa = c.slice(3); break; }
++ if (own == null && !fa) return;
++ const slug = own != null ? own : FB[fa];
if (el.dataset.ovg === 'brand:' + slug) return;
if (!window.OVBrands) { if (brandState !== 3) { waiting.add(el); wantBrands(el); } return; }
const b = window.OVBrands.get(slug);
if (!b || (!el.dataset.ovg && el.textContent.trim())) return;
el.classList.add('ovg', 'ovg-brand');
-- el.dataset.ovg = 'brand:' + slug; el.dataset.ovgFa = fa;
++ el.dataset.ovg = 'brand:' + slug; if (fa) el.dataset.ovgFa = fa;
// A near-black brand (GitHub, X, Apple…) would vanish on a dark page: it wears the text's colour instead.
const n = parseInt(b.hex.slice(1), 16), lum = (0.2126 * (n >> 16) + 0.7152 * ((n >> 8) & 255) + 0.0722 * (n & 255)) / 255;
el.style.setProperty('--ovg-brand', lum < 0.12 ? 'currentColor' : b.hex);
@@@ -97,7 +103,28 @@
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="' + b.path + '"/></svg>';
}
++ // OpenVibe's own markup (4.231.0): data-ov-brand names a logo by its slug, data-ov-icon a glyph by its name.
++ function drawNative(el, name) {
++ const g = name === 'busy' || Object.prototype.hasOwnProperty.call(G, name) ? name : null;
++ if (!g) { if (el.dataset.ovg) { el.classList.remove('ovg'); delete el.dataset.ovg; el.textContent = ''; } return; }
++ if (el.dataset.ovg === g && el.firstChild) { if (!el.classList.contains('ovg')) el.classList.add('ovg'); return; }
++ el.classList.add('ovg');
++ el.dataset.ovg = g;
++ paint(el, g, '');
++ }
++ function paint(el, g, t) {
++ const title = el.getAttribute('title');
++ 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');
++ 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'); });
++ }
function draw(el) {
++ const own = el.getAttribute('data-ov-icon');
++ if (own != null) return drawNative(el, own.trim());
++ const brand = el.getAttribute('data-ov-brand');
++ if (brand != null) return drawBrand(el, brand.trim());
if (el.classList.contains('fa-brands') || el.classList.contains('fab')) return drawBrand(el);
const fa = nameOf(el);
const g = fa && fromFa(fa);
@@@ -108,15 +135,9 @@
el.classList.add('ovg');
el.dataset.ovg = g; el.dataset.ovgFa = fa;
if (tf) el.dataset.ovgTf = tf; else delete el.dataset.ovgTf;
-- const title = el.getAttribute('title');
-- 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"' + (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'); });
++ paint(el, g, transformOf(tf));
}
-- const SEL = 'i[class*="fa-"],span[class*="fa-"]';
++ const SEL = '[data-ov-icon],[data-ov-brand],i[class*="fa-"],span[class*="fa-"]';
function swap(root) {
const r = root || document;
if (r.matches && r.matches(SEL)) draw(r);
@@@ -131,9 +152,25 @@
if (r.type === 'attributes') { if (r.target.matches && r.target.matches(SEL)) draw(r.target); continue; }
r.addedNodes.forEach((n) => { if (n.nodeType === 1) swap(n); });
}
-- }).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'data-fa-transform'] });
++ }).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'data-fa-transform', 'data-ov-icon', 'data-ov-brand'] });
} catch (e) { /* no observer: what was there is swapped */ }
}
-- window.OVGlyphs = { swap, fromFa };
++ const esc = (v) => String(v).replace(/[&<>"]/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;' }[c]));
++ // The markup for a glyph, and an element drawn now (4.231.0).
++ function html(name, o) {
++ const opt = o || {};
++ return '<i data-ov-icon="' + esc(name) + '"' + (opt.cls ? ' class="' + esc(opt.cls) + '"' : '') + (opt.title ? ' title="' + esc(opt.title) + '"' : ' aria-hidden="true"') + '></i>';
++ }
++ function icon(name, o) {
++ const opt = o || {};
++ const el = document.createElement('i');
++ el.setAttribute('data-ov-icon', String(name));
++ if (opt.cls) el.className = String(opt.cls);
++ if (opt.title) el.setAttribute('title', String(opt.title));
++ if (!document.getElementById('ov-glyphs-css')) { const st = document.createElement('style'); st.id = 'ov-glyphs-css'; st.textContent = CSS; document.head.appendChild(st); }
++ draw(el);
++ return el;
++ }
++ window.OVGlyphs = { swap, fromFa, icon, html, has: (n) => n === 'busy' || Object.prototype.hasOwnProperty.call(G, n) };
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();
})();
ddiff --git a/ov-icons.js b/ov-icons.js
iindex d6c0805..ecbf968 100644
---- a/ov-icons.js
++++ b/ov-icons.js
@@@ -77,7 +77,7 @@
link: '<path d="M9.6 14.4a4.2 4.2 0 0 0 6.1 0l3.6-3.6a4.2 4.2 0 0 0-6.1-6.1l-1.2 1.2M14.4 9.6a4.2 4.2 0 0 0-6.1 0l-3.6 3.6a4.2 4.2 0 0 0 6.1 6.1l1.2-1.2"/>',
shield: '<path d="M12 3.5L19.5 6.3v5.8c0 4.6-3.2 7.6-7.5 8.6c-4.3-1-7.5-4.1-7.5-8.6V6.3Z"/>',
plug: '<path d="M8.7 3.9V7.9M15.5 3.9V7.9M6.4 7.9h11.3v3.4a5.7 5.7 0 0 1-11.3 0ZM12.1 16.9v4"/>',
-- // Products (2026-10-10): the sites that had only the "V"; each has a solid twin (build-nav-icons.py).
++ // Products (2026-10-10): the sites that had only the "V"; a solid twin where its glyph has one (RING_SOLIDS, scripts/build-navbar-icons.js).
work: '<rect x="3.5" y="7.6" width="17" height="11.7" rx="2.1"/><path d="M8.8 7.6V6A1.6 1.6 0 0 1 10.4 4.4h3.2A1.6 1.6 0 0 1 15.2 6V7.6M3.5 12.9h17"/>',
rent: '<circle cx="7.5" cy="11.8" r="3.8"/><path d="M11.4 11.8H20.7M17.4 11.8v3.3M20.7 11.8v2.7"/>',
help: '<circle cx="12" cy="12.1" r="8.5"/><circle cx="12" cy="17" r="0.7"/><path d="M9.4 9.6a2.7 2.7 0 1 1 3.6 2.4c-0.7 0.3-1.1 0.8-1.1 1.6v0.6"/>',
@@@ -202,110 +202,38 @@
@keyframes oviShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6%)}75%{transform:translateX(6%)}}
html[data-ov-motion=off] .ov-icon .ovi-comet{display:none}`;
-- // BEGIN generated solid glyphs (scripts/build-nav-icons.py)
-- // Font Awesome Free 6 solid glyphs (CC BY 4.0) for the ring icons; viewBox 0 0 512 512,
-- // normalised to one ink size (scripts/build-nav-icons.py).
++ // BEGIN generated ring solids (scripts/build-navbar-icons.js from glyphs.js)
++ // The solid drawing of the glyph that stands for each product (24-unit grid, openvibe-shared/glyphs).
const SOLID = {
-- network: [512, 'M397 179Q418 173 431 156Q445 140 446 117Q445 90 427 72Q409 55 382 54Q356 55 338 72Q321 89 319 115L174 173Q156 156 130 155Q103 156 85 173Q67 191 66 218Q67 245 85 263Q103 280 130 281Q144 281 156 275L272 376Q269 385 269 395Q269 422 287 440Q305 457 332 458Q359 457 377 440Q394 422 395 395Q393 361 367 343L397 179ZM190 237Q193 229 193 220L338 162Q342 166 347 170L318 333Q311 335 305 338L190 237Z'],
-- live: [576, 'M110 107Q99 135 99 166Q99 198 110 225Q113 234 110 242Q106 251 98 255Q89 258 80 255Q72 251 69 242Q54 207 54 166Q54 126 69 90Q72 82 80 79Q89 75 98 78Q106 82 110 90Q113 98 110 107ZM443 90Q458 126 458 166Q458 207 443 242Q440 251 432 254Q423 258 414 255Q406 251 402 243Q399 234 402 225Q413 198 413 166Q413 135 402 107Q399 98 402 90Q406 82 414 78Q423 74 432 78Q440 82 443 90ZM301 166Q300 192 278 205V413Q278 423 272 430Q266 436 256 436Q246 436 240 430Q234 423 234 413V205Q212 192 211 166Q212 147 224 135Q237 122 256 121Q275 122 288 135Q300 147 301 166ZM174 130Q166 147 166 166Q166 186 174 202Q177 211 174 220Q170 228 162 232Q153 235 145 232Q137 229 132 220Q121 195 121 166Q121 138 132 112Q137 104 145 100Q153 97 162 101Q170 104 174 113Q177 121 174 130ZM380 112Q391 138 391 166Q391 195 380 220Q375 229 367 232Q359 235 350 232Q342 228 338 220Q335 211 338 202Q346 186 346 166Q346 147 338 130Q335 121 338 113Q342 104 350 101Q359 97 367 100Q375 104 380 112Z'],
-- tools: [512, 'M116 58Q103 49 91 59L59 91Q49 103 58 116L121 198Q126 205 136 205H179L265 292Q256 309 259 329Q262 348 276 363L364 451Q372 458 382 458Q393 458 401 451L451 401Q458 393 458 382Q458 372 451 364L363 276Q348 262 329 259Q309 256 292 265L205 179V136Q205 126 198 121L116 58ZM70 367Q54 382 54 405Q55 427 70 442Q85 457 108 458Q130 458 145 442L239 349Q229 324 235 298L187 249L70 367ZM458 168Q458 155 456 144Q454 137 448 135Q442 134 437 139L386 189Q382 193 377 193H332Q320 192 319 180V135Q319 130 323 126L374 75Q378 70 377 64Q375 59 369 56Q357 54 344 54Q296 55 264 87Q232 119 231 168V168L298 235Q320 230 341 235Q363 242 380 258L393 271Q422 257 440 229Q457 202 458 168ZM98 395Q100 378 117 376Q134 378 136 395Q134 412 117 414Q100 412 98 395Z'],
-- media: [640, 'M216 94H418H216H418Q435 95 446 106Q458 118 458 135V276Q458 293 446 305Q435 316 418 317H216Q198 316 187 305Q176 293 175 276V135Q176 118 187 106Q198 95 216 94ZM355 162Q350 155 342 155Q334 155 329 162L294 215L283 201Q278 195 271 195Q264 195 259 201L219 252Q213 259 217 267Q221 276 231 276H281H403Q411 276 416 268Q420 260 415 253L355 162ZM266 155Q266 146 260 140Q255 135 246 135Q237 135 231 140Q226 146 226 155Q226 164 231 169Q237 175 246 175Q255 175 260 169Q266 164 266 155ZM94 175H155H94H155V337V357Q155 366 161 372Q166 377 175 377H256Q265 377 271 372Q276 366 276 357V337H377V377Q377 394 365 406Q354 417 337 418H94Q77 417 66 406Q54 394 54 377V216Q54 198 66 187Q77 176 94 175ZM99 216Q90 216 89 226V236Q90 245 99 246H109Q119 245 119 236V226Q119 216 109 216H99ZM99 281Q90 282 89 291V302Q90 311 99 312H109Q119 311 119 302V291Q119 282 109 281H99ZM99 347Q90 348 89 357V367Q90 377 99 377H109Q119 377 119 367V357Q119 348 109 347H99ZM312 357V367V357V367Q312 377 322 377H332Q341 377 342 367V357Q341 348 332 347H322Q312 348 312 357Z'],
-- games: [640, 'M175 135Q123 136 89 170Q55 204 54 256Q55 308 89 342Q123 376 175 377H337Q389 376 423 342Q457 308 458 256Q457 204 423 170Q389 136 337 135H175ZM367 200Q382 201 389 213Q396 226 389 238Q382 250 367 251Q353 250 345 238Q339 226 345 213Q353 201 367 200ZM302 286Q302 272 314 264Q327 258 339 264Q351 272 352 286Q351 301 339 308Q327 315 314 308Q302 301 302 286ZM160 221Q161 207 175 205Q189 207 190 221V241H210Q224 242 226 256Q224 270 210 271H190V291Q189 305 175 307Q161 305 160 291V271H140Q126 270 125 256Q126 242 140 241H160V221Z'],
-- community: [640, 'M99 150Q100 130 117 119Q135 109 152 119Q169 130 170 150Q169 170 152 180Q135 190 117 180Q100 170 99 150ZM94 250Q85 260 84 276Q85 292 94 303V250ZM185 218Q156 245 155 286Q156 319 175 344V357Q175 366 169 372Q164 377 155 377H114Q106 377 100 372Q94 366 94 357V340Q76 331 65 315Q54 298 54 276Q54 246 75 226Q94 206 125 205H145Q168 206 185 218ZM337 357V344V357V344Q356 319 357 286Q356 245 327 218Q344 206 367 205H387Q418 206 437 226Q458 246 458 276Q458 298 447 315Q436 331 418 340V357Q418 366 412 372Q406 377 398 377H357Q348 377 343 372Q337 366 337 357ZM342 150Q343 130 360 119Q377 109 395 119Q412 130 413 150Q412 170 395 180Q377 190 360 180Q343 170 342 150ZM418 250V303V250V303Q428 292 428 276Q428 260 418 250ZM256 114Q279 115 291 135Q302 155 291 175Q279 195 256 195Q233 195 221 175Q210 155 221 135Q233 115 256 114ZM205 286Q206 302 216 313V260Q206 271 205 286ZM296 260V313V260V313Q307 302 307 286Q307 271 296 260ZM337 286Q337 308 326 325Q315 341 296 350V377Q296 386 291 392Q285 398 276 398H236Q227 398 221 392Q216 386 216 377V350Q197 341 186 325Q175 308 175 286Q176 256 196 236Q216 216 246 216H266Q296 216 316 236Q336 256 337 286Z'],
-- chat: [640, 'M185 317Q241 315 278 284Q315 253 317 205Q315 158 278 127Q241 95 185 94Q130 95 92 127Q55 158 54 205Q54 243 79 271Q75 280 70 286Q65 292 61 295Q59 297 59 298Q58 298 58 298H58Q52 303 54 310Q57 316 64 317Q85 316 103 309Q112 305 119 302Q149 316 185 317ZM337 205Q335 260 296 295Q257 331 200 336Q212 372 247 394Q281 417 327 418Q363 417 393 403Q400 406 409 410Q427 417 448 418Q455 417 458 411Q460 404 454 399Q454 399 454 399Q453 399 453 399Q453 398 451 396Q447 393 442 387Q437 381 433 372Q458 344 458 307Q457 262 423 231Q389 200 336 195Q337 200 337 205Z'],
-- codes: [640, 'M302 95Q294 93 286 97Q279 101 277 109L196 392Q194 400 198 408Q202 415 210 417Q218 419 226 415Q233 411 235 403L316 120Q318 112 314 104Q310 97 302 95ZM353 171Q347 177 347 185Q347 193 353 200L410 256L353 312Q347 319 347 327Q347 335 353 341Q359 347 367 347Q375 347 382 341L453 271Q458 264 458 256Q458 248 453 241L382 171Q375 165 367 165Q359 165 353 171ZM159 171Q153 165 145 165Q137 165 130 171L59 241Q54 248 54 256Q54 264 59 271L130 341Q137 347 145 347Q153 347 159 341Q165 335 165 327Q165 319 159 312L102 256L159 200Q165 193 165 185Q165 177 159 171Z'],
-- code: [640, 'M302 95Q294 93 286 97Q279 101 277 109L196 392Q194 400 198 408Q202 415 210 417Q218 419 226 415Q233 411 235 403L316 120Q318 112 314 104Q310 97 302 95ZM353 171Q347 177 347 185Q347 193 353 200L410 256L353 312Q347 319 347 327Q347 335 353 341Q359 347 367 347Q375 347 382 341L453 271Q458 264 458 256Q458 248 453 241L382 171Q375 165 367 165Q359 165 353 171ZM159 171Q153 165 145 165Q137 165 130 171L59 241Q54 248 54 256Q54 264 59 271L130 341Q137 347 145 347Q153 347 159 341Q165 335 165 327Q165 319 159 312L102 256L159 200Q165 193 165 185Q165 177 159 171Z'],
-- blog: [512, 'M345 67 301 111 345 67 301 111 401 211 445 167Q458 153 458 135Q458 117 445 103L409 67Q395 54 377 54Q359 54 345 67ZM281 128 274 129 281 128 274 129 160 164Q135 172 125 197L55 407Q50 422 61 433L183 311Q180 303 180 294Q180 278 191 267Q202 257 218 256Q234 257 245 267Q255 278 256 294Q255 310 245 321Q234 332 218 332Q209 332 201 329L79 451Q90 462 105 457L315 387Q340 377 348 352L383 238L384 231L281 128Z'],
-- wiki: [448, 'M155 54Q122 55 101 76Q80 97 79 130V382Q80 415 101 436Q122 457 155 458H382H408Q419 458 426 451Q433 444 433 433Q433 422 426 415Q419 408 408 408V357Q419 357 426 350Q433 343 433 332V79Q433 68 426 61Q419 54 408 54H382ZM155 357H357H155H357V408H155Q144 408 137 401Q130 393 130 382Q130 371 137 364Q144 357 155 357ZM180 168Q181 156 193 155H344Q356 156 357 168Q356 179 344 180H193Q181 179 180 168ZM193 205H344H193H344Q356 206 357 218Q356 230 344 231H193Q181 230 180 218Q181 206 193 205Z'],
-- news: [512, 'M130 130Q130 108 145 94Q159 80 180 79H408Q429 80 443 94Q457 108 458 130V382Q457 404 443 418Q429 432 408 433H117Q90 432 72 415Q55 397 54 370V155Q54 144 61 137Q68 130 79 130Q90 130 97 137Q104 144 104 155V370Q105 382 117 382Q129 382 130 370V130ZM180 149V212V149V212Q182 229 199 231H288Q305 229 307 212V149Q305 131 288 130H199Q182 131 180 149ZM344 142Q345 154 357 155H395Q407 154 408 142Q407 130 395 130H357Q345 130 344 142ZM344 218Q345 230 357 231H395Q407 230 408 218Q407 206 395 205H357Q345 206 344 218ZM180 294Q181 306 193 307H395Q407 306 408 294Q407 282 395 281H193Q181 282 180 294ZM180 370Q181 382 193 382H395Q407 382 408 370Q407 358 395 357H193Q181 358 180 370Z'],
-- reviews: [576, 'M278 74Q271 61 256 60Q241 61 234 74L185 175L74 192Q60 194 55 208Q51 222 61 233L141 312L122 424Q120 438 132 447Q144 456 158 449L256 397L355 449Q368 456 380 447Q392 438 390 424L371 312L451 233Q461 222 457 208Q452 194 437 192L327 175L278 74Z'],
-- tips: [512, 'M458 117Q457 138 428 155Q392 175 331 179Q327 177 322 175Q274 156 205 155Q196 155 186 156L185 155Q156 138 155 117Q156 90 199 72Q242 55 307 54Q371 55 414 72Q457 90 458 117ZM181 181Q193 180 205 180Q243 180 273 187Q305 194 326 205Q356 221 357 243Q357 248 356 253Q349 269 328 280Q328 280 328 280Q328 280 328 280Q328 280 328 280Q328 280 328 280Q327 281 327 281Q327 281 327 281Q306 293 274 299Q243 307 205 307Q133 306 89 284Q86 282 84 281Q55 265 54 243Q55 222 82 206Q110 190 155 184Q168 182 181 181ZM382 243Q381 217 363 201Q397 196 423 185Q443 177 458 165V193Q457 216 423 233Q406 242 382 247Q382 247 382 247Q382 246 382 243ZM357 319Q356 341 327 357Q326 358 324 359Q323 359 322 359Q278 382 205 382Q168 382 137 375Q105 369 84 357Q55 341 54 319V292Q69 303 89 311Q137 331 205 332Q274 331 322 311Q332 307 341 303Q348 299 354 294Q355 293 356 292Q356 292 357 292V294V299V319ZM382 319V294V319V294V273Q405 269 423 261Q443 253 458 241V269Q458 281 446 293Q426 313 382 323Q382 322 382 319ZM205 408Q274 407 322 387Q342 379 357 367V395Q356 422 313 440Q270 457 205 458Q141 457 98 440Q55 422 54 395V367Q69 379 89 387Q137 407 205 408Z'],
-- vip: [576, 'M271 151Q283 142 284 127Q284 115 276 107Q268 99 256 99Q244 99 236 107Q228 115 228 127Q229 143 241 151L201 231Q196 241 186 243Q176 245 167 238L104 189Q110 182 110 172Q110 160 102 152Q94 144 82 144Q70 144 62 152Q54 160 54 172Q54 184 62 191Q70 200 82 200Q82 200 82 200Q83 200 83 200L114 376Q118 393 130 403Q142 413 158 413H354Q370 413 382 403Q394 393 398 376L429 200Q429 200 430 200Q430 200 430 200Q442 200 450 191Q458 184 458 172Q458 160 450 152Q442 144 430 144Q418 144 410 152Q402 160 402 172Q402 182 408 189L345 238Q336 245 326 243Q316 241 311 231L271 151Z'],
-- trade: [512, 'M104 104Q104 93 97 86Q90 79 79 79Q68 79 61 86Q54 93 54 104V370Q55 397 72 415Q90 432 117 433H433Q444 433 451 426Q458 419 458 408Q458 397 451 390Q444 382 433 382H117Q105 382 104 370V104ZM426 173Q433 165 433 155Q433 145 426 137Q418 130 408 130Q397 130 390 137L307 220L262 175Q254 168 243 168Q233 168 225 175L137 263Q130 271 130 281Q130 292 137 299Q145 307 155 307Q165 307 173 299L243 228L288 274Q296 281 307 281Q317 281 325 274L426 173Z'],
-- host: [512, 'M104 79Q83 80 69 94Q55 108 54 130V180Q55 201 69 216Q83 230 104 231H408Q429 230 443 216Q457 201 458 180V130Q457 108 443 94Q429 80 408 79H104ZM326 136Q343 138 344 155Q343 172 326 174Q308 172 307 155Q308 138 326 136ZM363 155Q365 138 382 136Q400 138 401 155Q400 172 382 174Q365 172 363 155ZM104 281Q83 282 69 296Q55 311 54 332V382Q55 404 69 418Q83 432 104 433H408Q429 432 443 418Q457 404 458 382V332Q457 311 443 296Q429 282 408 281H104ZM326 338Q343 340 344 357Q343 374 326 376Q308 374 307 357Q308 340 326 338ZM370 357Q371 340 389 338Q406 340 408 357Q406 374 389 376Q371 374 370 357Z'],
-- deals: [448, 'M54 98V237V98V237Q54 261 72 278L234 441Q252 458 276 458Q299 458 317 441L441 317Q458 299 458 275Q458 252 441 234L279 71Q261 54 236 54H99Q80 55 67 67Q55 80 54 98ZM158 128Q171 128 179 136Q187 144 187 157Q187 170 179 178Q171 187 158 187Q145 187 136 178Q128 170 128 157Q128 144 136 136Q145 128 158 128Z'],
-- coupons: [576, 'M99 121Q80 122 67 135Q54 147 54 166V211Q55 221 65 224Q86 232 87 256Q86 280 65 288Q55 291 54 301V346Q54 365 67 377Q80 390 99 391H413Q432 390 445 377Q458 365 458 346V301Q457 291 447 288Q426 280 425 256Q426 232 447 224Q457 221 458 211V166Q458 147 445 135Q432 122 413 121H99ZM144 200V312V200V312Q144 323 155 323H357Q368 323 368 312V200Q368 189 357 189H155Q144 189 144 200ZM121 189Q121 179 127 172Q134 166 144 166H368Q378 166 385 172Q391 179 391 189V323Q391 333 385 340Q378 346 368 346H144Q134 346 127 340Q121 333 121 323V189Z'],
-- stream: [512, 'M205 79Q205 68 213 61Q220 54 231 54Q294 55 345 85Q397 115 427 167Q457 218 458 281Q458 292 451 299Q444 307 433 307Q422 307 415 299Q408 292 408 281Q407 232 383 192Q360 152 320 129Q280 105 231 104Q220 104 213 97Q205 90 205 79ZM102 228 184 311 102 228 184 311 206 288Q205 284 205 281Q205 270 213 263Q220 256 231 256Q242 256 249 263Q256 270 256 281Q256 292 249 299Q242 307 231 307Q228 307 224 306L201 328L284 410Q292 420 291 431Q289 442 278 447Q250 458 218 458Q149 457 102 410Q55 363 54 294Q54 262 65 234Q70 223 81 221Q92 220 102 228ZM231 130Q296 131 338 174Q381 216 382 281Q382 292 375 299Q368 307 357 307Q346 307 339 299Q332 292 332 281Q331 239 303 209Q273 181 231 180Q220 180 213 173Q205 166 205 155Q205 144 213 137Q220 130 231 130Z'],
-- video: [576, 'M54 166Q54 147 67 135Q80 122 99 121H278Q297 122 310 135Q323 147 323 166V346Q323 365 310 377Q297 390 278 391H99Q80 390 67 377Q54 365 54 346V166ZM446 146Q458 153 458 166V346Q458 359 446 366Q434 372 423 365L356 320L346 313V301V211V199L356 192L423 147Q434 141 446 146Z'],
-- download: [512, 'M281 79Q281 68 274 61Q267 54 256 54Q245 54 238 61Q231 68 231 79V271L173 213Q165 205 155 205Q145 205 137 213Q130 220 130 231Q130 241 137 249L238 350Q246 357 256 357Q266 357 274 350L375 249Q382 241 382 231Q382 220 375 213Q367 205 357 205Q347 205 339 213L281 271V79ZM104 332Q83 333 69 347Q55 361 54 382V408Q55 429 69 443Q83 457 104 458H408Q429 457 443 443Q457 429 458 408V382Q457 361 443 347Q429 333 408 332H328L292 367Q276 382 256 382Q235 382 220 367L185 332H104ZM395 376Q412 378 414 395Q412 412 395 414Q378 412 376 395Q378 378 395 376Z'],
-- upload: [512, 'M281 140V332V140V332Q281 343 274 350Q267 357 256 357Q245 357 238 350Q231 343 231 332V140L173 198Q165 205 155 205Q145 205 137 198Q130 190 130 180Q130 170 137 162L238 61Q246 54 256 54Q266 54 274 61L375 162Q382 170 382 180Q382 190 375 198Q367 205 357 205Q347 205 339 198L281 140ZM104 332H205H104H205Q206 353 220 367Q235 382 256 382Q277 382 292 367Q306 353 307 332H408Q429 333 443 347Q457 361 458 382V408Q457 429 443 443Q429 457 408 458H104Q83 457 69 443Q55 429 54 408V382Q55 361 69 347Q83 333 104 332ZM395 414Q412 412 414 395Q412 378 395 376Q378 378 376 395Q378 412 395 414Z'],
-- image: [512, 'M54 130Q55 108 69 94Q83 80 104 79H408Q429 80 443 94Q457 108 458 130V382Q457 404 443 418Q429 432 408 433H104Q83 432 69 418Q55 404 54 382V130ZM310 214Q303 205 294 205Q284 205 278 214L209 314L189 288Q183 281 174 281Q165 281 159 288L108 352Q102 361 106 371Q111 382 123 382H199H389Q400 382 405 372Q410 362 405 353L310 214ZM142 205Q164 205 175 186Q185 168 175 149Q164 130 142 130Q121 130 109 149Q100 168 109 186Q121 205 142 205Z'],
-- audio: [512, 'M448 59Q458 67 458 79V136V345Q457 371 436 390Q415 407 382 408Q350 407 329 390Q307 371 307 345Q307 318 329 300Q350 282 382 281Q396 281 408 285V170L205 231V395Q205 422 183 440Q162 457 130 458Q97 457 76 440Q55 422 54 395Q55 368 76 350Q97 333 130 332Q143 332 155 336V212V155Q156 137 173 131L426 55Q438 52 448 59Z'],
-- pdf: [512, 'M60 104Q61 83 75 69Q89 55 111 54H237V155Q237 166 244 173Q251 180 262 180H363V294H199Q178 295 164 309Q149 323 149 344V458H111Q89 457 75 443Q61 429 60 408V104ZM363 155H262H363H262V54L363 155ZM199 332H224H199H224Q243 333 256 344Q268 357 269 376Q268 395 256 408Q243 420 224 420H212V446Q211 457 199 458Q187 457 186 446V408V344Q187 333 199 332ZM224 395Q242 393 243 376Q242 359 224 357H212V395H224ZM300 332H326H300H326Q341 333 352 343Q363 354 363 370V420Q363 436 352 447Q341 457 326 458H300Q288 457 288 446V344Q288 333 300 332ZM326 433Q337 432 338 420V370Q337 358 326 357H313V433H326ZM389 344Q390 333 401 332H439Q451 333 452 344Q451 356 439 357H414V382H439Q451 383 452 395Q451 407 439 408H414V446Q413 457 401 458Q390 457 389 446V395V344Z'],
-- docs: [384, 'M155 54Q134 55 119 69Q105 83 104 104V408Q105 429 119 443Q134 457 155 458H357Q378 457 393 443Q407 429 408 408V180H307Q296 180 288 173Q281 166 281 155V54H155ZM307 54V155V54V155H408L307 54ZM193 256H319H193H319Q331 257 332 269Q331 280 319 281H193Q181 280 180 269Q181 257 193 256ZM193 307H319H193H319Q331 307 332 319Q331 331 319 332H193Q181 331 180 319Q181 307 193 307ZM193 357H319H193H319Q331 358 332 370Q331 382 319 382H193Q181 382 180 370Q181 358 193 357Z'],
-- text: [448, 'M283 73Q275 55 256 54Q237 55 229 73L106 400H83Q70 400 62 409Q54 417 54 429Q54 442 62 450Q70 458 83 458H169Q182 458 190 450Q198 442 198 429Q198 417 190 409Q182 400 169 400H168L184 357H328L344 400H343Q330 400 322 409Q314 417 314 429Q314 442 322 450Q330 458 343 458H429Q442 458 450 450Q458 442 458 429Q458 417 450 409Q442 400 429 400H406L283 73ZM307 299H205H307H205L256 165L307 299Z'],
-- dns: [512, 'M332 256Q332 282 329 307H183Q180 282 180 256Q180 230 183 205H329Q332 230 332 256ZM355 205H452H355H452Q458 230 458 256Q458 282 452 307H355Q357 282 357 256Q357 230 355 205ZM443 180H352H443H352Q339 103 307 60Q355 74 390 104Q425 136 443 180ZM326 180H186H326H186Q194 137 208 105Q220 78 234 65Q247 53 256 54Q265 53 278 65Q292 78 304 105Q318 137 326 180ZM160 180H69H160H69Q87 136 122 104Q157 74 205 60Q173 103 160 180ZM60 205H157H60H157Q155 230 155 256Q155 282 157 307H60Q54 282 54 256Q54 230 60 205ZM208 407Q194 375 186 332H326Q318 375 304 407Q292 434 278 447Q265 459 256 458Q247 459 234 447Q220 434 208 407ZM160 332Q173 409 205 452Q157 438 122 408Q87 376 69 332H160ZM443 332Q425 376 390 408Q355 438 308 452Q339 409 352 332H443Z'],
-- ip: [384, 'M275 449Q296 423 327 378Q358 335 383 288Q406 241 408 206Q406 141 364 98Q321 55 256 54Q191 55 148 98Q106 141 104 206Q106 241 129 288Q154 335 185 378Q216 423 237 449Q245 458 256 458Q267 458 275 449ZM256 155Q284 156 300 180Q314 206 300 231Q284 256 256 256Q228 256 212 231Q198 206 212 180Q228 156 256 155Z'],
-- ssl: [448, 'M193 168V205V168V205H319V168Q318 141 301 122Q283 105 256 104Q229 105 211 122Q194 141 193 168ZM142 205V168V205V168Q144 119 175 87Q208 55 256 54Q304 55 337 87Q368 119 370 168V205H382Q404 206 418 220Q432 235 433 256V408Q432 429 418 443Q404 457 382 458H130Q108 457 94 443Q80 429 79 408V256Q80 235 94 220Q108 206 130 205H142Z'],
-- ping: [640, 'M135 135Q135 126 140 120Q146 114 155 114H256Q265 114 271 120Q276 126 276 135V357H337V256Q337 247 343 241Q348 236 357 236H438Q447 236 453 241Q458 247 458 256Q458 265 453 271Q447 276 438 276H377V377Q377 386 372 392Q366 398 357 398H256Q247 398 241 392Q236 386 236 377V155H175V256Q175 265 169 271Q164 276 155 276H74Q65 276 59 271Q54 265 54 256Q54 247 59 241Q65 236 74 236H135V135Z'],
-- whois: [512, 'M382 218Q382 273 351 315L451 415Q458 423 458 433Q458 443 451 451Q443 458 433 458Q423 458 415 451L315 351Q273 382 218 382Q149 381 102 334Q55 288 54 218Q55 149 102 102Q149 55 218 54Q288 55 334 102Q381 149 382 218ZM218 332Q249 332 275 317Q301 302 317 275Q332 248 332 218Q332 188 317 161Q301 134 275 119Q249 104 218 104Q187 104 161 119Q135 134 119 161Q104 188 104 218Q104 248 119 275Q135 302 161 317Q187 332 218 332Z'],
-- search: [512, 'M382 218Q382 273 351 315L451 415Q458 423 458 433Q458 443 451 451Q443 458 433 458Q423 458 415 451L315 351Q273 382 218 382Q149 381 102 334Q55 288 54 218Q55 149 102 102Q149 55 218 54Q288 55 334 102Q381 149 382 218ZM218 332Q249 332 275 317Q301 302 317 275Q332 248 332 218Q332 188 317 161Q301 134 275 119Q249 104 218 104Q187 104 161 119Q135 134 119 161Q104 188 104 218Q104 248 119 275Q135 302 161 317Q187 332 218 332Z'],
-- map: [576, 'M323 410 189 372 323 410 189 372V101L323 140V410ZM346 410V138V410V138L435 103Q444 99 451 104Q458 109 458 118V353Q458 364 448 369L346 410ZM64 143 166 102 64 143 166 102V374L77 410Q68 412 61 408Q54 403 54 394V158Q54 148 64 143Z'],
-- food: [448, 'M408 54Q400 53 376 65Q352 76 330 106Q308 137 307 193V281Q307 303 322 317Q336 331 357 332H382V433Q382 444 389 451Q397 458 408 458Q419 458 426 451Q433 444 433 433V332V243V79Q433 68 426 61Q419 54 408 54ZM130 66Q129 56 119 54Q107 54 104 64L81 172Q79 179 79 187Q80 214 97 233Q115 253 142 256V433Q142 444 149 451Q156 458 168 458Q179 458 186 451Q193 444 193 433V256Q220 253 238 233Q255 214 256 187Q256 179 254 172L231 64Q228 54 217 54Q206 56 205 66V172Q205 179 198 180Q191 179 190 173L180 66Q179 55 168 54Q156 55 155 66L145 173Q144 179 138 180Q130 179 130 172V66ZM168 187V186V187Z'],
-- paste: [512, 'M180 54Q151 55 137 79H92Q76 80 65 90Q55 101 54 117V370Q55 386 65 397Q76 407 92 408H205V193Q206 166 224 148Q242 130 269 130H307V117Q306 101 296 90Q284 80 269 79H224Q209 55 180 54ZM269 155Q253 156 242 166Q232 177 231 193V408V420Q232 436 242 447Q253 457 269 458H420Q436 457 447 447Q457 436 458 420V247Q458 231 447 220L393 166Q382 155 367 155H307ZM180 85Q198 87 199 104Q198 122 180 123Q163 122 161 104Q163 87 180 85Z'],
-- account: [448, 'M256 256Q284 256 307 243Q329 229 344 205Q357 182 357 155Q357 128 344 104Q329 81 307 67Q284 54 256 54Q228 54 205 67Q183 81 168 104Q155 128 155 155Q155 182 168 205Q183 229 205 243Q228 256 256 256ZM220 294Q160 296 120 335Q81 375 79 435Q79 445 86 451Q92 458 103 458H409Q420 458 426 451Q433 445 433 435Q431 375 392 335Q352 296 292 294H220Z'],
-- bell: [448, 'M256 54Q245 54 238 61Q231 68 231 79V94Q186 104 159 138Q130 171 130 218V233Q129 290 92 333L85 341Q75 352 81 367Q89 382 104 382H408Q423 382 431 367Q437 352 427 341L421 333Q383 291 382 233V218Q382 171 353 138Q326 104 281 94V79Q281 68 274 61Q267 54 256 54ZM292 443Q307 428 307 408H256H205Q205 428 220 443Q235 458 256 458Q277 458 292 443Z'],
-- history: [512, 'M113 113 86 86 113 113 86 86Q77 77 66 82Q55 86 54 100V186Q55 204 73 205H160Q173 205 177 194Q182 183 173 173L149 149Q191 106 256 104Q321 106 363 149Q406 191 408 256Q406 321 363 363Q321 406 256 408Q207 407 169 381Q160 374 150 376Q141 378 134 387Q128 396 130 405Q132 416 141 422Q190 457 256 458Q313 457 358 431Q404 404 431 358Q457 313 458 256Q457 199 431 154Q404 108 358 81Q313 55 256 54Q214 54 177 70Q141 85 113 113ZM256 155Q239 156 237 174V256Q237 264 243 269L299 326Q313 337 326 326Q337 313 326 299L275 248V174Q273 156 256 155Z'],
-- theme: [512, 'M458 256Q458 257 458 257Q458 258 458 258Q457 280 441 293Q425 307 403 307H326Q310 307 299 318Q288 329 288 344Q288 348 288 352Q291 363 296 374Q296 375 297 376Q305 392 307 409Q307 428 295 442Q284 457 265 458Q260 458 256 458Q199 457 154 431Q108 404 81 358Q55 313 54 256Q55 199 81 154Q108 108 154 81Q199 55 256 54Q313 55 358 81Q404 108 431 154Q457 199 458 256ZM155 281Q155 270 148 263Q141 256 130 256Q119 256 111 263Q104 270 104 281Q104 292 111 299Q119 307 130 307Q141 307 148 299Q155 292 155 281ZM155 205Q166 205 173 198Q180 191 180 180Q180 169 173 162Q166 155 155 155Q144 155 137 162Q130 169 130 180Q130 191 137 198Q144 205 155 205ZM281 130Q281 119 274 111Q267 104 256 104Q245 104 238 111Q231 119 231 130Q231 141 238 148Q245 155 256 155Q267 155 274 148Q281 141 281 130ZM357 205Q368 205 375 198Q382 191 382 180Q382 169 375 162Q368 155 357 155Q346 155 339 162Q332 169 332 180Q332 191 339 198Q346 205 357 205Z'],
-- check: [448, 'M450 120Q458 129 458 140Q458 152 450 161L219 392Q210 400 198 400Q186 400 177 392L62 277Q54 268 54 256Q54 244 62 235Q71 227 83 227Q94 227 103 235L198 331L409 120Q418 112 429 112Q441 112 450 120Z'],
-- error: [512, 'M256 79Q274 80 284 95L454 386Q462 401 454 417Q445 432 427 433H85Q67 432 58 417Q50 401 58 386L229 95Q239 80 256 79ZM256 180Q239 182 237 199V288Q239 305 256 307Q273 305 275 288V199Q273 182 256 180ZM281 357Q281 346 274 339Q267 332 256 332Q245 332 238 339Q231 346 231 357Q231 368 238 375Q245 382 256 382Q267 382 274 375Q281 368 281 357Z'],
-- clip: [512, 'M259 205 228 175 259 205 228 175Q234 160 234 142Q233 104 208 80Q183 55 145 54Q107 55 83 80Q58 104 57 142Q58 180 83 205Q107 230 145 231Q163 231 178 225L208 256L178 288Q163 281 145 281Q107 282 83 307Q58 332 57 370Q58 408 83 432Q107 457 145 458Q183 457 208 432Q233 408 234 370Q234 352 228 338L451 115Q460 104 451 94Q434 77 411 77Q388 77 370 94L259 205ZM277 325 370 418 277 325 370 418Q388 435 411 435Q434 435 451 418Q460 408 451 397L328 274L277 325ZM107 142Q108 121 126 109Q145 100 164 109Q182 121 183 142Q182 164 164 175Q145 185 126 175Q108 164 107 142ZM145 332Q167 333 178 351Q188 370 178 389Q167 407 145 408Q124 407 112 389Q103 370 112 351Q124 333 145 332Z'],
-- bot: [640, 'M256 94Q265 94 271 100Q276 106 276 114V155H352Q372 156 384 168Q397 181 398 200V372Q397 392 384 405Q372 417 352 418H160Q140 417 128 405Q115 392 114 372V200Q115 181 128 168Q140 156 160 155H236V114Q236 106 241 100Q247 94 256 94ZM185 337Q176 338 175 347Q176 356 185 357H205Q215 356 216 347Q215 338 205 337H185ZM246 337Q236 338 236 347Q236 356 246 357H266Q276 356 276 347Q276 338 266 337H246ZM307 337Q297 338 296 347Q297 356 307 357H327Q336 356 337 347Q336 338 327 337H307ZM221 256Q220 241 208 234Q195 228 183 234Q171 241 170 256Q171 271 183 278Q195 284 208 278Q220 271 221 256ZM317 281Q331 281 339 269Q345 256 339 243Q331 231 317 231Q302 231 295 243Q288 256 295 269Q302 281 317 281ZM84 236H94H84H94V357H84Q71 356 63 348Q54 339 54 327V266Q54 253 63 245Q71 236 84 236ZM428 236Q441 236 449 245Q458 253 458 266V327Q458 339 449 348Q441 356 428 357H418V236H428Z'],
-- work: [512, 'M199 104H313H199H313Q318 105 319 111V142H193V111Q194 105 199 104ZM155 111V142V111V142H104Q83 143 69 157Q55 171 54 193V269H205H458V193Q457 171 443 157Q429 143 408 142H357V111Q356 92 344 79Q332 67 313 66H199Q180 67 168 79Q156 92 155 111ZM458 294H307H458H307V319Q307 330 299 337Q292 344 281 344H231Q220 344 213 337Q205 330 205 319V294H54V395Q55 416 69 431Q83 445 104 446H408Q429 445 443 431Q457 416 458 395V294Z'],
-- rent: [512, 'M319 332Q378 330 417 291Q457 252 458 193Q457 134 417 95Q378 55 319 54Q260 55 221 95Q182 134 180 193Q180 215 186 235L59 363Q54 368 54 376V439Q55 457 73 458H136Q153 457 155 439V408H186Q204 406 205 389V357H237Q245 357 250 352L277 326Q297 332 319 332ZM351 130Q369 130 378 145Q386 161 378 177Q369 192 351 193Q333 192 323 177Q315 161 323 145Q333 130 351 130Z'],
-- help: [512, 'M256 458Q311 457 357 431Q403 405 431 357Q458 309 458 256Q458 203 431 155Q403 107 357 81Q311 55 256 54Q201 55 155 81Q109 107 81 155Q54 203 54 256Q54 309 81 357Q109 405 155 431Q201 457 256 458ZM188 184Q193 171 204 163Q215 155 230 155H276Q297 156 311 170Q325 183 326 205Q325 233 300 248L275 262Q273 280 256 281Q239 280 237 262V252Q237 241 247 235L281 215Q288 212 288 205Q287 194 276 193H230Q225 193 224 197V198Q216 214 199 209Q183 202 188 186V184ZM231 332Q231 321 238 314Q245 307 256 307Q267 307 274 314Q281 321 281 332Q281 343 274 350Q267 357 256 357Q245 357 238 350Q231 343 231 332Z'],
-- quest: [576, 'M335 76H177H335H177Q163 77 153 86Q144 96 144 110Q144 116 145 121H71Q55 123 54 138Q54 186 69 222Q85 256 109 279Q132 302 158 314Q184 327 206 333Q218 336 226 344Q234 354 234 364Q234 375 226 383Q218 391 207 391H189Q179 391 172 397Q166 403 166 413Q166 423 172 429Q179 436 189 436H323Q333 436 340 429Q346 423 346 413Q346 403 340 397Q333 391 323 391H305Q294 391 286 383Q278 375 278 364Q278 354 286 344Q294 336 306 333Q328 327 354 314Q380 302 403 279Q427 256 443 222Q458 186 458 138Q457 123 441 121H367Q368 116 368 110Q368 96 359 86Q349 77 335 76ZM88 155H147H88H147Q152 202 162 235Q172 268 184 289Q157 278 132 255Q116 238 103 214Q91 189 88 155ZM380 255Q355 278 328 289Q340 268 350 235Q360 202 365 155H424Q421 189 409 214Q397 238 380 255Z'],
-- inventory: [640, 'M84 115Q87 109 94 109L256 129L418 109Q425 109 428 115L456 170Q460 180 456 188Q453 197 443 200L335 231Q320 234 311 221L256 129L201 221Q192 234 177 231L69 200Q59 197 56 188Q52 180 56 170L84 115ZM257 172 293 232 257 172 293 232Q301 244 313 250Q327 255 341 251L425 227V338Q425 348 419 357Q412 365 401 368L266 402Q256 404 245 402L111 368Q100 365 93 357Q87 348 87 338V227L171 251Q185 255 199 250Q211 244 219 232L255 172H257Z'],
-- drive: [512, 'M54 130Q55 108 69 94Q83 80 104 79H408Q429 80 443 94Q457 108 458 130V275Q438 257 408 256H104Q74 257 54 275V130ZM104 281H408H104H408Q429 282 443 296Q457 311 458 332V382Q457 404 443 418Q429 432 408 433H104Q83 432 69 418Q55 404 54 382V332Q55 311 69 296Q83 282 104 281ZM307 382Q318 382 325 375Q332 368 332 357Q332 346 325 339Q318 332 307 332Q296 332 288 339Q281 346 281 357Q281 368 288 375Q296 382 307 382ZM408 357Q408 346 401 339Q393 332 382 332Q371 332 364 339Q357 346 357 357Q357 368 364 375Q371 382 382 382Q393 382 401 375Q408 368 408 357Z'],
-- services: [576, 'M258 111 313 131 258 111 313 131 256 153 199 131 254 111Q256 110 258 111ZM149 142V220V142V220Q148 220 146 221L79 246Q55 257 54 283V367Q54 392 78 403L145 432Q160 439 177 432L256 398L336 432Q352 439 368 432L435 403Q458 392 458 367V283Q457 257 433 246L366 221Q364 220 363 220Q363 220 363 220V142Q361 115 337 104L270 79Q256 73 242 79L175 104Q151 115 149 142ZM329 224 271 246 329 224 271 246V184L329 161V224ZM163 252 217 274 163 252 217 274 160 295 104 274 158 252Q160 252 163 252ZM176 396V326V396V326L234 303V370L176 396ZM349 252Q352 252 354 252L408 274L352 295L295 274L349 252ZM421 372 367 396 421 372 367 396V326L425 303V367Q425 370 421 372Z'],
-- space: [512, 'M178 358 153 333 178 358 153 333Q143 322 147 308Q151 297 156 281H73Q62 281 56 272Q51 262 56 253L98 182Q115 156 147 155H212Q215 150 217 146Q251 99 290 78Q330 58 368 54Q407 52 436 58Q450 62 454 76Q460 105 458 144Q454 182 434 222Q413 261 366 295Q362 297 357 300V365Q356 397 330 414L259 456Q250 461 240 456Q231 450 231 439V355Q214 360 202 364Q188 368 178 358ZM357 186Q375 186 385 171Q393 155 385 139Q375 124 357 123Q339 124 330 139Q322 155 330 171Q339 186 357 186Z'],
-- watch: [576, 'M256 99Q213 99 179 116Q145 132 120 156Q96 179 79 203Q63 228 56 248Q52 256 56 264Q63 284 79 309Q96 333 120 356Q145 380 179 396Q213 413 256 413Q298 413 332 396Q366 380 391 356Q416 333 432 309Q448 284 456 264Q460 256 456 248Q448 228 432 203Q416 179 391 156Q366 132 332 116Q298 99 256 99ZM155 256Q155 229 168 205Q181 182 205 168Q229 155 256 155Q282 155 306 168Q330 182 343 205Q357 229 357 256Q357 283 343 307Q330 330 306 344Q282 357 256 357Q229 357 205 344Q181 330 168 307Q155 283 155 256ZM256 211Q255 230 242 243Q230 255 211 256Q203 256 197 254Q190 252 188 259Q188 266 190 274Q199 301 222 314Q245 328 273 321Q301 313 314 290Q327 267 321 238Q315 217 298 203Q280 190 258 189Q252 190 254 197Q256 203 256 211Z'],
-- actor: [512, 'M199 54Q218 55 231 66Q243 79 243 98V414Q243 433 231 446Q218 457 199 458Q182 458 169 447Q157 436 155 419Q149 420 142 420Q121 420 107 405Q92 391 92 370Q92 361 95 353Q77 346 65 330Q54 314 54 294Q54 275 64 260Q74 245 90 237Q79 224 79 205Q79 187 90 174Q101 160 119 156Q117 149 117 142Q117 124 128 111Q138 98 155 93Q157 76 169 65Q182 54 199 54ZM313 54Q330 54 343 65Q355 76 357 93Q374 98 384 111Q395 124 395 142Q395 149 393 156Q411 160 422 174Q433 187 433 205Q433 224 422 237Q438 245 448 260Q458 275 458 294Q458 314 447 330Q435 346 417 353Q420 361 420 370Q420 391 405 405Q391 420 370 420Q363 420 357 419Q355 436 343 447Q330 458 313 458Q294 457 281 446Q269 433 269 414V98Q269 79 281 66Q294 55 313 54Z'],
-- events: [448, 'M355 89Q362 71 347 59Q330 48 315 60L113 237Q100 249 106 265Q113 280 130 281H218L157 423Q150 441 165 453Q182 464 197 452L399 275Q412 263 406 247Q400 232 382 231H295L355 89Z'],
-- ai: [512, 'M193 73Q191 55 174 54Q156 55 155 73V104Q134 105 119 119Q105 134 104 155H73Q55 156 54 174Q55 191 73 193H104V237H73Q55 239 54 256Q55 273 73 275H104V319H73Q55 321 54 338Q55 356 73 357H104Q105 378 119 393Q134 407 155 408V439Q156 457 174 458Q191 457 193 439V408H237V439Q239 457 256 458Q273 457 275 439V408H319V439Q321 457 338 458Q356 457 357 439V408Q378 407 393 393Q407 378 408 357H439Q457 356 458 338Q457 321 439 319H408V275H439Q457 273 458 256Q457 239 439 237H408V193H439Q457 191 458 174Q457 156 439 155H408Q407 134 393 119Q378 105 357 104V73Q356 55 338 54Q321 55 319 73V104H275V73Q273 55 256 54Q239 55 237 73V104H193V73ZM180 155H332H180H332Q343 155 350 162Q357 169 357 180V332Q357 343 350 350Q343 357 332 357H180Q169 357 162 350Q155 343 155 332V180Q155 169 162 162Q169 155 180 155ZM332 180H180H332H180V332H332V180Z'],
-- run: [576, 'M60 137Q54 130 54 121Q54 112 60 105Q67 99 76 99Q85 99 92 105L227 240Q234 247 234 256Q234 265 227 272L92 407Q85 413 76 413Q67 413 60 407Q54 400 54 391Q54 382 60 375L179 256L60 137ZM234 368H436H234H436Q446 368 452 375Q458 381 458 391Q458 401 452 407Q446 413 436 413H234Q224 413 217 407Q211 401 211 391Q211 381 217 375Q224 368 234 368Z'],
-- billing: [512, 'M104 79Q83 80 69 94Q55 108 54 130V382Q55 404 69 418Q83 432 104 433H408Q429 432 443 418Q457 404 458 382V205Q457 184 443 170Q429 156 408 155H117Q105 154 104 142Q105 130 117 130H408Q419 130 426 122Q433 115 433 104Q433 93 426 86Q419 79 408 79H104ZM382 269Q393 269 401 276Q408 283 408 294Q408 305 401 312Q393 319 382 319Q371 319 364 312Q357 305 357 294Q357 283 364 276Q371 269 382 269Z'],
-- feeds: [448, 'M54 83Q54 70 62 62Q70 54 83 54Q187 55 272 105Q357 155 407 240Q457 325 458 429Q458 442 450 450Q442 458 429 458Q417 458 409 450Q400 442 400 429Q400 341 357 269Q315 197 243 155Q171 112 83 112Q70 112 62 103Q54 95 54 83ZM54 400Q55 368 83 351Q112 335 140 351Q168 368 169 400Q168 433 140 450Q112 466 83 450Q55 433 54 400ZM83 169Q155 170 214 205Q272 240 307 298Q342 357 343 429Q343 442 335 450Q326 458 314 458Q301 458 293 450Q285 442 285 429Q284 372 257 327Q231 281 185 255Q140 228 83 227Q70 227 62 219Q54 211 54 198Q54 186 62 177Q70 169 83 169Z'],
-- pics: [576, 'M166 99Q147 99 135 112Q122 125 121 144V301Q122 320 135 333Q147 345 166 346H413Q432 345 445 333Q458 320 458 301V144Q458 125 445 112Q432 99 413 99H166ZM332 174 399 275 332 174 399 275Q404 283 400 292Q395 301 385 301H284H194Q184 300 179 291Q175 282 181 274L226 217Q231 211 239 211Q247 211 252 217L264 233L304 174Q309 166 318 166Q327 166 332 174ZM189 166Q189 156 195 150Q201 144 211 144Q221 144 227 150Q234 156 234 166Q234 176 227 182Q221 189 211 189Q201 189 195 182Q189 176 189 166ZM87 160Q86 145 71 144Q55 145 54 160V318Q54 359 82 385Q109 413 149 413H374Q389 412 391 396Q389 381 374 380H149Q123 379 106 361Q88 344 87 318V160Z'],
-- homes: [576, 'M436 279Q445 278 451 271Q457 265 458 256Q459 246 450 239L413 206V121Q413 111 407 105Q401 99 391 99H368Q358 99 352 105Q346 111 346 121V147L271 81Q264 76 257 76Q249 76 241 82L61 239Q54 246 54 256Q54 265 60 271Q66 278 76 279H99V327Q99 328 99 329Q99 329 99 329V408Q99 420 107 427Q115 436 127 436H138Q139 436 141 436Q142 436 142 436Q143 436 144 436H166H183Q195 436 203 427Q211 420 211 408V391V346Q211 336 217 330Q224 323 234 323H278Q288 323 295 330Q301 336 301 346V391V408Q301 420 309 427Q317 436 329 436H346H369Q370 436 372 436Q373 436 374 436H385Q397 436 405 427Q413 420 413 408V396Q413 394 414 391L413 279H436Z'],
-- website: [512, 'M395 104H218H395H218Q206 105 205 117V130H155V117Q156 90 173 72Q191 55 218 54H395Q422 55 440 72Q457 90 458 117V294Q457 321 440 339Q422 356 395 357H382V307H395Q407 306 408 294V117Q407 105 395 104ZM54 205Q55 184 69 170Q83 156 104 155H307Q328 156 342 170Q356 184 357 205V408Q356 429 342 443Q328 457 307 458H104Q83 457 69 443Q55 429 54 408V205ZM104 231Q104 242 111 249Q119 256 130 256H281Q292 256 299 249Q307 242 307 231Q307 220 299 213Q292 205 281 205H130Q119 205 111 213Q104 220 104 231Z'],
-- zone: [448, 'M433 117V155V117V155Q431 182 381 200Q331 217 256 218Q181 217 131 200Q81 182 79 155V117Q81 90 131 72Q181 55 256 54Q331 55 381 72Q431 90 433 117ZM390 224Q415 215 433 201V281Q431 308 381 326Q331 344 256 344Q181 344 131 326Q81 308 79 281V201Q97 215 122 224Q178 243 256 243Q334 243 390 224ZM79 327Q97 341 122 350Q178 369 256 370Q334 369 390 350Q415 341 433 327V395Q431 422 381 440Q331 457 256 458Q181 457 131 440Q81 422 79 395V327Z'],
-- fund: [576, 'M273 93V101V93V101Q280 102 285 104Q300 109 297 124Q292 139 277 136Q265 132 256 132Q247 132 242 136Q240 137 240 138Q239 138 239 139Q239 140 239 140Q239 140 239 140Q239 140 239 140Q239 141 241 142Q247 145 261 149H261Q274 152 287 160Q304 169 306 191Q305 215 287 226Q280 230 273 231V239Q271 255 256 256Q240 255 239 239V231Q229 229 222 226Q221 226 221 226Q220 225 219 225Q218 224 217 224Q203 218 206 203Q212 189 227 192Q229 193 230 193Q231 194 233 194Q246 199 257 200Q265 200 270 197Q272 196 272 195Q273 194 273 192Q273 191 270 189Q264 185 251 182L250 181Q237 178 224 171Q207 163 205 140Q207 116 225 107Q231 103 239 101V93Q240 78 256 76Q271 78 273 93ZM452 312Q459 322 458 333Q456 344 447 351L358 417Q332 436 301 436H189H76Q66 436 60 429Q54 423 54 413V368Q54 358 60 352Q66 346 76 346H102L134 321Q158 301 190 301H245H301Q311 301 317 307Q323 314 323 323Q323 333 317 340Q311 346 301 346H256H245Q234 347 233 357Q234 368 245 368H330L413 307Q423 300 434 301Q445 303 452 312ZM190 346H189Q189 346 189 346Q189 346 190 346Z'],
-- play: [640, 'M277 128 262 98 277 128 262 98Q260 94 256 94Q252 94 250 98L235 128L202 133Q197 134 196 138Q195 142 198 145L222 169L216 202Q216 207 219 209Q222 212 226 210L256 194L286 209Q290 211 293 209Q296 206 296 202L291 169L315 145Q318 142 316 138Q315 134 310 133L277 128ZM216 256Q207 256 201 262Q195 267 195 276V398Q195 406 201 412Q207 418 216 418H296Q305 418 311 412Q317 406 317 398V276Q317 267 311 262Q305 256 296 256H216ZM74 296Q65 296 59 302Q54 308 54 317V398Q54 406 59 412Q65 418 74 418H155Q164 418 169 412Q175 406 175 398V317Q175 308 169 302Q164 296 155 296H74ZM337 357V398V357V398Q337 406 343 412Q348 418 357 418H438Q447 418 453 412Q458 406 458 398V357Q458 348 453 343Q447 337 438 337H357Q348 337 343 343Q337 348 337 357Z'],
-- gauge: [512, 'M54 256Q55 201 81 155Q107 109 155 81Q203 54 256 54Q309 54 357 81Q405 109 431 155Q457 201 458 256Q457 311 431 357Q405 403 357 431Q309 458 256 458Q203 458 155 431Q107 403 81 357Q55 311 54 256ZM281 130Q281 119 274 111Q267 104 256 104Q245 104 238 111Q231 119 231 130Q231 141 238 148Q245 155 256 155Q267 155 274 148Q281 141 281 130ZM256 382Q277 382 292 367Q306 353 307 332Q306 311 292 296L343 182Q348 165 333 156Q317 151 308 166L258 281Q257 281 257 281Q256 281 256 281Q235 282 220 296Q206 311 205 332Q206 353 220 367Q235 382 256 382ZM193 168Q193 156 186 149Q179 142 168 142Q156 142 149 149Q142 156 142 168Q142 179 149 186Q156 193 168 193Q179 193 186 186Q193 179 193 168ZM130 281Q141 281 148 274Q155 267 155 256Q155 245 148 238Q141 231 130 231Q119 231 111 238Q104 245 104 256Q104 267 111 274Q119 281 130 281ZM408 256Q408 245 401 238Q393 231 382 231Q371 231 364 238Q357 245 357 256Q357 267 364 274Q371 281 382 281Q393 281 401 274Q408 267 408 256Z'],
-- link: [640, 'M430 264Q458 234 458 195Q458 157 430 127Q404 102 369 99Q335 96 306 117L304 117Q297 123 296 131Q294 139 300 148Q305 154 313 156Q322 158 329 152L330 152Q347 140 366 141Q385 143 400 157Q415 174 415 195Q415 217 400 233L324 309Q308 324 286 324Q265 324 248 309Q234 294 233 275Q231 256 243 239L243 238Q248 231 247 223Q245 214 238 208Q231 203 223 204Q214 206 208 213L208 214Q187 244 190 279Q192 313 218 339Q248 367 286 367Q325 367 355 339L430 264ZM82 248Q54 278 54 317Q54 355 82 385Q108 410 143 413Q177 416 207 395L208 395Q215 389 216 381Q218 373 213 364Q207 358 199 356Q190 354 183 360L182 360Q165 372 146 371Q127 369 112 355Q97 338 97 317Q97 295 113 279L188 203Q204 188 226 188Q247 188 264 203Q278 218 279 237Q281 256 269 273L269 274Q264 281 265 290Q267 298 274 304Q281 309 289 308Q298 306 304 299L304 298Q325 268 322 233Q320 199 294 173Q264 145 226 145Q187 145 158 173L82 248Z'],
-- shield: [512, 'M256 54Q262 54 266 56L417 120Q430 125 438 137Q447 149 447 165Q448 206 433 260Q419 315 382 367Q345 419 277 453Q256 463 235 453Q167 419 130 367Q93 315 79 260Q64 206 65 165Q65 149 74 137Q82 125 95 120L246 56Q250 54 256 54ZM256 107V407V107V407Q310 380 341 337Q371 294 384 248Q396 202 396 166L256 107Z'],
-- plug: [384, 'M180 54Q169 54 162 61Q155 68 155 79V155H205V79Q205 68 198 61Q191 54 180 54ZM332 54Q321 54 314 61Q307 68 307 79V155H357V79Q357 68 350 61Q343 54 332 54ZM130 180Q119 180 111 187Q104 194 104 205Q104 216 111 224Q119 231 130 231V256Q130 303 159 337Q186 371 231 380V433Q231 444 238 451Q245 458 256 458Q267 458 274 451Q281 444 281 433V380Q326 371 353 337Q382 303 382 256V231Q393 231 401 224Q408 216 408 205Q408 194 401 187Q393 180 382 180H130Z'],
-- cam: [512, 'M171 105 164 130 171 105 164 130H104Q83 130 69 145Q55 159 54 180V382Q55 404 69 418Q83 432 104 433H408Q429 432 443 418Q457 404 458 382V180Q457 159 443 145Q429 130 408 130H348L341 105Q331 81 304 79H208Q181 81 171 105ZM256 205Q277 205 294 216Q311 226 322 243Q332 262 332 281Q332 301 322 319Q311 337 294 347Q277 357 256 357Q235 357 218 347Q201 337 190 319Q180 301 180 281Q180 262 190 243Q201 226 218 216Q235 205 256 205Z'],
-- casino: [640, 'M223 109Q209 95 190 95Q171 95 157 109L67 198Q54 212 54 231Q54 250 67 264L157 354Q171 367 190 367Q209 367 223 354L312 264Q326 250 326 231Q326 212 312 198L223 109ZM174 231Q176 217 190 216Q204 217 205 231Q204 245 190 247Q176 245 174 231ZM107 216Q121 217 123 231Q121 245 107 247Q93 245 92 231Q93 217 107 216ZM190 329Q176 328 174 314Q176 300 190 298Q204 300 205 314Q204 328 190 329ZM272 216Q287 217 288 231Q287 245 272 247Q258 245 257 231Q258 217 272 216ZM190 164Q176 163 174 149Q176 134 190 133Q204 134 205 149Q204 163 190 164ZM252 376Q252 393 264 405Q276 416 293 417H417Q434 416 446 405Q458 393 458 376V252Q458 234 446 223Q434 211 417 211H343Q349 229 345 247Q341 265 327 279L252 354V376ZM355 298Q369 300 371 314Q369 328 355 329Q341 328 340 314Q341 300 355 298Z'],
-- surf: [576, 'M243 125Q256 117 269 125Q294 143 323 144Q353 142 378 125Q392 116 406 127Q421 139 441 144Q450 146 455 154Q460 162 458 171Q456 180 448 185Q440 190 431 188Q404 181 390 170Q359 188 323 189Q289 186 267 175Q261 172 256 170Q251 172 245 175Q223 186 189 189Q153 188 123 170Q108 181 81 188Q72 190 64 185Q56 180 54 171Q52 162 57 154Q62 146 71 144Q91 139 106 127Q120 116 134 125Q159 142 189 144Q219 143 243 125ZM269 328Q294 345 323 346Q353 345 378 328Q392 319 406 329Q421 342 441 347Q450 349 455 356Q460 364 458 373Q456 382 448 387Q440 392 431 390Q404 383 390 373Q359 390 323 391Q289 389 267 378Q261 375 256 372Q251 375 245 378Q223 389 189 391Q153 390 123 373Q108 383 81 390Q72 392 64 387Q56 382 54 373Q52 364 57 356Q62 349 71 347Q91 342 106 329Q120 319 134 328Q159 345 189 346Q219 345 243 328Q256 319 269 328ZM269 227Q294 244 323 245Q353 243 378 227Q392 217 406 228Q421 241 441 245Q450 248 455 255Q460 263 458 272Q456 281 448 286Q440 291 431 289Q404 282 390 271Q359 289 323 290Q289 288 267 276Q261 274 256 271Q251 274 245 276Q223 288 189 290Q153 289 123 271Q108 282 81 289Q72 291 64 286Q56 281 54 272Q52 263 57 255Q62 248 71 245Q91 241 106 228Q120 217 134 227Q159 243 189 245Q219 244 243 227Q256 218 269 227Z'],
-- fun: [640, 'M101 330Q121 349 150 365Q178 380 206 377Q212 376 217 374Q209 363 202 352Q182 318 186 280Q166 284 151 296Q148 299 145 297Q141 296 142 292Q145 275 156 264Q168 253 185 250Q187 249 190 249L202 166Q203 151 218 138Q226 130 243 124Q259 117 283 115Q283 115 283 115Q283 114 282 114Q273 105 245 98Q217 91 165 98Q112 107 88 122Q63 137 57 148Q52 155 54 165L69 269Q75 306 101 330ZM156 192Q162 189 164 194Q164 194 164 194Q164 194 164 195Q165 205 159 213Q154 222 143 224Q133 225 124 219Q116 213 115 202Q115 202 115 202Q114 201 114 201Q115 196 121 197Q130 200 139 198Q148 197 156 192ZM219 341Q233 365 256 388Q278 411 306 417Q334 420 362 404Q391 389 411 370Q437 346 443 309L458 205Q460 195 455 188Q448 177 424 162Q400 146 347 138Q295 131 267 138Q239 145 230 153Q223 160 222 169L207 273Q201 310 219 341ZM310 243Q302 238 293 237Q283 235 274 238Q269 239 268 234Q268 234 268 233Q268 233 268 233Q270 222 278 216Q286 210 296 212Q307 213 312 222Q319 230 317 240Q317 241 317 241Q317 241 317 241Q315 246 310 243ZM396 253Q393 258 388 255Q381 250 371 248Q362 247 353 250Q347 251 346 246Q346 246 346 245Q346 245 346 244Q348 234 357 228Q364 222 375 224Q385 225 391 234Q397 241 396 252Q396 253 396 253Q396 253 396 253ZM389 316Q379 337 359 349Q339 360 315 357Q291 353 275 336Q259 320 256 296Q256 292 259 291Q262 289 265 292Q289 312 321 317Q353 322 381 309Q384 308 388 310Q390 312 389 316Z'],
-- meme: [512, 'M391 65Q403 54 419 54Q435 54 446 66Q458 77 458 93Q458 109 447 121Q438 129 417 134Q397 140 381 141Q380 141 379 141Q378 142 378 142Q370 142 370 134Q371 119 377 97Q377 96 377 96Q378 95 378 94Q382 74 391 65ZM356 80Q354 85 352 92Q347 115 344 131Q343 148 354 158Q364 169 381 168Q397 165 420 160Q426 158 432 156Q465 216 457 282Q448 348 399 399Q348 448 282 457Q216 465 156 432Q158 427 160 421Q165 397 167 381Q169 364 158 354Q148 343 131 344Q115 347 91 352Q85 354 80 356Q47 296 55 230Q64 164 113 113Q164 64 230 55Q296 47 356 80ZM95 378Q119 372 134 370Q142 370 142 378Q140 393 134 418Q129 438 121 447Q109 458 93 458Q77 458 66 446Q54 435 54 419Q54 403 65 391Q74 383 95 378ZM382 213Q379 206 372 207Q366 207 362 214Q338 258 299 298Q258 338 214 361Q207 365 207 372Q207 379 214 382Q250 397 288 390Q325 382 355 354Q382 325 390 288Q397 250 382 213ZM122 279Q125 281 128 282L173 286L177 330Q177 333 179 336Q183 340 188 338Q193 337 195 332L219 255Q220 248 216 243Q211 239 204 240L126 263Q121 265 120 270Q119 275 122 279ZM263 126 240 203 263 126 240 203Q238 211 243 216Q247 220 255 218L332 195Q337 193 338 188Q340 183 336 179Q333 177 330 177L286 172L281 128Q281 125 279 122Q275 119 270 120Q265 121 263 126Z'],
-- tours: [512, 'M256 458Q311 457 357 431Q403 405 431 357Q458 309 458 256Q458 203 431 155Q403 107 357 81Q311 55 256 54Q201 55 155 81Q109 107 81 155Q54 203 54 256Q54 309 81 357Q109 405 155 431Q201 457 256 458ZM296 311 182 355 296 311 182 355Q170 358 162 350Q154 342 157 330L201 216Q205 205 216 201L330 157Q342 154 350 162Q358 170 355 182L311 296Q307 307 296 311ZM281 256Q281 245 274 238Q267 231 256 231Q245 231 238 238Q231 245 231 256Q231 267 238 274Q245 281 256 281Q267 281 274 274Q281 267 281 256Z'],
-- vision: [512, 'M155 79H180H155H180Q191 79 198 86Q205 93 205 104V130H130V104Q130 93 137 86Q144 79 155 79ZM205 155V408V155V408Q205 419 198 426Q191 433 180 433H79Q68 433 61 426Q54 419 54 408V361Q54 319 75 284Q92 256 96 224L102 177Q106 156 126 155H205ZM386 155Q406 156 411 177L416 224Q420 256 437 284Q458 319 458 361V408Q458 419 451 426Q444 433 433 433H332Q321 433 314 426Q307 419 307 408V155H386ZM307 104Q307 93 314 86Q321 79 332 79H357Q368 79 375 86Q382 93 382 104V130H307V104ZM281 155V281V155V281H231V155H281Z'],
-- shoes: [640, 'M317 94Q296 95 272 99Q249 104 233 109Q216 114 216 114V195Q238 196 253 202Q269 208 281 216Q294 224 310 229Q325 236 347 236Q366 236 392 231Q418 226 437 213Q457 200 458 175Q458 150 435 131Q413 114 381 104Q348 94 317 94ZM135 155Q135 172 147 183Q158 195 175 195H195V114H175Q158 115 147 126Q135 138 135 155ZM236 418Q267 418 300 408Q332 398 354 381Q377 362 377 337Q376 312 356 299Q337 286 311 281Q285 276 266 276Q244 277 229 283Q213 289 200 296Q188 305 173 310Q157 317 135 317V398Q135 398 152 403Q168 408 192 413Q215 417 236 418ZM54 357Q54 374 66 386Q77 397 94 398H114V317H94Q77 317 66 329Q54 340 54 357Z'],
-- today: [448, 'M180 54Q191 54 198 61Q205 68 205 79V104H307V79Q307 68 314 61Q321 54 332 54Q343 54 350 61Q357 68 357 79V104H395Q411 105 422 115Q432 126 433 142V180H79V142Q80 126 90 115Q101 105 117 104H155V79Q155 68 162 61Q169 54 180 54ZM79 205H433H79H433V420Q432 436 422 447Q411 457 395 458H117Q101 457 90 447Q80 436 79 420V205ZM142 256Q130 257 130 269V344Q130 356 142 357H218Q230 356 231 344V269Q230 257 218 256H142Z'],
-- report: [448, 'M198 97Q199 79 211 66Q223 55 242 54H270Q289 55 301 66Q313 79 314 97V415Q313 433 301 446Q289 457 270 458H242Q223 457 211 446Q199 433 198 415V97ZM54 270Q55 252 66 240Q79 228 97 227H126Q144 228 157 240Q168 252 169 270V415Q168 433 157 446Q144 457 126 458H97Q79 457 66 446Q55 433 54 415V270ZM386 112H415H386H415Q433 112 446 124Q457 137 458 155V415Q457 433 446 446Q433 457 415 458H386Q368 457 355 446Q344 433 343 415V155Q344 137 355 124Q368 112 386 112Z'],
-- design: [512, 'M425 68 444 87 425 68 444 87Q458 102 458 123Q458 142 444 158L399 203L309 113L354 68Q369 54 389 54Q409 54 425 68ZM89 333 291 131 89 333 291 131 381 221 179 423Q171 431 160 434L78 458Q67 460 59 453Q52 445 54 434L78 352Q81 340 89 333ZM251 135 135 250 251 135 135 250 66 181Q55 169 55 154Q55 139 66 127L128 66Q140 55 155 55Q170 55 182 66L198 81Q198 81 197 81Q197 81 197 82L146 133Q138 142 146 150Q155 158 164 150L214 100Q215 100 215 100Q215 100 215 99L251 135ZM377 261 413 297 377 261 413 297Q412 297 412 297Q412 297 412 298L362 348Q354 357 362 366Q370 373 379 366L430 315Q431 315 431 315Q431 314 431 314L446 330Q457 342 457 357Q457 372 446 384L385 446Q373 457 358 457Q343 457 331 446L262 377L377 261Z'],
-- domains: [512, 'M100 206 107 219 100 206 107 219Q117 237 137 243L183 256Q204 263 205 286V318Q206 332 218 338Q230 344 231 359V390Q231 399 238 405Q245 409 254 408Q274 401 280 381L282 372Q288 351 307 341L313 337Q331 326 332 303V297Q332 281 321 270L318 267Q307 256 291 256H257Q243 256 232 250L205 234Q199 231 198 225Q194 213 205 205L210 203Q218 199 227 202L245 208Q256 211 262 202Q268 193 262 184L250 171Q239 155 250 139L263 124Q274 111 266 95L264 92Q260 92 256 92Q200 92 158 124Q116 156 100 206ZM420 256Q420 212 400 176L379 184Q370 188 366 197Q362 205 365 216L378 255Q382 269 396 272L419 278Q420 267 420 256ZM54 256Q55 201 81 155Q107 109 155 81Q203 54 256 54Q309 54 357 81Q405 109 431 155Q457 201 458 256Q457 311 431 357Q405 403 357 431Q309 458 256 458Q203 458 155 431Q107 403 81 357Q55 311 54 256Z'],
-- exchange: [512, 'M79 130H332H79H332V79Q333 63 348 56Q363 50 375 61L451 137Q458 145 458 155Q458 165 451 173L375 249Q363 260 348 254Q333 247 332 231V180H79Q68 180 61 173Q54 166 54 155Q54 144 61 137Q68 130 79 130ZM433 332Q444 332 451 339Q458 346 458 357Q458 368 451 375Q444 382 433 382H180V433Q179 449 164 456Q149 462 137 451L61 375Q54 367 54 357Q54 347 61 340L137 264Q149 252 164 258Q179 265 180 281V332H433Z'],
-- bench: [448, 'M104 54Q115 54 122 61Q130 68 130 79V92L184 78Q231 67 274 88Q302 102 332 102Q362 102 390 88L397 85Q411 78 421 85Q432 92 433 106V327Q432 344 416 351L390 361Q332 382 277 355Q231 333 180 344L130 357V433Q130 444 122 451Q115 458 104 458Q93 458 86 451Q79 444 79 433V370V318V104V79Q79 68 86 61Q93 54 104 54ZM130 201 180 190 130 201 180 190V243L130 254V305L168 296Q174 294 180 293V243L211 235Q220 234 231 234V183Q247 184 262 189L281 194V247L248 237Q239 235 231 234V290Q257 292 281 302V247L299 252Q315 257 332 258V207Q322 206 314 204L281 194V145Q265 141 251 134Q241 128 231 126V183Q215 183 200 186L180 190V131L130 144V201ZM332 319Q352 321 371 314L382 310V253L376 254Q354 259 332 258V319ZM382 201V145V201V145Q358 153 332 153V207Q348 209 365 205L382 201Z'],
++ // network: the glyph nodes
++ network: '<circle cx="12" cy="5.2" r="3"/><circle cx="5.6" cy="18" r="3"/><circle cx="18.4" cy="18" r="3"/><path class="ln" d="M10.9 7.6L6.8 15.5M13.1 7.6l4.1 7.9M8.4 18h7.1"/>',
++ // live: the glyph live
++ live: '<circle cx="12" cy="12" r="2.5"/><path class="ln" d="M8.5 8.5a4.9 4.9 0 0 0 0 6.9M15.5 8.5a4.9 4.9 0 0 1 0 6.9M6.2 6.2a8.2 8.2 0 0 0 0 11.5M17.8 6.2a8.2 8.2 0 0 1 0 11.5"/>',
++ // tools: the glyph wrench
++ tools: '<path d="M14.9 2.5a6 6 0 0 0-5.5 8.3L2.7 17.5V21.3H6.5l6.7-6.7a6 6 0 0 0 8.3-5.5l-3.5 1.3l-2.9-2.9l1.3-3.5Z"/>',
++ // media: the glyph film
++ media: '<path fill-rule="evenodd" d="M4.8 3.6h14.4a2.3 2.3 0 0 1 2.3 2.3v12.3a2.3 2.3 0 0 1-2.3 2.3H4.8A2.3 2.3 0 0 1 2.5 18.2V5.8A2.3 2.3 0 0 1 4.8 3.6Zm3.8 2v12.9h6.8V5.5ZM4.4 6v2h2.1V6Zm0 5v1.8h2.1v-1.8Zm0 4.9v2h2.1v-2Zm13.1-10v2h2.1V6Zm0 5v1.8h2.1v-1.8Zm0 4.9v2h2.1v-2Z"/>',
++ // games: the glyph game
++ games: '<path fill-rule="evenodd" d="M7.6 6.3h8.8a5.8 5.8 0 0 1 0 11.5H7.6a5.8 5.8 0 0 1 0-11.5Zm-1.4 3.7v1.6H4.7v1.8h1.6v1.6H7.9v-1.6h1.6v-1.8H7.9v-1.6Zm9.2 1a1.2 1.2 0 1 0 0 2.3a1.2 1.2 0 0 0 0-2.3Zm2.5 1.6a1.2 1.2 0 1 0 0 2.3a1.2 1.2 0 0 0 0-2.3Z"/>',
++ // community: the glyph members
++ community: '<circle cx="9.1" cy="7.1" r="3.5"/><path d="M2.6 19.6c0-3.7 2.9-6.3 6.4-6.3s6.4 2.6 6.4 6.3Z"/><circle cx="16.5" cy="6.6" r="2.8"/><path d="M16.7 12.4c2.8 0.4 4.7 2.7 4.7 6.2V19.6h-4.3c0-2.8-1-5.1-2.7-6.5Z"/>',
++ // chat: the glyph chat
++ chat: '<path d="M2.7 4.7A1.8 1.8 0 0 1 4.5 3h15.2a1.8 1.8 0 0 1 1.8 1.8v10.9a1.8 1.8 0 0 1-1.8 1.8H8.3L2.7 21.8Z"/>',
++ // domains: the glyph globe
++ domains: '<path d="M2.6 11.1A9.5 9.5 0 0 1 12 2.6a4.5 9.5 0 0 0-4.5 8.5ZM21.4 11.1A9.5 9.5 0 0 0 12 2.6a4.5 9.5 0 0 1 4.5 8.5ZM2.6 12.9A9.5 9.5 0 0 0 12 21.5a4.5 9.5 0 0 1-4.5-8.5ZM21.4 12.9A9.5 9.5 0 0 1 12 21.5a4.5 9.5 0 0 0 4.5-8.5ZM12 2.6a2.7 9.5 0 0 0-2.7 8.5h5.3A2.7 9.5 0 0 0 12 2.6ZM12 21.5a2.7 9.5 0 0 1-2.7-8.5h5.3A2.7 9.5 0 0 1 12 21.5Z"/>',
++ // bench: the glyph flag
++ bench: '<path class="ln" d="M7.2 20.5V4.3"/><path d="M7.8 4.1h10.9l-2 4.1l2 4.1H7.8Z"/>',
};
-- // END generated solid glyphs
-- // A glyph drawn as a solid Font Awesome path, fitted to the 24-box the stroke glyphs use.
-- // Names without a solid twin keep their stroke glyph (the brand "V", YouTube, logo, ...).
++ // END generated ring solids
++ // A product's solid: the solid drawing of the glyph that stands for it, on the same 24-unit grid as the line
++ // drawings (4.231.0). Its .ln parts are lines inside the solid, drawn as strokes.
++ // Names without a solid keep their line drawing (the brand "V", YouTube, logo, ...).
++ const LN = ' fill="none" stroke-width="2.6" stroke-linecap="round" stroke-linejoin="round" style="stroke:var(--ovi-glyph,var(--text-primary,#e6edf7))"';
function glyphMarkup(key, def, forSprite) {
const solid = SOLID[key];
if (!solid) return forSprite ? def.glyph : `<g class="ovi-glyph">${def.glyph}</g>`;
-- // The solids are all on one 512 square, normalised to one ink size (scripts/build-nav-icons.py),
-- // so the whole-square map is the fit: a solid paints exactly what a line drawing paints.
-- const d = solid[1]; const sc = 24 / 512;
const paint = forSprite ? ' fill="currentColor" stroke="none" style="fill:var(--ovi-glyph,var(--text-primary,#e6edf7))"' : '';
-- // The position/scale transform lives on a plain (unclassed) <g>, and no stylesheet rule sets a
-- // CSS transform, transform-box or transform-origin on anything inside the SVG: browsers resolve a
-- // "transform" *attribute* through the same CSS transform pipeline, so a styled origin once pivoted
-- // every solid glyph off-centre, and transforms on SVG children left icons unpainted on phones.
-- return `<g class="ovi-glyph ovi-glyph--solid"${paint}><g transform="scale(${sc.toFixed(5)})"><path d="${d}"/></g></g>`;
++ return `<g class="ovi-glyph ovi-glyph--solid"${paint}>${solid.replace(/ class="ln"/g, ` class="ln"${LN}`)}</g>`;
}
function resolve(name) {
ddiff --git a/package-lock.json b/package-lock.json
iindex 3000d92..7080c24 100644
---- a/package-lock.json
++++ b/package-lock.json
@@@ -1,12 +1,12 @@
{
"name": "openvibe-shared",
-- "version": "4.230.0",
++ "version": "4.231.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "openvibe-shared",
-- "version": "4.230.0",
++ "version": "4.231.0",
"license": "MIT",
"dependencies": {
"clean-css": "^5.3.3",
ddiff --git a/package.json b/package.json
iindex 2be73a8..4decf71 100644
---- a/package.json
++++ b/package.json
@@@ -1,6 +1,6 @@
{
"name": "openvibe-shared",
-- "version": "4.230.0",
++ "version": "4.231.0",
"description": "Shared navbar, footer, themes, icons, legal pages, SEO, auth and analytics for every OpenVibe site",
"main": "index.js",
"bin": {
@@@ -182,7 +182,7 @@
"audit:page-end": "node scripts/audit-page-end.js",
"create-site": "node scripts/create-site.js",
"size": "node scripts/size-report.js",
-- "build:icons": "python3 scripts/build-nav-icons.py",
++ "build:icons": "node scripts/build-navbar-icons.js",
"build:themes": "node scripts/build-theme-loader.js",
"build:styles": "node scripts/build-styles.js"
},
ddiff --git a/scripts/build-glyphs.js b/scripts/build-glyphs.js
iindex d78c4a1..74bfd77 100644
---- a/scripts/build-glyphs.js
++++ b/scripts/build-glyphs.js
@@@ -2,15 +2,15 @@
'use strict';
// Writes ov-glyphs.js, the page drop-in that swaps Font Awesome icons for the OpenVibe glyphs, and ov-glyphs.svg, the
// sprite (<symbol id="ovg-eye">), from glyphs.js (the one registry). Re-run after a glyph or an alias changes:
--// node scripts/build-glyphs.js (test/glyphs.test.js checks both files are current). Only the glyphs some Font Awesome
--// name stands for go in the drop-in, so it carries no drawing it cannot use; the sprite has every glyph.
++// node scripts/build-glyphs.js (test/glyphs.test.js checks both files are current). Every glyph goes in the drop-in
++// (4.231.0): a page names any of them with <i data-ov-icon="name">.
const fs = require('fs');
const path = require('path');
const glyphs = require('../glyphs');
--const used = [...new Set(Object.values(glyphs.FA))].sort();
++const used = glyphs.NAMES.slice().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.
++// The solid drawings for small sizes (4.69.0).
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)));
@@@ -52,6 +52,11 @@ const CSS = [
'.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}',
Array.from({ length: 10 }, (_, i) => `.ovg.fa-${i + 1}x{font-size:${i + 1}em}`).join(''),
'.ovg.fa-fw{width:1.25em;text-align:center}',
++ // OpenVibe's own markup (4.231.0): <i data-ov-icon="eye" class="ovg-lg">; sizes, a fixed width, turns and flips, and
++ // ovg-fill (what fa-solid did): the area prefers the solid drawing at every size, the person's own preference still wins.
++ '.ovg.ovg-fill{--ovg-solid-below:99999px}',
++ '.ovg.ovg-xs{font-size:.75em}.ovg.ovg-sm{font-size:.875em}.ovg.ovg-lg{font-size:1.25em}.ovg.ovg-xl{font-size:1.5em}.ovg.ovg-2x{font-size:2em}.ovg.ovg-3x{font-size:3em}.ovg.ovg-fw{width:1.25em;text-align:center}',
++ '.ovg.ovg-rotate-90>svg{transform:rotate(90deg)}.ovg.ovg-rotate-180>svg{transform:rotate(180deg)}.ovg.ovg-rotate-270>svg{transform:rotate(270deg)}.ovg.ovg-flip-h>svg{transform:scale(-1,1)}.ovg.ovg-flip-v>svg{transform:scale(1,-1)}',
'.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)}',
// Turns and flips act on the drawing, so they combine with an animation on the icon.
@@@ -98,12 +103,18 @@ const brands = require('../brands');
const brandsRev = require('../assets').hashAsset(fs.readFileSync(path.join(__dirname, '..', 'brands.js')));
const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those, then run it. */
/**
-- * openvibe-shared/ov-glyphs.js — the OpenVibe glyphs in place of Font Awesome (plan L32). A page that loads it keeps its
-- * markup (<i class="fa-solid fa-tower-broadcast">) and shows the network's own icon instead: the same hand as the mark
-- * (24-unit grid, 2-unit round strokes), in the text's colour and size. A name the glyphs do not have yet stays Font
-- * Awesome's. A brand logo (fa-brands) is drawn from brands.js (Simple Icons, CC0; 4.72.0), fetched from beside this
-- * file the first time a page shows one, filled in the text's colour with the brand's own as --ovg-brand (add
-- * ovg-brand-color to wear it). A spinner is three dots that take turns, never a spin.
++ * openvibe-shared/ov-glyphs.js — the OpenVibe glyphs (plan L32): the same hand as the mark (24-unit grid, 2-unit round
++ * strokes), in the text's colour and size.
++ *
++ * <i data-ov-icon="live"></i> any glyph by name (openvibe.design/icons lists them); a title names it
++ * <i data-ov-brand="github"></i> a brand logo, from brands.js (Simple Icons, CC0), fetched the first time one
++ * shows, filled in the text's colour (add ovg-brand-color to wear the brand's)
++ * class ovg-xs … ovg-3x, ovg-fw, ovg-rotate-90/180/270, ovg-flip-h/-v, ovg-solid, ovg-line, ovg-draw, ovg-once
++ * OVGlyphs.icon('live', { title }) an element, drawn; OVGlyphs.html('live') its markup
++ *
++ * A spinner is the glyph busy: three dots that take turns, never a spin. Font Awesome markup (<i class="fa-solid
++ * fa-tower-broadcast">) is still drawn with the glyph its name maps to, until every site writes data-ov-icon
++ * (scripts/fa-to-ov.js rewrites a repository); a release after that drops it.
*
* Font Awesome's features keep working without its stylesheet (4.62.0): sizes (fa-2xs … fa-2xl, fa-1x … fa-10x), fa-fw,
* fa-ul/fa-li, fa-border, fa-pull-*, fa-rotate-* and fa-flip-*, fa-stack, fa-layers with counters and text, the
@@@ -172,21 +183,21 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
const sc = document.createElement('script');
sc.src = dir + 'brands.js' + (BRANDS_REV ? '?v=' + BRANDS_REV : '');
sc.async = true;
-- sc.onload = () => { brandState = window.OVBrands ? 2 : 3; waiting.forEach((el) => drawBrand(el)); waiting.clear(); };
++ sc.onload = () => { brandState = window.OVBrands ? 2 : 3; waiting.forEach((el) => draw(el)); waiting.clear(); };
sc.onerror = () => { brandState = 3; waiting.clear(); };
document.head.appendChild(sc);
}
-- function drawBrand(el) {
++ function drawBrand(el, own) {
let fa = null;
-- for (const c of el.classList) if (c.startsWith('fa-') && c !== 'fa-brands' && !MOD.test(c) && Object.prototype.hasOwnProperty.call(FB, c.slice(3))) { fa = c.slice(3); break; }
-- if (!fa) return;
-- const slug = FB[fa];
++ if (own == null) for (const c of el.classList) if (c.startsWith('fa-') && c !== 'fa-brands' && !MOD.test(c) && Object.prototype.hasOwnProperty.call(FB, c.slice(3))) { fa = c.slice(3); break; }
++ if (own == null && !fa) return;
++ const slug = own != null ? own : FB[fa];
if (el.dataset.ovg === 'brand:' + slug) return;
if (!window.OVBrands) { if (brandState !== 3) { waiting.add(el); wantBrands(el); } return; }
const b = window.OVBrands.get(slug);
if (!b || (!el.dataset.ovg && el.textContent.trim())) return;
el.classList.add('ovg', 'ovg-brand');
-- el.dataset.ovg = 'brand:' + slug; el.dataset.ovgFa = fa;
++ el.dataset.ovg = 'brand:' + slug; if (fa) el.dataset.ovgFa = fa;
// A near-black brand (GitHub, X, Apple…) would vanish on a dark page: it wears the text's colour instead.
const n = parseInt(b.hex.slice(1), 16), lum = (0.2126 * (n >> 16) + 0.7152 * ((n >> 8) & 255) + 0.0722 * (n & 255)) / 255;
el.style.setProperty('--ovg-brand', lum < 0.12 ? 'currentColor' : b.hex);
@@@ -195,7 +206,28 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
else if (!el.hasAttribute('aria-label') && !title) el.setAttribute('aria-hidden', 'true');
el.innerHTML = '<svg viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="' + b.path + '"/></svg>';
}
++ // OpenVibe's own markup (4.231.0): data-ov-brand names a logo by its slug, data-ov-icon a glyph by its name.
++ function drawNative(el, name) {
++ const g = name === 'busy' || Object.prototype.hasOwnProperty.call(G, name) ? name : null;
++ if (!g) { if (el.dataset.ovg) { el.classList.remove('ovg'); delete el.dataset.ovg; el.textContent = ''; } return; }
++ if (el.dataset.ovg === g && el.firstChild) { if (!el.classList.contains('ovg')) el.classList.add('ovg'); return; }
++ el.classList.add('ovg');
++ el.dataset.ovg = g;
++ paint(el, g, '');
++ }
++ function paint(el, g, t) {
++ const title = el.getAttribute('title');
++ 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');
++ 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'); });
++ }
function draw(el) {
++ const own = el.getAttribute('data-ov-icon');
++ if (own != null) return drawNative(el, own.trim());
++ const brand = el.getAttribute('data-ov-brand');
++ if (brand != null) return drawBrand(el, brand.trim());
if (el.classList.contains('fa-brands') || el.classList.contains('fab')) return drawBrand(el);
const fa = nameOf(el);
const g = fa && fromFa(fa);
@@@ -206,15 +238,9 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
el.classList.add('ovg');
el.dataset.ovg = g; el.dataset.ovgFa = fa;
if (tf) el.dataset.ovgTf = tf; else delete el.dataset.ovgTf;
-- const title = el.getAttribute('title');
-- 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"' + (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'); });
++ paint(el, g, transformOf(tf));
}
-- const SEL = 'i[class*="fa-"],span[class*="fa-"]';
++ const SEL = '[data-ov-icon],[data-ov-brand],i[class*="fa-"],span[class*="fa-"]';
function swap(root) {
const r = root || document;
if (r.matches && r.matches(SEL)) draw(r);
@@@ -229,10 +255,26 @@ const out = `/* Generated by scripts/build-glyphs.js from glyphs.js: edit those,
if (r.type === 'attributes') { if (r.target.matches && r.target.matches(SEL)) draw(r.target); continue; }
r.addedNodes.forEach((n) => { if (n.nodeType === 1) swap(n); });
}
-- }).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'data-fa-transform'] });
++ }).observe(document.documentElement, { childList: true, subtree: true, attributes: true, attributeFilter: ['class', 'data-fa-transform', 'data-ov-icon', 'data-ov-brand'] });
} catch (e) { /* no observer: what was there is swapped */ }
}
-- window.OVGlyphs = { swap, fromFa };
++ const esc = (v) => String(v).replace(/[&<>"]/g, (c) => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;' }[c]));
++ // The markup for a glyph, and an element drawn now (4.231.0).
++ function html(name, o) {
++ const opt = o || {};
++ return '<i data-ov-icon="' + esc(name) + '"' + (opt.cls ? ' class="' + esc(opt.cls) + '"' : '') + (opt.title ? ' title="' + esc(opt.title) + '"' : ' aria-hidden="true"') + '></i>';
++ }
++ function icon(name, o) {
++ const opt = o || {};
++ const el = document.createElement('i');
++ el.setAttribute('data-ov-icon', String(name));
++ if (opt.cls) el.className = String(opt.cls);
++ if (opt.title) el.setAttribute('title', String(opt.title));
++ if (!document.getElementById('ov-glyphs-css')) { const st = document.createElement('style'); st.id = 'ov-glyphs-css'; st.textContent = CSS; document.head.appendChild(st); }
++ draw(el);
++ return el;
++ }
++ window.OVGlyphs = { swap, fromFa, icon, html, has: (n) => n === 'busy' || Object.prototype.hasOwnProperty.call(G, n) };
if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', start); else start();
})();
`;
ddiff --git a/scripts/build-nav-icons.py b/scripts/build-nav-icons.py
ddeleted file mode 100644
iindex 20d675b..0000000
---- a/scripts/build-nav-icons.py
++++ /dev/null
@@@ -1,159 +0,0 @@
--#!/usr/bin/env python3
--"""Regenerate the solid inline icon set: nav-icons.js, the navbar's generated block, ov-icons.js.
--
--Reads Font Awesome Free 6 (solid) glyph outlines — the same webfont every OpenVibe site already
--ships — and writes them into nav-icons.js as filled SVG paths, so the navbar renders crisp solid
--icons everywhere without the host page needing Font Awesome CSS. navbar.js carries only the glyphs
--it draws itself (scripts/build-navbar-icons.js copies them over, with the widths of the rest) and
--fetches nav-icons.js after first paint when a site names any other. Font Awesome Free icons are
--CC BY 4.0 (https://fontawesome.com/license/free); attribution stays in the generated files.
--
-- python3 scripts/build-nav-icons.py [--font path/to/fa-solid-900.woff2] [--css path/to/all.min.css]
--"""
--import argparse, json, re, sys, pathlib, subprocess
--from fontTools.ttLib import TTFont
--from fontTools.pens.svgPathPen import SVGPathPen
--from fontTools.pens.transformPen import TransformPen
--
--HERE = pathlib.Path(__file__).resolve().parent
--NAV_ICONS = HERE.parent / 'nav-icons.js'
--DEFAULT_FONT = pathlib.Path('/home/workstation/orca/workspaces/OpenVibe.Live/seadragon/public/css/vendor/webfonts/fa-solid-900.woff2')
--DEFAULT_CSS = pathlib.Path('/home/workstation/orca/workspaces/OpenVibe.Live/seadragon/public/css/vendor/fontawesome-6.5.1.min.css')
--
--ICONS = """fa-bell fa-book fa-camera fa-clock-rotate-left fa-coins fa-comments fa-gamepad fa-gauge-high fa-hand-fist
--fa-house fa-id-card fa-link fa-list-check fa-network-wired fa-palette fa-paste fa-people-arrows fa-people-group fa-plus
--fa-right-from-bracket fa-scissors fa-screwdriver-wrench fa-shield-halved fa-shirt fa-text-height fa-tower-broadcast
--fa-user fa-user-secret fa-video fa-wallet fa-wand-magic-sparkles
--fa-arrow-up-right-from-square fa-chevron-down fa-chevron-right fa-bars fa-xmark fa-magnifying-glass fa-gear
--fa-circle-half-stroke fa-moon fa-sun fa-file-pdf fa-arrow-down fa-arrow-right fa-clock fa-envelope fa-star
--fa-heart fa-play fa-circle-info fa-triangle-exclamation fa-check fa-globe fa-code fa-robot fa-photo-film
--fa-tower-cell fa-diagram-project fa-toolbox fa-comment-dots fa-money-bill-wave fa-crown fa-server fa-newspaper
--fa-tag fa-ticket fa-chart-line fa-pen-nib fa-key fa-plug fa-bolt fa-satellite-dish fa-brain fa-microchip
--fa-circle-nodes fa-download fa-upload fa-image fa-music fa-file-lines fa-font fa-location-dot fa-lock fa-wave-square
--fa-map fa-utensils fa-user-shield
--fa-gauge fa-pen fa-earth-americas fa-hashtag fa-inbox fa-folder fa-puzzle-piece fa-shield fa-display fa-microphone
--fa-infinity fa-list fa-flag-checkered fa-tv fa-compass""".split()
--# ov-icons.js glyph name -> Font Awesome solid icon (names without a twin keep their stroke glyph)
--OV_SOLID = {
-- 'network': 'fa-circle-nodes', 'live': 'fa-tower-broadcast', 'tools': 'fa-screwdriver-wrench', 'media': 'fa-photo-film',
-- 'games': 'fa-gamepad', 'community': 'fa-people-group', 'chat': 'fa-comments', 'codes': 'fa-code', 'code': 'fa-code',
-- 'blog': 'fa-pen-nib', 'wiki': 'fa-book', 'news': 'fa-newspaper', 'reviews': 'fa-star', 'tips': 'fa-coins', 'vip': 'fa-crown',
-- 'trade': 'fa-chart-line', 'host': 'fa-server', 'deals': 'fa-tag', 'coupons': 'fa-ticket', 'stream': 'fa-satellite-dish',
-- 'video': 'fa-video', 'download': 'fa-download', 'upload': 'fa-upload', 'image': 'fa-image', 'audio': 'fa-music',
-- 'pdf': 'fa-file-pdf', 'docs': 'fa-file-lines', 'text': 'fa-font', 'dns': 'fa-globe', 'ip': 'fa-location-dot',
-- 'ssl': 'fa-lock', 'ping': 'fa-wave-square', 'whois': 'fa-magnifying-glass', 'search': 'fa-magnifying-glass', 'map': 'fa-map',
-- 'food': 'fa-utensils', 'paste': 'fa-paste', 'account': 'fa-user', 'bell': 'fa-bell', 'history': 'fa-clock-rotate-left',
-- 'theme': 'fa-palette', 'check': 'fa-check', 'error': 'fa-triangle-exclamation', 'clip': 'fa-scissors',
-- # Products that had only the "V" (2026-10-10), and the ones opening next.
-- 'bot': 'fa-robot', 'work': 'fa-briefcase', 'rent': 'fa-key', 'help': 'fa-circle-question', 'quest': 'fa-trophy',
-- 'inventory': 'fa-box-open', 'drive': 'fa-hard-drive', 'services': 'fa-cubes', 'space': 'fa-rocket', 'watch': 'fa-eye',
-- 'actor': 'fa-brain', 'events': 'fa-bolt', 'ai': 'fa-microchip', 'run': 'fa-terminal', 'billing': 'fa-wallet',
-- 'feeds': 'fa-rss', 'pics': 'fa-images', 'homes': 'fa-house-chimney', 'website': 'fa-window-restore', 'zone': 'fa-database',
-- 'fund': 'fa-hand-holding-dollar', 'play': 'fa-ranking-star',
-- # Page furniture the product homes name (2.21.1).
-- 'gauge': 'fa-gauge-high', 'link': 'fa-link', 'shield': 'fa-shield-halved', 'plug': 'fa-plug',
-- # Sites that borrowed a neighbour's glyph until 2026-11-07 (Cam showed Video's, Casino and Surf the gamepad, Fun
-- # Quest's trophy): each its own now, so the menu reads at a glance.
-- 'cam': 'fa-camera', 'casino': 'fa-dice', 'surf': 'fa-water', 'fun': 'fa-masks-theater', 'meme': 'fa-face-grin-squint-tears',
-- 'tours': 'fa-compass', 'vision': 'fa-binoculars', 'shoes': 'fa-shoe-prints', 'today': 'fa-calendar-day',
-- 'report': 'fa-chart-simple', 'design': 'fa-pen-ruler', 'domains': 'fa-earth-americas', 'exchange': 'fa-right-left',
-- 'bench': 'fa-flag-checkered',
--}
--OVICONS = HERE.parent / 'ov-icons.js'
--OV_START, OV_END = ' // BEGIN generated solid glyphs (scripts/build-nav-icons.py)', ' // END generated solid glyphs'
--# Every solid's larger ink side, as a fraction of the 512 square the Font Awesome path data is drawn in
--# (scripts/icon-ink.js measures the same square and enforces the same target). The glyphs are all on
--# ONE em square, so equal ink means equal painted size whatever the advance width is: the advance only
--# says how much side bearing the glyph carries, and it sizes the slot, not the drawing.
--INK_TARGET = 0.79
--
--
--def _fmt(v):
-- # A whole unit, like scripts/icon-ink.js: the Font Awesome glyphs are drawn in the 0..512 square,
-- # where a unit is 0.2% of the box — far finer than the 4% the test allows — and it keeps
-- # nav-icons.js (and the navbar's copy of it) small.
-- r = round(v)
-- return '0' if r == 0 else str(int(r))
--
--
--def normalise_pen(glyphs, glyph, flip, adv512):
-- """(matrix, w) drawing the glyph's ink centred on (256, 256) at INK_TARGET of the 512 square.
--
-- BoundsPen measures the outline's box in flipped space; the matrix composes the y-flip with the
-- centre-and-scale, so SVGPathPen draws the normalised path directly. scripts/icon-ink.js applies
-- the same rule (there blended 70/30 with the raster centre of mass, which a pen cannot see) to the
-- checked-in output; re-running this generator stays within the test's 3%/4% of that."""
-- from fontTools.pens.boundsPen import BoundsPen
-- bp = BoundsPen(glyphs)
-- glyph.draw(TransformPen(bp, flip))
-- if bp.bounds is None:
-- return flip, adv512
-- x0, y0, x1, y1 = bp.bounds
-- s = INK_TARGET * 512 / max(x1 - x0, y1 - y0)
-- tx = 256 - s * (x0 + x1) / 2
-- ty = 256 - s * (y0 + y1) / 2
-- # Normalise after the flip (x, -y+asc): x' = s·x + tx, y' = -s·y + s·asc + ty.
-- return (s, 0, 0, -s, tx, s * flip[5] + ty), adv512
--
--def main():
-- ap = argparse.ArgumentParser()
-- ap.add_argument('--font', default=str(DEFAULT_FONT)); ap.add_argument('--css', default=str(DEFAULT_CSS))
-- a = ap.parse_args()
-- css = pathlib.Path(a.css).read_text(encoding='utf-8', errors='replace')
-- cps = {}
-- # Rules look like `.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}` (1-6 hex digits).
-- for m in re.finditer(r'([^{}]+)\{content:"\\([0-9a-fA-F]{1,6})"\}', css):
-- for name in re.findall(r'\.(fa-[a-z0-9-]+):before', m.group(1)):
-- cps.setdefault(name, int(m.group(2), 16))
-- font = TTFont(a.font)
-- cmap = font.getBestCmap(); glyphs = font.getGlyphSet(); hmtx = font['hmtx']
-- upm = font['head'].unitsPerEm; asc = font['hhea'].ascent
-- # Outlines for the navbar's set and for the ring icons' twins; nav-icons.js (and so navbar.js's width table) gets
-- # only ICONS: a glyph only the ring icons draw costs the navbar nothing.
-- out, missing = {}, []
-- for name in dict.fromkeys(ICONS + list(OV_SOLID.values())):
-- cp = cps.get(name)
-- gname = cmap.get(cp) if cp else None
-- if not gname: missing.append(name); continue
-- pen = SVGPathPen(glyphs, ntos=_fmt)
-- adv = hmtx[gname][0]
-- adv512 = adv * 512 / upm
-- matrix, _ = normalise_pen(glyphs, glyphs[gname], (1, 0, 0, -1, 0, asc), adv512)
-- glyphs[gname].draw(TransformPen(pen, matrix))
-- out[name] = [round(adv512), pen.getCommands()]
-- js = ["// ═══════════════════════════════════════════════════════════════",
-- "// OpenVibe — navbar icon glyphs. Generated by scripts/build-nav-icons.py; do not edit by hand.",
-- "// Font Awesome Free 6 solid glyphs (CC BY 4.0, fontawesome.com/license/free) as filled paths:",
-- "// name -> [advance width, path] in a 0 0 512 512 viewBox. The glyphs are normalised to the same",
-- "// ink size on that one square, so the advance says how much side bearing a glyph carries and",
-- "// sizes its slot, not how big it draws. navbar.js ships the glyphs it draws itself and fetches",
-- "// this file after first paint for the rest; a page that wants every glyph from the first frame",
-- "// can load it before navbar.js instead.",
-- "// ═══════════════════════════════════════════════════════════════",
-- "",
-- "(function (root) {",
-- " 'use strict';",
-- "",
-- " const NAV_ICONS = {"]
-- for k, (w, d) in out.items():
-- if k in ICONS: js.append(f" '{k}': [{w}, '{d}'],")
-- js += [" };",
-- "",
-- " if (typeof module !== 'undefined' && module.exports) module.exports = NAV_ICONS;",
-- " else root.OpenVibeNavIcons = NAV_ICONS;",
-- "",
-- "})(typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : this);",
-- ""]
-- NAV_ICONS.write_text('\n'.join(js), encoding='utf-8')
-- subprocess.run(['node', str(HERE / 'build-navbar-icons.js')], check=True)
-- print(f'wrote {sum(1 for k in out if k in ICONS)} icons; missing: {missing or "none"}')
-- ov = [OV_START, " // Font Awesome Free 6 solid glyphs (CC BY 4.0) for the ring icons; viewBox 0 0 512 512,", " // normalised to one ink size (scripts/build-nav-icons.py).", " const SOLID = {"]
-- for name, fa in OV_SOLID.items():
-- if fa in out: w, d = out[fa]; ov.append(f" {name}: [{w}, '{d}'],")
-- ov += [" };", OV_END]
-- src = OVICONS.read_text(encoding='utf-8')
-- i, j = src.index(OV_START), src.index(OV_END) + len(OV_END)
-- OVICONS.write_text(src[:i] + '\n'.join(ov) + src[j:], encoding='utf-8')
-- print(f'ov-icons: {sum(1 for fa in OV_SOLID.values() if fa in out)} solid glyphs')
--
--if __name__ == '__main__': main()
ddiff --git a/scripts/build-navbar-icons.js b/scripts/build-navbar-icons.js
iindex a8335ff..ac2dd66 100644
---- a/scripts/build-navbar-icons.js
++++ b/scripts/build-navbar-icons.js
@@@ -12,11 +12,12 @@
* node scripts/build-navbar-icons.js # rewrite
* node scripts/build-navbar-icons.js --check # exit 1 if stale
*
-- * scripts/build-nav-icons.py runs this after writing nav-icons.js.
++ * Every entry is an OpenVibe glyph (openvibe-shared/glyphs): a name the glyphs do not cover is an error here, never
++ * a drawing from another set (4.231.0: the last Font Awesome outlines, the ring icons' solids, went).
*
-- * 4.71.0 (the owner, 2026-11-01: one hand in the bar): every name the OpenVibe glyphs cover (openvibe-shared/glyphs,
-- * fromFa) becomes [0, line, solid] in nav-icons.js, the set's own drawings on a 24-unit grid; Font Awesome's filled
-- * path stays only for a name the set does not have yet. This script rewrites those entries first, then the block.
++ * 4.71.0 (the owner, 2026-11-01: one hand in the bar): every entry of nav-icons.js is [0, line, solid], the set's own
++ * drawings on a 24-unit grid. This script rewrites those entries first, then the block, then the ring icons' solids in
++ * ov-icons.js (RING_SOLIDS: each product's solid is the glyph that stands for it).
*/
const fs = require('fs');
const path = require('path');
@@@ -25,6 +26,7 @@ const crypto = require('crypto');
const ROOT = path.join(__dirname, '..');
const NAVBAR = path.join(ROOT, 'navbar.js');
const ICONS = path.join(ROOT, 'nav-icons.js');
++const OV_ICONS = path.join(ROOT, 'ov-icons.js');
const glyphs = require('../glyphs');
const q = (str) => String(str).replace(/\\/g, '\\\\').replace(/'/g, "\\'");
@@@ -52,13 +54,33 @@ const coarse = (d) => d.replace(/( d=")([^"]*)(")/g, (m, a, body, b) => {
return a + out + b;
});
--/** nav-icons.js with every name the glyphs cover drawn from them: [0, line, solid]. */
++/** nav-icons.js with every entry drawn from the glyphs: [0, line, solid]. A name they do not cover is an error. */
function upgraded(text) {
-- return text.replace(/^( {8}'(fa-[a-z0-9-]+)': )\[.*\],$/gm, (line, head, name) => {
++ const missing = [];
++ const out = text.replace(/^( {8}'(fa-[a-z0-9-]+)': )\[.*\],$/gm, (line, head, name) => {
const g = glyphs.fromFa(name);
-- if (!g) return line;
++ if (!g) { missing.push(name); return line; }
return `${head}[0, '${q(glyphs.path(g))}', '${q(glyphs.solid(g) || '')}'],`;
});
++ if (missing.length) throw new Error(`nav-icons.js names icons the OpenVibe glyphs do not have: ${missing.join(', ')} (draw them in glyphs.js, or map the name in glyphs.FA)`);
++ return out;
++}
++
++// The ring icons' solids (ov-icons.js): each product's solid is the glyph that stands for it, the same drawing the
++// glyph font and ov-glyphs.js show. A product without one here keeps its line drawing at every size.
++const RING_SOLIDS = { network: 'nodes', live: 'live', tools: 'wrench', media: 'film', games: 'game', community: 'members', chat: 'chat', domains: 'globe', bench: 'flag' };
++const RING_BEGIN = ' // BEGIN generated ring solids (scripts/build-navbar-icons.js from glyphs.js)';
++const RING_END = ' // END generated ring solids';
++function ringSolids(text) {
++ const a = text.indexOf(RING_BEGIN);
++ const b = text.indexOf(RING_END, a);
++ if (a < 0 || b < 0) throw new Error('ov-icons.js: generated ring solids block not found');
++ const rows = Object.entries(RING_SOLIDS).map(([k, g]) => {
++ const d = glyphs.solid(g);
++ if (!d) throw new Error(`ring solid ${k}: the glyph ${g} has no solid drawing`);
++ return ` // ${k}: the glyph ${g}\n ${k}: '${q(d)}',`;
++ });
++ return text.slice(0, a) + [RING_BEGIN, ' // The solid drawing of the glyph that stands for each product (24-unit grid, openvibe-shared/glyphs).', ' const SOLID = {', ...rows, ' };', ''].join('\n') + text.slice(b);
}
const BEGIN_PREFIX = ' // BEGIN generated';
const BEGIN = ' // BEGIN generated by scripts/build-navbar-icons.js from nav-icons.js; do not edit by hand';
@@@ -88,18 +110,18 @@ function render(src, iconsText) {
if (missing.length) throw new Error(`navbar.js draws icons nav-icons.js does not have: ${missing.join(', ')}`);
const byWidth = {};
for (const [name, [w]] of Object.entries(all)) {
++ if (w !== 0) throw new Error(`nav-icons.js: ${name} is not an OpenVibe glyph`);
if (own.includes(name)) continue;
(byWidth[w] = byWidth[w] || []).push(name);
}
const rev = crypto.createHash('sha256').update(buf).digest('hex').slice(0, 12);
return [
BEGIN,
-- ' // The glyphs the navbar draws itself: [0, line, solid] is an OpenVibe glyph (24-unit grid); [w, path] a Font',
-- ' // Awesome Free 6 solid glyph (CC BY 4.0, fontawesome.com/license/free) in a 0 0 512 512 viewBox, one ink size. The rest of the set is nav-icons.js.',
++ ' // The glyphs the navbar draws itself: [0, line, solid], OpenVibe glyphs on a 24-unit grid. The rest of the set is nav-icons.js.',
' const NAV_ICONS = {',
-- ...Object.keys(all).filter((n) => own.includes(n)).map((n) => (all[n][0] === 0 ? ` '${n}': [0, '${q(coarse(all[n][1]))}', '${q(coarse(all[n][2] || ''))}'],` : ` '${n}': [${all[n][0]}, '${all[n][1]}'],`)),
++ ...Object.keys(all).filter((n) => own.includes(n)).map((n) => ` '${n}': [0, '${q(coarse(all[n][1]))}', '${q(coarse(all[n][2] || ''))}'],`),
' };',
-- ' // Every other glyph in nav-icons.js, grouped by advance width (sizes its slot before the path arrives); 0 is an OpenVibe glyph.',
++ ' // Every other glyph in nav-icons.js, by width (0: a 24-unit OpenVibe glyph), so its slot has its size before the path arrives.',
' const NAV_ICONS_LAZY = {',
...Object.keys(byWidth).map((w) => ` ${w}: '${byWidth[w].join(' ')}',`),
' };',
@@@ -111,15 +133,19 @@ function render(src, iconsText) {
const check = process.argv.includes('--check');
const iconsWas = fs.readFileSync(ICONS, 'utf8');
const iconsNow = upgraded(iconsWas);
++const oviWas = fs.readFileSync(OV_ICONS, 'utf8');
++const oviNow = ringSolids(oviWas);
const src = fs.readFileSync(NAVBAR, 'utf8');
const { a, b } = block(src);
const next = src.slice(0, a) + render(src, iconsNow) + src.slice(b);
if (check) {
-- if (iconsNow !== iconsWas) { console.error('nav-icons.js has Font Awesome paths the glyphs cover: run node scripts/build-navbar-icons.js'); process.exit(1); }
++ if (iconsNow !== iconsWas) { console.error('nav-icons.js is not the glyphs\' drawings: run node scripts/build-navbar-icons.js'); process.exit(1); }
++ if (oviNow !== oviWas) { console.error('ov-icons.js ring solids are stale: run node scripts/build-navbar-icons.js'); process.exit(1); }
if (next !== src) { console.error('navbar.js icon block is stale: run node scripts/build-navbar-icons.js'); process.exit(1); }
console.log('navbar.js icon block is up to date');
--} else if (next !== src || iconsNow !== iconsWas) {
++} else if (next !== src || iconsNow !== iconsWas || oviNow !== oviWas) {
if (iconsNow !== iconsWas) fs.writeFileSync(ICONS, iconsNow);
++ if (oviNow !== oviWas) fs.writeFileSync(OV_ICONS, oviNow);
fs.writeFileSync(NAVBAR, next);
console.log(`navbar.js: ${ownIcons(src).length} built-in glyphs, the rest load from nav-icons.js`);
} else {
ddiff --git a/scripts/fa-to-ov.js b/scripts/fa-to-ov.js
nnew file mode 100644
iindex 0000000..8b51dd7
---- /dev/null
++++ b/scripts/fa-to-ov.js
@@@ -0,0 +1,137 @@
++#!/usr/bin/env node
++'use strict';
++/**
++ * scripts/fa-to-ov.js — rewrite a repository's Font Awesome icon markup into OpenVibe's own (4.231.0):
++ *
++ * <i class="fa-solid fa-eye me-2"></i> → <i class="ovg-fill me-2" data-ov-icon="eye"></i>
++ * <i class="fa-brands fa-github"></i> → <i data-ov-brand="github"></i>
++ * <i class="fa-solid fa-spinner fa-spin">→ <i class="ovg-fill" data-ov-icon="busy">
++ *
++ * Only a static <i> or <span> start tag whose class names a Font Awesome icon the glyphs map is rewritten, in HTML
++ * and in the markup strings of JS and templates, keeping the attribute's own quote. Everything else is listed for a
++ * person, never guessed:
++ * dynamic a class built at run time (${…}, {{…}}, <%…%>)
++ * manual an animation, a stack, a list or a border (fa-beat, fa-stack, fa-ul …)
++ * unknown a name the glyphs do not have (draw it in glyphs.js, or map it in glyphs.FA)
++ * brand a logo brands.js does not have
++ * js-class a Font Awesome class in a JS string that is not markup (className = 'fa-solid fa-eye', icon: 'fa-eye')
++ * css a stylesheet rule that names a Font Awesome class
++ *
++ * node node_modules/openvibe-shared/scripts/fa-to-ov.js [dir …] what it would change, and the list
++ * node node_modules/openvibe-shared/scripts/fa-to-ov.js --write [dir …] change the files
++ * … --json the same as JSON
++ *
++ * Directories default to public, server, src, apps, views and templates under the current one; node_modules, vendor,
++ * test, tests, .git and generated bundles are skipped. Running it twice changes nothing the second time.
++ */
++const fs = require('fs');
++const path = require('path');
++const glyphs = require('../glyphs');
++const brands = require('../brands');
++
++const EXT = new Set(['.html', '.htm', '.js', '.mjs', '.cjs', '.ts', '.jsx', '.tsx', '.ejs', '.hbs', '.njk', '.vue', '.svelte', '.css']);
++const SKIP_DIRS = new Set(['node_modules', 'vendor', 'test', 'tests', '.git', 'dist', 'build', 'coverage']);
++const DEFAULT_DIRS = ['public', 'server', 'src', 'apps', 'views', 'templates'];
++const TAG = /<(i|span)\b([^<>]*)>/g;
++const CLASS_ATTR = /(\s)class=(["'])([^"'<>]*)\2/;
++const FA_WORD = /(^|\s)(fa|fas|far|fab|fa-[a-z0-9-]+)(?=\s|$)/;
++const DYNAMIC = /\$\{|\{\{|<%|\+\s*['"`]|['"`]\s*\+/;
++
++const lineOf = (text, index) => text.slice(0, index).split('\n').length;
++
++/** One file's text, rewritten: { text, changes: [{ line, from, to }], reports: [{ line, kind, what }] }. */
++function rewrite(text, { css = false } = {}) {
++ const changes = [];
++ const reports = [];
++ if (css) {
++ const re = /\.(fa-[a-z0-9-]+|fa\b|fas\b|far\b|fab\b)/g;
++ let m;
++ const seen = new Set();
++ while ((m = re.exec(text))) {
++ const line = lineOf(text, m.index);
++ if (seen.has(line)) continue;
++ seen.add(line);
++ reports.push({ line, kind: 'css', what: text.split('\n')[line - 1].trim().slice(0, 160) });
++ }
++ return { text, changes, reports };
++ }
++ const out = text.replace(TAG, (tag, name, attrs, offset) => {
++ const cm = CLASS_ATTR.exec(attrs);
++ if (!cm || !FA_WORD.test(cm[3])) {
++ if (/class=/.test(attrs) && /\bfa-[a-z]/.test(attrs) && DYNAMIC.test(attrs)) reports.push({ line: lineOf(text, offset), kind: 'dynamic', what: tag.slice(0, 160) });
++ return tag;
++ }
++ const line = lineOf(text, offset);
++ if (/data-ov-(icon|brand)=/.test(attrs)) return tag;
++ if (DYNAMIC.test(attrs)) { reports.push({ line, kind: 'dynamic', what: tag.slice(0, 160) }); return tag; }
++ const r = glyphs.fromFaClasses(cm[3]);
++ if (r.manual.length) { reports.push({ line, kind: 'manual', what: `${tag.slice(0, 120)} (${r.manual.join(' ')})` }); return tag; }
++ let attr;
++ if (r.brand) {
++ const slug = brands.FA[r.brand] || (brands.BRANDS[r.brand] ? r.brand : null);
++ if (!slug) { reports.push({ line, kind: 'brand', what: `fa-${r.brand}` }); return tag; }
++ attr = `data-ov-brand=${cm[2]}${slug}${cm[2]}`;
++ } else if (r.icon) {
++ attr = `data-ov-icon=${cm[2]}${r.icon}${cm[2]}`;
++ } else {
++ reports.push({ line, kind: 'unknown', what: r.unknown || cm[3] });
++ return tag;
++ }
++ const keep = r.brand ? r.cls.filter((c) => c !== 'ovg-fill') : r.cls;
++ const cls = keep.length ? `${cm[1]}class=${cm[2]}${keep.join(' ')}${cm[2]} ${attr}` : `${cm[1]}${attr}`;
++ const next = `<${name}${attrs.replace(cm[0], cls)}>`;
++ changes.push({ line, from: tag, to: next });
++ return next;
++ });
++ // Font Awesome classes left in JS strings that are not markup (className, classList, icon: 'fa-…').
++ const re = /(['"`])((?:fa|fas|far|fab|fa-[a-z0-9-]+)(?:\s+[a-z0-9-]+)*)\1/g;
++ let m;
++ while ((m = re.exec(out))) {
++ if (!/\bfa-[a-z0-9]/.test(m[2])) continue;
++ const before = out.slice(Math.max(0, m.index - 1), m.index);
++ if (before === '=') continue; // an attribute value inside markup: handled (or reported) above
++ reports.push({ line: lineOf(out, m.index), kind: 'js-class', what: m[0].slice(0, 120) });
++ }
++ return { text: out, changes, reports };
++}
++
++function walk(dir, files) {
++ let entries;
++ try { entries = fs.readdirSync(dir, { withFileTypes: true }); } catch { return files; }
++ for (const e of entries) {
++ if (e.isDirectory()) { if (!SKIP_DIRS.has(e.name) && !e.name.startsWith('.')) walk(path.join(dir, e.name), files); continue; }
++ if (!e.isFile() || !EXT.has(path.extname(e.name))) continue;
++ if (/\.min\.(js|css)$|\.bundle\.js$/.test(e.name)) continue;
++ files.push(path.join(dir, e.name));
++ }
++ return files;
++}
++
++function run(argv) {
++ const write = argv.includes('--write');
++ const json = argv.includes('--json');
++ const dirs = argv.filter((a) => !a.startsWith('--'));
++ const roots = (dirs.length ? dirs : DEFAULT_DIRS).filter((d) => fs.existsSync(d));
++ const result = { changed: 0, files: [], reports: [] };
++ for (const file of roots.flatMap((d) => walk(d, []))) {
++ const text = fs.readFileSync(file, 'utf8');
++ if (!/\bfa[sbr]?\b|fa-[a-z]/.test(text)) continue;
++ const r = rewrite(text, { css: path.extname(file) === '.css' });
++ for (const rep of r.reports) result.reports.push({ file, ...rep });
++ if (!r.changes.length) continue;
++ result.changed += r.changes.length;
++ result.files.push({ file, changes: r.changes.length });
++ if (write) fs.writeFileSync(file, r.text);
++ }
++ if (json) { console.log(JSON.stringify(result, null, 1)); return result; }
++ console.log(`${write ? 'rewrote' : 'would rewrite'} ${result.changed} icons in ${result.files.length} files`);
++ for (const f of result.files) console.log(` ${f.file}: ${f.changes}`);
++ const kinds = {};
++ for (const r of result.reports) kinds[r.kind] = (kinds[r.kind] || 0) + 1;
++ console.log(`for a person: ${result.reports.length}${Object.keys(kinds).length ? ` (${Object.entries(kinds).map(([k, n]) => `${k} ${n}`).join(', ')})` : ''}`);
++ for (const r of result.reports) console.log(` ${r.file}:${r.line} ${r.kind}: ${r.what}`);
++ return result;
++}
++
++if (require.main === module) run(process.argv.slice(2));
++module.exports = { rewrite, run };
ddiff --git a/scripts/icon-ink.js b/scripts/icon-ink.js
iindex d2f8226..b5c76e7 100644
---- a/scripts/icon-ink.js
++++ b/scripts/icon-ink.js
@@@ -19,9 +19,8 @@
* node scripts/icon-ink.js --sheets DIR before/after contact sheets at 32/44/56/96 px
* node scripts/icon-ink.js --tile-demo DIR one tile at painted fractions 0.50/0.58/0.64 + before
*
-- * The sets: ovi-line and ovi-solid (ov-icons.js, the ring icons; the solids are Font Awesome outlines
-- * written by scripts/build-nav-icons.py, normalised here by the same rule that change adds to that
-- * generator), glyphs-line and glyphs-solid (glyphs.js, the network's own set), kit-line (kit.js, whose
++ * The sets: ovi-line (ov-icons.js, the ring icons' line drawings; their solids are glyph solids since
++ * 4.231.0, measured with glyphs-solid), glyphs-line and glyphs-solid (glyphs.js, the network's own set), kit-line (kit.js, whose
* drawings join the glyph registry). Measured but never rewritten: brands (third-party marks, not ours
* to redraw), home-local and search-local (one-off chrome, not sets), appicon (the one installable mark,
* centred by construction). nav-icons.js is not measured separately: every entry is a glyphs.js drawing
@@@ -46,7 +45,7 @@ const COM_PULL = 0.015;
const r4 = (n) => Math.round(n * 10000) / 10000;
/**
-- * A coordinate: one decimal, no trailing zeros, never -0. Shared with build-nav-icons.py.
++ * A coordinate: one decimal, no trailing zeros, never -0.
*
* One decimal is 0.42% of a 24-box — under half a pixel at the 96 px the measurement rasterises at,
* and a tenth of the test's 4% size bound. The PAINTED SIZE is what lands on the half-unit grid (see
@@@ -263,7 +262,6 @@ const unquote = (e) => new Function(`return (${e});`)();
const SETS = {
'ovi-line': { box: [24, 24], sw: 1.7, norm: true, label: 'ov-icons line (24-unit strokes)' },
-- 'ovi-solid': { box: [512, 512], sw: 0, norm: true, label: 'ov-icons solid (Font Awesome outlines)' },
'glyphs-line': { box: [24, 24], sw: 2, norm: true, label: 'glyphs line (24-unit strokes)' },
'glyphs-solid': { box: [24, 24], sw: 0, norm: true, label: 'glyphs solid (filled twins)' },
'kit-line': { box: [24, 24], sw: 2, norm: true, label: 'kit line (24-unit strokes)' },
@@@ -273,14 +271,13 @@ const SETS = {
'appicon': { box: 'png', sw: 0, norm: false, label: 'installable mark (measured only)' },
};
--/** ov-icons.js from a source string: line markup and [w, d] solids per name, with entry offsets. */
++/** ov-icons.js from a source string: line markup per name, with entry offsets. */
function loadOvi(src) {
const P = (d) => `<path d="${d}"/>`;
const line = {}, solid = {};
const lineEntries = scanEntries(src, 'GLYPHS');
for (const e of lineEntries) line[e.key] = new Function('P', `return (${e.expr});`)(P);
-- const solidEntries = scanEntries(src, 'SOLID');
-- for (const e of solidEntries) { const [w, d] = unquote(e.expr); solid[e.key] = { w, d }; }
++ const solidEntries = []; // the ring solids are glyph solids (4.231.0), measured with glyphs-solid
return { line, solid, lineEntries, solidEntries };
}
@@@ -343,15 +340,6 @@ function buildItems(rootDir, onlySet) {
const dots = '<style>circle[r=".6"],circle[r=".7"]{fill:#000;stroke:none}</style>';
push(`ovi-line/${n}`, stroked(d, 1.7, dots), PX, PX);
}
-- if (want('ovi-solid')) for (const [n, { w, d }] of Object.entries(ovi.solid)) {
-- // A Font Awesome glyph's path data lives in the 0..512 square; only the DECLARED advance width varies
-- // (384..640), and ov-icons.js crops the drawing to `0 0 <w> 512`. So the fraction of the icon's own
-- // box the ink fills says nothing about the painted size: two glyphs that paint the same area read
-- // 0.633 (a 640 advance) and 0.790 (a 512 advance). Production maps the solid with `scale(24/512)`, so
-- // equal ink in the 512 reference is equal painted size in the 24-box. Measure the ink against the
-- // square 512 canvas the path data is drawn in.
-- push(`ovi-solid/${n}`, `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" width="${PX}" height="${PX}"><path d="${d}" fill="#000"/></svg>`, PX, PX);
-- }
if (want('glyphs-line')) for (const [n, d] of Object.entries(gl)) push(`glyphs-line/${n}`, stroked(d, 2), PX, PX);
if (want('glyphs-solid')) for (const [n, d] of Object.entries(gs)) {
// A solid drawing may carry a part that stays a line (class "ln"), stroked at 2.6: that stroke
@@@ -761,14 +749,12 @@ async function cmdNormalise(targetFlag) {
const h = require(path.join(ROOT, 'browser-harness.js'));
fs.writeFileSync(BEFORE, JSON.stringify({ generated: new Date().toISOString(), chrome: h.findChrome(), px: PX, note: 'pre-normalisation', sets: before }, null, 1) + '\n');
const pool = [];
-- for (const s of ['ovi-line', 'ovi-solid', 'glyphs-line', 'glyphs-solid', 'kit-line']) for (const r of Object.values(before[s].icons)) pool.push(Math.max(...r.ink));
++ for (const s of ['ovi-line', 'glyphs-line', 'glyphs-solid', 'kit-line']) for (const r of Object.values(before[s].icons)) pool.push(Math.max(...r.ink));
const target = targetFlag ? Number(targetFlag) : Math.round(median(pool) * 100) / 100;
console.log(`target: ${target} of box (pooled median ${median(pool).toFixed(4)} over ${pool.length} drawings)`);
// ── normalise, then rebuild, then measure again, until it settles ──
-- // The Font Awesome solids are NOT rewritten here: they are generated, and scripts/build-nav-icons.py
-- // normalises them into the 512 square with the same rule (ink at the target, centred on 256,256).
-- // Rewriting a generated file by hand would be undone by the next generator run.
++ // The ring icons' solids are not rewritten here: scripts/build-navbar-icons.js copies them from the glyphs.
const run = (cmd, args) => execFileSync(cmd, args, { cwd: ROOT, stdio: 'inherit' });
const rebuild = () => {
run(process.execPath, ['scripts/build-glyphs.js']);
ddiff --git a/test/fa-to-ov.test.js b/test/fa-to-ov.test.js
nnew file mode 100644
iindex 0000000..37346d0
---- /dev/null
++++ b/test/fa-to-ov.test.js
@@@ -0,0 +1,55 @@
++'use strict';
++// scripts/fa-to-ov.js (4.231.0): a repository's Font Awesome markup becomes OpenVibe's own, and what it cannot decide
++// is listed for a person, never guessed. Also glyphs.markup() and the ring icons' solids (no Font Awesome outline left).
++const assert = require('assert');
++const fs = require('fs');
++const path = require('path');
++const { rewrite } = require('../scripts/fa-to-ov');
++const glyphs = require('../glyphs');
++
++const one = (s) => rewrite(s).text;
++
++// Static markup, any attribute order, the attribute's own quote kept.
++assert.strictEqual(one('<i class="fa-solid fa-eye"></i>'), '<i class="ovg-fill" data-ov-icon="eye"></i>');
++assert.strictEqual(one('<i class="fa-regular fa-eye me-2" title="Watch"></i>'), '<i class="me-2" data-ov-icon="eye" title="Watch"></i>');
++assert.strictEqual(one("html += '<span aria-hidden=\"true\" class=\"fa-solid fa-tower-broadcast\"></span>';"), "html += '<span aria-hidden=\"true\" class=\"ovg-fill\" data-ov-icon=\"live\"></span>';");
++assert.strictEqual(one("el.innerHTML = \"<i class='fa-solid fa-xmark fa-fw'></i>\";"), "el.innerHTML = \"<i class='ovg-fill ovg-fw' data-ov-icon='close'></i>\";");
++assert.strictEqual(one('<i class="fa-brands fa-github"></i>'), '<i data-ov-brand="github"></i>');
++assert.strictEqual(one('<i class="fa-brands fa-x-twitter"></i>'), '<i data-ov-brand="x"></i>');
++assert.strictEqual(one('<i class="fa-solid fa-spinner fa-spin"></i>'), '<i class="ovg-fill" data-ov-icon="busy"></i>');
++assert.strictEqual(one('<i class="fa-solid fa-arrow-rotate-left"></i>'), '<i class="ovg-fill" data-ov-icon="undo"></i>', 'a name that drew nothing before 4.231.0');
++
++// What it leaves for a person.
++const kinds = (s) => rewrite(s).reports.map((r) => r.kind);
++assert.deepStrictEqual(kinds('<i class="fa-solid fa-${name}"></i>'), ['dynamic']);
++assert.deepStrictEqual(kinds('<i class="fa-solid fa-heart fa-beat"></i>'), ['manual']);
++assert.deepStrictEqual(kinds('<i class="fa-solid fa-xyzzy"></i>'), ['unknown']);
++assert.deepStrictEqual(kinds("btn.className = 'fa-solid fa-eye';"), ['js-class']);
++assert.deepStrictEqual(kinds("links.push({ icon: 'fa-house', href: '/' });"), ['js-class']);
++assert.strictEqual(rewrite('.card .fa-solid { color: red }\n.x { }', { css: true }).reports[0].kind, 'css');
++assert.strictEqual(one('<i class="fa-solid fa-${name}"></i>'), '<i class="fa-solid fa-${name}"></i>', 'a dynamic class is left as it is');
++
++// Twice changes nothing the second time; markup that is already OpenVibe's is left alone.
++const once = one('<p><i class="fa-solid fa-gear"></i> Settings <span class="fa-regular fa-bell"></span></p>');
++assert.strictEqual(one(once), once);
++assert.ok(!/fa-/.test(once), once);
++assert.strictEqual(one('<i class="note" data-ov-icon="eye"></i>'), '<i class="note" data-ov-icon="eye"></i>');
++assert.strictEqual(one('<i class="italic">fa-solid is a word here</i>'), '<i class="italic">fa-solid is a word here</i>');
++
++// glyphs.markup: OpenVibe's own markup for a server; nothing for a name the glyphs do not have.
++assert.strictEqual(glyphs.markup('live'), '<i data-ov-icon="live" aria-hidden="true"></i>');
++assert.strictEqual(glyphs.markup('live', { title: 'Live now', cls: 'ovg-lg' }), '<i data-ov-icon="live" class="ovg-lg" title="Live now"></i>');
++assert.strictEqual(glyphs.markup('no-such-glyph'), '');
++
++// No Font Awesome outline is left in what Shared ships: the ring icons' solids are glyph solids, the bar's set is the
++// glyphs, and the generator that read Font Awesome's font is gone.
++const ROOT = path.join(__dirname, '..');
++const ovIcons = fs.readFileSync(path.join(ROOT, 'ov-icons.js'), 'utf8');
++assert.ok(!/Font Awesome/i.test(ovIcons), 'ov-icons.js names no Font Awesome drawing');
++assert.ok(!/scale\(0\.04688\)/.test(ovIcons), 'no 512-grid solid is scaled into the ring');
++const navIcons = require('../nav-icons.js');
++for (const [name, entry] of Object.entries(navIcons)) assert.strictEqual(entry[0], 0, `${name} is an OpenVibe glyph`);
++assert.ok(!fs.existsSync(path.join(ROOT, 'scripts', 'build-nav-icons.py')), 'the generator that read fa-solid-900.woff2 is gone');
++assert.ok(!/fontawesome|font-awesome/i.test(fs.readFileSync(path.join(ROOT, 'navbar.js'), 'utf8')), 'navbar.js loads nothing of Font Awesome');
++
++console.log('fa-to-ov: static markup becomes data-ov-icon / data-ov-brand (quotes kept, twice is once); dynamic, manual, unknown, JS classes and CSS rules are listed; glyphs.markup; no Font Awesome outline left in ov-icons.js or the bar');
ddiff --git a/test/ov-glyphs-native-chrome.test.js b/test/ov-glyphs-native-chrome.test.js
nnew file mode 100644
iindex 0000000..29c974d
---- /dev/null
++++ b/test/ov-glyphs-native-chrome.test.js
@@@ -0,0 +1,74 @@
++'use strict';
++// OpenVibe's own icon markup (4.231.0) in a real headless Chrome: <i data-ov-icon> draws its glyph, takes a size
++// class, changes when its name changes, draws nothing for a name the glyphs lack; <i data-ov-brand> draws a logo from
++// brands.js; OVGlyphs.icon() makes one in script; Font Awesome markup still draws while sites move. The ring icons'
++// solids are glyph drawings on the 24 grid (no 512 square scaled in).
++const assert = require('node:assert/strict');
++const fs = require('node:fs');
++const os = require('node:os');
++const path = require('node:path');
++const http = require('node:http');
++const h = require('../browser-harness');
++
++if (process.env.OV_SKIP_BROWSER === '1' || !h.findChrome()) { console.log('ov-glyphs-native-chrome: skipped (no Chrome; set CHROME_BIN)'); process.exit(0); }
++const root = path.join(__dirname, '..');
++const files = { '/ov-glyphs.js': 'ov-glyphs.js', '/brands.js': 'brands.js', '/ov-icons.js': 'ov-icons.js' };
++const server = http.createServer((req, res) => {
++ const u = req.url.split('?')[0];
++ if (files[u]) { res.writeHead(200, { 'content-type': 'application/javascript' }); return res.end(fs.readFileSync(path.join(root, files[u]))); }
++ res.writeHead(200, { 'content-type': 'text/html' });
++ res.end(`<!doctype html><meta charset="utf-8"><body style="margin:0;padding:16px;font-size:16px;color:#123456;background:#fff">
++<i id="a" data-ov-icon="live"></i>
++<i id="b" data-ov-icon="eye" class="ovg-2x" title="Watching"></i>
++<i id="c" data-ov-icon="no-such-glyph"></i>
++<i id="d" data-ov-brand="github"></i>
++<i id="e" class="fa-solid fa-tower-broadcast"></i>
++<span id="f" class="ov-icon" data-icon="live" data-size="48"></span>
++<script src="/ov-glyphs.js"></script><script src="/ov-icons.js"></script>`);
++});
++
++(async () => {
++ await new Promise((ok) => server.listen(0, '127.0.0.1', ok));
++ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'ov-glyphs-native-'));
++ const browser = await h.launch({ tmpDir });
++ try {
++ const page = await h.openPage(browser, await browser.newContext(), { width: 390, height: 700 });
++ await page.goto(`http://127.0.0.1:${server.address().port}/`, { maxMs: 5000 });
++ const wait = (ms) => new Promise((r) => setTimeout(r, ms));
++ const look = (sel) => page.evaluate(`(() => { const e = document.querySelector(${JSON.stringify(sel)}); const r = e.getBoundingClientRect(); const s = e.querySelector('svg');
++ return { svg: !!s, kids: s ? s.childElementCount : 0, w: Math.round(r.width), ovg: e.dataset.ovg || null, cls: e.className, hidden: e.getAttribute('aria-hidden'), label: e.getAttribute('aria-label'), color: s ? getComputedStyle(s).stroke : null }; })()`);
++ await wait(150);
++ const a = await look('#a');
++ assert.equal(a.svg, true, 'data-ov-icon draws its glyph');
++ assert.equal(a.ovg, 'live');
++ assert.equal(a.hidden, 'true', 'an icon without a title is hidden from screen readers');
++ assert.equal(a.color, 'rgb(18, 52, 86)', 'in the text\'s colour');
++ const b = await look('#b');
++ assert.equal(b.ovg, 'eye');
++ assert.equal(b.w, Math.round(16 * 2 * 1.15), 'ovg-2x doubles it');
++ assert.equal(b.label, 'Watching', 'a title names it');
++ const c = await look('#c');
++ assert.equal(c.svg, false, 'a name the glyphs do not have draws nothing');
++ const e = await look('#e');
++ assert.equal(e.ovg, 'live', 'Font Awesome markup still draws its glyph while sites move');
++ // A changed name redraws; script makes one.
++ await page.evaluate(`document.querySelector('#a').setAttribute('data-ov-icon', 'bell')`);
++ await wait(100);
++ assert.equal((await look('#a')).ovg, 'bell', 'a changed name redraws');
++ const made = await page.evaluate(`(() => { const el = OVGlyphs.icon('gear', { title: 'Settings' }); document.body.appendChild(el); return { ovg: el.dataset.ovg, svg: !!el.querySelector('svg'), label: el.getAttribute('aria-label'), html: OVGlyphs.html('gear'), has: OVGlyphs.has('gear') && !OVGlyphs.has('nope') }; })()`);
++ assert.deepEqual(made, { ovg: 'gear', svg: true, label: 'Settings', html: '<i data-ov-icon="gear" aria-hidden="true"></i>', has: true }, 'OVGlyphs.icon, .html and .has');
++ // The logo arrives once brands.js has loaded.
++ let d = null;
++ for (let i = 0; i < 30 && !(d && d.svg); i++) { await wait(100); d = await look('#d'); }
++ assert.equal(d.svg, true, 'data-ov-brand draws the logo');
++ assert.equal(d.ovg, 'brand:github');
++ // The ring icon's solid is the glyph's own drawing, unscaled.
++ const ring = await page.evaluate(`(() => { const f = document.querySelector('#f'); const g = f.querySelector('.ovi-glyph--solid'); return { solid: !!g, scaled: !!(g && g.querySelector('g[transform*="scale"]')), paths: g ? g.querySelectorAll('path,circle').length : 0 }; })()`);
++ if (ring.solid) assert.deepEqual([ring.scaled, ring.paths > 0], [false, true], 'a ring solid is a glyph drawing on the 24 grid');
++ console.log('ov-glyphs-native-chrome: data-ov-icon draws (size, title, colour, rename, unknown draws nothing), data-ov-brand draws a logo, OVGlyphs.icon/html/has, Font Awesome markup still drawn, ring solids are glyphs');
++ } finally {
++ await browser.close().catch(() => {});
++ server.close();
++ fs.rmSync(tmpDir, { recursive: true, force: true });
++ }
++})().catch((e) => { console.error(e); process.exit(1); });
ddiff --git a/test/sibling-revs.test.js b/test/sibling-revs.test.js
iindex e728898..3884d85 100644
---- a/test/sibling-revs.test.js
++++ b/test/sibling-revs.test.js
@@@ -11,7 +11,7 @@ const src = fs.readFileSync(path.join(__dirname, '..', 'navbar.js'), 'utf8');
assert.ok(src.includes(line(revs())), 'SIBLING_REV is current: run node scripts/sibling-revs.js');
assert.ok(/const siblingV = \(name\) => `\$\{sibling\(name\)\}\$\{SIBLING_REV\[name\] \? `\?v=\$\{SIBLING_REV\[name\]\}` : ''\}`;/.test(src), 'siblingV adds the hash');
assert.ok(src.includes("sc.src = siblingV('ov-mark.js')") && src.includes("url(${siblingV('ov-brand.woff2')})") && src.includes("sc.src = siblingV('ov-glyphs.js')"), 'the mark, the face and the glyphs load by hash');
--assert.ok(/GLYPH_ICONS = 'i\[class\*="fa-"\]/.test(src), 'the glyphs load where Font Awesome is used, unless a site says glyphs: false');
++assert.ok(/GLYPH_ICONS = '\[data-ov-icon\],\[data-ov-brand\],i\[class\*="fa-"\]/.test(src), 'the glyphs load where an icon is shown (data-ov-icon, data-ov-brand, or a Font Awesome name), unless a site says glyphs: false');
assert.ok(/glyphWatch = new MutationObserver[\s\S]{0,300}glyphWatch\.disconnect\(\)/.test(src), 'and when the page adds its first icon later, then the watch ends');
assert.ok(/_config\.glyphs !== false\) watchGlyphs\(\)/.test(src), 'the render only asks; the one watch lives outside it (a Boost page move re-renders the bar)');
// 4.137.0 (2026-11-07): every script the navbar, the Dock and the notifications load from beside themselves goes by its