Compare commits

...

17 Commits

Author SHA1 Message Date
mononaut
76dd7cbd71
Merge pull request #43 from mempool/mononaut/add-noderunners
Some checks failed
SVG Check / Validate SVG logos (push) Has been cancelled
Add Noderunners
2026-04-09 11:34:15 +09:00
Mononaut
e710f6728d
Add Noderunners
Some checks failed
SVG Check / Validate SVG logos (push) Has been cancelled
2026-04-09 02:29:35 +00:00
mononaut
5d15c722c6
Merge pull request #42 from mempool/natsoni/add-light-theme-logos
Add logo variants for light background support
2026-03-30 12:13:24 +09:00
natsoni
4e1eca22ca
Add .light.svg logo variants for light background support
Some checks failed
SVG Check / Validate SVG logos (push) Has been cancelled
2026-03-27 17:04:03 +09:00
wiz
3d6973c73c
Merge pull request #41 from mempool/mononaut/add-solopool 2026-03-18 12:21:18 +09:00
Mononaut
0b80cc2b96
Add SoloPool
Some checks failed
SVG Check / Validate SVG logos (push) Has been cancelled
2026-03-16 02:29:52 +00:00
mononaut
946e497409
Merge pull request #40 from mempool/orangesurf/add-braiins-solo
Add braiins solo
2026-02-24 22:45:35 +09:00
orangesurf
ce1eb7aab2
Add braiins solo
Some checks failed
SVG Check / Validate SVG logos (push) Has been cancelled
2026-02-24 13:57:17 +01:00
wiz
01e01b6349
Merge pull request #39 from mempool/knorrium/block_external_links 2026-01-04 11:44:33 -10:00
Felipe Knorr Kuhn
291b629411
Block external links 2026-01-04 13:39:14 -08:00
wiz
89844ba6a4
Merge pull request #38 from mempool/knorrium/refactor_validator 2026-01-04 11:25:36 -10:00
Felipe Knorr Kuhn
15f9ca9388
Refactor validation script to use dompurify 2026-01-04 08:34:52 -08:00
wiz
537f5c71d4
Merge pull request #37 from mempool/orangesurf/auto-review-tag
Set review needed automatically
2025-12-10 01:01:07 +09:00
orangesurf
cde352c9d1
Set review needed automatically 2025-12-09 18:25:21 +09:00
softsimon
c024a122a4
Merge pull request #36 from mempool/simon/add-gdpool-logo
add GDPool logo
2025-11-26 11:43:30 +09:00
softsimon
631a6ac9d1
add GDPool logo 2025-11-26 11:28:27 +09:00
wiz
7232533ad1
Merge pull request #35 from mempool/mononaut/add-est3lar 2025-10-29 20:58:25 +08:00
17 changed files with 1242 additions and 22 deletions

View File

@ -0,0 +1,84 @@
# Workflow: Automatically set project status to "Review Needed" when a reviewer is requested
name: Set Project Status on Review Request
# Trigger: Runs whenever a reviewer is requested on a pull request
on:
pull_request:
types: [review_requested]
jobs:
update-project-status:
runs-on: ubuntu-latest
steps:
- name: Update Project Status to Review Needed
uses: actions/github-script@v7
with:
# Use the PAT stored in repository secrets (has project write access)
github-token: ${{ secrets.PROJECT_TOKEN }}
script: |
// GraphQL query to find the PR's project items
// This fetches all projects the PR is linked to
const query = `
query($owner: String!, $repo: String!, $pr: Int!) {
repository(owner: $owner, name: $repo) {
pullRequest(number: $pr) {
projectItems(first: 10) {
nodes {
id
project {
number
}
}
}
}
}
}
`;
// Execute the query with current repo/PR context
const result = await github.graphql(query, {
owner: context.repo.owner,
repo: context.repo.repo,
pr: context.payload.pull_request.number
});
// Find the project item that belongs to project #8
const projectItems = result.repository.pullRequest.projectItems.nodes;
const projectItem = projectItems.find(item => item.project.number === 8);
// Exit early if PR isn't in project #8
if (!projectItem) {
console.log('PR is not in project #8, skipping...');
return;
}
// GraphQL mutation to update the Status field
const mutation = `
mutation($projectId: ID!, $itemId: ID!, $fieldId: ID!, $optionId: String!) {
updateProjectV2ItemFieldValue(
input: {
projectId: $projectId
itemId: $itemId
fieldId: $fieldId
value: { singleSelectOptionId: $optionId }
}
) {
projectV2Item {
id
}
}
}
`;
// Execute the mutation using IDs stored in repository variables
// PROJECT_ID: The project's unique identifier
// STATUS_FIELD_ID: The "Status" field's unique identifier
// REVIEW_NEEDED_OPTION_ID: The "Review Needed" option's unique identifier
await github.graphql(mutation, {
projectId: "${{ secrets.PROJECT_ID }}",
itemId: projectItem.id,
fieldId: "${{ secrets.STATUS_FIELD_ID }}",
optionId: "${{ secrets.REVIEW_NEEDED_OPTION_ID }}"
});
console.log('Successfully updated project status to Review Needed');

View File

@ -15,6 +15,13 @@ jobs:
- name: Checkout
uses: actions/checkout@v2
- name: Check for script in SVG logos
run : |
sh check_logos.sh
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm install
- name: Check for unsafe content in SVG logos
run: node check_logos.js

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules/

10
braiinssolo.svg Normal file
View File

