Compare commits
95 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c2a6cb8639 | ||
![]() |
6fd71fa6fa | ||
![]() |
994cb17641 | ||
![]() |
c265e724c9 | ||
![]() |
dc72461a68 | ||
2b1a912478 | |||
78fbc42a0c | |||
65bc526a91 | |||
bc878dfb64 | |||
a083758325 | |||
b622f3cb9b | |||
ff50de3064 | |||
c13a708584 | |||
8845426001 | |||
![]() |
89279a6735 | ||
![]() |
526ec4f236 | ||
![]() |
f78a14b79c | ||
e50b65dde1 | |||
f0529b100e | |||
4658e475ef | |||
![]() |
7b3737d44c | ||
![]() |
91e44ce19a | ||
![]() |
ac7cc48119 | ||
![]() |
d9de280d3d | ||
![]() |
1fb3876cd4 | ||
![]() |
c568949e74 | ||
![]() |
6f84c2a9e5 | ||
![]() |
97a6a4a94a | ||
![]() |
e1b5f73c31 | ||
![]() |
87f8a54656 | ||
![]() |
84b0c084de | ||
![]() |
6a269bbaae | ||
![]() |
9f9a892798 | ||
![]() |
ff7390d3ae | ||
![]() |
7ae9abb1ad | ||
![]() |
cd4c462e62 | ||
![]() |
b5a927077a | ||
![]() |
5996c1a6e0 | ||
![]() |
ffe52a61e7 | ||
4551ab18c1 | |||
![]() |
806557edb7 | ||
0c080ba2ac | |||
a9d05bdd84 | |||
ecf721aac1 | |||
d3875151f8 | |||
c87b94b3c6 | |||
4f2bddde67 | |||
fb4ac70c10 | |||
ad7d814cd6 | |||
72c7699918 | |||
9f425c87f2 | |||
119776dc29 | |||
41b65cbf24 | |||
14e147924d | |||
d48831aa9e | |||
e059c26083 | |||
07f1ebab3c | |||
0b025ea92d | |||
fb43570953 | |||
4d78a56903 | |||
27277d1ec3 | |||
fac66a55ce | |||
c22f4bee3f | |||
dc4ed38d13 | |||
9b3ec83c47 | |||
4155527237 | |||
ec39325750 | |||
6b19e122d4 | |||
bee79c2252 | |||
4f80afe70d | |||
4f6be3cf67 | |||
cc13c65dab | |||
c8f0bf86ae | |||
041974094c | |||
ddec5ac2c8 | |||
a00a3041d9 | |||
4453299636 | |||
97cf39783f | |||
be2114b379 | |||
62527b3876 | |||
![]() |
c5279de4de | ||
![]() |
ec849ff78d | ||
d3060ace84 | |||
cfac8c113b | |||
deaffff0b7 | |||
ed6fb01010 | |||
94f5fafbcb | |||
d5608b0b4a | |||
418f7ad287 | |||
beb2cd4b28 | |||
6a928f5385 | |||
5cae96f464 | |||
9453086705 | |||
ea936a72dc | |||
a7c665e621 |
|
@ -4,6 +4,7 @@
|
|||
|
||||
The following versions of this project that are currently supported and unsupported:
|
||||
|
||||
- **Version 2.3.7** – Supported ✅
|
||||
- **Version 2.3.5** – Supported ✅
|
||||
- **Version 2.3.1** – Supported ✅
|
||||
- **Version 2.3.0** – Supported ✅
|
||||
|
@ -17,4 +18,4 @@ The following versions of this project that are currently supported and unsuppor
|
|||
|
||||
## Support
|
||||
|
||||
If you are experiencing an issue with Waves unrelated to security, feel free to join our [Discord](https://discord.gg/dJvdkPRheV) server and open a ticket.
|
||||
If you are experiencing an issue with Waves unrelated to security, feel free to join our [Discord Server](https://discord.gg/dJvdkPRheV) and open a ticket.
|
257
index.mjs
|
@ -1,74 +1,126 @@
|
|||
import cluster from "cluster";
|
||||
import os from "os";
|
||||
import net from "net";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
import { spawnSync } from "child_process";
|
||||
import express from "express";
|
||||
import { createServer } from "http";
|
||||
import path from "path";
|
||||
import compression from "compression";
|
||||
import WebSocket from "ws";
|
||||
import { LRUCache } from "lru-cache";
|
||||
import { baremuxPath } from "@mercuryworkshop/bare-mux/node";
|
||||
import { epoxyPath } from "@mercuryworkshop/epoxy-transport";
|
||||
import { libcurlPath } from "@mercuryworkshop/libcurl-transport";
|
||||
import { uvPath } from "@titaniumnetwork-dev/ultraviolet";
|
||||
import wisp from "wisp-server-node";
|
||||
import NodeCache from "node-cache";
|
||||
|
||||
const surgeConfigPath = path.resolve("surge.config.json");
|
||||
const isSurgedRun = process.argv.includes("--surged");
|
||||
let startTime = Date.now();
|
||||
|
||||
function applySurgeAndRestartIfNeeded() {
|
||||
if (isSurgedRun) {
|
||||
try {
|
||||
const config = JSON.parse(fs.readFileSync(surgeConfigPath, "utf-8"));
|
||||
process.env.UV_THREADPOOL_SIZE = String(config.uvThreadpoolSize);
|
||||
} catch {}
|
||||
return;
|
||||
}
|
||||
|
||||
const result = spawnSync("node", ["./others/surge.mjs"], { stdio: "inherit" });
|
||||
if (result.error) process.exit(1);
|
||||
|
||||
const config = JSON.parse(fs.readFileSync(surgeConfigPath, "utf-8"));
|
||||
const nodeArgs = [...config.nodeFlags, path.resolve("index.mjs"), "--surged"];
|
||||
const env = {
|
||||
...process.env,
|
||||
UV_THREADPOOL_SIZE: String(config.uvThreadpoolSize),
|
||||
ALREADY_SURGED: "true"
|
||||
};
|
||||
|
||||
const relaunch = spawnSync(process.execPath, nodeArgs, { stdio: "inherit", env });
|
||||
process.exit(relaunch.status || 0);
|
||||
}
|
||||
|
||||
applySurgeAndRestartIfNeeded();
|
||||
|
||||
if (global.gc) {
|
||||
setInterval(() => {
|
||||
const { heapUsed, heapTotal } = process.memoryUsage();
|
||||
if (heapTotal > 0 && heapUsed / heapTotal > 0.7) global.gc();
|
||||
}, 60000);
|
||||
}
|
||||
|
||||
import "./others/scaler.mjs";
|
||||
import "./others/warmup.mjs";
|
||||
|
||||
const cache = new LRUCache({
|
||||
maxSize: 1000,
|
||||
ttl: 60_000,
|
||||
allowStale: false,
|
||||
sizeCalculation: (value, key) => Buffer.byteLength(value) + Buffer.byteLength(key)
|
||||
});
|
||||
|
||||
const port = parseInt(process.env.PORT || "3000", 10);
|
||||
cluster.schedulingPolicy = cluster.SCHED_RR;
|
||||
|
||||
function logInfo(message) {
|
||||
console.info(`[INFO] ${message}`);
|
||||
}
|
||||
function logError(error) {
|
||||
const msg = error instanceof Error ? error.message : error;
|
||||
console.error(`[ERR] ${msg}`);
|
||||
function logInfo(msg) {
|
||||
console.info(`[~] ${msg}`);
|
||||
}
|
||||
|
||||
process.on("uncaughtException", (err) => logError(`Unhandled Exception: ${err}`));
|
||||
process.on("unhandledRejection", (reason) => logError(`Unhandled Promise Rejection: ${reason}`));
|
||||
function logSuccess(msg) {
|
||||
console.info(`[+] ${msg}`);
|
||||
}
|
||||
|
||||
function logError(err) {
|
||||
console.error(`[!] ${err instanceof Error ? err.message : err}`);
|
||||
}
|
||||
|
||||
process.on("uncaughtException", err => logError(`Unhandled Exception: ${err}`));
|
||||
process.on("unhandledRejection", reason => logError(`Unhandled Rejection: ${reason}`));
|
||||
|
||||
if (cluster.isPrimary) {
|
||||
const numCPUs = os.cpus().length;
|
||||
logInfo(`Master started. Forking ${numCPUs} workers.`);
|
||||
for (let i = 0; i < numCPUs; i++) {
|
||||
const cpus = os.cpus().length;
|
||||
const workers = Math.max(1, cpus - 1);
|
||||
|
||||
logInfo(`Master: forking ${workers} workers`);
|
||||
|
||||
for (let i = 0; i < workers; i++) {
|
||||
cluster.fork();
|
||||
}
|
||||
cluster.on("exit", (worker, code, signal) => {
|
||||
logError(`Worker ${worker.process.pid} terminated (code: ${code}, signal: ${signal}). Restarting...`);
|
||||
|
||||
cluster.on("exit", worker => {
|
||||
logError(`Worker ${worker.process.pid} exited. Restarting...`);
|
||||
cluster.fork();
|
||||
});
|
||||
let currentWorker = 0;
|
||||
const server = net.createServer({ pauseOnConnect: true }, (connection) => {
|
||||
const workerIds = Object.keys(cluster.workers);
|
||||
if (workerIds.length === 0) {
|
||||
connection.destroy();
|
||||
return;
|
||||
}
|
||||
const worker = cluster.workers[workerIds[currentWorker % workerIds.length]];
|
||||
currentWorker++;
|
||||
if (worker) worker.send("sticky-session:connection", connection);
|
||||
|
||||
let current = 0;
|
||||
const server = net.createServer({ pauseOnConnect: true }, conn => {
|
||||
const workersArr = Object.values(cluster.workers);
|
||||
if (!workersArr.length) return conn.destroy();
|
||||
const worker = workersArr[current++ % workersArr.length];
|
||||
worker.send("sticky-session:connection", conn);
|
||||
});
|
||||
server.on("error", (err) => logError(`Server error: ${err}`));
|
||||
server.listen(port, () => logInfo(`Server running at http://localhost:${port}`));
|
||||
|
||||
server.on("error", err => logError(`Server error: ${err}`));
|
||||
server.listen(port, () => logSuccess(`Server listening on ${port}`));
|
||||
} else {
|
||||
|
||||
process.env.UV_THREADPOOL_SIZE = os.cpus().length * 2;
|
||||
|
||||
const __dirname = process.cwd();
|
||||
const publicPath = path.join(__dirname, "public");
|
||||
const app = express();
|
||||
let latencySamples = [];
|
||||
|
||||
app.use(compression({ level: 9, threshold: 128, memLevel: 9 }));
|
||||
app.use(compression({ level: 4, memLevel: 4, threshold: 1024 }));
|
||||
|
||||
const cache = new NodeCache({ stdTTL: 1, checkperiod: 1 });
|
||||
app.use((req, res, next) => {
|
||||
const key = req.originalUrl;
|
||||
if (cache.has(key)) {
|
||||
const val = cache.get(key);
|
||||
if (val) {
|
||||
res.setHeader("X-Cache", "HIT");
|
||||
return res.send(cache.get(key));
|
||||
return res.send(val);
|
||||
}
|
||||
res.sendResponse = res.send;
|
||||
res.send = (body) => {
|
||||
res.sendResponse = res.send.bind(res);
|
||||
res.send = body => {
|
||||
cache.set(key, body);
|
||||
res.setHeader("X-Cache", "MISS");
|
||||
res.sendResponse(body);
|
||||
|
@ -76,7 +128,7 @@ if (cluster.isPrimary) {
|
|||
next();
|
||||
});
|
||||
|
||||
const staticOpts = { maxAge: "1s" };
|
||||
const staticOpts = { maxAge: "7d", immutable: true };
|
||||
app.use("/baremux/", express.static(baremuxPath, staticOpts));
|
||||
app.use("/epoxy/", express.static(epoxyPath, staticOpts));
|
||||
app.use("/libcurl/", express.static(libcurlPath, staticOpts));
|
||||
|
@ -84,62 +136,129 @@ if (cluster.isPrimary) {
|
|||
app.use("/wah/", express.static(uvPath, staticOpts));
|
||||
app.use(express.json());
|
||||
|
||||
app.get("/", (req, res) => res.sendFile(path.join(publicPath, "$.html")));
|
||||
app.get("/g", (req, res) => res.sendFile(path.join(publicPath, "!.html")));
|
||||
app.get("/a", (req, res) => res.sendFile(path.join(publicPath, "!!.html")));
|
||||
app.get("/ai", (req, res) => res.sendFile(path.join(publicPath, "!!!.html")));
|
||||
app.get("/resent", (req, res) => res.sendFile(path.join(publicPath, "resent", "index.html")));
|
||||
app.use((req, res) => res.status(404).sendFile(path.join(publicPath, "404.html")));
|
||||
const sendHtml = file => (_req, res) => res.sendFile(path.join(publicPath, file));
|
||||
|
||||
app.get("/", sendHtml("$.html"));
|
||||
app.get("/g", sendHtml("!.html"));
|
||||
app.get("/a", sendHtml("!!.html"));
|
||||
app.get("/resent", (_req, res) => res.sendFile(path.join(publicPath, "resent", "index.html")));
|
||||
|
||||
app.get("/api/info", (_req, res) => {
|
||||
try {
|
||||
const average = latencySamples.length
|
||||
? latencySamples.reduce((a, b) => a + b, 0) / latencySamples.length
|
||||
: 0;
|
||||
let speed = "Medium";
|
||||
if (average < 200) speed = "Fast";
|
||||
else if (average > 500) speed = "Slow";
|
||||
const cpus = os.cpus();
|
||||
const totalMem = os.totalmem() / 1024 / 1024 / 1024;
|
||||
res.json({
|
||||
speed,
|
||||
averageLatency: average.toFixed(2),
|
||||
specs: `${cpus[0].model} + ${cpus.length} CPU Cores + ${totalMem.toFixed(1)}GB of RAM`,
|
||||
startTime,
|
||||
samples: latencySamples.length,
|
||||
timestamp: Date.now()
|
||||
});
|
||||
} catch {
|
||||
res.status(500).json({ error: "Internal error" });
|
||||
}
|
||||
});
|
||||
|
||||
app.get("/api/latest-commit", async (_req, res) => {
|
||||
try {
|
||||
const ghRes = await fetch(
|
||||
"https://api.github.com/repos/xojw/waves/commits?per_page=1",
|
||||
{
|
||||
headers: {
|
||||
"User-Agent": "waves-app",
|
||||
Accept: "application/vnd.github.v3+json"
|
||||
}
|
||||
}
|
||||
);
|
||||
if (!ghRes.ok) return res.status(ghRes.status).json({ error: "GitHub API error" });
|
||||
|
||||
const commits = await ghRes.json();
|
||||
const updates = commits.map(c => ({
|
||||
sha: c.sha.slice(0, 7),
|
||||
message: c.commit.message.split("\n")[0],
|
||||
author: c.commit.author.name,
|
||||
date: c.commit.author.date
|
||||
}));
|
||||
|
||||
res.json({ repo: "xojw/waves", updates });
|
||||
} catch {
|
||||
res.status(500).json({ error: "Internal server error" });
|
||||
}
|
||||
});
|
||||
|
||||
app.use((_req, res) => res.status(404).sendFile(path.join(publicPath, "404.html")));
|
||||
|
||||
const server = createServer(app);
|
||||
server.keepAliveTimeout = 0;
|
||||
server.headersTimeout = 0;
|
||||
|
||||
const pingWSS = new WebSocket.Server({ noServer: true, maxPayload: 1048576 });
|
||||
const pingWSS = new WebSocket.Server({
|
||||
noServer: true,
|
||||
maxPayload: 4 * 1024 * 1024,
|
||||
perMessageDeflate: false
|
||||
});
|
||||
|
||||
pingWSS.on("connection", (ws, req) => {
|
||||
const remoteAddress = req.socket.remoteAddress || "unknown";
|
||||
let latencies = [];
|
||||
const pingInterval = setInterval(() => {
|
||||
const remote = req.socket.remoteAddress || "unknown";
|
||||
let lat = [];
|
||||
const interval = setInterval(() => {
|
||||
if (ws.readyState === WebSocket.OPEN) {
|
||||
const timestamp = Date.now();
|
||||
ws.send(JSON.stringify({ type: "ping", timestamp }));
|
||||
ws.send(JSON.stringify({ type: "ping", timestamp: Date.now() }));
|
||||
}
|
||||
}, 1000);
|
||||
ws.on("message", (message) => {
|
||||
|
||||
ws.on("message", msg => {
|
||||
try {
|
||||
const data = JSON.parse(message);
|
||||
const data = JSON.parse(msg);
|
||||
if (data.type === "pong" && data.timestamp) {
|
||||
const latency = Date.now() - data.timestamp;
|
||||
latencies.push(latency);
|
||||
if (latencies.length > 5) latencies.shift();
|
||||
ws.send(JSON.stringify({ type: "latency", latency }));
|
||||
const d = Date.now() - data.timestamp;
|
||||
lat.push(d);
|
||||
if (lat.length > 5) lat.shift();
|
||||
latencySamples.push(d);
|
||||
if (latencySamples.length > 100) latencySamples.shift();
|
||||
ws.send(JSON.stringify({ type: "latency", latency: d }));
|
||||
}
|
||||
} catch (e) {
|
||||
logError(`Ping error: ${e}`);
|
||||
}
|
||||
});
|
||||
|
||||
ws.on("close", () => {
|
||||
clearInterval(pingInterval);
|
||||
const avgLatency = latencies.length ? latencies.reduce((a, b) => a + b) / latencies.length : 0;
|
||||
logInfo(`Conn from ${remoteAddress} closed. Avg: ${avgLatency.toFixed(2)}ms.`);
|
||||
clearInterval(interval);
|
||||
const avg = lat.length
|
||||
? (lat.reduce((a, b) => a + b) / lat.length).toFixed(2)
|
||||
: 0;
|
||||
logInfo(`WS ${remote} closed. Avg: ${avg}ms`);
|
||||
});
|
||||
});
|
||||
|
||||
server.on("upgrade", (req, socket, head) => {
|
||||
server.on("upgrade", (req, sock, head) => {
|
||||
if (req.url === "/w/ping") {
|
||||
pingWSS.handleUpgrade(req, socket, head, (ws) => pingWSS.emit("connection", ws, req));
|
||||
pingWSS.handleUpgrade(req, sock, head, ws =>
|
||||
pingWSS.emit("connection", ws, req)
|
||||
);
|
||||
} else if (req.url.startsWith("/w/")) {
|
||||
wisp.routeRequest(req, socket, head);
|
||||
wisp.routeRequest(req, sock, head);
|
||||
} else {
|
||||
socket.end();
|
||||
sock.end();
|
||||
}
|
||||
});
|
||||
server.on("error", (err) => logError(`Worker server error: ${err}`));
|
||||
server.listen(0, () => logInfo(`Worker ${process.pid} ready.`));
|
||||
process.on("message", (message, connection) => {
|
||||
if (message === "sticky-session:connection") {
|
||||
server.emit("connection", connection);
|
||||
connection.resume();
|
||||
|
||||
server.on("error", err => logError(`Worker error: ${err}`));
|
||||
|
||||
server.listen(0, () => logSuccess(`Worker ${process.pid} ready`));
|
||||
|
||||
process.on("message", (msg, conn) => {
|
||||
if (msg === "sticky-session:connection" && conn) {
|
||||
server.emit("connection", conn);
|
||||
conn.resume();
|
||||
}
|
||||
});
|
||||
}
|
36
others/scaler.mjs
Normal file
|
@ -0,0 +1,36 @@
|
|||
import { LRUCache } from 'lru-cache';
|
||||
|
||||
let maxKeys = 10_000;
|
||||
let cache = makeCache(maxKeys);
|
||||
|
||||
function makeCache(maxEntries) {
|
||||
return new LRUCache({
|
||||
maxSize: maxEntries,
|
||||
ttl: 60_000,
|
||||
allowStale: false,
|
||||
updateAgeOnGet: false,
|
||||
updateAgeOnHas: false,
|
||||
});
|
||||
}
|
||||
|
||||
function scaleCache() {
|
||||
const { heapUsed, heapTotal } = process.memoryUsage();
|
||||
const freeHeapRatio = (heapTotal - heapUsed) / heapTotal;
|
||||
|
||||
const newMax = freeHeapRatio > 0.5
|
||||
? 20_000
|
||||
: freeHeapRatio < 0.2
|
||||
? 5_000
|
||||
: 10_000;
|
||||
|
||||
if (newMax !== maxKeys) {
|
||||
maxKeys = newMax;
|
||||
cache = makeCache(maxKeys);
|
||||
console.log(`[SCALER] freeHeap ${( (heapTotal - heapUsed)/1e6 ).toFixed(1)}MB → maxKeys: ${maxKeys}`);
|
||||
}
|
||||
}
|
||||
|
||||
setInterval(scaleCache, 60_000);
|
||||
scaleCache();
|
||||
|
||||
export { cache };
|
57
others/surge.mjs
Normal file
|
@ -0,0 +1,57 @@
|
|||
import { execSync } from "child_process";
|
||||
import os from "os";
|
||||
import fs from "fs";
|
||||
import path from "path";
|
||||
|
||||
const log = (msg) => console.log(`[SURGE] ${msg}`);
|
||||
const surgePath = path.resolve("surge.config.json");
|
||||
|
||||
function generateSurgeFlags() {
|
||||
const cpus = os.cpus().length;
|
||||
const flags = [
|
||||
"--max-old-space-size=4096",
|
||||
"--optimize_for_size",
|
||||
"--gc-global",
|
||||
"--max-semi-space-size=256",
|
||||
"--no-warnings",
|
||||
"--expose-gc"
|
||||
];
|
||||
|
||||
if (process.platform !== "win32") {
|
||||
flags.push("--use-largepages=on");
|
||||
}
|
||||
|
||||
return {
|
||||
uvThreadpoolSize: cpus * 2,
|
||||
nodeFlags: flags
|
||||
};
|
||||
}
|
||||
|
||||
function writeSurgeFile(flags) {
|
||||
fs.writeFileSync(surgePath, JSON.stringify(flags, null, 2));
|
||||
log("Surge config saved.");
|
||||
}
|
||||
|
||||
function launchSurgedBackend(flags) {
|
||||
const args = [
|
||||
...flags.nodeFlags,
|
||||
"index.mjs",
|
||||
"--surged"
|
||||
];
|
||||
log(`Launching backend: node ${args.join(" ")}`);
|
||||
execSync(`node ${args.join(" ")}`, { stdio: "inherit" });
|
||||
}
|
||||
|
||||
function isSurgedRun() {
|
||||
return process.argv.includes("--surged");
|
||||
}
|
||||
|
||||
(async () => {
|
||||
if (isSurgedRun()) return;
|
||||
|
||||
log("Detecting best settings...");
|
||||
const flags = generateSurgeFlags();
|
||||
writeSurgeFile(flags);
|
||||
launchSurgedBackend(flags);
|
||||
process.exit(0);
|
||||
})();
|
59
others/warmup.mjs
Normal file
|
@ -0,0 +1,59 @@
|
|||
import http from 'http';
|
||||
|
||||
const endpoints = [
|
||||
'http://localhost:3000/',
|
||||
'http://localhost:3000/g',
|
||||
'http://localhost:3000/a'
|
||||
];
|
||||
|
||||
function httpGet(url, timeout = 5000) {
|
||||
return new Promise((resolve) => {
|
||||
const req = http.get(url, (res) => {
|
||||
res.on('data', () => {});
|
||||
res.on('end', () => {
|
||||
resolve({ url, statusCode: res.statusCode });
|
||||
});
|
||||
});
|
||||
|
||||
req.on('error', (e) => {
|
||||
resolve({ url, error: e.message });
|
||||
});
|
||||
|
||||
req.setTimeout(timeout, () => {
|
||||
req.abort();
|
||||
resolve({ url, error: 'Timeout' });
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
async function warm(retries = 2) {
|
||||
const results = await Promise.all(endpoints.map(async (url) => {
|
||||
for (let i = 0; i <= retries; i++) {
|
||||
const res = await httpGet(url);
|
||||
if (!res.error) {
|
||||
console.log(`[WARMUP] ${url} → ${res.statusCode}`);
|
||||
return res;
|
||||
} else {
|
||||
console.warn(`[WARMUP] ${url} attempt ${i + 1} failed: ${res.error}`);
|
||||
}
|
||||
}
|
||||
return { url, error: `Failed after ${retries + 1} attempts` };
|
||||
}));
|
||||
|
||||
const failed = results.filter(r => r.error);
|
||||
if (failed.length) {
|
||||
console.warn(`[WARMUP] Some endpoints failed to warm:`, failed);
|
||||
} else {
|
||||
console.log('[WARMUP] All endpoints warmed successfully');
|
||||
}
|
||||
}
|
||||
|
||||
async function periodicWarmup(intervalMs = 5 * 60 * 1000) {
|
||||
while (true) {
|
||||
await warm();
|
||||
console.log('[WARMUP] Cycle done');
|
||||
await new Promise(res => setTimeout(res, intervalMs));
|
||||
}
|
||||
}
|
||||
|
||||
setTimeout(() => periodicWarmup(), 2000);
|
3285
package-lock.json
generated
83
package.json
|
@ -1,44 +1,41 @@
|
|||
{
|
||||
"name": "waves",
|
||||
"version": "2.3.5",
|
||||
"description": "A sleek and minimalist Web Proxy.",
|
||||
"type": "module",
|
||||
"engines": {
|
||||
"npm": ">=7.0.0",
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node index.mjs",
|
||||
"dev": "nodemon index.mjs",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"author": {
|
||||
"name": "sent",
|
||||
"email": "sentttt@proton.me"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mercuryworkshop/bare-mux": "latest",
|
||||
"@mercuryworkshop/epoxy-transport": "latest",
|
||||
"@mercuryworkshop/libcurl-transport": "latest",
|
||||
"@titaniumnetwork-dev/ultraviolet": "latest",
|
||||
"axios": "^1.8.2",
|
||||
"cache": "^3.0.0",
|
||||
"compression": "latest",
|
||||
"cors": "^2.8.5",
|
||||
"express": "latest",
|
||||
"express-rate-limit": "^7.5.0",
|
||||
"fs": "^0.0.1-security",
|
||||
"node": "^23.9.0",
|
||||
"node-cache": "latest",
|
||||
"node-fetch": "latest",
|
||||
"wisp-server-node": "latest",
|
||||
"ws": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "latest",
|
||||
"glob": "latest",
|
||||
"nodemon": "latest",
|
||||
"prettier": "latest",
|
||||
"rimraf": "latest"
|
||||
}
|
||||
}
|
||||
"name": "waves",
|
||||
"version": "2.8.7",
|
||||
"description": "A sleek and minimalist Web Proxy.",
|
||||
"type": "module",
|
||||
"engines": {
|
||||
"npm": ">=7.0.0",
|
||||
"node": ">=16.0.0"
|
||||
},
|
||||
"scripts": {
|
||||
"start": "node index.mjs",
|
||||
"dev": "nodemon index.mjs",
|
||||
"lint": "eslint ."
|
||||
},
|
||||
"author": {
|
||||
"name": "sent",
|
||||
"email": "sentttt@proton.me"
|
||||
},
|
||||
"dependencies": {
|
||||
"@mercuryworkshop/bare-mux": "latest",
|
||||
"@mercuryworkshop/epoxy-transport": "latest",
|
||||
"@mercuryworkshop/libcurl-transport": "latest",
|
||||
"@titaniumnetwork-dev/ultraviolet": "latest",
|
||||
"axios": "latest",
|
||||
"cache": "latest",
|
||||
"compression": "latest",
|
||||
"cors": "latest",
|
||||
"express": "latest",
|
||||
"express-rate-limit": "latest",
|
||||
"lru-cache": "latest",
|
||||
"wisp-server-node": "latest",
|
||||
"ws": "latest"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "latest",
|
||||
"glob": "latest",
|
||||
"nodemon": "latest",
|
||||
"prettier": "latest",
|
||||
"rimraf": "latest"
|
||||
}
|
||||
}
|
|
@ -8,31 +8,53 @@
|
|||
<meta property="og:image" content="/assets/images/icons/favicon.ico"/>
|
||||
<meta name="theme-color" content="#ffffff"/>
|
||||
<meta name="msapplication-TileColor" content="#ffffff"/>
|
||||
<title>Waves</title>
|
||||
<title>Waves.</title>
|
||||
<link rel="icon" type="image/x-icon" href="/assets/images/icons/favicon.ico">
|
||||
<link rel="stylesheet" href="/assets/css/$.css">
|
||||
<link rel="stylesheet" href="/assets/css/settings.css">
|
||||
<link rel="stylesheet" href="/assets/css/toast.css">
|
||||
<link rel="stylesheet" href="/assets/css/a.css">
|
||||
<link rel="stylesheet" href="/assets/css/nprogress.css">
|
||||
<link href="https://cdn.jsdelivr.net/gh/aquawolf04/font-awesome-pro@5cd1511/css/all.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.js"></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WGJ2192JZY"></script><script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-WGJ2192JZY');</script>
|
||||
<script type='text/javascript' src='//pl26200262.effectiveratecpm.com/f0/e8/15/f0e81559842363ebf19aa99900ff2d02.js'></script>
|
||||
<!-- Cool little title animation :D-->
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
NProgress.configure({ showSpinner: false });
|
||||
NProgress.start();
|
||||
|
||||
const titleElement = document.querySelector('.search-title');
|
||||
if (titleElement) {
|
||||
const text = titleElement.textContent.trim();
|
||||
titleElement.textContent = '';
|
||||
text.split('').forEach((letter, i) => {
|
||||
const span = document.createElement('span');
|
||||
span.textContent = letter;
|
||||
span.style.animationDelay = `${i * 0.05}s`;
|
||||
titleElement.appendChild(span);
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
NProgress.done();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<script src="/baremux/index.js"></script>
|
||||
<script src="/assets/js/nprogress.js?v=0.2.0"></script>
|
||||
<script src="/wah/uv.bundle.js" defer></script>
|
||||
<script src="/wah/cute1.js" defer></script>
|
||||
<script src="/assets/js/navbar.js" defer></script>
|
||||
<script src="/assets/js/load.js" defer></script>
|
||||
<script src="/assets/js/eruda.js" defer></script>
|
||||
<script src="/assets/js/register.js" defer></script>
|
||||
<script src="/assets/js/settings.js" defer></script>
|
||||
<script src="/assets/js/greetings.js" defer></script>
|
||||
<script src="/assets/js/shortcuts.js" defer></script>
|
||||
<script src="/assets/js/$.js" defer></script>
|
||||
<script src="/assets/js/a.js" defer></script>
|
||||
<script src="/assets/js/eruda.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/register.js?v=2.8.5" defer></script>
|
||||
<script src="/assets/js/settings.js?v=2.8.7" defer></script>
|
||||
<script src="/assets/js/greetings.js?v=2.8.5" defer></script>
|
||||
<script src="/assets/js/shortcuts.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/$.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/a.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/wv.js?v=1.4.1" defer></script>
|
||||
<div class="relative flex flex-col h-[100vh] items-center justify-center bg-black transition-bg">
|
||||
<div class="absolute inset-0 overflow-hidden">
|
||||
<div class="god-rays absolute -inset-[10px] opacity-50"></div>
|
||||
|
@ -40,10 +62,10 @@
|
|||
</div>
|
||||
<div class="home-navbar">
|
||||
<img src="/assets/images/icons/favicon.ico" class="favicon">
|
||||
<span id="waves">Waves</span>
|
||||
<span id="waves">Waves.</span>
|
||||
<a href="/" id="home">Home</a>
|
||||
<a href="/g" id="games">Games</a>
|
||||
<a href="/a" id="apps">Apps</a>
|
||||
<a href="/a" id="apps" style="color: #ffffff;">Apps</a>
|
||||
<a href="#" id="movies">Movies</a>
|
||||
<a href="#" id="ai">AI</a>
|
||||
<a href="#" id="settings-icon">
|
||||
|
@ -63,7 +85,7 @@
|
|||
<input class="waves" type="text" id="searchInputt"
|
||||
placeholder="Search for a query or enter a URL..." autocomplete="off"
|
||||
style="padding-left: 40px;">
|
||||
<span class="shortcut-indicator-2">Ctrl + S</span>
|
||||
<span class="shortcut-indicator-2">Ctrl + S</span>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="/"><i class="fa-regular fa-home"></i></a></li>
|
||||
|
|
|
@ -8,31 +8,53 @@
|
|||
<meta property="og:image" content="/assets/images/icons/favicon.ico"/>
|
||||
<meta name="theme-color" content="#ffffff"/>
|
||||
<meta name="msapplication-TileColor" content="#ffffff"/>
|
||||
<title>Waves</title>
|
||||
<title>Waves.</title>
|
||||
<link rel="icon" type="image/x-icon" href="/assets/images/icons/favicon.ico">
|
||||
<link rel="stylesheet" href="/assets/css/$.css">
|
||||
<link rel="stylesheet" href="/assets/css/settings.css">
|
||||
<link rel="stylesheet" href="/assets/css/toast.css">
|
||||
<link rel="stylesheet" href="/assets/css/g.css">
|
||||
<link href="https://cdn.jsdelivr.net/gh/aquawolf04/font-awesome-pro@5cd1511/css/all.css" rel="stylesheet" />
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.js"></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WGJ2192JZY"></script><script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-WGJ2192JZY');</script>
|
||||
<script type='text/javascript' src='//pl26200262.effectiveratecpm.com/f0/e8/15/f0e81559842363ebf19aa99900ff2d02.js'></script>
|
||||
<script type='text/javascript' src='//pl26200262.effectiveratecpm.com/f0/e8/15/f0e81559842363ebf19aa99900ff2d02.js'></script>
|
||||
<!-- Cool little title animation :D-->
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
NProgress.configure({ showSpinner: false });
|
||||
NProgress.start();
|
||||
|
||||
const titleElement = document.querySelector('.search-title');
|
||||
if (titleElement) {
|
||||
const text = titleElement.textContent.trim();
|
||||
titleElement.textContent = '';
|
||||
text.split('').forEach((letter, i) => {
|
||||
const span = document.createElement('span');
|
||||
span.textContent = letter;
|
||||
span.style.animationDelay = `${i * 0.05}s`;
|
||||
titleElement.appendChild(span);
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
NProgress.done();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<script src="/baremux/index.js"></script>
|
||||
<script src="/assets/js/nprogress.js?v=0.2.0"></script>
|
||||
<script src="/wah/uv.bundle.js" defer></script>
|
||||
<script src="/wah/cute1.js" defer></script>
|
||||
<script src="/assets/js/navbar.js" defer></script>
|
||||
<script src="/assets/js/load.js" defer></script>
|
||||
<script src="/assets/js/eruda.js" defer></script>
|
||||
<script src="/assets/js/register.js" defer></script>
|
||||
<script src="/assets/js/settings.js" defer></script>
|
||||
<script src="/assets/js/greetings.js" defer></script>
|
||||
<script src="/assets/js/shortcuts.js" defer></script>
|
||||
<script src="/assets/js/$.js" defer></script>
|
||||
<script src="/assets/js/g.js" defer></script>
|
||||
<script src="/assets/js/eruda.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/register.js?v=2.8.5" defer></script>
|
||||
<script src="/assets/js/settings.js?v=2.8.7" defer></script>
|
||||
<script src="/assets/js/greetings.js?v=2.8.5" defer></script>
|
||||
<script src="/assets/js/shortcuts.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/$.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/g.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/wv.js?v=1.4.1" defer></script>
|
||||
<div class="relative flex flex-col h-[100vh] items-center justify-center bg-black transition-bg">
|
||||
<div class="absolute inset-0 overflow-hidden">
|
||||
<div class="god-rays absolute -inset-[10px] opacity-50"></div>
|
||||
|
@ -40,9 +62,9 @@
|
|||
</div>
|
||||
<div class="home-navbar">
|
||||
<img src="/assets/images/icons/favicon.ico" class="favicon">
|
||||
<span id="waves">Waves</span>
|
||||
<span id="waves">Waves.</span>
|
||||
<a href="/" id="home">Home</a>
|
||||
<a href="/g" id="games">Games</a>
|
||||
<a href="/g" id="games" style="color: #ffffff;">Games</a>
|
||||
<a href="/a" id="apps">Apps</a>
|
||||
<a href="#" id="movies">Movies</a>
|
||||
<a href="#" id="ai">AI</a>
|
||||
|
@ -63,7 +85,7 @@
|
|||
<input class="waves" type="text" id="searchInputt"
|
||||
placeholder="Search for a query or enter a URL..." autocomplete="off"
|
||||
style="padding-left: 40px;">
|
||||
<span class="shortcut-indicator-2">Ctrl + S</span>
|
||||
<span class="shortcut-indicator-2">Ctrl + S</span>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="/"><i class="fa-regular fa-home"></i></a></li>
|
||||
|
@ -96,6 +118,5 @@
|
|||
<div id="erudaLoadingScreen" style="display: none;">Eruda is loading...</div>
|
||||
<iframe id="cool-iframe" class="iframe"></iframe>
|
||||
<script type='text/javascript' src='//pl26200346.effectiveratecpm.com/08/db/84/08db842da9b43ad3d13c14634f9fd1c8.js'></script>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -8,31 +8,53 @@
|
|||
<meta property="og:image" content="/assets/images/icons/favicon.ico"/>
|
||||
<meta name="theme-color" content="#ffffff"/>
|
||||
<meta name="msapplication-TileColor" content="#ffffff"/>
|
||||
<title>Waves.</title>
|
||||
<title>Waves.</title>
|
||||
<link rel="icon" type="image/x-icon" href="/assets/images/icons/favicon.ico">
|
||||
<link rel="stylesheet" href="/assets/css/$.css">
|
||||
<link rel="stylesheet" href="/assets/css/settings.css">
|
||||
<link rel="stylesheet" href="/assets/css/toast.css">
|
||||
<link rel="stylesheet" href="/assets/css/nprogress.css">
|
||||
<link href="https://cdn.jsdelivr.net/gh/aquawolf04/font-awesome-pro@5cd1511/css/all.css" rel="stylesheet">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.css">
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/nprogress/0.2.0/nprogress.min.js"></script>
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-WGJ2192JZY"></script><script>window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-WGJ2192JZY');</script>
|
||||
<script type='text/javascript' src='//pl26200262.effectiveratecpm.com/f0/e8/15/f0e81559842363ebf19aa99900ff2d02.js'></script>
|
||||
<!-- Cool little title animation :D-->
|
||||
<script>
|
||||
document.addEventListener('DOMContentLoaded', function () {
|
||||
|
||||
NProgress.configure({ showSpinner: false });
|
||||
NProgress.start();
|
||||
|
||||
const titleElement = document.querySelector('.search-title');
|
||||
if (titleElement) {
|
||||
const text = titleElement.textContent.trim();
|
||||
titleElement.textContent = '';
|
||||
text.split('').forEach((letter, i) => {
|
||||
const span = document.createElement('span');
|
||||
span.textContent = letter;
|
||||
span.style.animationDelay = `${i * 0.05}s`;
|
||||
titleElement.appendChild(span);
|
||||
});
|
||||
}
|
||||
|
||||
window.addEventListener('load', function () {
|
||||
NProgress.done();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<script src="/baremux/index.js"></script>
|
||||
<script src="/assets/js/nprogress.js?v=0.2.0"></script>
|
||||
<script src="/wah/uv.bundle.js" defer></script>
|
||||
<script src="/wah/cute1.js" defer></script>
|
||||
<script src="/assets/js/navbar.js" defer></script>
|
||||
<script src="/assets/js/load.js" defer></script>
|
||||
<script src="/assets/js/eruda.js" defer></script>
|
||||
<script src="/assets/js/register.js" defer></script>
|
||||
<script src="/assets/js/settings.js" defer></script>
|
||||
<script src="/assets/js/ping.js" defer></script>
|
||||
<script src="/assets/js/greetings.js" defer></script>
|
||||
<script src="/assets/js/shortcuts.js" defer></script>
|
||||
<script src="/assets/js/$.js" defer></script>
|
||||
<div class="relative flex flex-col h-[100vh] items-center justify-center bg-white transition-bg">
|
||||
<script src="/assets/js/eruda.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/register.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/settings.js?v=2.8.8" defer></script>
|
||||
<script src="/assets/js/ping.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/greetings.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/shortcuts.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/$.js?v=2.8.4" defer></script>
|
||||
<script src="/assets/js/wv.js?v=1.4.1" defer></script>
|
||||
<div class="relative flex flex-col h-[100vh] items-center justify-center bg-black transition-bg">
|
||||
<div class="absolute inset-0 overflow-hidden">
|
||||
<div class="god-rays absolute -inset-[10px] opacity-50"></div>
|
||||
</div>
|
||||
|
@ -40,15 +62,16 @@
|
|||
<div class="home-navbar">
|
||||
<img src="/assets/images/icons/favicon.ico" class="favicon">
|
||||
<span id="waves">Waves</span>
|
||||
<a href="/" id="home">Home</a>
|
||||
<a href="/" id="home" style="color: #ffffff;">Home</a>
|
||||
<a href="/g" id="games">Games</a>
|
||||
<a href="/a" id="apps">Apps</a>
|
||||
<a href="#" id="movies">Movies</a>
|
||||
<a href="#" id="ai">AI</a>
|
||||
<a href="#" id="settings-icon">
|
||||
<i id="settings-icon" class="settings-icon fa-regular fa-gear"></i>
|
||||
<i class="settings-icon fa-regular fa-gear"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="glow-blob"></div>
|
||||
<div id="settings-menu" class="settings-menu"></div>
|
||||
<div class="navbar">
|
||||
<ul class="nav-buttons">
|
||||
|
@ -59,10 +82,8 @@
|
|||
<li>
|
||||
<div class="small-searchbar" style="position: relative;">
|
||||
<i id="lockIcon" class="fa-solid fa-lock"></i>
|
||||
<input class="waves" type="text" id="searchInputt"
|
||||
placeholder="Search for a query or enter a URL..." autocomplete="off"
|
||||
style="padding-left: 40px;">
|
||||
<span class="shortcut-indicator-2">Ctrl + S</span>
|
||||
<input class="waves" type="text" id="searchInputt" placeholder="Search for a query or enter a URL..." autocomplete="off" style="padding-left: 40px;">
|
||||
<span class="shortcut-indicator-2">Ctrl + S</span>
|
||||
</div>
|
||||
</li>
|
||||
<li><a href="/"><i class="fa-regular fa-home"></i></a></li>
|
||||
|
@ -87,13 +108,30 @@
|
|||
<input type="text" id="userName" placeholder="Your name" autocomplete="off">
|
||||
</div>
|
||||
<button id="doneButton" onclick="submitName()" disabled>
|
||||
<i class="fa-regular fa-check"></i> Done
|
||||
<i class="fa-regular fa-check"></i> Done
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div id="pingDisplay">Ping: Connecting...</div>
|
||||
<div id="pingDisplay"><i class="fa-regular fa-wifi"></i> Ping: Connecting...</div>
|
||||
<div id="greeting"></div>
|
||||
<iframe id="cool-iframe" class="iframe"></iframe>
|
||||
<script type='text/javascript' src='//pl26200346.effectiveratecpm.com/08/db/84/08db842da9b43ad3d13c14634f9fd1c8.js'></script>
|
||||
<div id="lastest-commit">Loading latest commit</div>
|
||||
<div id="copyright">
|
||||
<i class="fa-regular fa-copyright"></i> 2025
|
||||
<a class="hover-link" href="https://discord.gg/ire" target="_blank" rel="noopener noreferrer">
|
||||
<span class="copyrightname">Waves Services</span>
|
||||
</a>. All Rights Reserved.
|
||||
</div>
|
||||
<div id="discord">
|
||||
<a class="hover-link" href="https://discord.gg/ire" target="_blank" rel="noopener noreferrer">
|
||||
<i class="fa-brands fa-discord"></i> Discord
|
||||
</a>
|
||||
</div>
|
||||
<div id="github">
|
||||
<a class="hover-link" href="https://github.com/xojw/waves" target="_blank" rel="noopener noreferrer">
|
||||
<i class="fa-brands fa-github"></i> Github
|
||||
</a>
|
||||
</div>
|
||||
<script type="text/javascript" src="//pl26200346.effectiveratecpm.com/08/db/84/08db842da9b43ad3d13c14634f9fd1c8.js"></script>
|
||||
</body>
|
||||
</html>
|
|
@ -7,6 +7,7 @@ body {
|
|||
color: #e0e0e0;
|
||||
overflow-x: hidden;
|
||||
transition: background-color 0.3s ease;
|
||||
animation: fadeIn 0.3s ease;
|
||||
scroll-behavior: smooth;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
|
@ -17,6 +18,23 @@ body {
|
|||
color: #000000;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #4e4e4e;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #6b6b6b;
|
||||
}
|
||||
|
||||
#nprogress .bar {
|
||||
background: #ffffff !important;
|
||||
z-index: 99999 !important;
|
||||
|
@ -54,7 +72,6 @@ body {
|
|||
height: 35px;
|
||||
color: #818181;
|
||||
padding: 10px;
|
||||
animation: fadeIn 2s ease;
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
|
@ -76,7 +93,7 @@ body {
|
|||
}
|
||||
|
||||
.home-navbar a {
|
||||
color: #e6e6e6;
|
||||
color: #7c7c7c;
|
||||
text-decoration: none;
|
||||
padding: 8px 16px;
|
||||
font-size: 14px;
|
||||
|
@ -87,6 +104,7 @@ body {
|
|||
}
|
||||
|
||||
.home-navbar a:hover {
|
||||
color: #bbbbbb;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
|
@ -100,23 +118,6 @@ body {
|
|||
margin-left: 115px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-track {
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background: #4e4e4e;
|
||||
border-radius: 6px;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb:hover {
|
||||
background: #6b6b6b;
|
||||
}
|
||||
|
||||
.navbar {
|
||||
top: 1%;
|
||||
background-color: #1111119c;
|
||||
|
@ -255,7 +256,6 @@ body {
|
|||
margin-top: 20%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
animation: fadeIn 2s ease;
|
||||
text-align: center;
|
||||
width: 90%;
|
||||
}
|
||||
|
@ -265,25 +265,22 @@ body {
|
|||
font-weight: bolder;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
background: linear-gradient(-45deg, #4e4e4e, #ffffff);
|
||||
background: linear-gradient(-45deg, #8d8d8d, #ffffff);
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
color: transparent;
|
||||
color: transparent;
|
||||
cursor: default;
|
||||
transition: all 0.3s ease;
|
||||
}
|
||||
}
|
||||
|
||||
.search-title span {
|
||||
.search-title span {
|
||||
display: inline-block;
|
||||
background: inherit;
|
||||
-webkit-background-clip: text;
|
||||
background-clip: text;
|
||||
-webkit-text-fill-color: transparent;
|
||||
color: transparent;
|
||||
opacity: 0;
|
||||
transform: translateX(-50px);
|
||||
animation: fadeInFromLeft 0.5s ease-in-out forwards;
|
||||
background: inherit;
|
||||
color: transparent;
|
||||
transform: translateY(4rem);
|
||||
animation: fadeSlideIn 0.6s forwards;
|
||||
}
|
||||
|
||||
.search-bar {
|
||||
|
@ -387,13 +384,13 @@ body {
|
|||
}
|
||||
|
||||
.hover-link {
|
||||
color: #949494;
|
||||
color: #b3b3b3;
|
||||
text-decoration: none;
|
||||
transition: color 0.3s ease;
|
||||
}
|
||||
|
||||
.hover-link:hover {
|
||||
color: #dadada;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#pingDisplay {
|
||||
|
@ -401,10 +398,9 @@ body {
|
|||
margin-top: -46px;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
font-weight: bold;
|
||||
font-weight: 550;
|
||||
color: #888888;
|
||||
cursor: default;
|
||||
animation: fadeIn 2s ease;
|
||||
padding: 5px 10px;
|
||||
transition: all 0.3s ease;
|
||||
z-index: -1;
|
||||
|
@ -412,7 +408,7 @@ body {
|
|||
}
|
||||
|
||||
#pingDisplay:hover {
|
||||
color: #b6b6b6;
|
||||
color: #d3d3d3;
|
||||
}
|
||||
|
||||
.god-rays {
|
||||
|
@ -426,7 +422,6 @@ body {
|
|||
background-image: var(--stripes), var(--rays);
|
||||
background-size: 300%, 200%;
|
||||
background-position: 50% 50%, 50% 50%;
|
||||
animation: fadeIn 2s ease;
|
||||
mask-image: radial-gradient(ellipse at 100% 0%, transparent 40%, transparent 70%);
|
||||
-webkit-mask-image: radial-gradient(ellipse at 100% 0%, white 40%, transparent 70%);
|
||||
pointer-events: none;
|
||||
|
@ -572,7 +567,6 @@ body {
|
|||
position: fixed;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
animation: fadeIn 2s ease;
|
||||
opacity: 0;
|
||||
transition: all 0.3s ease;
|
||||
cursor: default;
|
||||
|
@ -580,22 +574,86 @@ body {
|
|||
}
|
||||
|
||||
#greeting:hover {
|
||||
color: #b6b6b6;
|
||||
color: #d3d3d3;
|
||||
}
|
||||
|
||||
#namePrompt.fade-out {
|
||||
animation: fadeOutPrompt 0.3s ease-in-out forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInFromLeft {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(-50px);
|
||||
}
|
||||
#lastest-commit {
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
left: 10px;
|
||||
z-index: 9999;
|
||||
background-color: #08080894;
|
||||
border: 1px solid #ffffff21;
|
||||
color: #cfcfcf;
|
||||
font-weight: 540;
|
||||
transition: all 0.3s ease;
|
||||
cursor: default;
|
||||
padding: 8px 12px;
|
||||
border-radius: 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
100% {
|
||||
#copyright {
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 9999;
|
||||
background-color: #08080894;
|
||||
border: 1px solid #ffffff21;
|
||||
color: #858585;
|
||||
font-weight: 540;
|
||||
transition: all 0.3s ease;
|
||||
cursor: default;
|
||||
padding: 8px 12px;
|
||||
border-radius: 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#copyright:hover {
|
||||
color: #afafaf;
|
||||
}
|
||||
|
||||
#discord {
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
right: 100px;
|
||||
z-index: 9999;
|
||||
background-color: #08080894;
|
||||
border: 1px solid #ffffff21;
|
||||
color: #858585;
|
||||
font-weight: 540;
|
||||
transition: all 0.3s ease;
|
||||
cursor: default;
|
||||
padding: 8px 12px;
|
||||
border-radius: 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
#github {
|
||||
position: fixed;
|
||||
bottom: 10px;
|
||||
right: 10px;
|
||||
z-index: 9999;
|
||||
background-color: #08080894;
|
||||
border: 1px solid #ffffff21;
|
||||
color: #858585;
|
||||
font-weight: 540;
|
||||
transition: all 0.3s ease;
|
||||
cursor: default;
|
||||
padding: 8px 12px;
|
||||
border-radius: 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
@keyframes fadeSlideIn {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
}
|
||||
|
||||
.apps-page h1 {
|
||||
animation: fadeIn 2s ease;
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 20px;
|
||||
color: #fff;
|
||||
|
@ -82,7 +81,6 @@
|
|||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
color: #a8a8a8;
|
||||
animation: fadeIn 2s ease;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
}
|
||||
|
||||
.games-page h1 {
|
||||
animation: fadeIn 2s ease;
|
||||
font-size: 2.5rem;
|
||||
margin-bottom: 20px;
|
||||
color: #fff;
|
||||
|
@ -82,7 +81,6 @@
|
|||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
color: #a8a8a8;
|
||||
animation: fadeIn 2s ease;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
|
1
public/assets/css/nprogress.css
Normal file
|
@ -0,0 +1 @@
|
|||
#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0,-4px);-ms-transform:rotate(3deg) translate(0,-4px);transform:rotate(3deg) translate(0,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
|
|
@ -63,7 +63,7 @@
|
|||
|
||||
#close-settings:hover {
|
||||
transform: rotate(90deg);
|
||||
color: #d3d3d3;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
#close-settings i {
|
||||
|
@ -94,9 +94,9 @@
|
|||
|
||||
.transport-selected {
|
||||
background-color: #141414;
|
||||
border: 1px solid #ffffff1a;
|
||||
color: #e0e0e0;
|
||||
padding: 10px;
|
||||
border: 1px solid #4141411a;
|
||||
border-radius: 15px;
|
||||
cursor: pointer;
|
||||
display: flex;
|
||||
|
@ -159,7 +159,7 @@
|
|||
margin-left: -80px;
|
||||
background-color: #141414;
|
||||
color: #e0e0e0;
|
||||
border: 1px solid #4141411a;
|
||||
border: 1px solid #ffffff1a;
|
||||
border-radius: 15px;
|
||||
font-size: 15px;
|
||||
outline: none;
|
||||
|
@ -266,7 +266,7 @@
|
|||
background-color: #1b1b1b;
|
||||
color: #e0e0e0;
|
||||
padding: 12px 14px;
|
||||
border: 1px solid #4141411a;
|
||||
border: 1px solid #ffffff21;
|
||||
border-radius: 15px;
|
||||
font-size: 16px;
|
||||
cursor: pointer;
|
||||
|
@ -280,9 +280,8 @@
|
|||
}
|
||||
|
||||
.tab-button.active {
|
||||
background-color: #333;
|
||||
background-color: #5c5c5c;
|
||||
color: #ffffff;
|
||||
transform: translateY(-4px);
|
||||
}
|
||||
|
||||
.tab-content {
|
||||
|
|
|
@ -32,6 +32,10 @@
|
|||
display: inline-block;
|
||||
}
|
||||
|
||||
.toast i {
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
.toast.show {
|
||||
animation: slideIn 0.3s forwards;
|
||||
}
|
||||
|
@ -51,6 +55,21 @@
|
|||
animation: progress 3s linear forwards;
|
||||
}
|
||||
|
||||
.toast .toast-close {
|
||||
background: none;
|
||||
border: none;
|
||||
color: #888888;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
margin-left: 10px;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.toast-close:hover {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
@keyframes slideIn {
|
||||
0% {
|
||||
right: -300px;
|
||||
|
@ -79,19 +98,4 @@
|
|||
100% {
|
||||
width: 0%;
|
||||
}
|
||||
}
|
||||
|
||||
.toast .toast-close {
|
||||
background: none;
|
||||
border: none;
|
||||
color: #888888;
|
||||
font-size: 18px;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
margin-left: 10px;
|
||||
transition: 0.3s;
|
||||
}
|
||||
|
||||
.toast-close:hover {
|
||||
color: #d3d3d3;
|
||||
}
|
|
@ -13,7 +13,6 @@
|
|||
<script>
|
||||
var gameLoaded = false;
|
||||
window.addEventListener("beforeunload", function (e) {
|
||||
if (adsVisible || !gameLoaded || !lockedOccured) return null;
|
||||
var confirmationMessage = "Are you sure you want to leave? ";
|
||||
(e || window.event).returnValue = confirmationMessage; //Gecko + IE
|
||||
return confirmationMessage; //Gecko + Webkit, Safari, Chrome etc.
|
||||
|
@ -86,52 +85,10 @@
|
|||
},
|
||||
});
|
||||
</script>
|
||||
<!-- MIDROLL/INTERSTITIAL VIDEO API -->
|
||||
<script src="js/cpmstar.js"></script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="ads">
|
||||
<div class="ad-smallscreen">
|
||||
<div class="ad ad-rectangle-bottom"></div>
|
||||
</div>
|
||||
<div class="ad ad-rectangle-upper" id="adRectangleUpper">
|
||||
<!-- 300X250B PLACEMENT TAG - PLACE INTO BODY (ZONE TAG REQUIRED) -->
|
||||
<script>
|
||||
(function (w, pid) {
|
||||
var r = function (c, m) {
|
||||
c = c.split("").reduce(function (a, b) {
|
||||
return ((a << 5) - a + b.charCodeAt(0)) >>> m;
|
||||
}, 0);
|
||||
return (10 + ((c * 7) % 26)).toString(36) + c.toString(36);
|
||||
},
|
||||
y = r(w.location.href.split("#")[0], 1),
|
||||
c = r(w.location.href.split("#")[0] + pid, 0);
|
||||
w.document.write('<div style="width:300px;height:250px" class="' + c + '"></div>');
|
||||
})(window, 83023);
|
||||
</script>
|
||||
</div>
|
||||
<div class="ad-largescreen">
|
||||
<div class="ad ad-leaderboard-bottom">
|
||||
<!-- 300X600B PLACEMENT TAG - PLACE INTO BODY (ZONE TAG REQUIRED) -->
|
||||
<script>
|
||||
(function (w, pid) {
|
||||
var r = function (c, m) {
|
||||
c = c.split("").reduce(function (a, b) {
|
||||
return ((a << 5) - a + b.charCodeAt(0)) >>> m;
|
||||
}, 0);
|
||||
return (10 + ((c * 7) % 26)).toString(36) + c.toString(36);
|
||||
},
|
||||
y = r(w.location.href.split("#")[0], 1),
|
||||
c = r(w.location.href.split("#")[0] + pid, 0);
|
||||
w.document.write('<div style="width:300px;height:600px" class="' + c + '"></div>');
|
||||
})(window, 85420);
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div id="interAdsContainer" style="display: none;"></div> -->
|
||||
<div id="gameContainer"></div>
|
||||
<div id="loader">
|
||||
<img class="logo" src="logo.png" />
|
||||
|
@ -222,55 +179,6 @@
|
|||
|
||||
var refreshNextTime = true;
|
||||
|
||||
function showAds() {
|
||||
document.getElementsByClassName("ad-rectangle-bottom")[0].style.display = "block";
|
||||
document.getElementsByClassName("ad-leaderboard-bottom")[0].style.display = "block";
|
||||
document.getElementById("adRectangleUpper").style.display = "block";
|
||||
|
||||
if (typeof counter === "undefined") {
|
||||
startCounter();
|
||||
resumeCounter();
|
||||
} else {
|
||||
resumeCounter();
|
||||
refresh();
|
||||
}
|
||||
}
|
||||
|
||||
function hideAds() {
|
||||
document.getElementsByClassName("ad-rectangle-bottom")[0].style.display = "none";
|
||||
document.getElementsByClassName("ad-leaderboard-bottom")[0].style.display = "none";
|
||||
document.getElementById("adRectangleUpper").style.display = "none";
|
||||
|
||||
pauseCounter();
|
||||
}
|
||||
|
||||
// hide ads
|
||||
hideAds();
|
||||
|
||||
function refresh() {
|
||||
//console.log("time since ads refresh = " + timeSinceRefresh + " seconds");
|
||||
//console.log("time ads visible = " + timeAdsVisible + " seconds");
|
||||
|
||||
if (timeSinceRefresh <= 30 || timeAdsVisible <= 2) {
|
||||
//console.log("don't refresh");
|
||||
return;
|
||||
}
|
||||
|
||||
if (document.getElementById("adRectangleBottom") != null && window.getComputedStyle(document.getElementsByClassName("ad-smallscreen")[0]).display != "none") {
|
||||
cpmstarAPI({ kind: "adcmd", module: "POOL 83023", command: "refresh" });
|
||||
}
|
||||
|
||||
if (document.getElementById("adLeaderboardBottom") != null && window.getComputedStyle(document.getElementsByClassName("ad-largescreen")[0]).display != "none") {
|
||||
cpmstarAPI({ kind: "adcmd", module: "POOL 85420", command: "refresh" });
|
||||
}
|
||||
|
||||
cpmstarAPI({ kind: "adcmd", module: "POOL 83025", command: "refresh" });
|
||||
|
||||
timeSinceRefresh = 0;
|
||||
timeAdsVisible = 0;
|
||||
//console.log("refresh ads");
|
||||
}
|
||||
|
||||
window.onfocus = function () {
|
||||
//console.log("onfocus");
|
||||
resumeCounter();
|
||||
|
@ -283,26 +191,16 @@
|
|||
};
|
||||
|
||||
var timeSinceRefresh = 0;
|
||||
var timeAdsVisible = 0;
|
||||
var counter;
|
||||
var adsVisible = false;
|
||||
|
||||
function startCounter() {
|
||||
timeSinceRefresh++;
|
||||
if (adsVisible) timeAdsVisible++;
|
||||
|
||||
counter = setTimeout(function () {
|
||||
startCounter();
|
||||
}, 1000);
|
||||
}
|
||||
|
||||
function resumeCounter() {
|
||||
adsVisible = true;
|
||||
}
|
||||
|
||||
function pauseCounter() {
|
||||
adsVisible = false;
|
||||
}
|
||||
</script>
|
||||
<!-- Firebase App (the core Firebase SDK) is always required and must be listed first -->
|
||||
<script src="firebase/firebase-app.js"></script>
|
||||
|
@ -341,4 +239,4 @@
|
|||
fixMacUserAgent();
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
BIN
public/assets/g/polytrack/cover.jpg
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 2.7 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M20.285 2l-11.285 11.567-5.286-5.011-3.714 3.716 9 8.728 15-15.285z"/></svg>
|
Before Width: | Height: | Size: 180 B |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 31 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M21.192 4.221l-2.881 2.881c-.411-.528-.886-1.003-1.414-1.414l2.881-2.881 1.414 1.414zm-8.192-.152v-4.069h-2v4.069c.328-.041.661-.069 1-.069s.672.028 1 .069zm6.931 6.931c.041.328.069.661.069 1s-.028.672-.069 1h4.069v-2h-4.069zm-1.931 1c0 .341-.035.674-.09 1h-11.82c-.055-.326-.09-.659-.09-1 0-3.314 2.686-6 6-6s6 2.686 6 6zm-10.897-6.312l-2.881-2.881-1.414 1.414 2.881 2.881c.411-.529.885-1.003 1.414-1.414zm-7.103 5.312v2h4.069c-.041-.328-.069-.661-.069-1s.028-.672.069-1h-4.069zm9.062 11.667c-1.205-1.195-1.364-1.893-.312-3.26.37-.481.53-.942.53-1.4 0-.959-.699-1.906-1.623-3.006l-1.449 1.379c1.375 1.6 1.247 1.772.26 3.184-.316.453-.446.908-.446 1.355 0 1.159.876 2.259 1.665 3.082l1.375-1.334zm8.688 0c-1.205-1.195-1.364-1.893-.312-3.26.37-.481.529-.942.529-1.4 0-.959-.699-1.906-1.622-3.006l-1.448 1.379c1.375 1.6 1.246 1.772.26 3.184-.316.453-.446.908-.446 1.355 0 1.159.876 2.259 1.665 3.082l1.374-1.334zm-4.396 0c-1.205-1.195-1.364-1.893-.312-3.26.37-.481.529-.942.529-1.4 0-.959-.699-1.906-1.622-3.006l-1.448 1.379c1.375 1.6 1.246 1.772.26 3.184-.316.453-.446.908-.446 1.355 0 1.159.876 2.259 1.665 3.082l1.374-1.334z"/></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#ede2af" d="M21.192 4.221l-2.881 2.881c-.411-.528-.886-1.003-1.414-1.414l2.881-2.881 1.414 1.414zm-8.192-.152v-4.069h-2v4.069c.328-.041.661-.069 1-.069s.672.028 1 .069zm6.931 6.931c.041.328.069.661.069 1s-.028.672-.069 1h4.069v-2h-4.069zm-1.931 1c0 .341-.035.674-.09 1h-11.82c-.055-.326-.09-.659-.09-1 0-3.314 2.686-6 6-6s6 2.686 6 6zm-10.897-6.312l-2.881-2.881-1.414 1.414 2.881 2.881c.411-.529.885-1.003 1.414-1.414zm-7.103 5.312v2h4.069c-.041-.328-.069-.661-.069-1s.028-.672.069-1h-4.069zm9.062 11.667c-1.205-1.195-1.364-1.893-.312-3.26.37-.481.53-.942.53-1.4 0-.959-.699-1.906-1.623-3.006l-1.449 1.379c1.375 1.6 1.247 1.772.26 3.184-.316.453-.446.908-.446 1.355 0 1.159.876 2.259 1.665 3.082l1.375-1.334zm8.688 0c-1.205-1.195-1.364-1.893-.312-3.26.37-.481.529-.942.529-1.4 0-.959-.699-1.906-1.622-3.006l-1.448 1.379c1.375 1.6 1.246 1.772.26 3.184-.316.453-.446.908-.446 1.355 0 1.159.876 2.259 1.665 3.082l1.374-1.334zm-4.396 0c-1.205-1.195-1.364-1.893-.312-3.26.37-.481.529-.942.529-1.4 0-.959-.699-1.906-1.622-3.006l-1.448 1.379c1.375 1.6 1.246 1.772.26 3.184-.316.453-.446.908-.446 1.355 0 1.159.876 2.259 1.665 3.082l1.374-1.334z"/></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
|
@ -1,5 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect transform="rotate(45)" x="4.3595" y="-2.3796" width=".26129" height="4.7592" rx="0" ry="0" fill="#fff" fill-opacity=".25" stroke="#000" stroke-width=".0032925"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 375 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M21 9.102v5.793l3-2.896-3-2.897zm-18 5.793v-5.793l-3 2.896 3 2.897zm6.104-9.895h5.793l-2.897-3-2.896 3zm5.792 14h-5.792l2.896 3 2.896-3zm-9.896-12v10h14v-10h-14z"/></svg>
|
Before Width: | Height: | Size: 274 B |
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#fff">
|
||||
<rect x=".79375" y=".79375" width="4.7625" height="4.7625" fill-opacity=".25"/>
|
||||
<path d="m0.79375 0v0.79375h-0.79375v0.26458h0.79375v4.2333h-0.79375v0.26458h0.79375v0.79375h0.26458v-0.79375h4.2333v0.79375h0.26458v-0.79375h0.79375v-0.26458h-0.79375v-4.2333h0.79375v-0.26458h-0.79375v-0.79375h-0.26458v0.79375h-4.2333v-0.79375h-0.26458zm0.26458 1.0583h4.2333v4.2333h-4.2333v-4.2333z" fill-opacity=".75" stroke-width=".56589"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 658 B |
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<g fill="#fff">
|
||||
<rect x=".79375" y=".79375" width="4.7625" height="4.7625" fill-opacity=".25"/>
|
||||
<path d="m0.79375 0v0.79375h-0.79375v0.26458h0.79375v1.9844h-0.79375v0.26458h0.79375v1.9844h-0.79375v0.26458h0.79375v0.79375h0.26458v-0.79375h1.9844v0.79375h0.26458v-0.79375h1.9844v0.79375h0.26458v-0.79375h0.79375v-0.26458h-0.79375v-1.9844h0.79375v-0.26458h-0.79375v-1.9844h0.79375v-0.26458h-0.79375v-0.79375h-0.26458v0.79375h-1.9844v-0.79375h-0.26458v0.79375h-1.9844v-0.79375h-0.26458zm0.26458 1.0583h1.9844v1.9844h-1.9844v-1.9844zm2.249 0h1.9844v1.9844h-1.9844v-1.9844zm-2.249 2.249h1.9844v1.9844h-1.9844v-1.9844zm2.249 0h1.9844v1.9844h-1.9844v-1.9844z" fill-opacity=".75"/>
|
||||
</g>
|
||||
</svg>
|
Before Width: | Height: | Size: 890 B |
|
@ -1,3 +1,53 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="200" height="200" version="1.1" viewBox="0 0 52.917 52.917" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><g fill="#28346a" stroke="#212b58" stroke-width="1.3229" aria-label="PolyTrack"><g><rect width="52.917" height="52.917" fill="#28346a" stroke="none"/><path d="m18.136 15.178-3.9736 23.305h4.0872l1.5955-9.3577h16.667l2.3782-13.947zm3.2744 4.7681h12.421l-0.78268 4.5896h-12.421z" fill="#b3c1ff" stroke="#112052" stroke-width=".93948"/></g></g></svg>
|
||||
|
||||
<svg
|
||||
width="200"
|
||||
height="200"
|
||||
viewBox="0 0 52.916666 52.916666"
|
||||
version="1.1"
|
||||
id="svg5"
|
||||
inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)"
|
||||
sodipodi:docname="icon.svg"
|
||||
xml:space="preserve"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
|
||||
id="namedview7"
|
||||
pagecolor="#000000"
|
||||
bordercolor="#000000"
|
||||
borderopacity="0.25"
|
||||
inkscape:showpageshadow="2"
|
||||
inkscape:pageopacity="0"
|
||||
inkscape:pagecheckerboard="true"
|
||||
inkscape:deskcolor="#d1d1d1"
|
||||
inkscape:document-units="mm"
|
||||
showgrid="false"
|
||||
inkscape:zoom="3.6596241"
|
||||
inkscape:cx="122.00707"
|
||||
inkscape:cy="60.661968"
|
||||
inkscape:window-width="2560"
|
||||
inkscape:window-height="1369"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1"
|
||||
inkscape:current-layer="g5117" /><defs
|
||||
id="defs2" /><g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"><g
|
||||
aria-label="PolyTrack"
|
||||
id="text382"
|
||||
style="font-size:59.2131px;font-family:Impact;-inkscape-font-specification:Impact;fill:#28346a;stroke:#212b58;stroke-width:1.32292"><g
|
||||
id="g5117"><rect
|
||||
style="fill:#28346a;fill-opacity:1;stroke:none;stroke-width:5.13017"
|
||||
id="rect302"
|
||||
width="52.916668"
|
||||
height="52.916668"
|
||||
x="0"
|
||||
y="0" /><path
|
||||
id="path4993"
|
||||
style="font-family:'FORCED SQUARE';-inkscape-font-specification:'FORCED SQUARE';fill:#b3c1ff;fill-opacity:1;stroke:#112052;stroke-width:0.939478;stroke-dasharray:none;stroke-opacity:1"
|
||||
d="m 18.136096,15.178219 -3.97364,23.30498 h 4.087232 l 1.595482,-9.357691 h 16.666846 l 2.378159,-13.947289 z m 3.274425,4.768092 h 12.420656 l -0.782676,4.589598 H 20.627846 Z"
|
||||
sodipodi:nodetypes="cccccccccccc" /></g></g></g></svg>
|
||||
|
|
Before Width: | Height: | Size: 573 B After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 37 KiB |
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x=".66158" y=".66158" width="3.4396" height="3.4396" fill="none" stroke="#fff" stroke-dasharray="0.264599, 0.264599" stroke-dashoffset=".3969" stroke-opacity=".75" stroke-width=".2646"/>
|
||||
<rect x="2.3813" y="2.3813" width="3.175" height="3.175" fill="#fff" fill-opacity=".25"/>
|
||||
<rect x="2.2491" y="2.2491" width="3.4394" height="3.4394" fill="none" stroke="#fff" stroke-dashoffset=".39687" stroke-opacity=".75" stroke-width=".26458"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 649 B |
|
@ -1,8 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x=".79375" y=".79375" width="3.175" height="3.175" fill="#fff" fill-opacity=".25"/>
|
||||
<rect x=".66305" y=".66305" width="3.4364" height="3.4364" fill="none" stroke="#fff" stroke-opacity=".75" stroke-width=".26776"/>
|
||||
<rect x="2.3813" y="2.3813" width="3.175" height="3.175" fill="#fff" fill-opacity=".25"/>
|
||||
<rect x="2.2491" y="2.2491" width="3.4394" height="3.4394" fill="none" stroke="#fff" stroke-dashoffset=".39687" stroke-opacity=".75" stroke-width=".26458"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 677 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M12 0c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm7 14h-8v-9h2v7h6v2z"/></svg>
|
Before Width: | Height: | Size: 208 B |
|
@ -1,5 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 6.35 6.35" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m0.52917 0.92604v4.4979c0 0.39688 0 0.39688 0.39688 0.39688h4.4979c0.39688 0 0.39688 0 0.39688-0.38447v-2.7905l0.52917 0.26458-0.92604-1.3229-0.92604 1.3229 0.52917-0.26458v2.3812h-3.7042v-3.7042h1.4552c0.39688 0 0.39688 0 0.39688-0.39688 0-0.39688 0-0.39688-0.39688-0.39688h-1.8604c-0.38861 0-0.38861 0-0.38861 0.39688z" fill="#fff" stroke-width="1.3198"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M18.885 3.515c-4.617-4.618-12.056-4.676-16.756-.195l-2.129-2.258v7.938h7.484l-2.066-2.191c2.82-2.706 7.297-2.676 10.073.1 4.341 4.341 1.737 12.291-5.491 12.291v4.8c3.708 0 6.614-1.244 8.885-3.515 4.686-4.686 4.686-12.284 0-16.97z"/></svg>
|
Before Width: | Height: | Size: 574 B After Width: | Height: | Size: 342 B |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="28" height="28" version="1.1" viewBox="0 0 7.4083 7.4083" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(.079375 .13229)">
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" stroke-width="1.0001"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y=".66146" width="1.0583" height=".26458"/>
|
||||
<rect x="3.0427" y=".26458" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y="5.424" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#300" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#260d0d"/>
|
||||
<rect transform="rotate(-65)" x=".093264" y="3.0807" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(-65)" x=".49014" y="2.6838" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#f00" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375" fill="#f00"/>
|
||||
<rect x=".4557" y="4.0696" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d1726" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="5.8483" y="-.66165" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d1726" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="1.532" y="-2.6744" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(65)" x="1.9289" y="-3.0712" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" fill="#ff8080"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="28" height="28" version="1.1" viewBox="0 0 7.4083 7.4083" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(.079375 .13229)">
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" stroke-width="1.0001"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y=".66146" width="1.0583" height=".26458"/>
|
||||
<rect x="3.0427" y=".26458" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y="5.424" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#f00" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#f00"/>
|
||||
<rect transform="rotate(-65)" x=".093264" y="3.0807" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(-65)" x=".49014" y="2.6838" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#260d0d" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375" fill="#260d0d"/>
|
||||
<rect x=".4557" y="4.0696" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d1726" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="5.8483" y="-.66165" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d1726" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="1.532" y="-2.6744" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(65)" x="1.9289" y="-3.0712" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" fill="#ff8080"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="28" height="28" version="1.1" viewBox="0 0 7.4083 7.4083" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(.079375 .13229)">
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" stroke-width="1.0001"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y=".66146" width="1.0583" height=".26458"/>
|
||||
<rect x="3.0427" y=".26458" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0f0" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0f0"/>
|
||||
<rect x="2.6458" y="5.424" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#260d0d" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#260d0d"/>
|
||||
<rect transform="rotate(-65)" x=".093264" y="3.0807" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(-65)" x=".49014" y="2.6838" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#260d0d" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375" fill="#260d0d"/>
|
||||
<rect x=".4557" y="4.0696" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d1726" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="5.8483" y="-.66165" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d1726" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="1.532" y="-2.6744" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(65)" x="1.9289" y="-3.0712" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" fill="#80ff80"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="28" height="28" version="1.1" viewBox="0 0 7.4083 7.4083" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(.079375 .13229)">
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" stroke-width="1.0001"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0f0" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0f0"/>
|
||||
<rect x="2.6458" y=".66146" width="1.0583" height=".26458"/>
|
||||
<rect x="3.0427" y=".26458" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y="5.424" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#260d0d" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#260d0d"/>
|
||||
<rect transform="rotate(-65)" x=".093264" y="3.0807" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(-65)" x=".49014" y="2.6838" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#260d0d" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375" fill="#260d0d"/>
|
||||
<rect x=".4557" y="4.0696" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d1726" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="5.8483" y="-.66165" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d1726" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="1.532" y="-2.6744" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(65)" x="1.9289" y="-3.0712" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" fill="#80ff80"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="28" height="28" version="1.1" viewBox="0 0 7.4083 7.4083" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(.079375 .13229)">
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" stroke-width="1.0001"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y=".66146" width="1.0583" height=".26458"/>
|
||||
<rect x="3.0427" y=".26458" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y="5.424" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#300" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#260d0d"/>
|
||||
<rect transform="rotate(-65)" x=".093264" y="3.0807" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(-65)" x=".49014" y="2.6838" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#260d0d" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375" fill="#260d0d"/>
|
||||
<rect x=".4557" y="4.0696" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#06f" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#06f"/>
|
||||
<rect transform="rotate(65)" x="5.8483" y="-.66165" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d1726" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="1.532" y="-2.6744" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(65)" x="1.9289" y="-3.0712" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" fill="#80b1ff"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1,71 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
<svg width="28" height="28" version="1.1" viewBox="0 0 7.4083 7.4083" xmlns="http://www.w3.org/2000/svg">
|
||||
<g transform="translate(.079375 .13229)">
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#000" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#000" stroke-width=".26458"/>
|
||||
<g>
|
||||
<circle cx="3.175" cy=".79375" r=".79375"/>
|
||||
</g>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" stroke-width="1.0001"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y=".66146" width="1.0583" height=".26458"/>
|
||||
<rect x="3.0427" y=".26458" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d260d" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d260d"/>
|
||||
<rect x="2.6458" y="5.424" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(65 3.0217 3.8449)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#300" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#260d0d"/>
|
||||
<rect transform="rotate(-65)" x=".093264" y="3.0807" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(-65)" x=".49014" y="2.6838" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<g transform="translate(.5291 .52917)">
|
||||
<path d="m3.143 3.1955-1.9184 0.89454" fill="none" stroke="#260d0d" stroke-width=".26458"/>
|
||||
<circle transform="rotate(65)" cx="4.2244" cy=".88321" r=".79375" fill="#260d0d"/>
|
||||
<rect x=".4557" y="4.0696" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8304 3.0199)">
|
||||
<path d="m3.175 3.175v2.1167" fill="none" stroke="#0d1726" stroke-width=".265"/>
|
||||
<circle cx="3.175" cy="5.5563" r=".79375" fill="#0d1726"/>
|
||||
<rect transform="rotate(65)" x="5.8483" y="-.66165" width="1.0583" height=".26458"/>
|
||||
</g>
|
||||
<g transform="rotate(-65 3.8352 3.0123)">
|
||||
<path d="m3.175 1.0583v2.1167" fill="none" stroke="#0064ff" stroke-width=".26458"/>
|
||||
<circle cx="3.175" cy=".79375" r=".79375" fill="#0064ff"/>
|
||||
<rect transform="rotate(65)" x="1.532" y="-2.6744" width="1.0583" height=".26458"/>
|
||||
<rect transform="rotate(65)" x="1.9289" y="-3.0712" width=".26458" height="1.0583"/>
|
||||
</g>
|
||||
<circle cx="3.7041" cy="3.7042" r=".39687" fill="#80b1ff"/>
|
||||
</svg>
|
Before Width: | Height: | Size: 3.3 KiB |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M21.172 24l-7.387-7.387c-1.388.874-3.024 1.387-4.785 1.387-4.971 0-9-4.029-9-9s4.029-9 9-9 9 4.029 9 9c0 1.761-.514 3.398-1.387 4.785l7.387 7.387-2.828 2.828zm-12.172-8c3.859 0 7-3.14 7-7s-3.141-7-7-7-7 3.14-7 7 3.141 7 7 7z"/></svg>
|
Before Width: | Height: | Size: 337 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M5 7c2.761 0 5 2.239 5 5s-2.239 5-5 5-5-2.239-5-5 2.239-5 5-5zm11.122 12.065c-.073.301-.122.611-.122.935 0 2.209 1.791 4 4 4s4-1.791 4-4-1.791-4-4-4c-1.165 0-2.204.506-2.935 1.301l-5.488-2.927c-.23.636-.549 1.229-.943 1.764l5.488 2.927zm7.878-15.065c0-2.209-1.791-4-4-4s-4 1.791-4 4c0 .324.049.634.122.935l-5.488 2.927c.395.535.713 1.127.943 1.764l5.488-2.927c.731.795 1.77 1.301 2.935 1.301 2.209 0 4-1.791 4-4z"/></svg>
|
Before Width: | Height: | Size: 525 B |
|
@ -1 +0,0 @@
|
|||
<svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd"><path fill="#fff" d="M13.001 24h-2v-5h-7.001l4-6h-3l4-6h-2l5.001-7 4.999 7h-2l4 6h-3l4 6h-6.999v5z"/></svg>
|
Before Width: | Height: | Size: 210 B |
|
@ -1,4 +1 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="24" height="24" version="1.1" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="m1.9682 23.819-1.8494-0.49555 5.9466-22.193 1.8494 0.49555zm21.944-15.317s-1.8533 0.92069-3.8257 0.39218c-3.107-0.83252-2.46-3.5284-6.0672-4.4949-1.9493-0.52231-4.011-0.10347-4.9591 0.35013l-2.9943 11.175c1.2978-0.46397 3.1712-0.81631 4.9688-0.33464 3.4066 0.9128 3.2023 3.5875 6.2381 4.401 1.9622 0.52578 3.6592-0.36642 3.6592-0.36642z" fill="#ffffff" stroke-width=".95732"/>
|
||||
</svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#ffffff" d="M21.739 10.921c-1.347-.39-1.885-.538-3.552-.921 0 0-2.379-2.359-2.832-2.816-.568-.572-1.043-1.184-2.949-1.184h-7.894c-.511 0-.736.547-.07 1-.742.602-1.619 1.38-2.258 2.027-1.435 1.455-2.184 2.385-2.184 4.255 0 1.76 1.042 3.718 3.174 3.718h.01c.413 1.162 1.512 2 2.816 2 1.304 0 2.403-.838 2.816-2h6.367c.413 1.162 1.512 2 2.816 2s2.403-.838 2.816-2h.685c1.994 0 2.5-1.776 2.5-3.165 0-2.041-1.123-2.584-2.261-2.914zm-15.739 6.279c-.662 0-1.2-.538-1.2-1.2s.538-1.2 1.2-1.2 1.2.538 1.2 1.2-.538 1.2-1.2 1.2zm3.576-6.2c-1.071 0-3.5-.106-5.219-.75.578-.75.998-1.222 1.27-1.536.318-.368.873-.714 1.561-.714h2.388v3zm1-3h1.835c.882 0 1.428.493 2.022 1.105.452.466 1.732 1.895 1.732 1.895h-5.588v-3zm7.424 9.2c-.662 0-1.2-.538-1.2-1.2s.538-1.2 1.2-1.2 1.2.538 1.2 1.2-.538 1.2-1.2 1.2z"/></svg>
|
Before Width: | Height: | Size: 531 B After Width: | Height: | Size: 893 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M24 14.895v-5.793l-3 2.896 3 2.897zm-24-5.793v5.793l3-2.896-3-2.897zm14.896-7.102h-5.792l2.896 3 2.896-3zm-5.792 20h5.793l-2.897-3-2.896 3zm-4.104-15v10h14v-10h-14z"/></svg>
|
Before Width: | Height: | Size: 277 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#fff" d="M23.464 12.698l-5.45 1.522-3.966-2.22 3.966-2.219 5.449 1.521.537-1.927-3.523-.982 3.125-1.762-.983-1.742-3.125 1.761.983-3.523-1.926-.537-1.52 5.449-4.031 2.256v-3.881l4-4-1.414-1.414-2.586 2.586v-3.586h-2v3.586l-2.586-2.586-1.414 1.414 4 4v3.881l-4.031-2.256-1.52-5.449-1.926.537.982 3.523-3.124-1.761-.982 1.742 3.124 1.762-3.523.982.537 1.927 5.449-1.521 3.966 2.219-3.966 2.22-5.45-1.522-.536 1.927 3.523.982-3.125 1.763.983 1.741 3.125-1.761-.984 3.523 1.927.536 1.521-5.448 4.03-2.255v3.88l-4 4 1.414 1.414 2.586-2.586v3.586h2v-3.586l2.586 2.586 1.414-1.414-4-4v-3.88l4.03 2.255 1.521 5.448 1.927-.536-.984-3.523 3.125 1.761.983-1.741-3.125-1.763 3.523-.982z"/></svg>
|
Before Width: | Height: | Size: 778 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="#bed8f7" d="M23.464 12.698l-5.45 1.522-3.966-2.22 3.966-2.219 5.449 1.521.537-1.927-3.523-.982 3.125-1.762-.983-1.742-3.125 1.761.983-3.523-1.926-.537-1.52 5.449-4.031 2.256v-3.881l4-4-1.414-1.414-2.586 2.586v-3.586h-2v3.586l-2.586-2.586-1.414 1.414 4 4v3.881l-4.031-2.256-1.52-5.449-1.926.537.982 3.523-3.124-1.761-.982 1.742 3.124 1.762-3.523.982.537 1.927 5.449-1.521 3.966 2.219-3.966 2.22-5.45-1.522-.536 1.927 3.523.982-3.125 1.763.983 1.741 3.125-1.761-.984 3.523 1.927.536 1.521-5.448 4.03-2.255v3.88l-4 4 1.414 1.414 2.586-2.586v3.586h2v-3.586l2.586 2.586 1.414-1.414-4-4v-3.88l4.03 2.255 1.521 5.448 1.927-.536-.984-3.523 3.125 1.761.983-1.741-3.125-1.763 3.523-.982z"/></svg>
|
Before Width: | Height: | Size: 781 B |
|
@ -1,18 +1,17 @@
|
|||
<!DOCTYPE html>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<title>Polytrack</title>
|
||||
|
||||
<link rel="manifest" href="manifest.json" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
|
||||
</head>
|
||||
<body>
|
||||
<canvas id="screen"></canvas>
|
||||
<div id="ui"></div>
|
||||
<div id="transition-layer"></div>
|
||||
|
||||
<head>
|
||||
<link rel="manifest" href="manifest.json" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<canvas id="screen"></canvas>
|
||||
<div id="ui"></div>
|
||||
<div id="transition-layer"></div>
|
||||
|
||||
<script type="module" src="main.bundle.js" defer></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<script type="module" src="main.bundle.js" defer></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
BIN
public/assets/g/polytrack/models/block.glb
Normal file
BIN
public/assets/g/polytrack/models/plane.glb
Normal file
|
@ -1 +0,0 @@
|
|||
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
|
|
@ -1 +0,0 @@
|
|||
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
|
|
@ -1 +0,0 @@
|
|||
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
|
|
@ -1 +0,0 @@
|
|||
PolyTrack14pdXVdtskiDD9Xic4xmmGoJnTvRwuBMpmM81vcnZntmarSlktOy2qkKdciRZjtyc9URhksCc87a2o31ifhmy8hCv0BxRamOHlBTXZs60qZ3PSvWccezaVnna7zJGRJIyy4h4hZVbB6K1NlYYBYjR5BE8EOmBC7Zme1CsB7hiwKILMAu9FAJsBM2Qo3JECOsBN1AIAOB5vQZl4otQT5VqX04ktTvoN5kZ4N86B9N1SzeU8f0oMA27thwbzbRAbrdGTBLvgyPNG6qmrqFuxwRYoJwqm0lDrO6kqOy7MHvfBg6hVt6G1cpJ7hQxrecEeHa1nF9TkfbH70tFLi4qFyk1s79hkyySXfzuDeUCcvBvAzJk4fwbd4WcnG5wL9u3HGSWfSM7ObrPeUj6pNSQLfOA1iWXj9IW9iUgzI8ULnzN34RxkjSgLOkwzpeDXekSYfY1b66vkWskm3S3HQYc09MXbeIdPYbIXbahcesVVZiOxHXjPEKOfQLaAf4SJBI0Zvz9LFzkzdFmCrWADgbsm8YpUJqzeJTtgnxFClWWjP2i32lvHh7gLhPZnuREDDigcQCfM5urVkH2cIQpq9eo4JLfkwm6oBec8JSy7ZFSMUexO6nmEyPsMqIa1172tmly3fWeeTeeuAYz9d8fjyKG1lGXpKZ16Ie5iqOMagWLbtub6fZvkGTJCT8q8VxexJPbjY8JWxnOxfliuGzgVzYcf4rMnBTVnLcsCTzYffL7fXMjddxuX3PTIGnWG4fKMFuZdlSdBUBPNfGrbuujPu4r1VM182ec22HRVghLOPXv1914kzLURX52qQDVGqbz7KOFETPHTHcLbrqT2fGfGqQKqRYeTe3n0MOCeE2pMtfRUz0OOlsRGQe0WY01KZyZeiv5Y7mZsymQZyTe1oielbXIS6AyxKWMiyMQ5ar98IpR90RYip8uGWj1likKtALQwHI0zIYy9hA8pDeTO9FIsebB14RY6RQbbwsYeDZjahgEgkYyr7WNW2bVXefKv7W49cwpee1OeJye1lfeYCKVTmKQIbALakWeMe0td9v9UsMGgnAJONQILBiENbdPLaBE92YEnDhwaOaYE7FnKrTVvXiCRtZyLxhBNd593Efsko05MR7CfZt4B7hR3ej9BeHVX6Wu10U1XIjr1L0cLaBFUooymQekpPlf1MAMTMbXEt8zUZf0z0uUriPeLR4Kp83p5QrxLrwUwMv5Jjbk9Fzoku6dgNAiFIic196FR1S11XIvZ97Kzbsfb299sLo9ftBKKop38UxjrLt8ajCiX3kOd8mMGxqfkXiG8jIet0O3zLdjtflhkxVRTSE9BI1ge5JzdJeNJihom01tvOfhigTWl7qtM5K1brqLqoCFQahN4B4HCk7SbZmVVD1DimUjfaoeMVaH9reZ23hpsK1fQFD01zLaFqo11IpmiKJ1YQ85tqeVY0t8fUTi07Jje1mXBagUPHYNrqQbtybBeS2euhtdvhBGqDBcPVHIL2zhRyFS9vHpejzCd1hNKLPHwixOL8xNI6nrgm9bVsn42XZYd8bBaJiIEKiYZ6ta5cevvVVJMjRIDWCfesV5RGBIkAR58b1mZ2AXvuES66f0emX2YFulmjn2zB8rXA71eftMUBn7V3BIUJgF1Qsahl3p55VXCVKrfuEIw3DHtdjJC6vH8eL6OMZj1fh6Drbc57v5ecvmWfCLgcTdCmaMobTfMsuY9kzbhWfkJJDuZPn5XwJOZqbNnJR1VdZSfgcYjy2EJo5eHPlu0xk6DLaNZSnVZsOe6JxWnUJfJmRZfCFsCH2tniD9zpdS2s4jJzGD7LOZznuZ8jXiNjL3jYxx55tCMuOFubPm5c9GlDJEaKmlDkc25kk8f1fzifw71IN9rfDwMijEZ
|
|
@ -1 +0,0 @@
|
|||
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
|
|
@ -1 +0,0 @@
|
|||
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
|
|
@ -1 +0,0 @@
|
|||
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
|
|
@ -1 +0,0 @@
|
|||
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
|
|
@ -1 +0,0 @@
|
|||
PolyTrack14pdXUlstriDD8XCCgBWemABCJETYwMsjBbCgJgZKAf6buvX3b6V6c0RWqqSlcsdRkDpH94jhNEibOhxQqcA9mOtzXvKW8VYA3tg1LhNzdlXHvjEvBfw41LurzundJ4mF9CBeKKPLomxYpWJhdCXDmsSOtQWwDk9vfoergiJhSUdGUJCfQU2ZbLEfSLLDgeb9YWtxaRuW061cjP3TDgAiFec8Dz979dfEaT3dUt0d2assrOna9S21e76rmBShuLh9j39lG1Uj7a789uY89W7X38L7iKU3pmHtrHF7aXi70c420AvkvjDkDqwxfhKT0ORenBTfgqOWlJelpjQeEqKDs5R3dp9iyIsDfy0Z7ETA4W8I63uFoohVvLJMGGKavOICnXDD5PeeQ8r5rMNgUDOnRzAx1jPWty13jvUHfH1OtIuzUbash5qeDkCcNhdz7Fi85mHBZeXlRLvzuUwivbXegt1i6trJ5SewVfaZXXHfiWsej2sMUQz4LQolu50yGmrHr9mrSzzc2VHm3G8jAHf95tHFRWze2YMWe9IeVyNjvXAree6TaPHeZeVjlb8owaRjpl1O8SgFx6Za3KkPLuTg7mkf7SHNRJ9AZfuFEG2LaOjM2YeufQWrXr2F3oWe03FF5D2eZrULWgmkr7Hrr1ZWcQUnULBPnwpm4vnHNlnbesLJL90Y7SV7SX7yMW3fah2zOVPsXPxIfPyL2e9aZJeu0ofWP2Ik3v6DDzloiE5oyv87idglGcYPHwNBXHIYBmh6f5saehxkVI3Jbe39tglqxRHpUMkzkg1GcnedYe7onfNvAVBfkHiLPptJFBFs3H3tpiN35vb8HDTRfgnbS3eRLHebC5BVXg6tVyi6nfsDozHrdqqoq18ORUYs7w69zxixc1Ge9u4l5fxG8jz6bTxHhOCvni1Yu0ue3tMYpde18TG8qosQA3WwMrRsjVDPkql7W4AeefBbj6ubdmZ0tfHfXH88O2uA7tgesmmu0KovNfYknRP4WBcLQ6Ibf0W4uNfAkX7B6KgrB7IrkW2OnktfpAazV28rPPs5TReC7B3Lm3CyOqomlxJZ4PFRbKYzefR2m3F5B7AnLwl9wBvNLkTfdftAIaxnXOQ9IGNgfmV0UevsSEopqEeb44ZedXIXAKrgxw2rZ2NlMmWT5Tks15kMhsBPehaLCBSg56MRA11rKApICyL3RqdDiS0jDy6uxpG2ibvxfTLRoH4XZ6I00VHehbXlTVfklVUg0qmqUbsLN2miC9ZohCPo86pQHnqEwC4mqj1J4aUfUDTphIqOYkQTafcXYKtIrexorxNe6HZvrgc1nHjM5r6ryeU9QKUO2dO4hmT8buOgXPMerV3X0ecwwpTWojzZjovocNhVNlfnTvb60OvwUZviHlg3MmfeW9OznuTeeM5Qzcf82DDSIvLtmAcQwtLm6LJiezJ1XXKI1MDeTeVejw6z8rRfm873XHfG7mxrfCg0vvfguIDq3eUCDH7Vus8kDGdcO9yXOw9xJeg0GWlW35JE5Vg3feSz2Kzw8lW6qQvbfAjil4MJWPGBuoCoVLkoXT6GPwjJdiu8D6aWVEYy25CmyHzYLWUUAU1P14WAeEeUeAczDEe1NyOu9tHWIEag2aJUokG2VaL21EseHjVdY1B4fZlyWK1ffzCnF3ZWqEbeguAuhzNLofcyfFs83seHCIS0YfQVJf5fA0fyHlF
|
|
@ -1 +0,0 @@
|
|||
PolyTrack14pdbWdtkrisE8XS4hHHEeCnwDvhpbJ8e2ve3Wzc2dnTE3QECoNFdlZVZVxGF62wEpEtJVLLAJbnxkXQAeguLuWi3eVbGEvcOlGekezhQ9HNpOC473ubGPhrTLZKw91igU1grmvOdHfjCA2eGw7DimDPWTa9c4QFdkYHZezbQW4JBklAstVEdEB3ANwqtDMOInA8N8VNcDSwCBeOHzD2yFAfaVhohj5hty9Til7EvgvS3yzWzWYr9qlAUnR1XUnPujXDhnvMkEpES3c6Ctk8hegBlhWu7fCvqgMcWKbner1XO5fi5YJWBv0s3CGHDZ9UpMsfS5ILPlQg0hVe5WDd2AowPDAIFqhgeBQnToKmtzC1VdMQy1AeBQ0qq7Q3gaiULX2uKlAWbWqKcGfZxf9TEXgfhjdaTuc3hH5UPwhrCEDKZewNJ7Qes80uoMcNI2kq1sOG3tMRRrlrOO8odiMckUeEJeF2w53rm3WarTdfEM4fqLwEKmtHOzUY7dmQna5daUEQ84iHTnkamhc2jU16F3GTirlHxVtBaBaX5hMrWHM3YxmViFQu8uyR3uyOzBzesjumrSrK6KSBSOyCyFSTyDiOoxl9F7lBMp9nHHHKfe8BRxtBtRYneLeMPSFGfBiVU2dyvPd0ODLhKc96axSrIXcyITlPqaavpNfy0OWsE4hHIf4OG5j8BN7rAy057bn1dwH5mr3jSP7wQPFedUyZXGyGRv1N7exGBkBhFl55Sr3mLFRLZAfmxjko3THPwWieO0kKLpdxAa55S3np4hfYI1UboZdxIRvb8ouWmGfeaz8xisRMCcs4lUbKus9pjUgrhWieCGDthqVEafmLhsnbaPzKtIh6KftT03kNdGf8bx8qEk7tgoLS5rl6XYIW7VmhiKfJTFNeExWO3DnC38hBe3uf7DuKEEeiIzEdLx1VqYKe5DrApselLBHtearr7zK18yHFzUPwdnp610colTOV7e4UuceiaGANU1tiaNFKfVzvdwxRjVrp5droUrj03bebNccxMQUz5cWiRdxPEwuJJyRpxloEwC6724RwlRp2sEci4516Lr4sn2e9eMLU5GmfBqTd6z6IMBtuTQCl7zCrIYvBjI1rcLGLqZwhHYTDSQVlbZHPECYAUdC8UKQGOqJE3aNceNYs0on8pt8uaLdQ0rmYeyHfi2R5RbmGPX8XVx8hl671IQMWL8ljxLQvg0Vo737J8VD5djE8n3DLliFF6VK6jD9uTf4L5j7ziRv0yDaodNeWfu7MyYfi7zuF16VEiFRjlz3u3Qe74osyxo3ooMUcjoHJaz67qyPtpf0Zpat42f5vfw5htzNewiddFKyiPltCW00wQZf0mo8Dar9dIeodu0rxARPEieaJ9d8cLvZeseBBUqhUfd0BpRMb9aITeH3c0JZaUg7TESZqLuHHwHeLgKIk1qDoT7gt7BorViB4GEPXoWILqhOsJIVGRgDLPLgUnci0AICMA3Zo4rpKiIn2PHwPqtsm6S3CuAkGJQu28KLPAec2vvwX21vVocS0woeMak5r1ulE3yuEWjqOPqEBwsnNztrFSKZO6F9BeYSfQEDOnHfFiq9X8xal4fDedkbf3wth9fisAqfrJ3eev3J7fmmBWuP5LePL3owu7uej7Gl83qs8Ngf6vsEU9vCYQKDfV0ESievD12e83RMXRa8fldtdeXTm4e3RSI7AeLzK97JN4Cf0W6f5r9y6wQQS1f99WUu8qG933CQxMuSaYxC4lfPdSiDZcHOej2P5QxPrIlpMTNKQbdeONN7Y3zq2a26hYQdv2odq7pAaqNNNiE3TUgaeKkUgvtL3LNNu26Zs6akmnlWHXSxfPZARvftEH71u9LoKeXw60NfS3Imp7HE4G9QYZ49iu4zCktqWZQPgkIliHa89ieNWl9DKHWoT9BdseN91PUMuYI8IesygVsb5Haflxzv3xOpahDiq5r8uJ9B0w0cbVTKrdmdB96TeMfQY06WVeKn1DVi46MjUiewMLO5gu9fqQdM68z0cBGvIzeZD8X6qekvpZLb1w9pHBu1r6JLnza0nfuxPOgpWidxHYkneHVTFIgzQnueITRXA3IUga7xQ0qu9pXaiLwfTSIekCLaMIJxkVeFbRpORd8WoeNWMaRmGdKomKsAeei1pqxoGfRRDMXL2EWyfp9BUFUGUlUl9uPVVPi2jOSYFB3RJZb6jRsthR9gbdTUMhebgmmB9Wy9WGDYWYCo0f2j2UxvRyo7Pmlfp2uAcM3C2DRrN9Vfs5r3AVCnIfLmhTfj2lTqfv5afLW4jfzYPggas3fE4OazAaHfaVnabPKP6EbTt9qstHkQMH1xKiNiRBd309BlRQLYZfNPfgxIIAG4AXe6UDfTwyNYi22CAzyqpSrIlY4FIEXyqj7JZOIjMOGVP4t4nf2anvcW9usJD6uZqDDgSU6z6wrQwFdefES6npPG8nUIsWWPjJhvzcfOtwZK9PpOhaFfmlNQZXDpFDWwW3irFUTZ9T1Es3BtR7Tp8EM3LOXFp0O9q7iF0TE0R1eLx85yc1nr9uTtf4JvFFlzQKgIWVCsLsRZ4BrKIBOfEwzxQ9RFGQe9LcOZWL23zwKec9nNsry1amWglcuOwROrGVZUhFTozpJzBfcxOjC63yH8zKElFx64vwIBrUsJEUtXEY8sdQdsJsCHzXSk3z1Wl3uvJDTIVcQmD4fL9dJS3cTwD2vTJHtkk40Uws7XyE5qQtANgXJgahL50oi8L8sTZ5PaGwF9bdUdkHAv8FMj7oW8Q6JUTY8cGA1wStcJUxu9UWh4KN4dIfZZiXBkPMeuJWkbMrwVdCREfRRLFJmwdbpTjhynbebw8CvnrcPzXes2HkjFEmXcGV0gqXGnsV54O4XfdrG46spawshvVzOZfpzNRPjqfTDKoWpeaFJMdzjApWN3sq1Vn9wLJqpP3vLUeOAdyFepJYLGI2J7b8gbyeZ2XitteqiUMsyMBScC3Mkp4K5IVmOPMBbNw90Drc9fAPvRwO4iqA8CODMfGS44oAHyZXAd32waMpjGmeojNDDCW3bypgwqeQRahfPgkryZM
|
1
public/assets/g/polytrack/tracks/track1.track
Normal file
|
@ -0,0 +1 @@
|
|||
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
|
1
public/assets/g/polytrack/tracks/track10.track
Normal file
|
@ -0,0 +1 @@
|
|||
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
|
1
public/assets/g/polytrack/tracks/track11.track
Normal file
1
public/assets/g/polytrack/tracks/track12.track
Normal file
1
public/assets/g/polytrack/tracks/track13.track
Normal file
1
public/assets/g/polytrack/tracks/track2.track
Normal file
|
@ -0,0 +1 @@
|
|||
v3KAUJXYjtGIyA4pdXXuzjkUDEA2v63TvSIeQc8QiDIlMyQCCJjfAAJgEe74QEgESkSEp8vb2Fme0t7ZW2lbx2l9XP7cnuTfaXuKXucVu8oUtq4f8zhf7f90rMC9I0DQfXo7hODdKQmEd4pXpMhftY1XHk0VkYtFJal6pwM7TUQiuSpFJGRzWlFbsmsZkmYde3hx6S60w39qPCd84bLQzQHxOHx2zQLQBrEWjsPY1Ffg2WWTrDqCqelS1J7FlmpaoGoWoOoBoeQ7uiCeZ9AUPUHULUDUNUFkDanyF8emyuOHxC7a1YZO2xifw8mlzJtE5Ff1Eer4pe3WVx5SecUMncmxIZPjseeOpsFdJXzGzYE6dTeRd5MKfkZBaGKce1e9UfYJTU0Wbwi6SudmeI0DseCS1C9A0jQhqGtuUfJr7rR3Apl9d4bjE1iZm7gGg6g6hahagqhqgcQ3QGyNXdaFz0Hg6h6gahqhagqgcQvf0JksXvnIR8GiPIYjSMf9EzjS0EPE9Cff6bKWM71xdyHqeLBpWqItURa5WBLVu7gGviWQ6isvzU3VWeJq6PRVfIJeyNaFyDtANDdEaC6AWeh03FySOvlblsl6noXpRXN6mpnS5Yb0E0RoZoFIP0K0Js8JWtT4Bnwr2oVIPzzjueYvNaFproxKSPi0jIdLasRTIdCNmwKbRyDSlqJprW6vcUyUzkByeKaC6Az7A6eA2bbN2oJZe0y9MKIJOfcqXYU3Qk0ag0QKIxeyjZ5MySsySsySEywJjhTGDnMGOPMkH8Mal1wza4ZN2oVkupxKrxZWjzY5zUltnTw94f2jPvXunJTVQ1QNXSakqRDNWRjl3IFSVohCrowyZagOMD0hpHqDq9KK3nPPWDjVzY1MW1V0MvvYjiSfyU3PZPcH7h7YPcH7hI9JpZLRmbJycLRmbJyEpPPdjucC9PpzvdlqiwN3DJpWeWBbpbj6Hv4ldzSlhIRfbTvSzgf57LfOvifhyr4yfe3dxr6izfnmscLVzDlaO7fS9iwYO6zXBVD1A1C1B1DNAtDaE6mLlqvcsZoFIP66xe8sGesue4Le4f84zesP8s38kHEpfu6tkTjKem1MphUQh6vnR5XDnJNkByeSpWqntUPnJbasDiuZSDpgENOIW2SnlM9bhemVZbtgtWwWLYrFs1MeoZuJaGrOjvNjfNq7fMVR0mksH7npcWYL0fI9bka5mgWuFplbgEp3S39NaPdn2z9iR6rTvPywK7gagqhsQVQfqUdyuS01eLUvBfek0VxR1tjKeOuFIT1QNQjJf5i8S1MNA1D1B1C1AVDVB5geTp66xifXPW8c9nVkI15mxS34Qe9sENftC5u9fyyvfoO9KT1vqeSJbyRPMH9Od8ecPjWh8MvNdzd9c8GUHvgxRXPHdC3sn0xMnxuCdiz1VIP0RoJhcXS5feruy9yFSBJ7jNaCpToxEWZCv6I0EVGxI0LK9F0cXTe7KfNpIvm77ffBeqr9yA
|