Compare commits
1 commit
master
...
load-perfo
Author | SHA1 | Date | |
---|---|---|---|
|
b63129d4b8 |
25
.drone.yml
|
@ -34,7 +34,6 @@ steps:
|
||||||
- yarn build
|
- yarn build
|
||||||
environment:
|
environment:
|
||||||
SUBPATH: /tghandbook/${DRONE_COMMIT_BRANCH/\//_}-${DRONE_COMMIT_SHA:0:8}
|
SUBPATH: /tghandbook/${DRONE_COMMIT_BRANCH/\//_}-${DRONE_COMMIT_SHA:0:8}
|
||||||
REVISION: ${DRONE_COMMIT_SHA}
|
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
@ -48,24 +47,24 @@ steps:
|
||||||
environment:
|
environment:
|
||||||
SUBPATH: /tghandbook/pr-${DRONE_PULL_REQUEST}
|
SUBPATH: /tghandbook/pr-${DRONE_PULL_REQUEST}
|
||||||
OUTDIR: ./dist-pr
|
OUTDIR: ./dist-pr
|
||||||
REVISION: ${DRONE_COMMIT_SHA}
|
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- pull_request
|
- pull_request
|
||||||
depends_on:
|
depends_on:
|
||||||
- dependencies
|
- dependencies
|
||||||
|
|
||||||
- name: build_branch
|
- name: build_master
|
||||||
image: node
|
image: node
|
||||||
commands:
|
commands:
|
||||||
- yarn build
|
- yarn build
|
||||||
environment:
|
environment:
|
||||||
SUBPATH: /tghandbook/${DRONE_COMMIT_BRANCH/\//_}
|
SUBPATH: /tghandbook/latest
|
||||||
OUTDIR: ./dist-branch
|
OUTDIR: ./dist-master
|
||||||
REVISION: ${DRONE_COMMIT_SHA}
|
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
depends_on:
|
depends_on:
|
||||||
- dependencies
|
- dependencies
|
||||||
|
|
||||||
|
@ -107,7 +106,7 @@ steps:
|
||||||
depends_on:
|
depends_on:
|
||||||
- build_pr
|
- build_pr
|
||||||
|
|
||||||
- name: upload_build_branch
|
- name: upload_build_master
|
||||||
image: plugins/s3
|
image: plugins/s3
|
||||||
settings:
|
settings:
|
||||||
bucket: tghandbook
|
bucket: tghandbook
|
||||||
|
@ -115,16 +114,18 @@ steps:
|
||||||
from_secret: minio_access
|
from_secret: minio_access
|
||||||
secret_key:
|
secret_key:
|
||||||
from_secret: minio_secret
|
from_secret: minio_secret
|
||||||
source: dist-branch/**/*
|
source: dist-master/**/*
|
||||||
target: /${DRONE_COMMIT_BRANCH/\//_}/
|
target: /latest/
|
||||||
strip_prefix: dist-branch/
|
strip_prefix: dist-master/
|
||||||
path_style: true
|
path_style: true
|
||||||
endpoint: https://artifacts.fromouter.space
|
endpoint: https://artifacts.fromouter.space
|
||||||
when:
|
when:
|
||||||
event:
|
event:
|
||||||
- push
|
- push
|
||||||
|
branch:
|
||||||
|
- master
|
||||||
depends_on:
|
depends_on:
|
||||||
- build_branch
|
- build_master
|
||||||
|
|
||||||
- name: rebuild-cache
|
- name: rebuild-cache
|
||||||
image: drillster/drone-volume-cache
|
image: drillster/drone-volume-cache
|
||||||
|
@ -145,4 +146,4 @@ volumes:
|
||||||
path: /opt/gitea/drone-cache/hamcha/tghandbook
|
path: /opt/gitea/drone-cache/hamcha/tghandbook
|
||||||
---
|
---
|
||||||
kind: signature
|
kind: signature
|
||||||
hmac: 55dfd5c47c79e51394c5cdfaa9b98a6f6acd84e751e92964c202ac19b46c0373
|
hmac: 9f4b08596bdaa078a6c60fc63d932084bab117c340a310903bbe96f31c0122bb
|
||||||
|
|
|
@ -19,8 +19,6 @@ module.exports = {
|
||||||
"no-param-reassign": "off",
|
"no-param-reassign": "off",
|
||||||
"no-alert": "off",
|
"no-alert": "off",
|
||||||
"no-console": "off",
|
"no-console": "off",
|
||||||
"func-names": "off",
|
|
||||||
"dot-notation": ["error", { allowPattern: "^[A-Z][a-z]+$" }],
|
|
||||||
"@typescript-eslint/ban-ts-comment": [
|
"@typescript-eslint/ban-ts-comment": [
|
||||||
"error",
|
"error",
|
||||||
{
|
{
|
||||||
|
|
23
LICENSE
|
@ -1,23 +0,0 @@
|
||||||
This code is license under ISC, full copy below:
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
This code uses idb-keyval, licensed under Apache 2:
|
|
||||||
|
|
||||||
Copyright 2016, Jake Archibald
|
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
you may not use this file except in compliance with the License.
|
|
||||||
You may obtain a copy of the License at
|
|
||||||
|
|
||||||
http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
|
|
||||||
Unless required by applicable law or agreed to in writing, software
|
|
||||||
distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
See the License for the specific language governing permissions and
|
|
||||||
limitations under the License.
|
|
|
@ -1,6 +1,6 @@
|
||||||
# /tg/ handbook
|
# /tg/ handbook
|
||||||
|
|
||||||
[![Build Status](https://ci.fromouter.space/api/badges/Hamcha/tghandbook/status.svg)](https://ci.fromouter.space/Hamcha/tghandbook)
|
[![Build Status](https://drone.zyg.ovh/api/badges/Hamcha/tghandbook/status.svg)](https://drone.zyg.ovh/Hamcha/tghandbook)
|
||||||
|
|
||||||
## Building
|
## Building
|
||||||
|
|
||||||
|
@ -8,4 +8,4 @@
|
||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
`yarn dev`
|
`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. -->
|
<!-- This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. -->
|
||||||
<!-- http://creativecommons.org/licenses/by-sa/4.0/ -->
|
<!-- 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 |
110
index.html
|
@ -35,10 +35,22 @@
|
||||||
href="assets/fonts/iosevka/iosevka-aile.css"
|
href="assets/fonts/iosevka/iosevka-aile.css"
|
||||||
as="style"
|
as="style"
|
||||||
/>
|
/>
|
||||||
|
<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/main.scss" as="style" />
|
||||||
|
<link rel="preload" href="style/bgus.scss" as="style" />
|
||||||
<link rel="preload" href="src/index.ts" as="script" />
|
<link rel="preload" href="src/index.ts" as="script" />
|
||||||
<link rel="stylesheet" href="assets/fonts/iosevka/iosevka-aile.css" />
|
<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/main.scss" />
|
||||||
|
<link rel="stylesheet" href="style/bgus.scss" />
|
||||||
<title>/tg/station Handbook</title>
|
<title>/tg/station Handbook</title>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
@ -46,102 +58,8 @@
|
||||||
<img src="./assets/images/bg-nanotrasen.svg" />
|
<img src="./assets/images/bg-nanotrasen.svg" />
|
||||||
</div>
|
</div>
|
||||||
<main id="app">
|
<main id="app">
|
||||||
<nav id="section-list"></nav>
|
|
||||||
<nav id="tab-list"></nav>
|
<nav id="tab-list"></nav>
|
||||||
<section id="tabs">
|
<section id="tabs"></section>
|
||||||
<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://git.fromouter.space/hamcha/tghandbook"
|
|
||||||
>git.fromouter.space/hamcha/tghandbook</a
|
|
||||||
>
|
|
||||||
</p>
|
|
||||||
<p>
|
|
||||||
/tg/station handbook revision: <span id="tgh-version"></span>
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</main>
|
</main>
|
||||||
<noscript>
|
<noscript>
|
||||||
<h1>NO JS NO PARTY</h1>
|
<h1>NO JS NO PARTY</h1>
|
||||||
|
|
|
@ -18,7 +18,6 @@
|
||||||
"eslint-config-prettier": "^6.11.0",
|
"eslint-config-prettier": "^6.11.0",
|
||||||
"eslint-plugin-import": "2.21.2",
|
"eslint-plugin-import": "2.21.2",
|
||||||
"eslint-plugin-prettier": "^3.1.4",
|
"eslint-plugin-prettier": "^3.1.4",
|
||||||
"idb-keyval": "^3.2.0",
|
|
||||||
"parcel-bundler": "^1.12.4",
|
"parcel-bundler": "^1.12.4",
|
||||||
"parcel-plugin-sw-cache": "^0.3.1",
|
"parcel-plugin-sw-cache": "^0.3.1",
|
||||||
"prettier": "^2.0.5",
|
"prettier": "^2.0.5",
|
||||||
|
|
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>;
|
|
||||||
|
|
||||||
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", (store) => {
|
|
||||||
req = store.get(key);
|
|
||||||
})
|
|
||||||
.then(() => req.result);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function set<Type>(
|
|
||||||
key: IDBValidKey,
|
|
||||||
value: Type,
|
|
||||||
version: string,
|
|
||||||
store = getDefaultStore()
|
|
||||||
): Promise<void> {
|
|
||||||
return store.withIDBStore("readwrite", (store) => {
|
|
||||||
store.put({ version, value }, key);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function del(
|
|
||||||
key: IDBValidKey,
|
|
||||||
store = getDefaultStore()
|
|
||||||
): Promise<void> {
|
|
||||||
return store.withIDBStore("readwrite", (store) => {
|
|
||||||
store.delete(key);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function clear(store = getDefaultStore()): Promise<void> {
|
|
||||||
return store.withIDBStore("readwrite", (store) => {
|
|
||||||
store.clear();
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
export function keys(store = getDefaultStore()): Promise<IDBValidKey[]> {
|
|
||||||
const dbkeys: IDBValidKey[] = [];
|
|
||||||
|
|
||||||
return store
|
|
||||||
.withIDBStore("readonly", (store) => {
|
|
||||||
// This would be store.getAllKeys(), but it isn't supported by Edge or Safari.
|
|
||||||
// And openKeyCursor isn't supported by Safari.
|
|
||||||
(store.openKeyCursor || store.openCursor).call(
|
|
||||||
store
|
|
||||||
).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
|
import { nextAnimationFrame } from "./utils";
|
||||||
$$('#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",
|
|
||||||
};
|
|
||||||
|
|
||||||
interface ColorRGB {
|
interface ColorRGB {
|
||||||
r: number;
|
r: number;
|
||||||
|
@ -175,6 +17,166 @@ export enum ColorFmt {
|
||||||
HEX, // #RRGGBB
|
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 {
|
function hsvToRgb({ h, s, v }: ColorHSV): ColorRGB {
|
||||||
const i = Math.floor(h * 6);
|
const i = Math.floor(h * 6);
|
||||||
const f = h * 6 - i;
|
const f = h * 6 - i;
|
||||||
|
@ -232,22 +234,30 @@ function rgbToHsv({ r, g, b }: ColorRGB): ColorHSV {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Hacky way to get RGB values FOR SURE!
|
// Hacky way to get RGB values FOR SURE!
|
||||||
function nameToRGB(name: string): ColorRGB {
|
const nameToRGB = function self(name: string): ColorRGB {
|
||||||
if (namedColors[name]) {
|
if ( namedColors[name] ) {
|
||||||
return parseColor(namedColors[name]);
|
return parseColor(namedColors[name]);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create fake div
|
// Create fake div
|
||||||
const fakeDiv = document.createElement("div");
|
self.fakeDiv = self.fakeDiv || (() => {
|
||||||
fakeDiv.style.color = name;
|
const tmp = document.createElement("div");
|
||||||
document.body.appendChild(fakeDiv);
|
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
|
// Get color of div
|
||||||
const cs = window.getComputedStyle(fakeDiv);
|
const cs = window.getComputedStyle(self.fakeDiv);
|
||||||
const pv = cs.getPropertyValue("color");
|
const pv = cs.color; //TODO slow
|
||||||
|
|
||||||
// Remove div after obtaining desired color value
|
|
||||||
document.body.removeChild(fakeDiv);
|
|
||||||
|
|
||||||
return parseColor(pv);
|
return parseColor(pv);
|
||||||
}
|
}
|
||||||
|
@ -259,7 +269,7 @@ function parseColor(input: string): ColorRGB {
|
||||||
if (input[0] === "#") {
|
if (input[0] === "#") {
|
||||||
const collen = (input.length - 1) / 3;
|
const collen = (input.length - 1) / 3;
|
||||||
const fact = [17, 1, 0.062272][collen - 1];
|
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,
|
r: Math.round(parseInt(input.substr(1, collen), 16) * fact) / 256,
|
||||||
g:
|
g:
|
||||||
Math.round(parseInt(input.substr(1 + collen, collen), 16) * fact) / 256,
|
Math.round(parseInt(input.substr(1 + collen, collen), 16) * fact) / 256,
|
93
src/index.ts
|
@ -1,78 +1,18 @@
|
||||||
import TabManager from "./ui/TabManager";
|
import TabManager from "./TabManager";
|
||||||
import sections from "./ui/sections";
|
|
||||||
import { nextAnimationFrame } from "./utils";
|
|
||||||
import { searchBox } from "./scripts/search";
|
|
||||||
|
|
||||||
// @ts-expect-error: Parcel image import
|
const tabListContainer = document.getElementById("tab-list");
|
||||||
import unknown from "~/assets/images/tab-icons/unknown.svg";
|
const tabContentContainer = document.getElementById("tabs");
|
||||||
import { bindFunctions } from "./scripts/index";
|
const manager = new TabManager(tabListContainer, tabContentContainer);
|
||||||
|
|
||||||
// Enable single page mode for developing scripts
|
const defaultTabs = [
|
||||||
// const devSinglePage = ["Medical", "Guide_to_chemistry"];
|
{ page: "Guide_to_chemistry", active: true },
|
||||||
const devSinglePage = null;
|
{ page: "Guide_to_medicine", active: false },
|
||||||
|
];
|
||||||
|
|
||||||
async function load() {
|
defaultTabs.forEach((tab) => {
|
||||||
const sectionListContainer = document.getElementById("section-list");
|
manager.openTab(tab.page, tab.active);
|
||||||
const tabListContainer = document.getElementById("tab-list");
|
});
|
||||||
const tabContentContainer = document.getElementById("tabs");
|
|
||||||
const manager = new TabManager(
|
|
||||||
sectionListContainer,
|
|
||||||
tabListContainer,
|
|
||||||
tabContentContainer
|
|
||||||
);
|
|
||||||
manager.setLoading(true);
|
|
||||||
|
|
||||||
await nextAnimationFrame();
|
|
||||||
|
|
||||||
// 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,
|
|
||||||
});
|
|
||||||
// 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) {
|
if ("serviceWorker" in navigator) {
|
||||||
const x = process.env.SUBPATH ? `${process.env.SUBPATH}/sw.js` : "sw.js";
|
const x = process.env.SUBPATH ? `${process.env.SUBPATH}/sw.js` : "sw.js";
|
||||||
navigator.serviceWorker
|
navigator.serviceWorker
|
||||||
|
@ -84,14 +24,3 @@ if ("serviceWorker" in navigator) {
|
||||||
console.log("Service worker registration failed, error:", error);
|
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(process.env.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,308 +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,116 +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";
|
interface SearchOption {
|
||||||
import TabManager from "../ui/TabManager";
|
|
||||||
|
|
||||||
interface SearchEntry {
|
|
||||||
page: string;
|
|
||||||
element: HTMLElement;
|
|
||||||
name: string;
|
|
||||||
id: number;
|
|
||||||
alignment: ScrollLogicalPosition;
|
alignment: ScrollLogicalPosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
const allEntries: SearchEntry[] = [];
|
export function searchBox(
|
||||||
|
el: HTMLElement[],
|
||||||
/**
|
searchCandidate,
|
||||||
* Add one or more entries to the global search database
|
options: SearchOption = {
|
||||||
* @param entries Search entries to add
|
alignment: "center",
|
||||||
*/
|
}
|
||||||
export function registerSearchEntries(entries: SearchEntry[]): void {
|
): HTMLElement {
|
||||||
allEntries.push(...entries);
|
|
||||||
}
|
|
||||||
|
|
||||||
export function searchBox(): HTMLElement {
|
|
||||||
// Fuzzy search box
|
// Fuzzy search box
|
||||||
const resultList = document.createElement("ul");
|
const resultList = document.createElement("ul");
|
||||||
const searchBoxElem = document.createElement("div");
|
const searchBoxElem = document.createElement("div");
|
||||||
let selectedResult = 0;
|
let selectedResult = null;
|
||||||
let results = [];
|
let results = [];
|
||||||
let global = false;
|
const jumpTo = (id: number) => {
|
||||||
|
el[id].scrollIntoView({
|
||||||
const jumpTo = (entry: SearchEntry) => {
|
block: options.alignment,
|
||||||
// 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,
|
|
||||||
inline: "nearest",
|
inline: "nearest",
|
||||||
behavior: "auto",
|
behavior: "auto",
|
||||||
});
|
});
|
||||||
document
|
document
|
||||||
.querySelectorAll(".bgus_fz_selected")
|
.querySelectorAll("table.wikitable .bgus_fz_selected")
|
||||||
.forEach((sel) => sel.classList.remove("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) => {
|
const setSelectedResult = (i) => {
|
||||||
|
@ -54,39 +32,21 @@ export function searchBox(): HTMLElement {
|
||||||
.querySelectorAll(".selected")
|
.querySelectorAll(".selected")
|
||||||
.forEach((sel) => sel.classList.remove("selected"));
|
.forEach((sel) => sel.classList.remove("selected"));
|
||||||
resultList.children[i].classList.add("selected");
|
resultList.children[i].classList.add("selected");
|
||||||
jumpTo(results[i]);
|
jumpTo(results[i].id);
|
||||||
};
|
};
|
||||||
|
|
||||||
const search = async (str: string, currentPage: string) => {
|
const search = (str) => {
|
||||||
if (!str || str.length < 1) {
|
if (!str) {
|
||||||
return;
|
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
|
const combinations = str
|
||||||
.split("")
|
.split("")
|
||||||
.map((c) => (["\\", "]", "^"].includes(c) ? `\\${c}` : c))
|
.map((c) => (c.includes(["\\", "]", "^"]) ? `\\${c}` : c))
|
||||||
.join("])(.*?)([");
|
.join("])(.*?)([");
|
||||||
const regex = new RegExp(`^(.*?)([${combinations}])(.*?)$`, "i");
|
const regex = new RegExp(`^(.*?)([${combinations}])(.*?)$`, "i");
|
||||||
results = entries
|
const arr = searchCandidate
|
||||||
.map((o) => ({
|
.map((o) => {
|
||||||
...o,
|
o.matches = (o.str.match(regex) || [])
|
||||||
matches: (o.name.match(regex) || [])
|
|
||||||
.slice(1)
|
.slice(1)
|
||||||
.reduce((list, group, i, or) => {
|
.reduce((list, group, i, or) => {
|
||||||
// Initialize first placeholder (always empty) and first matching "sections"
|
// Initialize first placeholder (always empty) and first matching "sections"
|
||||||
|
@ -102,9 +62,10 @@ export function searchBox(): HTMLElement {
|
||||||
list.push([group]);
|
list.push([group]);
|
||||||
}
|
}
|
||||||
return list;
|
return list;
|
||||||
}, [] as string[][])
|
}, [])
|
||||||
.map((cstr) => cstr.join("")),
|
.map((cstr) => cstr.join(""));
|
||||||
}))
|
return o;
|
||||||
|
})
|
||||||
// Strike non-matching rows
|
// Strike non-matching rows
|
||||||
.filter((o) => o.matches.length > 0)
|
.filter((o) => o.matches.length > 0)
|
||||||
.sort((oA, oB) => {
|
.sort((oA, oB) => {
|
||||||
|
@ -135,27 +96,16 @@ export function searchBox(): HTMLElement {
|
||||||
// Make the search stable since ECMAScript doesn't mandate it
|
// Make the search stable since ECMAScript doesn't mandate it
|
||||||
return iA - iB;
|
return iA - iB;
|
||||||
});
|
});
|
||||||
|
results = arr;
|
||||||
await nextAnimationFrame();
|
window.requestAnimationFrame(() => {
|
||||||
|
|
||||||
resultList.innerHTML = "";
|
resultList.innerHTML = "";
|
||||||
results.forEach((elem) => {
|
arr.forEach(({ matches, id }) => {
|
||||||
const li = document.createElement("li");
|
const li = document.createElement("li");
|
||||||
elem.matches.forEach((match, i) => {
|
li.innerHTML = matches
|
||||||
const cont = document.createElement(i % 2 ? "strong" : "span");
|
.map((c, i) => (i % 2 ? `<strong>${c}</strong>` : c))
|
||||||
cont.appendChild(document.createTextNode(match));
|
.join("");
|
||||||
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.addEventListener("click", () => {
|
li.addEventListener("click", () => {
|
||||||
jumpTo(elem);
|
jumpTo(id);
|
||||||
searchBoxElem.classList.add("bgus_hidden");
|
searchBoxElem.classList.add("bgus_hidden");
|
||||||
});
|
});
|
||||||
resultList.appendChild(li);
|
resultList.appendChild(li);
|
||||||
|
@ -163,6 +113,7 @@ export function searchBox(): HTMLElement {
|
||||||
if (results.length > 0) {
|
if (results.length > 0) {
|
||||||
setSelectedResult(0);
|
setSelectedResult(0);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// Create fuzzy search box
|
// Create fuzzy search box
|
||||||
|
@ -177,7 +128,7 @@ export function searchBox(): HTMLElement {
|
||||||
return;
|
return;
|
||||||
case 13: // Enter - Jump to first result and hide bar
|
case 13: // Enter - Jump to first result and hide bar
|
||||||
if (results.length > 0) {
|
if (results.length > 0) {
|
||||||
jumpTo(results[selectedResult]);
|
jumpTo(results[selectedResult].id);
|
||||||
}
|
}
|
||||||
searchBoxElem.classList.add("bgus_hidden");
|
searchBoxElem.classList.add("bgus_hidden");
|
||||||
return;
|
return;
|
||||||
|
@ -193,10 +144,7 @@ export function searchBox(): HTMLElement {
|
||||||
return;
|
return;
|
||||||
default:
|
default:
|
||||||
if (sel.value !== oldValue) {
|
if (sel.value !== oldValue) {
|
||||||
const currentPage = document.querySelector<HTMLElement>(
|
search(sel.value);
|
||||||
".page.active"
|
|
||||||
);
|
|
||||||
search(sel.value, currentPage.dataset.tab);
|
|
||||||
oldValue = sel.value;
|
oldValue = sel.value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -230,4 +178,4 @@ export function searchBox(): HTMLElement {
|
||||||
return searchBoxElem;
|
return searchBoxElem;
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { searchBox, registerSearchEntries };
|
export default searchBox;
|
|
@ -1,314 +0,0 @@
|
||||||
// @ts-expect-error: Asset imports are handled by parcel
|
|
||||||
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";
|
|
||||||
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
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,212 +0,0 @@
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import chemistry from "~/assets/images/tab-icons/chemistry.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import medicine from "~/assets/images/tab-icons/medicine.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import plumbing from "~/assets/images/tab-icons/plumbing.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import grenade from "~/assets/images/tab-icons/grenade.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import genetics from "~/assets/images/tab-icons/genetics.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import virus from "~/assets/images/tab-icons/virus.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import surgery from "~/assets/images/tab-icons/surgery.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import trauma from "~/assets/images/tab-icons/trauma.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import wound from "~/assets/images/tab-icons/wound.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import ghetto from "~/assets/images/tab-icons/ghetto.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import construction from "~/assets/images/tab-icons/construction.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import machines from "~/assets/images/tab-icons/machines.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import power from "~/assets/images/tab-icons/power.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import solar from "~/assets/images/tab-icons/solar.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import supermatter from "~/assets/images/tab-icons/supermatter.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import shield from "~/assets/images/tab-icons/shield.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import turbine from "~/assets/images/tab-icons/turbine.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import atmos from "~/assets/images/tab-icons/atmos.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import tcomm from "~/assets/images/tab-icons/tcomm.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import rnd from "~/assets/images/tab-icons/rnd.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import toxins from "~/assets/images/tab-icons/toxins.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import xeno from "~/assets/images/tab-icons/xeno.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import nanites from "~/assets/images/tab-icons/nanites.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import rules from "~/assets/images/tab-icons/rules.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import aimod from "~/assets/images/tab-icons/aimod.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import tips from "~/assets/images/tab-icons/tips.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import critter from "~/assets/images/tab-icons/critter.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import races from "~/assets/images/tab-icons/races.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import food from "~/assets/images/tab-icons/food.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import hydro from "~/assets/images/tab-icons/hydro.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import song from "~/assets/images/tab-icons/song.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import crate from "~/assets/images/tab-icons/crate.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import space from "~/assets/images/tab-icons/space.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import aux from "~/assets/images/tab-icons/auxbase.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import robo from "~/assets/images/tab-icons/robo.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import security from "~/assets/images/tab-icons/security.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import law from "~/assets/images/tab-icons/law.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import sop from "~/assets/images/tab-icons/sop.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import trial from "~/assets/images/tab-icons/trial.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import traitor from "~/assets/images/tab-icons/traitor.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import hacking from "~/assets/images/tab-icons/hacking.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import weapons from "~/assets/images/tab-icons/weapons.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import uplink from "~/assets/images/tab-icons/uplink.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import rev from "~/assets/images/tab-icons/rev.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import cult from "~/assets/images/tab-icons/cult.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import nuke from "~/assets/images/tab-icons/nuke.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import malf from "~/assets/images/tab-icons/malf.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import combat from "~/assets/images/tab-icons/combat.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import access from "~/assets/images/tab-icons/access.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import xmorph from "~/assets/images/tab-icons/xmorph.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
import abduction from "~/assets/images/tab-icons/abduction.svg";
|
|
||||||
// @ts-expect-error: Parcel image import
|
|
||||||
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 = "";
|
||||||
|
}
|
22
src/utils.ts
|
@ -1,11 +1,19 @@
|
||||||
export function nextAnimationFrame(): Promise<void> {
|
export function nextAnimationFrame(): Promise {
|
||||||
return new Promise((resolve) => requestAnimationFrame(() => resolve()));
|
return new Promise(requestAnimationFrame);
|
||||||
}
|
}
|
||||||
|
|
||||||
export function delay(ms: number): Promise<void> {
|
export function findParent(
|
||||||
return new Promise((resolve) => {
|
base: HTMLElement,
|
||||||
setTimeout(() => resolve(), ms);
|
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";
|
html,
|
||||||
@import "search.scss";
|
body {
|
||||||
@import "pages/global.scss";
|
margin: 0;
|
||||||
@import "pages/chemistry.scss";
|
padding: 0;
|
||||||
@import "pages/food.scss";
|
height: 100%;
|
||||||
@import "pages/virology.scss";
|
overflow: hidden;
|
||||||
@import "pages/welcome.scss";
|
}
|
||||||
|
|
||||||
|
.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;
|
|
||||||
}
|
|
1
style/vars.scss
Normal file
|
@ -0,0 +1 @@
|
||||||
|
$nanotrasen: #384e68;
|
|
@ -2,7 +2,6 @@
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"target": "ES2020",
|
"target": "ES2020",
|
||||||
"baseUrl": ".",
|
"baseUrl": ".",
|
||||||
"allowSyntheticDefaultImports": true,
|
|
||||||
"paths": {
|
"paths": {
|
||||||
"~*": ["./src/*"]
|
"~*": ["./src/*"]
|
||||||
}
|
}
|
||||||
|
|
|
@ -3230,11 +3230,6 @@ icss-replace-symbols@1.1.0, icss-replace-symbols@^1.1.0:
|
||||||
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
|
resolved "https://registry.yarnpkg.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
|
||||||
integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
|
integrity sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=
|
||||||
|
|
||||||
idb-keyval@^3.2.0:
|
|
||||||
version "3.2.0"
|
|
||||||
resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-3.2.0.tgz#cbbf354deb5684b6cdc84376294fc05932845bd6"
|
|
||||||
integrity sha512-slx8Q6oywCCSfKgPgL0sEsXtPVnSbTLWpyiDcu6msHOyKOLari1TD1qocXVCft80umnkk3/Qqh3lwoFt8T/BPQ==
|
|
||||||
|
|
||||||
ieee754@^1.1.4:
|
ieee754@^1.1.4:
|
||||||
version "1.1.13"
|
version "1.1.13"
|
||||||
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
|
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84"
|
||||||
|
|