@ -0,0 +1,10 @@
<svg width="512" height="512" viewBox="0 0 512 512" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M489.391 179.802L488.38 334.998C488.152 370.111 469.208 402.435 438.685 419.793L303.774 496.517C273.25 513.876 235.784 513.632 205.49 495.876L71.5914 417.401C41.2952 399.647 22.7736 367.078 23.0021 331.965L24.0129 176.769C24.2414 141.656 43.1851 109.333 73.7098 91.9741L208.621 15.2504C239.145 -2.10867 276.611 -1.86514 306.905 15.8909L440.804 94.3661C471.098 112.12 489.62 144.688 489.39 179.802H489.391Z" fill="#009DA7"/>
<path d="M228.623 415.864C228.409 448.554 205.225 461.666 177.101 445.001L100.426 399.568C72.3011 382.903 49.4642 342.521 49.6778 309.832L50.2699 218.983C50.4834 186.293 73.6672 173.181 101.792 189.846L178.467 235.28C206.591 251.945 229.428 292.326 229.215 325.016L228.623 415.864Z" fill="#002A2D"/>
<path d="M308.917 201.892C279.965 218.51 232.787 218.174 204.073 201.144L125.536 154.559C96.8243 137.529 97.0199 109.998 125.972 93.3773L204.767 48.145C233.719 31.5265 280.897 31.8629 309.61 48.8927L388.148 95.478C416.859 112.508 416.664 140.039 387.712 156.659L308.917 201.892Z" fill="#002A2D"/>
<path d="M461.321 312.568C461.109 345.012 437.924 384.789 409.799 400.964L333.119 445.06C304.993 461.235 282.154 447.922 282.366 415.477L282.953 325.313C283.165 292.868 306.351 253.091 334.475 236.916L411.155 192.821C439.282 176.646 462.12 189.958 461.908 222.403L461.321 312.568Z" fill="#002A2D"/>
<path d="M300.086 155.657L315.017 164.363L298.935 173.555L284.005 164.85L269.386 173.207L173.067 117.046L187.685 108.689L172.755 99.9839L188.836 90.7915L203.767 99.4969L213.561 93.8973L198.631 85.1919L214.712 75.9995L230.083 84.9618C244.705 78.9703 261.09 80.0828 274.264 87.764C287.584 95.5303 287.299 102.286 276.192 110.496L277.071 111.008C291.107 103.83 306.903 102.574 321.981 111.366C336.766 119.987 338.683 132.752 325.964 140.867L340.894 149.572L324.813 158.765L309.883 150.059L300.088 155.659L300.086 155.657ZM258.493 113.85C264.049 110.674 264.482 107.045 258.92 103.802L254.089 100.986C248.526 97.7421 242.236 97.9573 236.68 101.133L211.681 115.423L233.492 128.14L258.491 113.85H258.493ZM301.085 134.634C306.64 131.458 307.075 127.66 301.512 124.417L296.682 121.601C291.119 118.357 284.535 118.571 278.981 121.747L250.474 138.043L272.577 150.93L301.085 134.634Z" fill="white"/>
<path d="M128.747 280.165C128.679 297.16 116.719 304.001 102.036 295.444C87.3506 286.887 75.5027 266.174 75.5711 249.178C75.6395 232.183 87.5992 225.342 102.283 233.899C116.968 242.456 128.816 263.17 128.747 280.165Z" fill="#009DA7"/>
<path d="M196.125 387.141C196.057 404.137 184.097 410.977 169.414 402.42C154.729 393.863 142.881 373.15 142.949 356.154C143.017 339.159 154.977 332.318 169.661 340.875C184.346 349.432 196.194 370.146 196.125 387.141Z" fill="#009DA7"/>
<path d="M399.028 303.652C398.96 320.659 386.938 341.291 372.176 349.734C357.414 358.178 345.503 351.237 345.572 334.232C345.64 317.225 357.661 296.593 372.423 288.149C387.185 279.706 399.097 286.647 399.028 303.652Z" fill="#009DA7"/>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

119
check_logos.js Executable file
View File

@ -0,0 +1,119 @@
#!/usr/bin/env node
import fs from 'fs';
import path from 'path';
import { JSDOM } from 'jsdom';
import createDOMPurify from 'dompurify';
let foundUnsafe = false;
const files = fs.readdirSync('.')
.filter(file => file.endsWith('.svg'))
.filter(file => fs.statSync(file).isFile());
if (files.length === 0) {
console.log('No SVG files found');
process.exit(0);
}
for (const file of files) {
try {
const svgContent = fs.readFileSync(file, 'utf8');
const dom = new JSDOM('<!DOCTYPE html>');
const DOMPurify = createDOMPurify(dom.window);
const cleanSVG = DOMPurify.sanitize(svgContent, {
USE_PROFILES: { svg: true },
KEEP_CONTENT: true
});
const issues = [];
const scriptMatches = svgContent.match(/<script[\s>][\s\S]*?<\/script>/gi);
if (scriptMatches) {
issues.push(`Found ${scriptMatches.length} script tag(s)`);
}
const eventHandlers = svgContent.match(/\s(on\w+)\s*=/gi);
if (eventHandlers) {
const uniqueHandlers = [...new Set(eventHandlers.map(h => h.trim().toLowerCase()))];
issues.push(`Found event handlers: ${uniqueHandlers.join(', ')}`);
}
if (/javascript:/gi.test(svgContent)) {
issues.push('Found javascript: URLs');
}
const originalDOM = new JSDOM(svgContent, { contentType: 'image/svg+xml' });
const sanitizedDOM = new JSDOM(cleanSVG, { contentType: 'image/svg+xml' });
const externalUrlPattern = /^(https?|ftp):\/\//i;
const imageElements = originalDOM.window.document.querySelectorAll('image');
const useElements = originalDOM.window.document.querySelectorAll('use');
imageElements.forEach((img, index) => {
const href = img.getAttribute('href') || img.getAttribute('xlink:href');
if (href && externalUrlPattern.test(href.trim())) {
issues.push(`Found external URL in image element: ${href}`);
}
});
useElements.forEach((use, index) => {
const href = use.getAttribute('href') || use.getAttribute('xlink:href');
if (href && externalUrlPattern.test(href.trim())) {
issues.push(`Found external URL in use element: ${href}`);
}
});
const originalScripts = originalDOM.window.document.querySelectorAll('script');
const sanitizedScripts = sanitizedDOM.window.document.querySelectorAll('script');
if (originalScripts.length > sanitizedScripts.length) {
issues.push(`DOMPurify removed ${originalScripts.length - sanitizedScripts.length} script element(s)`);
}
const allElements = originalDOM.window.document.querySelectorAll('*');
let eventHandlerCount = 0;
allElements.forEach(el => {
Array.from(el.attributes).forEach(attr => {
if (attr.name.toLowerCase().startsWith('on')) {
eventHandlerCount++;
}
});
});
if (eventHandlerCount > 0 && issues.length === 0) {
const sanitizedAllElements = sanitizedDOM.window.document.querySelectorAll('*');
let sanitizedEventHandlerCount = 0;
sanitizedAllElements.forEach(el => {
Array.from(el.attributes).forEach(attr => {
if (attr.name.toLowerCase().startsWith('on')) {
sanitizedEventHandlerCount++;
}
});
});
if (eventHandlerCount > sanitizedEventHandlerCount) {
issues.push(`DOMPurify removed ${eventHandlerCount - sanitizedEventHandlerCount} event handler attribute(s)`);
}
}
if (issues.length > 0) {
console.log(`Unsafe content found in: ${file}`);
issues.forEach(issue => console.log(` - ${issue}`));
foundUnsafe = true;
}
} catch (error) {
console.error(`Error processing ${file}: ${error.message}`);
foundUnsafe = true;
}
}
if (foundUnsafe) {
process.exit(1);
} else {
console.log('No unsafe content found in SVG files');
process.exit(0);
}

