Compare commits
1 commit
master
...
load-perfo
Author | SHA1 | Date | |
---|---|---|---|
|
b63129d4b8 |
149
.drone.yml
Normal file
|
@ -0,0 +1,149 @@
|
|||
---
|
||||
kind: pipeline
|
||||
name: default
|
||||
|
||||
steps:
|
||||
- name: restore-cache
|
||||
image: drillster/drone-volume-cache
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /cache
|
||||
settings:
|
||||
restore: true
|
||||
mount:
|
||||
- ./node_modules
|
||||
|
||||
- name: dependencies
|
||||
image: node
|
||||
failure: ignore
|
||||
commands:
|
||||
- yarn
|
||||
depends_on:
|
||||
- restore-cache
|
||||
|
||||
- name: lint
|
||||
image: node
|
||||
commands:
|
||||
- yarn lint
|
||||
depends_on:
|
||||
- dependencies
|
||||
|
||||
- name: build_versioned
|
||||
image: node
|
||||
commands:
|
||||
- yarn build
|
||||
environment:
|
||||
SUBPATH: /tghandbook/${DRONE_COMMIT_BRANCH/\//_}-${DRONE_COMMIT_SHA:0:8}
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
depends_on:
|
||||
- dependencies
|
||||
|
||||
- name: build_pr
|
||||
image: node
|
||||
commands:
|
||||
- yarn build
|
||||
environment:
|
||||
SUBPATH: /tghandbook/pr-${DRONE_PULL_REQUEST}
|
||||
OUTDIR: ./dist-pr
|
||||
when:
|
||||
event:
|
||||
- pull_request
|
||||
depends_on:
|
||||
- dependencies
|
||||
|
||||
- name: build_master
|
||||
image: node
|
||||
commands:
|
||||
- yarn build
|
||||
environment:
|
||||
SUBPATH: /tghandbook/latest
|
||||
OUTDIR: ./dist-master
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- master
|
||||
depends_on:
|
||||
- dependencies
|
||||
|
||||
- name: upload_build_versioned
|
||||
image: plugins/s3
|
||||
settings:
|
||||
bucket: tghandbook
|
||||
access_key:
|
||||
from_secret: minio_access
|
||||
secret_key:
|
||||
from_secret: minio_secret
|
||||
source: dist/**/*
|
||||
target: /${DRONE_COMMIT_BRANCH/\//_}-${DRONE_COMMIT_SHA:0:8}/
|
||||
strip_prefix: dist/
|
||||
path_style: true
|
||||
endpoint: https://artifacts.fromouter.space
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
depends_on:
|
||||
- build_versioned
|
||||
|
||||
- name: upload_build_pr
|
||||
image: plugins/s3
|
||||
settings:
|
||||
bucket: tghandbook
|
||||
access_key:
|
||||
from_secret: minio_access
|
||||
secret_key:
|
||||
from_secret: minio_secret
|
||||
source: dist-pr/**/*
|
||||
target: /pr-${DRONE_PULL_REQUEST}/
|
||||
strip_prefix: dist-pr/
|
||||
path_style: true
|
||||
endpoint: https://artifacts.fromouter.space
|
||||
when:
|
||||
event:
|
||||
- pull_request
|
||||
depends_on:
|
||||
- build_pr
|
||||
|
||||
- name: upload_build_master
|
||||
image: plugins/s3
|
||||
settings:
|
||||
bucket: tghandbook
|
||||
access_key:
|
||||
from_secret: minio_access
|
||||
secret_key:
|
||||
from_secret: minio_secret
|
||||
source: dist-master/**/*
|
||||
target: /latest/
|
||||
strip_prefix: dist-master/
|
||||
path_style: true
|
||||
endpoint: https://artifacts.fromouter.space
|
||||
when:
|
||||
event:
|
||||
- push
|
||||
branch:
|
||||
- master
|
||||
depends_on:
|
||||
- build_master
|
||||
|
||||
- name: rebuild-cache
|
||||
image: drillster/drone-volume-cache
|
||||
failure: ignore
|
||||
volumes:
|
||||
- name: cache
|
||||
path: /cache
|
||||
settings:
|
||||
rebuild: true
|
||||
mount:
|
||||
- ./node_modules
|
||||
depends_on:
|
||||
- dependencies
|
||||
|
||||
volumes:
|
||||
- name: cache
|
||||
host:
|
||||
path: /opt/gitea/drone-cache/hamcha/tghandbook
|
||||
---
|
||||
kind: signature
|
||||
hmac: 9f4b08596bdaa078a6c60fc63d932084bab117c340a310903bbe96f31c0122bb
|
|
@ -19,17 +19,11 @@ module.exports = {
|
|||
"no-param-reassign": "off",
|
||||
"no-alert": "off",
|
||||
"no-console": "off",
|
||||
"no-shadow": "off",
|
||||
"func-names": "off",
|
||||
"default-param-last": "off",
|
||||
"dot-notation": ["error", { allowPattern: "^[A-Z][a-z]+$" }],
|
||||
"@typescript-eslint/ban-ts-comment": [
|
||||
"error",
|
||||
{
|
||||
"ts-expect-error": "allow-with-description",
|
||||
},
|
||||
],
|
||||
"@typescript-eslint/no-shadow": ["error"],
|
||||
"@typescript-eslint/default-param-last": ["error"],
|
||||
},
|
||||
};
|
32
.github/workflows/publish.yml
vendored
|
@ -1,32 +0,0 @@
|
|||
name: Publish on GitHub Pages
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-20.04
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: 18
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
- run: npm lint
|
||||
- run: npm run build --if-present
|
||||
|
||||
- name: Deploy
|
||||
uses: peaceiris/actions-gh-pages@v3
|
||||
if: ${{ github.ref == 'refs/heads/main' }}
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
publish_dir: ./dist
|
2
.gitignore
vendored
|
@ -1,6 +1,4 @@
|
|||
node_modules
|
||||
dist
|
||||
.cache
|
||||
.parcel-cache
|
||||
yarn-error.log
|
||||
*.ts.js
|
5
LICENSE
|
@ -1,5 +0,0 @@
|
|||
Copyright 2020, Alessandro Gatti
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
16
README.md
|
@ -1,15 +1,11 @@
|
|||
# /tg/station handbook
|
||||
# /tg/ handbook
|
||||
|
||||
A fancier way to browse the /tg/ wiki. This handbook is a single page application that downloads 20+ pages from the /tg/station wiki (currently using a CORS proxy), adds some fancy filtering and Nanotrasen styling.
|
||||
[![Build Status](https://drone.zyg.ovh/api/badges/Hamcha/tghandbook/status.svg)](https://drone.zyg.ovh/Hamcha/tghandbook)
|
||||
|
||||
It adapts the pages layout to be narrow as it's meant to be used in a small window, much like a PDA or an in-game book.
|
||||
## Building
|
||||
|
||||
`yarn build`
|
||||
|
||||
## Development
|
||||
|
||||
Start hot-reloading server with `npm start`
|
||||
|
||||
Build with `npm run build`
|
||||
|
||||
## License
|
||||
|
||||
The project is licensed under ISC (SPDX identifier). Please see the LICENSE file for details.
|
||||
`yarn && yarn dev`
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" version="1.0" viewBox="0 0 425 200" opacity=".33"><path d="M178.004.039H106.8a6.761 6.026 0 00-6.761 6.025v187.872a6.761 6.026 0 006.761 6.025h53.107a6.761 6.026 0 006.762-6.025V92.392l72.216 104.7a6.761 6.026 0 005.76 2.87H318.2a6.761 6.026 0 006.761-6.026V6.064A6.761 6.026 0 00318.2.04h-54.717a6.761 6.026 0 00-6.76 6.025v102.62L183.763 2.909a6.761 6.026 0 00-5.76-2.87zM4.845 22.109A13.412 12.502 0 0113.478.039h66.118A5.365 5 0 0184.96 5.04v79.88zM420.155 177.891a13.412 12.502 0 01-8.633 22.07h-66.118a5.365 5 0 01-5.365-5.001v-79.88z"/></svg>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" version="1.0" viewBox="0 0 425 200" opacity=".33">
|
||||
<path d="m 178.00399,0.03869 -71.20393,0 a 6.7613422,6.0255495 0 0 0 -6.76134,6.02555 l 0,187.87147 a 6.7613422,6.0255495 0 0 0 6.76134,6.02554 l 53.1072,0 a 6.7613422,6.0255495 0 0 0 6.76135,-6.02554 l 0,-101.544018 72.21628,104.699398 a 6.7613422,6.0255495 0 0 0 5.76015,2.87016 l 73.55487,0 a 6.7613422,6.0255495 0 0 0 6.76135,-6.02554 l 0,-187.87147 a 6.7613422,6.0255495 0 0 0 -6.76135,-6.02555 l -54.71644,0 a 6.7613422,6.0255495 0 0 0 -6.76133,6.02555 l 0,102.61935 L 183.76413,2.90886 a 6.7613422,6.0255495 0 0 0 -5.76014,-2.87017 z" />
|
||||
<path d="M 4.8446333,22.10875 A 13.412039,12.501842 0 0 1 13.477588,0.03924 l 66.118315,0 a 5.3648158,5.000737 0 0 1 5.364823,5.00073 l 0,79.87931 z" />
|
||||
<path d="m 420.15535,177.89119 a 13.412038,12.501842 0 0 1 -8.63295,22.06951 l -66.11832,0 a 5.3648152,5.000737 0 0 1 -5.36482,-5.00074 l 0,-79.87931 z" />
|
||||
</svg>
|
||||
<!-- This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. -->
|
||||
<!-- http://creativecommons.org/licenses/by-sa/4.0/ -->
|
Before Width: | Height: | Size: 751 B After Width: | Height: | Size: 1.1 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 257 256" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path fill="none" d="M.452 0h256v256h-256z"/><path d="M129.014 47.901c14.483-8.061 24.58-16.488 38.561-22.21 11.701-4.787 26.042-7.773 47.622-7.098l4.953.191.387 38.629c3.103-.006 6.211.039 9.325.125 4.938.135 9.889.377 14.854.714l5.498.445v5.516s.828 52.078 1.2 97.18c.287 34.428.274 64.787.274 64.787v8.059l-8.035-.627c-24.152-2.097-45.98-2.69-65.405-1.783-15.888.744-30.153 2.465-42.637 5.293l-5.597 1.36-1.562.402s-7.123-1.904-7.022-1.88c-12.547-3.165-26.793-5.311-42.704-6.393-19.473-1.324-41.39-1.078-65.663.59l-5.428.423.98-167.41V60.47l3.73-.302a365.634 365.634 0 0115.366-.843c3.83-.126 7.651-.188 11.465-.179l-.17-35.405V19.82l3.92-.152c21.43-.935 35.714 1.868 47.393 6.49 14.013 5.545 24.171 13.856 38.695 21.743zM47.14 27.724l-.17 35.345v3.927l-3.926-.039a309.957 309.957 0 00-15.027.31c-3.749.166-7.504.395-11.266.685l.923 152.758c22.638-1.796 43.225-2.242 61.695-1.39 16.71.77 31.707 2.619 44.997 5.622l4.004.974 4.183-1.13c13.195-3.32 28.18-5.559 44.911-6.685 17.804-1.198 37.6-1.116 59.32.14.013-11.236.069-33.072.265-56.847.302-36.326.897-77.176 1.118-91.7a320.475 320.475 0 00-8.775-.593c-4.8-.257-9.589-.413-14.365-.45l-5.626.03.394-39.953c-16.988-.321-28.824 2.01-38.643 5.876-14.403 5.673-24.606 14.425-39.985 22.47l-2.127 1.129-2.128-1.129c-15.313-8.223-25.44-17.087-39.798-22.934-10.059-4.098-22.25-6.643-39.974-6.416z" fill="#fff"/><path d="M124.388 234.209c-5.347-2.704-9.458-6.503-13.936-10.57-5.455-4.954-11.563-10.32-22.261-13.926-10.026-3.38-23.97-5.198-44.87-3.961l-4.9.25v-4.908s-.552-44.336-.426-88.676c.127-44.342.931-88.676.931-88.676v-3.997l3.995-.157c16.103-.402 28.11 1.236 38 4.113 19.276 5.607 30.377 16.066 48.121 25.984 17.751-9.894 28.863-20.327 48.135-25.92 9.887-2.868 21.887-4.508 37.98-4.104l3.925.153v3.928s.906 44.332 1.074 88.676c.169 44.338-.401 88.676-.401 88.676v5.006l-5-.255c-20.885-1.243-34.818.57-44.84 3.94-10.691 3.594-16.8 8.944-22.255 13.888-4.482 4.063-8.597 7.859-13.947 10.56v4.187l-4.685-2.092-4.645 2.068.005-4.187zm86.45-206.553c-17.768-.558-30.052 1.75-40.21 5.728-14.457 5.663-24.699 14.486-40.131 22.568l-1.456.776-1.457-.776c-15.441-8.058-25.697-16.856-40.157-22.506-10.14-3.962-22.397-6.271-40.12-5.72.198 11.843.76 48.264.864 84.692.101 35.61-.234 71.216-.371 83.859 19.759-.445 33.283 1.82 43.194 5.342 12.023 4.274 18.879 10.372 24.95 16.074 4.153 3.901 7.855 7.63 13.062 10.088 5.232-2.462 8.938-6.204 13.1-10.122 6.07-5.714 12.925-11.825 24.957-16.112 9.898-3.526 23.403-5.793 43.122-5.364-.142-12.727-.48-48.245-.346-83.765.138-36.504.777-73 1-84.762z" fill="#fff"/><path d="M131.84 227.74a2.942 2.942 0 01-5.415.025l-8.456-1.162s8.838-1.436 9.259-13.965c.047-1.4.121-1.6.206-1.03l.24-3.427c.855-12.83 1.453-27.634 1.453-27.634s.598 14.804 1.453 27.634c.169 2.522.349 4.962.524 7.197 1.498 10.005 9.008 11.225 9.008 11.225l-8.271 1.138zM129.727 49.702l-.01-.272 10.394 1.451s-8.837 1.458-9.258 14.178c-.047 1.421-.121 1.625-.206 1.045l-.24 3.48c-.856 13.026-1.453 28.054-1.453 28.054s-.598-15.028-1.454-28.054c-.168-2.56-.348-5.037-.523-7.307-1.498-10.156-9.008-11.396-9.008-11.396l10.396-1.45-.01.256c.453-.035.926-.03 1.372.015zM82.887 178.83V76.855H65.036V63.048h47.752v13.806l-17.851.001V178.83h-12.05zM179.476 63.122c9.006.741 13.57 7.034 13.57 18.736v15.147h-10.893V86.132c0-5.723-3.111-9.277-8.12-9.277h-9.215c-5.084 0-8.121 3.468-8.121 9.277v69.612c0 5.81 3.037 9.277 8.12 9.277h9.215c5.085 0 8.12-3.468 8.12-9.277v-23.627h-8.703v-13.809h19.596v41.711c0 12.482-5.192 18.81-15.43 18.81h-16.892c-5.092 0-8.954-1.528-11.48-4.542-2.622-3.125-3.95-7.925-3.95-14.27V81.859c0-6.343 1.328-11.144 3.95-14.27 2.525-3.012 6.388-4.54 11.479-4.54h16.894l1.86.074z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 3.7 KiB |
|
@ -1 +1,56 @@
|
|||
<svg width="100vmin" height="100vmin" viewBox="0 0 340 340" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><style>@keyframes rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}</style><path id="text" d="M104.26 279.309V92.146H71.496V66.804h87.644v25.34l-32.764.002v187.163m79.441 0c-9.874 0-17.365-2.805-22.265-8.337-5.083-5.735-7.66-14.546-7.66-26.189V101.33c0-11.643 2.577-20.454 7.66-26.19 4.898-5.53 12.39-8.334 22.264-8.334h32.764c19.855 0 29.924 11.614 29.924 34.524v27.801h-21.125v-19.957c0-10.503-6.033-17.027-15.748-17.027h-17.872c-9.86 0-15.75 6.365-15.75 17.027v127.764c0 10.663 5.89 17.028 15.75 17.028h17.87c9.862 0 15.75-6.365 15.75-17.027v-43.364h-16.88V168.23h38.004v76.555c0 22.91-10.068 34.524-29.924 34.524h-32.764.002z" fill="#a4b4c596" fill-rule="nonzero"/><g mask="url(#textmask)" fill="#a4b4c596"><path d="M52.637 76.985l-34.293 23.281 3.536 41.297-19.545 36.551 22.32 34.923-.321 41.444 35.993 20.552 18.978 36.847 41.422 1.473 33.926 23.808 37.364-17.95 41.103 5.317 24.741-33.256 38.866-14.401 6.45-40.939 27.726-30.81-13.316-39.251 10.23-40.165-30.029-28.569-9.608-40.318-39.866-11.342-27.244-31.234-40.569 8.485-38.639-14.997-31.981 26.367-41.18 4.678-16.065 38.209h.001zm164.124 203.757l17.013-23.69 28.163-10.316 4.233-29.641 20.242-22.182-10.017-28.107 7.683-28.966-21.972-20.134-6.635-29.114-28.894-7.548-19.434-22.593-29.196 6.767-27.78-10.897-22.81 19.532-29.763 3.297-11.198 27.822-24.927 16.735 2.979 29.739-14.381 26.339 16.474 24.842-.534 29.582 12.349 7.051 13.839 7.531 13.181 26.145 12.693.452.192.201 17.273.232 24.313 17.246 26.781-13.543 29.617 3.911.516-.693z" style="transform-origin:50% 50%;animation-name:rotate;animation-duration:6s;animation-iteration-count:infinite;animation-timing-function:linear"/></g><mask id="textmask"><path fill="#fff" d="M0 0h340v340H0z"/><path d="M274.325 244.784c0 26.336-12.66 40.345-35.744 40.345h-32.764c-8.33 0-14.878-2.482-20.736-5.29-14.579-6.987-16.017-38.658-16.017-38.658h-36.868v39.464c0 3.08-1.24 4.482-3.972 4.482h-25.811c-2.482 0-3.972-1.4-3.972-4.482v-30.777l-.31-.495.524-151.407H69.646c-2.482 0-3.972-1.682-3.972-4.483V65.464c0-2.8 1.49-4.48 3.973-4.48h61.604l27.295-.061c4.769-.383 6.373 1.937 6.073 5.881v24.618h6c2.168-19.875 15.212-31.314 38.13-30.439h29.832c23.085 0 35.744 14.008 35.744 40.345v17.55l.001 83.882v42.022l-.001.002z" fill-rule="nonzero"/></mask></svg>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg
|
||||
width="100vmin"
|
||||
height="100vmin
|
||||
"
|
||||
viewBox="0 0 340 340"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xml:space="preserve"
|
||||
xmlns:serif="http://www.serif.com/"
|
||||
style="
|
||||
fill-rule: evenodd;
|
||||
clip-rule: evenodd;
|
||||
stroke-linejoin: round;
|
||||
stroke-miterlimit: 2;
|
||||
"
|
||||
>
|
||||
<style>
|
||||
@keyframes rotate {
|
||||
from {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
to {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
#circleboi {
|
||||
transform-origin: 50% 50%;
|
||||
animation-name: rotate;
|
||||
animation-duration: 6s;
|
||||
animation-iteration-count: infinite;
|
||||
animation-timing-function: linear;
|
||||
}
|
||||
</style>
|
||||
<path
|
||||
id="text"
|
||||
d="M104.26,279.309L104.26,92.146L71.496,92.146L71.496,66.804L159.14,66.804L159.14,92.144L126.376,92.146L126.376,279.309M205.817,279.309C195.943,279.309 188.452,276.504 183.552,270.972C178.469,265.237 175.892,256.426 175.892,244.783L175.892,101.33C175.892,89.687 178.469,80.876 183.552,75.14C188.45,69.61 195.942,66.806 205.816,66.806L238.58,66.806C258.435,66.806 268.504,78.42 268.504,101.33L268.504,129.131L247.379,129.131L247.379,109.174C247.379,98.671 241.346,92.147 231.631,92.147L213.759,92.147C203.899,92.147 198.009,98.512 198.009,109.174L198.009,236.938C198.009,247.601 203.899,253.966 213.759,253.966L231.629,253.966C241.491,253.966 247.379,247.601 247.379,236.939L247.379,193.575L230.499,193.575L230.499,168.23L268.503,168.23L268.503,244.785C268.503,267.695 258.435,279.309 238.579,279.309L205.815,279.309L205.817,279.309Z"
|
||||
style="fill-rule: nonzero;" fill="#a4b4c596"
|
||||
/>
|
||||
<g mask="url(#textmask)" fill="#a4b4c596">
|
||||
<path
|
||||
id="circleboi"
|
||||
d="M52.637,76.985L18.344,100.266L21.88,141.563L2.335,178.114L24.655,213.037L24.334,254.481L60.327,275.033L79.305,311.88L120.727,313.353L154.653,337.161L192.017,319.211L233.12,324.528L257.861,291.272L296.727,276.871L303.177,235.932L330.903,205.122L317.587,165.871L327.817,125.706L297.788,97.137L288.18,56.819L248.314,45.477L221.07,14.243L180.501,22.728L141.862,7.731L109.881,34.098L68.701,38.776L52.636,76.985L52.637,76.985ZM216.761,280.742L233.774,257.052L261.937,246.736L266.17,217.095L286.412,194.913L276.395,166.806L284.078,137.84L262.106,117.706L255.471,88.592L226.577,81.044L207.143,58.451L177.947,65.218L150.167,54.321L127.357,73.853L97.594,77.15L86.396,104.972L61.469,121.707L64.448,151.446L50.067,177.785L66.541,202.627L66.007,232.209L78.356,239.26L92.195,246.791L105.376,272.936L118.069,273.388L118.261,273.589L135.534,273.821L159.847,291.067L186.628,277.524L216.245,281.435L216.761,280.742Z"
|
||||
/>
|
||||
</g>
|
||||
<mask id="textmask">
|
||||
<rect x="0" y="0" width="340" height="340" style="fill: white;" />
|
||||
<path
|
||||
d="M274.325,244.784C274.325,271.12 261.665,285.129 238.581,285.129L205.817,285.129C197.487,285.129 190.939,282.647 185.081,279.839C170.502,272.852 169.064,241.181 169.064,241.181L132.196,241.181L132.196,280.645C132.196,283.725 130.956,285.127 128.224,285.127L102.413,285.127C99.931,285.127 98.441,283.727 98.441,280.645L98.441,249.868L98.131,249.373L98.655,97.966L69.646,97.966C67.164,97.966 65.674,96.284 65.674,93.483L65.674,65.464C65.674,62.664 67.164,60.984 69.647,60.984L131.251,60.984L158.546,60.923C163.315,60.54 164.919,62.86 164.619,66.804L164.619,91.422L170.619,91.422C172.787,71.547 185.831,60.108 208.749,60.983L238.581,60.983C261.666,60.983 274.325,74.991 274.325,101.328L274.325,118.878L274.326,202.76L274.326,244.782L274.325,244.784Z"
|
||||
style="fill-rule: nonzero;"
|
||||
fill="black"
|
||||
/>
|
||||
</mask>
|
||||
</svg>
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 3.8 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M10.001-28.127a1.56 1.56 0 00-1.494.863l-4.71 9.968c-.2.405-.185.883.04 1.274 0 0 1.587 2.605 3.11 5.25C8.47-8.129 9.926-5.448 9.926-5.448c.228.395.639.649 1.094.678l10.99.869a1.538 1.538 0 001.473-.85l4.738-9.956a1.353 1.353 0 00-.04-1.28s-1.598-2.6-3.127-5.24c-1.53-2.641-2.99-5.32-2.99-5.32a1.34 1.34 0 00-1.075-.667l-10.988-.914zm10.13 3.557l-9.302-.4-4.297 8.256c.527.955 1.563 2.818 2.63 4.662a277.167 277.167 0 002.73 4.597l9.302.44 4.277-8.277a264.188 264.188 0 00-2.614-4.667 255.043 255.043 0 00-2.726-4.611zm-4.203 9.474l-.006-.118c0-.76.618-1.377 1.377-1.377h2.657a1.377 1.377 0 010 2.755h-1.28v1.32h1.28a1.378 1.378 0 010 2.754H17.3l-.141-.008-.137-.02-.133-.034-.02-.008a1.375 1.375 0 01-.947-1.308v-3.837l.006-.12zm-4.102-3.75h-.542a1.378 1.378 0 010-2.753h3.838a1.378 1.378 0 010 2.754h-.542v2.963a1.378 1.378 0 01-2.754 0v-2.963zM7.906 9.59c.293-3.12 2.411-5.878 5.147-6.546 3.62-.883 6.813.782 8.206 3.757 1.734.153 3.289.476 4.39.877 1.825.664 3.096 2.121 3.385 3.467.287 1.345-.227 3.594-2.357 5.251-2.033 1.582-5.11 3.904-10.735 4.685-3.934.545-7.657.16-10.079-.72-1.825-.665-2.602-2.185-2.89-3.53-.288-1.346.124-3.522 2.371-5.41a19.03 19.03 0 012.562-1.83zm7.186-4.866a4.295 4.295 0 00-1.226.09c-2.652.567-4.101 3.15-3.444 6.225.162.754.827 1.222 1.728 1.452a.74.74 0 00.248.122c.97.298 3.958.606 6.673-.72-3.737 1.952-10.019 2.722-10.953.313-.487.32-.937.649-1.35.978-.998.794-1.805 2.096-1.605 3.037.202.941 1.105 1.611 2.382 2.076 2.231.812 5.58.913 9.159.147 3.58-.766 6.592-2.23 8.296-3.884.975-.946 1.523-1.928 1.321-2.87-.2-.94-1.103-1.611-2.38-2.076a10.673 10.673 0 00-2.11-.509c-.118.72-.682 1.41-1.522 2.024.274-.615-.632-6.176-5.203-6.406h-.014z" fill="#fff"/><path d="M14.704 5.755s-1.927.178-2.952 1.645c-.44.629-.731 1.492-.614 2.688a.75.75 0 101.492-.146c-.073-.745.078-1.291.351-1.683.64-.916 1.853-1.009 1.853-1.009a.752.752 0 00.682-.812.752.752 0 00-.812-.683zM7.966 13.146s2.231 2.503 8.033.823c6.088-1.765 6.3-3.979 6.3-3.979s4.46.91 2.802 3.394c-1.229 1.84-7.796 5.678-15.5 4.49-6.957-1.073-1.635-4.728-1.635-4.728zM11.763 24.14l.435 2.433a1 1 0 001.97-.352l-.436-2.433a1 1 0 00-1.969.352zM12.656 29.135l.145.811a1 1 0 001.969-.352l-.145-.811a1 1 0 00-1.969.352z" fill="#fff"/><path d="M11.763 24.14l.435 2.433a1 1 0 001.97-.352l-.436-2.433a1 1 0 00-1.969.352zM18.937 27.856l.145.811a1 1 0 001.97-.352l-.146-.811a1 1 0 00-1.969.352zM18.045 22.86l.435 2.434a1 1 0 001.969-.352l-.435-2.433a1 1 0 00-1.97.352zM21.106 21.828l.474 2.651a1 1 0 001.969-.352l-.474-2.651a1 1 0 00-1.97.352zM14.965 23.567l.21 1.177a1 1 0 001.97-.352l-.21-1.177a1 1 0 00-1.97.352zM22.063 27.181l.21 1.177a1 1 0 001.97-.352l-.211-1.177a1 1 0 00-1.969.352zM15.65 27.405l.444 2.477a1.001 1.001 0 001.968-.352l-.442-2.477a1.001 1.001 0 00-1.97.352z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M34.667 200c4.266-2.167 8.781-2.035 13.504 0 4.966-2.083 9.477-2.527 13.162 0v1.802c1.62 1.622 2.522-.604 2.43.064-.081.587-.974 2.426-2.43 3.514V208c-4.444 3.844-8.889 3.814-13.333 0-4.444 3.533-8.889 3.631-13.333 0v-3.185c-3.365-.685-5.785-3.485-5.267-3.893.214-.168 2.486 1.573 5.267.493V200z" fill="none" stroke="#fff" stroke-width="2.94" transform="matrix(.68295 -.09015 .094 .65491 -34.544 -105.945)"/><path d="M24.338 11.354a1 1 0 011.122-.382c.588.185 1.087.593 1.455 1.14.467.694.717 1.618.699 2.439-.026 1.195-.626 2.13-1.58 2.376a.967.967 0 01-.234.032c-1.529.026-13.945.618-19.716 2.798a.997.997 0 01-.888-.09s-2.905-1.9-1.877-4.84c.089-.252.274-.458.513-.573.235-.111.869-.255 1.799-.371 3.068-.384 9.97-.822 14.66-1.533 1.44-.218 2.66-.457 3.47-.736a4.5 4.5 0 00.577-.26zm.884 1.801a3.53 3.53 0 01-.349.173c-.872.378-2.41.716-4.281 1-4.127.625-9.955 1.042-13.415 1.395-.906.092-1.63.16-2.073.234-.072.81.43 1.414.798 1.742 5.907-2.016 17.32-2.66 19.616-2.733a.882.882 0 00.063-.164c.07-.312.032-.693-.078-1.046a2.018 2.018 0 00-.281-.6z" fill="#fff"/><path d="M5.793 14.951s-.137-2.57.835-5.182c.931-2.503 2.928-5.049 7.192-5.214 8.694-.338 10.19 7.553 10.19 7.553a1 1 0 001.967-.365S24.229 2.148 13.74 2.556C3.214 2.966 3.796 15.06 3.796 15.06a1.001 1.001 0 001.997-.109z" fill="#fff"/><ellipse cx="44.951" cy="213.534" rx="1.186" ry=".553" fill="none" stroke="#fff" stroke-width="1.82" transform="matrix(1.11473 -.09793 .10213 1.06897 -58.862 -199.662)"/><ellipse cx="44.951" cy="213.534" rx="1.186" ry=".553" fill="none" stroke="#fff" stroke-width="1.82" transform="matrix(1.11473 -.09793 .10213 1.06897 -49.907 -200.868)"/><path d="M7.126 11.972s1.968.129 4.526.137c.58.002 1.184-.014 1.803-.042.397-.018.798-.041 1.198-.081.4-.039.797-.094 1.191-.153a44.346 44.346 0 001.78-.306c2.176-.421 3.928-.849 4.447-1.014a.318.318 0 00-.124-.623c-.533.045-2.305-.009-4.483 0-.581.002-1.183.013-1.8.037-.396.015-.796.035-1.195.069-.4.035-.798.085-1.19.139-.613.084-1.209.177-1.778.282-2.514.462-4.429.922-4.429.922a.317.317 0 00.054.633zM8.73 9.434s1.316.036 3.012.002c.386-.008.79-.024 1.201-.048.265-.015.532-.032.8-.058.265-.026.531-.06.794-.096.408-.055.808-.117 1.19-.181 1.448-.245 2.624-.493 2.97-.592a.159.159 0 10-.062-.312c-.353.04-1.54.045-2.988.085-.386.01-.789.025-1.2.047-.264.014-.53.03-.797.053a36.187 36.187 0 00-1.983.256 83.35 83.35 0 00-2.964.527.159.159 0 10.027.317z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.5 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M41.523-19.66a5.6 5.6 0 011.905-.918 5.662 5.662 0 012.197-.15L44.49-18.13c-.128.016-.257.041-.384.075l-.28.092-2.302-1.697zm-3.384-2.494a9.342 9.342 0 014.258-2.477 9.342 9.342 0 014.927.016l-1.063 2.433a6.682 6.682 0 00-3.187.075 6.682 6.682 0 00-2.798 1.528l-2.137-1.575zm-3.472-2.559a13.025 13.025 0 016.59-4.171 13.03 13.03 0 017.795.317l-1.05 2.4a10.437 10.437 0 00-6.068-.194 10.437 10.437 0 00-5.159 3.202l-2.108-1.554z" fill="#fff"/><path d="M24.878 11.56a4.44 4.44 0 00-4.439-4.44H11.56a4.44 4.44 0 00-4.439 4.44v8.879a4.44 4.44 0 004.44 4.44h8.878a4.44 4.44 0 004.44-4.44V11.56zM13.04 7.12V4.162M18.959 7.12V4.162M13.04 27.838v-2.96M18.959 27.838v-2.96M24.878 13.04h2.96M24.878 18.959h2.96M4.161 13.04h2.96M4.161 18.959h2.96" fill="none" stroke="#fff" stroke-width="2.9965410000000006"/><path d="M11.626 20.298V14.04c0-1.208.979-2.187 2.186-2.187h.001c1.208 0 2.187.98 2.187 2.187v6.196M20.437 20.298v-8.444M12.176 17.055H16" fill="none" stroke="#fff" stroke-width="2.9965410000000006"/></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M41.523-19.66a5.6 5.6 0 011.905-.918 5.662 5.662 0 012.197-.15L44.49-18.13c-.128.016-.257.041-.384.075l-.28.092-2.302-1.697zm-3.384-2.494a9.342 9.342 0 014.258-2.477 9.342 9.342 0 014.927.016l-1.063 2.433a6.682 6.682 0 00-3.187.075 6.682 6.682 0 00-2.798 1.528l-2.137-1.575zm-3.472-2.559a13.025 13.025 0 016.59-4.171 13.03 13.03 0 017.795.317l-1.05 2.4a10.437 10.437 0 00-6.068-.194 10.437 10.437 0 00-5.159 3.202l-2.108-1.554z" fill="#fff"/><path d="M24.878 11.56a4.44 4.44 0 00-4.439-4.44H11.56a4.44 4.44 0 00-4.439 4.44v8.879a4.44 4.44 0 004.44 4.44h8.878a4.44 4.44 0 004.44-4.44V11.56z" fill="none" stroke="#fff" stroke-width="1.9976940000000003"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="2.97" transform="matrix(1.10983 0 0 .89721 -72.787 -86.756)"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="2.97" transform="matrix(1.10983 0 0 .89721 -66.868 -86.756)"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="3.13" transform="matrix(1.10983 0 0 .77909 -72.787 -53.187)"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="3.13" transform="matrix(1.10983 0 0 .77909 -66.868 -53.187)"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="3" transform="matrix(0 1.10983 -.87358 0 116.362 -72.787)"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="3" transform="matrix(0 1.10983 -.87358 0 116.362 -66.868)"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="3.07" transform="matrix(0 1.10983 -.82634 0 90.1 -72.787)"/><path d="M77.333 104v-2.667" fill="none" stroke="#fff" stroke-width="3.07" transform="matrix(0 1.10983 -.82634 0 90.1 -66.868)"/><path d="M11.626 20.298V14.04c0-1.208.979-2.187 2.186-2.187h.001c1.208 0 2.187.98 2.187 2.187v6.196M20.437 20.298v-8.444M12.176 17.055H16" fill="none" stroke="#fff" stroke-width="2.9965410000000006"/><g><path d="M37.451 11.926h-2.785a1.5 1.5 0 000 3h2.785a1.5 1.5 0 000-3z" fill="#fff"/></g></svg>
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M41.523 12.34a5.6 5.6 0 011.905-.918 5.662 5.662 0 012.197-.15L44.49 13.87c-.128.016-.257.041-.384.075l-.28.092-2.302-1.697zm-3.384-2.494a9.342 9.342 0 014.258-2.477 9.342 9.342 0 014.927.016L46.26 9.818a6.682 6.682 0 00-3.187.075 6.682 6.682 0 00-2.798 1.528l-2.137-1.575zm-3.472-2.559a13.025 13.025 0 016.59-4.171 13.03 13.03 0 017.795.317l-1.05 2.4a10.437 10.437 0 00-6.068-.194 10.437 10.437 0 00-5.159 3.202l-2.108-1.554zM11.23 4.312c0-.908-.737-1.645-1.644-1.645h-3.29c-.907 0-1.644.737-1.644 1.645v6.16a2.668 2.668 0 00-2.046 2.595v13.03a2.668 2.668 0 002.667 2.667h5.337a2.668 2.668 0 002.667-2.667v-13.03c0-1.26-.874-2.316-2.047-2.595v-6.16zM9.356 17.475c0-.363.294-.656.655-.656h1.313c.361 0 .655.293.655.656v6.684a.656.656 0 01-.655.656H10.01a.656.656 0 01-.655-.656v-6.684zm.26.469c0-.19.154-.344.344-.344h.688c.19 0 .344.155.344.344v5.746c0 .19-.155.344-.344.344H9.96a.345.345 0 01-.344-.344v-5.746zm1.614-5.591c0 .907-.737 1.643-1.644 1.643h-3.29a1.645 1.645 0 01-1.644-1.643v-1.128c0 .907.737 1.645 1.645 1.645h3.289c.907 0 1.644-.738 1.644-1.645v1.128z" fill="#fff"/><path d="M82.667 87.171h3.578c1.492 0 2.701.782 2.701 1.747v.002c0 .463-.284.907-.791 1.235-.506.328-1.194.512-1.91.512h-.146" fill="none" stroke="#fff" stroke-width="1.5" transform="matrix(1.0224 0 0 -1.581 -68.817 157.545)"/><path d="M86.443 87.171h.771c.459 0 .9.18 1.225.5.325.32.507.754.507 1.206v.083c0 .453-.182.887-.507 1.207-.325.32-.766.5-1.225.5h-1.115" fill="none" stroke="#fff" stroke-width="1.21" transform="matrix(1.64283 0 0 1.66784 -120.063 -125.66)"/><path d="M82.667 87.171h5.007c.703 0 1.272.782 1.272 1.747v.002c0 .965-.569 1.747-1.272 1.747h-.162" fill="none" stroke="#fff" stroke-width="1.05" transform="matrix(2.1708 0 0 -1.581 -163.751 157.545)"/></svg>
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><circle cx="72" cy="152" r="2.667" fill="none" stroke="#fff" stroke-width="2" transform="translate(-64 -126.455)"/><path d="M93.333 146.667H66.667h0c0 1.473 1.943 2.666 4.341 2.666h17.984c2.398 0 4.341-1.193 4.341-2.666 0 0 0 0 0 0z" fill="none" stroke="#fff" stroke-width="1.62" transform="matrix(.9131 0 0 1.48665 -57.048 -202.043)"/><path fill="none" stroke="#fff" stroke-width="1.78" d="M66.667 146.667h26.667v2.667H66.667z" transform="matrix(.55622 0 0 1.48665 -28.498 -209.79)"/><path fill="none" stroke="#fff" stroke-width="1.78" d="M66.667 146.667h26.667v2.667H66.667z" transform="matrix(.55622 0 0 1.48665 -28.498 -213.826)"/><circle cx="72" cy="152" r="2.667" fill="none" stroke="#fff" stroke-width="2" transform="translate(-48 -126.455)"/></svg>
|
Before Width: | Height: | Size: 925 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M12.072 14.416V4.121a1.455 1.455 0 011.454-1.454h5.09a1.455 1.455 0 011.453 1.454v10.295l5.722 10.449a3.018 3.018 0 01-2.647 4.468H8.997a3.018 3.018 0 01-2.648-4.468l5.723-10.449zm6.027-9.779h-4.057v10.031a.99.99 0 01-.121.473l-5.844 10.67a1.048 1.048 0 00.92 1.553l14.147-.001a1.047 1.047 0 00.92-1.553c-2.207-4.027-5.844-10.669-5.844-10.669a.979.979 0 01-.12-.473V4.637zm-2.604 13.402h3.489l3.926 7.628a.556.556 0 01-.492.807H9.723a.554.554 0 01-.492-.807l3.926-7.628h1.23l-3.107 6.053a.493.493 0 00.876.45l3.339-6.503z" fill="#fff"/><path d="M59.485 10.232c0-3.183-2.446-5.767-5.46-5.767h-10.92c-3.014 0-5.461 2.584-5.461 5.767v11.536c0 3.183 2.447 5.767 5.461 5.767h10.92c3.014 0 5.46-2.584 5.46-5.767V10.232z" fill="none" stroke="#fff" stroke-width="2.97" transform="rotate(45 41.436 21.869) scale(.86333 .81734)"/></svg>
|
Before Width: | Height: | Size: 1,006 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M10.557 8.949l4.855-5.534c.202-.229.492-.355.794-.344l3.978.157c.495.02.925.356 1.073.841l.655 2.134 1.274-.189c1.06-.158 2.09.433 2.516 1.441l.906 2.146c.05.115.093.231.13.349l.16.032c.356.07.65.33.768.682l1.077 3.182c.236.693.233 1.442 0 2.127l.509 1.875c.29 1.075-.215 2.209-1.197 2.686l-3.82 1.856-2.416 2.754a5.81 5.81 0 01-3.322 1.894l-5.172.945a3.775 3.775 0 00-1.841.905l-.047.042-1.336-1.571.046-.042a5.792 5.792 0 012.821-1.387l5.172-.944a3.796 3.796 0 002.17-1.237l.696-.795a2.75 2.75 0 01-.884-.587l-.002-.001a2.997 2.997 0 01-.805-2.797l-.386-.197a3.395 3.395 0 01-4.061.422l-3.102-1.863-.585 1.39c-.222.53-.82.773-1.335.545a1.054 1.054 0 01-.53-1.37L10 16.87l-.14-.084a1.06 1.06 0 01-.364-1.427 1.002 1.002 0 011.39-.373l5.008 3.008a1.404 1.404 0 001.764-.262c.523-.57.537-1.453.033-2.04l-2.746-3.203a3.239 3.239 0 00-2.01-1.106l-3.205-.447a1.376 1.376 0 00-1.41.741l-2.124 4.096a2.01 2.01 0 00-.226.927v4.831a4.13 4.13 0 01-.825 2.481l-.643.854a.999.999 0 01-1.425.188 1.061 1.061 0 01-.183-1.462l.643-.854c.26-.346.401-.77.401-1.207v-4.83c0-.666.16-1.32.465-1.908.5-.967 1.446-2.79 2.123-4.096.673-1.295 2.06-2.024 3.478-1.826l.553.077zm16.58 8.881a3.049 3.049 0 01-.589.223l-4.886 1.3-.262.43a.88.88 0 00.13 1.08v.002a.713.713 0 00.815.136l4.84-2.352a.21.21 0 00.11-.243l-.157-.576zm-7.154-.248l.084.042 5.971-1.59a1.14 1.14 0 00.715-.576c.149-.285.174-.622.07-.928l-.456-1.353a3.818 3.818 0 01-1.488 1.429l-4.82 2.575a3.824 3.824 0 01-.076.401zm-.29-2.556l4.247-2.27c.821-.439 1.173-1.455.804-2.327l-.906-2.145a.337.337 0 00-.36-.206l-.949.14.277.902a2.485 2.485 0 01-.856 2.701l-2.708 2.061a.939.939 0 01-.272.145l.247.289c.19.22.349.46.476.71zm-6.7-5.738l.216.03a5.258 5.258 0 013.262 1.795l.842.983.956-.07 2.471-1.88a.368.368 0 00.127-.4l-1.366-4.458-2.898-.115-3.61 4.115z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 1.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M-17.016-24.02s.147 3.67.147 7.342c0 3.673-.147 7.343-.147 7.343a1 1 0 002 0s-.146-3.67-.146-7.343c0-3.672.146-7.342.146-7.342a1 1 0 00-2 0zM22.438 27.319l-10.83-12.855a6.123 6.123 0 01-8.753-6.441l.01-.058a1.19 1.19 0 01.179-.465.12.12 0 01.095-.056.126.126 0 01.071.017l4.045 4.044c.273.274.671.38 1.044.28l2.091-.56c.373-.1.665-.392.765-.765l.56-2.091c.1-.373-.006-.772-.279-1.045L7.389 3.277a.114.114 0 01-.015-.067.124.124 0 01.056-.097c.171-.113.332-.155.465-.179l.058-.01a6.123 6.123 0 016.441 8.755l12.854 10.83a3.488 3.488 0 01.601 5.412 3.487 3.487 0 01-5.41-.602zm1.497-3.312a2.05 2.05 0 112.899 2.898 2.05 2.05 0 01-2.9-2.898zm-1.419.155s-9.185-10.578-9.411-10.387a.535.535 0 00-.067.752l8.659 10.322a.534.534 0 10.82-.687zM3.296 8.698c.047-.14.661 1.08.877 1.633.432 1.108 1.281 2.506 2.785 3.17 1.004.441 2.296.55 3.942.043a.267.267 0 11.157.51c-1.802.556-3.216.42-4.314-.065-1.65-.728-2.595-2.248-3.07-3.464-.236-.61-.355-1.14-.39-1.454a.993.993 0 01.013-.373zM50.865 3.288a.517.517 0 00-.916-.401L39.305 16.396a.515.515 0 00.377.834l7.479.406a.516.516 0 01.465.665c-.55 1.813-2.16 7.12-3.136 10.343a.515.515 0 00.898.47l11.347-14.243a.514.514 0 00-.395-.838c-1.746-.03-5.197-.093-6.58-.118a.515.515 0 01-.5-.598c.282-1.769 1.137-7.109 1.605-10.03z" fill="#fff"/><path d="M52.561 5.261c4.175 1.776 7.106 5.918 7.106 10.739 0 6.163-4.79 11.217-10.848 11.635l1.841-2.348c4.045-1.15 7.007-4.875 7.007-9.287a9.643 9.643 0 00-5.435-8.68l.329-2.059zm-6.109-.822l-2.045 2.593A9.658 9.658 0 0038.333 16a9.644 9.644 0 005.33 8.629l-.59 1.945c-3.98-1.856-6.74-5.895-6.74-10.574 0-5.914 4.411-10.807 10.119-11.561zm.026 21.096l.431.066-.728.914.297-.98zm2.869-19.097l-.359-.055-.501-.025 1.096-1.39-.236 1.47zM53.552-3.945l-1.555 1.572a.887.887 0 01-1.264 0L37.182-16.068l-.42.425a.887.887 0 01-1.264 0l-1.075-1.086a.91.91 0 010-1.278L46.04-29.746a.887.887 0 011.264 0l1.074 1.086a.91.91 0 010 1.277l-.42.425 13.551 13.695a.91.91 0 010 1.277l-1.88 1.901-1.571-1.587a.356.356 0 00-.124-.094l1.22-1.233c.206-.208.786-.049.58-.258a.523.523 0 00-.747 0l-8.093 8.18a.538.538 0 00-.001.755c.207.208-.038-.29.168-.497l.826-.835c.014.033.045.07.095.122l1.571 1.587zm-16.854-12.72l10.703-10.817c.262-.264.385-.568.276-.679-.109-.11-.262.165-.523.43L36.45-16.915c-.26.264-.533.419-.424.529.109.11.41-.016.671-.28zM50.272-5.394l8.247-8.335L46.693-25.68l-8.247 8.335L50.272-5.394zm-8.266-17.934l2.495-2.52a.537.537 0 000-.754.523.523 0 00-.747 0l-2.494 2.52a.537.537 0 000 .754c.207.209.54.209.746 0zM55.784-9.594l1.43-1.446c.015.034.046.071.096.122l1.57 1.587-1.402 1.418-1.57-1.587a.356.356 0 00-.124-.094zm-3.18 3.214l2.462-2.487c.013.033.044.07.095.122l1.57 1.587L54.3-4.7l-1.57-1.587a.353.353 0 00-.124-.093zM37.986-19.264l2.494-2.52a.538.538 0 000-.754.524.524 0 00-.747 0l-2.493 2.52a.538.538 0 000 .755c.206.208.54.208.746 0z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path fill="none" stroke="#fff" stroke-width="1.54" d="M37.333 133.333H56V152H37.333z" transform="matrix(1.29531 0 0 1.30772 -44.448 -170.568)"/><path fill="none" stroke="#fff" stroke-width="2.48" d="M37.333 133.333H56V152H37.333z" transform="matrix(.801 0 0 .80867 -21.38 -99.37)"/><path d="M3.91 28.205l4.658-4.657M23.431 8.684l4.658-4.657M3.911 4.026l4.657 4.658M23.432 23.547l4.657 4.658" fill="none" stroke="#fff" stroke-width="2"/><path d="M12.906 8.683L23.43 19.21M8.569 13.02l10.524 10.527" fill="none" stroke="#fff" stroke-width="1.9887032"/><path d="M8.569 18.666h5.262" fill="none" stroke="#fff" stroke-width="1.997475"/><path d="M17.64 13.02l5.814.002" fill="none" stroke="#fff" stroke-width="2.0037063"/></svg>
|
Before Width: | Height: | Size: 892 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M-5.412-18.966a1 1 0 00-1.225-.707l-17.423 4.668c-.534.144-.85.692-.708 1.225l2.784 10.39a1 1 0 001.225.707l17.423-4.669a1 1 0 00.707-1.225l-2.783-10.39zm-13.131 13.05l3.29-.88c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.573l-3.29.882c-.496.133-.801.605-.68 1.054.12.449.62.705 1.117.573zm-1.142-2.915l3.29-.881c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.572l-3.29.881c-.496.134-.801.605-.68 1.054.12.449.62.706 1.117.573zm8.76-6.528a3.366 3.366 0 00-2.38 4.12A3.367 3.367 0 00-9.182-8.86a3.367 3.367 0 002.378-4.12 3.366 3.366 0 00-4.12-2.378zm-9.817 3.57l3.29-.882c.496-.132.8-.606.68-1.054-.12-.45-.62-.705-1.116-.573l-3.29.882c-.496.133-.802.605-.68 1.054.119.45.62.706 1.116.572zm10.27-1.878a1.614 1.614 0 01.835 3.116 1.614 1.614 0 01-.835-3.116zM8.687 22.754c-.976-1.686-1.628-3.477-1.628-5.085 0-.61.06-1.178.177-1.704a6.709 6.709 0 01-5.489-6.594c0-3.7 3.004-6.704 6.705-6.704a6.707 6.707 0 016.584 7.969 15.883 15.883 0 011.927 0 6.707 6.707 0 016.585-7.969c3.7 0 6.704 3.003 6.704 6.704a6.709 6.709 0 01-5.49 6.594c.117.526.178 1.094.178 1.704 0 1.61-.654 3.405-1.632 5.093l.69-.076c1.827-.19 3.445-.286 3.445-.286a.72.72 0 11.154 1.43s-1.6.25-3.428.455c-.66.074-1.348.142-1.999.203-.102.139-.207.276-.312.41a89.736 89.736 0 015.64 1.426.719.719 0 11-.336 1.4s-1.591-.304-3.38-.727a133.94 133.94 0 01-3.06-.768c-1.691 1.808-3.519 3.049-4.723 3.049-1.201 0-3.024-1.236-4.71-3.036-.898.236-1.985.513-3.007.755-1.79.423-3.381.727-3.381.727a.72.72 0 01-.336-1.4s1.555-.453 3.34-.89a112.56 112.56 0 012.245-.523c-.11-.14-.219-.284-.326-.43-.63-.058-1.294-.126-1.93-.196-1.827-.204-3.428-.454-3.428-.454a.72.72 0 11.154-1.43s1.618.096 3.446.285l.62.068zm7.312.361c.767 0 1.388.33 1.388 1.096 0 .767-.955 1.802-1.388 1.802-.433 0-1.387-1.035-1.387-1.802 0-.765.621-1.096 1.387-1.096zm-3.693-6.798a2.008 2.008 0 010 4.015 2.008 2.008 0 010-4.015zm7.387 0a2.008 2.008 0 110 4.015 2.008 2.008 0 010-4.015zm-6.096-5.525a5.342 5.342 0 00-5.146-6.76A5.342 5.342 0 003.113 9.37a5.342 5.342 0 004.567 5.283c1.02-2.183 3.212-3.423 5.918-3.862zm10.723 3.862a5.342 5.342 0 004.567-5.283 5.342 5.342 0 00-5.34-5.34 5.342 5.342 0 00-5.146 6.76c2.708.44 4.898 1.68 5.919 3.863zM7.281 13.61a4.331 4.331 0 01-3.158-4.166 4.33 4.33 0 014.329-4.327 4.33 4.33 0 014.272 5.016c-2.384.512-4.338 1.64-5.443 3.477zm11.994-3.477a4.33 4.33 0 014.273-5.017 4.33 4.33 0 014.327 4.328 4.331 4.331 0 01-3.157 4.166c-1.106-1.837-3.059-2.965-5.443-3.477zM-15.69 40.852c3.02-1.958 7.309-4.454 9.655-5.444.934-.394 1.653-.536 2-.495a1.22 1.22 0 011.112 1.197c.012.324-.156 1.01-.548 1.91-1.01 2.323-3.455 6.597-5.382 9.621l.046 4.527c.002.213-.061.423-.18.6l-3.329 4.923a1.052 1.052 0 01-1.91-.763l.79-4.75c-.319.08-.646.129-.976.147-1.565-2.35-3.54-4.314-5.914-5.907.018-.332.067-.661.148-.981l-4.75.79a1.053 1.053 0 01-.763-1.912l4.923-3.328c.177-.119.386-.182.6-.18l4.479.045zm2.29 8.66l-4.014-4.016c-.295-.294-1.146-.407-1.065 0 .015.075.028.298.234.388 1.407.609 3.902 3.387 4.483 4.477.112.21.318.225.362.215.404-.098.294-.77 0-1.065zm5.527-9.639a2.437 2.437 0 01-3.446 3.445 2.437 2.437 0 013.446-3.445zm-.747.747a1.38 1.38 0 11-1.953 1.95 1.38 1.38 0 011.953-1.95zM23.471 48c-1.738 7.984-7.222 9.968-7.472 9.968v-9.063a.904.904 0 01.904-.904h6.568zM16 38.834v8.264a.904.904 0 01-.904.904H8.553c-.341-1.543-.545-3.31-.553-5.333 2.052 0 3.975-.653 8-3.835z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 3.4 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M16.011 2.557c-7.354 0-13.326 5.956-13.326 13.292 0 7.336 5.972 13.292 13.326 13.292 7.355 0 13.326-5.956 13.326-13.292 0-7.336-5.97-13.292-13.326-13.292zm0 1.55c6.497 0 11.771 5.261 11.771 11.742 0 6.48-5.274 11.74-11.77 11.74-6.497 0-11.771-5.26-11.771-11.74S9.515 4.108 16.01 4.108z" fill="#fff"/><path d="M5.54 18.463l2.462.686c.08.192.166.381.26.566l-.454-.035-.694 1.094 1.461-.487.036.06.046.073-.039-.002-.694 1.093 1.21-.402c.073.093.146.185.222.275l-.342 1.347.956-.687.064.062.11.101-.32 1.26.988-.707.02.015.152.109.162 2.566c-.29-.144-.57-.3-.843-.47l.567-1.163-1.358.625c-.3-.225-.589-.466-.862-.72l-.087-.148.208-1.502-.919.828-.163-.193-.107-.132.872-.672-1.398-.04a10.702 10.702 0 01-.54-.892l-.022-.31.853-1.254-1.38.387a10.524 10.524 0 01-.427-1.331zm18.116 4.841c-.325.336-.67.649-1.034.938l-.465-.572-.003.924c-.469.332-.964.627-1.48.88l-.983-.631.29.942c-.125.051-.251.1-.378.146l-.199-.872-.557 1.116c-.362.103-.73.187-1.105.25l-.288-.108-.78-1.301-.251 1.552c-.372.017-.748.014-1.124-.008l1.427-2.142c.29-.026.577-.068.862-.123l-.082.143.706 1.087.157-1.422.167-.05.005-.003.682 1.049.15-1.362.126-.056.023-.01h.086l1.18.951-.267-1.377h.098l1.18.952-.28-1.44 2.137.547zm-2.494-.619l.018-.014.029.007-.047.007zM10.168 6.889l.1 2.388-1.117-.425.622 1.08c-.072.075-.144.15-.215.228l-.97-.37.523.908c-.114.148-.222.3-.327.457l-1.178-.057.78.721c-.05.09-.097.182-.143.275l-1.2-.057.872.806-.074.201-.03.092-2.434.963c.054-.327.126-.65.213-.975l.06-.215.114.286 1.289.139-1.155-1.172c.091-.245.19-.484.298-.72l.3-.361 1.483-.315-1.098-.587.142-.22.092-.132.916.584-.413-1.255c.291-.357.603-.692.934-1.007l1.45.37-.718-1.002c.284-.224.579-.434.884-.628zm15.282 4.084c.172.33.326.669.463 1.016l-.93.41 1.19.33c.145.461.258.934.339 1.414l-1.054.944 1.165-.036c.01.139.018.278.025.418l-1.058-.048 1.055.946c-.014.292-.038.586-.076.879l-.285.389-1.461.406 1.446.662.016-.032c-.086.319-.186.63-.3.935L24.36 17.56l.02-.095.023-.134.335.325 1.235-.398-1.483-.577.007-.072.008-.116.082.08 1.235-.399-1.298-.504-.004-.12v-.045l.019-.073 1.227-.891-1.363-.095-.017-.092.002-.005 1.227-.892-1.475-.103-.016-.053-.052-.156 1.379-2.171zm-6.81-5.425l.073.019c.126.033.252.07.377.11l-.033.003-.466 1.209 1.498-.852.167.07.102.047.554.778-.062 1.219-.573.212.115-1.107-.86.856-.134-.061-.166-.07.105-1.024-.781.777c-.13-.04-.26-.08-.394-.116l-.073-.018-.273-1.25-.57 1.076-.157-.023-.033-.004-.294-1.349-.676 1.277h-.032l-1.668-2.012c.341-.05.686-.084 1.033-.1l-.006.004.12 1.29.874-1.297c.256.011.512.031.77.062l.454.243.601 1.391.409-1.36zm2.63 1.07c.465.265.904.563 1.316.889l-1.338.496.672-.72-.65-.665zm-5.336 7.638c-.946 0-1.714.766-1.714 1.71 0 .943.768 1.708 1.714 1.708s1.714-.765 1.714-1.709c0-.943-.768-1.709-1.714-1.709zm0 2.068a.36.36 0 110-.718.36.36 0 010 .718zm-11.171.896l20.24-7.812c.4-.153.6-.603.444-1.002a.78.78 0 00-1.006-.444L4.202 15.775a.774.774 0 00-.444 1.002c.154.4.605.598 1.005.444z" fill="#fff"/><path d="M13.933 27.04L12.479 4.89a.776.776 0 00-.827-.723.776.776 0 00-.725.824l1.454 22.151a.776.776 0 001.552-.102z" fill="#fff"/><path d="M26.538 21.914L12.306 4.452a.78.78 0 00-1.094-.113.773.773 0 00-.113 1.09l14.233 17.463c.27.332.76.383 1.093.112a.773.773 0 00.113-1.09z" fill="#fff"/><path d="M4.28 17.384l21.453 5.768a.774.774 0 10.404-1.497L4.685 15.887a.776.776 0 10-.404 1.497z" fill="#fff"/><path d="M13.81 27.51L25.96 8.668a.773.773 0 00-.233-1.07.778.778 0 00-1.074.232l-12.15 18.843a.775.775 0 00.233 1.071.779.779 0 001.074-.232z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 4.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M15.789 8.175c5.448-2.716 5.88-3.96 5.876-4.41l-.005-.047.002.022v-.019c-.034-.517.399-.978 1-1.046.63-.071 1.21.316 1.291.863 0 0 .662 2.228-5.931 5.803 5.476 3.073 5.947 5.724 5.947 6.534l.013.046s.66 3.078-5.901 6.77c6.53 3.557 5.872 5.771 5.872 5.771-.082.547-.661.934-1.291.863-.63-.071-1.076-.573-1.002-1.043 0 0 .003-.016.005-.047.004-.448-.424-1.686-5.823-4.383-5.4 2.697-5.829 3.935-5.823 4.383l.004.047-.003-.022.003.019c.033.517-.4.978-1.002 1.046-.63.071-1.208-.316-1.29-.863 0 0-.764-2.569 7.512-6.618 5.619-2.734 6.376-4.939 6.444-5.587a.653.653 0 01-.027-.308s.003-.016.005-.047c.004-.465-.458-2.78-6.45-5.696l.005-.009C7.228 6.225 7.974 3.712 7.974 3.712c.082-.547.66-.934 1.29-.863.63.071 1.076.573 1.003 1.043 0 0-.004.016-.005.047-.004.44.408 1.64 5.527 4.236zm-3.42 1.942l.163.082-.005.007c.738.359 1.392.709 1.97 1.047-3.98 2.324-4.453 4.108-4.476 4.599a.607.607 0 01.002.199s-.004.016-.004.047c-.004.41.354 2.259 4.551 4.689-.551.327-1.173.664-1.874 1.007h-.04l-.24.12C7.832 18.986 7.68 16.572 7.718 16c-.038-.57.113-2.969 4.652-5.883z" fill="#fff"/><path d="M83.785 48H76.31" fill="none" stroke="#fff" stroke-width="2.32" transform="matrix(.70074 0 0 1 -40.045 -32)"/><path d="M78.869 37.333h2.468" fill="none" stroke="#fff" stroke-width="2.46" transform="matrix(.56923 0 0 1 -29.597 -32)"/><path d="M78.869 37.333h2.468" fill="none" stroke="#fff" stroke-width="1.84" transform="matrix(.56923 0 0 1 -29.597 -18.667)"/><path d="M78.869 37.333h2.468" fill="none" stroke="#fff" stroke-width="2.46" transform="matrix(.56923 0 0 1 -29.597 -10.667)"/><path d="M78.869 37.333h2.468" fill="none" stroke="#fff" stroke-width="1.84" transform="matrix(.56923 0 0 1 -29.597 -24)"/><path d="M43.793 18.242l1.761.958c.061.034.106.09.125.158a.262.262 0 01-.026.2c-.663 1.191-.12 2.684.122 2.944-1.347 2.65-5.186 6.26-9.254 6.6a.275.275 0 01-.256-.407c.87-1.58 5.41-9.839 6.076-11.05a.171.171 0 01.23-.068l.49.267-5.485 10.086s1.25-.56 1.383-.802l4.834-8.886zm1.502-2.76l2.808 1.528a.577.577 0 01.23.78l-.718 1.323a.577.577 0 01-.78.23l-2.81-1.528 1.27-2.334zm6.464-11.884l3.331.05a.574.574 0 01.497.851c-1.237 2.264-4.67 8.549-6.423 11.768a.575.575 0 01-.781.23l-2.81-1.528L51.76 3.598zm-8.465 13.82l-.134-.073a.579.579 0 01-.23-.78l.72-1.324a.576.576 0 01.78-.23l.134.072-1.27 2.335zm1.549-2.847l-.132-.07a.577.577 0 01-.23-.783l5.407-9.842a.578.578 0 01.514-.299l.417.006-5.976 10.988zM41.523 44.34a5.6 5.6 0 011.905-.918 5.662 5.662 0 012.197-.15L44.49 45.87c-.128.016-.257.041-.384.075l-.28.092-2.302-1.697zm-3.384-2.494a9.342 9.342 0 014.258-2.477 9.342 9.342 0 014.927.016l-1.063 2.433a6.682 6.682 0 00-3.187.075 6.682 6.682 0 00-2.798 1.528l-2.137-1.575zm-3.472-2.559a13.025 13.025 0 016.59-4.171 13.03 13.03 0 017.795.317l-1.05 2.4a10.437 10.437 0 00-6.068-.194 10.437 10.437 0 00-5.159 3.202l-2.108-1.554z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 3 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M-17.016 7.98s.147 3.67.147 7.342c0 3.673-.147 7.343-.147 7.343a1 1 0 002 0s-.146-3.67-.146-7.343c0-3.672.146-7.342.146-7.342a1 1 0 00-2 0zM9.21 12.766C7.28 9.61 5.68 7.308 5.68 7.308a3.191 3.191 0 011.413-4.296 3.22 3.22 0 014.317 1.406s1.016 2.914 2.556 6.575c.157.37.317.75.484 1.133a33.246 33.246 0 011.55-.033c6.967 0 12.612 1.916 12.625 4.277a6.011 6.011 0 01-.26 1.817c-.683 4.793-4.75 11.209-12.296 11.146-8.288-.068-12.535-7.249-12.687-12.669l-.008-.268a.651.651 0 01.014-.2c.187-1.441 2.46-2.699 5.82-3.43zm.797 1.317c-2.274.594-3.728 1.509-3.619 2.513.263 2.416 4.93 4.359 9.612 4.448 3.725.071 9.847-1.691 9.768-4.448-.051-1.775-4.342-3.22-9.69-3.22-.36 0-.717.007-1.067.02.28.621.578 1.246.893 1.864.21.41.429.814.65 1.213 2.3-.552 7.13-.38 7.632-.2.246.088.74.253-.544 1.214-3.022 2.263-10.43 2.522-13.88.701-1.38-.728-2.633-1.62-2.138-2.188 0 0 1.844.405 3.852.661a60.246 60.246 0 00-1.47-2.578zM7.119 6.979s2.906 4.127 5.963 10.138c.164.324 1.398.566 1.243.25-3.279-6.642-6.557-11.294-6.557-11.294a.645.645 0 00-.895-.156c-.29.202.042.774.246 1.062zM52.561 37.261c4.175 1.776 7.106 5.918 7.106 10.739 0 6.163-4.79 11.217-10.848 11.635l1.841-2.348c4.045-1.15 7.007-4.875 7.007-9.287a9.643 9.643 0 00-5.435-8.68l.329-2.059zm-6.109-.822l-2.045 2.593A9.658 9.658 0 0038.333 48a9.644 9.644 0 005.33 8.629l-.59 1.945c-3.98-1.856-6.74-5.895-6.74-10.574 0-5.914 4.411-10.807 10.119-11.561zm.026 21.096l.431.066-.728.914.297-.98zm2.869-19.097l-.359-.055-.501-.025 1.096-1.39-.236 1.47zM53.552 28.055l-1.555 1.572a.887.887 0 01-1.264 0L37.182 15.932l-.42.425a.887.887 0 01-1.264 0l-1.075-1.086a.91.91 0 010-1.278L46.04 2.254a.887.887 0 011.264 0l1.074 1.086a.91.91 0 010 1.277l-.42.425 13.551 13.695a.91.91 0 010 1.277l-1.88 1.901-1.571-1.587a.356.356 0 00-.124-.094l1.22-1.233c.206-.208.786-.049.58-.258a.523.523 0 00-.747 0l-8.093 8.18a.538.538 0 00-.001.755c.207.208-.038-.29.168-.497l.826-.835c.014.033.045.07.095.122l1.571 1.587zm-16.854-12.72L47.401 4.518c.262-.264.385-.568.276-.679-.109-.11-.262.165-.523.43L36.45 15.085c-.26.264-.533.419-.424.529.109.11.41-.016.671-.28zm13.574 11.271l8.247-8.335L46.693 6.32l-8.247 8.335 11.826 11.952zM42.006 8.672l2.495-2.52a.537.537 0 000-.754.523.523 0 00-.747 0l-2.494 2.52a.537.537 0 000 .754c.207.209.54.209.746 0zm13.778 13.734l1.43-1.446c.015.034.046.071.096.122l1.57 1.587-1.402 1.418-1.57-1.587a.356.356 0 00-.124-.094zm-3.18 3.214l2.462-2.487c.013.033.044.07.095.122l1.57 1.587L54.3 27.3l-1.57-1.587a.353.353 0 00-.124-.093zM37.986 12.736l2.494-2.52a.538.538 0 000-.754.524.524 0 00-.747 0l-2.493 2.52a.538.538 0 000 .755c.206.208.54.208.746 0z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M59.485 10.232c0-3.183-2.446-5.767-5.46-5.767h-10.92c-3.014 0-5.461 2.584-5.461 5.767v11.536c0 3.183 2.447 5.767 5.461 5.767h10.92c3.014 0 5.46-2.584 5.46-5.767V10.232z" fill="none" stroke="#fff" stroke-width="2.97" transform="rotate(45 9.436 -55.386) scale(.86333 .81734)"/><path d="M19.08 4.98l.722-1.249a1.86 1.86 0 012.54-.68l2.586 1.493a1.86 1.86 0 01.682 2.54l-.72 1.25a3.878 3.878 0 01.944 4.97L17.7 27.396a3.877 3.877 0 01-5.294 1.418L7.584 26.03a3.877 3.877 0 01-1.419-5.293l8.136-14.091a3.878 3.878 0 014.78-1.666zm-6.746 9.438l-4.278 7.41a1.693 1.693 0 00.619 2.312l.507.293c.022-.272.103-.543.248-.794l4.69-8.126-1.346-.777a2.667 2.667 0 01-.44-.318zm3.587 11.693l.894-1.549-2.707-1.563a.894.894 0 00-.894 1.55l2.707 1.562zm5.089-13.062l-5.943-3.43-1.553 2.69 5.942 3.43 1.554-2.69zm-1.65.06l-3.512-2.027c-.428-.247-.704-.18-.95.246-.247.429-.171.648.257.895l3.512 2.027c.427.247.716.213.963-.215.247-.427.157-.679-.27-.926zm-.028-5.513l-.829-.479a1.692 1.692 0 00-2.178.424c.163.053.324.126.479.216l1.346.777.031-.054a1.897 1.897 0 011.151-.884zm2.198-2.494l-.446.773 2.029 1.17.445-.772-2.028-1.17zM43.793 50.242l1.761.958c.061.034.106.09.125.158a.262.262 0 01-.026.2c-.663 1.191-.12 2.684.122 2.944-1.347 2.65-5.186 6.26-9.254 6.6a.275.275 0 01-.256-.407c.87-1.58 5.41-9.839 6.076-11.05a.171.171 0 01.23-.068l.49.267-5.485 10.086s1.25-.56 1.383-.802l4.834-8.886zm1.502-2.76l2.808 1.528a.577.577 0 01.23.78l-.718 1.323a.577.577 0 01-.78.23l-2.81-1.528 1.27-2.334zm6.464-11.884l3.331.05a.574.574 0 01.497.851c-1.237 2.264-4.67 8.549-6.423 11.768a.575.575 0 01-.781.23l-2.81-1.528 6.186-11.371zm-8.465 13.82l-.134-.073a.579.579 0 01-.23-.78l.72-1.324a.576.576 0 01.78-.23l.134.072-1.27 2.335zm1.549-2.847l-.132-.07a.577.577 0 01-.23-.783l5.407-9.842a.578.578 0 01.514-.299l.417.006-5.976 10.988z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M7.685 20.416a1.482 1.482 0 112 0v1.955h1.648v.502c0 .519.075 1.022.215 1.498h-1.437a3.665 3.665 0 001.953 1.715c.524.978 1.308 1.764 2.248 2.237h-.96a5.667 5.667 0 01-5.667-5.666v-2.241zm6.411 1.919a1.97 1.97 0 001.589-1.931V7.644a1.967 1.967 0 00-1.967-1.967H7.782a1.967 1.967 0 00-1.967 1.967v12.76c0 .778.452 1.451 1.108 1.77v.699c0 .499.069.983.199 1.443a3.969 3.969 0 01-3.307-3.912V7.644a3.968 3.968 0 013.967-3.967h5.936a3.968 3.968 0 013.967 3.967v12.76a3.97 3.97 0 01-3.201 3.893 3.655 3.655 0 003.073 2.016 3.66 3.66 0 003.462-3.656V19.76a1.127 1.127 0 01-.756-1.065v-3.323c0-.517.348-.953.822-1.086v-3.283c0-.395.321-.717.717-.717h.433c.396 0 .717.322.717.717v3.283c.475.133.823.569.823 1.086v3.323c0 .493-.316.912-.756 1.065v2.897a5.582 5.582 0 01-1.359 3.666h.103a3.666 3.666 0 003.666-3.666V19.76a1.127 1.127 0 01-.756-1.065v-3.323c0-.517.348-.953.823-1.086v-3.283c0-.395.321-.717.717-.717h.433c.396 0 .717.322.717.717v3.283c.474.133.822.569.822 1.086v3.323c0 .493-.316.912-.756 1.065v2.897a5.666 5.666 0 01-5.666 5.666h-4a5.667 5.667 0 01-5.667-5.666v-2.241a1.482 1.482 0 112 0v1.919zm-1-2.493a.518.518 0 110-1.037.518.518 0 010 1.037zm-4.411 0a.518.518 0 110-1.037.518.518 0 010 1.037zm14.09-4.47v3.323a.128.128 0 01-.128.128h-1.256a.128.128 0 01-.128-.128v-3.323c0-.071.057-.128.128-.128h1.256c.07 0 .128.057.128.128zm4.41 0v3.323a.128.128 0 01-.128.128h-1.256a.128.128 0 01-.128-.128v-3.323c0-.071.058-.128.128-.128h1.256c.071 0 .128.057.128.128zm-18.034.477a.75.75 0 00-.75-.75h-.302a.75.75 0 00-.75.75v.302c0 .414.336.75.75.75h.302a.75.75 0 00.75-.75v-.302zm2.667 0a.751.751 0 00-.751-.75h-.301a.75.75 0 00-.75.75v.302c0 .414.336.75.75.75h.301a.751.751 0 00.751-.75v-.302zm2.666 0a.75.75 0 00-.75-.75h-.301a.751.751 0 00-.751.75v.302c0 .414.337.75.751.75h.301a.75.75 0 00.75-.75v-.302zm.058-6.558a2.377 2.377 0 00-2.377-2.376H9.413a2.377 2.377 0 00-2.376 2.376v2.752a2.378 2.378 0 002.376 2.376h2.752a2.378 2.378 0 002.377-2.376V9.291zm-1.446-.052a.83.83 0 00-.83-.83H9.294a.83.83 0 00-.83.83v2.855c0 .458.372.83.83.83h2.972a.83.83 0 00.83-.83V9.239zM42.001 3.873a1.56 1.56 0 00-1.494.863l-4.71 9.968c-.2.405-.185.883.04 1.274 0 0 1.587 2.605 3.11 5.25 1.522 2.644 2.979 5.325 2.979 5.325.228.395.639.649 1.094.678l10.99.869a1.538 1.538 0 001.473-.85l4.738-9.956a1.353 1.353 0 00-.04-1.28s-1.598-2.6-3.127-5.24c-1.53-2.641-2.99-5.32-2.99-5.32a1.34 1.34 0 00-1.075-.667l-10.988-.914zm10.13 3.557l-9.302-.4-4.297 8.256c.527.955 1.563 2.818 2.63 4.662a277.167 277.167 0 002.73 4.597l9.302.44 4.277-8.277a264.188 264.188 0 00-2.614-4.667 255.043 255.043 0 00-2.726-4.611zm-4.203 9.474l-.006-.118c0-.76.618-1.377 1.377-1.377h2.657a1.377 1.377 0 010 2.755h-1.28v1.32h1.28a1.378 1.378 0 010 2.754H49.3l-.141-.008-.137-.02-.133-.034-.02-.008a1.375 1.375 0 01-.947-1.308v-3.837l.006-.12zm-4.102-3.75h-.542a1.378 1.378 0 010-2.753h3.838a1.378 1.378 0 010 2.754h-.542v2.963a1.378 1.378 0 01-2.754 0v-2.963z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 3 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M14.652-12.822c.341.353.82.572 1.348.572.528 0 1.006-.22 1.347-.572l.75.433a5.337 5.337 0 002.185 6.835 5.338 5.338 0 006.443-.852l.8.46a7.202 7.202 0 01-9.029 1.51A7.153 7.153 0 0116-6.841a7.164 7.164 0 01-2.497 2.407 7.202 7.202 0 01-9.029-1.51.46.46 0 01.8-.461h0a5.338 5.338 0 006.443.852 5.337 5.337 0 002.185-6.835l.75-.433zm12.073 6.416a.46.46 0 01.8.461l-.8-.461zM16.58-17.144a5.337 5.337 0 004.797-5.307 5.338 5.338 0 00-3.959-5.154v-.923a7.2 7.2 0 015.821 7.064 7.147 7.147 0 01-.968 3.604 7.168 7.168 0 013.422.962A7.203 7.203 0 0128.9-8.324a.461.461 0 01-.63.166.46.46 0 01-.17-.628h0a5.339 5.339 0 00-2.484-6.006 5.337 5.337 0 00-6.925 1.408l-.834-.482a1.877 1.877 0 00-1.277-2.042v-1.236zM3.9-8.786a.46.46 0 01-.17.628.46.46 0 01-.629-.166l.8-.462zm9.41-4.598a5.337 5.337 0 00-6.926-1.408A5.339 5.339 0 003.9-8.786l-.799.462a7.202 7.202 0 013.206-8.574 7.157 7.157 0 013.508-.963 7.2 7.2 0 014.854-10.667.46.46 0 010 .923h0a5.338 5.338 0 00-3.959 5.154 5.336 5.336 0 004.71 5.297v1.246a1.877 1.877 0 00-1.277 2.042l-.834.482zm4.107-14.221a.46.46 0 010-.923v.923z" fill="#fff" stroke="#fff" stroke-width=".5"/><path d="M-10.245 18.308l7.278 6.013c.237.197.347.51.283.812 0 0-.38 1.737-1.127 2.752-.43.584-.982.942-1.586.962-.413.014-.877-.118-1.372-.535-1.193-1.009-3.883-3.812-5.647-5.679l-.523.618s-13.19-9.37-14.382-11.834c-2.842-5.876.655-8.752.655-8.752l16.42 15.643zM-25.835 5.33c-.005-.004-.003-.004-.008.003l.01.01c.022.139-.002 1.22 1.448 3.026 2.07 2.576 6.595 6.533 12.623 10.297L-25.833 5.343l-.002-.013zm7.978 16.176c-2.219 2.134-3.937 3.778-4.075 3.893-2.128 1.778-3.12 2.6-4.956 1.428-2.293-1.465-1.834-5.083.125-6.971l.219-.213-.012.45a40.478 40.478 0 00-.072 2.62c0 .515.343.917.768.905.428-.01.781-.433.795-.947l.07-2.563c.047-.725.116-1.45.22-2.171l1.029-.992 1.223.984c-.01.376-.013.754-.013 1.13.002.513.344.915.77.903.392-.01.722-.367.783-.825l.818.629c.298.228.597.456.897.683l1.411 1.057zm5.676-15.72l.008-.009c1.959-1.888 5.137-1.884 6.97.125 1.26 1.38.201 2.982-2.067 5.346-.356.373-1.961 1.935-3.987 3.895l-5.152-4.909.07-.438 2.242-2.162-.037 1.367a40.478 40.478 0 00-.072 2.62c0 .514.343.917.769.905.426-.012.78-.435.793-.949l.072-2.561a26.07 26.07 0 01.391-3.23zm.838 15.575c1.724 1.831 4.446 4.675 5.641 5.685.095.08.168.144.247.145.095.002.152-.094.223-.174.122-.142.229-.315.324-.498a6.96 6.96 0 00.484-1.254l-6.019-4.973-.9 1.069zM12.144 26.448l-1.161-3.809a.987.987 0 01-.044-.291c0-1.565 1.337-2.877 3.031-2.877h4.06c1.694 0 3.031 1.312 3.031 2.877a.987.987 0 01-.044.291l-1.161 3.809c-.09 1.491-1.392 2.711-3.025 2.711h-1.662c-1.633 0-2.935-1.22-3.025-2.711zM16 20.471c1.78 0 3.226.574 3.226 1.28 0 .706-1.446 1.28-3.226 1.28s-3.226-.574-3.226-1.28c0-.706 1.446-1.28 3.226-1.28zM14.364 15.713c.357-.06.653-.308.776-.648 1.441-4.219-.15-7.04-2.609-8.864-2.586-1.92-6.17-2.676-7.788-2.805-.13-.01-.248-.026-.352-.02-.457.024-.732.128-.819.203-.239.204-.367.382-.325.583.03.138.019.386.29.516.06.035.12.06.168.103.167.148.247.364.364.726.266.825.565 2.3 1.308 5.286.435 1.772 1.42 2.918 2.567 3.674 2.69 1.777 6.42 1.246 6.42 1.246zM5.129 4.903c.027.065.055.134.082.207.308.824.687 2.302 1.584 5.295.504 1.667 1.621 2.546 2.815 3.004 1.45.556 3.017.5 3.84.413.665-2.191.194-3.88-.846-5.16C10.678 6.293 7.055 5.23 5.13 4.903z" fill="#fff"/><path d="M7.596 8.023s.668.659 1.601 1.632c.322.336.667.707 1.04 1.095.224.235.455.475.693.714.345.347.703.694 1.04 1.05.63.663 1.216 1.33 1.608 2a.615.615 0 101.088-.57c-.37-.794-.929-1.628-1.596-2.414a13.44 13.44 0 00-1.303-1.355 14.979 14.979 0 00-1.475-1.142C8.962 8.117 7.9 7.594 7.9 7.594a.263.263 0 10-.304.429zM28.817 9.942c-.177.467-1.208 1.443-2.282 3.54-1.105 2.237-2.608 3.08-4.03 3.319-2.603.437-5.103-1.374-5.103-1.374a.999.999 0 01-.318-1.158c1.225-2.854 3.01-4.399 4.828-5.218 2.545-1.146 5.165-.837 6.352-.6a.811.811 0 01.488-.05c.374.074.59.414.64.697.012.061.014.112.015.136a.685.685 0 01-.59.708zm-1.734-.25c-1.16-.089-2.855-.016-4.476.809-1.297.661-2.515 1.832-3.373 3.778.67.42 1.816.974 3.038.841 1.035-.113 2.093-.745 2.97-2.317.802-1.487 1.4-2.469 1.84-3.111z" fill="#fff"/><path d="M23.838 11.596s-.613.24-1.434.633c-.291.14-.602.284-.908.467-.36.216-.703.473-1.03.69-.38.253-.704.49-.972.598a.617.617 0 00-.406.77c.1.323.444.505.77.405.41-.091.982-.323 1.58-.651.303-.167.618-.35.902-.567.292-.225.55-.474.782-.714a12.247 12.247 0 001.041-1.217.263.263 0 10-.325-.414z" fill="#fff"/><path d="M14.123 14.827s1.944.435 1.877 6.506M18.014 14.872s-1.882 3.578-2.012 5.904" fill="none" stroke="#fff" stroke-width="2" stroke-miterlimit="5"/></svg>
|
Before Width: | Height: | Size: 4.6 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M53.755-13.692l7.278 6.013c.237.197.347.51.283.812 0 0-.38 1.737-1.127 2.752-.43.584-.982.942-1.586.962-.413.014-.877-.118-1.372-.535-1.193-1.009-3.883-3.812-5.647-5.679l-.523.618s-13.19-9.37-14.382-11.834c-2.842-5.876.655-8.752.655-8.752l16.42 15.643zM38.165-26.67c-.005-.004-.003-.004-.008.003l.01.01c.022.139-.002 1.22 1.448 3.026 2.07 2.576 6.595 6.533 12.623 10.297L38.167-26.657l-.002-.013zm7.978 16.176c-2.219 2.134-3.937 3.778-4.075 3.893-2.128 1.778-3.12 2.6-4.956 1.428-2.293-1.465-1.834-5.083.125-6.971l.219-.213-.012.45a40.478 40.478 0 00-.072 2.62c0 .515.343.917.768.905.428-.01.781-.433.795-.947l.07-2.563c.047-.725.116-1.45.22-2.171l1.029-.992 1.223.984c-.01.376-.013.754-.013 1.13.002.513.344.915.77.903.392-.01.722-.367.783-.825l.818.629c.298.228.597.456.897.683l1.411 1.057zm5.676-15.72l.008-.009c1.959-1.888 5.137-1.884 6.97.125 1.26 1.38.201 2.982-2.067 5.346-.356.373-1.961 1.935-3.987 3.895l-5.152-4.909.07-.438 2.242-2.162-.037 1.367a40.478 40.478 0 00-.072 2.62c0 .514.343.917.769.905.426-.012.78-.435.793-.949l.072-2.561a26.07 26.07 0 01.391-3.23zm.838 15.575c1.724 1.831 4.446 4.675 5.641 5.685.095.08.168.144.247.145.095.002.152-.094.223-.174.122-.142.229-.315.324-.498a6.96 6.96 0 00.484-1.254l-6.019-4.973-.9 1.069zM12.141 18.432C11.748 21.502 9.776 22.91 8 22.91c-1.777 0-3.748-1.409-4.141-4.478h8.282zm-7.304.964s.351 2.683 2.73 2.683a.432.432 0 000-.864c-1.668 0-1.873-1.923-1.873-1.923a.432.432 0 00-.857.104zm7.213-3.262h-1.037l-2.46-6.621a.59.59 0 00-1.106 0l-2.46 6.62H3.949L6.251 9.23a1.845 1.845 0 013.498 0l2.301 6.905z" fill="#fff"/><path d="M12.636 18.496a.499.499 0 00-.495-.564H3.86a.497.497 0 00-.496.564c.435 3.4 2.669 4.914 4.637 4.914 1.968 0 4.202-1.515 4.636-4.914zm-1.087.437H4.45c.5 2.353 2.078 3.477 3.55 3.477s3.05-1.124 3.55-3.477zm.501-2.298a.502.502 0 00.475-.658l-2.302-6.905a2.344 2.344 0 00-4.447 0l-2.301 6.905a.5.5 0 00.474.658h1.038a.5.5 0 00.469-.326l2.46-6.621A.09.09 0 018 9.629a.09.09 0 01.084.059l2.46 6.62a.5.5 0 00.469.327h1.037zm-.727-1.102L9.274 9.388a1.343 1.343 0 00-2.548 0l-2.05 6.145L6.979 9.34a1.09 1.09 0 012.043 0l2.302 6.193zM28.141 18.432c-.393 3.07-2.365 4.478-4.141 4.478-1.777 0-3.748-1.409-4.141-4.478h8.282zm-7.305.964s.352 2.683 2.732 2.683a.432.432 0 000-.864c-1.669 0-1.874-1.923-1.874-1.923a.432.432 0 00-.858.104zm7.214-3.262h-1.037l-2.46-6.621a.59.59 0 00-1.106 0l-2.46 6.62h-1.038l2.302-6.904a1.845 1.845 0 013.498 0l2.301 6.905z" fill="#fff"/><path d="M28.636 18.496a.499.499 0 00-.495-.564H19.86a.497.497 0 00-.496.564c.435 3.4 2.669 4.914 4.637 4.914 1.968 0 4.202-1.515 4.636-4.914zm-1.087.437H20.45c.5 2.353 2.078 3.477 3.55 3.477s3.05-1.124 3.55-3.477zm.501-2.298a.502.502 0 00.475-.658l-2.302-6.905a2.344 2.344 0 00-4.447 0l-2.301 6.905a.5.5 0 00.474.658h1.038a.5.5 0 00.469-.326l2.46-6.621A.09.09 0 0124 9.629a.09.09 0 01.084.059l2.46 6.62a.5.5 0 00.469.327h1.037zm-.727-1.102l-2.049-6.145a1.343 1.343 0 00-2.548 0l-2.05 6.145 2.302-6.193a1.09 1.09 0 012.043 0l2.302 6.193z" fill="#fff"/><path d="M166.438 137.232s4.218-4.023 8.241 0" fill="none" stroke="#fff" stroke-width="1.88" transform="matrix(.9707 0 0 1.14906 -145.561 -151.919)"/><path d="M166.438 137.232s4.218-4.023 8.241 0" fill="none" stroke="#fff" stroke-width="1.88" transform="matrix(-.9707 0 0 1.14906 177.561 -151.919)"/><path d="M16 6.243v18.393" fill="none" stroke="#fff" stroke-width="1.9978704"/><path d="M9.73 28.285h12.398" fill="none" stroke="#fff" stroke-width="1.9993644"/><path d="M21.735 26.837c0-1.7-1.378-3.078-3.078-3.078h-5.314a3.078 3.078 0 00-3.078 3.078v.002a1 1 0 001 1h9.47a1 1 0 001-1v-.002zm-8.221-2.3s-2.05.281-2.05 2.18c0 .19.296.344.478.344s.33-.154.33-.344c0-1.332 1.469-1.496 1.469-1.496a.341.341 0 00.288-.383c-.022-.189-.334-.324-.515-.301z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 3.8 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M20.561 37.261c4.175 1.776 7.106 5.918 7.106 10.739 0 6.163-4.79 11.217-10.848 11.635l1.841-2.348c4.045-1.15 7.007-4.875 7.007-9.287a9.643 9.643 0 00-5.435-8.68l.329-2.059zm-6.109-.822l-2.045 2.593A9.658 9.658 0 006.333 48a9.644 9.644 0 005.33 8.629l-.59 1.945c-3.98-1.856-6.74-5.895-6.74-10.574 0-5.914 4.411-10.807 10.119-11.561zm.026 21.096l.431.066-.728.914.297-.98zm2.869-19.097l-.359-.055-.501-.025 1.096-1.39-.236 1.47zM57.032 18.256l.384 2.69a1.869 1.869 0 01-1.851 2.135h-3.526v-.032l-.24-4.793h5.233zm-6.269 4.825H45.3l.243-4.825h4.978l.242 4.825zm-6.739-.032v.032h-3.589a1.869 1.869 0 01-1.851-2.135l.384-2.69h5.297l-.24 4.793zm.305-6.07H39.15l.716-5.01h4.716l-.253 5.01zm6.127 0h-4.85l.253-5.01h4.344l.253 5.01zm6.393 0h-5.116l-.251-5.01h4.652l.715 5.01zM44.88 6.07l-.233 4.625h-4.597l.43-3.02a1.87 1.87 0 011.852-1.605h2.548zm5.027 0l.234 4.625h-4.216l.232-4.625h3.75zm1.278 0h2.485c.931 0 1.72.685 1.85 1.606l.432 3.019h-4.534l-.233-4.625zM21.552 28.055l-1.555 1.572a.887.887 0 01-1.264 0L5.182 15.932l-.42.425a.887.887 0 01-1.264 0L2.423 15.27a.91.91 0 010-1.278L14.04 2.254a.887.887 0 011.264 0l1.074 1.086a.91.91 0 010 1.277l-.42.425 13.551 13.695a.91.91 0 010 1.277l-1.88 1.901-1.571-1.587a.356.356 0 00-.124-.094l1.22-1.233c.206-.208.786-.049.58-.258a.523.523 0 00-.747 0l-8.093 8.18a.538.538 0 00-.001.755c.207.208-.038-.29.168-.497l.826-.835c.014.033.045.07.095.122l1.571 1.587zM4.698 15.335L15.401 4.518c.262-.264.385-.568.276-.679-.109-.11-.262.165-.523.43L4.45 15.085c-.26.264-.533.419-.424.529.109.11.41-.016.671-.28zm13.574 11.271l8.247-8.335L14.693 6.32l-8.247 8.335 11.826 11.952zM10.006 8.672l2.495-2.52a.537.537 0 000-.754.523.523 0 00-.747 0L9.26 7.917a.537.537 0 000 .754c.207.209.54.209.746 0zm13.778 13.734l1.43-1.446c.015.034.046.071.096.122l1.57 1.587-1.402 1.418-1.57-1.587a.356.356 0 00-.124-.094zm-3.18 3.214l2.462-2.487c.013.033.044.07.095.122l1.57 1.587L22.3 27.3l-1.57-1.587a.353.353 0 00-.124-.093zM5.986 12.736l2.494-2.52a.538.538 0 000-.754.524.524 0 00-.747 0l-2.493 2.52a.538.538 0 000 .755c.206.208.54.208.746 0z" fill="#fff"/><path fill="none" stroke="#fff" stroke-width="2.15" d="M204.235 13.333h5.253v5.333h-5.253z" transform="matrix(.72148 -.72915 .58522 .59144 -141.827 158.137)"/><path d="M209.185 13.865V12.4" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 109.957 251.96)"/><path d="M209.185 13.865V12.4" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 108.624 248.743)"/><path d="M209.185 13.865V12.4" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 116.637 249.194)"/><path d="M209.185 13.865V12.4" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 115.304 245.976)"/><circle cx="210.667" cy="11.671" r=".382" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 110.698 253.75)"/><circle cx="210.667" cy="11.671" r=".382" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 109.365 250.53)"/><circle cx="210.667" cy="11.671" r=".382" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 120.815 249.56)"/><circle cx="210.667" cy="11.671" r=".382" fill="none" stroke="#fff" stroke-width="1.27" transform="scale(1.18265 1.19522) rotate(-45 119.481 246.34)"/></svg>
|
Before Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 6.4 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M213.333 163.822c3.778 0 6.845 4.79 6.845 8.568 0 3.778-3.067 10.579-6.845 10.579-2.459 0-6.845-4.421-6.845-10.579 0-3.778 3.067-8.568 6.845-8.568z" fill="none" stroke="#fff" stroke-width="1.86" transform="scale(1.07321 1.07282) rotate(45 296.154 -179.028)"/><path d="M249.876 166.231c0-1.969-1.62-3.564-3.619-3.564h-13.304c-1.999 0-3.62 1.595-3.62 3.564v18.365c0 1.968 1.621 3.564 3.62 3.564h13.304c1.999 0 3.619-1.596 3.619-3.564v-18.365z" fill="none" stroke="#fff" stroke-width="1.55" transform="matrix(.96217 0 0 .977 -214.541 -155.377)"/><circle cx="240" cy="175.874" r="7.373" fill="none" stroke="#fff" stroke-width="2.13" transform="matrix(.9383 0 0 .9383 -209.193 -149.15)"/><circle cx="240" cy="175.874" r="7.373" fill="#fff" transform="matrix(.17499 0 0 .17499 -25.996 -14.901)"/><circle cx="240" cy="175.874" r="7.373" fill="none" stroke="#fff" stroke-width="2.02" transform="translate(-43.391 -27.648) scale(.24746)"/><circle cx="240" cy="175.874" r="7.373" fill="none" stroke="#fff" stroke-width=".55" transform="translate(-70.808 -47.74) scale(.3617)"/><circle cx="240" cy="175.874" r="7.373" fill="none" stroke="#fff" stroke-width=".22" transform="translate(-94.746 -65.281) scale(.46144)"/><circle cx="240" cy="175.874" r="7.373" fill="none" stroke="#fff" stroke-width=".09" transform="matrix(.56099 0 0 .56099 -118.637 -82.789)"/></svg>
|
Before Width: | Height: | Size: 1.5 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M59.485 10.232c0-3.183-2.446-5.767-5.46-5.767h-10.92c-3.014 0-5.461 2.584-5.461 5.767v11.536c0 3.183 2.447 5.767 5.461 5.767h10.92c3.014 0 5.46-2.584 5.46-5.767V10.232z" fill="none" stroke="#fff" stroke-width="2.97" transform="rotate(45 80.063 5.869) scale(.86333 .81734)"/><path d="M20.2 11.8h7.608v8.4H20.2v7.608h-8.4V20.2H4.192v-8.4H11.8V4.192h8.4V11.8z" fill="none" stroke="#fff" stroke-width="2.9966500000000003"/></svg>
|
Before Width: | Height: | Size: 605 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M17.13 11.175l4.477 2.585v5.17l-4.477 2.585-4.477-2.585v-5.17l4.477-2.585z" fill="none" stroke="#fff" stroke-width="2.004844"/><path d="M15.142 16h1.22l1.435-1.434M18.667 17.251l-.679.679" fill="none" stroke="#fff" stroke-width="1.5"/><path d="M14.113 20.053l-2.948 3.338a.474.474 0 10.67.67l3.339-2.948a.75.75 0 00-1.061-1.06z" fill="#fff"/><path d="M8.066 5.333L10.8 6.909v3.156l-2.733 1.577-2.732-1.577V6.91l2.732-1.576z" fill="#fff" stroke="#fff" stroke-width="1.5064455999999997"/><path d="M22.266 24.59l1.179.68v1.361l-1.18.68-1.178-.68V25.27l1.179-.68z" fill="#fff" stroke="#fff" stroke-width="1.501872"/><path d="M8.066 26.05l.533.308v.617l-.533.308-.534-.308v-.617l.534-.307zM6.028 16.113l.534.308v.616l-.534.308-.533-.308v-.616l.533-.308zM17.13 5.333l.533.308v.616l-.533.308-.534-.308v-.616l.534-.308zM26.096 16.68l.534.308v.617l-.534.307-.533-.307v-.617l.533-.308z" fill="#fff" stroke="#fff" stroke-width="1.5012824"/><path d="M11.31 19.71l.57-.673a.746.746 0 011.041 1.066l-.843.679a.645.645 0 01-.448.182l-1.909-.183-1.728 1.39a.214.214 0 01-.302-.004.214.214 0 01.004-.302l1.578-1.863a.445.445 0 01.31-.126l1.727-.165zM15.36 24.702l-.144-1.708c0-.156.062-.305.172-.415l1.215-1.439a.745.745 0 011.054 1.054l-1.292 1.09-.132 1.56a.427.427 0 01-.126.303l-1.977 1.67a.213.213 0 11-.302-.301l1.532-1.814z" fill="#fff"/><path d="M24.624 7.126l1.179.68v1.362l-1.18.68-1.179-.68V7.807l1.18-.68z" fill="#fff" stroke="#fff" stroke-width="1.501872"/></svg>
|
Before Width: | Height: | Size: 1.6 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M-26.46 18.463l2.462.686c.08.192.166.381.26.567l-.454-.036-.694 1.094 1.461-.487.036.06.046.073-.039-.002-.693 1.093 1.21-.402c.072.093.145.185.221.276l-.342 1.346.956-.687.064.063.11.1-.32 1.26.988-.707.02.015.152.109.162 2.566c-.29-.144-.57-.3-.843-.47l.568-1.162-1.358.624c-.302-.225-.59-.465-.863-.72l-.087-.147.208-1.503-.919.828-.163-.193-.106-.132.871-.672-1.398-.04a10.702 10.702 0 01-.54-.892l-.022-.31.853-1.254-1.38.387a10.524 10.524 0 01-.426-1.331zm18.116 4.841c-.325.336-.67.65-1.034.938l-.465-.572-.002.924c-.47.332-.965.627-1.481.88l-.982-.631.29.942c-.125.052-.252.1-.379.146l-.199-.872-.556 1.116a10.35 10.35 0 01-1.106.25l-.288-.108-.78-1.301-.251 1.552c-.372.017-.748.014-1.124-.008l1.427-2.142c.29-.025.577-.068.862-.123l-.081.143.705 1.087.157-1.422.167-.05.005-.003.682 1.049.15-1.362.126-.056.024-.01h.086l1.18.952-.268-1.378h.098l1.18.952-.28-1.44 2.137.547zm-2.494-.619l.018-.014.029.007-.047.007zM-21.831 6.889l.099 2.388-1.117-.425.622 1.08c-.072.075-.144.15-.214.228l-.971-.37.523.908c-.113.148-.222.3-.327.457l-1.178-.057.78.721c-.05.09-.097.182-.143.275l-1.2-.057.872.806-.074.202-.03.092-2.434.962c.055-.327.126-.65.213-.974l.06-.216.114.286 1.289.139-1.155-1.172c.091-.245.191-.484.298-.72l.3-.36 1.484-.316-1.1-.587.143-.22.092-.132.916.584-.412-1.255c.29-.357.602-.692.934-1.007l1.449.37-.717-1.002c.284-.224.578-.434.884-.628zm15.281 4.084c.173.33.326.669.463 1.017l-.93.408 1.19.332c.145.46.258.933.339 1.413l-1.054.944 1.165-.036c.011.139.019.278.025.418l-1.058-.048 1.055.946c-.013.292-.038.586-.076.879l-.284.389-1.462.406 1.446.662.016-.032c-.085.319-.186.63-.3.935L-7.64 17.56l.02-.095.022-.134.335.325 1.235-.398-1.483-.577.007-.072.008-.116.082.08 1.235-.399-1.298-.504-.003-.12-.002-.045.02-.073 1.227-.891-1.362-.095-.017-.092v-.005l1.228-.892-1.475-.102-.016-.054-.052-.156 1.379-2.17zm-6.81-5.425l.073.019c.127.033.252.07.377.11l-.033.003-.465 1.209 1.497-.852.167.07.103.047.553.778-.062 1.219-.572.212.114-1.106-.86.855-.134-.061-.166-.07.105-1.024-.78.777c-.13-.04-.261-.08-.395-.116l-.073-.018-.273-1.25-.57 1.076-.157-.023-.033-.004-.294-1.349-.676 1.277h-.031l-1.669-2.012c.341-.05.686-.084 1.034-.1l-.007.004.12 1.29.874-1.297c.256.011.513.031.77.062l.454.243.602 1.391.408-1.36zm2.63 1.07c.465.265.905.563 1.316.889l-1.338.496.672-.72-.65-.664z" fill="#fff"/><path d="M213.333 163.822c3.778 0 6.845 4.79 6.845 8.568 0 3.778-3.067 10.579-6.845 10.579-2.459 0-6.845-4.421-6.845-10.579 0-3.778 3.067-8.568 6.845-8.568z" fill="none" stroke="#fff" stroke-width="1.86" transform="scale(1.07321 1.07282) rotate(45 311.06 -143.036)"/><path d="M202.667 177.874l-3.79-.276-2.603 1.068a1.253 1.253 0 00-.476 1.977l1.535 1.79 3.322-1.291.639 1.036 2.832-2.37-1.459-1.934z" fill="none" stroke="#fff" stroke-width="2.01" transform="matrix(.74824 0 0 .74797 -142.573 -115.988)"/><path d="M202.667 177.874l-3.79-.276-2.426.995a1.394 1.394 0 00-.529 2.195l1.411 1.645 2.922-.889.64 1.036 3.231-2.772-1.459-1.934z" fill="none" stroke="#fff" stroke-width="2.01" transform="matrix(.10033 -.74121 -.74148 -.1003 125.908 191.165)"/><path d="M206.644 168s-.777 9.889 10.567 8.594" fill="none" stroke="#fff" stroke-width="1.9" transform="matrix(1.04092 0 0 1.06629 -199.964 -172.317)"/><path d="M206.644 168s-.777 9.889 10.567 8.594" fill="none" stroke="#fff" stroke-width="1.12" transform="matrix(.8828 0 0 .90431 -170.022 -140.833)"/><path d="M199.156 182.151a1.297 1.297 0 00-.137 1.787l.135.165a1.295 1.295 0 001.853.157l3.994-3.469-1.966-2.124-3.879 3.484z" fill="none" stroke="#fff" stroke-width="1.4" transform="matrix(1.07321 0 0 1.07282 -207.341 -172.709)"/></svg>
|
Before Width: | Height: | Size: 3.7 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M59.485 10.232c0-3.183-2.446-5.767-5.46-5.767h-10.92c-3.014 0-5.461 2.584-5.461 5.767v11.536c0 3.183 2.447 5.767 5.461 5.767h10.92c3.014 0 5.46-2.584 5.46-5.767V10.232z" fill="none" stroke="#fff" stroke-width="2.97" transform="rotate(45 64.063 -32.759) scale(.86333 .81734)"/><path d="M15.494 15.711l-.042-.055s6.327-3.456 10.733 0c4.406 3.456-3.49 9.59-3.49 9.59s-6.03 5.896-8.781 1.02c-2.594-4.6 1.144-9.96 1.58-10.555zM5.329 7.56l8.423 9.59c.824.938.761-.67 1.7-1.494.94-.825 2.525-.555 1.7-1.494L8.73 4.572A2.265 2.265 0 005.329 7.56z" fill="none" stroke="#fff" stroke-width="2.000934" stroke-linecap="butt" stroke-miterlimit="2"/><path d="M4.797 5.696A2.264 2.264 0 018.73 4.572l8.423 9.59c.824.939-.762.67-1.701 1.494-.938.824-.876 2.432-1.7 1.494L5.329 7.56a2.247 2.247 0 01-.55-1.712.48.48 0 00.125.318l9.18 10.281a.5.5 0 10.746-.666L5.649 5.5a.499.499 0 00-.852.196z" fill="#fff"/><path d="M16.506 27.102s.467-8.725 9.833-9.245a1.055 1.055 0 00-.117-2.107c-11.324.629-11.824 11.247-11.824 11.247a1.056 1.056 0 002.108.105z" fill="none" stroke="#fff" stroke-width=".99594" stroke-linecap="butt" stroke-miterlimit="2"/></svg>
|
Before Width: | Height: | Size: 1.3 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M-9.562 27.319l-10.83-12.855a6.123 6.123 0 01-8.753-6.441l.01-.058a1.19 1.19 0 01.179-.465.12.12 0 01.095-.056.126.126 0 01.071.017l4.045 4.044c.273.274.671.38 1.044.28l2.091-.56c.373-.1.665-.392.765-.765l.56-2.091c.1-.373-.006-.772-.279-1.045l-4.047-4.047a.114.114 0 01-.015-.067.124.124 0 01.056-.097c.171-.113.332-.155.465-.179l.058-.01a6.123 6.123 0 016.441 8.755l12.854 10.83a3.488 3.488 0 01.601 5.412 3.487 3.487 0 01-5.41-.602zm1.497-3.312a2.05 2.05 0 112.899 2.898 2.05 2.05 0 01-2.9-2.898zm-1.419.155s-9.185-10.578-9.411-10.387a.535.535 0 00-.067.752l8.659 10.322a.534.534 0 10.82-.687zm-19.22-15.464c.047-.14.661 1.08.877 1.633.432 1.108 1.281 2.506 2.785 3.17 1.004.441 2.296.55 3.942.043a.267.267 0 11.157.51c-1.802.556-3.216.42-4.314-.065-1.65-.728-2.595-2.248-3.07-3.464-.236-.61-.355-1.14-.39-1.454a.993.993 0 01.013-.373zM18.865 3.288a.517.517 0 00-.916-.401L7.305 16.396a.515.515 0 00.377.834l7.479.406a.516.516 0 01.465.665c-.55 1.813-2.16 7.12-3.136 10.343a.515.515 0 00.898.47l11.347-14.243a.514.514 0 00-.395-.838c-1.746-.03-5.197-.093-6.58-.118a.515.515 0 01-.5-.598c.282-1.769 1.137-7.109 1.605-10.03z" fill="#fff"/><path d="M20.561 5.261c4.175 1.776 7.106 5.918 7.106 10.739 0 6.163-4.79 11.217-10.848 11.635l1.841-2.348c4.045-1.15 7.007-4.875 7.007-9.287a9.643 9.643 0 00-5.435-8.68l.329-2.059zm-6.109-.822l-2.045 2.593A9.658 9.658 0 006.333 16a9.644 9.644 0 005.33 8.629l-.59 1.945c-3.98-1.856-6.74-5.895-6.74-10.574 0-5.914 4.411-10.807 10.119-11.561zm.026 21.096l.431.066-.728.914.297-.98zm2.869-19.097l-.359-.055-.501-.025 1.096-1.39-.236 1.47zM21.552-3.945l-1.555 1.572a.887.887 0 01-1.264 0L5.182-16.068l-.42.425a.887.887 0 01-1.264 0L2.423-16.73a.91.91 0 010-1.278L14.04-29.746a.887.887 0 011.264 0l1.074 1.086a.91.91 0 010 1.277l-.42.425 13.551 13.695a.91.91 0 010 1.277l-1.88 1.901-1.571-1.587a.356.356 0 00-.124-.094l1.22-1.233c.206-.208.786-.049.58-.258a.523.523 0 00-.747 0l-8.093 8.18a.538.538 0 00-.001.755c.207.208-.038-.29.168-.497l.826-.835c.014.033.045.07.095.122l1.571 1.587zM4.698-16.665l10.703-10.817c.262-.264.385-.568.276-.679-.109-.11-.262.165-.523.43L4.45-16.915c-.26.264-.533.419-.424.529.109.11.41-.016.671-.28zM18.272-5.394l8.247-8.335L14.693-25.68l-8.247 8.335L18.272-5.394zm-8.266-17.934l2.495-2.52a.537.537 0 000-.754.523.523 0 00-.747 0l-2.494 2.52a.537.537 0 000 .754c.207.209.54.209.746 0zM23.784-9.594l1.43-1.446c.015.034.046.071.096.122l1.57 1.587-1.402 1.418-1.57-1.587a.356.356 0 00-.124-.094zm-3.18 3.214l2.462-2.487c.013.033.044.07.095.122l1.57 1.587L22.3-4.7l-1.57-1.587a.353.353 0 00-.124-.093zM5.986-19.264l2.494-2.52a.538.538 0 000-.754.524.524 0 00-.747 0l-2.493 2.52a.538.538 0 000 .755c.206.208.54.208.746 0z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.8 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M15.015 17.35c-.03.079-.129.324-.142.875-.017.689-.312 1.609-.512 1.79-.477.434-.224 1.375.348 1.612.235.096.292.035.306-.005v2.392c-1.008-.04-1.797.196-2.478.569.687.542 1.505.86 2.478.92v3.48c-2.663 0-8.697-3.551-9.49-8.175-1.199.267-1.839-1.552-2.09-5.12-.192-2.694 1.093-1.932 1.97-1.126-.1-.601-.728-4.66.3-5.72 1.11-1.145 0-2.737 0-2.737l1.045-1.22 1.35 1.22s.034-1.628 1.943-2.135c1.527-.406 4.031-.62 4.972-.69v14.07zm-3.724-.034c.04.004.08.006.121.006.716 0 1.954-1.361 1.954-1.361S12.128 14.6 11.412 14.6c-.04 0-.082.002-.12.006a1.225 1.225 0 00-.122-.006c-.717 0-1.955 1.36-1.955 1.36s1.238 1.362 1.955 1.362c.04 0 .081-.002.121-.006zM16.735 25.496v3.488c1.644 0 5.56-.04 6.54-4.227.372-1.587 1.966-2.175 2.674-3.352 1.77.89 3.001.437 2.028-4.18-.212-1.008 2.642-6.591 2.008-7.564-.294-.453-1.99 1.404-3.42 3.12.12-1.431.125-3.274-.52-3.94-1.11-1.144 3.015-5.052 3.015-5.052L25 4.885l-1.349 1.22c-2.342 1.51-4.438 1.214-1.944-2.135 1.007-1.353-3.604-.917-4.972-.761V17.35c.031.078.13.323.142.874.017.689.312 1.609.512 1.79.193.177 1.442 1.45 1.304 1.437-.302-.027-1.643.445-1.679 1.04-.035.573-.246-.67-.279-.87v2.397c.804.464 1.863.414 2.667.564-.803.008-1.833.214-2.667.913zM19.541 4.62c-.417.003-.879.008-1.306.018V17.1c.063.223.13.57.142 1.088.006.267.148.732.201.896.423.434 1.338 1.43 1.448 1.643.454.874.01 1.484-.216 1.732a1.409 1.409 0 01-1.039.493l-.069.03c.342.037.674.069.974.125a1.5 1.5 0 01-.26 2.975 3.045 3.045 0 00-1.18.232v1.109c1.383-.163 3.054-.771 3.58-3.01.26-1.111.906-1.9 1.653-2.59.427-.393.912-.722 1.195-1.193a1.5 1.5 0 011.96-.566c.06.03.13.059.2.086.054-.574-.062-1.42-.314-2.616-.068-.32-.044-.912.171-1.66.143-.496.366-1.118.613-1.784a1.498 1.498 0 01-2.224-1.435c.052-.634.084-1.36.027-2a5.668 5.668 0 00-.168-.813c-.534-.584-.71-1.5-.373-2.542a1.38 1.38 0 01-.092.064c-1.086.702-2.15 1.063-2.91 1.107-.6.034-1.092-.104-1.462-.327-.643-.387-1.086-1.034-1.003-2.071.03-.371.161-.857.452-1.454zm-1.353 15.418c.141-.032.268-.055.377-.068.108-.013.198-.017.26-.012a1.446 1.446 0 00-.637.08zm1.228-6.377a2.57 2.57 0 01.128-.1c.367-.27 1.084-.45 1.884-.29l-.064-.01.08.014-.008-.001.146.032-.083-.02.041.009-.006-.001c.637.14 1.32.426 1.32.426.51.214.861.69.913 1.24 0 0 .07.739.014 1.389l.004-.05-.01.122s-.003.026 0 .003l-.009.072c-.092.792-.47 1.407-.83 1.673l-.262.192c-.367.27-1.085.45-1.884.289l.064.01-.079-.013s-.017-.003.006 0l-.145-.031.082.02-.04-.01.005.002c-.636-.141-1.32-.426-1.32-.426a1.502 1.502 0 01-.913-1.241s-.069-.738-.014-1.388l-.003.05.01-.122s.003-.026 0-.003l.01-.072c.09-.792.47-1.407.83-1.673.043-.032.088-.063.133-.092zm.893 1.213c.038-.037.08-.072.124-.105.134-.1.405-.086.698-.026l.08.016c.512.113 1.063.344 1.063.344s.057.595.013 1.119l-.008.08c-.03.297-.099.56-.233.659-.044.032-.09.06-.137.087-.039.037-.08.072-.124.105-.135.099-.405.086-.699.026l-.078-.016c-.513-.113-1.064-.344-1.064-.344s-.057-.595-.013-1.12l.008-.08c.03-.296.098-.56.233-.658.044-.032.09-.061.137-.087zm3.457 1.622l.005-.04-.008.064.003-.024zm.013-.124l.003-.03-.003.04v-.01zm-5.34-.822l-.003.03.003-.041v.01zm.013-.124l-.005.04.008-.064-.003.024zM53.755 18.308l7.278 6.013c.237.197.347.51.283.812 0 0-.38 1.737-1.127 2.752-.43.584-.982.942-1.586.962-.413.014-.877-.118-1.372-.535-1.193-1.009-3.883-3.812-5.647-5.679l-.523.618s-13.19-9.37-14.382-11.834c-2.842-5.876.655-8.752.655-8.752l16.42 15.643zM38.165 5.33c-.005-.004-.003-.004-.008.003l.01.01c.022.139-.002 1.22 1.448 3.026 2.07 2.576 6.595 6.533 12.623 10.297L38.167 5.343l-.002-.013zm7.978 16.176c-2.219 2.134-3.937 3.778-4.075 3.893-2.128 1.778-3.12 2.6-4.956 1.428-2.293-1.465-1.834-5.083.125-6.971l.219-.213-.012.45a40.478 40.478 0 00-.072 2.62c0 .515.343.917.768.905.428-.01.781-.433.795-.947l.07-2.563c.047-.725.116-1.45.22-2.171l1.029-.992 1.223.984c-.01.376-.013.754-.013 1.13.002.513.344.915.77.903.392-.01.722-.367.783-.825l.818.629c.298.228.597.456.897.683l1.411 1.057zm5.676-15.72l.008-.009c1.959-1.888 5.137-1.884 6.97.125 1.26 1.38.201 2.982-2.067 5.346-.356.373-1.961 1.935-3.987 3.895l-5.152-4.909.07-.438 2.242-2.162-.037 1.367a40.478 40.478 0 00-.072 2.62c0 .514.343.917.769.905.426-.012.78-.435.793-.949l.072-2.561a26.07 26.07 0 01.391-3.23zm.838 15.575c1.724 1.831 4.446 4.675 5.641 5.685.095.08.168.144.247.145.095.002.152-.094.223-.174.122-.142.229-.315.324-.498a6.96 6.96 0 00.484-1.254l-6.019-4.973-.9 1.069z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 4.4 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M23.471-16C21.733-8.015 16.25-6.031 16-6.031v-9.063a.904.904 0 01.904-.904h6.568zM16-25.166v8.264a.904.904 0 01-.904.904H8.553c-.341-1.543-.545-3.31-.553-5.333 2.052 0 3.975-.653 8-3.835zM-21.999 3.873a1.56 1.56 0 00-1.494.863l-4.71 9.968c-.2.405-.185.883.04 1.274 0 0 1.587 2.605 3.11 5.25 1.522 2.644 2.979 5.325 2.979 5.325.228.395.639.649 1.094.678l10.99.869a1.538 1.538 0 001.473-.85l4.738-9.956a1.353 1.353 0 00-.04-1.28s-1.598-2.6-3.127-5.24c-1.53-2.641-2.99-5.32-2.99-5.32a1.34 1.34 0 00-1.075-.667l-10.988-.914zm10.13 3.557l-9.302-.4-4.297 8.256c.527.955 1.563 2.818 2.63 4.662a277.167 277.167 0 002.73 4.597l9.302.44 4.277-8.277a264.188 264.188 0 00-2.614-4.667 255.043 255.043 0 00-2.726-4.611zm-4.203 9.474l-.006-.118c0-.76.618-1.377 1.377-1.377h2.657a1.377 1.377 0 010 2.755h-1.28v1.32h1.28a1.378 1.378 0 010 2.754H-14.7l-.141-.008-.137-.02-.133-.034-.02-.008a1.375 1.375 0 01-.947-1.308v-3.837l.006-.12zm-4.102-3.75h-.542a1.378 1.378 0 010-2.753h3.838a1.378 1.378 0 010 2.754h-.542v2.963a1.378 1.378 0 01-2.754 0v-2.963zM29.333 8.42a5.99 5.99 0 00-5.987-5.987H8.654a5.99 5.99 0 00-5.987 5.986v14.927a5.99 5.99 0 005.987 5.988h14.692a5.99 5.99 0 005.987-5.988V8.42zm-2.18 0v14.926a3.809 3.809 0 01-3.807 3.808H8.654a3.81 3.81 0 01-3.808-3.808V8.42a3.81 3.81 0 013.808-3.807h14.692a3.809 3.809 0 013.807 3.807z" fill="#fff"/><path d="M9.688 22.194V9.571h9.47a3.154 3.154 0 013.153 3.154v.004a3.154 3.154 0 01-3.154 3.154H9.688" fill="none" stroke="#fff" stroke-width="3.9999258"/><path d="M13.207 15.883h.843a7.02 7.02 0 015.603 2.79l2.658 3.52" fill="none" stroke="#fff" stroke-width="4.0006494"/></svg>
|
Before Width: | Height: | Size: 1.8 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M-5.412 13.034a1 1 0 00-1.225-.707l-17.423 4.668c-.534.144-.85.692-.708 1.225l2.784 10.39a1 1 0 001.225.707l17.423-4.669a1 1 0 00.707-1.225l-2.783-10.39zm-13.131 13.05l3.29-.88c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.573l-3.29.882c-.496.133-.801.605-.68 1.054.12.449.62.705 1.117.573zm-1.142-2.915l3.29-.881c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.572l-3.29.881c-.496.134-.801.605-.68 1.054.12.449.62.706 1.117.573zm8.76-6.528a3.366 3.366 0 00-2.38 4.12 3.367 3.367 0 004.122 2.378 3.367 3.367 0 002.378-4.12 3.366 3.366 0 00-4.12-2.378zm-9.817 3.57l3.29-.882c.496-.132.8-.606.68-1.054-.12-.45-.62-.705-1.116-.573l-3.29.882c-.496.133-.802.605-.68 1.054.119.45.62.706 1.116.572zm10.27-1.878a1.614 1.614 0 01.835 3.116 1.614 1.614 0 01-.835-3.116zM4.535 7.735l3.242-.868c.007.053.018.106.032.159l1.186 4.425a1.511 1.511 0 001.85 1.067l7.92-2.122a1.51 1.51 0 001.067-1.85l-1.185-4.424a1.362 1.362 0 00-.05-.155l3.24-.868c.087-.023.174-.04.262-.051l.05-.008.022-.002c.116-.012.231-.014.346-.008l.05.004c.035.004.07.008.104.01l.056.01a2.137 2.137 0 011.729 1.554l.002.004 4.636 17.302a2.14 2.14 0 01-1.513 2.62l-.405.109a2.122 2.122 0 00-.013-1.055l-2.91-10.855a2.139 2.139 0 00-2.62-1.513l-12.47 3.342a2.14 2.14 0 00-1.513 2.62l2.909 10.855c.095.358.277.67.515.92l-.795.214c-.21.056-.424.079-.637.071l-.093-.006-.103-.01-.038-.007a2.175 2.175 0 01-.753-.262 2.155 2.155 0 01-.996-1.3L3.023 10.356a2.138 2.138 0 01.29-1.745l.038-.056.064-.083.05-.06c.097-.114.206-.218.325-.309l.08-.059c.03-.018.059-.037.088-.057l.04-.023a2.1 2.1 0 01.537-.228zm8.275 20.757a2.138 2.138 0 01-1.558-1.524l-2.467-9.207a2.138 2.138 0 011.512-2.619l10.644-2.852a2.139 2.139 0 012.62 1.512l2.467 9.207a2.143 2.143 0 01-.588 2.1l-12.63 3.383zm10.724-9.02a.968.968 0 00-1.187-.686l-9.65 2.586a.97.97 0 00.502 1.873l9.65-2.585a.97.97 0 00.685-1.187v-.001zm-1.061-3.17a.968.968 0 00-1.187-.685l-9.65 2.585a.968.968 0 00.502 1.873l9.65-2.585a.968.968 0 00.685-1.187v-.001zM17.562 4.245c.236.198.407.464.487.765l.822 3.066a1.51 1.51 0 01-1.067 1.849l-6.362 1.705a1.511 1.511 0 01-1.85-1.068l-.82-3.065a1.515 1.515 0 01.038-.907l8.752-2.345zm-.903 1.438a.47.47 0 00-.576-.333l-1.23.33a.47.47 0 00-.333.576l.821 3.065a.47.47 0 00.577.333l1.23-.33a.47.47 0 00.333-.576l-.822-3.065z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.4 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M22.438-4.681l-10.83-12.855a6.123 6.123 0 01-8.753-6.441l.01-.058a1.19 1.19 0 01.179-.465.12.12 0 01.095-.056.126.126 0 01.071.017l4.045 4.044c.273.274.671.38 1.044.28l2.091-.56c.373-.1.665-.392.765-.765l.56-2.091c.1-.373-.006-.772-.279-1.045l-4.047-4.047a.114.114 0 01-.015-.067.124.124 0 01.056-.097c.171-.113.332-.155.465-.179l.058-.01a6.123 6.123 0 016.441 8.755L27.248-9.49a3.488 3.488 0 01.601 5.412 3.487 3.487 0 01-5.41-.602zm1.497-3.312a2.05 2.05 0 112.899 2.898 2.05 2.05 0 01-2.9-2.898zm-1.419.155s-9.185-10.578-9.411-10.387a.535.535 0 00-.067.752L21.697-7.15a.534.534 0 10.82-.687zM3.296-23.302c.047-.14.661 1.08.877 1.633.432 1.108 1.281 2.506 2.785 3.17 1.004.441 2.296.55 3.942.043a.267.267 0 11.157.51c-1.802.556-3.216.42-4.314-.065-1.65-.728-2.595-2.248-3.07-3.464-.236-.61-.355-1.14-.39-1.454a.993.993 0 01.013-.373zM50.865-28.712a.517.517 0 00-.916-.401L39.305-15.604a.515.515 0 00.377.834l7.479.406a.516.516 0 01.465.665c-.55 1.813-2.16 7.12-3.136 10.343a.515.515 0 00.898.47l11.347-14.243a.514.514 0 00-.395-.838c-1.746-.03-5.197-.093-6.58-.118a.515.515 0 01-.5-.598c.282-1.769 1.137-7.109 1.605-10.03z" fill="#fff"/><path d="M52.561-26.739c4.175 1.776 7.106 5.918 7.106 10.739 0 6.163-4.79 11.217-10.848 11.635l1.841-2.348c4.045-1.15 7.007-4.875 7.007-9.287a9.643 9.643 0 00-5.435-8.68l.329-2.059zm-6.109-.822l-2.045 2.593A9.658 9.658 0 0038.333-16a9.644 9.644 0 005.33 8.629l-.59 1.945c-3.98-1.856-6.74-5.895-6.74-10.574 0-5.914 4.411-10.807 10.119-11.561zm.026 21.096l.431.066-.728.914.297-.98zm2.869-19.097l-.359-.055-.501-.025 1.096-1.39-.236 1.47zM53.755 50.308l7.278 6.013c.237.197.347.51.283.812 0 0-.38 1.737-1.127 2.752-.43.584-.982.942-1.586.962-.413.014-.877-.118-1.372-.535-1.193-1.009-3.883-3.812-5.647-5.679l-.523.618s-13.19-9.37-14.382-11.834c-2.842-5.876.655-8.752.655-8.752l16.42 15.643zM38.165 37.33c-.005-.004-.003-.004-.008.003l.01.01c.022.139-.002 1.22 1.448 3.026 2.07 2.576 6.595 6.533 12.623 10.297L38.167 37.343l-.002-.013zm7.978 16.176c-2.219 2.134-3.937 3.778-4.075 3.893-2.128 1.778-3.12 2.6-4.956 1.428-2.293-1.465-1.834-5.083.125-6.971l.219-.213-.012.45a40.478 40.478 0 00-.072 2.62c0 .515.343.917.768.905.428-.01.781-.433.795-.947l.07-2.563c.047-.725.116-1.45.22-2.171l1.029-.992 1.223.984c-.01.376-.013.754-.013 1.13.002.513.344.915.77.903.392-.01.722-.367.783-.825l.818.629c.298.228.597.456.897.683l1.411 1.057zm5.676-15.72l.008-.009c1.959-1.888 5.137-1.884 6.97.125 1.26 1.38.201 2.982-2.067 5.346-.356.373-1.961 1.935-3.987 3.895l-5.152-4.909.07-.438 2.242-2.162-.037 1.367a40.478 40.478 0 00-.072 2.62c0 .514.343.917.769.905.426-.012.78-.435.793-.949l.072-2.561a26.07 26.07 0 01.391-3.23zm.838 15.575c1.724 1.831 4.446 4.675 5.641 5.685.095.08.168.144.247.145.095.002.152-.094.223-.174.122-.142.229-.315.324-.498a6.96 6.96 0 00.484-1.254l-6.019-4.973-.9 1.069zM4.335 20.084a4.969 4.969 0 01-.624-2.418v-10c0-2.758 2.24-5 5-5H23.29c2.76 0 5 2.242 5 5v10c0 .877-.226 1.702-.624 2.418l.001.082-.165.193a5.021 5.021 0 01-.902 1.053L22.666 26a3.335 3.335 0 01-3.332 3.334h-6.668A3.335 3.335 0 019.334 26L5.4 21.412A5.021 5.021 0 014.5 20.36l-.165-.193.001-.082zm1.539-.539a4.324 4.324 0 01-.54-2.099v-8.68a4.342 4.342 0 014.34-4.34h12.652a4.342 4.342 0 014.34 4.34v8.68c0 .762-.196 1.478-.54 2.099v.071l-.142.168a4.407 4.407 0 01-.785.916l-3.413 3.98a2.894 2.894 0 01-2.892 2.894h-5.788a2.894 2.894 0 01-2.892-2.894L6.8 20.7a4.407 4.407 0 01-.785-.916l-.142-.168v-.071zm1.461-.511a3.71 3.71 0 01-.462-1.797V9.81a3.715 3.715 0 013.713-3.712h10.828a3.715 3.715 0 013.713 3.712v7.427a3.71 3.71 0 01-.462 1.797v.061l-.122.143a3.726 3.726 0 01-.672.783l-2.92 3.406a2.476 2.476 0 01-2.475 2.475h-4.952a2.476 2.476 0 01-2.475-2.475l-2.92-3.406a3.726 3.726 0 01-.672-.783l-.122-.143v-.061zm12.612.48a.552.552 0 00-.163-.394.551.551 0 00-.393-.164H12.61a.551.551 0 00-.393.164.552.552 0 00-.163.394v2.471a.554.554 0 00.556.556h6.782a.554.554 0 00.556-.556v-2.471zm-1.3.69h-5.294v1.091h5.294v-1.091zm3.872-8.865a.512.512 0 00-.513-.512h-4.119a.511.511 0 00-.51.512v3.177c0 .283.228.513.51.513h4.12c.282 0 .512-.23.512-.513V11.34zm-7.91 0a.512.512 0 00-.513-.512H9.977a.511.511 0 00-.51.512v3.177c0 .283.228.513.51.513h4.12c.282 0 .512-.23.512-.513V11.34zm-1.256 1.073a.513.513 0 00-.513-.512h-1.605a.512.512 0 00-.513.512v1.032c0 .282.23.511.513.511h1.605a.512.512 0 00.513-.511v-1.032zm7.925 0a.512.512 0 00-.513-.512H19.16a.513.513 0 00-.513.512v1.032c0 .282.23.511.513.511h1.605a.511.511 0 00.513-.511v-1.032z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 4.5 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M22.736 21.334a.705.705 0 00-.703-.705H9.968a.705.705 0 100 1.408h12.065a.704.704 0 00.703-.703zm0-4.156a.704.704 0 00-.703-.704H9.968a.705.705 0 100 1.409h12.065a.705.705 0 00.703-.705zm0-3.845a.704.704 0 00-.703-.704H9.968a.705.705 0 100 1.408h12.065a.705.705 0 00.703-.704zM6.378 8.15a2.745 2.745 0 01.14-5.485h16.218l.142.005a2.746 2.746 0 012.603 2.74v18.435h.03v4.63c0 .048.037.087.084.09a.089.089 0 00.093-.08l.455-4.56a2.745 2.745 0 01-.662 5.407H9.263a2.744 2.744 0 01-2.743-2.707h-.001V9.776L20.967 8.33a.09.09 0 00.08-.092.087.087 0 00-.088-.085H6.52l-.141-.003z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 749 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M-15.69 8.852c3.02-1.958 7.309-4.454 9.655-5.444.934-.394 1.653-.536 2-.495A1.22 1.22 0 01-2.924 4.11c.012.324-.156 1.01-.548 1.91-1.01 2.323-3.455 6.597-5.382 9.621l.046 4.527c.002.213-.061.423-.18.6l-3.329 4.923a1.052 1.052 0 01-1.91-.763l.79-4.75c-.319.08-.646.129-.976.147-1.565-2.35-3.54-4.314-5.914-5.907.018-.332.067-.661.148-.981l-4.75.79a1.053 1.053 0 01-.763-1.912l4.923-3.328c.177-.119.386-.182.6-.18l4.479.045zm2.29 8.66l-4.014-4.016c-.295-.294-1.146-.407-1.065 0 .015.075.028.298.234.388 1.407.609 3.902 3.387 4.483 4.477.112.21.318.225.362.215.404-.098.294-.77 0-1.065zm5.527-9.639a2.437 2.437 0 01-3.446 3.445 2.437 2.437 0 013.446-3.445zm-.747.747a1.38 1.38 0 11-1.953 1.95A1.38 1.38 0 01-8.62 8.62z" fill="#fff"/><path d="M144 133.333c5.337 3.677 8.046 3.686 10.735 3.686 0 16.26-10.334 17.648-10.735 17.648-.401 0-10.733-1.335-10.733-17.214 2.754 0 5.334-.418 10.733-4.12z" fill="none" stroke="#fff" stroke-width="1.86" transform="matrix(.99376 0 0 1.1459 -127.102 -149.009)"/><path d="M23.471 16c-1.738 7.984-7.222 9.968-7.472 9.968v-9.063a.904.904 0 01.904-.904h6.568zM16 6.834v8.264a.904.904 0 01-.904.904H8.553c-.341-1.543-.545-3.31-.553-5.333 2.052 0 3.975-.653 8-3.835zM44.141 18.432c-.393 3.07-2.365 4.478-4.141 4.478-1.777 0-3.748-1.409-4.141-4.478h8.282zm-7.304.964s.351 2.683 2.73 2.683a.432.432 0 000-.864c-1.668 0-1.873-1.923-1.873-1.923a.432.432 0 00-.857.104zm7.213-3.262h-1.037l-2.46-6.621a.59.59 0 00-1.106 0l-2.46 6.62h-1.038l2.302-6.904a1.845 1.845 0 013.498 0l2.301 6.905z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 1.7 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M19.501 14.88l.437 7.263h4.038c.498 0 .903.404.903.902v4.816a.904.904 0 01-.903.903H8.024a.904.904 0 01-.903-.903v-4.816c0-.498.405-.902.903-.902h4.038l.437-7.263c.98.225 2.191.359 3.501.359s2.521-.134 3.501-.359zm-6.547 2.568a.406.406 0 01.425-.387l.813.038c.224.01.398.2.387.425l-.357 7.686a.405.405 0 01-.425.387l-.812-.037a.408.408 0 01-.388-.425l.357-7.687zm6.092 0a.406.406 0 00-.425-.387l-.813.038a.405.405 0 00-.387.425l.357 7.686c.01.224.2.398.425.387l.812-.037a.408.408 0 00.388-.425l-.357-7.687zm-5.261.408a.17.17 0 01.178-.163l.342.016a.171.171 0 01.163.179l-.322 6.939a.172.172 0 01-.179.163l-.342-.016a.17.17 0 01-.162-.179l.322-6.939zm4.43 0a.17.17 0 00-.178-.163l-.342.016a.171.171 0 00-.163.179l.322 6.939a.172.172 0 00.179.163l.342-.016a.17.17 0 00.162-.179l-.322-6.939zm1.027-7.289c1.612.331 2.677.901 2.677 1.548 0 1.021-2.652 1.851-5.919 1.851-3.267 0-5.919-.83-5.919-1.851 0-.647 1.065-1.217 2.677-1.548l.166-2.766c.897.171 1.95.27 3.076.27 1.126 0 2.179-.099 3.076-.27l.166 2.766zM16 3.236c3.267 0 5.919.829 5.919 1.851 0 1.021-2.652 1.851-5.919 1.851-3.267 0-5.919-.83-5.919-1.851 0-1.022 2.652-1.851 5.919-1.851z" fill="#fff"/><path d="M7.28 17.982c-.805 0-1.458-2.889-1.458-6.447 0-3.559.653-6.448 1.458-6.448" fill="none" stroke="#fff" stroke-width="1.0023042"/><path d="M6.272 19.833c-1.036 0-1.877-3.718-1.877-8.298s.84-8.299 1.877-8.299" fill="none" stroke="#fff"/><path d="M24.69 5.086c.805 0 1.458 2.89 1.458 6.448 0 3.558-.653 6.448-1.458 6.448" fill="none" stroke="#fff" stroke-width="1.0023042"/><path d="M25.728 3.236c1.036 0 1.877 3.718 1.877 8.298s-.84 8.299-1.877 8.299" fill="none" stroke="#fff"/></svg>
|
Before Width: | Height: | Size: 1.8 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M-11.439 37.261C-7.264 39.037-4.333 43.179-4.333 48c0 6.163-4.79 11.217-10.848 11.635l1.841-2.348c4.045-1.15 7.007-4.875 7.007-9.287a9.643 9.643 0 00-5.435-8.68l.329-2.059zm-6.109-.822l-2.045 2.593A9.658 9.658 0 00-25.667 48a9.644 9.644 0 005.33 8.629l-.59 1.945c-3.98-1.856-6.74-5.895-6.74-10.574 0-5.914 4.411-10.807 10.119-11.561zm.026 21.096l.431.066-.728.914.297-.98zm2.869-19.097l-.359-.055-.501-.025 1.096-1.39-.236 1.47zM22.005 26.607a1.87 1.87 0 00-1.72-1.137H11.65l-1.136 2.67a.858.858 0 00.79 1.193h10.563a.857.857 0 00.79-1.194l-.652-1.532zm-9.982.46h8.78a.4.4 0 000-.8h-8.78a.4.4 0 000 .8z" fill="#fff"/><path d="M22.005 26.607a1.87 1.87 0 00-1.72-1.137H11.65l-1.136 2.67a.858.858 0 00.79 1.193h10.563a.857.857 0 00.79-1.194l-.652-1.532zm-9.982.46h8.78a.4.4 0 000-.8h-8.78a.4.4 0 000 .8z" fill="#fff"/><path d="M26.437 4.272a1.87 1.87 0 00-1.851-1.605H7.415c-.93 0-1.72.684-1.851 1.605L2.696 24.348a1.873 1.873 0 001.85 2.135h22.908a1.868 1.868 0 001.851-2.135L26.437 4.272zM4.697 24.483h22.606l-2.83-19.817H7.528L4.697 24.483z" fill="#fff"/><path d="M25.032 18.256l.384 2.69a1.869 1.869 0 01-1.851 2.135H20.04v-.032l-.241-4.793h5.233zm-6.268 4.825H13.3l.242-4.825h4.979l.242 4.825zm-6.74-.032v.032H8.437a1.869 1.869 0 01-1.852-2.134l.384-2.691h5.298l-.241 4.793zm.306-6.07H7.15l.717-5.01h4.715l-.252 5.01zm6.126 0h-4.85l.253-5.01h4.345l.252 5.01zm6.394 0h-5.116l-.252-5.01h4.652l.716 5.01zM12.88 6.07l-.234 4.625H8.05l.431-3.02a1.87 1.87 0 011.852-1.605h2.548zm5.027 0l.233 4.625h-4.215l.232-4.625h3.75zm1.278 0h2.484c.931 0 1.72.685 1.851 1.606l.432 3.019h-4.535l-.232-4.625zM-10.448 28.055l-1.555 1.572a.887.887 0 01-1.264 0l-13.551-13.695-.42.425a.887.887 0 01-1.264 0l-1.075-1.086a.91.91 0 010-1.278L-17.96 2.254a.887.887 0 011.264 0l1.074 1.086a.91.91 0 010 1.277l-.42.425 13.551 13.695a.91.91 0 010 1.277l-1.88 1.901-1.571-1.587a.356.356 0 00-.124-.094l1.22-1.233c.206-.208.786-.049.58-.258a.523.523 0 00-.747 0l-8.093 8.18a.538.538 0 00-.001.755c.207.208-.038-.29.168-.497l.826-.835c.014.033.045.07.095.122l1.571 1.587zm-16.854-12.72l10.703-10.817c.262-.264.385-.568.276-.679-.109-.11-.262.165-.523.43L-27.55 15.085c-.26.264-.533.419-.424.529.109.11.41-.016.671-.28zm13.574 11.271l8.247-8.335L-17.307 6.32l-8.247 8.335 11.826 11.952zm-8.266-17.934l2.495-2.52a.537.537 0 000-.754.523.523 0 00-.747 0l-2.494 2.52a.537.537 0 000 .754c.207.209.54.209.746 0zm13.778 13.734l1.43-1.446c.015.034.046.071.096.122l1.57 1.587-1.402 1.418-1.57-1.587a.356.356 0 00-.124-.094zm-3.18 3.214l2.462-2.487c.013.033.044.07.095.122l1.57 1.587L-9.7 27.3l-1.57-1.587a.353.353 0 00-.124-.093zm-14.619-12.884l2.494-2.52a.538.538 0 000-.754.524.524 0 00-.747 0l-2.493 2.52a.538.538 0 000 .755c.206.208.54.208.746 0z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.8 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M24 136v14" fill="none" stroke="#fff" stroke-width="1.63" transform="matrix(1.14426 0 0 1.30772 -.782 -174.02)"/><path d="M24 136v13.333" fill="none" stroke="#fff" stroke-width="1.63" transform="matrix(1.14426 0 0 1.30772 -15.216 -169.34)"/><ellipse cx="7.64" cy="152.692" rx="3.026" ry="1.974" fill="#fff" stroke="#fff" stroke-width="1.75" transform="translate(.04 -148.773) scale(1.14426)"/><ellipse cx="7.64" cy="152.692" rx="3.026" ry="1.974" fill="#fff" stroke="#fff" stroke-width="1.75" transform="translate(14.474 -152.58) scale(1.14426)"/><path d="M12.246 8.42c5.439-.023 10.232-1.646 14.434-4.625v4.692c-4.812-.064-9.622 1.461-14.434 4.624V8.42z" fill="#fff" stroke="#fff" stroke-width="2.0024550000000003"/></svg>
|
Before Width: | Height: | Size: 901 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M21.755-13.692l7.278 6.013c.237.197.347.51.283.812 0 0-.38 1.737-1.127 2.752-.43.584-.982.942-1.586.962-.413.014-.877-.118-1.372-.535-1.193-1.009-3.883-3.812-5.647-5.679l-.523.618S5.871-18.12 4.68-20.583c-2.842-5.876.655-8.752.655-8.752l16.42 15.643zM6.165-26.67c-.005-.004-.003-.004-.008.003l.01.01c.022.139-.002 1.22 1.448 3.026 2.07 2.576 6.595 6.533 12.623 10.297L6.167-26.657l-.002-.013zm7.978 16.176c-2.219 2.134-3.937 3.778-4.075 3.893-2.128 1.778-3.12 2.6-4.956 1.428-2.293-1.465-1.834-5.083.125-6.971l.219-.213-.012.45a40.478 40.478 0 00-.072 2.62c0 .515.343.917.768.905.428-.01.781-.433.795-.947l.07-2.563c.047-.725.116-1.45.22-2.171l1.029-.992 1.223.984c-.01.376-.013.754-.013 1.13.002.513.344.915.77.903.392-.01.722-.367.783-.825l.818.629c.298.228.597.456.897.683l1.411 1.057zm5.676-15.72l.008-.009c1.959-1.888 5.137-1.884 6.97.125 1.26 1.38.201 2.982-2.067 5.346-.356.373-1.961 1.935-3.987 3.895l-5.152-4.909.07-.438 2.242-2.162-.037 1.367a40.478 40.478 0 00-.072 2.62c0 .514.343.917.769.905.426-.012.78-.435.793-.949l.072-2.561a26.07 26.07 0 01.391-3.23zm.838 15.575c1.724 1.831 4.446 4.675 5.641 5.685.095.08.168.144.247.145.095.002.152-.094.223-.174.122-.142.229-.315.324-.498a6.96 6.96 0 00.484-1.254l-6.019-4.973-.9 1.069z" fill="#fff"/><g fill="#fff"><path d="M13.639 9.265a2.638 2.638 0 014.722 0l6.396 12.792a2.64 2.64 0 01-2.361 3.819H9.604a2.638 2.638 0 01-2.361-3.819l6.396-12.792zm.954 12.604c.267-.608.811-.992 1.407-.992s1.14.384 1.407.992l.001.002c.197.449.176.983-.056 1.41-.231.427-.64.687-1.081.687h-.542c-.441 0-.85-.26-1.081-.687a1.626 1.626 0 01-.056-1.41l.001-.002zM16 19.616c-1.705 0-1.537-3.613-1.537-5.827 0-1.419.437-2.727 1.537-2.727 1.1 0 1.537 1.23 1.537 2.711 0 2.214.168 5.843-1.537 5.843z"/><path d="M11.734 5.303L3.17 22.43a4.771 4.771 0 004.267 6.903h17.126a4.77 4.77 0 004.267-6.903L20.266 5.303a4.768 4.768 0 00-8.532 0zm1.905.966a2.64 2.64 0 014.722 0l8.486 16.973a2.64 2.64 0 01-2.361 3.819H7.514a2.638 2.638 0 01-2.361-3.819l8.486-16.973z"/></g></svg>
|
Before Width: | Height: | Size: 2.1 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="5"><path d="M16.311 8.853c3.019-1.958 7.308-4.455 9.654-5.445.935-.393 1.653-.536 2-.495a1.22 1.22 0 011.112 1.197c.013.325-.156 1.011-.547 1.91-1.012 2.324-3.455 6.597-5.382 9.622l.045 4.526c.002.214-.06.423-.18.6l-3.328 4.923a1.052 1.052 0 01-1.912-.763l.791-4.75c-.318.08-.646.13-.975.147-1.565-2.35-3.541-4.314-5.914-5.906.017-.333.067-.662.147-.982l-4.75.79a1.053 1.053 0 01-.763-1.911l4.923-3.328c.178-.12.387-.183.6-.18l4.48.045zm2.29 8.659l-4.015-4.015c-.294-.294-1.146-.408-1.065 0 .015.074.028.298.234.387 1.407.609 3.902 3.387 4.484 4.478.111.21.317.225.362.214.403-.098.294-.77 0-1.064zm5.526-9.638a2.437 2.437 0 01-3.445 3.445 2.437 2.437 0 013.445-3.445zm-.747.747a1.38 1.38 0 11-1.953 1.95 1.38 1.38 0 011.953-1.95z" fill="#fff"/><path d="M9.707 16.677l-5.616 5.616M9.707 22.293L4.091 27.91M15.323 22.293L9.707 27.91" fill="none" stroke="#fff" stroke-width="2.000681"/></svg>
|
Before Width: | Height: | Size: 1 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M-11.439 5.261C-7.264 7.037-4.333 11.179-4.333 16c0 6.163-4.79 11.217-10.848 11.635l1.841-2.348c4.045-1.15 7.007-4.875 7.007-9.287a9.643 9.643 0 00-5.435-8.68l.329-2.059zm-6.109-.822l-2.045 2.593A9.658 9.658 0 00-25.667 16a9.644 9.644 0 005.33 8.629l-.59 1.945c-3.98-1.856-6.74-5.895-6.74-10.574 0-5.914 4.411-10.807 10.119-11.561zm.026 21.096l.431.066-.728.914.297-.98zm2.869-19.097l-.359-.055-.501-.025 1.096-1.39-.236 1.47zM-10.448-3.945l-1.555 1.572a.887.887 0 01-1.264 0l-13.551-13.695-.42.425a.887.887 0 01-1.264 0l-1.075-1.086a.91.91 0 010-1.278l11.616-11.739a.887.887 0 011.264 0l1.074 1.086a.91.91 0 010 1.277l-.42.425 13.551 13.695a.91.91 0 010 1.277l-1.88 1.901-1.571-1.587a.356.356 0 00-.124-.094l1.22-1.233c.206-.208.786-.049.58-.258a.523.523 0 00-.747 0l-8.093 8.18a.538.538 0 00-.001.755c.207.208-.038-.29.168-.497l.826-.835c.014.033.045.07.095.122l1.571 1.587zm-16.854-12.72l10.703-10.817c.262-.264.385-.568.276-.679-.109-.11-.262.165-.523.43L-27.55-16.915c-.26.264-.533.419-.424.529.109.11.41-.016.671-.28zm13.574 11.271l8.247-8.335-11.826-11.952-8.247 8.335 11.826 11.952zm-8.266-17.934l2.495-2.52a.537.537 0 000-.754.523.523 0 00-.747 0l-2.494 2.52a.537.537 0 000 .754c.207.209.54.209.746 0zM-8.216-9.594l1.43-1.446c.015.034.046.071.096.122l1.57 1.587-1.402 1.418-1.57-1.587a.356.356 0 00-.124-.094zm-3.18 3.214l2.462-2.487c.013.033.044.07.095.122l1.57 1.587L-9.7-4.7l-1.57-1.587a.353.353 0 00-.124-.093zm-14.619-12.884l2.494-2.52a.538.538 0 000-.754.524.524 0 00-.747 0l-2.493 2.52a.538.538 0 000 .755c.206.208.54.208.746 0zM21.364 24.397l3.157-2.72 1.446 3.498-1.3 1.268H20.95l.415-2.046zm-7.983 2.046H9.546l-.439-3.249 3.39 1.565.071.027.813 1.657zm-.703-5.995l2.94 5.995h3.29l1.198-5.918-3.47-3.583-3.958 3.506zM7.94 17.582l2.737 4.098-2.396-1.106a.982.982 0 00-1.01.112.995.995 0 00-.306.386l-.354-.236-1.149-3.254H7.94zm11.641-.5l2.02-4.062 5.23-2.157-.54 6.62-4.272 3.68.154-.76a1.032 1.032 0 00-.269-.923l-2.323-2.398zm-8.29 1.893L7.393 13.14l.671-5.713 5.425 3.676.991 5.044-3.19 2.827zm4.933-4.333l-.854-4.354a1.018 1.018 0 00-.428-.65l-.552-.374 4.2-3.545 1.544 4.21-1.385 4.316-.649 1.307-.702-.725a.983.983 0 00-1.174-.185zm7.48-4.69l-1.698.7.138-.428c.07-.22.065-.458-.014-.674l-.34-.928 1.914-1.615v2.945z" fill="#fff"/><path d="M235.946 40.494l.022-.019 5.725-4.737a.998.998 0 011.574.42l1.077 2.88 3.019-2.495a1 1 0 011.637.77v4.202l1.882-.761a1 1 0 011.371 1.01l-.707 8.523a.998.998 0 01-.351.681l-1.778 1.501 1.957 4.638a1 1 0 01-.23 1.112l-2.089 1.996a1 1 0 01-.691.277H231.97a1 1 0 01-.99-.864l-.538-3.897-1.908-1.244a.994.994 0 01-.395-.499l-1.745-4.844a1 1 0 01.941-1.339h2.539l-1.048-1.538a.998.998 0 01-.166-.682l.908-7.585a.998.998 0 011.546-.714l4.832 3.208z" fill="none" stroke="#fff" stroke-width=".99" transform="matrix(1 0 0 1.02 -223.296 -33.219)"/></svg>
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M11.793 18.242l1.761.958c.061.034.106.09.125.158a.262.262 0 01-.026.2c-.663 1.191-.12 2.684.122 2.944-1.347 2.65-5.186 6.26-9.254 6.6a.275.275 0 01-.256-.407c.87-1.58 5.41-9.839 6.076-11.05a.171.171 0 01.23-.068l.49.267L5.576 27.93s1.25-.56 1.383-.802l4.834-8.886zm1.502-2.76l2.808 1.528a.577.577 0 01.23.78l-.718 1.323a.577.577 0 01-.78.23l-2.81-1.528 1.27-2.334zm6.464-11.884l3.331.05a.574.574 0 01.497.851c-1.237 2.264-4.67 8.549-6.423 11.768a.575.575 0 01-.781.23l-2.81-1.528L19.76 3.598zm-8.465 13.82l-.134-.073a.579.579 0 01-.23-.78l.72-1.324a.576.576 0 01.78-.23l.134.072-1.27 2.335zm1.549-2.847l-.132-.07a.577.577 0 01-.23-.783l5.407-9.842a.578.578 0 01.514-.299l.417.006-5.976 10.988zM12.812 29.175s.478-.063 1.171-.114a12.397 12.397 0 011.171-.034c1.633.03 3.513.148 3.513.148a.5.5 0 000-1s-1.88.118-3.513.147a12.639 12.639 0 01-1.171-.033c-.693-.051-1.171-.114-1.171-.114a.5.5 0 000 1zM21.073 29.175s.478-.063 1.17-.114a12.397 12.397 0 011.172-.034c1.633.03 3.513.148 3.513.148a.5.5 0 000-1s-1.88.118-3.513.147a12.639 12.639 0 01-1.171-.033c-.693-.051-1.171-.114-1.171-.114a.5.5 0 000 1zM46.984-24.02s.147 3.67.147 7.342c0 3.673-.147 7.343-.147 7.343a1 1 0 002 0s-.146-3.67-.146-7.343c0-3.672.146-7.342.146-7.342a1 1 0 00-2 0zM9.523 44.34a5.6 5.6 0 011.905-.918 5.662 5.662 0 012.197-.15L12.49 45.87c-.128.016-.257.041-.384.075l-.28.092-2.302-1.697zm-3.384-2.494a9.342 9.342 0 014.258-2.477 9.342 9.342 0 014.927.016l-1.063 2.433a6.682 6.682 0 00-3.187.075 6.682 6.682 0 00-2.798 1.528l-2.137-1.575zm-3.472-2.559a13.025 13.025 0 016.59-4.171 13.03 13.03 0 017.795.317l-1.05 2.4a10.437 10.437 0 00-6.068-.194 10.437 10.437 0 00-5.159 3.202l-2.108-1.554z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 1.8 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M26.588 13.034a1 1 0 00-1.225-.707L7.94 16.995c-.534.144-.85.692-.708 1.225l2.784 10.39a1 1 0 001.225.707l17.423-4.669a1 1 0 00.707-1.225l-2.783-10.39zm-13.131 13.05l3.29-.88c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.573l-3.29.882c-.496.133-.801.605-.68 1.054.12.449.62.705 1.117.573zm-1.142-2.915l3.29-.881c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.572l-3.29.881c-.496.134-.801.605-.68 1.054.12.449.62.706 1.117.573zm8.76-6.528a3.366 3.366 0 00-2.38 4.12 3.367 3.367 0 004.122 2.378 3.367 3.367 0 002.378-4.12 3.366 3.366 0 00-4.12-2.378zm-9.817 3.57l3.29-.882c.496-.132.8-.606.68-1.054-.12-.45-.62-.705-1.116-.573l-3.29.882c-.496.133-.802.605-.68 1.054.119.45.62.706 1.116.572zm10.27-1.878a1.614 1.614 0 01.835 3.116 1.614 1.614 0 01-.835-3.116zM9.523 12.34a5.6 5.6 0 011.905-.918 5.662 5.662 0 012.197-.15L12.49 13.87c-.128.016-.257.041-.385.075l-.28.092-2.301-1.697zM6.139 9.846a9.342 9.342 0 014.258-2.477 9.342 9.342 0 014.927.016L14.26 9.818a6.682 6.682 0 00-3.188.075 6.682 6.682 0 00-2.797 1.528L6.139 9.846zM2.667 7.287a13.025 13.025 0 016.59-4.171 13.03 13.03 0 017.795.317l-1.05 2.4a10.437 10.437 0 00-6.068-.194 10.437 10.437 0 00-5.159 3.202L2.667 7.287zM17.122 36.684v-2.49a1.501 1.501 0 00-3 0v2.49a1.5 1.5 0 003 0z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 1.4 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M26.588-18.966a1 1 0 00-1.225-.707L7.94-15.005c-.534.144-.85.692-.708 1.225l2.784 10.39a1 1 0 001.225.707l17.423-4.669a1 1 0 00.707-1.225l-2.783-10.39zM13.457-5.916l3.29-.88c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.573l-3.29.882c-.496.133-.801.605-.68 1.054.12.449.62.705 1.117.573zM12.315-8.83l3.29-.881c.496-.134.8-.606.68-1.055-.12-.449-.62-.705-1.117-.572l-3.29.881c-.496.134-.801.605-.68 1.054.12.449.62.706 1.117.573zm8.76-6.528a3.366 3.366 0 00-2.38 4.12 3.367 3.367 0 004.122 2.378 3.367 3.367 0 002.378-4.12 3.366 3.366 0 00-4.12-2.378zm-9.817 3.57l3.29-.882c.496-.132.8-.606.68-1.054-.12-.45-.62-.705-1.116-.573l-3.29.882c-.496.133-.802.605-.68 1.054.119.45.62.706 1.116.572zm10.27-1.878a1.614 1.614 0 01.835 3.116 1.614 1.614 0 01-.835-3.116zM9.523-19.66a5.6 5.6 0 011.905-.918 5.662 5.662 0 012.197-.15L12.49-18.13c-.128.016-.257.041-.385.075l-.28.092-2.301-1.697zm-3.384-2.494a9.342 9.342 0 014.258-2.477 9.342 9.342 0 014.927.016l-1.063 2.433a6.682 6.682 0 00-3.188.075 6.682 6.682 0 00-2.797 1.528l-2.137-1.575zm-3.472-2.559a13.025 13.025 0 016.59-4.171 13.03 13.03 0 017.795.317l-1.05 2.4a10.437 10.437 0 00-6.068-.194 10.437 10.437 0 00-5.159 3.202l-2.108-1.554zM12.23 23.403a1.283 1.283 0 01-.007-.142c0-.322-.116-.686-.275-1.087-.312-.788-.802-1.672-1.289-2.589-.934-1.759-1.819-3.637-1.819-5.252 0-3.495 3.083-6.39 6.945-6.39s6.945 2.895 6.945 6.39c0 1.34-.878 3.166-1.815 4.97-.755 1.451-1.568 2.88-1.568 3.958l-.008.143c.02.082.03.168.03.256v4.577c0 .605-.49 1.097-1.096 1.097h-4.976a1.096 1.096 0 01-1.097-1.097V23.66c0-.089.01-.174.03-.257zm.63 4.223v.227c0 .498.402.902.895.902h4.06a.899.899 0 00.894-.902V24.09a.899.899 0 00-.894-.902h-4.06a.899.899 0 00-.895.902v.546c0-.396.402-.716.895-.716h4.06c.493 0 .894.32.894.716v2.991c0 .396-.4.717-.894.717h-4.06c-.493 0-.895-.32-.895-.717zm4.758-5.063l.046-5.481c0-.154-.064-.3-.177-.404l-.8-.733a.544.544 0 00-.812.083l-.202.278-.231-.291a.539.539 0 00-.8-.056l-.76.735a.536.536 0 00-.166.388l.038 5.481h.995l.037-5.25.17-.162.31.394a.546.546 0 00.868-.017l.266-.364.175.16.045 5.24h.998zM15.74 9.403s-2 .058-3.614 1.43c-.385.326-.748.728-1.047 1.22-.365.6-.64 1.334-.768 2.221a.736.736 0 001.445.263 4.669 4.669 0 01.69-1.615c.225-.339.48-.62.748-.855 1.183-1.043 2.636-1.199 2.636-1.199a.735.735 0 00-.09-1.466zM9.407 5.448l-1.048-.94A1.5 1.5 0 006.355 6.74l1.047.94a1.5 1.5 0 002.005-2.232zM24.167 7.68l1.048-.94a1.5 1.5 0 00-2.005-2.232l-1.047.94a1.5 1.5 0 002.004 2.233zM6.058 19.205l-.582.39a1.5 1.5 0 001.667 2.493l.582-.389a1.5 1.5 0 00-1.667-2.494zM5.452 11.927H2.667a1.5 1.5 0 000 3h2.785a1.5 1.5 0 000-3zM17.121 4.685V2.194a1.501 1.501 0 00-3 0v2.491a1.5 1.5 0 003 0zM23.623 21.7l1.169.78a1.5 1.5 0 001.667-2.493l-1.168-.782a1.5 1.5 0 00-1.668 2.494zM26.119 14.927h2.495a1.501 1.501 0 000-3h-2.496a1.5 1.5 0 000 3z" fill="#fff"/><g><path d="M16.31 40.852c3.02-1.958 7.309-4.454 9.655-5.444.934-.394 1.653-.536 2-.495a1.22 1.22 0 011.112 1.197c.012.324-.156 1.01-.548 1.91-1.01 2.323-3.455 6.597-5.382 9.621l.046 4.527c.002.213-.061.423-.18.6l-3.329 4.923a1.052 1.052 0 01-1.91-.763l.79-4.75c-.319.08-.646.129-.976.147-1.565-2.35-3.54-4.314-5.914-5.907.018-.332.067-.661.148-.981l-4.75.79a1.053 1.053 0 01-.763-1.912l4.923-3.328c.177-.119.386-.182.6-.18l4.479.045zm2.29 8.66l-4.014-4.016c-.295-.294-1.146-.407-1.065 0 .015.075.028.298.234.388 1.407.609 3.902 3.387 4.483 4.477.112.21.318.225.362.215.404-.098.294-.77 0-1.065zm5.527-9.639a2.437 2.437 0 01-3.446 3.445 2.437 2.437 0 013.446-3.445zm-.747.747a1.38 1.38 0 11-1.953 1.95 1.38 1.38 0 011.953-1.95z" fill="#fff"/></g></svg>
|
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 6.1 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M29.333 8.537a5.99 5.99 0 00-5.987-5.987H8.654a5.99 5.99 0 00-5.987 5.987v14.927a5.99 5.99 0 005.987 5.987h14.692a5.99 5.99 0 005.987-5.987V8.537zm-2.18 0v14.927a3.809 3.809 0 01-3.807 3.807H8.654a3.81 3.81 0 01-3.808-3.807V8.537a3.81 3.81 0 013.808-3.808h14.692a3.809 3.809 0 013.807 3.808z" fill="#fff"/><path d="M9.633 12.369h12.734a2.18 2.18 0 000-4.359H9.633a2.18 2.18 0 000 4.359z" fill="#fff"/><path d="M13.82 10.188v12.19a2.18 2.18 0 004.359 0v-12.19a2.18 2.18 0 00-4.36 0z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 657 B |
Before Width: | Height: | Size: 7.6 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M-10.245-13.692l7.278 6.013c.237.197.347.51.283.812 0 0-.38 1.737-1.127 2.752-.43.584-.982.942-1.586.962-.413.014-.877-.118-1.372-.535-1.193-1.009-3.883-3.812-5.647-5.679l-.523.618s-13.19-9.37-14.382-11.834c-2.842-5.876.655-8.752.655-8.752l16.42 15.643zm-15.59-12.978c-.005-.004-.003-.004-.008.003l.01.01c.022.139-.002 1.22 1.448 3.026 2.07 2.576 6.595 6.533 12.623 10.297l-14.071-13.323-.002-.013zm7.978 16.176c-2.219 2.134-3.937 3.778-4.075 3.893-2.128 1.778-3.12 2.6-4.956 1.428-2.293-1.465-1.834-5.083.125-6.971l.219-.213-.012.45a40.478 40.478 0 00-.072 2.62c0 .515.343.917.768.905.428-.01.781-.433.795-.947l.07-2.563c.047-.725.116-1.45.22-2.171l1.029-.992 1.223.984c-.01.376-.013.754-.013 1.13.002.513.344.915.77.903.392-.01.722-.367.783-.825l.818.629c.298.228.597.456.897.683l1.411 1.057zm5.676-15.72l.008-.009c1.959-1.888 5.137-1.884 6.97.125 1.26 1.38.201 2.982-2.067 5.346-.356.373-1.961 1.935-3.987 3.895l-5.152-4.909.07-.438 2.242-2.162-.037 1.367a40.478 40.478 0 00-.072 2.62c0 .514.343.917.769.905.426-.012.78-.435.793-.949l.072-2.561a26.07 26.07 0 01.391-3.23zm.838 15.575c1.724 1.831 4.446 4.675 5.641 5.685.095.08.168.144.247.145.095.002.152-.094.223-.174.122-.142.229-.315.324-.498a6.96 6.96 0 00.484-1.254l-6.019-4.973-.9 1.069zM19.273 24.713h6.911a1 1 0 000-2h-6.911a1 1 0 100 2zM29.333 28.332c0-1.7-1.378-3.078-3.078-3.078h-7.053a3.078 3.078 0 00-3.078 3.078v.002a1 1 0 001 1h11.209a1 1 0 001-1v-.002zm-9.96-2.3s-2.05.28-2.05 2.18c0 .19.296.344.478.344s.33-.154.33-.344c0-1.332 1.469-1.496 1.469-1.496a.341.341 0 00.288-.383c-.022-.19-.334-.324-.515-.301zM22.356 13.294a2 2 0 000-2.829L19.47 7.579a2 2 0 00-2.829 0l-2.567 2.567a2 2 0 000 2.828l2.887 2.886a2 2 0 002.828 0l2.567-2.566zM12.369 14.966l2.624 2.624-9.159 9.16c-.181.181-.39.316-.613.407l-.085.032a1.857 1.857 0 01-1.375-.06l-.133-.067a1.787 1.787 0 01-.347-.247l-.071-.068a1.854 1.854 0 010-2.622l9.159-9.159zm4.037 2.174a.63.63 0 000-.886l-2.701-2.7a.624.624 0 00-.885 0h-.001a.63.63 0 000 .886l2.701 2.7a.622.622 0 00.885 0h.001zm4.474-9.506a.297.297 0 000 .424l1.021 1.022a.304.304 0 00.213.088.303.303 0 00.212-.088l.502-.502a1.026 1.026 0 000-1.446h-.001a1.023 1.023 0 00-1.445 0l-.502.502zM27.077 16.412a2 2 0 000-2.828l-.611-.612a2 2 0 00-2.829 0l-4.11 4.11a2 2 0 000 2.828l.612.612a2 2 0 002.829 0l4.109-4.11zM16.973 6.257a2 2 0 000-2.828l-.512-.512a2 2 0 00-2.829 0l-4.109 4.11a1.998 1.998 0 000 2.828l.511.512a2 2 0 002.829 0l4.11-4.11z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.5 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><circle cx="48" cy="80" r="12.514" fill="none" stroke="#fff" stroke-width="1.67" transform="translate(-12.799 -32.017) scale(.60016)"/><circle cx="48" cy="80" r="12.514" fill="none" stroke="#fff" stroke-width="2.5" transform="matrix(.4001 0 0 .4001 -3.196 -16.013)"/><circle cx="48" cy="80" r="12.514" fill="#fff" stroke="#fff" stroke-width="3.81" transform="translate(3.419 -4.988) scale(.2623)"/><path d="M16.96 8.486c.19-.69 1.59-3.652 1.747-3.905.644-1.034 1.323-1.29 3.113-.9a.32.32 0 01.219.478c-.688 1.176-2.755 4.698-2.755 4.698s-.124-.007-.364-.035c-.049-.006 2.873-4.528 2.7-4.582-.194-.061-3.018 4.542-3.108 4.529a22.568 22.568 0 01-1.551-.283zM15.605 23.516c-.189.689-1.59 3.651-1.746 3.905-.644 1.034-1.323 1.29-3.113.9a.32.32 0 01-.219-.479c.687-1.176 2.754-4.697 2.754-4.697s.124.006.365.034c.049.006-2.873 4.528-2.7 4.583.194.06 3.018-4.542 3.107-4.529.382.054.902.143 1.552.283zM23.528 16.4c.689.189 3.651 1.59 3.905 1.746 1.034.644 1.29 1.323.9 3.113a.32.32 0 01-.479.22c-1.176-.688-4.697-2.755-4.697-2.755s.006-.124.034-.365c.006-.048 4.528 2.873 4.583 2.7.06-.194-4.542-3.018-4.529-3.107.054-.382.143-.902.283-1.552zM8.565 15.592c-.689-.189-3.651-1.59-3.905-1.746-1.034-.644-1.29-1.323-.9-3.113a.32.32 0 01.479-.219c1.176.687 4.697 2.755 4.697 2.755s-.006.124-.034.364c-.006.049-4.528-2.873-4.583-2.7-.06.194 4.542 3.018 4.529 3.107-.054.382-.143.903-.283 1.552zM22.006 11.333c.621-.353 3.707-1.458 3.997-1.526 1.186-.276 1.847.023 2.837 1.565a.32.32 0 01-.183.493c-1.318.345-5.27 1.374-5.27 1.374s-.083-.093-.233-.282c-.03-.039 5.233-1.17 5.15-1.331-.095-.181-5.346 1.077-5.4 1.005a22.568 22.568 0 01-.898-1.298zM10.42 21.002c-.62.354-3.706 1.459-3.996 1.527-1.186.276-1.847-.023-2.837-1.565a.32.32 0 01.183-.493c1.318-.346 5.27-1.374 5.27-1.374s.083.092.233.282c.03.039-5.233 1.17-5.15 1.331.095.18 5.346-1.077 5.4-1.005.232.309.537.739.898 1.297zM21.053 21.573c.354.62 1.459 3.706 1.527 3.996.276 1.187-.023 1.848-1.565 2.837a.32.32 0 01-.493-.183c-.346-1.317-1.374-5.27-1.374-5.27s.092-.082.282-.232c.039-.03 1.17 5.233 1.331 5.15.18-.095-1.077-5.347-1.005-5.4.309-.232.739-.538 1.297-.898zM11.046 10.422c-.354-.62-1.459-3.706-1.527-3.996-.276-1.187.023-1.848 1.565-2.838a.32.32 0 01.493.184c.346 1.317 1.374 5.27 1.374 5.27s-.092.082-.282.232c-.039.03-1.17-5.233-1.331-5.15-.18.095 1.077 5.347 1.005 5.4-.309.232-.74.537-1.297.898zM19.752 9.534c.433-.548 2.822-2.675 3.06-2.843.972-.682 1.678-.654 3.131.373a.32.32 0 01.144.26.32.32 0 01-.13.266c-1.073.802-4.259 3.164-4.259 3.164s-.109-.054-.314-.17c-.041-.024 4.31-2.972 4.176-3.087-.152-.13-4.446 2.929-4.521 2.883a22.031 22.031 0 01-1.287-.846zM12.797 22.52c-.433.547-2.822 2.674-3.06 2.842-.972.682-1.678.654-3.131-.373a.32.32 0 01-.144-.26.32.32 0 01.13-.266c1.074-.802 4.259-3.164 4.259-3.164s.109.054.314.17c.042.024-4.31 2.972-4.175 3.087.15.13 4.445-2.929 4.52-2.883.323.195.757.473 1.287.847zM22.632 19.151c.547.433 2.674 2.822 2.842 3.06.682.972.654 1.678-.373 3.131a.32.32 0 01-.26.144.32.32 0 01-.266-.13c-.802-1.074-3.164-4.259-3.164-4.259s.054-.109.17-.314c.024-.042 2.972 4.31 3.087 4.175.13-.15-2.929-4.445-2.883-4.52.195-.323.473-.757.847-1.287zM9.496 12.714c-.547-.433-2.674-2.823-2.842-3.06-.682-.972-.654-1.678.373-3.132a.32.32 0 01.26-.143.32.32 0 01.266.129c.802 1.074 3.164 4.26 3.164 4.26s-.054.108-.17.313c-.024.042-2.972-4.31-3.087-4.175-.13.152 2.929 4.446 2.883 4.521-.195.323-.473.756-.847 1.287zM23.199 14.018c.693-.08 3.887.105 4.173.154 1.17.205 1.65.724 1.95 2.478a.32.32 0 01-.081.285.32.32 0 01-.28.097c-1.326-.193-5.249-.775-5.249-.775s-.04-.114-.101-.342c-.013-.047 5.148.946 5.134.77-.015-.199-5.214-1.073-5.235-1.159-.09-.366-.2-.869-.311-1.508zM9.098 18.283c-.693.081-3.887-.104-4.174-.154-1.169-.205-1.649-.723-1.95-2.478a.32.32 0 01.082-.285.32.32 0 01.28-.097c1.326.193 5.249.775 5.249.775s.039.115.101.343c.013.046-5.148-.946-5.135-.77.016.198 5.215 1.073 5.236 1.158.09.366.2.869.311 1.508zM18.434 22.855c.081.693-.104 3.887-.154 4.173-.205 1.17-.723 1.65-2.478 1.95a.32.32 0 01-.285-.081.32.32 0 01-.097-.28c.193-1.326.775-5.249.775-5.249s.115-.04.343-.101c.046-.013-.946 5.148-.77 5.134.198-.015 1.073-5.214 1.158-5.235.366-.09.869-.2 1.508-.311zM13.698 9.015c-.08-.693.105-3.887.154-4.174.205-1.169.724-1.649 2.478-1.95a.32.32 0 01.285.082.32.32 0 01.098.28c-.193 1.326-.776 5.249-.776 5.249s-.114.039-.342.101c-.046.013.946-5.149.77-5.135-.198.016-1.073 5.215-1.158 5.236-.366.09-.87.2-1.509.31z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 4.5 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="1.5"><path d="M59.485 10.232c0-3.183-2.446-5.767-5.46-5.767h-10.92c-3.014 0-5.461 2.584-5.461 5.767v11.536c0 3.183 2.447 5.767 5.461 5.767h10.92c3.014 0 5.46-2.584 5.46-5.767V10.232z" fill="none" stroke="#fff" stroke-width="2.97" transform="rotate(45 25.436 -16.758) scale(.86333 .81734)"/><path d="M44.849 14.354a3.718 3.718 0 013.716-3.716 3.718 3.718 0 013.716 3.716 3.718 3.718 0 01-3.716 3.716c-1.17 0 .445 3.776.445 3.776" fill="none" stroke="#fff" stroke-width="2.73" transform="matrix(.7474 .11886 -.12555 .70758 -18.515 -3.04)"/><path d="M49.627 22.899l-.097-.548" fill="none" stroke="#fff" stroke-width="1.96" transform="matrix(1.04955 -.00858 .00906 .99364 -36.237 -.551)"/></svg>
|
Before Width: | Height: | Size: 857 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M10.001 3.873a1.56 1.56 0 00-1.494.863l-4.71 9.968c-.2.405-.185.883.04 1.274 0 0 1.587 2.605 3.11 5.25 1.522 2.644 2.979 5.325 2.979 5.325.228.395.639.649 1.094.678l10.99.869a1.538 1.538 0 001.473-.85l4.738-9.956a1.353 1.353 0 00-.04-1.28s-1.598-2.6-3.127-5.24c-1.53-2.641-2.99-5.32-2.99-5.32a1.34 1.34 0 00-1.075-.667l-10.988-.914zm10.13 3.557l-9.302-.4-4.297 8.256c.527.955 1.563 2.818 2.63 4.662a277.167 277.167 0 002.73 4.597l9.302.44 4.277-8.277a264.188 264.188 0 00-2.614-4.667 255.043 255.043 0 00-2.726-4.611zm-4.203 9.474l-.006-.118c0-.76.618-1.377 1.377-1.377h2.657a1.377 1.377 0 010 2.755h-1.28v1.32h1.28a1.378 1.378 0 010 2.754H17.3l-.141-.008-.137-.02-.133-.034-.02-.008a1.375 1.375 0 01-.947-1.308v-3.837l.006-.12zm-4.102-3.75h-.542a1.378 1.378 0 010-2.753h3.838a1.378 1.378 0 010 2.754h-.542v2.963a1.378 1.378 0 01-2.754 0v-2.963z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 1,021 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M16.87 8.903l.037-.125a18.911 18.911 0 00.531-2.346c.23-1.42.311-2.405.311-2.405a1.409 1.409 0 012.72.729c.001 0-.421.894-.932 2.238a19.291 19.291 0 00-.712 2.298l-.03.126c.337.143.66.312.968.502l.058-.09c.574-.908.932-1.56.932-1.56a.846.846 0 011.35 1.016s-.526.524-1.24 1.328l-.07.082c.305.276.585.578.839.9l.116-.061a19.314 19.314 0 002.035-1.283c1.166-.842 1.92-1.48 1.92-1.48a1.408 1.408 0 011.409 2.438s-.932.334-2.243.923a19.603 19.603 0 00-2.129 1.121l-.11.069c.136.335.247.682.331 1.039l.104-.022c1.048-.236 1.761-.445 1.761-.445a.845.845 0 01.238 1.673s-.744-.002-1.817.062l-.107.008a7.155 7.155 0 01-.044 1.231l.126.038a18.911 18.911 0 002.345.532c1.42.23 2.406.31 2.406.31a1.409 1.409 0 01-.729 2.72c0 .002-.895-.42-2.239-.931a19.291 19.291 0 00-2.297-.712l-.126-.03c-.143.336-.312.66-.503.967l.09.059c.908.573 1.56.931 1.56.931a.846.846 0 01-1.016 1.351s-.523-.527-1.328-1.24l-.081-.071a7.219 7.219 0 01-.901.84l.062.115a19.314 19.314 0 001.283 2.035 34.82 34.82 0 001.48 1.921 1.408 1.408 0 01-2.439 1.408s-.333-.931-.923-2.243a19.603 19.603 0 00-1.12-2.128l-.07-.11a7.059 7.059 0 01-1.038.33l.021.104c.237 1.048.445 1.761.445 1.761a.845.845 0 01-1.673.238s.002-.744-.062-1.816l-.008-.107a7.155 7.155 0 01-1.231-.044l-.037.125a18.911 18.911 0 00-.532 2.346c-.23 1.42-.311 2.405-.311 2.405a1.409 1.409 0 01-2.72-.729c-.001 0 .421-.894.932-2.239a19.291 19.291 0 00.712-2.297l.03-.126a7.153 7.153 0 01-.968-.502l-.058.09c-.574.908-.932 1.56-.932 1.56a.846.846 0 01-1.35-1.016s.526-.524 1.24-1.329l.07-.08a7.219 7.219 0 01-.839-.902l-.116.062a19.314 19.314 0 00-2.035 1.283c-1.166.842-1.92 1.48-1.92 1.48a1.408 1.408 0 01-1.409-2.439s.932-.333 2.243-.922a19.603 19.603 0 002.129-1.121l.11-.07a7.059 7.059 0 01-.331-1.038l-.104.022c-1.048.236-1.76.445-1.76.445a.845.845 0 01-.239-1.674s.744.003 1.817-.062l.107-.007a7.155 7.155 0 01.044-1.231l-.125-.038a18.911 18.911 0 00-2.346-.532 34.266 34.266 0 00-2.406-.31 1.409 1.409 0 01.729-2.72c0-.002.895.42 2.239.931a19.291 19.291 0 002.297.712l.126.03c.144-.336.313-.66.503-.967l-.09-.059c-.908-.573-1.56-.932-1.56-.932a.846.846 0 011.016-1.35s.524.527 1.328 1.24l.081.071c.276-.305.578-.586.901-.84l-.061-.115a19.314 19.314 0 00-1.284-2.035c-.841-1.166-1.48-1.921-1.48-1.921a1.408 1.408 0 012.439-1.409s.334.932.923 2.244a19.603 19.603 0 001.12 2.128l.07.11a7.059 7.059 0 011.038-.33l-.021-.104c-.237-1.048-.445-1.761-.445-1.761a.845.845 0 011.673-.238s-.002.743.062 1.816l.008.107a7.155 7.155 0 011.231.044zm-3.537 7.567a1.809 1.809 0 010 3.615 1.808 1.808 0 010-3.615zm5.476-3.194a2.254 2.254 0 11-2.252 2.253 2.254 2.254 0 012.252-2.253zm-5.067-1.482a1.202 1.202 0 110 2.405 1.202 1.202 0 010-2.405zM11.793 50.242l1.761.958c.061.034.106.09.125.158a.262.262 0 01-.026.2c-.663 1.191-.12 2.684.122 2.944-1.347 2.65-5.186 6.26-9.254 6.6a.275.275 0 01-.256-.407c.87-1.58 5.41-9.839 6.076-11.05a.171.171 0 01.23-.068l.49.267L5.576 59.93s1.25-.56 1.383-.802l4.834-8.886zm1.502-2.76l2.808 1.528a.577.577 0 01.23.78l-.718 1.323a.577.577 0 01-.78.23l-2.81-1.528 1.27-2.334zm6.464-11.884l3.331.05a.574.574 0 01.497.851c-1.237 2.264-4.67 8.549-6.423 11.768a.575.575 0 01-.781.23l-2.81-1.528 6.186-11.371zm-8.465 13.82l-.134-.073a.579.579 0 01-.23-.78l.72-1.324a.576.576 0 01.78-.23l.134.072-1.27 2.335zm1.549-2.847l-.132-.07a.577.577 0 01-.23-.783l5.407-9.842a.578.578 0 01.514-.299l.417.006-5.976 10.988zM46.984 7.98s.147 3.67.147 7.342c0 3.673-.147 7.343-.147 7.343a1 1 0 002 0s-.146-3.67-.146-7.343c0-3.672.146-7.342.146-7.342a1 1 0 00-2 0z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 3.6 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M13.549 12.928c-1.676 2.251-9.623 12.936-9.541 13.01.092.083.4.329.488.244.203-.17.898-.755 1.694-1.701.202-.239.415-.497.63-.777.303-.395.613-.831.936-1.286 1.163-1.634 2.447-3.555 3.609-5.226a568.052 568.052 0 012.727-3.893c.692.474 1.299.933 1.84 1.374-1.27 1.57-2.642 3.243-3.882 4.892-3.2 4.255-5.808 8.139-5.808 8.139-.615.829-1.837 1.038-2.728.466-.892-.573-1.115-1.711-.5-2.54 0 0 2.973-3.65 6.11-7.945 1.254-1.715 2.482-3.561 3.637-5.267l.788.51zm6.551 3.6c-1.422-1.561-3.412-3.463-7.21-5.673l2.828-4.558L12.42 4.81c4-2.647 8.641.352 12.688 3.611a8.312 8.312 0 002.129 1.241c.788.317 1.682.673 1.682.673s-2.809 6.881-6.394 8.813c-.64-.578-1.213-1.258-1.9-2.035 1.714-1.543 5.035-5.717 4.927-8.072-1.037 2.987-2.891 5.46-5.45 7.487z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 916 B |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M14.984-24.02s.147 3.67.147 7.342c0 3.673-.147 7.343-.147 7.343a1 1 0 002 0s-.146-3.67-.146-7.343c0-3.672.146-7.342.146-7.342a1 1 0 00-2 0zM10.726 17.79l-.03-.025a.66.66 0 01-.107-.696l.976-2.72a.713.713 0 01.141-.217l-.512-.583-.585-.695-.301-.375-.091.008s-.337-.142-.872-.267a6.578 6.578 0 00-.87-.143 5.102 5.102 0 00-.522-.014c-.665.006-1.217.056-1.217.056a.661.661 0 01-.525-1.07l1.501-2.182a34.413 34.413 0 01-2.153-3.89 1.096 1.096 0 01-.285-.932c.04-.284.18-.563.51-.777a1.062 1.062 0 011.377.216c.153.02.44.336.77.51.693.367 1.662.869 2.807 1.537.136.006.435.007.828-.032.272-.027.567-.074.87-.147.171-.04.338-.099.498-.155.628-.22 1.133-.448 1.133-.448a.661.661 0 01.844.842l-.622 2.22c.719.511 1.46 1.072 2.208 1.69a6.682 6.682 0 001.695-.064c.174-.03.344-.076.507-.122.642-.178 1.16-.368 1.16-.368a.66.66 0 01.785.896l-.93 2.622c.724.751 1.436 1.558 2.126 2.424a6.593 6.593 0 001.39.28c.175.017.352.016.52.013.666-.008 1.218-.06 1.218-.06a.661.661 0 01.529 1.067l-1.35 1.978a31.973 31.973 0 012.53 5.05.904.904 0 01-1.214 1.157 37.475 37.475 0 01-4.714-2.545 23.232 23.232 0 00-.948-2.723l-.103-.24c.29.215.586.427.886.633l.677.388c.097.067.182.147.248.24.797.52 1.615 1.01 2.455 1.471a30.225 30.225 0 00-2.925-4.7l-.382-.43a1.015 1.015 0 01-.138-.242 30.971 30.971 0 00-1.33-1.558c-3.612-3.962-7.63-6.395-10.3-7.82a37.652 37.652 0 004.169 5.856l-.04.056a.962.962 0 00-.05.092s-.783 1.639-1.7 3.697l-.542 1.241zm6.01 4.242l.084.215a.615.615 0 01-.084-.215zm-2.147-7.649l.35.364-.147-.018a1.058 1.058 0 00-.396.065l.193-.411z" fill="#fff"/><path d="M15.734 13.308a1.06 1.06 0 00-1.81 0s-.778 1.628-1.688 3.672c-.527 1.181-1.101 2.492-1.558 3.724-.498 1.341-.874 2.588-.877 3.504a5.039 5.039 0 001.442 3.584 5.09 5.09 0 003.585 1.54 5.133 5.133 0 003.664-1.461 5.19 5.19 0 001.576-3.663c.023-1.18-.515-2.931-1.245-4.698-1.267-3.069-3.089-6.202-3.089-6.202zm-.974 2.479c-.27.404-.577.879-.895 1.402a30.373 30.373 0 00-1.596 2.946c-.701 1.516-1.205 3.04-1.208 4.073a3.723 3.723 0 001.135 2.632 3.675 3.675 0 002.632 1.038 3.627 3.627 0 002.555-1.116 3.574 3.574 0 001.001-2.554c-.018-1.01-.58-2.473-1.262-3.958-.76-1.661-1.698-3.334-2.362-4.463z" fill="#fff"/><path d="M14.829 13.858s-4.397 7.246-4.397 10.35a4.4 4.4 0 004.397 4.398 4.4 4.4 0 004.397-4.398c0-3.104-4.397-10.35-4.397-10.35zm.13 12.476c-1.345 0-2.225-1.12-2.225-2.465a.794.794 0 00-1.589 0c0 2.254 1.561 4.054 3.814 4.054a.794.794 0 000-1.589z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.5 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linecap="round" stroke-linejoin="round" stroke-miterlimit="10"><path d="M14.652 19.178c.341.353.82.572 1.348.572.528 0 1.006-.22 1.347-.572l.75.433a5.337 5.337 0 002.185 6.835 5.338 5.338 0 006.443-.852l.8.46a7.202 7.202 0 01-9.029 1.51A7.153 7.153 0 0116 25.159a7.164 7.164 0 01-2.497 2.407 7.202 7.202 0 01-9.029-1.51.46.46 0 01.8-.461h0a5.338 5.338 0 006.443.852 5.337 5.337 0 002.185-6.835l.75-.433zm12.073 6.416a.46.46 0 01.8.461l-.8-.461zM16.58 14.856a5.337 5.337 0 004.797-5.307 5.338 5.338 0 00-3.959-5.154v-.923a7.2 7.2 0 015.821 7.064 7.147 7.147 0 01-.968 3.604 7.168 7.168 0 013.422.962 7.203 7.203 0 013.207 8.574.461.461 0 01-.63.166.46.46 0 01-.17-.628h0a5.339 5.339 0 00-2.484-6.006 5.337 5.337 0 00-6.925 1.408l-.834-.482a1.877 1.877 0 00-1.277-2.042v-1.236zM3.9 23.214a.46.46 0 01-.17.628.46.46 0 01-.629-.166l.8-.462zm9.41-4.598a5.337 5.337 0 00-6.926-1.408A5.339 5.339 0 003.9 23.214l-.799.462a7.202 7.202 0 013.206-8.574 7.157 7.157 0 013.508-.963A7.2 7.2 0 0114.67 3.472a.46.46 0 010 .923h0a5.338 5.338 0 00-3.959 5.154 5.336 5.336 0 004.71 5.297v1.246a1.877 1.877 0 00-1.277 2.042l-.834.482zm4.107-14.221a.46.46 0 010-.923v.923z" fill="#fff" stroke="#fff" stroke-width=".5"/><path d="M7.656 18.26a3.795 3.795 0 012.206-.178 6.086 6.086 0 002.861 4.835 3.783 3.783 0 01-1.213 1.848 8.315 8.315 0 01-3.854-6.505zm14.42-.163a3.786 3.786 0 012.209.139 8.32 8.32 0 01-3.822 6.507 3.787 3.787 0 01-1.195-1.858 6.079 6.079 0 002.808-4.788zm-9.799-7.834a8.256 8.256 0 013.692-.864c1.38 0 2.681.336 3.826.932a3.79 3.79 0 01-1.059 1.941 6.012 6.012 0 00-2.767-.666 5.98 5.98 0 00-2.666.618 3.802 3.802 0 01-1.026-1.961zM-10.245 50.308l7.278 6.013c.237.197.347.51.283.812 0 0-.38 1.737-1.127 2.752-.43.584-.982.942-1.586.962-.413.014-.877-.118-1.372-.535-1.193-1.009-3.883-3.812-5.647-5.679l-.523.618s-13.19-9.37-14.382-11.834c-2.842-5.876.655-8.752.655-8.752l16.42 15.643zm-15.59-12.978c-.005-.004-.003-.004-.008.003l.01.01c.022.139-.002 1.22 1.448 3.026 2.07 2.576 6.595 6.533 12.623 10.297l-14.071-13.323-.002-.013zm7.978 16.176c-2.219 2.134-3.937 3.778-4.075 3.893-2.128 1.778-3.12 2.6-4.956 1.428-2.293-1.465-1.834-5.083.125-6.971l.219-.213-.012.45a40.478 40.478 0 00-.072 2.62c0 .515.343.917.768.905.428-.01.781-.433.795-.947l.07-2.563c.047-.725.116-1.45.22-2.171l1.029-.992 1.223.984c-.01.376-.013.754-.013 1.13.002.513.344.915.77.903.392-.01.722-.367.783-.825l.818.629c.298.228.597.456.897.683l1.411 1.057zm5.676-15.72l.008-.009c1.959-1.888 5.137-1.884 6.97.125 1.26 1.38.201 2.982-2.067 5.346-.356.373-1.961 1.935-3.987 3.895l-5.152-4.909.07-.438 2.242-2.162-.037 1.367a40.478 40.478 0 00-.072 2.62c0 .514.343.917.769.905.426-.012.78-.435.793-.949l.072-2.561a26.07 26.07 0 01.391-3.23zm.838 15.575c1.724 1.831 4.446 4.675 5.641 5.685.095.08.168.144.247.145.095.002.152-.094.223-.174.122-.142.229-.315.324-.498a6.96 6.96 0 00.484-1.254l-6.019-4.973-.9 1.069z" fill="#fff"/></svg>
|
Before Width: | Height: | Size: 2.9 KiB |
|
@ -1 +0,0 @@
|
|||
<svg viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M42.001-28.127a1.56 1.56 0 00-1.494.863l-4.71 9.968c-.2.405-.185.883.04 1.274 0 0 1.587 2.605 3.11 5.25 1.522 2.644 2.979 5.325 2.979 5.325.228.395.639.649 1.094.678l10.99.869a1.538 1.538 0 001.473-.85l4.738-9.956a1.353 1.353 0 00-.04-1.28s-1.598-2.6-3.127-5.24c-1.53-2.641-2.99-5.32-2.99-5.32a1.34 1.34 0 00-1.075-.667l-10.988-.914zm10.13 3.557l-9.302-.4-4.297 8.256c.527.955 1.563 2.818 2.63 4.662a277.167 277.167 0 002.73 4.597l9.302.44 4.277-8.277a264.188 264.188 0 00-2.614-4.667 255.043 255.043 0 00-2.726-4.611zm-4.203 9.474l-.006-.118c0-.76.618-1.377 1.377-1.377h2.657a1.377 1.377 0 010 2.755h-1.28v1.32h1.28a1.378 1.378 0 010 2.754H49.3l-.141-.008-.137-.02-.133-.034-.02-.008a1.375 1.375 0 01-.947-1.308v-3.837l.006-.12zm-4.102-3.75h-.542a1.378 1.378 0 010-2.753h3.838a1.378 1.378 0 010 2.754h-.542v2.963a1.378 1.378 0 01-2.754 0v-2.963zM4.384 15.33c.058.173.163.329.303.448 11.431 9.674 22.633-.007 22.633-.007a.996.996 0 00.296-.441s1.485-4.532-.785-8.16C25.353 4.81 22.283 2.728 16 2.728c-6.283 0-9.353 2.081-10.831 4.442-2.27 3.628-.785 8.16-.785 8.16zm21.412-.897c.237-.882.846-3.794-.661-6.202C23.901 6.258 21.252 4.728 16 4.728S8.099 6.258 6.865 8.23c-1.51 2.414-.895 5.335-.659 6.21 9.162 7.525 18.098 1.162 19.59-.008zM28.076 18.534a1 1 0 00-1.457-1.283c-1.845 1.282-2.505 1.587-2.505 1.587a1 1 0 00-.579 1.072l1.05 6.486a1 1 0 001.987-.197c-.099-2.693.263-5.28 1.504-7.665zM23.283 29.365a1 1 0 00.982-1.19l-1.087-5.607a.999.999 0 00-1.97.038l-.863 5.607a1.001 1.001 0 00.988 1.152h1.95zM5.587 17.448a1 1 0 00-1.439 1.317c1.32 2.313 1.797 4.837 1.492 7.556a1 1 0 001.98.272l1.05-6.486a.999.999 0 00-.578-1.072s-.66-.305-2.505-1.587zM7.95 28.175a.998.998 0 00.983 1.19h1.95a1 1 0 00.988-1.152l-.864-5.607a1 1 0 00-1.97-.038l-1.086 5.607z" fill="#fff"/><path d="M14.847 21.232a.998.998 0 00-.994-1.103h-1.04a1 1 0 00-.996 1.082l.46 5.607a1 1 0 001.991.02l.58-5.606zM14.511 28.255a.75.75 0 00.742.86h1.494a.748.748 0 00.745-.838l-.661-5.607a.75.75 0 00-1.487-.022l-.833 5.607zM20.408 21.232a.998.998 0 00-.994-1.103h-1.04a1 1 0 00-.996 1.082l.46 5.607a1 1 0 001.991.02l.58-5.606zM8.428 12.073s-.177-1.764 1.29-3.182C10.792 7.85 12.693 7.035 16 7.035a.75.75 0 000-1.5c-3.872 0-6.067 1.06-7.325 2.277-2.032 1.965-1.737 4.428-1.737 4.428a.75.75 0 101.49-.167z" fill="#fff"/><g><path d="M39.906 9.59c.293-3.12 2.411-5.878 5.147-6.546 3.62-.883 6.813.782 8.206 3.757 1.734.153 3.289.476 4.39.877 1.825.664 3.096 2.121 3.385 3.467.287 1.345-.227 3.594-2.357 5.251-2.033 1.582-5.11 3.904-10.735 4.685-3.934.545-7.657.16-10.079-.72-1.825-.665-2.602-2.185-2.89-3.53-.288-1.346.124-3.522 2.371-5.41a19.03 19.03 0 012.562-1.83zm7.186-4.866a4.295 4.295 0 00-1.226.09c-2.652.567-4.101 3.15-3.444 6.225.162.754.827 1.222 1.728 1.452a.74.74 0 00.248.122c.97.298 3.958.606 6.673-.72-3.737 1.952-10.019 2.722-10.953.313-.487.32-.937.649-1.35.978-.998.794-1.805 2.096-1.605 3.037.202.941 1.105 1.611 2.382 2.076 2.231.812 5.58.913 9.159.147 3.58-.766 6.592-2.23 8.296-3.884.975-.946 1.523-1.928 1.321-2.87-.2-.94-1.103-1.611-2.38-2.076a10.673 10.673 0 00-2.11-.509c-.118.72-.682 1.41-1.522 2.024.274-.615-.632-6.176-5.203-6.406h-.014z" fill="#fff"/></g></svg>
|
Before Width: | Height: | Size: 3.2 KiB |
|
@ -1,64 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg width="100%" height="100%" viewBox="0 0 580 260" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;">
|
||||
<g transform="matrix(1,0,0,1,-551,0)">
|
||||
<g id="type" transform="matrix(1.08584,0,0,1.04219,551.714,-303.717)">
|
||||
<rect x="0" y="291.618" width="533.452" height="248.494" style="fill:none;"/>
|
||||
<g transform="matrix(0.698871,0,0,0.728145,5.21739,54.2528)">
|
||||
<g transform="matrix(158.131,0,0,158.131,24.7618,449.92)">
|
||||
<path d="M0.008,-0.6L0.123,-0.6L0.123,0L0.233,0L0.233,-0.6L0.348,-0.6L0.348,-0.7L0.008,-0.7L0.008,-0.6Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,81.0564,449.92)">
|
||||
<path d="M0.205,-0.29L0.255,-0.29L0.255,-0.161C0.255,-0.111 0.233,-0.093 0.198,-0.093C0.163,-0.093 0.141,-0.111 0.141,-0.161L0.141,-0.539C0.141,-0.589 0.163,-0.608 0.198,-0.608C0.233,-0.608 0.255,-0.589 0.255,-0.539L0.255,-0.464L0.359,-0.464L0.359,-0.532C0.359,-0.644 0.303,-0.708 0.195,-0.708C0.087,-0.708 0.031,-0.644 0.031,-0.532L0.031,-0.168C0.031,-0.056 0.087,0.008 0.195,0.008C0.303,0.008 0.359,-0.056 0.359,-0.168L0.359,-0.39L0.205,-0.39L0.205,-0.29Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,142.727,449.92)">
|
||||
<path d="M0.185,-0.705C0.084,-0.704 0.041,-0.634 0.041,-0.532C0.041,-0.339 0.309,-0.345 0.309,-0.168C0.309,-0.083 0.276,-0.016 0.184,-0.016C0.092,-0.016 0.059,-0.083 0.059,-0.168L0.059,-0.203L0.038,-0.203L0.038,-0.169C0.038,-0.072 0.078,0.005 0.184,0.005C0.291,0.005 0.331,-0.072 0.331,-0.169C0.331,-0.359 0.063,-0.354 0.063,-0.533C0.063,-0.616 0.094,-0.685 0.186,-0.685C0.277,-0.685 0.308,-0.615 0.308,-0.532L0.308,-0.518L0.33,-0.518L0.33,-0.531C0.33,-0.627 0.291,-0.705 0.185,-0.705Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,201.078,449.92)">
|
||||
<path d="M0.193,0L0.193,-0.679L0.346,-0.679L0.346,-0.7L0.019,-0.7L0.019,-0.679L0.171,-0.679L0.171,0L0.193,0Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,253.103,449.92)">
|
||||
<path d="M0.347,-0.165L0.388,0L0.41,0L0.237,-0.701L0.206,-0.701L0.037,0L0.057,0L0.098,-0.165L0.347,-0.165ZM0.221,-0.675L0.343,-0.185L0.102,-0.185L0.221,-0.675Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,317.778,449.92)">
|
||||
<path d="M0.193,0L0.193,-0.679L0.346,-0.679L0.346,-0.7L0.019,-0.7L0.019,-0.679L0.171,-0.679L0.171,0L0.193,0Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,375.812,449.92)">
|
||||
<rect x="0.04" y="-0.7" width="0.022" height="0.7" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,391.941,449.92)">
|
||||
<path d="M0.039,-0.172C0.039,-0.074 0.081,0.005 0.187,0.005C0.295,0.005 0.337,-0.074 0.337,-0.172L0.337,-0.528C0.337,-0.626 0.295,-0.705 0.187,-0.705C0.081,-0.705 0.039,-0.626 0.039,-0.528L0.039,-0.172ZM0.061,-0.529C0.061,-0.615 0.094,-0.685 0.187,-0.685C0.281,-0.685 0.315,-0.615 0.315,-0.529L0.315,-0.171C0.315,-0.085 0.281,-0.015 0.187,-0.015C0.094,-0.015 0.061,-0.085 0.061,-0.171L0.061,-0.529Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(158.131,0,0,158.131,451.398,449.92)">
|
||||
<path d="M0.061,-0.668L0.311,0L0.338,0L0.338,-0.7L0.317,-0.7L0.317,-0.045L0.071,-0.7L0.04,-0.7L0.04,0L0.061,0L0.061,-0.668Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="matrix(1.5056,0,0,1.56867,-81.8441,-250.157)">
|
||||
<g transform="matrix(97.8684,0,0,97.8684,65.99,495.372)">
|
||||
<path d="M0.15,-0.3L0.275,-0.3L0.275,0L0.387,0L0.387,-0.7L0.275,-0.7L0.275,-0.4L0.15,-0.4L0.15,-0.7L0.04,-0.7L0.04,0L0.15,0L0.15,-0.3Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(97.8684,0,0,97.8684,107.78,495.372)">
|
||||
<path d="M0.284,-0.7L0.123,-0.7L0.011,0L0.112,0L0.131,-0.127L0.266,-0.127L0.285,0L0.396,0L0.284,-0.7ZM0.198,-0.576L0.251,-0.222L0.145,-0.222L0.198,-0.576Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(97.8684,0,0,97.8684,147.612,495.372)">
|
||||
<path d="M0.275,0L0.388,0L0.388,-0.7L0.29,-0.7L0.29,-0.281L0.177,-0.7L0.039,-0.7L0.039,0L0.138,0L0.138,-0.507L0.275,0Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(97.8684,0,0,97.8684,189.402,495.372)">
|
||||
<path d="M0.04,0L0.214,0C0.324,0 0.378,-0.061 0.378,-0.173L0.378,-0.527C0.378,-0.639 0.324,-0.7 0.214,-0.7L0.04,-0.7L0.04,0ZM0.212,-0.6C0.247,-0.6 0.268,-0.582 0.268,-0.532L0.268,-0.168C0.268,-0.118 0.247,-0.1 0.212,-0.1L0.15,-0.1L0.15,-0.6L0.212,-0.6Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(97.8684,0,0,97.8684,229.332,495.372)">
|
||||
<path d="M0.206,-0.7L0.04,-0.7L0.04,0L0.213,0C0.323,0 0.38,-0.058 0.38,-0.166L0.38,-0.223C0.38,-0.297 0.357,-0.35 0.298,-0.373C0.347,-0.396 0.369,-0.442 0.369,-0.514L0.369,-0.539C0.369,-0.647 0.32,-0.7 0.206,-0.7L0.206,-0.7ZM0.199,-0.315C0.249,-0.315 0.27,-0.295 0.27,-0.23L0.27,-0.169C0.27,-0.117 0.25,-0.1 0.213,-0.1L0.15,-0.1L0.15,-0.315L0.199,-0.315ZM0.203,-0.6C0.242,-0.6 0.259,-0.578 0.259,-0.528L0.259,-0.489C0.259,-0.433 0.234,-0.415 0.193,-0.415L0.15,-0.415L0.15,-0.6L0.203,-0.6Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(97.8684,0,0,97.8684,269.067,495.372)">
|
||||
<path d="M0.141,-0.539C0.141,-0.589 0.163,-0.608 0.198,-0.608C0.233,-0.608 0.255,-0.589 0.255,-0.539L0.255,-0.161C0.255,-0.111 0.233,-0.092 0.198,-0.092C0.163,-0.092 0.141,-0.111 0.141,-0.161L0.141,-0.539ZM0.031,-0.168C0.031,-0.056 0.09,0.008 0.198,0.008C0.306,0.008 0.365,-0.056 0.365,-0.168L0.365,-0.532C0.365,-0.644 0.306,-0.708 0.198,-0.708C0.09,-0.708 0.031,-0.644 0.031,-0.532L0.031,-0.168Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(97.8684,0,0,97.8684,307.823,495.372)">
|
||||
<path d="M0.141,-0.539C0.141,-0.589 0.163,-0.608 0.198,-0.608C0.233,-0.608 0.255,-0.589 0.255,-0.539L0.255,-0.161C0.255,-0.111 0.233,-0.092 0.198,-0.092C0.163,-0.092 0.141,-0.111 0.141,-0.161L0.141,-0.539ZM0.031,-0.168C0.031,-0.056 0.09,0.008 0.198,0.008C0.306,0.008 0.365,-0.056 0.365,-0.168L0.365,-0.532C0.365,-0.644 0.306,-0.708 0.198,-0.708C0.09,-0.708 0.031,-0.644 0.031,-0.532L0.031,-0.168Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
<g transform="matrix(97.8684,0,0,97.8684,346.579,495.372)">
|
||||
<path d="M0.291,0L0.404,0L0.251,-0.388L0.404,-0.7L0.294,-0.7L0.15,-0.395L0.15,-0.7L0.04,-0.7L0.04,0L0.15,0L0.15,-0.215L0.184,-0.279L0.291,0Z" style="fill:white;fill-rule:nonzero;"/>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 7.4 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 44 KiB |
24
build.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
/* eslint-disable */
|
||||
const Bundler = require("parcel-bundler");
|
||||
const Path = require("path");
|
||||
|
||||
const entryFiles = Path.join(__dirname, "./index.html");
|
||||
|
||||
// Bundler options
|
||||
const options = {
|
||||
outDir: process.env.OUTDIR || "./dist",
|
||||
outFile: "index.html",
|
||||
publicUrl: process.env.SUBPATH || "/",
|
||||
watch: false,
|
||||
contentHash: false,
|
||||
scopeHoist: false,
|
||||
target: "browser",
|
||||
logLevel: 3, // 5 = save everything to a file, 4 = like 3, but with timestamps and additionally log http requests to dev server, 3 = log info, warnings & errors, 2 = log warnings & errors, 1 = log errors, 0 = log nothing
|
||||
sourceMaps: true, // Enable or disable sourcemaps, defaults to enabled (minified builds currently always create sourcemaps)
|
||||
autoInstall: true, // Enable or disable auto install of missing dependencies found during bundling
|
||||
};
|
||||
|
||||
(async () => {
|
||||
const bundler = new Bundler(entryFiles, options);
|
||||
await bundler.bundle();
|
||||
})();
|
10
env.d.ts
vendored
|
@ -1,10 +0,0 @@
|
|||
/// <reference types="vite/client" />
|
||||
|
||||
interface ImportMetaEnv {
|
||||
readonly VITE_SUBDIR: string;
|
||||
readonly VITE_APP_REVISION: string;
|
||||
}
|
||||
|
||||
interface ImportMeta {
|
||||
readonly env: ImportMetaEnv;
|
||||
}
|
134
index.html
|
@ -14,31 +14,43 @@
|
|||
|
||||
<link
|
||||
rel="apple-touch-icon"
|
||||
href="./assets/images/icons-manifest/icon152.png"
|
||||
href="assets/images/icons-manifest/icon152.png"
|
||||
/>
|
||||
<link rel="manifest" href="./manifest.webmanifest" />
|
||||
<link rel="icon" href="./favicon.ico" type="image/x-icon" />
|
||||
<link rel="manifest" href="manifest.webmanifest" />
|
||||
<link rel="icon" href="favicon.ico" type="image/x-icon" />
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="32x32"
|
||||
href="./assets/images/icons-manifest/icon32.png"
|
||||
href="assets/images/icons-manifest/icon32.png"
|
||||
/>
|
||||
<link
|
||||
rel="icon"
|
||||
type="image/png"
|
||||
sizes="16x16"
|
||||
href="./assets/images/icons-manifest/icon16.png"
|
||||
href="assets/images/icons-manifest/icon16.png"
|
||||
/>
|
||||
<link
|
||||
rel="preload"
|
||||
href="./assets/fonts/iosevka/iosevka-aile.css"
|
||||
href="assets/fonts/iosevka/iosevka-aile.css"
|
||||
as="style"
|
||||
/>
|
||||
<link rel="preload" href="./style/main.scss" as="style" />
|
||||
<link rel="preload" href="./src/index.ts" as="script" />
|
||||
<link rel="stylesheet" href="./assets/fonts/iosevka/iosevka-aile.css" />
|
||||
<link rel="stylesheet" href="./style/main.scss" />
|
||||
<link
|
||||
rel="preload"
|
||||
href="assets/fonts/iosevka/woff2/iosevka-aile-regular.woff2"
|
||||
as="font"
|
||||
/>
|
||||
<link rel="preload" href="style/main.scss" as="style" />
|
||||
<link rel="preload" href="style/bgus.scss" as="style" />
|
||||
<link rel="preload" href="src/index.ts" as="script" />
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="assets/fonts/iosevka/iosevka-aile.css"
|
||||
media="async"
|
||||
onload="this.media='all'"
|
||||
/>
|
||||
<link rel="stylesheet" href="style/main.scss" />
|
||||
<link rel="stylesheet" href="style/bgus.scss" />
|
||||
<title>/tg/station Handbook</title>
|
||||
</head>
|
||||
<body>
|
||||
|
@ -46,107 +58,13 @@
|
|||
<img src="./assets/images/bg-nanotrasen.svg" />
|
||||
</div>
|
||||
<main id="app">
|
||||
<nav id="section-list"></nav>
|
||||
<nav id="tab-list"></nav>
|
||||
<section id="tabs">
|
||||
<div class="page special center" id="Welcome" data-tab="$Welcome">
|
||||
<div class="wrapper">
|
||||
<header>
|
||||
<img class="icon" src="./assets/images/outline.svg" />
|
||||
<img class="type" src="./assets/images/type.svg" />
|
||||
</header>
|
||||
<div class="maxw">
|
||||
<p>
|
||||
This handbook is a collection of tweaks of the /tg/station wiki
|
||||
pages to make them prettier and easier to navigate.
|
||||
</p>
|
||||
<p>Please note that:</p>
|
||||
<ul>
|
||||
<li>
|
||||
It's being built with smaller windows in mind (think SS13
|
||||
popups), large window format is planned but it's just not
|
||||
there yet.
|
||||
</li>
|
||||
<li>
|
||||
There is a lot of development still happening, so many parts
|
||||
are not as polished as they should be.
|
||||
</li>
|
||||
</ul>
|
||||
<p>
|
||||
You can click any of the top icons to jump to that guide, or
|
||||
check out any of these about this handbook:
|
||||
</p>
|
||||
<div class="action_buttons"></div>
|
||||
</div>
|
||||
<div class="features hidden" data-name="Extra features">
|
||||
<h2>Extra Features</h2>
|
||||
<div class="maxw">
|
||||
<h3 class="nobg">Jump to section/item</h3>
|
||||
<p>
|
||||
Press <b>SHIFT+S</b> on any page (except this one) to open up
|
||||
a quick search menu.
|
||||
</p>
|
||||
<p>
|
||||
Results for most pages are section titles, but some pages like
|
||||
Chemistry have support for searching recipes etc.
|
||||
</p>
|
||||
<div class="images">
|
||||
<img
|
||||
src="./assets/images/welcome/bs-local.png"
|
||||
style="width: 40%"
|
||||
/>
|
||||
<img
|
||||
src="./assets/images/welcome/bs-global.png"
|
||||
style="width: 40%"
|
||||
/>
|
||||
</div>
|
||||
<p>
|
||||
By default, only results for the current page are shown, you
|
||||
can use <code>@</code> as prefix to search in all guides at
|
||||
once.
|
||||
</p>
|
||||
<h3 class="nobg">(Chemistry) Auto-Expanded tooltips</h3>
|
||||
<p>
|
||||
Recipes for reagent ingredients are now always shown in each
|
||||
recipe rather than being tooltips.
|
||||
</p>
|
||||
<h3 class="nobg">(Chemistry) Beaker sizing</h3>
|
||||
<p>
|
||||
Press <b>SHIFT+B</b> to set your target reagent output and the
|
||||
inputs will change from "part" to "ml". This is currently
|
||||
quite inaccurate, use it as a guideline but apply common
|
||||
sense.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="credits hidden" data-name="Other infos">
|
||||
<h2>Other Informations</h2>
|
||||
<p>
|
||||
Thanks to /tg/station and every wiki contributor who did most of
|
||||
the work!
|
||||
</p>
|
||||
<p>
|
||||
This thing is Open Source:
|
||||
<a href="https://github.com/Hamcha/tghandbook"
|
||||
>github.com/Hamcha/tghandbook</a
|
||||
>
|
||||
</p>
|
||||
<p>
|
||||
/tg/station handbook revision: <span id="tgh-version"></span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="tabs"></section>
|
||||
</main>
|
||||
<noscript>
|
||||
<h1>JavaScript is required for this tool</h1>
|
||||
<h2>
|
||||
This tools runs completely in your browser, therefore it needs
|
||||
JavaScript to download all the pages, parse them and add all the spicy
|
||||
extras.
|
||||
</h2>
|
||||
<h1>NO JS NO PARTY</h1>
|
||||
<h2>JavaScript support is required to run this app.</h2>
|
||||
</noscript>
|
||||
<script src="./src/index.ts" async type="module"></script>
|
||||
<script src="src/index.ts" async></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
9934
package-lock.json
generated
32
package.json
|
@ -3,28 +3,26 @@
|
|||
"version": "1.0.0",
|
||||
"main": "index.js",
|
||||
"license": "ISC",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"start": "vite",
|
||||
"dev": "parcel index.html",
|
||||
"lint": "eslint src",
|
||||
"build": "vite build --base=./"
|
||||
"build": "node ./build.js"
|
||||
},
|
||||
"dependencies": {
|
||||
"@types/node": "^17.0.31",
|
||||
"@types/node": "^14.0.13",
|
||||
"@types/service_worker_api": "^0.0.9",
|
||||
"@typescript-eslint/eslint-plugin": "^5.23.0",
|
||||
"@typescript-eslint/parser": "^5.23.0",
|
||||
"eslint": "8.15.0",
|
||||
"eslint-config-airbnb-base": "^15.0.0",
|
||||
"eslint-config-prettier": "^8.5.0",
|
||||
"eslint-plugin-import": "2.26.0",
|
||||
"eslint-plugin-prettier": "^4.0.0",
|
||||
"idb-keyval": "^6.1.0",
|
||||
"prettier": "^2.6.2",
|
||||
"sass": "^1.51.0",
|
||||
"typescript": "^4.6.4",
|
||||
"vite": "^2.9.8",
|
||||
"vite-plugin-pwa": "^0.12.0"
|
||||
"@typescript-eslint/eslint-plugin": "^3.3.0",
|
||||
"@typescript-eslint/parser": "^3.3.0",
|
||||
"eslint": "7.2.0",
|
||||
"eslint-config-airbnb-base": "^14.2.0",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-plugin-import": "2.21.2",
|
||||
"eslint-plugin-prettier": "^3.1.4",
|
||||
"parcel-bundler": "^1.12.4",
|
||||
"parcel-plugin-sw-cache": "^0.3.1",
|
||||
"prettier": "^2.0.5",
|
||||
"sass": "^1.26.8",
|
||||
"typescript": "^3.9.5"
|
||||
},
|
||||
"browserslist": [
|
||||
"last 2 Chrome versions",
|
||||
|
|
104
src/TabManager.ts
Normal file
|
@ -0,0 +1,104 @@
|
|||
// @ts-expect-error: Asset imports are handled by parcel
|
||||
import speen from "~/assets/images/speen.svg";
|
||||
import { getPageHTML } from "./wiki";
|
||||
import userscript from "./userscript";
|
||||
import { nextAnimationFrame } from "./utils";
|
||||
|
||||
function initWaiting(elem: HTMLElement) {
|
||||
// Add spinner
|
||||
const spinnerContainer = document.createElement("div");
|
||||
spinnerContainer.className = "speen";
|
||||
const spinnerImg = document.createElement("img");
|
||||
spinnerImg.src = speen;
|
||||
spinnerContainer.appendChild(spinnerImg);
|
||||
const spinnerText = document.createElement("p");
|
||||
spinnerText.appendChild(
|
||||
document.createTextNode("You start skimming through the manual...")
|
||||
);
|
||||
spinnerContainer.appendChild(spinnerText);
|
||||
elem.appendChild(spinnerContainer);
|
||||
}
|
||||
|
||||
async function loadPage(page: string, elem: HTMLElement) {
|
||||
// Fetch page content
|
||||
console.log(`${page}: fetching`);
|
||||
let html = await getPageHTML(page);
|
||||
|
||||
// Convert relative links to absolute
|
||||
html = html.replace(/"\/wiki/gi, '"//tgstation13.org/wiki');
|
||||
|
||||
// Set as HTML content and run HTML manipulations on it
|
||||
await nextAnimationFrame();
|
||||
elem.innerHTML = html;
|
||||
await nextAnimationFrame();
|
||||
await userscript(elem, page);
|
||||
elem.classList.remove("waiting");
|
||||
}
|
||||
|
||||
type TabElements = { tabListItem: HTMLElement; tabContentItem: HTMLElement };
|
||||
|
||||
export default class TabManager {
|
||||
tabListContainer: HTMLElement;
|
||||
|
||||
tabContentContainer: HTMLElement;
|
||||
|
||||
tabs: Record<string, TabElements> = {};
|
||||
|
||||
constructor(tablist: HTMLElement, tabcontent: HTMLElement) {
|
||||
this.tabListContainer = tablist;
|
||||
this.tabContentContainer = tabcontent;
|
||||
}
|
||||
|
||||
async openTab(page: string, setActive: boolean): void {
|
||||
// Create tab list item
|
||||
const tabListItem = document.createElement("div");
|
||||
tabListItem.className = "tab";
|
||||
tabListItem.dataset.tab = page;
|
||||
tabListItem.addEventListener("click", () => {
|
||||
if (tabListItem.classList.contains("active")) {
|
||||
return;
|
||||
}
|
||||
this.setActive(page);
|
||||
});
|
||||
tabListItem.appendChild(document.createTextNode(page.replace(/_/gi, " ")));
|
||||
this.tabListContainer.appendChild(tabListItem);
|
||||
|
||||
// Create tab content container
|
||||
const tabContentItem = document.createElement("div");
|
||||
tabContentItem.className = "page waiting";
|
||||
tabContentItem.dataset.tab = page;
|
||||
initWaiting(tabContentItem);
|
||||
this.tabContentContainer.appendChild(tabContentItem);
|
||||
|
||||
// Start loading page for new tab
|
||||
await loadPage(page, tabContentItem);
|
||||
|
||||
// Create tab entry
|
||||
this.tabs[page] = { tabListItem, tabContentItem };
|
||||
|
||||
// If asked for, set it to active
|
||||
if (setActive) {
|
||||
this.setActive(page);
|
||||
}
|
||||
}
|
||||
|
||||
setActive(page: string): void {
|
||||
// Make sure tab exists (why wouldn't it?!)
|
||||
if (!(page in this.tabs)) {
|
||||
throw new Error("tab not found");
|
||||
}
|
||||
|
||||
// Deactivate current active tab
|
||||
this.tabListContainer
|
||||
.querySelectorAll(".active")
|
||||
.forEach((it) => it.classList.remove("active"));
|
||||
this.tabContentContainer
|
||||
.querySelectorAll(".active")
|
||||
.forEach((it) => it.classList.remove("active"));
|
||||
|
||||
// Activate new tab
|
||||
const { tabListItem, tabContentItem } = this.tabs[page];
|
||||
tabListItem.classList.add("active");
|
||||
tabContentItem.classList.add("active");
|
||||
}
|
||||
}
|
110
src/cache.ts
|
@ -1,110 +0,0 @@
|
|||
/* eslint-disable no-shadow */
|
||||
|
||||
interface CacheEntry<T> {
|
||||
version: string;
|
||||
value: T;
|
||||
}
|
||||
|
||||
export class Store {
|
||||
readonly dbp: Promise<IDBDatabase>;
|
||||
|
||||
// eslint-disable-next-line default-param-last
|
||||
constructor(dbName = "tg-cache", readonly storeName = "keyval") {
|
||||
this.dbp = new Promise((resolve, reject) => {
|
||||
const openreq = indexedDB.open(dbName, 1);
|
||||
openreq.onerror = () => reject(openreq.error);
|
||||
openreq.onsuccess = () => resolve(openreq.result);
|
||||
|
||||
// First time setup: create an empty object store
|
||||
openreq.onupgradeneeded = () => {
|
||||
openreq.result.createObjectStore(storeName);
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
withIDBStore(
|
||||
type: IDBTransactionMode,
|
||||
callback: (store: IDBObjectStore) => void
|
||||
): Promise<void> {
|
||||
return this.dbp.then(
|
||||
(db) =>
|
||||
new Promise<void>((resolve, reject) => {
|
||||
const transaction = db.transaction(this.storeName, type);
|
||||
transaction.oncomplete = () => resolve();
|
||||
transaction.onabort = () => reject(transaction.error);
|
||||
transaction.onerror = () => reject(transaction.error);
|
||||
callback(transaction.objectStore(this.storeName));
|
||||
})
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
let defaultStore: Store;
|
||||
|
||||
function getDefaultStore() {
|
||||
if (!defaultStore) defaultStore = new Store();
|
||||
return defaultStore;
|
||||
}
|
||||
|
||||
export function get<Type>(
|
||||
key: IDBValidKey,
|
||||
store = getDefaultStore()
|
||||
): Promise<CacheEntry<Type>> {
|
||||
let req: IDBRequest;
|
||||
return store
|
||||
.withIDBStore("readonly", (idbstore) => {
|
||||
req = idbstore.get(key);
|
||||
})
|
||||
.then(() => req.result);
|
||||
}
|
||||
|
||||
export function set<Type>(
|
||||
key: IDBValidKey,
|
||||
value: Type,
|
||||
version: string,
|
||||
store = getDefaultStore()
|
||||
): Promise<void> {
|
||||
return store.withIDBStore("readwrite", (idbstore) => {
|
||||
idbstore.put({ version, value }, key);
|
||||
});
|
||||
}
|
||||
|
||||
export function del(
|
||||
key: IDBValidKey,
|
||||
store = getDefaultStore()
|
||||
): Promise<void> {
|
||||
return store.withIDBStore("readwrite", (idbstore) => {
|
||||
idbstore.delete(key);
|
||||
});
|
||||
}
|
||||
|
||||
export function clear(store = getDefaultStore()): Promise<void> {
|
||||
return store.withIDBStore("readwrite", (idbstore) => {
|
||||
idbstore.clear();
|
||||
});
|
||||
}
|
||||
|
||||
export function keys(store = getDefaultStore()): Promise<IDBValidKey[]> {
|
||||
const dbkeys: IDBValidKey[] = [];
|
||||
|
||||
return store
|
||||
.withIDBStore("readonly", (idbstore) => {
|
||||
// This would be store.getAllKeys(), but it isn't supported by Edge or Safari.
|
||||
// And openKeyCursor isn't supported by Safari.
|
||||
(idbstore.openKeyCursor || idbstore.openCursor).call(idbstore).onsuccess =
|
||||
function () {
|
||||
if (!this.result) return;
|
||||
dbkeys.push(this.result.key);
|
||||
this.result.continue();
|
||||
};
|
||||
})
|
||||
.then(() => dbkeys);
|
||||
}
|
||||
|
||||
export default {
|
||||
get,
|
||||
set,
|
||||
keys,
|
||||
del,
|
||||
clear,
|
||||
};
|
|
@ -1,162 +1,4 @@
|
|||
/* https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
|
||||
$$('#colors_table tbody tr')
|
||||
.map((row) => {
|
||||
const [name, hex] = Array.from(row.children).slice(-3);
|
||||
return [name.innerText.trim().replace(/\s.+/g, ''), hex.innerText.trim()];
|
||||
}).sort((a, b) => [a[0], b[0]].sort()[0] === a[0] ? -1 : 1)
|
||||
.map(([name, hex]) => `${name} : '${hex}',`)
|
||||
.join('\n')
|
||||
*/
|
||||
const namedColors = {
|
||||
aliceblue: "#f0f8ff",
|
||||
antiquewhite: "#faebd7",
|
||||
aqua: "#00ffff",
|
||||
aquamarine: "#7fffd4",
|
||||
azure: "#f0ffff",
|
||||
beige: "#f5f5dc",
|
||||
bisque: "#ffe4c4",
|
||||
black: "#000000",
|
||||
blanchedalmond: "#ffebcd",
|
||||
blue: "#0000ff",
|
||||
blueviolet: "#8a2be2",
|
||||
brown: "#a52a2a",
|
||||
burlywood: "#deb887",
|
||||
cadetblue: "#5f9ea0",
|
||||
chartreuse: "#7fff00",
|
||||
chocolate: "#d2691e",
|
||||
coral: "#ff7f50",
|
||||
cornflowerblue: "#6495ed",
|
||||
cornsilk: "#fff8dc",
|
||||
crimson: "#dc143c",
|
||||
cyan: "#00ffff",
|
||||
darkblue: "#00008b",
|
||||
darkcyan: "#008b8b",
|
||||
darkgoldenrod: "#b8860b",
|
||||
darkgray: "#a9a9a9",
|
||||
darkgreen: "#006400",
|
||||
darkgrey: "#a9a9a9",
|
||||
darkkhaki: "#bdb76b",
|
||||
darkmagenta: "#8b008b",
|
||||
darkolivegreen: "#556b2f",
|
||||
darkorange: "#ff8c00",
|
||||
darkorchid: "#9932cc",
|
||||
darkred: "#8b0000",
|
||||
darksalmon: "#e9967a",
|
||||
darkseagreen: "#8fbc8f",
|
||||
darkslateblue: "#483d8b",
|
||||
darkslategray: "#2f4f4f",
|
||||
darkslategrey: "#2f4f4f",
|
||||
darkturquoise: "#00ced1",
|
||||
darkviolet: "#9400d3",
|
||||
deeppink: "#ff1493",
|
||||
deepskyblue: "#00bfff",
|
||||
dimgray: "#696969",
|
||||
dimgrey: "#696969",
|
||||
dodgerblue: "#1e90ff",
|
||||
firebrick: "#b22222",
|
||||
floralwhite: "#fffaf0",
|
||||
forestgreen: "#228b22",
|
||||
fuchsia: "#ff00ff",
|
||||
gainsboro: "#dcdcdc",
|
||||
ghostwhite: "#f8f8ff",
|
||||
gold: "#ffd700",
|
||||
goldenrod: "#daa520",
|
||||
gray: "#808080",
|
||||
green: "#008000",
|
||||
greenyellow: "#adff2f",
|
||||
grey: "#808080",
|
||||
honeydew: "#f0fff0",
|
||||
hotpink: "#ff69b4",
|
||||
indianred: "#cd5c5c",
|
||||
indigo: "#4b0082",
|
||||
ivory: "#fffff0",
|
||||
khaki: "#f0e68c",
|
||||
lavender: "#e6e6fa",
|
||||
lavenderblush: "#fff0f5",
|
||||
lawngreen: "#7cfc00",
|
||||
lemonchiffon: "#fffacd",
|
||||
lightblue: "#add8e6",
|
||||
lightcoral: "#f08080",
|
||||
lightcyan: "#e0ffff",
|
||||
lightgoldenrodyellow: "#fafad2",
|
||||
lightgray: "#d3d3d3",
|
||||
lightgreen: "#90ee90",
|
||||
lightgrey: "#d3d3d3",
|
||||
lightpink: "#ffb6c1",
|
||||
lightsalmon: "#ffa07a",
|
||||
lightseagreen: "#20b2aa",
|
||||
lightskyblue: "#87cefa",
|
||||
lightslategray: "#778899",
|
||||
lightslategrey: "#778899",
|
||||
lightsteelblue: "#b0c4de",
|
||||
lightyellow: "#ffffe0",
|
||||
lime: "#00ff00",
|
||||
limegreen: "#32cd32",
|
||||
linen: "#faf0e6",
|
||||
magenta: "#ff00ff",
|
||||
maroon: "#800000",
|
||||
mediumaquamarine: "#66cdaa",
|
||||
mediumblue: "#0000cd",
|
||||
mediumorchid: "#ba55d3",
|
||||
mediumpurple: "#9370db",
|
||||
mediumseagreen: "#3cb371",
|
||||
mediumslateblue: "#7b68ee",
|
||||
mediumspringgreen: "#00fa9a",
|
||||
mediumturquoise: "#48d1cc",
|
||||
mediumvioletred: "#c71585",
|
||||
midnightblue: "#191970",
|
||||
mintcream: "#f5fffa",
|
||||
mistyrose: "#ffe4e1",
|
||||
moccasin: "#ffe4b5",
|
||||
navajowhite: "#ffdead",
|
||||
navy: "#000080",
|
||||
oldlace: "#fdf5e6",
|
||||
olive: "#808000",
|
||||
olivedrab: "#6b8e23",
|
||||
orange: "#ffa500",
|
||||
orangered: "#ff4500",
|
||||
orchid: "#da70d6",
|
||||
palegoldenrod: "#eee8aa",
|
||||
palegreen: "#98fb98",
|
||||
paleturquoise: "#afeeee",
|
||||
palevioletred: "#db7093",
|
||||
papayawhip: "#ffefd5",
|
||||
peachpuff: "#ffdab9",
|
||||
peru: "#cd853f",
|
||||
pink: "#ffc0cb",
|
||||
plum: "#dda0dd",
|
||||
powderblue: "#b0e0e6",
|
||||
purple: "#800080",
|
||||
rebeccapurple: "#663399",
|
||||
red: "#ff0000",
|
||||
rosybrown: "#bc8f8f",
|
||||
royalblue: "#4169e1",
|
||||
saddlebrown: "#8b4513",
|
||||
salmon: "#fa8072",
|
||||
sandybrown: "#f4a460",
|
||||
seagreen: "#2e8b57",
|
||||
seashell: "#fff5ee",
|
||||
sienna: "#a0522d",
|
||||
silver: "#c0c0c0",
|
||||
skyblue: "#87ceeb",
|
||||
slateblue: "#6a5acd",
|
||||
slategray: "#708090",
|
||||
slategrey: "#708090",
|
||||
snow: "#fffafa",
|
||||
springgreen: "#00ff7f",
|
||||
steelblue: "#4682b4",
|
||||
tan: "#d2b48c",
|
||||
teal: "#008080",
|
||||
thistle: "#d8bfd8",
|
||||
tomato: "#ff6347",
|
||||
turquoise: "#40e0d0",
|
||||
violet: "#ee82ee",
|
||||
wheat: "#f5deb3",
|
||||
white: "#ffffff",
|
||||
whitesmoke: "#f5f5f5",
|
||||
yellow: "#ffff00",
|
||||
yellowgreen: "#9acd32",
|
||||
};
|
||||
import { nextAnimationFrame } from "./utils";
|
||||
|
||||
interface ColorRGB {
|
||||
r: number;
|
||||
|
@ -175,6 +17,166 @@ export enum ColorFmt {
|
|||
HEX, // #RRGGBB
|
||||
}
|
||||
|
||||
/* https://developer.mozilla.org/en-US/docs/Web/CSS/color_value
|
||||
$$('#colors_table tbody tr')
|
||||
.map((row) => {
|
||||
const [name, hex] = Array.from(row.children).slice(-3);
|
||||
return [name.innerText.trim().replace(/\s.+/g, ''), hex.innerText.trim()];
|
||||
}).sort((a, b) => [a[0], b[0]].sort()[0] === a[0] ? -1 : 1)
|
||||
.map(([name, hex]) => `${name} : '${hex}',`)
|
||||
.join('\n')
|
||||
*/
|
||||
const namedColors = {
|
||||
aliceblue : '#f0f8ff',
|
||||
antiquewhite : '#faebd7',
|
||||
aqua : '#00ffff',
|
||||
aquamarine : '#7fffd4',
|
||||
azure : '#f0ffff',
|
||||
beige : '#f5f5dc',
|
||||
bisque : '#ffe4c4',
|
||||
black : '#000000',
|
||||
blanchedalmond : '#ffebcd',
|
||||
blue : '#0000ff',
|
||||
blueviolet : '#8a2be2',
|
||||
brown : '#a52a2a',
|
||||
burlywood : '#deb887',
|
||||
cadetblue : '#5f9ea0',
|
||||
chartreuse : '#7fff00',
|
||||
chocolate : '#d2691e',
|
||||
coral : '#ff7f50',
|
||||
cornflowerblue : '#6495ed',
|
||||
cornsilk : '#fff8dc',
|
||||
crimson : '#dc143c',
|
||||
cyan : '#00ffff',
|
||||
darkblue : '#00008b',
|
||||
darkcyan : '#008b8b',
|
||||
darkgoldenrod : '#b8860b',
|
||||
darkgray : '#a9a9a9',
|
||||
darkgreen : '#006400',
|
||||
darkgrey : '#a9a9a9',
|
||||
darkkhaki : '#bdb76b',
|
||||
darkmagenta : '#8b008b',
|
||||
darkolivegreen : '#556b2f',
|
||||
darkorange : '#ff8c00',
|
||||
darkorchid : '#9932cc',
|
||||
darkred : '#8b0000',
|
||||
darksalmon : '#e9967a',
|
||||
darkseagreen : '#8fbc8f',
|
||||
darkslateblue : '#483d8b',
|
||||
darkslategray : '#2f4f4f',
|
||||
darkslategrey : '#2f4f4f',
|
||||
darkturquoise : '#00ced1',
|
||||
darkviolet : '#9400d3',
|
||||
deeppink : '#ff1493',
|
||||
deepskyblue : '#00bfff',
|
||||
dimgray : '#696969',
|
||||
dimgrey : '#696969',
|
||||
dodgerblue : '#1e90ff',
|
||||
firebrick : '#b22222',
|
||||
floralwhite : '#fffaf0',
|
||||
forestgreen : '#228b22',
|
||||
fuchsia : '#ff00ff',
|
||||
gainsboro : '#dcdcdc',
|
||||
ghostwhite : '#f8f8ff',
|
||||
gold : '#ffd700',
|
||||
goldenrod : '#daa520',
|
||||
gray : '#808080',
|
||||
green : '#008000',
|
||||
greenyellow : '#adff2f',
|
||||
grey : '#808080',
|
||||
honeydew : '#f0fff0',
|
||||
hotpink : '#ff69b4',
|
||||
indianred : '#cd5c5c',
|
||||
indigo : '#4b0082',
|
||||
ivory : '#fffff0',
|
||||
khaki : '#f0e68c',
|
||||
lavender : '#e6e6fa',
|
||||
lavenderblush : '#fff0f5',
|
||||
lawngreen : '#7cfc00',
|
||||
lemonchiffon : '#fffacd',
|
||||
lightblue : '#add8e6',
|
||||
lightcoral : '#f08080',
|
||||
lightcyan : '#e0ffff',
|
||||
lightgoldenrodyellow : '#fafad2',
|
||||
lightgray : '#d3d3d3',
|
||||
lightgreen : '#90ee90',
|
||||
lightgrey : '#d3d3d3',
|
||||
lightpink : '#ffb6c1',
|
||||
lightsalmon : '#ffa07a',
|
||||
lightseagreen : '#20b2aa',
|
||||
lightskyblue : '#87cefa',
|
||||
lightslategray : '#778899',
|
||||
lightslategrey : '#778899',
|
||||
lightsteelblue : '#b0c4de',
|
||||
lightyellow : '#ffffe0',
|
||||
lime : '#00ff00',
|
||||
limegreen : '#32cd32',
|
||||
linen : '#faf0e6',
|
||||
magenta : '#ff00ff',
|
||||
maroon : '#800000',
|
||||
mediumaquamarine : '#66cdaa',
|
||||
mediumblue : '#0000cd',
|
||||
mediumorchid : '#ba55d3',
|
||||
mediumpurple : '#9370db',
|
||||
mediumseagreen : '#3cb371',
|
||||
mediumslateblue : '#7b68ee',
|
||||
mediumspringgreen : '#00fa9a',
|
||||
mediumturquoise : '#48d1cc',
|
||||
mediumvioletred : '#c71585',
|
||||
midnightblue : '#191970',
|
||||
mintcream : '#f5fffa',
|
||||
mistyrose : '#ffe4e1',
|
||||
moccasin : '#ffe4b5',
|
||||
navajowhite : '#ffdead',
|
||||
navy : '#000080',
|
||||
oldlace : '#fdf5e6',
|
||||
olive : '#808000',
|
||||
olivedrab : '#6b8e23',
|
||||
orange : '#ffa500',
|
||||
orangered : '#ff4500',
|
||||
orchid : '#da70d6',
|
||||
palegoldenrod : '#eee8aa',
|
||||
palegreen : '#98fb98',
|
||||
paleturquoise : '#afeeee',
|
||||
palevioletred : '#db7093',
|
||||
papayawhip : '#ffefd5',
|
||||
peachpuff : '#ffdab9',
|
||||
peru : '#cd853f',
|
||||
pink : '#ffc0cb',
|
||||
plum : '#dda0dd',
|
||||
powderblue : '#b0e0e6',
|
||||
purple : '#800080',
|
||||
rebeccapurple : '#663399',
|
||||
red : '#ff0000',
|
||||
rosybrown : '#bc8f8f',
|
||||
royalblue : '#4169e1',
|
||||
saddlebrown : '#8b4513',
|
||||
salmon : '#fa8072',
|
||||
sandybrown : '#f4a460',
|
||||
seagreen : '#2e8b57',
|
||||
seashell : '#fff5ee',
|
||||
sienna : '#a0522d',
|
||||
silver : '#c0c0c0',
|
||||
skyblue : '#87ceeb',
|
||||
slateblue : '#6a5acd',
|
||||
slategray : '#708090',
|
||||
slategrey : '#708090',
|
||||
snow : '#fffafa',
|
||||
springgreen : '#00ff7f',
|
||||
steelblue : '#4682b4',
|
||||
tan : '#d2b48c',
|
||||
teal : '#008080',
|
||||
thistle : '#d8bfd8',
|
||||
tomato : '#ff6347',
|
||||
turquoise : '#40e0d0',
|
||||
violet : '#ee82ee',
|
||||
wheat : '#f5deb3',
|
||||
white : '#ffffff',
|
||||
whitesmoke : '#f5f5f5',
|
||||
yellow : '#ffff00',
|
||||
yellowgreen : '#9acd32',
|
||||
}
|
||||
|
||||
function hsvToRgb({ h, s, v }: ColorHSV): ColorRGB {
|
||||
const i = Math.floor(h * 6);
|
||||
const f = h * 6 - i;
|
||||
|
@ -232,22 +234,30 @@ function rgbToHsv({ r, g, b }: ColorRGB): ColorHSV {
|
|||
}
|
||||
|
||||
// Hacky way to get RGB values FOR SURE!
|
||||
function nameToRGB(name: string): ColorRGB {
|
||||
const nameToRGB = function self(name: string): ColorRGB {
|
||||
if ( namedColors[name] ) {
|
||||
return parseColor(namedColors[name]);
|
||||
}
|
||||
|
||||
// Create fake div
|
||||
const fakeDiv = document.createElement("div");
|
||||
fakeDiv.style.color = name;
|
||||
document.body.appendChild(fakeDiv);
|
||||
self.fakeDiv = self.fakeDiv || (() => {
|
||||
const tmp = document.createElement("div");
|
||||
Object.assign(tmp.style, {
|
||||
position: 'fixed';
|
||||
height: 0;
|
||||
width: 0;
|
||||
top: -99;
|
||||
left: -99;
|
||||
});
|
||||
document.body.appendChild(tmp);
|
||||
return tmp;
|
||||
})();
|
||||
|
||||
self.fakeDiv.style.color = name;
|
||||
|
||||
// Get color of div
|
||||
const cs = window.getComputedStyle(fakeDiv);
|
||||
const pv = cs.getPropertyValue("color");
|
||||
|
||||
// Remove div after obtaining desired color value
|
||||
document.body.removeChild(fakeDiv);
|
||||
const cs = window.getComputedStyle(self.fakeDiv);
|
||||
const pv = cs.color; //TODO slow
|
||||
|
||||
return parseColor(pv);
|
||||
}
|
||||
|
@ -259,7 +269,7 @@ function parseColor(input: string): ColorRGB {
|
|||
if (input[0] === "#") {
|
||||
const collen = (input.length - 1) / 3;
|
||||
const fact = [17, 1, 0.062272][collen - 1];
|
||||
return {
|
||||
return { //TODO refactor with substring
|
||||
r: Math.round(parseInt(input.substr(1, collen), 16) * fact) / 256,
|
||||
g:
|
||||
Math.round(parseInt(input.substr(1 + collen, collen), 16) * fact) / 256,
|
92
src/index.ts
|
@ -1,81 +1,20 @@
|
|||
import TabManager from "./ui/TabManager";
|
||||
import sections from "./ui/sections";
|
||||
import { nextAnimationFrame } from "./utils";
|
||||
import { searchBox } from "./scripts/search";
|
||||
import TabManager from "./TabManager";
|
||||
|
||||
import unknown from "@/assets/images/tab-icons/unknown.svg";
|
||||
import { bindFunctions } from "./scripts/index";
|
||||
|
||||
// Enable single page mode for developing scripts
|
||||
// const devSinglePage = ["Medical", "Guide_to_chemistry"];
|
||||
const devSinglePage = null;
|
||||
|
||||
async function load() {
|
||||
const sectionListContainer = document.getElementById("section-list");
|
||||
const tabListContainer = document.getElementById("tab-list");
|
||||
const tabContentContainer = document.getElementById("tabs");
|
||||
const manager = new TabManager(
|
||||
sectionListContainer,
|
||||
tabListContainer,
|
||||
tabContentContainer
|
||||
);
|
||||
manager.setLoading(true);
|
||||
const manager = new TabManager(tabListContainer, tabContentContainer);
|
||||
|
||||
await nextAnimationFrame();
|
||||
const defaultTabs = [
|
||||
{ page: "Guide_to_chemistry", active: true },
|
||||
{ page: "Guide_to_medicine", active: false },
|
||||
];
|
||||
|
||||
// Add loading "bar"
|
||||
const spinnerContainer = document.querySelector("#tabs > .speen");
|
||||
const icons = document.createElement("div");
|
||||
icons.className = "loading-icons";
|
||||
|
||||
let promises = [];
|
||||
if (devSinglePage != null) {
|
||||
manager.createSection(devSinglePage[0]);
|
||||
promises = [manager.openTab(devSinglePage[0], devSinglePage[1], {})];
|
||||
} else {
|
||||
sections.forEach((section) =>
|
||||
section.tabs.forEach((tab) => {
|
||||
const iconElement = document.createElement("img");
|
||||
iconElement.dataset.tab = tab.page;
|
||||
iconElement.src = tab.icon || unknown;
|
||||
iconElement.title = tab.page.replace(/_/gi, " ");
|
||||
icons.appendChild(iconElement);
|
||||
})
|
||||
);
|
||||
spinnerContainer.appendChild(icons);
|
||||
|
||||
promises = sections.flatMap((section) => {
|
||||
manager.createSection(section.name);
|
||||
|
||||
return section.tabs.map(async (tab) => {
|
||||
// Load page
|
||||
await manager.openTab(section.name, tab.page, {
|
||||
icon: tab.icon,
|
||||
text: tab.text,
|
||||
defaultTabs.forEach((tab) => {
|
||||
manager.openTab(tab.page, tab.active);
|
||||
});
|
||||
// Remove icon from loading
|
||||
icons.removeChild(icons.querySelector(`img[data-tab=${tab.page}]`));
|
||||
});
|
||||
});
|
||||
}
|
||||
const welcome = document.getElementById("Welcome");
|
||||
bindFunctions(welcome, "$Welcome");
|
||||
|
||||
Promise.all(promises).then(() => {
|
||||
// Remove app-wide loading
|
||||
manager.setLoading(false);
|
||||
if (devSinglePage) {
|
||||
manager.setActive(devSinglePage[1]);
|
||||
} else {
|
||||
manager.showSection("Medical");
|
||||
welcome.classList.add("active");
|
||||
}
|
||||
});
|
||||
}
|
||||
if ("serviceWorker" in navigator) {
|
||||
const x = import.meta.env.VITE_SUBDIR
|
||||
? `${import.meta.env.VITE_SUBDIR}/sw.js`
|
||||
: "sw.js";
|
||||
const x = process.env.SUBPATH ? `${process.env.SUBPATH}/sw.js` : "sw.js";
|
||||
navigator.serviceWorker
|
||||
.register(x)
|
||||
.then((registration) => {
|
||||
|
@ -85,16 +24,3 @@ if ("serviceWorker" in navigator) {
|
|||
console.log("Service worker registration failed, error:", error);
|
||||
});
|
||||
}
|
||||
|
||||
// Start loading pages
|
||||
load();
|
||||
|
||||
// Add search box
|
||||
document.body.appendChild(searchBox());
|
||||
|
||||
// Add revision info
|
||||
document
|
||||
.getElementById("tgh-version")
|
||||
.appendChild(
|
||||
document.createTextNode(import.meta.env.VITE_APP_REVISION || "unknown")
|
||||
);
|
||||
|
|
|
@ -1,103 +0,0 @@
|
|||
import { chemistryScript, processChemistry } from "./pages/chemistry";
|
||||
import { processVirology, virologyScript } from "./pages/virology";
|
||||
import { processFood, foodScript } from "./pages/food";
|
||||
import { processDrinks, drinkScript } from "./pages/drinks";
|
||||
import { genericScript } from "./pages/generic";
|
||||
import { processGlobal } from "./pages/global";
|
||||
import { welcomeScript } from "./pages/welcome";
|
||||
|
||||
// This is used for cache busting when userscript changes significantly.
|
||||
// Only change it when you made changes to the processHTML part!
|
||||
export const PAGE_VERSIONS = {
|
||||
Infections: "fcebeda2fddb46d924f4538cd9c0daeb55aa4c9b",
|
||||
Guide_to_food_and_drinks: "131e010df66ed689d31df53c3ca17ad16635a827",
|
||||
Guide_to_chemistry: "5074d6180fc8b283bac00b99c6aa2325b797da6b",
|
||||
$DEFAULT: "5074d6180fc8b283bac00b99c6aa2325b797da6b",
|
||||
};
|
||||
|
||||
const MAX_WIDTH = 440;
|
||||
|
||||
export function processHTML(root: HTMLElement, docname: string): void {
|
||||
try {
|
||||
processGlobal(root, docname);
|
||||
} catch (e) {
|
||||
console.error(`Error processing page: ${docname}`);
|
||||
}
|
||||
|
||||
try {
|
||||
switch (docname) {
|
||||
case "Guide_to_chemistry":
|
||||
processChemistry(root);
|
||||
break;
|
||||
case "Infections":
|
||||
processVirology(root);
|
||||
break;
|
||||
case "Guide_to_food":
|
||||
processFood(root);
|
||||
break;
|
||||
case "Guide_to_drinks":
|
||||
processDrinks(root);
|
||||
break;
|
||||
default:
|
||||
}
|
||||
} catch (e) {
|
||||
console.error(`Error processing page: ${docname} (specific enhancements)`);
|
||||
}
|
||||
}
|
||||
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
export function postProcessHTML(root: HTMLElement, docname: string): void {
|
||||
// This should be noop unless we're testing changes before committing them to processHTML
|
||||
document.querySelectorAll("img[width]").forEach((img) => {
|
||||
const width = img.getAttribute("width");
|
||||
|
||||
// Don't care if they are not absolutely sized
|
||||
if (width.includes("%")) {
|
||||
return;
|
||||
}
|
||||
|
||||
const widthI = parseInt(width, 10);
|
||||
if (widthI > MAX_WIDTH) {
|
||||
img.setAttribute("width", "100%");
|
||||
img.removeAttribute("height"); // Remove any height so we don't have to deal with the crazy math
|
||||
}
|
||||
});
|
||||
|
||||
switch (docname) {
|
||||
default:
|
||||
}
|
||||
}
|
||||
|
||||
export function bindFunctions(root: HTMLElement, docname: string): void {
|
||||
switch (docname) {
|
||||
case "Guide_to_chemistry":
|
||||
genericScript(root, docname);
|
||||
chemistryScript(root);
|
||||
break;
|
||||
case "Infections":
|
||||
genericScript(root, docname);
|
||||
virologyScript(root);
|
||||
break;
|
||||
case "$Welcome":
|
||||
welcomeScript(root);
|
||||
break;
|
||||
case "Guide_to_food":
|
||||
genericScript(root, docname);
|
||||
foodScript(root);
|
||||
break;
|
||||
case "Guide_to_drinks":
|
||||
genericScript(root, docname);
|
||||
drinkScript(root);
|
||||
break;
|
||||
default:
|
||||
genericScript(root, docname);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
export default {
|
||||
PAGE_VERSIONS,
|
||||
postProcessHTML,
|
||||
processHTML,
|
||||
bindFunctions,
|
||||
};
|
|
@ -1,309 +0,0 @@
|
|||
import { registerSearchEntries } from "../search";
|
||||
import { findParent } from "../utils";
|
||||
|
||||
export function processChemistry(root: HTMLElement): void {
|
||||
// Fix inconsistencies with <p> on random parts
|
||||
// Ideally I'd like a <p> or something on every part, wrapping it completely, but for now let's just kill 'em
|
||||
root
|
||||
.querySelectorAll(
|
||||
"table.wikitable > tbody > tr:not(:first-child) > td:nth-child(2), .tooltiptext"
|
||||
)
|
||||
.forEach((td) => {
|
||||
const tmp = td.cloneNode() as HTMLElement;
|
||||
// The cast to Array is necessary because, while childNodes's NodeList technically has a forEach method, it's a live list and operations mess with its lenght in the middle of the loop.
|
||||
// Nodes can only have one parent so append removes them from the original NodeList and shifts the following one back into the wrong index.
|
||||
Array.from(td.childNodes).forEach((el) => {
|
||||
if (el instanceof HTMLParagraphElement) {
|
||||
tmp.append(...el.childNodes);
|
||||
} else {
|
||||
tmp.append(el);
|
||||
}
|
||||
});
|
||||
td.parentNode.replaceChild(tmp, td);
|
||||
});
|
||||
|
||||
// Enrich "x part" with checkboxes and parts
|
||||
Array.from(root.querySelectorAll("td"))
|
||||
.filter((el) => el.textContent.indexOf(" part") >= 0)
|
||||
.forEach((el) => {
|
||||
el.innerHTML = el.innerHTML.replace(
|
||||
/((\d+)\s+(?:parts?|units?))(.*?(?:<\/a>|\n|$))/gi,
|
||||
(match, ...m) =>
|
||||
`<label class="bgus_part ${
|
||||
m[2].includes("</a>") ? "bgus_part_tooltip" : ""
|
||||
}" data-amount="${
|
||||
m[1]
|
||||
}"><input type="checkbox" class='bgus_checkbox bgus_hidden'/> <span class="bgus_part_label" data-src="${
|
||||
m[0]
|
||||
}">${m[0]}</span></label>${m[2].replace(
|
||||
/(<a .+?<\/a>)/gi,
|
||||
'<span class="bgus_nobreak bgus_nested_element">$1<span class="bgus_twistie"></span></span>'
|
||||
)}`
|
||||
);
|
||||
});
|
||||
|
||||
// Wrap every recipe with extra metadata
|
||||
root.querySelectorAll<HTMLElement>(".bgus_part").forEach((el) => {
|
||||
if ("parts" in el.parentElement.dataset) {
|
||||
el.parentElement.dataset.parts = (
|
||||
parseInt(el.parentElement.dataset.parts, 10) +
|
||||
parseInt(el.dataset.amount, 10)
|
||||
).toString();
|
||||
} else {
|
||||
el.parentElement.dataset.parts = el.dataset.amount;
|
||||
}
|
||||
});
|
||||
|
||||
// Restructure recipes to work in a narrow window
|
||||
root
|
||||
.querySelectorAll<HTMLElement>("div[data-name] .wikitable.sortable tr")
|
||||
.forEach((row) => {
|
||||
const sectionEl = findParent(
|
||||
row,
|
||||
(sel) => "name" in sel.dataset && sel.dataset.name !== ""
|
||||
);
|
||||
const section = sectionEl.dataset.name;
|
||||
if (row.querySelector("td") === null) {
|
||||
// Remove unused rows if found
|
||||
const headers = row.querySelectorAll("th");
|
||||
headers.forEach((th, i) => {
|
||||
if (i < 2) {
|
||||
th.classList.add("table-head");
|
||||
return;
|
||||
}
|
||||
th.parentElement.removeChild(th);
|
||||
});
|
||||
return;
|
||||
}
|
||||
const rows = Array.from(row.querySelectorAll("td")).slice(1);
|
||||
let conditions: HTMLTableCellElement = null;
|
||||
let explosive: HTMLTableCellElement = null;
|
||||
let ph: HTMLTableCellElement = null;
|
||||
let treatment: HTMLTableCellElement = null;
|
||||
let desc: HTMLTableCellElement = null;
|
||||
let metabolism: HTMLTableCellElement = null;
|
||||
let overdose: HTMLTableCellElement = null;
|
||||
let addiction: HTMLTableCellElement = null;
|
||||
// Handle special cases
|
||||
switch (section) {
|
||||
case "Components":
|
||||
[ph, desc] = rows;
|
||||
break;
|
||||
case "Virology Recipes":
|
||||
[desc] = rows;
|
||||
break;
|
||||
case "Narcotics":
|
||||
[ph, desc, metabolism, overdose, addiction] = rows;
|
||||
break;
|
||||
case "Other Reagents":
|
||||
[ph, desc, metabolism] = rows;
|
||||
break;
|
||||
case "Explosive Strength":
|
||||
[conditions, desc, explosive] = rows;
|
||||
break;
|
||||
case "Mutation Toxins":
|
||||
[desc, metabolism] = rows;
|
||||
break;
|
||||
default:
|
||||
// All fields
|
||||
[ph, treatment, desc, metabolism, overdose, addiction] = rows;
|
||||
}
|
||||
const title = row.querySelector("th");
|
||||
let content = `<div class="reagent-header">${title.innerHTML}</div>`;
|
||||
if (treatment) {
|
||||
content += `<p class="treatment">${treatment.innerHTML}</p>`;
|
||||
}
|
||||
if (metabolism) {
|
||||
content += `<p class="metabolism">${metabolism.innerHTML}</p>`;
|
||||
}
|
||||
if (conditions) {
|
||||
content += `<p class="conditions">${conditions.innerHTML}</p>`;
|
||||
}
|
||||
if (explosive) {
|
||||
content += `<p class="explosive">${explosive.innerHTML}</p>`;
|
||||
}
|
||||
if (addiction && addiction.innerHTML.trim() !== "N/A") {
|
||||
content += `<p class="addiction">${addiction.innerHTML}</p>`;
|
||||
}
|
||||
if (overdose && overdose.innerHTML.trim() !== "N/A") {
|
||||
content += `<p class="overdose">${overdose.innerHTML}</p>`;
|
||||
}
|
||||
if (desc) {
|
||||
content += `<p>${desc.innerHTML}</p>`;
|
||||
}
|
||||
if (ph) {
|
||||
content += `<div class="ph">${ph.innerHTML}</div>`;
|
||||
}
|
||||
title.classList.add("reagent-ext");
|
||||
title.innerHTML = content;
|
||||
if (desc) desc.parentElement.removeChild(desc);
|
||||
if (treatment) treatment.parentElement.removeChild(treatment);
|
||||
if (metabolism) metabolism.parentElement.removeChild(metabolism);
|
||||
if (conditions) conditions.parentElement.removeChild(conditions);
|
||||
if (explosive) explosive.parentElement.removeChild(explosive);
|
||||
if (overdose) overdose.parentElement.removeChild(overdose);
|
||||
if (addiction) addiction.parentElement.removeChild(addiction);
|
||||
if (ph) ph.parentElement.removeChild(ph);
|
||||
});
|
||||
}
|
||||
|
||||
export function chemistryScript(root: HTMLElement): void {
|
||||
// Add event to autofill child checkboxes
|
||||
root
|
||||
.querySelectorAll(".bgus_part_tooltip > .bgus_checkbox")
|
||||
.forEach((box: HTMLInputElement) => {
|
||||
const tooltip = box.parentElement.nextElementSibling;
|
||||
box.addEventListener("click", () => {
|
||||
tooltip
|
||||
.querySelectorAll(".bgus_checkbox")
|
||||
.forEach((el: HTMLInputElement) => {
|
||||
el.checked = box.checked;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Add event to collapse subsections
|
||||
root.querySelectorAll(".bgus_nested_element").forEach((twistie) => {
|
||||
twistie.addEventListener("click", () => {
|
||||
twistie.classList.toggle("bgus_collapsed");
|
||||
});
|
||||
});
|
||||
|
||||
const setPartSize = (labels, ml) => {
|
||||
labels.forEach((el) => {
|
||||
const part = el.parentElement.dataset.amount;
|
||||
const total = el.parentElement.parentElement.dataset.parts;
|
||||
const amt = Math.ceil(ml * (part / total));
|
||||
el.innerHTML = `${amt} ml`;
|
||||
// Lookup tooltips
|
||||
let next = el.parentElement.nextElementSibling;
|
||||
while (next) {
|
||||
if (next.classList.contains("tooltip")) {
|
||||
const sublabels = [];
|
||||
next.querySelector(".tooltiptext").childNodes.forEach((ch) => {
|
||||
if (ch.classList && ch.classList.contains("bgus_part")) {
|
||||
sublabels.push(ch.querySelector(".bgus_part_label"));
|
||||
}
|
||||
});
|
||||
setPartSize(sublabels, amt);
|
||||
}
|
||||
if (next.classList.contains("bgus_part")) {
|
||||
// Done searching
|
||||
break;
|
||||
}
|
||||
next = next.nextElementSibling;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Init fuzzy search with elements
|
||||
const el = Array.from(
|
||||
root.querySelectorAll<HTMLElement>(
|
||||
"table.wikitable > tbody > tr:not(:first-child)"
|
||||
)
|
||||
);
|
||||
|
||||
registerSearchEntries(
|
||||
Array.from(
|
||||
root.querySelectorAll<HTMLElement>(
|
||||
"table.wikitable > tbody > tr:not(:first-child) th .reagent-header"
|
||||
)
|
||||
).map((element, id) => ({
|
||||
page: "Guide_to_chemistry",
|
||||
name: element.textContent.trim().replace(/\n.+$/gm, "").replace("▮", ""),
|
||||
element,
|
||||
alignment: "center",
|
||||
id,
|
||||
}))
|
||||
);
|
||||
|
||||
document.body.addEventListener("keydown", (ev) => {
|
||||
if (ev.shiftKey) {
|
||||
switch (ev.keyCode) {
|
||||
// SHIFT+C = Toggle checkboxes
|
||||
case 67: {
|
||||
root.classList.toggle("bgus_cbox");
|
||||
root
|
||||
.querySelectorAll(".bgus_checkbox:checked")
|
||||
.forEach((sel: HTMLInputElement) => {
|
||||
sel.checked = false;
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
// SHIFT+B = Set whole size (beaker?) for parts/units
|
||||
case 66: {
|
||||
const size = parseInt(
|
||||
prompt("Write target ml (0 to reset)", "90"),
|
||||
10
|
||||
);
|
||||
if (Number.isNaN(size) || size <= 0) {
|
||||
// Reset to parts/unit
|
||||
root
|
||||
.querySelectorAll(".bgus_part_label")
|
||||
.forEach((sel: HTMLElement) => {
|
||||
sel.innerHTML = sel.dataset.src;
|
||||
});
|
||||
return;
|
||||
}
|
||||
setPartSize(
|
||||
root.querySelectorAll("td > .bgus_part > .bgus_part_label"),
|
||||
+size
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Prettify reaction conditions
|
||||
const reactionPropertyRegexp = /<b>(.+):<\/b>(.+)/i;
|
||||
el.forEach((element, id) => {
|
||||
element.querySelectorAll<HTMLElement>(".ph").forEach((ph) => {
|
||||
// Prepare table
|
||||
const extras = [];
|
||||
const table = document.createElement("table");
|
||||
const tableHeaderRow = document.createElement("tr");
|
||||
const tableValueRow = document.createElement("tr");
|
||||
table.appendChild(tableHeaderRow);
|
||||
table.appendChild(tableValueRow);
|
||||
|
||||
// Parse parameters
|
||||
ph.innerHTML.split("<br>").forEach((prop) => {
|
||||
if (prop.trim() === "N/A") {
|
||||
return;
|
||||
}
|
||||
|
||||
const matcher = reactionPropertyRegexp.exec(prop);
|
||||
if (!matcher) {
|
||||
extras.push(prop);
|
||||
return;
|
||||
}
|
||||
|
||||
const [reactionProperty, propValue] = matcher
|
||||
.slice(1)
|
||||
.map((s) => s.trim());
|
||||
|
||||
const header = document.createElement("th");
|
||||
header.appendChild(document.createTextNode(reactionProperty));
|
||||
tableHeaderRow.appendChild(header);
|
||||
const value = document.createElement("td");
|
||||
value.appendChild(document.createTextNode(propValue));
|
||||
tableValueRow.append(value);
|
||||
});
|
||||
|
||||
// Clear and re-add prettified data
|
||||
ph.innerHTML = "";
|
||||
if (tableHeaderRow.children.length > 0) {
|
||||
ph.appendChild(table);
|
||||
}
|
||||
ph.innerHTML += `<p>${extras.join("<br>")}</p>`;
|
||||
ph.classList.add("ph-ext");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export default { chemistryScript, processChemistry };
|
|
@ -1,50 +0,0 @@
|
|||
import { parseTable, makeTable } from "../utils";
|
||||
import { registerSearchEntries } from "../search";
|
||||
|
||||
export function processDrinks(root: HTMLElement): void {
|
||||
const drinkTables = ["#Basic_Drink_Ingredients", "#Mixed_Drinks"];
|
||||
drinkTables.forEach((selector) => {
|
||||
const table = root.querySelector<HTMLElement>(`${selector} .wikitable`);
|
||||
const drinks = parseTable(table).map((row) => {
|
||||
const foodBlock = document.createElement("td");
|
||||
foodBlock.innerHTML = `
|
||||
<div class="food-pic">${row["Picture"].innerHTML}</div>
|
||||
<div class="food-name">${row["Cocktail"].innerHTML}</div>
|
||||
<p class="strength">${row["Strength"].innerHTML}</p>
|
||||
<p class="description">${row["Drink Description"].innerHTML}</p>
|
||||
<p class="notes">${row["Notes"].innerHTML}</p>
|
||||
`;
|
||||
const ingredients = row["Ingredients"].innerHTML
|
||||
.split(/,|\+/gi)
|
||||
.map((s) => `<p>${s.trim()}</p>`);
|
||||
row["Ingredients"].innerHTML = ingredients.join("");
|
||||
return { Drink: foodBlock, Ingredients: row["Ingredients"] };
|
||||
});
|
||||
const betterTable = makeTable(["Drink", "Ingredients"], drinks);
|
||||
betterTable.className = "drink-ext wikitable";
|
||||
table.replaceWith(betterTable);
|
||||
});
|
||||
}
|
||||
|
||||
export function drinkScript(root: HTMLElement): void {
|
||||
// Init fuzzy search with elements
|
||||
const foodEntries = Array.from(
|
||||
root.querySelectorAll<HTMLElement>(
|
||||
".drink-ext tr:not(:first-child), .food-base-ext tr:not(:first-child), .food-ext tr:not(:first-child)"
|
||||
)
|
||||
);
|
||||
registerSearchEntries(
|
||||
foodEntries.map((element, id) => ({
|
||||
page: "Guide_to_drinks",
|
||||
name: element.querySelector(".food-name").textContent.trim(),
|
||||
element,
|
||||
alignment: "center",
|
||||
id,
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
export default {
|
||||
processDrinks,
|
||||
drinkScript,
|
||||
};
|
|
@ -1,158 +0,0 @@
|
|||
import { parseTable, makeTable } from "../utils";
|
||||
import { registerSearchEntries } from "../search";
|
||||
|
||||
export function processFood(root: HTMLElement): void {
|
||||
const baseFoodTables = [
|
||||
{
|
||||
selector: "#Butchering",
|
||||
title: "Food name",
|
||||
process: "How to acquire",
|
||||
},
|
||||
{
|
||||
selector: "#Knife_\\.26_Rolling_Pin",
|
||||
title: "Food name",
|
||||
process: "How to acquire",
|
||||
},
|
||||
{
|
||||
selector: "#Processor",
|
||||
title: "Processes",
|
||||
process: "Condiments",
|
||||
},
|
||||
{
|
||||
selector: "#All-In-One-Grinder",
|
||||
title: "Blends",
|
||||
process: "How to acquire",
|
||||
},
|
||||
{
|
||||
selector: "#Microwave_Oven",
|
||||
title: "Cooked food",
|
||||
process: "How to acquire",
|
||||
},
|
||||
{
|
||||
selector: "#Junk_Food",
|
||||
title: "Dispenses",
|
||||
process: "Description",
|
||||
},
|
||||
{
|
||||
selector: "#Other_food",
|
||||
title: "Item",
|
||||
process: "Description",
|
||||
},
|
||||
];
|
||||
baseFoodTables.forEach(({ selector, title, process }) => {
|
||||
const table = root.querySelector<HTMLElement>(`${selector} .wikitable`);
|
||||
if (!table) return;
|
||||
const foods = parseTable(table).map((row) => {
|
||||
const foodBlock = document.createElement("td");
|
||||
foodBlock.innerHTML = `<div class="food-block">
|
||||
<div class="food-pic">${row["Picture"].innerHTML}</div>
|
||||
<div class="food-name">${row[title].innerHTML}</div>
|
||||
</div>
|
||||
`;
|
||||
const out = {};
|
||||
out[title] = foodBlock;
|
||||
out[process] = row[process];
|
||||
return out;
|
||||
});
|
||||
const betterTable = makeTable([title, process], foods);
|
||||
betterTable.className = "food-base-ext wikitable";
|
||||
table.replaceWith(betterTable);
|
||||
});
|
||||
|
||||
const customTable = root.querySelector<HTMLElement>(
|
||||
`#Custom_Recipes .wikitable`
|
||||
);
|
||||
const customFood = parseTable(customTable).map((row) => {
|
||||
row[
|
||||
"Custom food"
|
||||
].innerHTML = `<div class="food-name">${row["Custom food"].innerHTML}</div>`;
|
||||
return row;
|
||||
});
|
||||
const betterCustomTable = makeTable(Object.keys(customFood[0]), customFood);
|
||||
betterCustomTable.className = "food-base-ext wikitable";
|
||||
customTable.replaceWith(betterCustomTable);
|
||||
|
||||
const recipeBookTable = root.querySelector<HTMLElement>(
|
||||
`#Recipe_Books .wikitable`
|
||||
);
|
||||
const recipeBook = parseTable(recipeBookTable).map((row) => {
|
||||
const bookBlock = document.createElement("td");
|
||||
bookBlock.innerHTML = `<div class="food-pic">${row["Picture"].innerHTML}</div>
|
||||
<div class="food-name">${row["Book"].innerHTML}</div>
|
||||
<p class="unlocks">${row["Unlocks"].innerHTML}</p>
|
||||
<p class="notes">${row["Notes"].innerHTML}</p>
|
||||
`;
|
||||
return { Book: bookBlock, "Where to get": row["Where to get"] };
|
||||
});
|
||||
const betterBookTable = makeTable(["Book", "Where to get"], recipeBook);
|
||||
betterBookTable.className = "book-ext wikitable";
|
||||
recipeBookTable.replaceWith(betterBookTable);
|
||||
|
||||
const foodRecipesTables = [
|
||||
"#Burgers",
|
||||
"#Breads",
|
||||
"#Cakes",
|
||||
"#Egg-Based_Food",
|
||||
"#Snowcones",
|
||||
"#Lizard_Cuisine",
|
||||
"#Seafood",
|
||||
"#Mexican",
|
||||
"#Savory",
|
||||
"#Waffles",
|
||||
"#Pies",
|
||||
"#Pizzas",
|
||||
"#Salads",
|
||||
"#Sandwiches",
|
||||
"#Soups_\\.26_Stews",
|
||||
"#Spaghettis",
|
||||
"#Icecream_Vat",
|
||||
];
|
||||
foodRecipesTables.forEach((selector) => {
|
||||
const table = root.querySelector<HTMLElement>(`${selector} .wikitable`);
|
||||
if (!table) return;
|
||||
const recipes = parseTable(table).map((row) => {
|
||||
const foodBlock = document.createElement("td");
|
||||
foodBlock.innerHTML = `
|
||||
<div class="food-pic">${row["Picture"].innerHTML}</div>
|
||||
<div class="food-name">${row["Recipe"].innerHTML}</div>
|
||||
${
|
||||
"Nutritional Value" in row
|
||||
? `<p class="nutrition">${row["Nutritional Value"].innerHTML}</p>`
|
||||
: ""
|
||||
}
|
||||
${"Notes" in row ? `<p class="notes">${row["Notes"].innerHTML}</p>` : ""}
|
||||
`;
|
||||
const ingredients = row["Ingredients"].innerHTML
|
||||
.split(/,|\+/gi)
|
||||
.map((s) => `<p>${s.trim()}</p>`);
|
||||
row["Ingredients"].innerHTML = ingredients.join("");
|
||||
return { Drink: foodBlock, Ingredients: row["Ingredients"] };
|
||||
});
|
||||
const betterTable = makeTable(["Drink", "Ingredients"], recipes);
|
||||
betterTable.className = "recipe-ext wikitable";
|
||||
table.replaceWith(betterTable);
|
||||
});
|
||||
}
|
||||
|
||||
export function foodScript(root: HTMLElement): void {
|
||||
// Init fuzzy search with elements
|
||||
const foodEntries = Array.from(
|
||||
root.querySelectorAll<HTMLElement>(
|
||||
".drink-ext tr:not(:first-child), .food-base-ext tr:not(:first-child), .food-ext tr:not(:first-child)"
|
||||
)
|
||||
);
|
||||
registerSearchEntries(
|
||||
foodEntries.map((element, id) => ({
|
||||
page: "Guide_to_food",
|
||||
name: element.querySelector(".food-name").textContent.trim(),
|
||||
element,
|
||||
alignment: "center",
|
||||
id,
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
export default {
|
||||
processFood,
|
||||
foodScript,
|
||||
};
|
|
@ -1,20 +0,0 @@
|
|||
import { registerSearchEntries } from "../search";
|
||||
|
||||
export function genericScript(root: HTMLElement, docname: string): void {
|
||||
const el = Array.from(
|
||||
root.querySelectorAll<HTMLElement>(".mw-headline-cont[id][data-name]")
|
||||
);
|
||||
|
||||
// Init fuzzy search with headlines
|
||||
registerSearchEntries(
|
||||
el.map((element: HTMLDivElement, id) => ({
|
||||
id,
|
||||
page: docname,
|
||||
name: element.dataset.name.trim(),
|
||||
element,
|
||||
alignment: "start",
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
export default { genericScript };
|
|
@ -1,119 +0,0 @@
|
|||
import { findParent } from "../utils";
|
||||
import { darken, ColorFmt, lighten } from "../darkmode";
|
||||
|
||||
function isHeader(nodeName: string) {
|
||||
return nodeName === "H1" || nodeName === "H2" || nodeName === "H3";
|
||||
}
|
||||
|
||||
export function processGlobal(root: HTMLElement, docname: string): void {
|
||||
// Add header
|
||||
const header = document.createElement("h1");
|
||||
header.className = "pageheader";
|
||||
header.appendChild(document.createTextNode(docname.replace(/_/g, " ")));
|
||||
root.insertBefore(header, root.firstChild);
|
||||
|
||||
// Lazy load all images
|
||||
root
|
||||
.querySelectorAll<HTMLImageElement>("img")
|
||||
.forEach((elem) => elem.setAttribute("loading", "lazy"));
|
||||
|
||||
// Remove edit links
|
||||
root.querySelectorAll(".mw-editsection").forEach((editLink) => {
|
||||
editLink.parentElement.removeChild(editLink);
|
||||
});
|
||||
|
||||
// Darken bgcolor
|
||||
root.querySelectorAll("*[bgcolor]").forEach((td) => {
|
||||
let bgcolor = td.getAttribute("bgcolor");
|
||||
// Shitty way to detect if it's hex or not
|
||||
// Basically, none of the css colors long 6 letters only use hex letters
|
||||
// THANK FUCKING GOD
|
||||
if (bgcolor.length === 6 && !Number.isNaN(parseInt(bgcolor, 16))) {
|
||||
bgcolor = `#${bgcolor}`;
|
||||
}
|
||||
td.setAttribute("bgcolor", darken(bgcolor, ColorFmt.HEX).slice(1));
|
||||
});
|
||||
root.querySelectorAll<HTMLElement>("*[style]").forEach((td) => {
|
||||
if (td.style.backgroundColor !== "") {
|
||||
td.style.backgroundColor = darken(td.style.backgroundColor, ColorFmt.RGB);
|
||||
}
|
||||
if (td.style.background !== "") {
|
||||
td.style.backgroundColor = darken(td.style.background, ColorFmt.RGB);
|
||||
}
|
||||
});
|
||||
|
||||
// Lighten fgcolors
|
||||
root.querySelectorAll("*[color]").forEach((td) => {
|
||||
let color = td.getAttribute("color");
|
||||
if (color.length === 6 && !Number.isNaN(parseInt(color, 16))) {
|
||||
color = `#${color}`;
|
||||
}
|
||||
td.setAttribute("color", lighten(color, ColorFmt.HEX).slice(1));
|
||||
});
|
||||
|
||||
// Remove fixed widths
|
||||
root.querySelectorAll("table[width]").forEach((td) => {
|
||||
td.setAttribute("width", "100%");
|
||||
});
|
||||
root.querySelectorAll("table[style]").forEach((td: HTMLTableElement) => {
|
||||
if (td.style.width !== "") {
|
||||
td.style.width = "100%";
|
||||
}
|
||||
});
|
||||
|
||||
// Fixup spacing on top quotes
|
||||
root
|
||||
.querySelectorAll<HTMLImageElement>("table .floatright > a > img")
|
||||
.forEach((img) => {
|
||||
const row = findParent(img, (el) => el instanceof HTMLTableRowElement);
|
||||
const td = document.createElement("td");
|
||||
row.appendChild(td);
|
||||
});
|
||||
|
||||
// Fuck #toctitle
|
||||
const toc = root.querySelector("#toc");
|
||||
if (toc) {
|
||||
const tocHeader = toc.querySelector("h2");
|
||||
toc.parentNode.insertBefore(tocHeader, toc);
|
||||
const tocTitle = toc.querySelector("#toctitle");
|
||||
if (tocTitle != null) {
|
||||
toc.removeChild(tocTitle);
|
||||
}
|
||||
}
|
||||
|
||||
// Group headers and content so stickies don't overlap
|
||||
root.querySelectorAll("h1,h2,h3").forEach((h3) => {
|
||||
const parent = h3.parentNode;
|
||||
const div = document.createElement("div");
|
||||
parent.insertBefore(div, h3);
|
||||
while (h3.nextSibling && !isHeader(h3.nextSibling.nodeName)) {
|
||||
const sibling = h3.nextSibling;
|
||||
parent.removeChild(sibling);
|
||||
div.appendChild(sibling);
|
||||
}
|
||||
h3.parentNode.removeChild(h3);
|
||||
div.insertBefore(h3, div.firstChild);
|
||||
div.className = "mw-headline-cont";
|
||||
});
|
||||
|
||||
// Move id from header to container, if one is found
|
||||
root.querySelectorAll<HTMLElement>(".mw-headline").forEach((span) => {
|
||||
// Find nearest container
|
||||
const container = findParent(span, (el) =>
|
||||
el.classList.contains("mw-headline-cont")
|
||||
);
|
||||
if (
|
||||
container &&
|
||||
container.querySelectorAll<HTMLElement>(".mw-headline").length === 1
|
||||
) {
|
||||
container.id = span.id;
|
||||
span.id += "-span";
|
||||
container.dataset.name = span.textContent;
|
||||
} else {
|
||||
span.dataset.name = span.textContent;
|
||||
span.classList.add("mw-headline-cont");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export default { processGlobal };
|
|
@ -1,104 +0,0 @@
|
|||
import { parseTable, makeTable } from "../utils";
|
||||
import { registerSearchEntries } from "../search";
|
||||
|
||||
export function processVirology(root: HTMLElement): void {
|
||||
const diseaseTable = root.querySelector<HTMLElement>(
|
||||
"#Simple_Diseases .wikitable"
|
||||
);
|
||||
const diseases = parseTable(diseaseTable).map((row) => {
|
||||
const diseaseBlock = document.createElement("td");
|
||||
diseaseBlock.innerHTML = `
|
||||
<div class="disease-name">${row["Disease Name"].innerHTML}</div>
|
||||
<p class="vector">${row["Vector Name"].innerHTML}</p>
|
||||
<p class="source">${row["Source"].innerHTML}</p>
|
||||
<p class="spread">${row["Spread"].innerHTML}</p>
|
||||
<p class="description">${row["Description"].innerHTML}</p>
|
||||
`;
|
||||
return {
|
||||
Disease: diseaseBlock,
|
||||
Cure: row["Cure"],
|
||||
};
|
||||
});
|
||||
|
||||
const diseaseBetterTable = makeTable(["Disease", "Cure"], diseases);
|
||||
diseaseBetterTable.className = "disease-ext wikitable";
|
||||
diseaseTable.replaceWith(diseaseBetterTable);
|
||||
|
||||
const symptomsTable = root.querySelector<HTMLElement>(
|
||||
"#Symptoms_Table .wikitable"
|
||||
);
|
||||
const symptoms = parseTable(symptomsTable)
|
||||
.sort(
|
||||
(a, b) =>
|
||||
parseInt(a["Level"].textContent, 10) -
|
||||
parseInt(b["Level"].textContent, 10)
|
||||
)
|
||||
.map((row) => {
|
||||
const symptomBlock = document.createElement("td");
|
||||
symptomBlock.innerHTML = `
|
||||
<div class="disease-name">${row["Symptom"].innerHTML}</div>
|
||||
<p class="level">${row["Level"].innerHTML}</p>
|
||||
<p class="chemical">${row["Required Chemical"].innerHTML}</p>
|
||||
<p class="description">${row["Effect"].innerHTML}</p>
|
||||
`;
|
||||
const symptomStats = document.createElement("td");
|
||||
symptomStats.innerHTML = `
|
||||
<table class="stats">
|
||||
<tr><th>Stealth</th><td>${row["Stealth"].innerHTML}</td></tr>
|
||||
<tr><th>Resistance</th><td>${row["Resistance"].innerHTML}</td></tr>
|
||||
<tr><th>Stage speed</th><td>${row["Stage speed"].innerHTML}</td></tr>
|
||||
<tr><th>Transmission</th><td>${row["Transmission"].innerHTML}</td></tr>
|
||||
</table>
|
||||
`;
|
||||
const thresholds = row["Threshold (hover mouse over for details)"];
|
||||
thresholds.innerHTML = `<ul class="thresholds"><li>${thresholds.innerHTML
|
||||
.split(",")
|
||||
.join("</li><li>")}</li></ul>`;
|
||||
return {
|
||||
Symptom: symptomBlock,
|
||||
Stats: symptomStats,
|
||||
Thresholds: thresholds,
|
||||
};
|
||||
});
|
||||
const symptomsBetterTable = makeTable(
|
||||
["Symptom", "Stats", "Thresholds"],
|
||||
symptoms
|
||||
);
|
||||
symptomsBetterTable.className = "symptoms-ext wikitable";
|
||||
symptomsTable.replaceWith(symptomsBetterTable);
|
||||
}
|
||||
|
||||
export function virologyScript(root: HTMLElement): void {
|
||||
// Init fuzzy search with elements
|
||||
const diseases = Array.from(
|
||||
root.querySelectorAll<HTMLElement>(".disease-ext tr:not(:first-child)")
|
||||
);
|
||||
registerSearchEntries(
|
||||
diseases.map((element, id) => ({
|
||||
page: "Infections",
|
||||
name: element.querySelector(".disease-name").textContent.trim(),
|
||||
element,
|
||||
alignment: "center",
|
||||
id,
|
||||
}))
|
||||
);
|
||||
const symptoms = Array.from(
|
||||
root.querySelectorAll<HTMLElement>(
|
||||
".symptoms-ext > tbody > tr:not(:first-child)"
|
||||
)
|
||||
);
|
||||
registerSearchEntries(
|
||||
symptoms.map((element, id) => ({
|
||||
page: "Infections",
|
||||
name: element.querySelector(".disease-name").textContent.trim(),
|
||||
element,
|
||||
alignment: "center",
|
||||
id,
|
||||
}))
|
||||
);
|
||||
}
|
||||
|
||||
export default {
|
||||
processVirology,
|
||||
virologyScript,
|
||||
};
|
|
@ -1,37 +0,0 @@
|
|||
import { nextAnimationFrame } from "../../utils";
|
||||
|
||||
function expandPage(root: HTMLElement) {
|
||||
// Show all sections
|
||||
root.querySelectorAll<HTMLElement>("div.hidden").forEach((div) => {
|
||||
div.style.display = "block";
|
||||
div.style.opacity = "1";
|
||||
});
|
||||
|
||||
// Hide buttons
|
||||
root.querySelector<HTMLElement>(".action_buttons").style.display = "none";
|
||||
|
||||
// Remove vertical centering
|
||||
root.classList.remove("center");
|
||||
}
|
||||
|
||||
export function welcomeScript(root: HTMLElement): void {
|
||||
const buttonContainer = root.querySelector<HTMLElement>(".action_buttons");
|
||||
root.querySelectorAll<HTMLDivElement>("div[data-name]").forEach((sec) => {
|
||||
const { name } = sec.dataset;
|
||||
const button = document.createElement("button");
|
||||
button.className = "pretty-button";
|
||||
button.appendChild(document.createTextNode(name));
|
||||
button.addEventListener("click", async () => {
|
||||
expandPage(root);
|
||||
await nextAnimationFrame();
|
||||
sec.scrollIntoView({
|
||||
block: "start",
|
||||
inline: "nearest",
|
||||
behavior: "smooth",
|
||||
});
|
||||
});
|
||||
buttonContainer.appendChild(button);
|
||||
});
|
||||
}
|
||||
|
||||
export default { welcomeScript };
|
|
@ -1,87 +0,0 @@
|
|||
/**
|
||||
* Find closest parent that meets a specified condition
|
||||
* @param base Element to start from
|
||||
* @param matchFn Matching function, returns true if condition is met
|
||||
*/
|
||||
export function findParent(
|
||||
base: HTMLElement,
|
||||
matchFn: (candidate: HTMLElement) => boolean
|
||||
): HTMLElement | null {
|
||||
let parent = base.parentElement;
|
||||
while (parent != null) {
|
||||
if (matchFn(parent)) {
|
||||
break;
|
||||
}
|
||||
parent = parent.parentElement;
|
||||
}
|
||||
return parent;
|
||||
}
|
||||
|
||||
export type TableRowData = Record<string, HTMLElement>;
|
||||
export type TableData = TableRowData[];
|
||||
|
||||
/**
|
||||
* Parse a HTML table and return a dictionary of rows as dictionaries
|
||||
* @param table Table element or any element from where you can query for "th" etc.
|
||||
*/
|
||||
export function parseTable(table: HTMLElement): TableData {
|
||||
const [headerRow, ...valueRows] = Array.from(table.querySelectorAll("tr"));
|
||||
const headers = Array.from(
|
||||
headerRow.querySelectorAll<HTMLTableRowElement>("th")
|
||||
).map((th) => th.textContent.trim());
|
||||
return valueRows.map((tr) => {
|
||||
const obj = {};
|
||||
tr.querySelectorAll<HTMLElement>("td,th").forEach((val, i) => {
|
||||
obj[headers[i]] = val;
|
||||
});
|
||||
return obj;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Make table from generated or mutated (from parseTable) table data
|
||||
* @param headers List of strings to use as table headers, must be keys in object
|
||||
* @param data Table row data
|
||||
* @param decorator (Optional) decorator function to change table row elements
|
||||
*/
|
||||
export function makeTable(
|
||||
headers: string[],
|
||||
data: TableData,
|
||||
decorator?: (data: TableRowData, tr: HTMLTableRowElement) => void
|
||||
): HTMLTableElement {
|
||||
const table = document.createElement("table");
|
||||
if (data.length < 1) {
|
||||
return table;
|
||||
}
|
||||
// Make header row
|
||||
const headerRow = document.createElement("tr");
|
||||
headers.forEach((head) => {
|
||||
const headerCell = document.createElement("th");
|
||||
headerCell.appendChild(document.createTextNode(head));
|
||||
headerRow.appendChild(headerCell);
|
||||
});
|
||||
table.appendChild(headerRow);
|
||||
|
||||
// Make rows
|
||||
data.forEach((row) => {
|
||||
const tableRow = document.createElement("tr");
|
||||
headers.forEach((key) => {
|
||||
let cell = null;
|
||||
if (row[key].tagName === "TD" || row[key].tagName === "TH") {
|
||||
cell = row[key];
|
||||
} else {
|
||||
cell = document.createElement("td");
|
||||
cell.appendChild(row[key]);
|
||||
}
|
||||
tableRow.appendChild(cell);
|
||||
});
|
||||
if (decorator) {
|
||||
decorator(row, tableRow);
|
||||
}
|
||||
table.appendChild(tableRow);
|
||||
});
|
||||
|
||||
return table;
|
||||
}
|
||||
|
||||
export default { findParent, parseTable, makeTable };
|
|
@ -1,51 +1,29 @@
|
|||
import { nextAnimationFrame } from "../utils";
|
||||
import TabManager from "../ui/TabManager";
|
||||
|
||||
interface SearchEntry {
|
||||
page: string;
|
||||
element: HTMLElement;
|
||||
name: string;
|
||||
id: number;
|
||||
interface SearchOption {
|
||||
alignment: ScrollLogicalPosition;
|
||||
}
|
||||
|
||||
const allEntries: SearchEntry[] = [];
|
||||
|
||||
/**
|
||||
* Add one or more entries to the global search database
|
||||
* @param entries Search entries to add
|
||||
*/
|
||||
export function registerSearchEntries(entries: SearchEntry[]): void {
|
||||
allEntries.push(...entries);
|
||||
export function searchBox(
|
||||
el: HTMLElement[],
|
||||
searchCandidate,
|
||||
options: SearchOption = {
|
||||
alignment: "center",
|
||||
}
|
||||
|
||||
export function searchBox(): HTMLElement {
|
||||
): HTMLElement {
|
||||
// Fuzzy search box
|
||||
const resultList = document.createElement("ul");
|
||||
const searchBoxElem = document.createElement("div");
|
||||
let selectedResult = 0;
|
||||
let selectedResult = null;
|
||||
let results = [];
|
||||
let global = false;
|
||||
|
||||
const jumpTo = (entry: SearchEntry) => {
|
||||
// If page is different jump to that
|
||||
if (global) {
|
||||
const currentPage =
|
||||
document.querySelector<HTMLElement>(".page.active").dataset.tab;
|
||||
if (currentPage !== entry.page) {
|
||||
TabManager.instance.setActive(entry.page);
|
||||
}
|
||||
}
|
||||
|
||||
entry.element.scrollIntoView({
|
||||
block: entry.alignment,
|
||||
const jumpTo = (id: number) => {
|
||||
el[id].scrollIntoView({
|
||||
block: options.alignment,
|
||||
inline: "nearest",
|
||||
behavior: "auto",
|
||||
});
|
||||
document
|
||||
.querySelectorAll(".bgus_fz_selected")
|
||||
.querySelectorAll("table.wikitable .bgus_fz_selected")
|
||||
.forEach((sel) => sel.classList.remove("bgus_fz_selected"));
|
||||
entry.element.classList.add("bgus_fz_selected");
|
||||
el[id].parentElement.classList.add("bgus_fz_selected");
|
||||
};
|
||||
|
||||
const setSelectedResult = (i) => {
|
||||
|
@ -54,39 +32,21 @@ export function searchBox(): HTMLElement {
|
|||
.querySelectorAll(".selected")
|
||||
.forEach((sel) => sel.classList.remove("selected"));
|
||||
resultList.children[i].classList.add("selected");
|
||||
jumpTo(results[i]);
|
||||
jumpTo(results[i].id);
|
||||
};
|
||||
|
||||
const search = async (str: string, currentPage: string) => {
|
||||
if (!str || str.length < 1) {
|
||||
const search = (str) => {
|
||||
if (!str) {
|
||||
return;
|
||||
}
|
||||
// Check for special flags
|
||||
let entries: SearchEntry[] = allEntries;
|
||||
global = str[0] === "@";
|
||||
|
||||
// Unless we're doing a global search don't show entries for other pages
|
||||
if (!global) {
|
||||
entries = allEntries.filter((e) => e.page === currentPage);
|
||||
} else {
|
||||
// Remove prefix from string
|
||||
str = str.substr(1);
|
||||
}
|
||||
|
||||
// Re-check string lenght after prefix removal
|
||||
if (str.length < 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
const combinations = str
|
||||
.split("")
|
||||
.map((c) => (["\\", "]", "^"].includes(c) ? `\\${c}` : c))
|
||||
.map((c) => (c.includes(["\\", "]", "^"]) ? `\\${c}` : c))
|
||||
.join("])(.*?)([");
|
||||
const regex = new RegExp(`^(.*?)([${combinations}])(.*?)$`, "i");
|
||||
results = entries
|
||||
.map((o) => ({
|
||||
...o,
|
||||
matches: (o.name.match(regex) || [])
|
||||
const arr = searchCandidate
|
||||
.map((o) => {
|
||||
o.matches = (o.str.match(regex) || [])
|
||||
.slice(1)
|
||||
.reduce((list, group, i, or) => {
|
||||
// Initialize first placeholder (always empty) and first matching "sections"
|
||||
|
@ -102,9 +62,10 @@ export function searchBox(): HTMLElement {
|
|||
list.push([group]);
|
||||
}
|
||||
return list;
|
||||
}, [] as string[][])
|
||||
.map((cstr) => cstr.join("")),
|
||||
}))
|
||||
}, [])
|
||||
.map((cstr) => cstr.join(""));
|
||||
return o;
|
||||
})
|
||||
// Strike non-matching rows
|
||||
.filter((o) => o.matches.length > 0)
|
||||
.sort((oA, oB) => {
|
||||
|
@ -135,27 +96,16 @@ export function searchBox(): HTMLElement {
|
|||
// Make the search stable since ECMAScript doesn't mandate it
|
||||
return iA - iB;
|
||||
});
|
||||
|
||||
await nextAnimationFrame();
|
||||
|
||||
results = arr;
|
||||
window.requestAnimationFrame(() => {
|
||||
resultList.innerHTML = "";
|
||||
results.forEach((elem) => {
|
||||
arr.forEach(({ matches, id }) => {
|
||||
const li = document.createElement("li");
|
||||
elem.matches.forEach((match, i) => {
|
||||
const cont = document.createElement(i % 2 ? "strong" : "span");
|
||||
cont.appendChild(document.createTextNode(match));
|
||||
li.appendChild(cont);
|
||||
});
|
||||
if (global) {
|
||||
const source = document.createElement("span");
|
||||
source.className = "source";
|
||||
source.appendChild(
|
||||
document.createTextNode(elem.page.replace(/_/g, " "))
|
||||
);
|
||||
li.appendChild(source);
|
||||
}
|
||||
li.innerHTML = matches
|
||||
.map((c, i) => (i % 2 ? `<strong>${c}</strong>` : c))
|
||||
.join("");
|
||||
li.addEventListener("click", () => {
|
||||
jumpTo(elem);
|
||||
jumpTo(id);
|
||||
searchBoxElem.classList.add("bgus_hidden");
|
||||
});
|
||||
resultList.appendChild(li);
|
||||
|
@ -163,6 +113,7 @@ export function searchBox(): HTMLElement {
|
|||
if (results.length > 0) {
|
||||
setSelectedResult(0);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
// Create fuzzy search box
|
||||
|
@ -177,7 +128,7 @@ export function searchBox(): HTMLElement {
|
|||
return;
|
||||
case 13: // Enter - Jump to first result and hide bar
|
||||
if (results.length > 0) {
|
||||
jumpTo(results[selectedResult]);
|
||||
jumpTo(results[selectedResult].id);
|
||||
}
|
||||
searchBoxElem.classList.add("bgus_hidden");
|
||||
return;
|
||||
|
@ -193,9 +144,7 @@ export function searchBox(): HTMLElement {
|
|||
return;
|
||||
default:
|
||||
if (sel.value !== oldValue) {
|
||||
const currentPage =
|
||||
document.querySelector<HTMLElement>(".page.active");
|
||||
search(sel.value, currentPage.dataset.tab);
|
||||
search(sel.value);
|
||||
oldValue = sel.value;
|
||||
}
|
||||
}
|
||||
|
@ -229,4 +178,4 @@ export function searchBox(): HTMLElement {
|
|||
return searchBoxElem;
|
||||
}
|
||||
|
||||
export default { searchBox, registerSearchEntries };
|
||||
export default searchBox;
|
|
@ -1,310 +0,0 @@
|
|||
import speen from "@/assets/images/speen.svg";
|
||||
import { getPageHTML } from "../wiki";
|
||||
import {
|
||||
processHTML,
|
||||
bindFunctions,
|
||||
PAGE_VERSIONS,
|
||||
postProcessHTML,
|
||||
} from "../scripts/index";
|
||||
import cache from "../cache";
|
||||
import { nextAnimationFrame, delay } from "../utils";
|
||||
|
||||
import unknown from "@/assets/images/tab-icons/unknown.svg";
|
||||
|
||||
function initWaiting(elem: HTMLElement) {
|
||||
// Add spinner
|
||||
const spinnerContainer = document.createElement("div");
|
||||
spinnerContainer.className = "speen";
|
||||
const spinnerImg = document.createElement("img");
|
||||
spinnerImg.src = speen;
|
||||
spinnerContainer.appendChild(spinnerImg);
|
||||
elem.appendChild(spinnerContainer);
|
||||
}
|
||||
|
||||
async function loadPage(
|
||||
page: string,
|
||||
elem: HTMLElement,
|
||||
useCache: boolean
|
||||
): Promise<HTMLElement> {
|
||||
let html: string | null = null;
|
||||
const key = `page:${page}`;
|
||||
|
||||
const wrapper = document.createElement("div");
|
||||
wrapper.className = "wrapper";
|
||||
|
||||
// Check cache for pre-processed page
|
||||
if (useCache) {
|
||||
try {
|
||||
const cachedPage = await cache.get<string>(key);
|
||||
if (cachedPage) {
|
||||
// Get expected version
|
||||
const expectedVersion =
|
||||
page in PAGE_VERSIONS ? PAGE_VERSIONS[page] : PAGE_VERSIONS.$DEFAULT;
|
||||
if (cachedPage.version === expectedVersion) {
|
||||
console.log(`${page}: found cached entry`);
|
||||
html = cachedPage.value;
|
||||
} else {
|
||||
console.log(`${page}: found outdated cache entry`);
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.log(`${page}: failed to retrieve cache entry:`, e);
|
||||
}
|
||||
}
|
||||
|
||||
// Fetch page content
|
||||
if (!html) {
|
||||
console.log(`${page}: fetching`);
|
||||
let retries = 0;
|
||||
while (retries < 5) {
|
||||
try {
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
html = await getPageHTML(page);
|
||||
break;
|
||||
} catch (e) {
|
||||
retries += 1;
|
||||
// eslint-disable-next-line no-await-in-loop
|
||||
await delay(1000);
|
||||
}
|
||||
}
|
||||
|
||||
// Convert relative links to absolute (and proxied)
|
||||
html = html.replace(/"\/wiki/gi, '"//tgproxy.ovo.ovh/wiki');
|
||||
|
||||
await nextAnimationFrame();
|
||||
|
||||
// Set as HTML content and run HTML manipulations on it
|
||||
wrapper.innerHTML = html;
|
||||
|
||||
console.log(`${page}: processing`);
|
||||
processHTML(wrapper, page);
|
||||
|
||||
// Get version to set
|
||||
const version =
|
||||
page in PAGE_VERSIONS ? PAGE_VERSIONS[page] : PAGE_VERSIONS.$DEFAULT;
|
||||
|
||||
// Save result to cache
|
||||
cache.set(key, wrapper.innerHTML, version).then(() => {
|
||||
console.log(`${page}: saved to cache`);
|
||||
});
|
||||
} else {
|
||||
// Set cached content as HTML
|
||||
wrapper.innerHTML = html;
|
||||
|
||||
postProcessHTML(elem, page); // noop in prod, used in dev for testing candidate DOM changes
|
||||
}
|
||||
|
||||
elem.innerHTML = wrapper.outerHTML;
|
||||
bindFunctions(elem, page);
|
||||
elem.classList.remove("waiting");
|
||||
|
||||
return elem;
|
||||
}
|
||||
|
||||
type TabElements = {
|
||||
tabListItem: HTMLElement;
|
||||
tabContentItem: HTMLElement;
|
||||
};
|
||||
|
||||
interface Section {
|
||||
name: string;
|
||||
element: HTMLElement;
|
||||
tabs: Record<string, TabElements>;
|
||||
}
|
||||
|
||||
export default class TabManager {
|
||||
static instance: TabManager;
|
||||
|
||||
sectionListContainer: HTMLElement;
|
||||
|
||||
tabListContainer: HTMLElement;
|
||||
|
||||
tabContentContainer: HTMLElement;
|
||||
|
||||
sections: Record<string, Section> = {};
|
||||
|
||||
sectionMap: Record<string, string> = {};
|
||||
|
||||
loading = false;
|
||||
|
||||
cacheEnabled = true;
|
||||
|
||||
constructor(
|
||||
sectionlist: HTMLElement,
|
||||
tablist: HTMLElement,
|
||||
tabcontent: HTMLElement
|
||||
) {
|
||||
this.sectionListContainer = sectionlist;
|
||||
this.tabListContainer = tablist;
|
||||
this.tabContentContainer = tabcontent;
|
||||
TabManager.instance = this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set app-wide loading state
|
||||
* @param value is app still loading?
|
||||
*/
|
||||
setLoading(value: boolean): void {
|
||||
if (value) {
|
||||
document.getElementById("app").classList.add("waiting");
|
||||
initWaiting(this.tabContentContainer);
|
||||
const spinnerContainer = this.tabContentContainer.querySelector(".speen");
|
||||
spinnerContainer.appendChild(
|
||||
document.createTextNode("Loading wiki pages")
|
||||
);
|
||||
} else {
|
||||
document.getElementById("app").classList.remove("waiting");
|
||||
const elem = this.tabContentContainer.querySelector(".speen");
|
||||
this.tabContentContainer.removeChild(elem);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Create section and add it to the section list
|
||||
* @param name Section name
|
||||
*/
|
||||
createSection(name: string): void {
|
||||
// Create section element
|
||||
const sectionItem = document.createElement("div");
|
||||
sectionItem.className = "section";
|
||||
sectionItem.dataset.section = name;
|
||||
sectionItem.appendChild(document.createTextNode(name));
|
||||
sectionItem.addEventListener("click", () => {
|
||||
if (sectionItem.classList.contains("active")) {
|
||||
return;
|
||||
}
|
||||
this.showSection(name);
|
||||
});
|
||||
this.sectionListContainer.appendChild(sectionItem);
|
||||
|
||||
this.sections[name] = { name, element: sectionItem, tabs: {} };
|
||||
}
|
||||
|
||||
/**
|
||||
* Show tabs of a specific section
|
||||
* @param name Section name
|
||||
*/
|
||||
showSection(name: string): void {
|
||||
const active =
|
||||
this.sectionListContainer.querySelector<HTMLElement>(".active");
|
||||
if (active) {
|
||||
// De-activate current section
|
||||
active.classList.remove("active");
|
||||
|
||||
// Hide all tabs
|
||||
this.tabListContainer
|
||||
.querySelectorAll(`div[data-section=${active.dataset.section}]`)
|
||||
.forEach((tab) => tab.classList.add("hidden"));
|
||||
}
|
||||
// Set section as active
|
||||
this.sections[name].element.classList.add("active");
|
||||
|
||||
// Show all tabs of that section
|
||||
this.tabListContainer
|
||||
.querySelectorAll(`div[data-section=${name}]`)
|
||||
.forEach((tab) => tab.classList.remove("hidden"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Open tab page and add it to the tab list
|
||||
* @param section Section to add the tab button to
|
||||
* @param page Page name
|
||||
* @param icon Icon to show
|
||||
* @param setActive Also set the tab as active
|
||||
*/
|
||||
async openTab(
|
||||
section: string,
|
||||
page: string,
|
||||
options: {
|
||||
icon?: string;
|
||||
active?: boolean;
|
||||
text?: string;
|
||||
}
|
||||
): Promise<void> {
|
||||
const { icon, active, text } = options;
|
||||
// Create tab list item
|
||||
const tabListItem = document.createElement("div");
|
||||
tabListItem.className = "tab";
|
||||
tabListItem.dataset.section = section;
|
||||
tabListItem.dataset.tab = page;
|
||||
tabListItem.addEventListener("click", () => {
|
||||
if (tabListItem.classList.contains("active")) {
|
||||
return;
|
||||
}
|
||||
this.setActive(page);
|
||||
});
|
||||
const iconElement = document.createElement("img");
|
||||
iconElement.src = icon || unknown;
|
||||
tabListItem.title = page.replace(/_/gi, " ");
|
||||
tabListItem.appendChild(iconElement);
|
||||
const shortTitle = text || page.substr(page.lastIndexOf("_") + 1, 4);
|
||||
tabListItem.appendChild(document.createTextNode(shortTitle));
|
||||
this.tabListContainer.appendChild(tabListItem);
|
||||
|
||||
// Create tab content container
|
||||
const tabContentItem = document.createElement("div");
|
||||
tabContentItem.className = "page waiting";
|
||||
tabContentItem.dataset.tab = page;
|
||||
initWaiting(tabContentItem);
|
||||
|
||||
this.tabContentContainer.appendChild(tabContentItem);
|
||||
|
||||
// Create tab entry
|
||||
this.sections[section].tabs[page] = { tabListItem, tabContentItem };
|
||||
this.sectionMap[page] = section;
|
||||
|
||||
// Hide tab if section is hidden
|
||||
if (!this.sections[section].element.classList.contains("active")) {
|
||||
tabListItem.classList.add("hidden");
|
||||
}
|
||||
|
||||
// Start loading page for new tab
|
||||
const elem = await loadPage(page, tabContentItem, this.cacheEnabled);
|
||||
// Since element can be replaced (when loading for the first time), make sure the reference is updated
|
||||
if (elem !== tabContentItem) {
|
||||
this.sections[section].tabs[page].tabContentItem = elem;
|
||||
}
|
||||
|
||||
// If asked for, set it to active
|
||||
if (active) {
|
||||
this.setActive(page);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set a specific page to be the active/visible one
|
||||
* @param page Page name
|
||||
*/
|
||||
setActive(page: string): void {
|
||||
// Make sure tab exists (why wouldn't it?!)
|
||||
const section = this.sectionMap[page];
|
||||
if (!(section in this.sections)) {
|
||||
throw new Error("section not found");
|
||||
}
|
||||
|
||||
if (!(page in this.sections[section].tabs)) {
|
||||
throw new Error("tab not found");
|
||||
}
|
||||
|
||||
// Deactivate current active tab
|
||||
this.tabListContainer
|
||||
.querySelectorAll(".active")
|
||||
.forEach((it) => it.classList.remove("active"));
|
||||
this.tabContentContainer
|
||||
.querySelectorAll(".active")
|
||||
.forEach((it) => it.classList.remove("active"));
|
||||
|
||||
// If section is not shown, show it!
|
||||
const isSectionActive =
|
||||
this.sections[section].element.classList.contains("active");
|
||||
if (!isSectionActive) {
|
||||
this.showSection(section);
|
||||
}
|
||||
|
||||
// Activate new tab
|
||||
const { tabListItem, tabContentItem } = this.sections[section].tabs[page];
|
||||
this.sections[section].element.classList.add("active");
|
||||
tabListItem.classList.add("active");
|
||||
tabContentItem.classList.add("active");
|
||||
}
|
||||
}
|
|
@ -1,160 +0,0 @@
|
|||
import chemistry from "@/assets/images/tab-icons/chemistry.svg";
|
||||
import medicine from "@/assets/images/tab-icons/medicine.svg";
|
||||
import plumbing from "@/assets/images/tab-icons/plumbing.svg";
|
||||
import grenade from "@/assets/images/tab-icons/grenade.svg";
|
||||
import genetics from "@/assets/images/tab-icons/genetics.svg";
|
||||
import virus from "@/assets/images/tab-icons/virus.svg";
|
||||
import surgery from "@/assets/images/tab-icons/surgery.svg";
|
||||
import trauma from "@/assets/images/tab-icons/trauma.svg";
|
||||
import wound from "@/assets/images/tab-icons/wound.svg";
|
||||
import ghetto from "@/assets/images/tab-icons/ghetto.svg";
|
||||
import construction from "@/assets/images/tab-icons/construction.svg";
|
||||
import machines from "@/assets/images/tab-icons/machines.svg";
|
||||
import power from "@/assets/images/tab-icons/power.svg";
|
||||
import solar from "@/assets/images/tab-icons/solar.svg";
|
||||
import supermatter from "@/assets/images/tab-icons/supermatter.svg";
|
||||
import shield from "@/assets/images/tab-icons/shield.svg";
|
||||
import turbine from "@/assets/images/tab-icons/turbine.svg";
|
||||
import atmos from "@/assets/images/tab-icons/atmos.svg";
|
||||
import tcomm from "@/assets/images/tab-icons/tcomm.svg";
|
||||
import rnd from "@/assets/images/tab-icons/rnd.svg";
|
||||
import toxins from "@/assets/images/tab-icons/toxins.svg";
|
||||
import xeno from "@/assets/images/tab-icons/xeno.svg";
|
||||
import nanites from "@/assets/images/tab-icons/nanites.svg";
|
||||
import rules from "@/assets/images/tab-icons/rules.svg";
|
||||
import aimod from "@/assets/images/tab-icons/aimod.svg";
|
||||
import tips from "@/assets/images/tab-icons/tips.svg";
|
||||
import critter from "@/assets/images/tab-icons/critter.svg";
|
||||
import races from "@/assets/images/tab-icons/races.svg";
|
||||
import food from "@/assets/images/tab-icons/food.svg";
|
||||
import hydro from "@/assets/images/tab-icons/hydro.svg";
|
||||
import song from "@/assets/images/tab-icons/song.svg";
|
||||
import crate from "@/assets/images/tab-icons/crate.svg";
|
||||
import space from "@/assets/images/tab-icons/space.svg";
|
||||
import aux from "@/assets/images/tab-icons/auxbase.svg";
|
||||
import robo from "@/assets/images/tab-icons/robo.svg";
|
||||
import security from "@/assets/images/tab-icons/security.svg";
|
||||
import law from "@/assets/images/tab-icons/law.svg";
|
||||
import sop from "@/assets/images/tab-icons/sop.svg";
|
||||
import trial from "@/assets/images/tab-icons/trial.svg";
|
||||
import traitor from "@/assets/images/tab-icons/traitor.svg";
|
||||
import hacking from "@/assets/images/tab-icons/hacking.svg";
|
||||
import weapons from "@/assets/images/tab-icons/weapons.svg";
|
||||
import uplink from "@/assets/images/tab-icons/uplink.svg";
|
||||
import rev from "@/assets/images/tab-icons/rev.svg";
|
||||
import cult from "@/assets/images/tab-icons/cult.svg";
|
||||
import nuke from "@/assets/images/tab-icons/nuke.svg";
|
||||
import malf from "@/assets/images/tab-icons/malf.svg";
|
||||
import combat from "@/assets/images/tab-icons/combat.svg";
|
||||
import access from "@/assets/images/tab-icons/access.svg";
|
||||
import xmorph from "@/assets/images/tab-icons/xmorph.svg";
|
||||
import abduction from "@/assets/images/tab-icons/abduction.svg";
|
||||
import mafia from "@/assets/images/tab-icons/mafia.svg";
|
||||
|
||||
export interface SectionInfo {
|
||||
name: string;
|
||||
tabs: TabInfo[];
|
||||
}
|
||||
|
||||
export interface TabInfo {
|
||||
page: string;
|
||||
icon: string | null;
|
||||
text?: string;
|
||||
}
|
||||
|
||||
const sections: SectionInfo[] = [
|
||||
{
|
||||
name: "Medical",
|
||||
tabs: [
|
||||
{ page: "Guide_to_medicine", icon: medicine },
|
||||
{ page: "Guide_to_chemistry", icon: chemistry },
|
||||
{ page: "Guide_to_plumbing", icon: plumbing },
|
||||
{ page: "Grenade", text: "nade", icon: grenade },
|
||||
{ page: "Infections", text: "virus", icon: virus },
|
||||
{ page: "Surgery", icon: surgery },
|
||||
{ page: "Guide_to_Traumas", text: "trauma", icon: trauma },
|
||||
{ page: "Guide_to_Wounds", text: "wound", icon: wound },
|
||||
{ page: "Guide_to_Ghetto_Chemistry", text: "ghetto", icon: ghetto },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Engineering",
|
||||
tabs: [
|
||||
{ page: "Guide_to_construction", icon: construction },
|
||||
{ page: "Machines", icon: machines },
|
||||
{ page: "Guide_to_power", text: "power", icon: power },
|
||||
{ page: "Solars", text: "solar", icon: solar },
|
||||
{ page: "Guide_to_the_Supermatter", text: "smatt", icon: supermatter },
|
||||
{
|
||||
page: "Singularity_and_Tesla_engines",
|
||||
text: "sing/tesl",
|
||||
icon: shield,
|
||||
},
|
||||
{ page: "Gas_turbine", text: "GAST", icon: turbine },
|
||||
{ page: "Guide_to_Atmospherics", text: "atmos", icon: atmos },
|
||||
{ page: "Guide_to_Telecommunications", icon: tcomm, text: "tcomm" },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Science",
|
||||
tabs: [
|
||||
{ page: "Guide_to_Research_and_Development", text: "R&D", icon: rnd },
|
||||
{ page: "Guide_to_robotics", icon: robo },
|
||||
{ page: "Guide_to_toxins", text: "toxin", icon: toxins },
|
||||
{ page: "Guide_to_xenobiology", icon: xeno },
|
||||
{ page: "Guide_to_genetics", icon: genetics },
|
||||
{ page: "Guide_to_Nanites", text: "nanite", icon: nanites },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Security",
|
||||
tabs: [
|
||||
{ page: "Guide_to_security", text: "security", icon: security },
|
||||
{ page: "Space_Law", text: "space law", icon: law },
|
||||
{ page: "Standard_Operating_Procedure", text: "S.O.P.", icon: sop },
|
||||
{ page: "Guide_to_trials", text: "trials", icon: trial },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Antag",
|
||||
tabs: [
|
||||
{ page: "Traitor", icon: traitor },
|
||||
{ page: "Makeshift_weapons", icon: weapons },
|
||||
{ page: "Hacking", icon: hacking },
|
||||
{ page: "Guide_to_Combat", icon: combat },
|
||||
{ page: "Syndicate_Items", text: "uplk", icon: uplink },
|
||||
{ page: "Illicit_Access", icon: access },
|
||||
{ page: "Revolutionary", text: "rev", icon: rev },
|
||||
{ page: "Blood_Cult", text: "cult", icon: cult },
|
||||
{ page: "Nuclear_Operative", text: "nuke", icon: nuke },
|
||||
{ page: "Guide_to_malfunction", icon: malf },
|
||||
{ page: "Xenos", text: "xmor", icon: xmorph },
|
||||
{ page: "Abductor", icon: abduction },
|
||||
{ page: "Families", icon: mafia },
|
||||
{ page: "Heretic", icon: null },
|
||||
],
|
||||
},
|
||||
{
|
||||
name: "Other",
|
||||
tabs: [
|
||||
{ page: "Rules", text: "rules", icon: rules },
|
||||
{ page: "AI_modules", text: "aimo", icon: aimod },
|
||||
{
|
||||
page: "Guide_to_Awesome_Miscellaneous_Stuff",
|
||||
text: "misc",
|
||||
icon: tips,
|
||||
},
|
||||
{ page: "Critters", icon: critter },
|
||||
{ page: "Guide_to_races", icon: races },
|
||||
{ page: "Guide_to_food", text: "food", icon: food },
|
||||
{ page: "Guide_to_drinks", text: "drnk", icon: food },
|
||||
{ page: "Guide_to_hydroponics", icon: hydro },
|
||||
{ page: "Songs", icon: song },
|
||||
{ page: "Supply_crates", icon: crate },
|
||||
{ page: "Auxiliary_Base_Construction_Area", text: "aux", icon: aux },
|
||||
{ page: "Guide_to_Space_Exploration", icon: space },
|
||||
],
|
||||
},
|
||||
];
|
||||
|
||||
export default sections;
|
385
src/userscript.ts
Normal file
|
@ -0,0 +1,385 @@
|
|||
import { darken, ColorFmt, lighten } from "./darkmode";
|
||||
import searchBox from "./search";
|
||||
import { nextAnimationFrame, findParent } from "./utils";
|
||||
|
||||
export default async function userscript(root: HTMLElement, docname: string): void {
|
||||
root.querySelectorAll(".mw-editsection").forEach((editLink) => {
|
||||
window.requestAnimationFrame(() => editLink.remove())
|
||||
});
|
||||
|
||||
// Darken bgcolor
|
||||
root.querySelectorAll("*[bgcolor]").forEach((td) => {
|
||||
let bgcolor = td.getAttribute("bgcolor");
|
||||
// Shitty way to detect if it's hex or not
|
||||
// Basically, none of the css colors long 6 letters only use hex letters
|
||||
// THANK FUCKING GOD
|
||||
if (bgcolor.length === 6 && !Number.isNaN(parseInt(bgcolor, 16))) {
|
||||
bgcolor = `#${bgcolor}`;
|
||||
}
|
||||
td.setAttribute("bgcolor", darken(bgcolor, ColorFmt.HEX).slice(1));
|
||||
});
|
||||
root.querySelectorAll<HTMLElement>("*[style]").forEach((td) => {
|
||||
if (td.style.backgroundColor !== "") {
|
||||
td.style.backgroundColor = darken(td.style.backgroundColor, ColorFmt.RGB);
|
||||
}
|
||||
if (td.style.background !== "") {
|
||||
td.style.backgroundColor = darken(td.style.background, ColorFmt.RGB);
|
||||
}
|
||||
});
|
||||
|
||||
// Lighten fgcolors
|
||||
root.querySelectorAll("*[color]").forEach((td) => {
|
||||
let color = td.getAttribute("color");
|
||||
if (color.length === 6 && !Number.isNaN(parseInt(color, 16))) {
|
||||
color = `#${color}`;
|
||||
}
|
||||
td.setAttribute("color", lighten(color, ColorFmt.HEX).slice(1));
|
||||
});
|
||||
|
||||
// Remove fixed widths
|
||||
await nextAnimationFrame();
|
||||
root.querySelectorAll("table[width]").forEach((td) => {
|
||||
td.setAttribute("width", "100%");
|
||||
});
|
||||
root.querySelectorAll("table[style]").forEach((td: HTMLTableElement) => {
|
||||
if (td.style.width !== "") {
|
||||
td.style.width = "100%";
|
||||
}
|
||||
});
|
||||
|
||||
// Fixup spacing on top quotes
|
||||
const tmpFloatRows = Array.from(root.querySelectorAll<HTMLImageElement>("table .floatright > a > img"))
|
||||
.map((img) => {
|
||||
return findParent(img, (el) => el instanceof HTMLTableRowElement);
|
||||
})
|
||||
await nextAnimationFrame();
|
||||
tmpFloatRows.forEach((row) => {
|
||||
const td = document.createElement("td");
|
||||
row.appendChild(td);
|
||||
});
|
||||
|
||||
// Group headers and content so stickies don't overlap
|
||||
root.querySelectorAll("h3,h2").forEach((h3) => { //NOTE slow
|
||||
const parent = h3.parentNode;
|
||||
const div = document.createElement("div");
|
||||
parent.insertBefore(div, h3);
|
||||
while (h3.nextSibling && !h3.nextSibling.nodeName.startsWith("H")) {
|
||||
const sibling = h3.nextSibling;
|
||||
parent.removeChild(sibling);
|
||||
div.appendChild(sibling);
|
||||
}
|
||||
h3.parentNode.removeChild(h3);
|
||||
div.insertBefore(h3, div.firstChild);
|
||||
div.className = "mw-headline-cont";
|
||||
});
|
||||
|
||||
// Move id from header to container, if one is found
|
||||
const tmpHeaders = Array.from(root.querySelectorAll<HTMLElement>(".mw-headline"))
|
||||
.map((span) => {
|
||||
// Find nearest container
|
||||
const container = findParent(span, (el) =>
|
||||
el.classList.contains("mw-headline-cont")
|
||||
);
|
||||
if (container) {
|
||||
return [container, span, span.id, span.textContent]; //NOTE slow
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
})
|
||||
.filter((e) => e !== null);
|
||||
await nextAnimationFrame();
|
||||
for (const [container, span, spanId, spanInnerText] of tmpHeaders) {
|
||||
container.id = spanId;
|
||||
span.id += "-span";
|
||||
}
|
||||
await nextAnimationFrame();
|
||||
for (const [container, span, spanId, spanInnerText] of tmpHeaders) {
|
||||
container.dataset.name = spanInnerText;
|
||||
}
|
||||
|
||||
// Tell user that better chemistry is loading
|
||||
const postbody = root;
|
||||
const statusMessage = document.createElement("div");
|
||||
statusMessage.innerHTML = `
|
||||
<table style="background-color: black; margin-bottom:10px;" width="95%" align="center">
|
||||
<tbody><tr><td align="center">
|
||||
<b>Hang on...</b> Better guides is loading.
|
||||
</td></tr></tbody>
|
||||
</table>`;
|
||||
postbody.insertBefore(statusMessage, postbody.firstChild);
|
||||
|
||||
async function betterChemistry() {
|
||||
// Fix inconsistencies with <p> on random parts
|
||||
// Ideally I'd like a <p> or something on every part, wrapping it completely, but for now let's just kill 'em
|
||||
const tmpTooltiptext = Array.from(document.querySelectorAll(
|
||||
"table.wikitable > tbody > tr:not(:first-child) > td:nth-child(2), .tooltiptext"
|
||||
))
|
||||
.map((td) => {
|
||||
const tmp = td.cloneNode() as HTMLElement;
|
||||
// The cast to Array is necessary because, while childNodes's NodeList technically has a forEach method, it's a live list and operations mess with its lenght in the middle of the loop.
|
||||
// Nodes can only have one parent so append removes them from the original NodeList and shifts the following one back into the wrong index.
|
||||
Array.from(td.childNodes).forEach((el) => { //TODO really slow
|
||||
if (el instanceof HTMLParagraphElement) {
|
||||
tmp.append(...el.childNodes);
|
||||
} else {
|
||||
tmp.append(el);
|
||||
}
|
||||
});
|
||||
return [td, td.parentNode, tmp];
|
||||
});
|
||||
await nextAnimationFrame();
|
||||
for (const [td, parent, newTD] of tmpTooltiptext) {
|
||||
parent.replaceChild(newTD, td);
|
||||
}
|
||||
|
||||
// Enrich "x part" with checkboxes and parts
|
||||
const tmpParts = Array.from(document.querySelectorAll("td"))
|
||||
.filter((el) => el.textContent.indexOf(" part") >= 0)
|
||||
.map((el) => {
|
||||
const newInnerHTML = el.innerHTML.replace( //TODO slow
|
||||
/((\d+)\s+(?:parts?|units?))(.*?(?:<\/a>|\n|$))/gi,
|
||||
(match, ...m) =>
|
||||
`<label class="bgus_part ${
|
||||
m[2].includes("</a>") ? "bgus_part_tooltip" : ""
|
||||
}" data-amount="${
|
||||
m[1]
|
||||
}"><input type="checkbox" class='bgus_checkbox bgus_hidden'/> <span class="bgus_part_label" data-src="${
|
||||
m[0]
|
||||
}">${m[0]}</span></label>${m[2].replace(
|
||||
/(<a .+?<\/a>)/gi,
|
||||
'<span class="bgus_nobreak bgus_nested_element">$1<span class="bgus_twistie"></span></span>'
|
||||
)}`
|
||||
);
|
||||
return [el, newInnerHTML];
|
||||
});
|
||||
await nextAnimationFrame();
|
||||
for (const [el, newInnerHTML] of tmpParts) {
|
||||
el.innerHTML = newInnerHTML;
|
||||
}
|
||||
// Add event to autofill child checkboxes
|
||||
root
|
||||
.querySelectorAll(".bgus_part_tooltip > .bgus_checkbox")
|
||||
.forEach((box: HTMLInputElement) => {
|
||||
const tooltip = box.parentElement.nextElementSibling;
|
||||
box.addEventListener("click", () => {
|
||||
tooltip
|
||||
.querySelectorAll(".bgus_checkbox")
|
||||
.forEach((el: HTMLInputElement) => {
|
||||
el.checked = box.checked;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Add event to collapse subsections
|
||||
root.querySelectorAll(".bgus_nested_element").forEach((twistie) => {
|
||||
twistie.addEventListener("click", () => {
|
||||
twistie.classList.toggle("bgus_collapsed");
|
||||
});
|
||||
});
|
||||
|
||||
// Wrap every recipe with extra metadata
|
||||
root.querySelectorAll<HTMLElement>(".bgus_part").forEach((el) => { //NOTE slow-ish
|
||||
if ("parts" in el.parentElement.dataset) {
|
||||
el.parentElement.dataset.parts = (
|
||||
parseInt(el.parentElement.dataset.parts, 10) +
|
||||
parseInt(el.dataset.amount, 10)
|
||||
).toString();
|
||||
} else {
|
||||
el.parentElement.dataset.parts = el.dataset.amount;
|
||||
}
|
||||
});
|
||||
|
||||
const setPartSize = (labels, ml) => {
|
||||
labels.forEach((el) => {
|
||||
const part = el.parentElement.dataset.amount;
|
||||
const total = el.parentElement.parentElement.dataset.parts;
|
||||
const amt = Math.ceil(ml * (part / total));
|
||||
el.innerHTML = `${amt} ml`;
|
||||
// Lookup tooltips
|
||||
let next = el.parentElement.nextElementSibling;
|
||||
while (next) {
|
||||
if (next.classList.contains("tooltip")) {
|
||||
const sublabels = [];
|
||||
next.querySelector(".tooltiptext").childNodes.forEach((ch) => {
|
||||
if (ch.classList && ch.classList.contains("bgus_part")) {
|
||||
sublabels.push(ch.querySelector(".bgus_part_label"));
|
||||
}
|
||||
});
|
||||
setPartSize(sublabels, amt);
|
||||
}
|
||||
if (next.classList.contains("bgus_part")) {
|
||||
// Done searching
|
||||
break;
|
||||
}
|
||||
next = next.nextElementSibling;
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
root.classList.add("bchem");
|
||||
// Init fuzzy search with elements
|
||||
const el = Array.from(
|
||||
root.querySelectorAll<HTMLElement>(
|
||||
"table.wikitable > tbody > tr:not(:first-child) > th"
|
||||
)
|
||||
);
|
||||
const name = el.map((elem) => {
|
||||
let partial = "";
|
||||
elem.childNodes.forEach((t) => {
|
||||
if (t instanceof Text) {
|
||||
partial += t.textContent;
|
||||
}
|
||||
});
|
||||
return partial.trim();
|
||||
});
|
||||
const box = searchBox(
|
||||
el,
|
||||
name.map((e, i) => ({ id: i, str: e }))
|
||||
);
|
||||
document.body.appendChild(box);
|
||||
|
||||
// Remove "Removed medicines" section
|
||||
const remTable = root.querySelector(
|
||||
"#Non-craftable_Medicines + h4 + p + table"
|
||||
);
|
||||
remTable.remove();
|
||||
|
||||
root
|
||||
.querySelectorAll<HTMLElement>("div[data-name] .wikitable.sortable tr")
|
||||
.forEach((row) => { //TODO slow
|
||||
const sectionEl = findParent(
|
||||
row,
|
||||
(sel) => "name" in sel.dataset && sel.dataset.name !== ""
|
||||
);
|
||||
const section = sectionEl.dataset.name;
|
||||
if (row.querySelector("td") === null) {
|
||||
// Remove unused rows if found
|
||||
const headers = row.querySelectorAll("th");
|
||||
headers.forEach((th, i) => {
|
||||
if (i < 2) {
|
||||
th.classList.add("table-head");
|
||||
return;
|
||||
}
|
||||
th.remove();
|
||||
});
|
||||
return;
|
||||
}
|
||||
const rows = Array.from(row.querySelectorAll("td")).slice(1);
|
||||
let treatment = null;
|
||||
let desc = null;
|
||||
let metabolism = null;
|
||||
let overdose = null;
|
||||
let addiction = null;
|
||||
// Handle special cases
|
||||
switch (section) {
|
||||
case "Components":
|
||||
case "Virology Recipes":
|
||||
[desc] = rows;
|
||||
break;
|
||||
case "Narcotics":
|
||||
[desc, metabolism, overdose, addiction] = rows;
|
||||
break;
|
||||
case "Explosive Strength":
|
||||
case "Other Reagents":
|
||||
case "Mutation Toxins":
|
||||
[desc, metabolism] = rows;
|
||||
break;
|
||||
default:
|
||||
// All fields
|
||||
[treatment, desc, metabolism, overdose, addiction] = rows;
|
||||
}
|
||||
const title = row.querySelector("th");
|
||||
let content = `<div class="reagent-header">${title.innerHTML}</div>`;
|
||||
if (treatment) {
|
||||
content += `<p class="treatment">${treatment.innerHTML}</p>`;
|
||||
}
|
||||
if (metabolism) {
|
||||
content += `<p class="metabolism">${metabolism.innerHTML}</p>`;
|
||||
}
|
||||
if (addiction && addiction.innerHTML.trim() !== "N/A") {
|
||||
content += `<p class="addiction">${addiction.innerHTML}</p>`;
|
||||
}
|
||||
if (overdose && overdose.innerHTML.trim() !== "N/A") {
|
||||
content += `<p class="overdose">${overdose.innerHTML}</p>`;
|
||||
}
|
||||
if (desc) {
|
||||
content += `<p>${desc.innerHTML}</p>`;
|
||||
}
|
||||
title.classList.add("reagent-ext");
|
||||
title.innerHTML = content;
|
||||
if (desc) desc.remove();
|
||||
if (treatment) treatment.remove();
|
||||
if (metabolism) metabolism.remove();
|
||||
if (overdose) overdose.remove();
|
||||
if (addiction) addiction.remove();
|
||||
});
|
||||
|
||||
document.body.addEventListener("keydown", (ev) => {
|
||||
if (ev.shiftKey) {
|
||||
switch (ev.keyCode) {
|
||||
// SHIFT+C = Toggle checkboxes
|
||||
case 67: {
|
||||
root.classList.toggle("bgus_cbox");
|
||||
root
|
||||
.querySelectorAll(".bgus_checkbox:checked")
|
||||
.forEach((sel: HTMLInputElement) => {
|
||||
sel.checked = false;
|
||||
});
|
||||
break;
|
||||
}
|
||||
|
||||
// SHIFT+B = Set whole size (beaker?) for parts/units
|
||||
case 66: {
|
||||
const size = parseInt(
|
||||
prompt("Write target ml (0 to reset)", "90"),
|
||||
10
|
||||
);
|
||||
if (Number.isNaN(size) || size <= 0) {
|
||||
// Reset to parts/unit
|
||||
root
|
||||
.querySelectorAll(".bgus_part_label")
|
||||
.forEach((sel: HTMLElement) => {
|
||||
sel.innerHTML = sel.dataset.src;
|
||||
});
|
||||
return;
|
||||
}
|
||||
setPartSize(
|
||||
root.querySelectorAll("td > .bgus_part > .bgus_part_label"),
|
||||
+size
|
||||
);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
async function betterGeneric() {
|
||||
const el = Array.from(
|
||||
root.querySelectorAll<HTMLElement>("div.mw-headline-cont[id][data-name]")
|
||||
);
|
||||
const name = el.map((elem: HTMLDivElement) => elem.dataset.name.trim());
|
||||
|
||||
// Init fuzzy search with headlines
|
||||
const box = searchBox(
|
||||
el,
|
||||
name.map((e, i) => ({ id: i, str: e })),
|
||||
{ alignment: "start" }
|
||||
);
|
||||
root.appendChild(box);
|
||||
}
|
||||
|
||||
switch (docname) {
|
||||
case "Guide_to_chemistry":
|
||||
await betterChemistry();
|
||||
break;
|
||||
default:
|
||||
await betterGeneric();
|
||||
break;
|
||||
}
|
||||
// Everything is loaded, remove loading bar
|
||||
statusMessage.innerHTML = "";
|
||||
}
|
24
src/utils.ts
|
@ -1,13 +1,19 @@
|
|||
export function nextAnimationFrame(): Promise<void> {
|
||||
return new Promise((resolve) => {
|
||||
requestAnimationFrame(() => resolve());
|
||||
});
|
||||
export function nextAnimationFrame(): Promise {
|
||||
return new Promise(requestAnimationFrame);
|
||||
}
|
||||
|
||||
export function delay(ms: number): Promise<void> {
|
||||
return new Promise((resolve) => {
|
||||
setTimeout(() => resolve(), ms);
|
||||
});
|
||||
export function findParent(
|
||||
base: HTMLElement,
|
||||
matchFn: (candidate: HTMLElement) => boolean
|
||||
): HTMLElement | null {
|
||||
let parent = base.parentElement;
|
||||
while (parent != null) {
|
||||
if (matchFn(parent)) {
|
||||
break;
|
||||
}
|
||||
parent = parent.parentElement;
|
||||
}
|
||||
return parent;
|
||||
}
|
||||
|
||||
export default { nextAnimationFrame, delay };
|
||||
export default { nextAnimationFrame, findParent };
|
||||
|
|
180
style/bgus.scss
Normal file
|
@ -0,0 +1,180 @@
|
|||
@import "vars.scss";
|
||||
|
||||
.bgus_hidden {
|
||||
display: none !important;
|
||||
}
|
||||
.bgus_nobreak {
|
||||
white-space: nowrap;
|
||||
}
|
||||
#bgus_fz_searchbox {
|
||||
position: fixed;
|
||||
top: 50px;
|
||||
left: 20%;
|
||||
right: 20%;
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 999;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
}
|
||||
|
||||
@media (min-width: 600px) {
|
||||
#bgus_fz_searchbox {
|
||||
left: 30%;
|
||||
right: 30%;
|
||||
}
|
||||
}
|
||||
|
||||
#bgus_fz_searchbox input {
|
||||
font-size: 10pt;
|
||||
padding: 5pt 8pt;
|
||||
border: 1px solid #555;
|
||||
margin: 5px;
|
||||
margin-bottom: 0;
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
outline: none;
|
||||
&:focus {
|
||||
border-color: #aaa;
|
||||
}
|
||||
}
|
||||
#bgus_fz_searchbox ul {
|
||||
list-style: none;
|
||||
margin: 5px;
|
||||
padding: 0;
|
||||
}
|
||||
#bgus_fz_searchbox li {
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
}
|
||||
#bgus_fz_searchbox li:hover {
|
||||
background-color: rgba(100, 100, 100, 0.5);
|
||||
}
|
||||
#bgus_fz_searchbox li.selected {
|
||||
border-left: 3px solid white;
|
||||
}
|
||||
.bgus_twistie:after {
|
||||
color: red;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-left: 0.2em;
|
||||
content: "⯆";
|
||||
}
|
||||
.bgus_collapsed > .bgus_twistie:after {
|
||||
content: "⯈";
|
||||
}
|
||||
div.tooltiptext {
|
||||
display: none;
|
||||
border: 1px solid #384e68;
|
||||
background: linear-gradient(to bottom, darken(#384e68, 20%), darken(#384e68, 25%));
|
||||
}
|
||||
span.bgus_nested_element:not(.bgus_collapsed) + div.tooltiptext {
|
||||
z-index: unset;
|
||||
visibility: inherit;
|
||||
display: block;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
width: auto;
|
||||
border-left-width: 3px;
|
||||
margin-left: 5px;
|
||||
margin-top: 5px;
|
||||
font-size: 8pt;
|
||||
padding: 5px 8px;
|
||||
line-height: 10pt;
|
||||
|
||||
div.tooltiptext {
|
||||
margin-left: -5px;
|
||||
}
|
||||
}
|
||||
.bchem table.wikitable > tbody > tr > td:nth-child(2) {
|
||||
width: 45%;
|
||||
padding: 10px;
|
||||
}
|
||||
.bchem table.wikitable {
|
||||
border: 0 !important;
|
||||
.table-head {
|
||||
text-align: center;
|
||||
}
|
||||
th {
|
||||
background-color: darken($nanotrasen, 5%) !important;
|
||||
}
|
||||
}
|
||||
div.bchem .bgus_fz_selected {
|
||||
background: $nanotrasen !important;
|
||||
th,
|
||||
td {
|
||||
border-top: 2px solid lighten($nanotrasen, 20%);
|
||||
border-bottom: 2px solid lighten($nanotrasen, 15%);
|
||||
}
|
||||
th {
|
||||
background: lighten($nanotrasen, 5%) !important;
|
||||
}
|
||||
div.tooltiptext {
|
||||
border-color: lighten($nanotrasen, 20%);
|
||||
background: darken($nanotrasen, 10%);
|
||||
}
|
||||
}
|
||||
body.bgus_cbox input[type="checkbox"] + span[data-src]:before {
|
||||
display: inline-block;
|
||||
width: 1.5em;
|
||||
content: "[_]";
|
||||
}
|
||||
body.bgus_cbox input[type="checkbox"]:checked + span[data-src]:before {
|
||||
content: "[X]";
|
||||
}
|
||||
body.bgus_cbox input[type="checkbox"]:checked + span[data-src] {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
body.bgus_cbox input[type="checkbox"] + span[data-src] {
|
||||
cursor: pointer;
|
||||
}
|
||||
body.bgus_cbox input[type="checkbox"] + span[data-src]:before,
|
||||
body.bgus_cbox input[type="checkbox"] + span[data-src] {
|
||||
color: orange;
|
||||
font-weight: bold;
|
||||
}
|
||||
body.bgus_cbox input[type="checkbox"]:checked + span[data-src]:before,
|
||||
body.bgus_cbox input[type="checkbox"]:checked + span[data-src] {
|
||||
color: green;
|
||||
}
|
||||
|
||||
.reagent-ext {
|
||||
.reagent-header {
|
||||
font-size: 12pt;
|
||||
text-align: left;
|
||||
padding: 10pt;
|
||||
padding-bottom: 0;
|
||||
span:last-child {
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
}
|
||||
p {
|
||||
font-size: 8pt;
|
||||
font-weight: 300;
|
||||
line-height: 1.4em;
|
||||
word-spacing: -0.1em;
|
||||
}
|
||||
.treatment {
|
||||
font-size: 10pt;
|
||||
}
|
||||
.metabolism:before {
|
||||
font-size: 9pt;
|
||||
content: "Metabolism rate: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
.overdose,
|
||||
.addiction {
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
.overdose:before {
|
||||
color: #ffae68;
|
||||
content: "Overdose at ";
|
||||
}
|
||||
.addiction:before {
|
||||
color: #ffdf97;
|
||||
content: "Addiction at ";
|
||||
}
|
||||
}
|
171
style/main.scss
|
@ -1,9 +1,164 @@
|
|||
$nanotrasen: #384e68;
|
||||
@import "vars.scss";
|
||||
|
||||
@import "ui.scss";
|
||||
@import "search.scss";
|
||||
@import "pages/global.scss";
|
||||
@import "pages/chemistry.scss";
|
||||
@import "pages/food.scss";
|
||||
@import "pages/virology.scss";
|
||||
@import "pages/welcome.scss";
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.bgimage {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 0;
|
||||
img {
|
||||
opacity: 0.4;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background: linear-gradient(to bottom, darken($nanotrasen, 20%), darken($nanotrasen, 10%));
|
||||
background-size: 100% 100%;
|
||||
background-attachment: fixed;
|
||||
color: #fff;
|
||||
font-family: "Iosevka Aile Web", sans-serif;
|
||||
font-size: 9pt;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
#app {
|
||||
height: 100%;
|
||||
display: grid;
|
||||
grid-template-rows: 40px 1fr;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 14pt;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: linear-gradient(to bottom, darken($nanotrasen, 0%), darken($nanotrasen, 10%), darken($nanotrasen, 0%));
|
||||
border: 1px solid lighten($nanotrasen, 10%);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 2px;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
lighten($nanotrasen, 20%),
|
||||
lighten($nanotrasen, 30%),
|
||||
lighten($nanotrasen, 20%)
|
||||
);
|
||||
border: 1px solid lighten($nanotrasen, 10%);
|
||||
}
|
||||
|
||||
#tabs {
|
||||
grid-row: 2;
|
||||
z-index: 1;
|
||||
display: grid;
|
||||
overflow: hidden;
|
||||
.page {
|
||||
visibility: hidden;
|
||||
padding-top: 10pt;
|
||||
overflow-y: scroll;
|
||||
grid-row: 1;
|
||||
grid-column: 1;
|
||||
&.active {
|
||||
visibility: visible;
|
||||
}
|
||||
&.waiting {
|
||||
user-select: none;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
.speen {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
img {
|
||||
width: 60vmin;
|
||||
opacity: 0.9;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
p,
|
||||
h2,
|
||||
h3,
|
||||
h4 {
|
||||
padding-left: 10pt;
|
||||
padding-right: 10pt;
|
||||
}
|
||||
a[href] {
|
||||
color: white;
|
||||
}
|
||||
#toctitle,
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
position: sticky;
|
||||
top: -10pt;
|
||||
background: $nanotrasen;
|
||||
padding: 10px;
|
||||
z-index: 999;
|
||||
}
|
||||
#toctitle h2 {
|
||||
margin: 0;
|
||||
}
|
||||
.mw-headline {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$tab-active: lighten($nanotrasen, 10%);
|
||||
|
||||
#tab-list {
|
||||
z-index: 2;
|
||||
grid-row: 1;
|
||||
display: flex;
|
||||
border-bottom: 2px solid $tab-active;
|
||||
|
||||
.tab {
|
||||
max-width: 200px;
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
user-select: none;
|
||||
|
||||
&.active {
|
||||
background-color: $tab-active;
|
||||
}
|
||||
&:not(.active) {
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
noscript {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: transparent;
|
||||
width: 100%;
|
||||
}
|
||||
|
|
|
@ -1,162 +0,0 @@
|
|||
div[data-tab="Guide_to_chemistry"] {
|
||||
.bgus_twistie:after {
|
||||
color: red;
|
||||
display: inline-block;
|
||||
font-weight: bold;
|
||||
margin-left: 0.2em;
|
||||
content: "⯆";
|
||||
}
|
||||
|
||||
.bgus_collapsed > .bgus_twistie:after {
|
||||
content: "⯈";
|
||||
}
|
||||
|
||||
div.tooltiptext {
|
||||
display: none;
|
||||
border: 1px solid #384e68;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
darken(#384e68, 20%),
|
||||
darken(#384e68, 25%)
|
||||
);
|
||||
}
|
||||
|
||||
span.bgus_nested_element:not(.bgus_collapsed) + div.tooltiptext {
|
||||
z-index: unset;
|
||||
visibility: inherit;
|
||||
display: block;
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
width: auto;
|
||||
border-left-width: 3px;
|
||||
margin-left: 5px;
|
||||
margin-top: 5px;
|
||||
font-size: 8pt;
|
||||
padding: 5px 8px;
|
||||
line-height: 10pt;
|
||||
|
||||
div.tooltiptext {
|
||||
margin-left: -5px;
|
||||
}
|
||||
}
|
||||
|
||||
table.wikitable {
|
||||
border: 0 !important;
|
||||
|
||||
.table-head {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color: darken($nanotrasen, 5%) !important;
|
||||
}
|
||||
|
||||
& > tbody > tr > td:nth-child(2) {
|
||||
width: 45%;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.bgus_fz_selected {
|
||||
background: $nanotrasen !important;
|
||||
th,
|
||||
td {
|
||||
border-top: 2px solid lighten($nanotrasen, 20%);
|
||||
border-bottom: 2px solid lighten($nanotrasen, 15%);
|
||||
}
|
||||
th {
|
||||
background: lighten($nanotrasen, 5%) !important;
|
||||
}
|
||||
div.tooltiptext {
|
||||
border-color: lighten($nanotrasen, 20%);
|
||||
background: darken($nanotrasen, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
body.bgus_cbox {
|
||||
input[type="checkbox"] + span[data-src]:before {
|
||||
display: inline-block;
|
||||
width: 1.5em;
|
||||
content: "[_]";
|
||||
}
|
||||
input[type="checkbox"]:checked + span[data-src]:before {
|
||||
content: "[X]";
|
||||
}
|
||||
input[type="checkbox"]:checked + span[data-src] {
|
||||
text-decoration: line-through;
|
||||
}
|
||||
input[type="checkbox"] + span[data-src] {
|
||||
cursor: pointer;
|
||||
}
|
||||
input[type="checkbox"] + span[data-src]:before,
|
||||
input[type="checkbox"] + span[data-src] {
|
||||
color: orange;
|
||||
font-weight: bold;
|
||||
}
|
||||
input[type="checkbox"]:checked + span[data-src]:before,
|
||||
input[type="checkbox"]:checked + span[data-src] {
|
||||
color: green;
|
||||
}
|
||||
}
|
||||
|
||||
.reagent-ext {
|
||||
.reagent-header {
|
||||
font-size: 12pt;
|
||||
text-align: left;
|
||||
padding: 10pt;
|
||||
padding-bottom: 0;
|
||||
span:last-child {
|
||||
margin-left: 0.5em;
|
||||
}
|
||||
}
|
||||
p {
|
||||
font-size: 8pt;
|
||||
font-weight: 300;
|
||||
line-height: 1.4em;
|
||||
word-spacing: -0.1em;
|
||||
}
|
||||
.treatment {
|
||||
font-size: 10pt;
|
||||
}
|
||||
.metabolism:before {
|
||||
font-size: 9pt;
|
||||
content: "Metabolism rate: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
.overdose,
|
||||
.addiction {
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
.overdose:before {
|
||||
color: #ffae68;
|
||||
content: "Overdose at ";
|
||||
}
|
||||
.addiction:before {
|
||||
color: #ffdf97;
|
||||
content: "Addiction at ";
|
||||
}
|
||||
}
|
||||
|
||||
.ph-ext {
|
||||
p {
|
||||
font-size: 9pt;
|
||||
}
|
||||
table {
|
||||
margin: 0.5rem 0.7rem;
|
||||
background-color: $nanotrasen !important;
|
||||
border: 0;
|
||||
td,
|
||||
th {
|
||||
font-size: 8pt;
|
||||
padding: 0.2rem 0.3rem;
|
||||
line-height: 1rem;
|
||||
}
|
||||
td {
|
||||
background-color: darken($nanotrasen, 10%) !important;
|
||||
text-align: center;
|
||||
font-weight: normal;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,134 +0,0 @@
|
|||
div[data-tab="Guide_to_food_and_drinks"] {
|
||||
.drink-ext,
|
||||
.food-base-ext,
|
||||
.book-ext,
|
||||
.recipe-ext {
|
||||
width: 100%;
|
||||
th,
|
||||
td:first-child {
|
||||
background-color: #2f4257;
|
||||
}
|
||||
.food-pic {
|
||||
float: left;
|
||||
min-width: 64px;
|
||||
min-height: 64px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.food-name {
|
||||
font-size: 12pt;
|
||||
text-align: left;
|
||||
padding: 10pt;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 10pt;
|
||||
}
|
||||
p {
|
||||
font-size: 8pt;
|
||||
font-weight: 300;
|
||||
line-height: 1.2em;
|
||||
word-spacing: -0.1em;
|
||||
margin: 5pt 0;
|
||||
}
|
||||
|
||||
.bgus_fz_selected {
|
||||
background: $nanotrasen !important;
|
||||
th,
|
||||
td {
|
||||
border-top: 2px solid lighten($nanotrasen, 20%);
|
||||
border-bottom: 2px solid lighten($nanotrasen, 15%);
|
||||
}
|
||||
th {
|
||||
background: lighten($nanotrasen, 5%) !important;
|
||||
}
|
||||
div.tooltiptext {
|
||||
border-color: lighten($nanotrasen, 20%);
|
||||
background: darken($nanotrasen, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.drink-ext {
|
||||
p {
|
||||
font-size: 9pt;
|
||||
}
|
||||
.strength {
|
||||
font-size: 9pt;
|
||||
&:before {
|
||||
content: "Strength: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.description,
|
||||
.notes {
|
||||
margin: 10pt 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
td:nth-child(2) {
|
||||
width: 30vw;
|
||||
max-width: 300px;
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
.food-base-ext {
|
||||
td:nth-child(1) {
|
||||
width: 30vw;
|
||||
max-width: 300px;
|
||||
text-align: center;
|
||||
}
|
||||
.food-pic {
|
||||
float: none;
|
||||
min-width: 64px;
|
||||
min-height: 64px;
|
||||
display: inline-block;
|
||||
}
|
||||
.food-block {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
td:nth-child(2) {
|
||||
padding: 5pt;
|
||||
font-size: 10pt;
|
||||
}
|
||||
}
|
||||
|
||||
.book-ext {
|
||||
p {
|
||||
font-size: 9pt;
|
||||
}
|
||||
.description,
|
||||
.notes {
|
||||
margin: 10pt 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
.unlocks {
|
||||
&:before {
|
||||
content: "Unlocks: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
td:nth-child(2) {
|
||||
width: 30vw;
|
||||
max-width: 300px;
|
||||
text-align: center;
|
||||
p {
|
||||
font-size: 9pt;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.recipe-ext {
|
||||
p {
|
||||
font-size: 9pt;
|
||||
}
|
||||
td:nth-child(2) {
|
||||
width: 30vw;
|
||||
max-width: 300px;
|
||||
}
|
||||
.notes {
|
||||
margin: 10pt 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,92 +0,0 @@
|
|||
$max-width: 960px;
|
||||
|
||||
.bgus_hidden {
|
||||
display: none !important;
|
||||
}
|
||||
.bgus_nobreak {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.page ul,
|
||||
.page ol {
|
||||
padding-left: 25pt;
|
||||
li {
|
||||
margin-top: 0.6em;
|
||||
padding-right: 8pt;
|
||||
}
|
||||
ul,
|
||||
ol {
|
||||
padding-left: 12pt;
|
||||
}
|
||||
}
|
||||
|
||||
.disease-ext {
|
||||
p {
|
||||
font-size: 8pt;
|
||||
font-weight: 300;
|
||||
line-height: 1.4em;
|
||||
word-spacing: -0.1em;
|
||||
}
|
||||
}
|
||||
|
||||
.thumbinner {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.page {
|
||||
h1.pageheader {
|
||||
margin-top: 0;
|
||||
padding: 15pt 10pt;
|
||||
}
|
||||
|
||||
img {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
p,
|
||||
h2,
|
||||
h3,
|
||||
h4 {
|
||||
padding-left: 10pt;
|
||||
padding-right: 10pt;
|
||||
}
|
||||
a[href] {
|
||||
color: white;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3 {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
background: $nanotrasen;
|
||||
padding: 10pt;
|
||||
z-index: 999;
|
||||
max-width: $max-width;
|
||||
&:before {
|
||||
display: block;
|
||||
content: " ";
|
||||
left: -100%;
|
||||
right: calc((960px - 100vw) / 2 + 10px);
|
||||
top: 0;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
z-index: -99;
|
||||
background: $nanotrasen;
|
||||
}
|
||||
}
|
||||
.mw-headline {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.page:not(.special) img {
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: pixelated;
|
||||
-ms-interpolation-mode: nearest-neighbor;
|
||||
}
|
||||
|
||||
.wrapper {
|
||||
margin: 0 auto;
|
||||
max-width: $max-width;
|
||||
}
|
|
@ -1,108 +0,0 @@
|
|||
div[data-tab="Infections"] {
|
||||
.disease-ext,
|
||||
.symptoms-ext {
|
||||
width: 100%;
|
||||
th,
|
||||
td:first-child {
|
||||
background-color: #2f4257;
|
||||
}
|
||||
.disease-name {
|
||||
font-size: 12pt;
|
||||
text-align: left;
|
||||
padding: 10pt;
|
||||
padding-bottom: 0;
|
||||
margin-bottom: 10pt;
|
||||
}
|
||||
p {
|
||||
font-size: 8pt;
|
||||
font-weight: 300;
|
||||
line-height: 1.2em;
|
||||
word-spacing: -0.1em;
|
||||
margin: 5pt 0;
|
||||
}
|
||||
|
||||
.bgus_fz_selected {
|
||||
background: $nanotrasen !important;
|
||||
th,
|
||||
td {
|
||||
border-top: 2px solid lighten($nanotrasen, 20%);
|
||||
border-bottom: 2px solid lighten($nanotrasen, 15%);
|
||||
}
|
||||
th {
|
||||
background: lighten($nanotrasen, 5%) !important;
|
||||
}
|
||||
div.tooltiptext {
|
||||
border-color: lighten($nanotrasen, 20%);
|
||||
background: darken($nanotrasen, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.disease-ext {
|
||||
.vector {
|
||||
font-size: 9pt;
|
||||
&:before {
|
||||
content: "Vector: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.source {
|
||||
font-size: 9pt;
|
||||
&:before {
|
||||
content: "Source: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.spread {
|
||||
font-size: 9pt;
|
||||
&:before {
|
||||
content: "Spread: ";
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
.description {
|
||||
margin: 10pt 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
td:nth-child(2) {
|
||||
width: 30vw;
|
||||
max-width: 300px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
.symptoms-ext {
|
||||
.level {
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
&:before {
|
||||
content: "Level ";
|
||||
}
|
||||
}
|
||||
.description {
|
||||
margin: 10pt 0;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
.stats {
|
||||
width: 100%;
|
||||
border: 2px solid $nanotrasen;
|
||||
th {
|
||||
text-align: right;
|
||||
padding: 3px 6px;
|
||||
}
|
||||
td {
|
||||
padding: 3px 6px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
.thresholds {
|
||||
white-space: nowrap;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style-type: none;
|
||||
span {
|
||||
cursor: help;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,82 +0,0 @@
|
|||
#Welcome {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
&.center {
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
&:not(.center) {
|
||||
header {
|
||||
margin-top: 20px;
|
||||
}
|
||||
}
|
||||
font-size: 12pt;
|
||||
line-height: 1.4em;
|
||||
header {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 20pt;
|
||||
.icon {
|
||||
max-width: 25vw;
|
||||
width: 200px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
.type {
|
||||
max-width: 50vw;
|
||||
width: 400px;
|
||||
}
|
||||
}
|
||||
|
||||
.hidden {
|
||||
width: 100%;
|
||||
opacity: 0;
|
||||
display: none;
|
||||
transition: all 200ms;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2 {
|
||||
margin-top: 2em;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 15pt;
|
||||
}
|
||||
|
||||
h3.nobg {
|
||||
background: transparent;
|
||||
margin-bottom: 0;
|
||||
padding-bottom: 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
&:before {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
code {
|
||||
display: inline-block;
|
||||
background-color: #222;
|
||||
border-radius: 3px;
|
||||
padding: 2px 5px;
|
||||
}
|
||||
|
||||
.images {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
img {
|
||||
margin: 10px;
|
||||
}
|
||||
}
|
||||
|
||||
.action_buttons {
|
||||
text-align: center;
|
||||
|
||||
button {
|
||||
font-size: 12pt;
|
||||
padding: 10pt 12pt;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,60 +0,0 @@
|
|||
#bgus_fz_searchbox {
|
||||
position: fixed;
|
||||
top: 80px;
|
||||
left: 20%;
|
||||
right: 20%;
|
||||
background: rgba(10, 10, 10, 0.8);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
z-index: 999;
|
||||
color: #fff;
|
||||
border-radius: 2px;
|
||||
|
||||
input {
|
||||
font-size: 10pt;
|
||||
padding: 5pt 8pt;
|
||||
border: 1px solid #555;
|
||||
margin: 5px;
|
||||
margin-bottom: 0;
|
||||
background-color: #111;
|
||||
color: #fff;
|
||||
outline: none;
|
||||
&:focus {
|
||||
border-color: #aaa;
|
||||
}
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 5px;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
margin: 0;
|
||||
padding: 5px;
|
||||
cursor: pointer;
|
||||
|
||||
.source {
|
||||
color: #ccc;
|
||||
font-size: 8pt;
|
||||
display: block;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
background-color: rgba(100, 100, 100, 0.5);
|
||||
}
|
||||
|
||||
&.selected {
|
||||
border-left: 3px solid white;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 600px) {
|
||||
#bgus_fz_searchbox {
|
||||
left: 30%;
|
||||
right: 30%;
|
||||
}
|
||||
}
|
241
style/ui.scss
|
@ -1,241 +0,0 @@
|
|||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
height: 100%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.bgimage {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
z-index: 0;
|
||||
img {
|
||||
opacity: 0.4;
|
||||
width: 80vmin;
|
||||
}
|
||||
}
|
||||
|
||||
body {
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
darken($nanotrasen, 20%),
|
||||
darken($nanotrasen, 10%)
|
||||
);
|
||||
background-size: 100% 100%;
|
||||
background-attachment: fixed;
|
||||
color: #fff;
|
||||
font-family: "Iosevka Aile Web", sans-serif;
|
||||
font-size: 9pt;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
#app {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
&.waiting {
|
||||
#tab-list,
|
||||
#section-list {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 14pt;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
darken($nanotrasen, 0%),
|
||||
darken($nanotrasen, 10%),
|
||||
darken($nanotrasen, 0%)
|
||||
);
|
||||
border: 1px solid lighten($nanotrasen, 10%);
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
border-radius: 2px;
|
||||
background: linear-gradient(
|
||||
to bottom,
|
||||
lighten($nanotrasen, 20%),
|
||||
lighten($nanotrasen, 30%),
|
||||
lighten($nanotrasen, 20%)
|
||||
);
|
||||
border: 1px solid lighten($nanotrasen, 10%);
|
||||
}
|
||||
|
||||
.speen {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 12pt;
|
||||
img {
|
||||
width: 60vmin;
|
||||
max-height: 100%;
|
||||
opacity: 0.9;
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
#tabs {
|
||||
flex: 1;
|
||||
z-index: 1;
|
||||
display: grid;
|
||||
overflow: hidden;
|
||||
.page {
|
||||
//visibility: hidden;
|
||||
will-change: display;
|
||||
&:not(.active) {
|
||||
display: none;
|
||||
}
|
||||
overflow: auto;
|
||||
grid-row: 1;
|
||||
grid-column: 1;
|
||||
&.active {
|
||||
//visibility: visible;
|
||||
&.waiting {
|
||||
user-select: none;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$section-active: darken($nanotrasen, 5%);
|
||||
$tab-active: lighten($nanotrasen, 10%);
|
||||
|
||||
#section-list {
|
||||
z-index: 2;
|
||||
border-bottom: 2px solid $section-active;
|
||||
display: flex;
|
||||
.section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
user-select: none;
|
||||
font-size: 9pt;
|
||||
padding: 3pt 7pt;
|
||||
text-transform: uppercase;
|
||||
color: lighten($nanotrasen, 60%);
|
||||
flex: 1;
|
||||
&.active {
|
||||
background-color: $section-active;
|
||||
color: white;
|
||||
}
|
||||
&:not(.active) {
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background-color: darken($section-active, 10%);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#tab-list {
|
||||
z-index: 2;
|
||||
display: flex;
|
||||
background-color: $section-active;
|
||||
border-bottom: 4px solid $tab-active;
|
||||
|
||||
.tab {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
user-select: none;
|
||||
font-size: 7pt;
|
||||
padding: 2px 4px;
|
||||
padding-bottom: 0;
|
||||
text-transform: uppercase;
|
||||
flex: 1;
|
||||
max-width: 100px;
|
||||
|
||||
img {
|
||||
height: 80%;
|
||||
max-height: 24px;
|
||||
margin: 0;
|
||||
}
|
||||
&.active {
|
||||
background-color: $tab-active;
|
||||
}
|
||||
&:not(.active) {
|
||||
cursor: pointer;
|
||||
&:hover {
|
||||
background-color: darken($tab-active, 8%);
|
||||
}
|
||||
}
|
||||
|
||||
&.hidden {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
noscript {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: transparent;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.loading-icons {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
user-select: none;
|
||||
font-size: 9pt;
|
||||
padding: 3pt 7pt;
|
||||
text-transform: uppercase;
|
||||
flex-wrap: wrap;
|
||||
div {
|
||||
border: 1px solid red;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
img {
|
||||
max-width: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
.pretty-button {
|
||||
font-family: "Iosevka Aile Web", sans-serif;
|
||||
background-color: darken($nanotrasen, 10%);
|
||||
border: 1px solid lighten($nanotrasen, 30%);
|
||||
color: white;
|
||||
padding: 6pt 10pt;
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
transition: all 100ms;
|
||||
&:hover {
|
||||
background-color: $nanotrasen;
|
||||
border: 1px solid lighten($nanotrasen, 50%);
|
||||
}
|
||||
margin: 10px;
|
||||
}
|