View File

@ -1,19 +0,0 @@
#!/bin/bash
found_js=false
for file in *.svg; do
[ -f "$file" ] || continue
if grep -i -E 'script' "$file" > /dev/null; then
echo "Javascript found in: $file"
found_js=true
fi
done
if [ "$found_js" = true ]; then
exit 1
else
echo "No script tags found in SVG files"
exit 0
fi

1
default.light.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="5.12 2.8 15.98 18.27"> <path d="M12.101 2.90055C12.2146 2.83225 12.3508 2.8119 12.4794 2.84399L15.8755 3.69071C16.1324 3.75477 16.2929 4.00688 16.2467 4.26372C18.6108 5.37088 20.3713 7.19467 21.0609 9.24662C21.1343 9.46479 21.0492 9.70483 20.8548 9.82812C20.6605 9.95141 20.4071 9.9261 20.2409 9.7668C19.0305 8.60617 17.4469 7.59561 15.5992 6.86542L15.5744 6.96513C15.5423 7.0938 15.4604 7.20446 15.3467 7.27276C15.2331 7.34106 15.0969 7.3614 14.9683 7.32932L14.4831 7.20836L13.5759 10.847C13.8439 10.9138 14.0069 11.1851 13.9401 11.4531L11.6418 20.6709C11.6098 20.7996 11.5279 20.9102 11.4142 20.9785C11.3005 21.0468 11.1644 21.0672 11.0357 21.0351L8.60999 20.4303C8.34205 20.3635 8.179 20.0921 8.24581 19.8242L10.5441 10.6064C10.5761 10.4777 10.658 10.367 10.7717 10.2987C10.8854 10.2304 11.0215 10.2101 11.1502 10.2422L12.0574 6.60356L11.5722 6.48259C11.3043 6.41579 11.1412 6.14443 11.208 5.87649L11.2329 5.77678C9.25866 5.55406 7.38598 5.70288 5.77237 6.15943C5.5509 6.22209 5.31527 6.12547 5.20155 5.92537C5.08782 5.72527 5.12539 5.47339 5.29255 5.31518C6.86478 3.82713 9.27548 3.04332 11.8826 3.17562C11.9196 3.06091 11.997 2.96302 12.101 2.90055Z" fill="#707070"></path> </svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

1
foundryusa.light.svg Normal file
View File

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" id="b" data-name="Layer 2" style="zoom: 1;" viewBox="0 0 32 76"><defs><style>.d { fill: #000; } .e { fill: #ff8200; }</style></defs><g id="c" data-name="b"><circle class="e" cx="24" cy="32" r="8"/><circle class="e" cx="24" cy="56" r="8"/><circle class="e" cx="8" cy="68" r="8"/><g><circle class="d" cx="24" cy="8" r="8"/><circle class="d" cx="8" cy="20" r="8"/><circle class="d" cx="8" cy="44" r="8"/></g></g></svg>

After

Width:  |  Height:  |  Size: 455 B

13
gdpool.svg Normal file
View File

@ -0,0 +1,13 @@
<svg width="524" height="523" viewBox="0 0 524 523" fill="none" xmlns="http://www.w3.org/2000/svg">
<g clip-path="url(#clip0_1499_2400)">
<rect x="0.667969" y="1.30664" width="521.693" height="521.693" rx="260.846" fill="#212939"/>
<path d="M117.307 211.847H190.409L261.516 178.906H405.726V131.406H117.307V211.847Z" fill="white"/>
<path d="M405.726 211.847H332.623L261.516 244.788H117.307V292.288L405.726 292.288V211.847Z" fill="white"/>
<path d="M332.623 312.465H405.726V392.906H117.307V345.406H261.516L332.623 312.465Z" fill="white"/>
</g>
<defs>
<clipPath id="clip0_1499_2400">
<rect width="523" height="523" fill="white" transform="translate(0.667969)"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 686 B

45
noderunners.light.svg Normal file
View File

@ -0,0 +1,45 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
enable-background="new 0 0 1024 1024"
version="1.1"
viewBox="0 0 1024 1024"
xml:space="preserve"
id="svg297"
sodipodi:docname="publicpool.svg"
inkscape:export-filename="noderunners-pool.light.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs297"><style
id="style1">.cls-1{fill:#fff;}</style></defs><sodipodi:namedview
id="namedview297"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.72851562"
inkscape:cx="512"
inkscape:cy="512"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="svg297" /><g
id="g298"
transform="matrix(12.564028,0,0,12.564028,-69.61519,-70.16255)"><path
class="cls-1"
d="M 77.51,34.72 A 4.69,4.69 0 0 1 71.07,34 h -9.35 a 1.11,1.11 0 0 0 -1.1,1.11 V 61.66 A 2.43,2.43 0 0 1 58.2,64.08 H 54.75 L 41.21,44.41 a 51.78,51.78 0 0 1 -3,-5 h -0.1 c 0,0 0.35,3 0.35,5 v 16.26 a 3.41,3.41 0 0 1 -3.41,3.41 h -13 a 4.74,4.74 0 0 1 -2.81,1.67 33.29,33.29 0 0 0 58.23,-31 z"
id="path1-3"
style="fill:#000000" /><path
class="cls-1"
d="m 18.42,56.41 a 4.71,4.71 0 0 1 3.93,2.1 h 0.87 c 0.62,0 8.71,-0.49 8.71,-1.1 V 30.89 a 2.42,2.42 0 0 1 2.42,-2.42 h 3.5 l 13.49,19.71 c 1.4,2 3,5 3,5 h 0.1 c 0,0 -0.35,-3 -0.35,-5 v -16.3 c 0,-2.36 1,-3.41 3.41,-3.41 h 13.17 a 4.65,4.65 0 0 1 2.41,-1.93 33.3,33.3 0 0 0 -58,31.3 4.72,4.72 0 0 1 3.34,-1.43 z"
id="path2-8"
style="fill:#000000" /></g></svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

46
noderunners.svg Normal file
View File

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
enable-background="new 0 0 1024 1024"
version="1.1"
viewBox="0 0 1024 1024"
xml:space="preserve"
id="svg297"
sodipodi:docname="noderunners.svg"
inkscape:export-filename="noderunners-pool.light.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
inkscape:version="1.4.3 (0d15f75, 2025-12-25)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs297"><style
id="style1">.cls-1{fill:#fff;}</style></defs><sodipodi:namedview
id="namedview297"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.72851562"
inkscape:cx="512"
inkscape:cy="512"
inkscape:window-width="1920"
inkscape:window-height="1027"
inkscape:window-x="0"
inkscape:window-y="25"
inkscape:window-maximized="1"
inkscape:current-layer="svg297" /><g
id="g298"
transform="matrix(12.564028,0,0,12.564028,-69.61519,-70.16255)"
style="fill:#ffffff"><path
class="cls-1"
d="M 77.51,34.72 A 4.69,4.69 0 0 1 71.07,34 h -9.35 a 1.11,1.11 0 0 0 -1.1,1.11 V 61.66 A 2.43,2.43 0 0 1 58.2,64.08 H 54.75 L 41.21,44.41 a 51.78,51.78 0 0 1 -3,-5 h -0.1 c 0,0 0.35,3 0.35,5 v 16.26 a 3.41,3.41 0 0 1 -3.41,3.41 h -13 a 4.74,4.74 0 0 1 -2.81,1.67 33.29,33.29 0 0 0 58.23,-31 z"
id="path1-3"
style="fill:#ffffff" /><path
class="cls-1"
d="m 18.42,56.41 a 4.71,4.71 0 0 1 3.93,2.1 h 0.87 c 0.62,0 8.71,-0.49 8.71,-1.1 V 30.89 a 2.42,2.42 0 0 1 2.42,-2.42 h 3.5 l 13.49,19.71 c 1.4,2 3,5 3,5 h 0.1 c 0,0 -0.35,-3 -0.35,-5 v -16.3 c 0,-2.36 1,-3.41 3.41,-3.41 h 13.17 a 4.65,4.65 0 0 1 2.41,-1.93 33.3,33.3 0 0 0 -58,31.3 4.72,4.72 0 0 1 3.34,-1.43 z"
id="path2-8"
style="fill:#ffffff" /></g></svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

806
package-lock.json generated Normal file
View File

@ -0,0 +1,806 @@
{
"name": "mining-pool-logos",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "mining-pool-logos",
"version": "1.0.0",
"dependencies": {
"dompurify": "^3.0.8",
"jsdom": "^24.0.0"
},
"bin": {
"check_logos": "check_logos.js"
},
"engines": {
"node": ">=18.0.0"
}
},
"node_modules/@asamuzakjp/css-color": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/@asamuzakjp/css-color/-/css-color-3.2.0.tgz",
"integrity": "sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==",
"license": "MIT",
"dependencies": {
"@csstools/css-calc": "^2.1.3",
"@csstools/css-color-parser": "^3.0.9",
"@csstools/css-parser-algorithms": "^3.0.4",
"@csstools/css-tokenizer": "^3.0.3",
"lru-cache": "^10.4.3"
}
},
"node_modules/@csstools/color-helpers": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.1.0.tgz",
"integrity": "sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/csstools"
},
{
"type": "opencollective",
"url": "https://opencollective.com/csstools"
}
],
"license": "MIT-0",
"engines": {
"node": ">=18"
}
},
"node_modules/@csstools/css-calc": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.4.tgz",
"integrity": "sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/csstools"
},
{
"type": "opencollective",
"url": "https://opencollective.com/csstools"
}
],
"license": "MIT",
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4"
}
},
"node_modules/@csstools/css-color-parser": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.1.0.tgz",
"integrity": "sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/csstools"
},
{
"type": "opencollective",
"url": "https://opencollective.com/csstools"
}
],
"license": "MIT",
"dependencies": {
"@csstools/color-helpers": "^5.1.0",
"@csstools/css-calc": "^2.1.4"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@csstools/css-parser-algorithms": "^3.0.5",
"@csstools/css-tokenizer": "^3.0.4"
}
},
"node_modules/@csstools/css-parser-algorithms": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.5.tgz",
"integrity": "sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/csstools"
},
{
"type": "opencollective",
"url": "https://opencollective.com/csstools"
}
],
"license": "MIT",
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@csstools/css-tokenizer": "^3.0.4"
}
},
"node_modules/@csstools/css-tokenizer": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.4.tgz",
"integrity": "sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/csstools"
},
{
"type": "opencollective",
"url": "https://opencollective.com/csstools"
}
],
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/@types/trusted-types": {
"version": "2.0.7",
"resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz",
"integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==",
"license": "MIT",
"optional": true
},
"node_modules/agent-base": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
"integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
"license": "MIT",
"engines": {
"node": ">= 14"
}
},
"node_modules/asynckit": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"license": "MIT"
},
"node_modules/call-bind-apply-helpers": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
"integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/combined-stream": {
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
"integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"license": "MIT",
"dependencies": {
"delayed-stream": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/cssstyle": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-4.6.0.tgz",
"integrity": "sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==",
"license": "MIT",
"dependencies": {
"@asamuzakjp/css-color": "^3.2.0",
"rrweb-cssom": "^0.8.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/cssstyle/node_modules/rrweb-cssom": {
"version": "0.8.0",
"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.8.0.tgz",
"integrity": "sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==",
"license": "MIT"
},
"node_modules/data-urls": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-5.0.0.tgz",
"integrity": "sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==",
"license": "MIT",
"dependencies": {
"whatwg-mimetype": "^4.0.0",
"whatwg-url": "^14.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/debug": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"license": "MIT",
"dependencies": {
"ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
},
"peerDependenciesMeta": {
"supports-color": {
"optional": true
}
}
},
"node_modules/decimal.js": {
"version": "10.6.0",
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
"license": "MIT"
},
"node_modules/delayed-stream": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
"integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"license": "MIT",
"engines": {
"node": ">=0.4.0"
}
},
"node_modules/dompurify": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/dompurify/-/dompurify-3.3.1.tgz",
"integrity": "sha512-qkdCKzLNtrgPFP1Vo+98FRzJnBRGe4ffyCea9IwHB1fyxPOeNTHpLKYGd4Uk9xvNoH0ZoOjwZxNptyMwqrId1Q==",
"license": "(MPL-2.0 OR Apache-2.0)",
"optionalDependencies": {
"@types/trusted-types": "^2.0.7"
}
},
"node_modules/dunder-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
"integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.1",
"es-errors": "^1.3.0",
"gopd": "^1.2.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/entities": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
"integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/es-define-property": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
"integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-errors": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
"integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-object-atoms": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
"integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/es-set-tostringtag": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
"integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
"get-intrinsic": "^1.2.6",
"has-tostringtag": "^1.0.2",
"hasown": "^2.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/form-data": {
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
"integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
"license": "MIT",
"dependencies": {
"asynckit": "^0.4.0",
"combined-stream": "^1.0.8",
"es-set-tostringtag": "^2.1.0",
"hasown": "^2.0.2",
"mime-types": "^2.1.12"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/function-bind": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
"integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-intrinsic": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
"integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.2",
"es-define-property": "^1.0.1",
"es-errors": "^1.3.0",
"es-object-atoms": "^1.1.1",
"function-bind": "^1.1.2",
"get-proto": "^1.0.1",
"gopd": "^1.2.0",
"has-symbols": "^1.1.0",
"hasown": "^2.0.2",
"math-intrinsics": "^1.1.0"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/get-proto": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
"integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
"license": "MIT",
"dependencies": {
"dunder-proto": "^1.0.1",
"es-object-atoms": "^1.0.0"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
"integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-symbols": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
"integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-tostringtag": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
"integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"license": "MIT",
"dependencies": {
"has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
"integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"license": "MIT",
"dependencies": {
"function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/html-encoding-sniffer": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-4.0.0.tgz",
"integrity": "sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==",
"license": "MIT",
"dependencies": {
"whatwg-encoding": "^3.1.1"
},
"engines": {
"node": ">=18"
}
},
"node_modules/http-proxy-agent": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz",
"integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==",
"license": "MIT",
"dependencies": {
"agent-base": "^7.1.0",
"debug": "^4.3.4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
"integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"license": "MIT",
"dependencies": {
"agent-base": "^7.1.2",
"debug": "4"
},
"engines": {
"node": ">= 14"
}
},
"node_modules/iconv-lite": {
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
"integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
"license": "MIT",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/is-potential-custom-element-name": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
"license": "MIT"
},
"node_modules/jsdom": {
"version": "24.1.3",
"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.3.tgz",
"integrity": "sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==",
"license": "MIT",
"dependencies": {
"cssstyle": "^4.0.1",
"data-urls": "^5.0.0",
"decimal.js": "^10.4.3",
"form-data": "^4.0.0",
"html-encoding-sniffer": "^4.0.0",
"http-proxy-agent": "^7.0.2",
"https-proxy-agent": "^7.0.5",
"is-potential-custom-element-name": "^1.0.1",
"nwsapi": "^2.2.12",
"parse5": "^7.1.2",
"rrweb-cssom": "^0.7.1",
"saxes": "^6.0.0",
"symbol-tree": "^3.2.4",
"tough-cookie": "^4.1.4",
"w3c-xmlserializer": "^5.0.0",
"webidl-conversions": "^7.0.0",
"whatwg-encoding": "^3.1.1",
"whatwg-mimetype": "^4.0.0",
"whatwg-url": "^14.0.0",
"ws": "^8.18.0",
"xml-name-validator": "^5.0.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"canvas": "^2.11.2"
},
"peerDependenciesMeta": {
"canvas": {
"optional": true
}
}
},
"node_modules/lru-cache": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
"license": "ISC"
},
"node_modules/math-intrinsics": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
"integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
"license": "MIT",
"engines": {
"node": ">= 0.4"
}
},
"node_modules/mime-db": {
"version": "1.52.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
"integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"license": "MIT",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.35",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
"integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"license": "MIT",
"dependencies": {
"mime-db": "1.52.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
"license": "MIT"
},
"node_modules/nwsapi": {
"version": "2.2.23",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz",
"integrity": "sha512-7wfH4sLbt4M0gCDzGE6vzQBo0bfTKjU7Sfpqy/7gs1qBfYz2vEJH6vXcBKpO3+6Yu1telwd0t9HpyOoLEQQbIQ==",
"license": "MIT"
},
"node_modules/parse5": {
"version": "7.3.0",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
"integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
"license": "MIT",
"dependencies": {
"entities": "^6.0.0"
},
"funding": {
"url": "https://github.com/inikulin/parse5?sponsor=1"
}
},
"node_modules/psl": {
"version": "1.15.0",
"resolved": "https://registry.npmjs.org/psl/-/psl-1.15.0.tgz",
"integrity": "sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==",
"license": "MIT",
"dependencies": {
"punycode": "^2.3.1"
},
"funding": {
"url": "https://github.com/sponsors/lupomontero"
}
},
"node_modules/punycode": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
"integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
"license": "MIT",
"engines": {
"node": ">=6"
}
},
"node_modules/querystringify": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
"license": "MIT"
},
"node_modules/requires-port": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
"license": "MIT"
},
"node_modules/rrweb-cssom": {
"version": "0.7.1",
"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.7.1.tgz",
"integrity": "sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==",
"license": "MIT"
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
"license": "MIT"
},
"node_modules/saxes": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz",
"integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==",
"license": "ISC",
"dependencies": {
"xmlchars": "^2.2.0"
},
"engines": {
"node": ">=v12.22.7"
}
},
"node_modules/symbol-tree": {
"version": "3.2.4",
"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"license": "MIT"
},
"node_modules/tough-cookie": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
"license": "BSD-3-Clause",
"dependencies": {
"psl": "^1.1.33",
"punycode": "^2.1.1",
"universalify": "^0.2.0",
"url-parse": "^1.5.3"
},
"engines": {
"node": ">=6"
}
},
"node_modules/tr46": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/tr46/-/tr46-5.1.1.tgz",
"integrity": "sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==",
"license": "MIT",
"dependencies": {
"punycode": "^2.3.1"
},
"engines": {
"node": ">=18"
}
},
"node_modules/universalify": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
"license": "MIT",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/url-parse": {
"version": "1.5.10",
"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
"license": "MIT",
"dependencies": {
"querystringify": "^2.1.1",
"requires-port": "^1.0.0"
}
},
"node_modules/w3c-xmlserializer": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz",
"integrity": "sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==",
"license": "MIT",
"dependencies": {
"xml-name-validator": "^5.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/webidl-conversions": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz",
"integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==",
"license": "BSD-2-Clause",
"engines": {
"node": ">=12"
}
},
"node_modules/whatwg-encoding": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
"integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
"deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation",
"license": "MIT",
"dependencies": {
"iconv-lite": "0.6.3"
},
"engines": {
"node": ">=18"
}
},
"node_modules/whatwg-mimetype": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
"integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
"license": "MIT",
"engines": {
"node": ">=18"
}
},
"node_modules/whatwg-url": {
"version": "14.2.0",
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-14.2.0.tgz",
"integrity": "sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==",
"license": "MIT",
"dependencies": {
"tr46": "^5.1.0",
"webidl-conversions": "^7.0.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/ws": {
"version": "8.18.3",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
"integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
"license": "MIT",
"engines": {
"node": ">=10.0.0"
},
"peerDependencies": {
"bufferutil": "^4.0.1",
"utf-8-validate": ">=5.0.2"
},
"peerDependenciesMeta": {
"bufferutil": {
"optional": true
},
"utf-8-validate": {
"optional": true
}
}
},
"node_modules/xml-name-validator": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-5.0.0.tgz",
"integrity": "sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==",
"license": "Apache-2.0",
"engines": {
"node": ">=18"
}
},
"node_modules/xmlchars": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
"license": "MIT"
}
}
}

20
package.json Normal file
View File

@ -0,0 +1,20 @@
{
"name": "mining-pool-logos",
"version": "1.0.0",
"description": "SVG logo checker",
"type": "module",
"bin": {
"check_logos": "./check_logos.js"
},
"scripts": {
"validate": "node check_logos.js"
},
"dependencies": {
"dompurify": "^3.0.8",
"jsdom": "^24.0.0"
},
"engines": {
"node": ">=18.0.0"
}
}

56
solopoolcom.svg Normal file
View File

@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
version="1.0"
width="342px"
height="342px"
viewBox="0 0 342 342"
preserveAspectRatio="xMidYMid meet"
id="svg8"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs8">
<linearGradient
id="linearGradient8">
<stop
style="stop-color:#fce003;stop-opacity:1;"
offset="0"
id="stop8" />
<stop
style="stop-color:#fa7902;stop-opacity:1;"
offset="1"
id="stop9" />
</linearGradient>
<linearGradient
xlink:href="#linearGradient8"
id="linearGradient9"
x1="177.41998"
y1="82.230019"
x2="177.41998"
y2="242.07001"
gradientUnits="userSpaceOnUse" />
</defs>
<g
fill="#08a1f8"
id="g7">
<path
d="M160.65 318.25 c-14.13 -8.18 -31.03 -17.93 -57.11 -32.96 -32.80 -18.87 -47.76 -27.52 -58.38 -33.73 l-7.08 -4.14 0 -33.06 0 -33.03 -1.90 0.20 c-11.26 1.24 -21.88 3.41 -31.33 6.38 -2 0.63 -3.94 1.24 -4.24 1.34 -0.57 0.17 -0.60 -0.23 -0.60 -5.28 l0 -5.44 2.94 -1.90 c12.29 -7.98 25.55 -13.79 39.44 -17.30 14.56 -3.67 33.26 -5.21 48.03 -3.97 8.08 0.67 25.45 3.47 26.22 4.24 0.13 0.13 0.27 10.82 0.27 23.78 0.03 22.11 0 23.55 -0.53 23.95 -0.77 0.57 -1.07 0.57 -11.09 0.60 -6.68 0 -8.48 0.10 -8.72 0.43 -0.17 0.27 -0.53 1.97 -0.87 3.84 -0.30 1.87 -1.77 9.99 -3.21 18 -1.44 8.05 -2.64 14.86 -2.64 15.13 0 0.43 2.64 0.50 21.14 0.57 l21.11 0.10 0.17 16.37 0.17 16.37 16.97 0.10 16.93 0.07 0 -16.20 0 -16.20 1.84 0 1.84 0 0.07 16.13 0.10 16.10 16.63 0.10 16.60 0.07 0 -16.27 c0 -8.98 0.13 -16.47 0.27 -16.67 0.13 -0.20 2.40 -0.60 5.08 -0.94 30.99 -3.67 48.49 -17 53.91 -40.91 0.43 -2.07 0.87 -3.84 0.94 -3.87 0.07 -0.07 2.97 0 6.45 0.17 6.51 0.30 18.20 -0.03 24.55 -0.67 9.02 -0.94 20.81 -3.04 29.02 -5.21 4.21 -1.14 16.53 -5.18 17.83 -5.84 0.53 -0.30 0.57 0.10 0.57 6.31 l0 6.68 -0.90 0.17 c-0.53 0.10 -2.07 0.94 -3.47 1.84 -7.78 5.11 -17.67 10.19 -26.02 13.43 -2.84 1.14 -5.84 2.30 -6.68 2.61 l-1.50 0.60 -0.10 13.69 -0.07 13.69 -2.94 1.70 c-1.60 0.90 -7.95 4.58 -14.09 8.12 -6.15 3.54 -20.04 11.59 -30.89 17.87 -10.82 6.25 -23.85 13.76 -28.89 16.70 -5.04 2.91 -12.26 7.08 -16.03 9.28 -3.77 2.20 -7.88 4.61 -9.18 5.34 -1.27 0.73 -5.48 3.17 -9.35 5.41 -18.17 10.52 -20.51 11.86 -20.94 11.86 -0.23 0 -4.88 -2.57 -10.29 -5.71z"
id="path5" />
<path
d="M166.32 192.11 c0 -9.45 0.13 -16.47 0.30 -16.57 0.17 -0.13 1.57 0.33 3.11 1 10.22 4.41 28.42 11.19 35.84 13.36 2.40 0.67 4.51 1.40 4.71 1.60 0.27 0.27 0.33 0.94 0.13 2.27 -0.83 5.78 -5.31 10.09 -13.03 12.42 -5.58 1.70 -7.75 1.94 -19.77 2.10 l-11.29 0.17 0 -16.37z"
id="path6" />
<path
d="M269.59 190.37 c-2.81 -0.13 -5.18 -0.33 -5.28 -0.43 -0.10 -0.10 -0.33 -1.74 -0.50 -3.64 -0.80 -8.55 -3.81 -16.87 -8.22 -22.81 -3.31 -4.44 -8.68 -9.05 -12.86 -11.05 -0.70 -0.33 -1.27 -0.70 -1.27 -0.83 0 -0.17 1.07 -1.57 2.34 -3.17 9.28 -11.59 11.05 -28.99 4.38 -42.78 -6.28 -12.96 -18.04 -20.94 -36.17 -24.61 -2.27 -0.43 -5.08 -0.94 -6.28 -1.07 -1.20 -0.10 -2.37 -0.37 -2.57 -0.57 -0.33 -0.23 -0.43 -4.07 -0.43 -17.13 l0 -16.83 -16.27 0.07 -16.30 0.10 -0.10 16.43 -0.07 16.47 -1.84 0 -1.84 0 -0.07 -16.43 -0.10 -16.47 -16.03 -0.10 c-8.82 -0.03 -16.37 0 -16.77 0.10 l-0.77 0.17 -0.07 16.63 -0.10 16.60 -19.94 0.17 c-13.39 0.10 -20.04 0.27 -20.31 0.53 -0.23 0.23 -0.30 5.51 -0.27 16.70 l0.10 16.33 11.76 0.17 c13.09 0.20 12.56 0.07 13.13 2.54 0.30 1.24 0.47 33.87 0.20 33.87 -0.07 0 -1.57 -0.30 -3.34 -0.67 -17.47 -3.57 -33.93 -4.44 -51.83 -2.64 -7.72 0.77 -18.47 2.71 -23.25 4.17 -0.57 0.17 -0.60 -1.30 -0.60 -27.89 l0 -28.09 1.30 -0.80 c0.73 -0.47 6.41 -3.77 12.62 -7.31 12.46 -7.18 15.23 -8.75 30.36 -17.50 5.71 -3.34 11.22 -6.48 12.19 -7.05 1 -0.53 9.18 -5.24 18.17 -10.42 9.02 -5.18 19 -10.95 22.21 -12.79 3.21 -1.84 9.02 -5.18 12.86 -7.41 3.87 -2.24 10.59 -6.11 14.93 -8.65 l7.95 -4.58 1.07 0.57 c0.60 0.30 4.04 2.24 7.61 4.31 3.57 2.07 9.52 5.48 13.19 7.58 3.67 2.10 8.12 4.68 9.85 5.68 3.11 1.80 8.35 4.81 24.55 14.13 4.41 2.54 9.45 5.44 11.19 6.45 4.68 2.71 17.03 9.82 23.55 13.59 21.21 12.19 40.55 23.48 41.18 23.95 0.30 0.27 0.40 10.15 0.40 47.39 l0 47.03 -1.74 0.33 c-2.97 0.57 -9.89 1.37 -14.96 1.70 -5.28 0.37 -9.12 0.37 -16.97 0z"
id="path7" />
</g>
<g
fill="#fdb50d"
id="g8"
style="fill:url(#linearGradient9)">
<path
d="M138.84 272.30 c-0.13 -0.10 -0.23 -7.55 -0.23 -16.53 l0 -16.30 -20.54 0 -20.57 0 0.20 -1.07 c1.97 -11.46 4.24 -23.15 4.51 -23.48 0.27 -0.33 2.17 -0.47 7.78 -0.60 8.38 -0.13 9.38 -0.37 11.32 -2.37 2.40 -2.44 2.27 0.60 2.27 -51.13 0 -41.21 -0.07 -46.66 -0.53 -48.23 -0.70 -2.40 -2.64 -4.48 -5.08 -5.44 -1.77 -0.67 -2.57 -0.73 -10.69 -0.87 l-8.75 -0.13 0.07 -10.05 0.10 -10.09 19.71 -0.17 c10.85 -0.10 19.91 -0.30 20.14 -0.43 0.30 -0.20 0.40 -3.94 0.40 -16.77 0 -14.70 0.07 -16.50 0.53 -16.67 0.30 -0.10 4.94 -0.20 10.35 -0.20 l9.82 0 0 16.50 0 16.47 2.27 0.20 c1.24 0.13 4.88 0.23 8.12 0.23 4.54 0 5.98 -0.10 6.28 -0.43 0.23 -0.33 0.40 -5.38 0.43 -16.63 l0.10 -16.16 9.79 -0.10 9.75 -0.07 0 16.83 0 16.83 2.27 0.20 c21.17 1.90 34.63 8.08 41.75 19.20 3.97 6.18 5.94 15 5.11 22.54 -1 8.95 -4.28 15.26 -11.59 22.44 l-4.11 4.04 2.24 0.77 c13.86 4.78 21.84 13.83 24.68 27.95 0.80 4.07 0.80 13.79 0 17.87 -1.37 6.81 -3.64 12.59 -6.81 17.40 -2.07 3.14 -7.58 8.78 -10.59 10.85 -2.81 1.94 -6.68 3.94 -10.39 5.34 -6.18 2.37 -16.33 4.51 -24.71 5.28 -3.31 0.27 -6.25 0.63 -6.51 0.77 -0.43 0.23 -0.53 2.50 -0.67 16.27 l-0.17 16 -10.05 0.10 -10.09 0.07 -0.23 -7.25 c-0.13 -4.01 -0.13 -9.75 -0.03 -12.79 0.13 -3.07 0.13 -7.01 0 -8.78 l-0.23 -3.24 -7.95 0 c-5.58 0 -8.02 0.10 -8.18 0.37 -0.23 0.40 -0.40 8.98 -0.43 23.11 l-0.03 8.58 -10.29 0 c-5.68 0 -10.42 -0.10 -10.52 -0.23z m54.57 -58.48 c5.84 -1.14 7.65 -1.70 11.32 -3.47 3.04 -1.47 3.87 -2.07 6.38 -4.58 4.44 -4.48 6.25 -9.05 5.88 -15.10 -0.60 -9.75 -7.18 -16.13 -19.84 -19.30 -6.95 -1.74 -8.78 -1.87 -23.48 -1.87 l-13.86 0 -0.10 22.64 -0.07 22.68 15.10 -0.13 c13.73 -0.13 15.46 -0.23 18.67 -0.87z m-8.28 -65.66 c7.58 -0.97 14.29 -3.87 18.07 -7.88 3.51 -3.77 4.88 -7.18 4.88 -12.36 0 -10.09 -7.15 -16.50 -20.87 -18.87 -2.40 -0.40 -5.41 -0.50 -15.03 -0.43 l-12.02 0.10 -0.23 1.84 c-0.27 2.44 -0.33 37.57 -0.03 37.84 0.43 0.47 21.21 0.23 25.25 -0.23z"
id="path8"
style="fill:url(#linearGradient9)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

1
ultimuspool.light.svg Normal file
View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?><svg width="453.543" height="120mm" viewBox="0 0 120 120" xmlns="http://www.w3.org/2000/svg"><path style="fill:#e2e8f0;stroke:#cbd5e1;stroke-width:.236232" transform="translate(-37.298 -116.055)" d="M157.18 176.055a59.882 59.882 0 0 1-59.882 59.882 59.882 59.882 0 0 1-59.882-59.882 59.882 59.882 0 0 1 59.882-59.882 59.882 59.882 0 0 1 59.882 59.882z"/><g style="font-size:107.89px;font-family:serif;-inkscape-font-specification:serif;fill:#1652ee;stroke:#1652ee;stroke-width:.561929"><path d="M85.79 82.063q0 7.984-3.56 14.457-3.453 6.365-10.573 10.142-7.013 3.668-17.802 3.668-15.32 0-23.304-7.768-7.984-7.876-7.984-20.715v-49.63h16.291v47.148q0 9.495 3.884 13.379 3.884 3.884 11.544 3.884 7.984 0 11.545-4.208 3.668-4.208 3.668-13.162v-47.04H85.79z" style="font-weight:700;font-family:&quot;Noto Sans&quot;;-inkscape-font-specification:&quot;Noto Sans Bold&quot;" transform="scale(1.11745 .8949)" aria-label="U"/></g></svg>

After

Width:  |  Height:  |  Size: 982 B

1
unknown.light.svg Normal file
View File

@ -0,0 +1 @@
<svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="5.27 3 13.48 18"> <path d="M5.6417 18.3696C5.15834 17.8871 5.15833 17.113 5.64169 16.6304C7.26992 15.0051 9.51761 14 12 14C14.4825 14 16.7301 15.005 18.3583 16.6304C18.8417 17.1129 18.8417 17.8871 18.3584 18.3696C16.7301 19.9949 14.4824 21 12 21C9.51759 21 7.26993 19.995 5.6417 18.3696Z" fill="#707070"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M8.50003 7.5H15.5V8H16C16 10.6372 14.3188 13 12 13C9.68123 13 8.00003 10.6372 8.00003 8H8.50003V7.5ZM9.02273 8.5C9.21266 10.5678 10.5658 12 12 12C13.4343 12 14.7874 10.5678 14.9773 8.5H9.02273Z" fill="#707070"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M12 3C14.4853 3 16.5 5.23858 16.5 8H7.50003C7.50003 5.23858 9.51475 3 12 3ZM12 7.5C12.8285 7.5 13.5 6.82843 13.5 6C13.5 5.17157 12.8285 4.5 12 4.5C11.1716 4.5 10.5 5.17157 10.5 6C10.5 6.82843 11.1716 7.5 12 7.5Z" fill="#707070"></path> <path fill-rule="evenodd" clip-rule="evenodd" d="M6.50003 8.5C6.50003 8.22386 6.72389 8 7.00003 8H17C17.2762 8 17.5 8.22386 17.5 8.5C17.5 8.77614 17.2762 9 17 9H7.00003C6.72389 9 6.50003 8.77614 6.50003 8.5Z" fill="#707070"></path> </svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

28
whitepool.light.svg Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg
version="1.1"
id="Layer_1"
x="0px"
y="0px"
viewBox="0 0 49.200001 39.7"
xml:space="preserve"
width="49.200001"
height="39.700001"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs191" />
<style
type="text/css"
id="style182">
.st0{fill:#EABC4C;}
.st1{fill:#181834;}
</style>
<path
class="st1"
d="M 38.6,0.1 C 33.8,0.1 29.9,4 29.9,8.8 H 19.4 L 28.1,0.1 H 17.5 C 12.7,0.1 8.8,4 8.8,8.8 v 0 H 8.7 C 3.9,8.8 0,12.7 0,17.5 H 8.8 V 24 c 0,8.7 7.1,15.7 15.7,15.7 h 16 V 8.7 L 49.2,0 Z m -9.1,23 c -1.3,-1.3 -1.3,-3.4 0,-4.7 l 4.7,4.7 c -1.3,1.3 -3.4,1.3 -4.7,0 z"
id="path186"
style="fill:#181834;fill-opacity:1" />
</svg>

After

Width:  |  Height:  |  Size: 864 B