diff options
Diffstat (limited to '')
189 files changed, 7430 insertions, 8009 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f31a693f..612e46a0 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,7 +8,5 @@ jobs: steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 - with: - node-version: "16" - run: npm install - run: npm test diff --git a/.gitignore b/.gitignore index b975c4b8..6a0724e0 100644 --- a/.gitignore +++ b/.gitignore @@ -9,5 +9,7 @@ nod node_modules package-lock.json .vscode -src/pages/options/index.html -src/pages/popup/popup.html +pnpm-lock.yaml +src/pages/options/build +src/pages/popup/build +src/pages/messages/build \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..665abdb7 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,3 @@ +src/_locales/ +.github/ +.gitea/ \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 00000000..2f1b5f52 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,7 @@ +{ + "printWidth": 120, + "semi": false, + "singleQuote": false, + "trailingComma": "es5", + "arrowParens": "avoid" +} diff --git a/Privacy-Policy.md b/Privacy-Policy.md index d0ba7403..87ac78df 100644 --- a/Privacy-Policy.md +++ b/Privacy-Policy.md @@ -2,6 +2,8 @@ - Nothing - All url redirections work locally, except for OpenStreetMap reverse geocoding, done via the [OSM Nomantim API](https://nominatim.org/release-docs/develop/api/Overview/) +- The Libredirect search engine icon displayed in Firefox at about:preferences#search and in the address bar is fetched from GitHub. +- By default, the list of instances if fetched from GitHub. Alternatively, it may be fetched from Codeberg or not at all. ## Future Changes diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..87ee155d --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,29 @@ +# Security Policy + +## Supported Versions + +We only support the latest versions and older versions are no longer supported by us. Support ends for the existing version as soon as a new release is done. + +## Reporting a Vulnerability + +- The Version affected +- The commit which knowingly or unknowingly brings the vulnerability +- How to reproduce it - Either a detailed write up or Video as the reporter prefers but details are important. +- Possible or full scale solutions that the reporter as come up with to fix them and shouldn't affect other functions for a long term. +- The time you have taken to find the vulnerability + +- Depending the level of it, you can choose to make an immediate PR or being high, recommeneded to send them privately to us. + +We prefer this in the format of PDF, write in an editor of your choice. For referrencing files, please zip all the files. And reference mark them like on wikipedia for sources. + +If the vulnerability is too high, it is suggested to report it to us privately in the matrix network (preferred for faster response) directly to developers or mail to official contact email and ping the team members on Matrix channel. + +We will assess and after accepting your vulnerability report we will work on it and release the fix provided by you, if not, made by us. If it is declined, you will get a detailed report back from us on why. + +If vulnerability is high, and reported privately, we will tell about them in a later release publicly so that users are updated and secure by then. Even if incase we forget, we will disclose if another person what was this commit about or something. Even if not, then, We will disclose it in our annual vulnerability transparency report. + +No software is secure and could be hacked. We try the best to write good code with safety. It would be great if you help us. + +And there is bounty, If severity is too high, the team will consider awarding a amount from the donations it had received depending on your report. It's a community project, you do this as your wish. However, awarding the amount and how much amount is totally the decisions of the libredirect maintainers. So, don't get your hopes too high. We strive on community's donations that motivates us to better build the extension further. + +Thanks for reporting vulnerabilities if any, Happy Hunting ! diff --git a/package.json b/package.json index d388da1f..83705623 100644 --- a/package.json +++ b/package.json @@ -1,38 +1,53 @@ { - "name": "libredirect", - "description": "Redirects YouTube, Twitter, TikTok and more to privacy friendly frontends.", - "engines": { - "node": ">=16.13.1", - "npm": ">=8.1.2" - }, - "scripts": { - "start": "web-ext run", - "start-nightly": "web-ext run --firefox=/home/manerakai/Downloads/firefox/firefox", - "build": "web-ext build", - "test": "web-ext lint", - "html": "pug --basedir ./ --obj ./src/config.json src/pages/options/index.pug --out src/pages/options/ && pug --basedir ./ --obj ./src/config.json src/pages/popup/popup.pug --out src/pages/popup/" - }, - "repository": { - "type": "git", - "url": "git+https://github.com/libredirect/libredirect.git" - }, - "author": "LibRedirect", - "license": "GPL-3.0-only", - "bugs": { - "url": "https://github.com/libredirect/libredirect/issues" - }, - "homepage": "https://libredirect.github.io", - "devDependencies": { - "pug-cli": "^1.0.0-alpha6", - "web-ext": "^7.2.0" - }, - "webExt": { - "sourceDir": "./src/", - "run": { - "browserConsole": true - }, - "build": { - "overwriteDest": true - } - } + "name": "libredirect", + "type": "module", + "description": "Redirects YouTube, Twitter, TikTok and more to privacy friendly frontends.", + "engines": { + "node": ">=18.20.4", + "npm": ">=10.7.0" + }, + "scripts": { + "start": "web-ext run", + "firefox": "web-ext run --firefox=/home/manerakai/software/firefox/firefox", + "start_ar": "web-ext run --firefox=/home/manerakai/software/firefox_ar/firefox", + "android": "web-ext run -t firefox-android --adb-device emulator-5554 --firefox-apk org.mozilla.firefox --adb-remove-old-artifacts", + "build": "web-ext build -i pages/options_src -i pages/popup_src pages/icons -i pages/popup_src -i pages/components", + "build_chromium": "brave-browser --pack-extension=src/ --pack-extension-key=src.pem", + "test": "web-ext lint", + "html": "rollup -c --config-popup && rollup -c --config-options && rollup -c --config-messages" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/libredirect/libredirect.git" + }, + "author": "LibRedirect", + "license": "GPL-3.0-only", + "bugs": { + "url": "https://github.com/libredirect/libredirect/issues" + }, + "homepage": "https://libredirect.github.io", + "devDependencies": { + "prettier": "3.3.3" + }, + "webExt": { + "sourceDir": "./src/", + "run": { + "browserConsole": true + }, + "build": { + "overwriteDest": true + } + }, + "dependencies": { + "svelte-select": "^5.8.3", + "pug-cli": "^1.0.0-alpha6", + "rollup": "^3.15.0", + "rollup-plugin-css-only": "^4.3.0", + "rollup-plugin-svelte": "^7.1.2", + "svelte": "^3.55.0", + "web-ext": "^7.2.0", + "@rollup/plugin-commonjs": "^24.0.0", + "@rollup/plugin-node-resolve": "^15.0.0", + "@rollup/plugin-terser": "^0.4.0" + } } diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 00000000..0bad0c97 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,48 @@ +import svelte from "rollup-plugin-svelte" +import commonjs from "@rollup/plugin-commonjs" +import terser from "@rollup/plugin-terser" +import resolve from "@rollup/plugin-node-resolve" +import css from "rollup-plugin-css-only" + +const production = !process.env.ROLLUP_WATCH +let input +let output +if (process.argv.includes("--config-options")) { + input = "src/pages/options_src/main.js" + output = "src/pages/options/build/bundle.js" +} else if (process.argv.includes("--config-popup")) { + input = "src/pages/popup_src/main.js" + output = "src/pages/popup/build/bundle.js" +} +else if (process.argv.includes("--config-messages")) { + input = "src/pages/messages_src/main.js" + output = "src/pages/messages/build/bundle.js" +} + +export default { + input, + output: { + sourcemap: true, + format: "iife", + name: "app", + file: output, + }, + plugins: [ + svelte({ + compilerOptions: { + dev: !production, + }, + }), + css({ output: "bundle.css" }), + resolve({ + browser: true, + dedupe: ["svelte"], + exportConditions: ["svelte"], + }), + commonjs(), + production && terser(), + ], + watch: { + clearScreen: false, + }, +} diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json index 217f7f5c..6868e013 100644 --- a/src/_locales/ar/messages.json +++ b/src/_locales/ar/messages.json @@ -8,7 +8,7 @@ "description": "description of the extension" }, "switchInstance": { - "message": "تبديل النظير", + "message": "تبديل النُسخة", "description": "used in the popup" }, "settings": { @@ -80,12 +80,11 @@ "description": "used in the settings page" }, "addYourFavoriteInstances": { - "message": "أضف نظرائك المفضلين", + "message": "أضِف نُسخك المُفضلة", "description": "used in the settings page" }, - "copyRaw": { - "message": "الرابط الأصلي", - "description": "used in the popup" + "copyOriginal": { + "message": "Copy Original" }, "copied": { "message": "تم النسخ", @@ -103,12 +102,60 @@ "message": "عن" }, "unsupportedIframesHandling": { - "message": "التعامل مع إطارات iframe غير المدعومة" + "message": "التعامل مع embeds غير المدعوم" }, "fetchPublicInstances": { - "message": "جلب الخوادم العامة" + "message": "اجلب النُسخ العامة" }, "disable": { "message": "عطّل" + }, + "pingInstances": { + "message": "بينج النُسخ" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" + }, + "autoPickInstance": { + "message": "اختر النُسخ تلقائيًا" + }, + "redirectGoogle": { + "message": "إعادة توجيه جوجل" + }, + "search_frontend": { + "message": "واجهة البحث" + }, + "searchService": { + "message": "خدمة البحث" + }, + "embedFrontend": { + "message": "واجهة Embed" } } \ No newline at end of file diff --git a/src/_locales/bn/messages.json b/src/_locales/bn/messages.json index cdde0c45..60b91d65 100644 --- a/src/_locales/bn/messages.json +++ b/src/_locales/bn/messages.json @@ -1,22 +1,42 @@ { - "dark": { - "message": "অন্ধকার", + "extensionName": { + "message": "লিবরিডাইরেক্ট", + "description": "name of the extension" + }, + "extensionDescription": { + "message": "একটি ওয়েব এক্সটেনশন যা জনপ্রিয় সাইটগুলোকে বিকল্প গোপনীয়তা-বান্ধব ফ্রন্টএন্ড এবং ব্যাকএন্ডে পুনর্নির্দেশ করে", + "description": "description of the extension" + }, + "switchInstance": { + "message": "ইন্সট্যান্স পাল্টাও", + "description": "used in manifest.json as shortcut description" + }, + "settings": { + "message": "পছন্দসমূহ", + "description": "used in the popup" + }, + "general": { + "message": "সাধারণ", "description": "used in the settings page" }, - "auto": { - "message": "স্বয়ংক্রিয়", + "theme": { + "message": "রঙ", "description": "used in the settings page" }, - "enable": { - "message": "সক্রিয়", + "light": { + "message": "সাদা", "description": "used in the settings page" }, - "frontend": { - "message": "সামনের অংশ", + "dark": { + "message": "অন্ধকার", "description": "used in the settings page" }, - "both": { - "message": "উভয়", + "auto": { + "message": "স্বয়ংক্রিয়", + "description": "used in the settings page" + }, + "excludeFromRedirecting": { + "message": "পুনঃনির্দেশ থেকে বাদ দেওয়া", "description": "used in the settings page" }, "importSettings": { @@ -31,73 +51,95 @@ "message": "পছন্দসমূহ সহজাত অবস্থায় ফিরত নাও", "description": "used in the settings page" }, + "enable": { + "message": "সক্রিয়", + "description": "used in the settings page" + }, + "showInPopup": { + "message": "পপআপে দেখাও", + "description": "used in the settings page" + }, + "frontend": { + "message": "সামনের অংশ", + "description": "used in the settings page" + }, "redirectType": { "message": "পুনঃনির্দেশ ধরণ", "description": "used in the settings page" }, - "excludeFromRedirecting": { - "message": "পুনঃনির্দেশ থেকে বাদ দেওয়া", + "both": { + "message": "উভয়", "description": "used in the settings page" }, - "showInPopup": { - "message": "পপআপে দেখাও", + "onlyEmbedded": { + "message": "শুধু এমবেডকৃত", "description": "used in the settings page" }, - "copyRaw": { - "message": "কাঁচা অনুলিপি" - }, "onlyNotEmbedded": { "message": "এমবেডকৃত নয়", "description": "used in the settings page" }, - "about": { - "message": "আমাদের সম্পর্কে" + "addYourFavoriteInstances": { + "message": "পছন্দের ইন্সট্যান্স যোগ করো", + "description": "used in the settings page" + }, + "copyOriginal": { + "message": "Copy Original" + }, + "copied": { + "message": "অনুলিপিত" + }, + "redirectToOriginal": { + "message": "আসলটায় পুনঃনির্দেশ করো", + "description": "Used in context menus when right clicking on a page/tab" }, "redirectLink": { "message": "পুনঃনির্দেশ করার চেষ্টা করো", "description": "Used in context menus when right clicking on a hyperlink" }, - "extensionName": { - "message": "লিবরিডাইরেক্ট", - "description": "name of the extension" + "about": { + "message": "আমাদের সম্পর্কে" }, - "theme": { - "message": "রঙ", - "description": "used in the settings page" + "unsupportedIframesHandling": { + "message": "Unsupported embeds handling" }, - "light": { - "message": "সাদা", - "description": "used in the settings page" + "fetchPublicInstances": { + "message": "Fetch public instances" }, - "copied": { - "message": "অনুলিপিত" + "disable": { + "message": "Disable" }, - "extensionDescription": { - "message": "একটি ওয়েব এক্সটেনশন যা জনপ্রিয় সাইটগুলোকে বিকল্প গোপনীয়তা-বান্ধব ফ্রন্টএন্ড এবং ব্যাকএন্ডে পুনর্নির্দেশ করে", - "description": "description of the extension" + "pingInstances": { + "message": "Ping Instances" }, - "redirectToOriginal": { - "message": "আসলটায় পুনঃনির্দেশ করো", - "description": "Used in context menus when right clicking on a page/tab" + "exportSettingsToSync": { + "message": "Export Settings to Sync" }, - "addYourFavoriteInstances": { - "message": "পছন্দের ইন্সট্যান্স যোগ করো", - "description": "used in the settings page" + "importSettingsFromSync": { + "message": "Import Settings from Sync" }, - "settings": { - "message": "পছন্দসমূহ", - "description": "used in the popup" + "services": { + "message": "Services" }, - "general": { - "message": "সাধারণ", - "description": "used in the settings page" + "service": { + "message": "Service" }, - "switchInstance": { - "message": "ইন্সট্যান্স পাল্টাও", - "description": "used in manifest.json as shortcut description" + "bookmarksMenu": { + "message": "Bookmarks menu" }, - "onlyEmbedded": { - "message": "শুধু এমবেডকৃত", - "description": "used in the settings page" + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } -} +} \ No newline at end of file diff --git a/src/_locales/bs/messages.json b/src/_locales/bs/messages.json deleted file mode 100644 index 9cf59d06..00000000 --- a/src/_locales/bs/messages.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "Prebaci instancu", - "description": "used in manifest.json as shortcut description" - }, - "settings": { - "message": "Podešavanja", - "description": "used in the popup" - }, - "general": { - "message": "Općenito", - "description": "used in the settings page" - }, - "theme": { - "message": "Tema", - "description": "used in the settings page" - }, - "light": { - "message": "Svjetla", - "description": "used in the settings page" - }, - "dark": { - "message": "Mračna", - "description": "used in the settings page" - }, - "auto": { - "message": "Auto", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Isključeno iz preusmjeravanja", - "description": "used in the settings page" - }, - "importSettings": { - "message": "Uvozne Postavke", - "description": "used in the settings page" - }, - "exportSettings": { - "message": "Izvozne Postavke", - "description": "used in the settings page" - }, - "resetSettings": { - "message": "Obnovite Postavke", - "description": "used in the settings page" - }, - "enable": { - "message": "Omogući", - "description": "used in the settings page" - }, - "showInPopup": { - "message": "Prikaži u skočnom prozoru", - "description": "used in the settings page" - }, - "frontend": { - "message": "Sučelje", - "description": "used in the settings page" - }, - "redirectType": { - "message": "Vrsta Preusmjeravanja", - "description": "used in the settings page" - }, - "both": { - "message": "oba", - "description": "used in the settings page" - }, - "onlyEmbedded": { - "message": "samo ugrađeno", - "description": "used in the settings page" - }, - "onlyNotEmbedded": { - "message": "samo neugrađeno", - "description": "used in the settings page" - }, - "addYourFavoriteInstances": { - "message": "Dodajte vaše omiljene instance", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Kopirajte neobrađenu kodu" - }, - "copied": { - "message": "Kopirano" - }, - "redirectToOriginal": { - "message": "Preusmjerite prema originalnoj", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Pokušajte preusmjeriti", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "O" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - "fetchPublicInstances": { - "message": "Fetch public instances" - }, - "disable": { - "message": "Disable" - } -} \ No newline at end of file diff --git a/src/_locales/cs/messages.json b/src/_locales/cs/messages.json index 2a60320f..48bb0d7c 100644 --- a/src/_locales/cs/messages.json +++ b/src/_locales/cs/messages.json @@ -83,8 +83,8 @@ "message": "Přidejte své oblíbené instance", "description": "used in the settings page" }, - "copyRaw": { - "message": "Zkopírovat surové" + "copyOriginal": { + "message": "Kopírovat originál" }, "copied": { "message": "Zkopírováno" @@ -108,5 +108,53 @@ }, "disable": { "message": "Zakázat" + }, + "pingInstances": { + "message": "Otestovat odezvu instancí" + }, + "exportSettingsToSync": { + "message": "Exportovat nastavení do synchronizace" + }, + "importSettingsFromSync": { + "message": "Importovat nastavení ze synchronizace" + }, + "services": { + "message": "Služby" + }, + "service": { + "message": "Služba" + }, + "bookmarksMenu": { + "message": "Nabídka záložek" + }, + "redirectOnlyInIncognito": { + "message": "Přesměrovat pouze v anonymním okně" + }, + "bypass": { + "message": "Obejít" + }, + "block": { + "message": "Blokovat" + }, + "searchHint": { + "message": "Nastavte LibRedirect jako výchozí vyhledávač. Návod pro Chromium prohlížeče naleznete <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>zde</a>." + }, + "redirect": { + "message": "Přesměrovat" + }, + "autoPickInstance": { + "message": "Automaticky vybrat instanci" + }, + "searchService": { + "message": "Služba vyhledávání" + }, + "redirectGoogle": { + "message": "Přesměrovat Google" + }, + "search_frontend": { + "message": "Frontend vyhledávání" + }, + "embedFrontend": { + "message": "Vložený frontend" } } \ No newline at end of file diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json deleted file mode 100644 index 75688fdf..00000000 --- a/src/_locales/de/messages.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "Instanz wechseln", - "description": "used in manifest.json as shortcut description" - }, - "settings": { - "message": "Einstellungen", - "description": "used in the popup" - }, - "general": { - "message": "Allgemein", - "description": "used in the settings page" - }, - "theme": { - "message": "Farbschema", - "description": "used in the settings page" - }, - "light": { - "message": "Hell", - "description": "used in the settings page" - }, - "dark": { - "message": "Dunkel", - "description": "used in the settings page" - }, - "auto": { - "message": "System", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Vom Umleiten ausschließen", - "description": "used in the settings page" - }, - "importSettings": { - "message": "Einstellungen importieren", - "description": "used in the settings page" - }, - "exportSettings": { - "message": "Einstellungen exportieren", - "description": "used in the settings page" - }, - "resetSettings": { - "message": "Einstellungen zurücksetzen", - "description": "used in the settings page" - }, - "enable": { - "message": "Aktivieren", - "description": "used in the settings page" - }, - "showInPopup": { - "message": "Im Pop-up-Fenster anzeigen", - "description": "used in the settings page" - }, - "frontend": { - "message": "Frontend", - "description": "used in the settings page" - }, - "redirectType": { - "message": "Art der Umleitung", - "description": "used in the settings page" - }, - "both": { - "message": "beides", - "description": "used in the settings page" - }, - "onlyEmbedded": { - "message": "nur eingebettet", - "description": "used in the settings page" - }, - "onlyNotEmbedded": { - "message": "nur nicht eingebettet", - "description": "used in the settings page" - }, - "addYourFavoriteInstances": { - "message": "Eigene Instanz hinzufügen", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Original-Link kopieren" - }, - "copied": { - "message": "Kopiert" - }, - "redirectToOriginal": { - "message": "Zur Originalseite umleiten", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Versuchen umzuleiten", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "Über" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - "fetchPublicInstances": { - "message": "Fetch public instances" - }, - "disable": { - "message": "Disable" - } -} \ No newline at end of file diff --git a/src/_locales/delete.py b/src/_locales/delete.py index 13bfe546..d5360c95 100644 --- a/src/_locales/delete.py +++ b/src/_locales/delete.py @@ -11,15 +11,21 @@ with open('./en/messages.json') as data: keys = ['extensionName', 'extensionDescription', 'general', + 'services', + 'service', 'theme', 'auto', 'light', 'dark', 'excludeFromRedirecting', + 'fetchPublicInstances', 'importSettings', 'exportSettings', + 'exportSettingsToSync', + 'importSettingsFromSync', 'resetSettings', 'enable', + 'disable', 'showInPopup', 'frontend', 'redirectType', @@ -28,12 +34,27 @@ keys = ['extensionName', 'onlyNotEmbedded', 'addYourFavoriteInstances', 'switchInstance', - 'copyRaw', + 'copyOriginal', 'copied', 'settings', 'about', 'redirectToOriginal', 'redirectLink', + 'redirectOnlyInIncognito', + 'bookmarksMenu', + 'showInPopup', + 'unsupportedIframesHandling', + 'bypass', + 'block', + 'searchHint', + 'excludeFromRedirecting', + 'pingInstances', + 'redirect', + 'autoPickInstance', + 'redirectGoogle', + 'search_frontend', + 'searchService', + 'embedFrontend', ] tmp = {} diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json index 64fa479c..1fd7306b 100644 --- a/src/_locales/en/messages.json +++ b/src/_locales/en/messages.json @@ -83,8 +83,8 @@ "message": "Add your favorite instances", "description": "used in the settings page" }, - "copyRaw": { - "message": "Copy Raw" + "copyOriginal": { + "message": "Copy Original" }, "copied": { "message": "Copied" @@ -101,12 +101,60 @@ "message": "About" }, "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" + "message": "Unsupported embeds handling" }, "fetchPublicInstances": { "message": "Fetch public instances" }, "disable": { "message": "Disable" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" + }, + "autoPickInstance": { + "message": "Auto Pick Instance" + }, + "redirectGoogle": { + "message": "Redirect Google" + }, + "search_frontend": { + "message": "Search Frontend" + }, + "searchService": { + "message": "Search Service" + }, + "embedFrontend": { + "message": "Embed Frontend" } } diff --git a/src/_locales/vi/messages.json b/src/_locales/eo/messages.json index 4b4dfb80..885c7802 100644 --- a/src/_locales/vi/messages.json +++ b/src/_locales/eo/messages.json @@ -1,38 +1,38 @@ { "extensionName": { - "message": "vhack-LibRedirect", + "message": "LibRedirect", "description": "name of the extension" }, "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", + "message": "A web extension that redirects popular sites to alternative privacy-friendly frontends and backends", "description": "description of the extension" }, "switchInstance": { - "message": "Đổi Instance", + "message": "Switch Instance", "description": "used in manifest.json as shortcut description" }, "settings": { - "message": "Cài Đặt", + "message": "Settings", "description": "used in the popup" }, "general": { - "message": "Cài đặt chung", + "message": "General", "description": "used in the settings page" }, "theme": { - "message": "Giao diện", + "message": "Theme", "description": "used in the settings page" }, "light": { - "message": "Sáng", + "message": "Light", "description": "used in the settings page" }, "dark": { - "message": "Tối", + "message": "Dark", "description": "used in the settings page" }, "auto": { - "message": "Tự động", + "message": "Auto", "description": "used in the settings page" }, "excludeFromRedirecting": { @@ -40,23 +40,23 @@ "description": "used in the settings page" }, "importSettings": { - "message": "Nhập cài đặt", + "message": "Import Settings", "description": "used in the settings page" }, "exportSettings": { - "message": "Xuất cài đặt", + "message": "Export Settings", "description": "used in the settings page" }, "resetSettings": { - "message": "Đặt lại cài đặt", + "message": "Reset Settings", "description": "used in the settings page" }, "enable": { - "message": "Bật", + "message": "Enable", "description": "used in the settings page" }, "showInPopup": { - "message": "Hiển thị trong cửa sổ bật lên", + "message": "Show in popup", "description": "used in the settings page" }, "frontend": { @@ -64,11 +64,11 @@ "description": "used in the settings page" }, "redirectType": { - "message": "Loại chuyển hướng", + "message": "Redirect Type", "description": "used in the settings page" }, "both": { - "message": "cả hai", + "message": "both", "description": "used in the settings page" }, "onlyEmbedded": { @@ -83,30 +83,63 @@ "message": "Add your favorite instances", "description": "used in the settings page" }, - "copyRaw": { - "message": "Copy Raw" + "copyOriginal": { + "message": "Copy Original" }, "copied": { - "message": "Đã Sao Chép" + "message": "Copied" }, "redirectToOriginal": { "message": "Redirect to original", "description": "Used in context menus when right clicking on a page/tab" }, "redirectLink": { - "message": "Chuyển hướng liên kết này", + "message": "Attempt to redirect", "description": "Used in context menus when right clicking on a hyperlink" }, "about": { - "message": "Về tiện ích" + "message": "About" }, "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" + "message": "Unsupported embeds handling" }, "fetchPublicInstances": { "message": "Fetch public instances" }, "disable": { "message": "Disable" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } } \ No newline at end of file diff --git a/src/_locales/es/messages.json b/src/_locales/es/messages.json index dfe6e093..c5e99fed 100644 --- a/src/_locales/es/messages.json +++ b/src/_locales/es/messages.json @@ -83,8 +83,8 @@ "message": "Añade tus instancias preferidas", "description": "used in the settings page" }, - "copyRaw": { - "message": "Copiar Original" + "copyOriginal": { + "message": "Copiar original" }, "copied": { "message": "Copiado" @@ -101,12 +101,60 @@ "message": "Acerca de" }, "unsupportedIframesHandling": { - "message": "Gestión de los iframes no compatibles" + "message": "Manejo de incrustaciones de código no soportado" }, "fetchPublicInstances": { "message": "Recuperar las instancias públicas" }, "disable": { "message": "Desactivar" + }, + "pingInstances": { + "message": "Prueba de velocidad de las instancias" + }, + "exportSettingsToSync": { + "message": "Exportar configuraciones para sincronizar" + }, + "importSettingsFromSync": { + "message": "Importar configuraciones para sincronizar" + }, + "services": { + "message": "Servicios" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Menú de marcadores" + }, + "redirectOnlyInIncognito": { + "message": "Redirigir solo en modo incógnito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Bloquear" + }, + "searchHint": { + "message": "Establece LibRedirect como motor de búsqueda predeterminado. Para saber cómo hacerlo en los navegadores Chromium, haz clic <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>aquí</a>." + }, + "redirect": { + "message": "Redirigir" + }, + "search_frontend": { + "message": "Interfaz de búsqueda" + }, + "searchService": { + "message": "Servicio de búsqueda" + }, + "embedFrontend": { + "message": "Integrar Frontend" + }, + "autoPickInstance": { + "message": "Selección automática de instancias" + }, + "redirectGoogle": { + "message": "Redirigir a Google" } } \ No newline at end of file diff --git a/src/_locales/fi/messages.json b/src/_locales/fi/messages.json index 0b6b797b..ee2793b5 100644 --- a/src/_locales/fi/messages.json +++ b/src/_locales/fi/messages.json @@ -1,21 +1,43 @@ { - "excludeFromRedirecting": { - "message": "Poissuljettu uudelleenohjaukselta", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Kopioi alkuperäinen" + "extensionName": { + "message": "LibRedirect", + "description": "name of the extension" }, - "both": { - "message": "molemmat", - "description": "used in the settings page" + "extensionDescription": { + "message": "Selainlaajennus joka uudelleenohjaa suositut sivustot vaihtoehtoisiin yksityisyysystävällisiin käyttöliittymiin", + "description": "description of the extension" }, "switchInstance": { "message": "Vaihda instanssi", "description": "used in manifest.json as shortcut description" }, - "unsupportedIframesHandling": { - "message": "Tukemattomien iframejen käsittely" + "settings": { + "message": "Asetukset", + "description": "used in the popup" + }, + "general": { + "message": "Yleiset", + "description": "used in the settings page" + }, + "theme": { + "message": "Teema", + "description": "used in the settings page" + }, + "light": { + "message": "Vaalea", + "description": "used in the settings page" + }, + "dark": { + "message": "Tumma", + "description": "used in the settings page" + }, + "auto": { + "message": "Automaattinen", + "description": "used in the settings page" + }, + "excludeFromRedirecting": { + "message": "Poissuljettu uudelleenohjaukselta", + "description": "used in the settings page" }, "importSettings": { "message": "Tuo asetukset", @@ -25,88 +47,99 @@ "message": "Vie asetukset", "description": "used in the settings page" }, - "fetchPublicInstances": { - "message": "Hae julkiset instanssit" - }, - "addYourFavoriteInstances": { - "message": "Lisää suosikki-instanssisi", + "resetSettings": { + "message": "Nollaa asetukset", "description": "used in the settings page" }, - "extensionName": { - "message": "LibRedirect", - "description": "name of the extension" + "enable": { + "message": "Ota käyttöön", + "description": "used in the settings page" }, "showInPopup": { "message": "Näytä ponnahdusvalikossa", "description": "used in the settings page" }, - "theme": { - "message": "Teema", + "frontend": { + "message": "Käyttöliittymä", + "description": "used in the settings page" + }, + "redirectType": { + "message": "Uudelleenohjauksen tyyppi", + "description": "used in the settings page" + }, + "both": { + "message": "molemmat", "description": "used in the settings page" }, "onlyEmbedded": { "message": "vain upotteet", "description": "used in the settings page" }, - "light": { - "message": "Vaalea", + "onlyNotEmbedded": { + "message": "vain muut kuin upotteet", "description": "used in the settings page" }, - "frontend": { - "message": "Käyttöliittymä", + "addYourFavoriteInstances": { + "message": "Lisää suosikki-instanssisi", "description": "used in the settings page" }, - "extensionDescription": { - "message": "Selainlaajennus joka uudelleenohjaa suositut sivustot vaihtoehtoisiin yksityisyysystävällisiin käyttöliittymiin", - "description": "description of the extension" + "copyOriginal": { + "message": "Copy Original" }, "copied": { "message": "Kopioitu" }, - "onlyNotEmbedded": { - "message": "vain muut kuin upotteet", - "description": "used in the settings page" - }, - "about": { - "message": "Tietoja" + "redirectToOriginal": { + "message": "Uudelleenohjaa alkuperäiseen", + "description": "Used in context menus when right clicking on a page/tab" }, "redirectLink": { "message": "Yritä uudelleenohjata", "description": "Used in context menus when right clicking on a hyperlink" }, - "redirectType": { - "message": "Uudelleenohjauksen tyyppi", - "description": "used in the settings page" - }, - "dark": { - "message": "Tumma", - "description": "used in the settings page" + "about": { + "message": "Tietoja" }, - "general": { - "message": "Yleiset", - "description": "used in the settings page" + "unsupportedIframesHandling": { + "message": "Tukemattomien iframejen käsittely" }, - "enable": { - "message": "Ota käyttöön", - "description": "used in the settings page" + "fetchPublicInstances": { + "message": "Hae julkiset instanssit" }, "disable": { "message": "Poista käytöstä" }, - "redirectToOriginal": { - "message": "Uudelleenohjaa alkuperäiseen", - "description": "Used in context menus when right clicking on a page/tab" + "pingInstances": { + "message": "Ping Instances" }, - "auto": { - "message": "Automaattinen", - "description": "used in the settings page" + "exportSettingsToSync": { + "message": "Export Settings to Sync" }, - "settings": { - "message": "Asetukset", - "description": "used in the popup" + "importSettingsFromSync": { + "message": "Import Settings from Sync" }, - "resetSettings": { - "message": "Nollaa asetukset", - "description": "used in the settings page" + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } } diff --git a/src/_locales/filter.py b/src/_locales/filter.py index c60a6a4b..b6a30f04 100644 --- a/src/_locales/filter.py +++ b/src/_locales/filter.py @@ -3,16 +3,21 @@ import json langs = [ 'ar', + 'bn', 'bs', 'cs', 'de', + 'eo', 'es', + 'fi', 'fr', 'gl', + 'hi', 'hr', 'id', 'it', 'ja', + 'jv', 'ko', 'nb_NO', 'nl', @@ -26,6 +31,7 @@ langs = [ 'uk', 'vi', 'zh_Hans', + 'zh_Hant', ] en_json = {} diff --git a/src/_locales/fr/messages.json b/src/_locales/fr/messages.json deleted file mode 100644 index 993271aa..00000000 --- a/src/_locales/fr/messages.json +++ /dev/null @@ -1,113 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "Changer d'instance", - "description": "used in manifest.json as shortcut description" - }, - "settings": { - "message": "Paramètres", - "description": "used in the popup" - }, - "general": { - "message": "Général", - "description": "used in the settings page" - }, - "theme": { - "message": "Thème", - "description": "used in the settings page" - }, - "light": { - "message": "Clair", - "description": "used in the settings page" - }, - "dark": { - "message": "Sombre", - "description": "used in the settings page" - }, - "auto": { - "message": "Auto", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Exclus de la redirection", - "description": "used in the settings page" - }, - "importSettings": { - "message": "Importer les paramètres", - "description": "used in the settings page" - }, - "exportSettings": { - "message": "Exporter les paramètres", - "description": "used in the settings page" - }, - "resetSettings": { - "message": "Réinitialiser les paramètres", - "description": "used in the settings page" - }, - "enable": { - "message": "Activer", - "description": "used in the settings page" - }, - "showInPopup": { - "message": "Afficher dans la fenêtre contextuelle", - "description": "used in the settings page" - }, - "frontend": { - "message": "Interface", - "description": "used in the settings page" - }, - "redirectType": { - "message": "Type de redirection", - "description": "used in the settings page" - }, - "both": { - "message": "les deux", - "description": "used in the settings page" - }, - "onlyEmbedded": { - "message": "uniquement intégré", - "description": "used in the settings page" - }, - "onlyNotEmbedded": { - "message": "seulement non intégré", - "description": "used in the settings page" - }, - "addYourFavoriteInstances": { - "message": "Ajoutez vos instances favorites", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Copier le lien original" - }, - "copied": { - "message": "Copié" - }, - "redirectToOriginal": { - "message": "Rediriger vers l'original", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Essayer de rediriger", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "À propos" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - }, - "fetchPublicInstances": { - "message": "Rechercher des instances publiques" - }, - "disable": { - "message": "Désactiver" - } -} diff --git a/src/_locales/gl/messages.json b/src/_locales/gl/messages.json index 64771e6b..5fe31474 100644 --- a/src/_locales/gl/messages.json +++ b/src/_locales/gl/messages.json @@ -36,7 +36,7 @@ "description": "used in the settings page" }, "excludeFromRedirecting": { - "message": "Excluded from redirecting", + "message": "Excluído da redirección", "description": "used in the settings page" }, "importSettings": { @@ -56,7 +56,7 @@ "description": "used in the settings page" }, "showInPopup": { - "message": "Show in popup", + "message": "Mostrar nunha xanela emerxente", "description": "used in the settings page" }, "frontend": { @@ -76,21 +76,21 @@ "description": "used in the settings page" }, "onlyNotEmbedded": { - "message": "non só incrustados", + "message": "só non incrustados", "description": "used in the settings page" }, "addYourFavoriteInstances": { - "message": "Add your favorite instances", + "message": "Engade as túas instancias favoritas", "description": "used in the settings page" }, - "copyRaw": { - "message": "Copiar en crú" + "copyOriginal": { + "message": "Copiar Orixinal" }, "copied": { - "message": "Copied" + "message": "Copiouse" }, "redirectToOriginal": { - "message": "Redirect to original", + "message": "Ir ao orixinal", "description": "Used in context menus when right clicking on a page/tab" }, "redirectLink": { @@ -98,15 +98,63 @@ "description": "Used in context menus when right clicking on a hyperlink" }, "about": { - "message": "About" + "message": "Acerca de" }, "unsupportedIframesHandling": { - "message": "Sen soporte para a xestión de iframes" + "message": "Xestión de incrustacións sen soporte" }, "fetchPublicInstances": { "message": "Obter instancias públicas" }, "disable": { "message": "Desactivar" + }, + "pingInstances": { + "message": "Comprobar Instancias" + }, + "exportSettingsToSync": { + "message": "Exportar Axustes a Sincr." + }, + "importSettingsFromSync": { + "message": "Importar Axustes de Sincr" + }, + "services": { + "message": "Servizos" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Menú dos marcadores" + }, + "redirectOnlyInIncognito": { + "message": "Redirect só en Incógnito" + }, + "bypass": { + "message": "Omitir" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Establece a LibRedirect como Motor de Busca predeterminado. Para facelo nos navegadores chromium, preme <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>aquí</a>." + }, + "redirect": { + "message": "Redirect" + }, + "autoPickInstance": { + "message": "Selección Autom. de instancia" + }, + "redirectGoogle": { + "message": "Redirect a Google" + }, + "search_frontend": { + "message": "Buscar Interface Alt." + }, + "searchService": { + "message": "Buscar Servizo" + }, + "embedFrontend": { + "message": "Incrustar Interface" } } \ No newline at end of file diff --git a/src/_locales/hi/messages.json b/src/_locales/hi/messages.json new file mode 100644 index 00000000..0967ef42 --- /dev/null +++ b/src/_locales/hi/messages.json @@ -0,0 +1 @@ +{} diff --git a/src/_locales/hr/messages.json b/src/_locales/hr/messages.json index b9d40ec0..3b0a8243 100644 --- a/src/_locales/hr/messages.json +++ b/src/_locales/hr/messages.json @@ -32,7 +32,7 @@ "description": "used in the settings page" }, "auto": { - "message": "Auto", + "message": "Automatski", "description": "used in the settings page" }, "excludeFromRedirecting": { @@ -68,7 +68,7 @@ "description": "used in the settings page" }, "both": { - "message": "obje", + "message": "oboje", "description": "used in the settings page" }, "onlyEmbedded": { @@ -80,10 +80,10 @@ "description": "used in the settings page" }, "addYourFavoriteInstances": { - "message": "Dodajte svoje omiljene instance", + "message": "Dodaj svoje omiljene instance", "description": "used in the settings page" }, - "copyRaw": { + "copyOriginal": { "message": "Kopiraj original" }, "copied": { @@ -108,5 +108,53 @@ }, "disable": { "message": "Deaktiviraj" + }, + "pingInstances": { + "message": "Testiraj instance" + }, + "exportSettingsToSync": { + "message": "Izvezi postavke za sinkronizaciju" + }, + "importSettingsFromSync": { + "message": "Uvezi postavke iz sinkronizacije" + }, + "services": { + "message": "Usluge" + }, + "service": { + "message": "Usluga" + }, + "bookmarksMenu": { + "message": "Izbornik zabilješki" + }, + "redirectOnlyInIncognito": { + "message": "Preusmjeri samo u inkognito modusu" + }, + "bypass": { + "message": "Zaobiđi" + }, + "block": { + "message": "Blokiraj" + }, + "searchHint": { + "message": "Postavi LibRedirect kao standardnu tražilicu. <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>Ovdje</a> pogledaj kako se to radi u Chromium web pregledniku." + }, + "redirect": { + "message": "Preusmjeri" + }, + "autoPickInstance": { + "message": "Odaberi instancu automatski" + }, + "redirectGoogle": { + "message": "Preusmjeri na Google" + }, + "search_frontend": { + "message": "Traži sučelje" + }, + "searchService": { + "message": "Traži uslugu" + }, + "embedFrontend": { + "message": "Ugradi sučelje" } } \ No newline at end of file diff --git a/src/_locales/id/messages.json b/src/_locales/id/messages.json index 0368bec8..dbacc848 100644 --- a/src/_locales/id/messages.json +++ b/src/_locales/id/messages.json @@ -83,8 +83,8 @@ "message": "Tambahkan server favorit Anda", "description": "used in the settings page" }, - "copyRaw": { - "message": "Salin Mentah" + "copyOriginal": { + "message": "Copy Original" }, "copied": { "message": "Disalin" @@ -108,5 +108,38 @@ }, "disable": { "message": "Nonaktifkan" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } } \ No newline at end of file diff --git a/src/_locales/it/messages.json b/src/_locales/it/messages.json index 295dd517..e5699f35 100644 --- a/src/_locales/it/messages.json +++ b/src/_locales/it/messages.json @@ -83,8 +83,8 @@ "message": "Aggiungi le tue istanze preferite", "description": "used in the settings page" }, - "copyRaw": { - "message": "Copia grezza" + "copyOriginal": { + "message": "Copy Original" }, "copied": { "message": "Copiato" @@ -108,5 +108,38 @@ }, "disable": { "message": "Disattiva" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } } \ No newline at end of file diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json index 58ad2f78..4b2e693b 100644 --- a/src/_locales/ja/messages.json +++ b/src/_locales/ja/messages.json @@ -8,7 +8,7 @@ "description": "description of the extension" }, "switchInstance": { - "message": "インスタンスを切り替え", + "message": "インスタンスを変更", "description": "used in manifest.json as shortcut description" }, "settings": { @@ -80,11 +80,11 @@ "description": "used in the settings page" }, "addYourFavoriteInstances": { - "message": "好きなインスタンスを追加", + "message": "独自のインスタンスを追加", "description": "used in the settings page" }, - "copyRaw": { - "message": "元のURIをコピー" + "copyOriginal": { + "message": "元のサービスのURIをコピー" }, "copied": { "message": "コピーしました" @@ -101,12 +101,60 @@ "message": "公式サイト" }, "unsupportedIframesHandling": { - "message": "未対応の iframes の処理" + "message": "未対応の埋め込み動画の処理" }, "fetchPublicInstances": { - "message": "公式インスタンスを取得" + "message": "公開インスタンスの一覧を取得" }, "disable": { "message": "無効" + }, + "pingInstances": { + "message": "インスタンスの応答時間を確認" + }, + "exportSettingsToSync": { + "message": "設定を同期にエクスポート" + }, + "importSettingsFromSync": { + "message": "設定を同期からインポート" + }, + "services": { + "message": "サービス" + }, + "service": { + "message": "サービス" + }, + "bookmarksMenu": { + "message": "ブークマークのメニューに追加" + }, + "redirectOnlyInIncognito": { + "message": "シークレットモードでのみ転送" + }, + "bypass": { + "message": "転送なし" + }, + "block": { + "message": "表示しない" + }, + "searchHint": { + "message": "LibRedirect を標準の検索エンジンに設定します。chromium ブラウザーでのやり方は、<a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>こちらをクリック</a>。" + }, + "redirect": { + "message": "転送する" + }, + "search_frontend": { + "message": "検索フロントエンド" + }, + "embedFrontend": { + "message": "埋め込みフロントエンド" + }, + "redirectGoogle": { + "message": "Googleを転送する" + }, + "autoPickInstance": { + "message": "インスタンスを自動で取得" + }, + "searchService": { + "message": "検索サービス" } } \ No newline at end of file diff --git a/src/_locales/jv/messages.json b/src/_locales/jv/messages.json index 40fb052b..90a2fc45 100644 --- a/src/_locales/jv/messages.json +++ b/src/_locales/jv/messages.json @@ -1,4 +1,24 @@ { + "extensionName": { + "message": "LibRedirect", + "description": "name of the extension" + }, + "extensionDescription": { + "message": "A web extension that redirects popular sites to alternative privacy-friendly frontends and backends", + "description": "description of the extension" + }, + "switchInstance": { + "message": "Switch Instance", + "description": "used in manifest.json as shortcut description" + }, + "settings": { + "message": "Settings", + "description": "used in the popup" + }, + "general": { + "message": "General", + "description": "used in the settings page" + }, "theme": { "message": "Téma", "description": "used in the settings page" @@ -11,8 +31,115 @@ "message": "Peteng", "description": "used in the settings page" }, - "extensionName": { - "message": "LibRedirect", - "description": "name of the extension" + "auto": { + "message": "Auto", + "description": "used in the settings page" + }, + "excludeFromRedirecting": { + "message": "Excluded from redirecting", + "description": "used in the settings page" + }, + "importSettings": { + "message": "Import Settings", + "description": "used in the settings page" + }, + "exportSettings": { + "message": "Export Settings", + "description": "used in the settings page" + }, + "resetSettings": { + "message": "Reset Settings", + "description": "used in the settings page" + }, + "enable": { + "message": "Enable", + "description": "used in the settings page" + }, + "showInPopup": { + "message": "Show in popup", + "description": "used in the settings page" + }, + "frontend": { + "message": "Frontend", + "description": "used in the settings page" + }, + "redirectType": { + "message": "Redirect Type", + "description": "used in the settings page" + }, + "both": { + "message": "both", + "description": "used in the settings page" + }, + "onlyEmbedded": { + "message": "only embedded", + "description": "used in the settings page" + }, + "onlyNotEmbedded": { + "message": "only not embedded", + "description": "used in the settings page" + }, + "addYourFavoriteInstances": { + "message": "Add your favorite instances", + "description": "used in the settings page" + }, + "copyOriginal": { + "message": "Copy Original" + }, + "copied": { + "message": "Copied" + }, + "redirectToOriginal": { + "message": "Redirect to original", + "description": "Used in context menus when right clicking on a page/tab" + }, + "redirectLink": { + "message": "Attempt to redirect", + "description": "Used in context menus when right clicking on a hyperlink" + }, + "about": { + "message": "About" + }, + "unsupportedIframesHandling": { + "message": "Unsupported embeds handling" + }, + "fetchPublicInstances": { + "message": "Fetch public instances" + }, + "disable": { + "message": "Disable" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } -} +} \ No newline at end of file diff --git a/src/_locales/ko/messages.json b/src/_locales/ko/messages.json deleted file mode 100644 index c351ea76..00000000 --- a/src/_locales/ko/messages.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "인스턴스 바꾸기", - "description": "used in manifest.json as shortcut description" - }, - "settings": { - "message": "설정", - "description": "used in the popup" - }, - "general": { - "message": "일반", - "description": "used in the settings page" - }, - "theme": { - "message": "테마", - "description": "used in the settings page" - }, - "light": { - "message": "밝음", - "description": "used in the settings page" - }, - "dark": { - "message": "어두움", - "description": "used in the settings page" - }, - "auto": { - "message": "Auto", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Excluded from redirecting", - "description": "used in the settings page" - }, - "importSettings": { - "message": "설정 불러오기", - "description": "used in the settings page" - }, - "exportSettings": { - "message": "설정 내보내기", - "description": "used in the settings page" - }, - "resetSettings": { - "message": "설정 초기화", - "description": "used in the settings page" - }, - "enable": { - "message": "활성화", - "description": "used in the settings page" - }, - "showInPopup": { - "message": "Show in popup", - "description": "used in the settings page" - }, - "frontend": { - "message": "프론트엔드", - "description": "used in the settings page" - }, - "redirectType": { - "message": "리다이렉트 종류", - "description": "used in the settings page" - }, - "both": { - "message": "둘 다", - "description": "used in the settings page" - }, - "onlyEmbedded": { - "message": "임베디드 된 것만", - "description": "used in the settings page" - }, - "onlyNotEmbedded": { - "message": "임베디드 안된 것만", - "description": "used in the settings page" - }, - "addYourFavoriteInstances": { - "message": "Add your favorite instances", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Raw 복사" - }, - "copied": { - "message": "복사됨" - }, - "redirectToOriginal": { - "message": "Redirect to original", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Attempt to redirect this hyperlink", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "About" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - "fetchPublicInstances": { - "message": "Fetch public instances" - }, - "disable": { - "message": "Disable" - } -} \ No newline at end of file diff --git a/src/_locales/nb_NO/messages.json b/src/_locales/nb_NO/messages.json deleted file mode 100644 index 4a245d44..00000000 --- a/src/_locales/nb_NO/messages.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "Bytt instans", - "description": "used in manifest.json as shortcut description" - }, - "settings": { - "message": "Innstillinger", - "description": "used in the popup" - }, - "general": { - "message": "Generelt", - "description": "used in the settings page" - }, - "theme": { - "message": "Drakt", - "description": "used in the settings page" - }, - "light": { - "message": "Lys", - "description": "used in the settings page" - }, - "dark": { - "message": "Mørk", - "description": "used in the settings page" - }, - "auto": { - "message": "Auto", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Excluded from redirecting", - "description": "used in the settings page" - }, - "importSettings": { - "message": "Importer innstillinger", - "description": "used in the settings page" - }, - "exportSettings": { - "message": "Eksporter innstillinger", - "description": "used in the settings page" - }, - "resetSettings": { - "message": "Tilbakestill innstillinger", - "description": "used in the settings page" - }, - "enable": { - "message": "Skru på", - "description": "used in the settings page" - }, - "showInPopup": { - "message": "Show in popup", - "description": "used in the settings page" - }, - "frontend": { - "message": "Grenseflate", - "description": "used in the settings page" - }, - "redirectType": { - "message": "Videresendingstype", - "description": "used in the settings page" - }, - "both": { - "message": "begge", - "description": "used in the settings page" - }, - "onlyEmbedded": { - "message": "kun innebygde", - "description": "used in the settings page" - }, - "onlyNotEmbedded": { - "message": "kun ikke-innebygde", - "description": "used in the settings page" - }, - "addYourFavoriteInstances": { - "message": "Add your favorite instances", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Kopier originallenke" - }, - "copied": { - "message": "Kopiert" - }, - "redirectToOriginal": { - "message": "Redirect to original", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Attempt to redirect this hyperlink", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "About" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - "fetchPublicInstances": { - "message": "Fetch public instances" - }, - "disable": { - "message": "Disable" - } -} \ No newline at end of file diff --git a/src/_locales/nl/messages.json b/src/_locales/nl/messages.json index 4ee327dd..65e71f31 100644 --- a/src/_locales/nl/messages.json +++ b/src/_locales/nl/messages.json @@ -83,8 +83,8 @@ "message": "Toevoegen aan favoriete instanties", "description": "used in the settings page" }, - "copyRaw": { - "message": "Onbewerkte code kopiëren" + "copyOriginal": { + "message": "Copy Original" }, "copied": { "message": "Gekopieerd" @@ -108,5 +108,38 @@ }, "disable": { "message": "Uitschakelen" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } } \ No newline at end of file diff --git a/src/_locales/pl/messages.json b/src/_locales/pl/messages.json index 2ad9e368..c632f0c3 100644 --- a/src/_locales/pl/messages.json +++ b/src/_locales/pl/messages.json @@ -83,8 +83,8 @@ "message": "Dodaj ulubione instancje", "description": "used in the settings page" }, - "copyRaw": { - "message": "Skopiuj nieprzetworzony" + "copyOriginal": { + "message": "Kopiuj oryginał" }, "copied": { "message": "Skopiowano" @@ -101,12 +101,60 @@ "message": "Informacje" }, "unsupportedIframesHandling": { - "message": "Brak obsługi ramek iframe" + "message": "Brak obsługi osadzania" }, "fetchPublicInstances": { "message": "Pobierz instancje publiczne" }, "disable": { "message": "Wyłącz" + }, + "pingInstances": { + "message": "Pinguj instancje" + }, + "exportSettingsToSync": { + "message": "Eksportuj ustawienia do synchronizacji" + }, + "importSettingsFromSync": { + "message": "Importuj ustawienia do synchronizacji" + }, + "services": { + "message": "Usługi" + }, + "service": { + "message": "Usługa" + }, + "bookmarksMenu": { + "message": "Menu zakładek" + }, + "redirectOnlyInIncognito": { + "message": "Przekieruj tylko w trybie incognito" + }, + "bypass": { + "message": "Omiń" + }, + "block": { + "message": "Zablokuj" + }, + "searchHint": { + "message": "Ustaw LibRedirect jako domyślną wyszukiwarkę. Aby dowiedzieć się, jak to zrobić w przeglądarkach Chromium, kliknij <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>tutaj</a>." + }, + "redirect": { + "message": "Przekieruj" + }, + "autoPickInstance": { + "message": "Automatyczny wybór instancji" + }, + "redirectGoogle": { + "message": "Przekieruj Google" + }, + "embedFrontend": { + "message": "Frontend osadzania" + }, + "search_frontend": { + "message": "Frontend wyszukiwania" + }, + "searchService": { + "message": "Usługa wyszukiwania" } } \ No newline at end of file diff --git a/src/_locales/pt/messages.json b/src/_locales/pt/messages.json deleted file mode 100644 index 0d8d5606..00000000 --- a/src/_locales/pt/messages.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "Trocar de instância", - "description": "used in manifest.json as shortcut description" - }, - "settings": { - "message": "Configurações", - "description": "used in the popup" - }, - "general": { - "message": "Geral", - "description": "used in the settings page" - }, - "theme": { - "message": "Tema", - "description": "used in the settings page" - }, - "light": { - "message": "Claro", - "description": "used in the settings page" - }, - "dark": { - "message": "Escuro", - "description": "used in the settings page" - }, - "auto": { - "message": "Auto", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Excluído do redirecionamento", - "description": "used in the settings page" - }, - "importSettings": { - "message": "Importar configurações", - "description": "used in the settings page" - }, - "exportSettings": { - "message": "Exportar configurações", - "description": "used in the settings page" - }, - "resetSettings": { - "message": "Repor configurações", - "description": "used in the settings page" - }, - "enable": { - "message": "Ativar", - "description": "used in the settings page" - }, - "showInPopup": { - "message": "Mostrar no pop-up", - "description": "used in the settings page" - }, - "frontend": { - "message": "Interface", - "description": "used in the settings page" - }, - "redirectType": { - "message": "Tipo de redirecionamento", - "description": "used in the settings page" - }, - "both": { - "message": "ambos", - "description": "used in the settings page" - }, - "onlyEmbedded": { - "message": "só embutidos", - "description": "used in the settings page" - }, - "onlyNotEmbedded": { - "message": "apenas os não embutidos", - "description": "used in the settings page" - }, - "addYourFavoriteInstances": { - "message": "Adicionar a sua instância favorita", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Copiar URL original" - }, - "copied": { - "message": "Copiado" - }, - "redirectToOriginal": { - "message": "Redirecionar para o original", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Tentar redirecionar", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "Sobre" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - "fetchPublicInstances": { - "message": "Fetch public instances" - }, - "disable": { - "message": "Disable" - } -} \ No newline at end of file diff --git a/src/_locales/pt_BR/messages.json b/src/_locales/pt_BR/messages.json deleted file mode 100644 index f75b9d5f..00000000 --- a/src/_locales/pt_BR/messages.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "Trocar a instância", - "description": "Utilizado no arquivo manifest.json como descrição do atalho" - }, - "settings": { - "message": "Configurações", - "description": "Utilizado na janela da caixa de diálogo" - }, - "general": { - "message": "Geral", - "description": "Utilizado na página de configurações" - }, - "theme": { - "message": "Tema", - "description": "Utilizado na página de configurações" - }, - "light": { - "message": "Claro", - "description": "Utilizado na página de configurações" - }, - "dark": { - "message": "Escuro", - "description": "Utilizado na página de configurações" - }, - "auto": { - "message": "Auto", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Excluído do redirecionamento", - "description": "used in the settings page" - }, - "importSettings": { - "message": "Importar as configurações", - "description": "Utilizado na página de configurações" - }, - "exportSettings": { - "message": "Exportar as configurações", - "description": "Utilizado na página de configurações" - }, - "resetSettings": { - "message": "Redefinir as configurações", - "description": "Utilizado na página de configurações" - }, - "enable": { - "message": "Ativar", - "description": "Utilizado na página de configurações" - }, - "showInPopup": { - "message": "Mostrar em pop-up", - "description": "used in the settings page" - }, - "frontend": { - "message": "Interface gráfica", - "description": "Utilizado na página de configurações" - }, - "redirectType": { - "message": "Tipo de redirecionamento", - "description": "Utilizado na página de configurações" - }, - "both": { - "message": "ambos", - "description": "Utilizado na página de configurações" - }, - "onlyEmbedded": { - "message": "apenas os incorporados", - "description": "Utilizado na página de configurações" - }, - "onlyNotEmbedded": { - "message": "apenas os não incorporados", - "description": "Utilizado na página de configurações" - }, - "addYourFavoriteInstances": { - "message": "Adicione sua instância favorita", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Copiar URL original" - }, - "copied": { - "message": "Copiado" - }, - "redirectToOriginal": { - "message": "Redirecionar para original", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Tentar redirecionar", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "Sobre" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - "fetchPublicInstances": { - "message": "Fetch public instances" - }, - "disable": { - "message": "Disable" - } -} \ No newline at end of file diff --git a/src/_locales/ro/messages.json b/src/_locales/ro/messages.json index 5daaa2df..66227fd8 100644 --- a/src/_locales/ro/messages.json +++ b/src/_locales/ro/messages.json @@ -83,8 +83,8 @@ "message": "Add your favorite instances", "description": "used in the settings page" }, - "copyRaw": { - "message": "Copiați Raw" + "copyOriginal": { + "message": "Copy Original" }, "copied": { "message": "Copiat" @@ -108,5 +108,38 @@ }, "disable": { "message": "Dezactivează" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Services" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Bookmarks menu" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" } } \ No newline at end of file diff --git a/src/_locales/ru/messages.json b/src/_locales/ru/messages.json index 17af9229..0b3a816e 100644 --- a/src/_locales/ru/messages.json +++ b/src/_locales/ru/messages.json @@ -83,8 +83,8 @@ "message": "Добавить в избранное", "description": "used in the settings page" }, - "copyRaw": { - "message": "Копировать изначальную" + "copyOriginal": { + "message": "Копировать исходную" }, "copied": { "message": "Скопировано" @@ -101,12 +101,60 @@ "message": "О расширении" }, "unsupportedIframesHandling": { - "message": "Обработка неподдерживаемых iframe" + "message": "Обработка неподдерживаемых встроенных сайтов" }, "fetchPublicInstances": { "message": "Получить общедоступные серверы" }, "disable": { "message": "Выключить" + }, + "pingInstances": { + "message": "Опросить серверы" + }, + "exportSettingsToSync": { + "message": "Экспортировать настройки в службу синхронизации" + }, + "importSettingsFromSync": { + "message": "Импортировать настройки из службы синхронизации" + }, + "services": { + "message": "Службы" + }, + "service": { + "message": "Служба" + }, + "bookmarksMenu": { + "message": "Меню закладок" + }, + "redirectOnlyInIncognito": { + "message": "Перенаправлять только в приватных окнах" + }, + "bypass": { + "message": "Обход" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Установить LibRedirect в качестве поисковой системы по умолчанию. Подробности о том, как это сделать в браузерах на Chromium, доступны <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>здесь</a>." + }, + "redirect": { + "message": "Перенаправить" + }, + "redirectGoogle": { + "message": "Перенаправление Google" + }, + "autoPickInstance": { + "message": "Выбирать сервер автоматически" + }, + "searchService": { + "message": "Служба поиска" + }, + "search_frontend": { + "message": "Поисковый интерфейс" + }, + "embedFrontend": { + "message": "Встроить интерфейс" } } \ No newline at end of file diff --git a/src/_locales/sr/messages.json b/src/_locales/sr/messages.json deleted file mode 100644 index d9ec4a74..00000000 --- a/src/_locales/sr/messages.json +++ /dev/null @@ -1,112 +0,0 @@ -{ - "extensionName": { - "message": "vhack-LibRedirect", - "description": "name of the extension" - }, - "extensionDescription": { - "message": "A soft fork of the LibRedirect extension, preconfigured with the vhack.eu services", - "description": "description of the extension" - }, - "switchInstance": { - "message": "Пребаци инстанцу", - "description": "used in manifest.json as shortcut description" - }, - "settings": { - "message": "Подешавања", - "description": "used in the popup" - }, - "general": { - "message": "Општенито", - "description": "used in the settings page" - }, - "theme": { - "message": "Тема", - "description": "used in the settings page" - }, - "light": { - "message": "Светла", - "description": "used in the settings page" - }, - "dark": { - "message": "Мрачна", - "description": "used in the settings page" - }, - "auto": { - "message": "Auto", - "description": "used in the settings page" - }, - "excludeFromRedirecting": { - "message": "Искључено из преусмеравања", - "description": "used in the settings page" - }, - "importSettings": { - "message": "Увозна Подешавања", - "description": "used in the settings page" - }, - "exportSettings": { - "message": "Извозна Подешавања", - "description": "used in the settings page" - }, - "resetSettings": { - "message": "Обновите Подешавања", - "description": "used in the settings page" - }, - "enable": { - "message": "Омогући", - "description": "used in the settings page" - }, - "showInPopup": { - "message": "Прикажи у искачућем прозору", - "description": "used in the settings page" - }, - "frontend": { - "message": "Сучеље", - "description": "used in the settings page" - }, - "redirectType": { - "message": "Тип Преусмеравања", - "description": "used in the settings page" - }, - "both": { - "message": "оба", - "description": "used in the settings page" - }, - "onlyEmbedded": { - "message": "само уграђено", - "description": "used in the settings page" - }, - "onlyNotEmbedded": { - "message": "само неуграђено", - "description": "used in the settings page" - }, - "addYourFavoriteInstances": { - "message": "Додајте своје омиљене инстанце", - "description": "used in the settings page" - }, - "copyRaw": { - "message": "Копирајте необрађену коду" - }, - "copied": { - "message": "Копирано" - }, - "redirectToOriginal": { - "message": "Преусмерите према оригиналној", - "description": "Used in context menus when right clicking on a page/tab" - }, - "redirectLink": { - "message": "Покушајте да преусмерите", - "description": "Used in context menus when right clicking on a hyperlink" - }, - "about": { - "message": "О" - }, - "unsupportedIframesHandling": { - "message": "Unsupported iframes handling" - }, - "fetchPublicInstances": { - "message": "Fetch public instances" - }, - "disable": { - "message": "Disable" - } -} \ No newline at end of file diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json index ca9b0811..f729728e 100644 --- a/src/_locales/tr/messages.json +++ b/src/_locales/tr/messages.json @@ -83,8 +83,8 @@ "message": "Sevdiğiniz örnekleri ekleyin", "description": "used in the settings page" }, - "copyRaw": { - "message": "Ham Kopyala" + "copyOriginal": { + "message": "Aslını Kopyala" }, "copied": { "message": "Kopyalandı" @@ -101,12 +101,60 @@ "message": "Hakkında" }, "unsupportedIframesHandling": { - "message": "Desteklenmeyen iframe kullanımı" + "message": "Desteklenmeyen gömülü kullanımı" }, "fetchPublicInstances": { "message": "Herkese açık örnekleri getir" }, "disable": { "message": "Devre dışı bırak" + }, + "pingInstances": { + "message": "Örneklere Ping At" + }, + "exportSettingsToSync": { + "message": "Ayarlayı Eşzamanlamaya Aktar" + }, + "importSettingsFromSync": { + "message": "Ayarları Eşzamanlamadan İçe Aktar" + }, + "services": { + "message": "Hizmetler" + }, + "service": { + "message": "Service" + }, + "bookmarksMenu": { + "message": "Yer imleri menüsü" + }, + "redirectOnlyInIncognito": { + "message": "Yalnızca Gizli Modda Yönlendir" + }, + "bypass": { + "message": "Atla" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "LibRedirect'i öntanımlı arama moturu olarak ayarlayın. Chromium tabanlı tarayıcılarda nasıl yapılacağını öğrenmek için <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>buraya</a> tıklayın." + }, + "redirect": { + "message": "Yönlendir" + }, + "redirectGoogle": { + "message": "Yönlendir (Google)" + }, + "search_frontend": { + "message": "Arama Ön Ucu" + }, + "embedFrontend": { + "message": "Ön Ucu Göm" + }, + "autoPickInstance": { + "message": "Örneği Otomatik Seç" + }, + "searchService": { + "message": "Arama Hizmeti" } } \ No newline at end of file diff --git a/src/_locales/uk/messages.json b/src/_locales/uk/messages.json index f6f70e8c..7d79fbde 100644 --- a/src/_locales/uk/messages.json +++ b/src/_locales/uk/messages.json @@ -83,8 +83,8 @@ "message": "Додати свої улюблені сервери", "description": "used in the settings page" }, - "copyRaw": { - "message": "Копіювати оригінал посилання" + "copyOriginal": { + "message": "Скопіювати оригінал" }, "copied": { "message": "Скопійовано" @@ -101,12 +101,54 @@ "message": "Про застосунок" }, "unsupportedIframesHandling": { - "message": "Непідтримувана обробка iframes" + "message": "Обробка непідтримуваних вбудовувань" }, "fetchPublicInstances": { "message": "Отримати загальнодоступні сервери" }, "disable": { "message": "Вимкнути" + }, + "pingInstances": { + "message": "Ping Instances" + }, + "exportSettingsToSync": { + "message": "Export Settings to Sync" + }, + "importSettingsFromSync": { + "message": "Import Settings from Sync" + }, + "services": { + "message": "Служби" + }, + "service": { + "message": "Служба" + }, + "bookmarksMenu": { + "message": "Меню закладок" + }, + "redirectOnlyInIncognito": { + "message": "Redirect Only in Incognito" + }, + "bypass": { + "message": "Bypass" + }, + "block": { + "message": "Block" + }, + "searchHint": { + "message": "Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>here</a>." + }, + "redirect": { + "message": "Redirect" + }, + "autoPickInstance": { + "message": "Автопідбір сервера" + }, + "redirectGoogle": { + "message": "Переспрямування Google" + }, + "searchService": { + "message": "Служба пошуку" } } \ No newline at end of file diff --git a/src/_locales/zh_Hans/messages.json b/src/_locales/zh_Hans/messages.json index ff3f4f62..fe1a2769 100644 --- a/src/_locales/zh_Hans/messages.json +++ b/src/_locales/zh_Hans/messages.json @@ -56,7 +56,7 @@ "description": "used in the settings page" }, "showInPopup": { - "message": "显示于弹出窗口", + "message": "显示在弹窗中", "description": "used in the settings page" }, "frontend": { @@ -68,22 +68,22 @@ "description": "used in the settings page" }, "both": { - "message": "两者", + "message": "所有页面", "description": "used in the settings page" }, "onlyEmbedded": { - "message": "仅当嵌入时", + "message": "仅嵌入页面", "description": "used in the settings page" }, "onlyNotEmbedded": { - "message": "仅当非嵌入时", + "message": "仅常规页面", "description": "used in the settings page" }, "addYourFavoriteInstances": { "message": "添加您喜欢的实例", "description": "used in the settings page" }, - "copyRaw": { + "copyOriginal": { "message": "复制原始链接" }, "copied": { @@ -94,19 +94,67 @@ "description": "Used in context menus when right clicking on a page/tab" }, "redirectLink": { - "message": "尝试重定向", + "message": "尝试进行重定向", "description": "Used in context menus when right clicking on a hyperlink" }, "about": { "message": "关于" }, "unsupportedIframesHandling": { - "message": "对不支持的 iframe 的处理方式" + "message": "处理未支持的嵌入页面的方式" }, "fetchPublicInstances": { "message": "获取公共实例" }, "disable": { "message": "禁用" + }, + "pingInstances": { + "message": "对实例进行测速" + }, + "exportSettingsToSync": { + "message": "导出设置到同步服务" + }, + "importSettingsFromSync": { + "message": "从同步服务导入设置" + }, + "services": { + "message": "服务" + }, + "service": { + "message": "服务" + }, + "bookmarksMenu": { + "message": "书签菜单" + }, + "redirectOnlyInIncognito": { + "message": "仅在隐私模式下重定向" + }, + "bypass": { + "message": "绕过" + }, + "block": { + "message": "屏蔽" + }, + "searchHint": { + "message": "请将 LibRedirect 设为默认搜索引擎。对于 Chromium 的操作方法,点击<a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>此处</a>了解。" + }, + "redirect": { + "message": "重定向" + }, + "embedFrontend": { + "message": "嵌入页面前端" + }, + "autoPickInstance": { + "message": "自动挑选实例" + }, + "redirectGoogle": { + "message": "重定向 Google" + }, + "search_frontend": { + "message": "搜索前端" + }, + "searchService": { + "message": "搜索服务" } } \ No newline at end of file diff --git a/src/_locales/zh_Hant/messages.json b/src/_locales/zh_Hant/messages.json index 86675479..3b9f8313 100644 --- a/src/_locales/zh_Hant/messages.json +++ b/src/_locales/zh_Hant/messages.json @@ -1,27 +1,20 @@ { - "both": { - "message": "全部", - "description": "used in the settings page" - }, - "copied": { - "message": "已複製" - }, "extensionName": { "message": "LibRedirect", "description": "name of the extension" }, + "extensionDescription": { + "message": "一個網路擴充功能可以將熱門網站重新導向至隱私友好的替代服務", + "description": "description of the extension" + }, "switchInstance": { - "message": "切換執行個體", + "message": "切換實例", "description": "used in manifest.json as shortcut description" }, "settings": { "message": "設定", "description": "used in the popup" }, - "extensionDescription": { - "message": "WebExtension 擴充套件,可將熱門網站重新導向至隱私友好的替代服務", - "description": "description of the extension" - }, "general": { "message": "一般", "description": "used in the settings page" @@ -42,12 +35,12 @@ "message": "自動", "description": "used in the settings page" }, - "importSettings": { - "message": "匯入設定", + "excludeFromRedirecting": { + "message": "排除重新導向", "description": "used in the settings page" }, - "excludeFromRedirecting": { - "message": "不作重新導向", + "importSettings": { + "message": "匯入設定", "description": "used in the settings page" }, "exportSettings": { @@ -74,30 +67,94 @@ "message": "重新導向類型", "description": "used in the settings page" }, + "both": { + "message": "兩者", + "description": "used in the settings page" + }, + "onlyEmbedded": { + "message": "僅已內嵌", + "description": "used in the settings page" + }, "onlyNotEmbedded": { - "message": "非內嵌", + "message": "僅非已內嵌", "description": "used in the settings page" }, "addYourFavoriteInstances": { - "message": "新增常用執行個體", + "message": "新增你喜歡的實例", "description": "used in the settings page" }, + "copyOriginal": { + "message": "複製原始的" + }, + "copied": { + "message": "已複製" + }, "redirectToOriginal": { - "message": "重新導向到原網址", + "message": "重新導向至原始網址", "description": "Used in context menus when right clicking on a page/tab" }, "redirectLink": { "message": "嘗試重新導向", "description": "Used in context menus when right clicking on a hyperlink" }, - "copyRaw": { - "message": "複製原始網址" - }, "about": { "message": "關於" }, - "onlyEmbedded": { - "message": "僅內嵌", - "description": "used in the settings page" + "unsupportedIframesHandling": { + "message": "不支援的嵌入處理" + }, + "fetchPublicInstances": { + "message": "取得公共實例" + }, + "disable": { + "message": "停用" + }, + "pingInstances": { + "message": "Ping 實例" + }, + "exportSettingsToSync": { + "message": "匯出設定以同步" + }, + "importSettingsFromSync": { + "message": "從同步匯入設定" + }, + "services": { + "message": "服務" + }, + "service": { + "message": "服務" + }, + "bookmarksMenu": { + "message": "書籤選單" + }, + "redirectOnlyInIncognito": { + "message": "僅在隱身模式下重新導向" + }, + "bypass": { + "message": "繞行" + }, + "block": { + "message": "封鎖" + }, + "searchHint": { + "message": "設定 LibRedirect 為預設搜尋引擎。如要了解如何在 Chromium 瀏覽器中執行操作,請點擊<a href='https://libredirect.github.io/docs.html#search_engine_chromium' target='_blank' rel='noopener noreferrer'>此處</a>。" + }, + "redirect": { + "message": "重新導向" + }, + "autoPickInstance": { + "message": "自動選擇實例" + }, + "embedFrontend": { + "message": "嵌入前端" + }, + "redirectGoogle": { + "message": "重新導向 Google" + }, + "search_frontend": { + "message": "搜尋前端" + }, + "searchService": { + "message": "搜尋服務" } } diff --git a/src/assets/images/about-icon-light.svg b/src/assets/images/about-icon-light.svg index 7c4ef3ca..acd71636 100644 --- a/src/assets/images/about-icon-light.svg +++ b/src/assets/images/about-icon-light.svg @@ -1,44 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="24" - width="24" - fill="currentColor" - version="1.1" - id="svg4" - sodipodi:docname="about-icon-white.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs8" /> - <sodipodi:namedview - id="namedview6" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="22.922045" - inkscape:cx="1.2651576" - inkscape:cy="10.383018" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg4" /> - <path - d="m 11,17 h 2 V 11 H 11 Z M 12,9 C 12.283333,9 12.521,8.904 12.713,8.712 12.904333,8.5206667 13,8.2833333 13,8 13,7.7166667 12.904333,7.479 12.713,7.287 12.521,7.0956667 12.283333,7 12,7 11.716667,7 11.479333,7.0956667 11.288,7.287 11.096,7.479 11,7.7166667 11,8 11,8.2833333 11.096,8.5206667 11.288,8.712 11.479333,8.904 11.716667,9 12,9 Z" - id="path2" - sodipodi:nodetypes="cccccssscssscs" - style="fill:#ffffff" /> - <path - id="path387" - d="M 12,2 C 10.616668,2 9.316275,2.2624432 8.099609,2.7871094 6.882944,3.3124421 5.82578,4.0257822 4.925781,4.9257812 4.025782,5.8257804 3.311776,6.8829439 2.787109,8.0996094 2.261777,9.3162749 2,10.616668 2,12 c 0,1.383332 0.261777,2.683725 0.787109,3.900391 0.524667,1.216665 1.238673,2.273829 2.138672,3.173828 0.899999,0.899999 1.957163,1.614005 3.173828,2.138672 C 9.316275,21.738223 10.616668,22 12,22 c 1.383332,0 2.683725,-0.261777 3.900391,-0.787109 1.216665,-0.524667 2.273829,-1.238673 3.173828,-2.138672 0.899999,-0.899999 1.614005,-1.957163 2.138672,-3.173828 C 21.738223,14.683725 22,13.383332 22,12 22,10.616668 21.738223,9.3162749 21.212891,8.0996094 20.688224,6.8829439 19.974218,5.8257804 19.074219,4.9257812 18.17422,4.0257822 17.117056,3.3124421 15.900391,2.7871094 14.683725,2.2624432 13.383332,2 12,2 Z m 0,2 c 2.233331,0 4.125783,0.7742203 5.675781,2.3242188 C 19.22578,7.8742172 20,9.7666689 20,12 20,14.233331 19.22578,16.125783 17.675781,17.675781 16.125783,19.22578 14.233331,20 12,20 9.766669,20 7.874217,19.22578 6.324219,17.675781 4.77422,16.125783 4,14.233331 4,12 4,9.7666689 4.77422,7.8742172 6.324219,6.3242188 7.874217,4.7742203 9.766669,4 12,4 Z" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fff" d="M11 17h2v-6h-2Zm1-8a.97.97 0 0 0 .713-.288A.97.97 0 0 0 13 8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.712.287A.97.97 0 0 0 11 8q0 .424.288.712A.97.97 0 0 0 12 9"/><path fill="#fff" d="M12 2a9.7 9.7 0 0 0-3.9.787 10.1 10.1 0 0 0-3.174 2.139Q3.576 6.276 2.787 8.1A9.7 9.7 0 0 0 2 12q0 2.075.787 3.9a10.1 10.1 0 0 0 2.139 3.174q1.35 1.35 3.174 2.139A9.7 9.7 0 0 0 12 22a9.7 9.7 0 0 0 3.9-.787 10.1 10.1 0 0 0 3.174-2.139q1.35-1.35 2.139-3.174A9.7 9.7 0 0 0 22 12a9.7 9.7 0 0 0-.787-3.9 10.1 10.1 0 0 0-2.139-3.174q-1.35-1.35-3.174-2.139A9.7 9.7 0 0 0 12 2m0 2q3.35 0 5.676 2.324Q20 8.65 20 12t-2.324 5.676Q15.35 20 12 20t-5.676-2.324Q4 15.35 4 12t2.324-5.676Q8.65 4 12 4"/></svg> diff --git a/src/assets/images/about-icon.svg b/src/assets/images/about-icon.svg index 98b62f6b..26fbc4b7 100644 --- a/src/assets/images/about-icon.svg +++ b/src/assets/images/about-icon.svg @@ -1,42 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="24" - width="24" - fill="currentColor" - version="1.1" - id="svg4" - sodipodi:docname="about-icon.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs8" /> - <sodipodi:namedview - id="namedview6" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="22.922045" - inkscape:cx="5.4532656" - inkscape:cy="10.383018" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg4" /> - <path - d="m 11,17 h 2 V 11 H 11 Z M 12,9 C 12.283333,9 12.521,8.904 12.713,8.712 12.904333,8.5206667 13,8.2833333 13,8 13,7.7166667 12.904333,7.479 12.713,7.287 12.521,7.0956667 12.283333,7 12,7 11.716667,7 11.479333,7.0956667 11.288,7.287 11.096,7.479 11,7.7166667 11,8 11,8.2833333 11.096,8.5206667 11.288,8.712 11.479333,8.904 11.716667,9 12,9 Z" - id="path2" - sodipodi:nodetypes="cccccssscssscs" /> - <path - id="path387" - d="M 12,2 C 10.616668,2 9.316275,2.2624432 8.099609,2.7871094 6.882944,3.3124421 5.82578,4.0257822 4.925781,4.9257812 4.025782,5.8257804 3.311776,6.8829439 2.787109,8.0996094 2.261777,9.3162749 2,10.616668 2,12 c 0,1.383332 0.261777,2.683725 0.787109,3.900391 0.524667,1.216665 1.238673,2.273829 2.138672,3.173828 0.899999,0.899999 1.957163,1.614005 3.173828,2.138672 C 9.316275,21.738223 10.616668,22 12,22 c 1.383332,0 2.683725,-0.261777 3.900391,-0.787109 1.216665,-0.524667 2.273829,-1.238673 3.173828,-2.138672 0.899999,-0.899999 1.614005,-1.957163 2.138672,-3.173828 C 21.738223,14.683725 22,13.383332 22,12 22,10.616668 21.738223,9.3162749 21.212891,8.0996094 20.688224,6.8829439 19.974218,5.8257804 19.074219,4.9257812 18.17422,4.0257822 17.117056,3.3124421 15.900391,2.7871094 14.683725,2.2624432 13.383332,2 12,2 Z m 0,2 c 2.233331,0 4.125783,0.7742203 5.675781,2.3242188 C 19.22578,7.8742172 20,9.7666689 20,12 20,14.233331 19.22578,16.125783 17.675781,17.675781 16.125783,19.22578 14.233331,20 12,20 9.766669,20 7.874217,19.22578 6.324219,17.675781 4.77422,16.125783 4,14.233331 4,12 4,9.7666689 4.77422,7.8742172 6.324219,6.3242188 7.874217,4.7742203 9.766669,4 12,4 Z" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 17h2v-6h-2Zm1-8a.97.97 0 0 0 .713-.288A.97.97 0 0 0 13 8a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 7a.97.97 0 0 0-.712.287A.97.97 0 0 0 11 8q0 .424.288.712A.97.97 0 0 0 12 9"/><path d="M12 2a9.7 9.7 0 0 0-3.9.787 10.1 10.1 0 0 0-3.174 2.139Q3.576 6.276 2.787 8.1A9.7 9.7 0 0 0 2 12q0 2.075.787 3.9a10.1 10.1 0 0 0 2.139 3.174q1.35 1.35 3.174 2.139A9.7 9.7 0 0 0 12 22a9.7 9.7 0 0 0 3.9-.787 10.1 10.1 0 0 0 3.174-2.139q1.35-1.35 2.139-3.174A9.7 9.7 0 0 0 22 12a9.7 9.7 0 0 0-.787-3.9 10.1 10.1 0 0 0-2.139-3.174q-1.35-1.35-3.174-2.139A9.7 9.7 0 0 0 12 2m0 2q3.35 0 5.676 2.324Q20 8.65 20 12t-2.324 5.676Q15.35 20 12 20t-5.676-2.324Q4 15.35 4 12t2.324-5.676Q8.65 4 12 4"/></svg> \ No newline at end of file diff --git a/src/assets/images/baiduTieba-icon.svg b/src/assets/images/baiduTieba-icon.svg new file mode 100644 index 00000000..70f8c46d --- /dev/null +++ b/src/assets/images/baiduTieba-icon.svg @@ -0,0 +1,72 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 15.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + version="1.1" + id="Layer_1" + sodipodi:docname="Baidu.svg" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" + sodipodi:version="0.32" + inkscape:output_extension="org.inkscape.output.svg.inkscape" + x="0px" + y="0px" + width="65.453781" + height="71.304939" + viewBox="0 0 65.45378 71.304939" + enable-background="new 0 0 231 79" + 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"><defs + id="defs1" /> +<sodipodi:namedview + id="base" + inkscape:current-layer="Layer_1" + inkscape:window-y="138" + inkscape:window-x="138" + inkscape:window-width="1323" + inkscape:window-height="708" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:cy="46.733757" + inkscape:cx="56.521653" + inkscape:zoom="3.6269286" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + objecttolerance="10.0" + gridtolerance="10.0" + guidetolerance="10.0" + inkscape:showpageshadow="2" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:window-maximized="0"> + </sodipodi:namedview> + +<g + id="g2225" + transform="matrix(0.91912224,0,0,0.91912224,-70.269186,-6.5035036)" + style="stroke-width:1.08799"> + <path + id="path2227" + fill="#2319dc" + d="m 89.241,47.789 c 7.75,-1.665 6.692,-10.937 6.465,-12.963 -0.382,-3.125 -4.055,-8.582 -9.039,-8.146 -6.275,0.559 -7.191,9.623 -7.191,9.623 -0.85,4.197 2.028,13.155 9.765,11.486 m 14.392,-15.543 c 4.278,0 7.736,-4.93 7.736,-11.02 0,-6.091 -3.458,-11.013 -7.736,-11.013 -4.28,0 -7.747,4.922 -7.747,11.013 0,6.09 3.466,11.02 7.747,11.02 m 18.444,0.725 c 5.727,0.75 9.396,-5.359 10.13,-9.988 0.75,-4.623 -2.95,-10 -6.995,-10.923 -4.063,-0.934 -9.135,5.57 -9.592,9.813 -0.557,5.19 0.736,10.365 6.457,11.098 m 22.679,7.777 c 0,-2.214 -1.833,-8.888 -8.659,-8.888 -6.84,0 -7.744,6.298 -7.744,10.748 0,4.247 0.354,10.171 8.848,9.987 8.485,-0.188 7.555,-9.618 7.555,-11.847 m -8.659,19.436 c 0,0 -8.853,-6.848 -14.02,-14.252 -7.016,-10.917 -16.97,-6.471 -20.298,-0.927 -3.318,5.558 -8.476,9.068 -9.214,10 -0.745,0.913 -10.692,6.288 -8.485,16.103 2.212,9.807 9.969,9.621 9.969,9.621 0,0 5.717,0.559 12.347,-0.924 6.644,-1.479 12.36,0.363 12.36,0.363 0,0 15.498,5.197 19.733,-4.803 4.24,-9.992 -2.392,-15.181 -2.392,-15.181" + style="stroke-width:1.08799" /> + <path + id="path2229" + fill="#ffffff" + d="m 105.008,50.637 v 6.588 H 99.64 c 0,0 -5.365,0.445 -7.243,6.526 -0.655,4.06 0.578,6.451 0.793,6.962 0.217,0.51 1.951,3.48 6.305,4.352 h 10.073 V 50.709 Z m -0.081,20.43 h -4.058 c 0,0 -2.827,-0.147 -3.688,-3.402 -0.444,-1.442 0.066,-3.108 0.29,-3.763 0.205,-0.656 1.154,-2.172 3.111,-2.756 h 4.344 z" + style="stroke-width:1.08799" /> + <path + id="path2231" + fill="#ffffff" + d="M 112.037,57.816 V 70.64 c 0,0 0.21,3.191 4.71,4.354 h 11.592 v -17.18 h -5.003 v 12.897 h -4.774 c 0,0 -1.526,-0.222 -1.813,-1.448 V 57.74 Z" + style="stroke-width:1.08799" /> + + + + + +</g> +</svg> diff --git a/src/assets/images/bandcamp-icon.svg b/src/assets/images/bandcamp-icon.svg index 8b1e7f52..5c461205 100644 --- a/src/assets/images/bandcamp-icon.svg +++ b/src/assets/images/bandcamp-icon.svg @@ -1,175 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - version="1.1" - id="svg2" - width="682.66669" - height="682.66669" - viewBox="0 0 682.66669 682.66669" - sodipodi:docname="bandcamp-icon.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs6"> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath20"> - <path - d="M 2560,0 C 3973.85,0 5120,1146.15 5120,2560 5120,3973.85 3973.85,5120 2560,5120 1146.15,5120 0,3973.85 0,2560 0,1146.15 1146.15,0 2560,0 Z" - clip-rule="evenodd" - id="path18" /> - </clipPath> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath26"> - <path - d="M 0,0 H 5120 V 5120 H 0 Z" - id="path24" /> - </clipPath> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath36"> - <path - d="m 3248.57,2735.96 c -183.49,0 -277.25,-144.42 -277.25,-362 0,-205.66 101.38,-360.04 277.25,-360.04 198.89,0 273.45,182.02 273.45,360.04 -0.14,185.9 -93.84,362 -273.51,362 M 2761,3275.92 h 217.97 v -522.15 h 3.85 c 59.28,98.87 183.55,160.21 294.46,160.21 311.63,0 462.74,-245.35 462.74,-544.05 0,-274.84 -133.84,-533.97 -426.43,-533.97 -133.85,0 -277.25,33.54 -342.29,168.09 h -3.78 v -140.51 h -206.53 v 1412.35 l 0.01,0.03" - clip-rule="evenodd" - id="path34" /> - </clipPath> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath42"> - <path - d="M 0,0 H 5120 V 5120 H 0 Z" - id="path40" /> - </clipPath> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath52"> - <path - d="m 4543.89,2544.02 c -17.22,124.62 -105.15,191.92 -225.61,191.92 -112.87,0 -271.54,-61.35 -271.54,-371.91 0,-170.13 72.64,-350.15 261.97,-350.15 126.18,0 214.11,87.14 235.18,233.51 h 217.97 c -40.16,-265.06 -198.84,-411.43 -453.15,-411.43 -309.78,0 -479.95,227.42 -479.95,528.07 0,308.56 162.53,549.89 487.6,549.89 229.44,0 424.54,-118.68 445.5,-369.91 h -217.61 l -0.36,0.01" - clip-rule="evenodd" - id="path50" /> - </clipPath> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath58"> - <path - d="M 0,0 H 5120 V 5120 H 0 Z" - id="path56" /> - </clipPath> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath68"> - <path - d="M 1998.95,1866.62 H 364.078 l 763.462,1409.3 h 1634.88 l -763.47,-1409.3" - clip-rule="evenodd" - id="path66" /> - </clipPath> - <clipPath - clipPathUnits="userSpaceOnUse" - id="clipPath74"> - <path - d="M 0,0 H 5120 V 5120 H 0 Z" - id="path72" /> - </clipPath> - </defs> - <sodipodi:namedview - id="namedview4" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="1.1396484" - inkscape:cx="194.79692" - inkscape:cy="341.33334" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="g10"> - <inkscape:page - x="0" - y="0" - id="page8" - width="682.66669" - height="682.66669" /> - </sodipodi:namedview> - <g - id="g10" - inkscape:groupmode="layer" - inkscape:label="Page 1" - transform="matrix(1.3333333,0,0,-1.3333333,0,682.66667)"> - <g - id="g12" - transform="scale(0.1)"> - <g - id="g14"> - <g - id="g16" - clip-path="url(#clipPath20)"> - <g - id="g22" - clip-path="url(#clipPath26)"> - <path - d="M -50,-50 H 5170 V 5170 H -50 Z" - style="fill:#17a0c4;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path28" /> - </g> - </g> - </g> - <g - id="g30"> - <g - id="g32" - clip-path="url(#clipPath36)"> - <g - id="g38" - clip-path="url(#clipPath42)"> - <path - d="M 2710.99,1785.96 H 3790.02 V 3325.92 H 2710.99 Z" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path44" /> - </g> - </g> - </g> - <g - id="g46"> - <g - id="g48" - clip-path="url(#clipPath52)"> - <g - id="g54" - clip-path="url(#clipPath58)"> - <path - d="m 3778.76,1785.96 h 1033.1 v 1177.96 h -1033.1 z" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path60" /> - </g> - </g> - </g> - <g - id="g62"> - <g - id="g64" - clip-path="url(#clipPath68)"> - <g - id="g70" - clip-path="url(#clipPath74)"> - <path - d="m 314.078,1816.62 h 2498.34 v 1509.3 H 314.078 Z" - style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none" - id="path76" /> - </g> - </g> - </g> - </g> - </g> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 682.667 682.667"><defs><clipPath id="a" clipPathUnits="userSpaceOnUse"><path d="M2560 0c1413.85 0 2560 1146.15 2560 2560S3973.85 5120 2560 5120 0 3973.85 0 2560 1146.15 0 2560 0" clip-rule="evenodd"/></clipPath><clipPath id="b" clipPathUnits="userSpaceOnUse"><path d="M0 0h5120v5120H0Z"/></clipPath><clipPath id="c" clipPathUnits="userSpaceOnUse"><path d="M3248.57 2735.96c-183.49 0-277.25-144.42-277.25-362 0-205.66 101.38-360.04 277.25-360.04 198.89 0 273.45 182.02 273.45 360.04-.14 185.9-93.84 362-273.51 362M2761 3275.92h217.97v-522.15h3.85c59.28 98.87 183.55 160.21 294.46 160.21 311.63 0 462.74-245.35 462.74-544.05 0-274.84-133.84-533.97-426.43-533.97-133.85 0-277.25 33.54-342.29 168.09h-3.78v-140.51h-206.53v1412.35z" clip-rule="evenodd"/></clipPath><clipPath id="d" clipPathUnits="userSpaceOnUse"><path d="M0 0h5120v5120H0Z"/></clipPath><clipPath id="e" clipPathUnits="userSpaceOnUse"><path d="M4543.89 2544.02c-17.22 124.62-105.15 191.92-225.61 191.92-112.87 0-271.54-61.35-271.54-371.91 0-170.13 72.64-350.15 261.97-350.15 126.18 0 214.11 87.14 235.18 233.51h217.97c-40.16-265.06-198.84-411.43-453.15-411.43-309.78 0-479.95 227.42-479.95 528.07 0 308.56 162.53 549.89 487.6 549.89 229.44 0 424.54-118.68 445.5-369.91h-217.61z" clip-rule="evenodd"/></clipPath><clipPath id="f" clipPathUnits="userSpaceOnUse"><path d="M0 0h5120v5120H0Z"/></clipPath><clipPath id="g" clipPathUnits="userSpaceOnUse"><path d="M1998.95 1866.62H364.078l763.462 1409.3h1634.88z" clip-rule="evenodd"/></clipPath><clipPath id="h" clipPathUnits="userSpaceOnUse"><path d="M0 0h5120v5120H0Z"/></clipPath></defs><g clip-path="url(#a)" transform="matrix(.13333 0 0 -.13333 0 682.667)"><g clip-path="url(#b)"><path d="M-50-50h5220v5220H-50Z" style="fill:#17a0c4;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g><g clip-path="url(#c)" transform="matrix(.13333 0 0 -.13333 0 682.667)"><g clip-path="url(#d)"><path d="M2710.99 1785.96h1079.03v1539.96H2710.99Z" style="fill:#fff;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g><g clip-path="url(#e)" transform="matrix(.13333 0 0 -.13333 0 682.667)"><g clip-path="url(#f)"><path d="M3778.76 1785.96h1033.1v1177.96h-1033.1z" style="fill:#fff;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g><g clip-path="url(#g)" transform="matrix(.13333 0 0 -.13333 0 682.667)"><g clip-path="url(#h)"><path d="M314.078 1816.62h2498.34v1509.3H314.078Z" style="fill:#fff;fill-opacity:1;fill-rule:nonzero;stroke:none"/></g></g></svg> \ No newline at end of file diff --git a/src/assets/images/bilibili-icon-light.svg b/src/assets/images/bilibili-icon-light.svg index ad6ea120..7e24f306 100644 --- a/src/assets/images/bilibili-icon-light.svg +++ b/src/assets/images/bilibili-icon-light.svg @@ -1,44 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - width="18" - height="18" - viewBox="0 0 18 18" - fill="none" - class="zhuzhan-icon" - version="1.1" - id="svg4" - sodipodi:docname="bilibili-icon-light.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs8" /> - <sodipodi:namedview - id="namedview6" - pagecolor="#afafaf" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="30.562726" - inkscape:cx="0.26175676" - inkscape:cy="9.0633277" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg4" /> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="m 4.3006643,3.3526156 c -0.3570617,-0.3444557 -0.3570617,-0.9164163 0,-1.2608631 0.3393616,-0.3273766 0.8769747,-0.3273766 1.2163363,0 l 1.8925169,1.8256688 c 0.05376,0.051878 0.099438,0.1089036 0.137015,0.1695424 h 2.8620695 c 0.03765,-0.060639 0.08333,-0.1176645 0.137032,-0.1695424 l 1.8925,-1.8256688 c 0.33937,-0.3273766 0.876974,-0.3273766 1.216345,0 0.357124,0.3444468 0.357124,0.9164074 0,1.2608631 l -0.761175,0.7343481 h 0.567402 c 1.970828,0 3.568565,1.5977 3.568565,3.5685647 v 4.9117096 c 0,1.970829 -1.597737,3.568565 -3.568565,3.568565 H 4.5392942 c -1.9708647,0 -3.56856461,-1.597736 -3.56856461,-3.568565 V 7.6555194 c 0,-1.9708647 1.59769991,-3.5685557 3.56856461,-3.5685557 h 0.5226074 z m 0.2386299,2.4556096 c -0.9854323,0 -1.7842823,0.79885 -1.7842823,1.7842823 v 5.0377165 c 0,0.985458 0.79885,1.784282 1.7842823,1.784282 h 8.9214118 c 0.985458,0 1.784282,-0.798824 1.784282,-1.784282 V 7.5925075 c 0,-0.9854323 -0.798824,-1.7842823 -1.784282,-1.7842823 z m 0.8921411,3.4740333 c 0,-0.4927116 0.3994295,-0.8921411 0.8921412,-0.8921411 0.4927118,0 0.8921412,0.3994295 0.8921412,0.8921411 v 0.7976005 c 0,0.49273 -0.3994294,0.892142 -0.8921412,0.892142 -0.4927117,0 -0.8921412,-0.399412 -0.8921412,-0.892142 z M 11.676424,8.3901174 c -0.49273,0 -0.892142,0.3994295 -0.892142,0.8921411 v 0.7976005 c 0,0.49273 0.399412,0.892142 0.892142,0.892142 0.492729,0 0.892141,-0.399412 0.892141,-0.892142 V 9.2822585 c 0,-0.4927116 -0.399412,-0.8921411 -0.892141,-0.8921411 z" - fill="currentColor" - id="path2" - style="stroke-width:0.892141;fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="M4.3 3.353a.876.876 0 1 1 1.217-1.261L7.41 3.917q.08.079.137.17h2.862a1 1 0 0 1 .137-.17l1.892-1.825a.876.876 0 0 1 1.216 1.26l-.76.735h.567a3.57 3.57 0 0 1 3.568 3.569v4.911a3.57 3.57 0 0 1-3.568 3.569H4.539a3.57 3.57 0 0 1-3.568-3.569V7.656a3.57 3.57 0 0 1 3.568-3.569h.523zm.24 2.455c-.986 0-1.785.8-1.785 1.785v5.037c0 .986.799 1.785 1.784 1.785h8.922c.985 0 1.784-.8 1.784-1.785V7.593c0-.986-.799-1.785-1.784-1.785zm.891 3.474a.892.892 0 0 1 1.785 0v.798a.892.892 0 1 1-1.785 0zm6.245-.892c-.492 0-.892.4-.892.892v.798a.892.892 0 1 0 1.785 0v-.798c0-.492-.4-.892-.893-.892" style="stroke-width:.892141;fill:#fff"/></svg> \ No newline at end of file diff --git a/src/assets/images/bilibili-icon.svg b/src/assets/images/bilibili-icon.svg index afa54b6f..8cb0016f 100644 --- a/src/assets/images/bilibili-icon.svg +++ b/src/assets/images/bilibili-icon.svg @@ -1,44 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - width="18" - height="18" - viewBox="0 0 18 18" - fill="none" - class="zhuzhan-icon" - version="1.1" - id="svg4" - sodipodi:docname="bilibili-icon.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs8" /> - <sodipodi:namedview - id="namedview6" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="30.562726" - inkscape:cx="4.2208276" - inkscape:cy="9.0633275" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg4" /> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="m 4.3006643,3.3526156 c -0.3570617,-0.3444557 -0.3570617,-0.9164163 0,-1.2608631 0.3393616,-0.3273766 0.8769747,-0.3273766 1.2163363,0 l 1.8925169,1.8256688 c 0.05376,0.051878 0.099438,0.1089036 0.137015,0.1695424 h 2.8620695 c 0.03765,-0.060639 0.08333,-0.1176645 0.137032,-0.1695424 l 1.8925,-1.8256688 c 0.33937,-0.3273766 0.876974,-0.3273766 1.216345,0 0.357124,0.3444468 0.357124,0.9164074 0,1.2608631 l -0.761175,0.7343481 h 0.567402 c 1.970828,0 3.568565,1.5977 3.568565,3.5685647 v 4.9117096 c 0,1.970829 -1.597737,3.568565 -3.568565,3.568565 H 4.5392942 c -1.9708647,0 -3.56856461,-1.597736 -3.56856461,-3.568565 V 7.6555194 c 0,-1.9708647 1.59769991,-3.5685557 3.56856461,-3.5685557 h 0.5226074 z m 0.2386299,2.4556096 c -0.9854323,0 -1.7842823,0.79885 -1.7842823,1.7842823 v 5.0377165 c 0,0.985458 0.79885,1.784282 1.7842823,1.784282 h 8.9214118 c 0.985458,0 1.784282,-0.798824 1.784282,-1.784282 V 7.5925075 c 0,-0.9854323 -0.798824,-1.7842823 -1.784282,-1.7842823 z m 0.8921411,3.4740333 c 0,-0.4927116 0.3994295,-0.8921411 0.8921412,-0.8921411 0.4927118,0 0.8921412,0.3994295 0.8921412,0.8921411 v 0.7976005 c 0,0.49273 -0.3994294,0.892142 -0.8921412,0.892142 -0.4927117,0 -0.8921412,-0.399412 -0.8921412,-0.892142 z M 11.676424,8.3901174 c -0.49273,0 -0.892142,0.3994295 -0.892142,0.8921411 v 0.7976005 c 0,0.49273 0.399412,0.892142 0.892142,0.892142 0.492729,0 0.892141,-0.399412 0.892141,-0.892142 V 9.2822585 c 0,-0.4927116 -0.399412,-0.8921411 -0.892141,-0.8921411 z" - fill="currentColor" - id="path2" - style="stroke-width:0.892141" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><path d="M4.3 3.353a.876.876 0 1 1 1.217-1.261L7.41 3.917q.08.079.137.17h2.862a1 1 0 0 1 .137-.17l1.892-1.825a.876.876 0 0 1 1.216 1.26l-.76.735h.567a3.57 3.57 0 0 1 3.568 3.569v4.911a3.57 3.57 0 0 1-3.568 3.569H4.539a3.57 3.57 0 0 1-3.568-3.569V7.656a3.57 3.57 0 0 1 3.568-3.569h.523zm.24 2.455c-.986 0-1.785.8-1.785 1.785v5.037c0 .986.799 1.785 1.784 1.785h8.922c.985 0 1.784-.8 1.784-1.785V7.593c0-.986-.799-1.785-1.784-1.785zm.891 3.474a.892.892 0 0 1 1.785 0v.798a.892.892 0 1 1-1.785 0zm6.245-.892c-.492 0-.892.4-.892.892v.798a.892.892 0 1 0 1.785 0v-.798c0-.492-.4-.892-.893-.892" style="stroke-width:.892141"/></svg> \ No newline at end of file diff --git a/src/assets/images/bluesky-icon.svg b/src/assets/images/bluesky-icon.svg index 8e916784..dfdf196a 100644 --- a/src/assets/images/bluesky-icon.svg +++ b/src/assets/images/bluesky-icon.svg @@ -1,63 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="512" - height="512" - viewBox="0 0 135.46666 135.46667" - version="1.1" - id="svg1" - xml:space="preserve" - inkscape:version="1.3.1 (91b66b0783, 2023-11-16)" - sodipodi:docname="bluesky-icon.svg" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview - id="namedview1" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - inkscape:document-units="px" - inkscape:zoom="1.1452094" - inkscape:cx="358.01312" - inkscape:cy="227.46931" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="layer1" /><defs - id="defs1"><linearGradient - id="linearGradient1" - inkscape:collect="always"><stop - style="stop-color:#0062ff;stop-opacity:1;" - offset="0" - id="stop1" /><stop - style="stop-color:#0090fe;stop-opacity:1;" - offset="1" - id="stop2" /></linearGradient><linearGradient - inkscape:collect="always" - xlink:href="#linearGradient1" - id="linearGradient2" - x1="-16.737301" - y1="0.19602649" - x2="-16.737301" - y2="136.34718" - gradientUnits="userSpaceOnUse" /></defs><g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1"><rect - style="fill:url(#linearGradient2);stroke-width:1.165;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.53144" - id="rect1" - width="135.46667" - height="136.65152" - x="-4.9023438e-06" - y="-0.59242737" - ry="24.716606" - rx="24.716606" /></g></svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 360 320"><path fill="#fff" d="M254.896 184.158a131 131 0 0 1-6.225-.843q3.154.388 6.225.843"/><path fill="#295ef6" d="M180 141.964c-16.301-31.702-60.692-90.782-101.965-119.92C38.497-5.868 23.414-1.032 13.526 3.436 2.081 8.608 0 26.179 0 36.516s5.667 84.756 9.364 97.178c12.215 41.044 55.696 54.913 95.74 50.462q3.071-.455 6.225-.844-3.094.495-6.225.844c-58.684 8.691-110.8 30.077-42.446 106.174 75.19 77.85 103.047-16.693 117.342-64.628 14.295 47.935 30.76 139.069 115.995 64.628 64.005-64.628 17.585-97.48-41.099-106.172a131 131 0 0 1-6.225-.843q3.154.388 6.225.843c40.044 4.452 83.525-9.418 95.74-50.461 3.697-12.422 9.364-86.84 9.364-97.178s-2.081-27.909-13.526-33.08c-9.888-4.468-24.971-9.305-64.509 18.608C240.692 51.184 196.301 110.262 180 141.964"/></svg> \ No newline at end of file diff --git a/src/assets/images/coub-icon.svg b/src/assets/images/coub-icon.svg new file mode 100644 index 00000000..cc08cd55 --- /dev/null +++ b/src/assets/images/coub-icon.svg @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + width="46" + height="46" + fill="none" + version="1.1" + id="svg1" + sodipodi:docname="coub-icon.svg" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs1" /> + <sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:zoom="13.03536" + inkscape:cx="22.400609" + inkscape:cy="29.228192" + inkscape:window-width="1888" + inkscape:window-height="1052" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="svg1" /> + <path + id="path3" + style="fill:#ffffff;stroke-width:1.5697" + d="M 26.113281 0.21679688 C 26.210748 0.22999623 26.309175 0.23948989 26.40625 0.25390625 A 23 23 0 0 0 26.113281 0.21679688 z M 19.765625 0.23242188 A 23 23 0 0 0 19.703125 0.24023438 C 19.723861 0.23725622 19.744871 0.23534468 19.765625 0.23242188 z M 10.628906 3.6152344 A 23 23 0 0 0 10.509766 3.6914062 C 10.549312 3.6657711 10.589193 3.6406327 10.628906 3.6152344 z M 8.0117188 5.5605469 A 23 23 0 0 0 7.8710938 5.6835938 C 7.9180075 5.6425732 7.9644699 5.6011912 8.0117188 5.5605469 z M 17.990234 6.140625 C 17.080235 6.2576249 16.298937 7.2892356 16.210938 8.4902344 L 15.535156 14.746094 C 15.488156 15.380093 15.503578 16.266095 15.517578 17.121094 L 15.517578 17.125 C 15.528578 17.757999 15.538437 18.356844 15.523438 18.839844 L 15.464844 20.835938 C 15.444844 21.508937 15.229171 21.988578 14.826172 22.267578 C 14.603172 22.423578 13.856874 22.962798 13.046875 23.716797 C 12.967875 23.790797 12.886594 23.860688 12.808594 23.929688 L 12.779297 23.955078 C 12.182297 24.485078 11.667187 24.942939 11.617188 26.460938 C 11.591188 27.173937 11.623563 27.897892 11.726562 28.962891 C 11.833562 30.07989 12.164625 30.781438 12.515625 31.523438 C 12.571625 31.643437 12.634219 31.769344 12.699219 31.902344 C 13.214218 32.940343 13.918984 34.359798 13.333984 35.966797 L 10.935547 42.552734 A 23 23 0 0 0 21.210938 45.871094 L 23.451172 39.714844 C 23.825172 38.687845 25.069923 37.314608 26.169922 36.099609 L 26.177734 36.091797 C 26.808734 35.397798 27.351594 34.796359 27.558594 34.443359 C 28.485593 32.865361 31.171797 28.358343 31.591797 27.652344 L 31.646484 27.560547 C 32.274484 26.660548 33.283297 25.120233 33.904297 24.115234 L 37.296875 18.603516 C 37.917874 17.596517 37.96339 16.332109 37.400391 15.787109 A 0.97 0.97 0 0 0 37.056641 15.572266 C 36.434641 15.345266 35.607999 15.711376 35 16.484375 L 31.589844 21.240234 C 31.194844 21.740234 30.753171 22.152782 30.326172 22.550781 A 13.43 13.43 0 0 0 29.277344 23.607422 L 28.927734 24.013672 A 0.24 0.24 0 0 1 28.761719 24.097656 A 0.44 0.44 0 0 1 28.582031 24.072266 C 28.460031 24.028266 28.263406 23.890031 28.316406 23.457031 L 28.316406 23.451172 C 28.346406 23.322172 28.899795 20.884562 27.341797 20.226562 L 27.271484 20.199219 C 26.416485 19.887219 25.734515 20.423267 24.978516 21.322266 C 24.864516 21.458265 24.633625 21.470734 24.515625 21.427734 A 0.447 0.447 0 0 1 24.234375 20.888672 C 24.504375 19.680673 24.00678 18.550125 23.050781 18.203125 L 22.976562 18.179688 C 22.145563 17.912688 21.141062 18.254673 20.539062 19.013672 A 0.24 0.24 0 0 1 20.462891 19.078125 C 20.342891 19.192125 20.137062 19.350531 19.914062 19.269531 C 19.674063 19.182531 19.617703 18.891687 19.595703 18.679688 L 19.568359 18.417969 C 19.542359 18.157969 19.509656 17.857156 19.472656 17.535156 L 19.470703 17.525391 C 19.350703 16.473392 19.202563 15.16878 19.226562 14.300781 L 19.59375 8.1113281 C 19.61875 7.207329 19.204546 6.4371248 18.560547 6.203125 A 1.206 1.206 0 0 0 17.990234 6.140625 z M 5.6835938 7.8710938 A 23 23 0 0 0 5.5605469 8.0117188 C 5.6011912 7.9644699 5.6425732 7.9180075 5.6835938 7.8710938 z M 3.6914062 10.509766 A 23 23 0 0 0 3.6152344 10.628906 C 3.6406327 10.589193 3.6657711 10.549312 3.6914062 10.509766 z M 45.746094 19.59375 C 45.76051 19.690825 45.770004 19.789252 45.783203 19.886719 A 23 23 0 0 0 45.746094 19.59375 z M 0.24023438 19.703125 A 23 23 0 0 0 0.23242188 19.765625 C 0.23534468 19.744871 0.23725622 19.723861 0.24023438 19.703125 z M 0.23242188 26.232422 A 23 23 0 0 0 0.25 26.347656 C 0.24436597 26.309056 0.23786388 26.271084 0.23242188 26.232422 z M 45.767578 26.234375 C 45.764655 26.255129 45.762744 26.276139 45.759766 26.296875 A 23 23 0 0 0 45.767578 26.234375 z M 0.91796875 29.419922 A 23 23 0 0 0 0.95898438 29.554688 C 0.94559095 29.509599 0.93109267 29.465125 0.91796875 29.419922 z M 2.046875 32.472656 A 23 23 0 0 0 2.1152344 32.621094 C 2.0924183 32.571652 2.0693497 32.522287 2.046875 32.472656 z M 3.609375 35.359375 A 23 23 0 0 0 3.6796875 35.474609 C 3.6552741 35.436877 3.633573 35.397259 3.609375 35.359375 z M 42.384766 35.371094 C 42.359367 35.410807 42.334229 35.450688 42.308594 35.490234 A 23 23 0 0 0 42.384766 35.371094 z M 40.439453 37.988281 C 40.398809 38.03553 40.357427 38.081993 40.316406 38.128906 A 23 23 0 0 0 40.439453 37.988281 z M 5.5820312 38.015625 A 23 23 0 0 0 5.6992188 38.144531 C 5.6609425 38.100838 5.619981 38.05961 5.5820312 38.015625 z M 7.828125 40.273438 A 23 23 0 0 0 8.078125 40.488281 C 7.9946046 40.416944 7.9106056 40.345944 7.828125 40.273438 z M 38.128906 40.316406 C 38.081993 40.357427 38.03553 40.398809 37.988281 40.439453 A 23 23 0 0 0 38.128906 40.316406 z M 10.462891 42.273438 A 23 23 0 0 0 10.640625 42.390625 C 10.580779 42.352394 10.522357 42.312206 10.462891 42.273438 z M 35.490234 42.308594 C 35.450688 42.334229 35.410807 42.359367 35.371094 42.384766 A 23 23 0 0 0 35.490234 42.308594 z M 26.296875 45.759766 C 26.276139 45.762744 26.255129 45.764655 26.234375 45.767578 A 23 23 0 0 0 26.296875 45.759766 z " /> + <path + fill-rule="evenodd" + clip-rule="evenodd" + d="m 46,23 c 0,12.703 -10.297,23 -23,23 -0.61,0 -1.214,-0.024 -1.811,-0.07 l 2.262,-6.216 c 0.374,-1.027 1.619,-2.4 2.719,-3.615 l 0.007,-0.008 c 0.631,-0.694 1.175,-1.295 1.382,-1.648 0.927,-1.578 3.613,-6.084 4.033,-6.79 l 0.055,-0.092 c 0.628,-0.9 1.636,-2.44 2.257,-3.445 l 3.392,-5.512 c 0.621,-1.007 0.668,-2.272 0.105,-2.817 A 0.97,0.97 0 0 0 37.057,15.572 C 36.435,15.345 35.608,15.712 35,16.485 l -3.41,4.756 c -0.395,0.5 -0.836,0.912 -1.263,1.31 a 13.43,13.43 0 0 0 -1.05,1.056 l -0.35,0.407 a 0.24,0.24 0 0 1 -0.165,0.083 0.44,0.44 0 0 1 -0.18,-0.024 C 28.46,24.029 28.264,23.89 28.317,23.457 v -0.005 c 0.03,-0.129 0.583,-2.568 -0.975,-3.226 L 27.272,20.2 c -0.855,-0.312 -1.537,0.224 -2.293,1.123 -0.114,0.136 -0.346,0.148 -0.464,0.105 a 0.447,0.447 0 0 1 -0.28,-0.54 c 0.27,-1.208 -0.228,-2.337 -1.184,-2.684 l -0.074,-0.025 c -0.831,-0.267 -1.835,0.075 -2.437,0.834 a 0.24,0.24 0 0 1 -0.078,0.065 c -0.12,0.114 -0.325,0.272 -0.548,0.191 -0.24,-0.087 -0.296,-0.378 -0.318,-0.59 l -0.027,-0.262 c -0.026,-0.26 -0.06,-0.56 -0.097,-0.882 L 19.471,17.526 C 19.351,16.474 19.203,15.168 19.227,14.3 L 19.594,8.111 C 19.619,7.207 19.204,6.437 18.56,6.203 A 1.206,1.206 0 0 0 17.991,6.141 c -0.91,0.117 -1.692,1.149 -1.78,2.35 l -0.676,6.256 c -0.047,0.634 -0.032,1.519 -0.018,2.374 v 0.004 c 0.011,0.633 0.022,1.232 0.007,1.715 l -0.06,1.995 c -0.02,0.673 -0.235,1.154 -0.638,1.433 -0.223,0.156 -0.97,0.694 -1.78,1.448 -0.079,0.074 -0.159,0.145 -0.237,0.214 l -0.03,0.026 c -0.597,0.53 -1.112,0.987 -1.162,2.505 -0.026,0.713 0.007,1.437 0.11,2.502 0.107,1.117 0.437,1.818 0.788,2.56 0.056,0.12 0.12,0.247 0.185,0.38 0.515,1.038 1.219,2.456 0.634,4.063 L 10.926,42.58 C 4.37,38.528 0,31.274 0,23 0,10.297 10.297,0 23,0 35.703,0 46,10.297 46,23 Z" + fill="#0043ff" + id="path1" /> +</svg> diff --git a/src/assets/images/deviantArt-icon.svg b/src/assets/images/deviantArt-icon.svg new file mode 100644 index 00000000..30836c15 --- /dev/null +++ b/src/assets/images/deviantArt-icon.svg @@ -0,0 +1,474 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Generator: Adobe Illustrator 23.0.4, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> + +<svg + version="1.1" + id="svg2" + x="0px" + y="0px" + viewBox="0 0 256 256" + xml:space="preserve" + sodipodi:docname="DeviantArt_Logo.svg" + width="256" + height="256" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:ns="http://ns.adobe.com/SaveForWeb/1.0/"><defs + id="defs1" /> +<style + type="text/css" + id="style1"> + .st0{fill:#24E39D;} + .st1{display:none;} + .st2{display:inline;fill:none;stroke:#868686;stroke-width:0.4;stroke-miterlimit:10;stroke-dasharray:2;} + .st3{display:inline;fill:none;stroke:#9C9B9B;stroke-width:0.25;stroke-miterlimit:10;stroke-dasharray:2;} + .st4{display:inline;fill:none;stroke:#868686;stroke-width:0.2;stroke-miterlimit:10;stroke-dasharray:2;} + .st5{display:inline;} + .st6{fill:#6F6F6E;} + .st7{fill:none;stroke:#6F6F6E;stroke-width:0.5;stroke-miterlimit:10;} + .st8{display:inline;fill:#D9D9D9;} +</style> +<metadata + id="metadata174"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + + </cc:Work> + </rdf:RDF> + <ns:sfw> + <ns:slices /> + <ns:sliceSourceBounds + bottomLeftOrigin="true" + height="372.2" + width="962.9" + x="-7.3" + y="0" /> + </ns:sfw> +</metadata> +<sodipodi:namedview + bordercolor="#666666" + borderopacity="1" + gridtolerance="10" + guidetolerance="10" + id="namedview170" + inkscape:current-layer="svg2" + inkscape:cx="167" + inkscape:cy="53" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-height="1056" + inkscape:window-maximized="1" + inkscape:window-width="1888" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:zoom="1" + objecttolerance="10" + pagecolor="#ffffff" + showgrid="false" + inkscape:showpageshadow="2" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1"> + </sodipodi:namedview> +<polygon + id="polygon8" + class="st0" + points="37.1,204.3 40.9,200.6 58.4,167.2 63.9,163.5 126.5,163.5 126.5,112.4 92.1,112.4 89,108.7 126.5,37.2 126.5,0 126.4,0 89.3,0 85.6,3.7 68.1,37.2 62.6,40.9 0,40.9 0,91.9 34.4,91.9 37.5,95.6 0,167.2 0,204.3 " + transform="translate(64.75,25.85)" /> + + +<g + id="Construction" + transform="translate(0,-191.65601)" + class="st1"> + <line + id="line35" + class="st2" + x1="225.10001" + y1="340.39999" + x2="372.89999" + y2="58.299999" /> + <line + id="line37" + class="st2" + x1="453.29999" + y1="340.39999" + x2="601.09998" + y2="58.299999" /> + <line + id="line39" + class="st2" + x1="539.59998" + y1="340.39999" + x2="687.29999" + y2="58.599998" /> + <line + id="line41" + class="st2" + x1="776.90002" + y1="340.39999" + x2="924.70001" + y2="58.299999" /> + <line + id="line43" + class="st2" + x1="110.9" + y1="342.5" + x2="259.79999" + y2="58.299999" /> + <line + id="line45" + class="st2" + x1="52.599998" + y1="342.5" + x2="201.39999" + y2="58.299999" /> + <line + id="line47" + class="st3" + x1="67.099998" + y1="188.8" + x2="921.70001" + y2="188.8" /> + <line + id="line49" + class="st3" + x1="67.099998" + y1="96.900002" + x2="921.70001" + y2="96.900002" /> + <line + id="line51" + class="st3" + x1="67.099998" + y1="301.20001" + x2="921.70001" + y2="301.20001" /> + <line + id="line53" + class="st3" + x1="67.099998" + y1="209.3" + x2="921.70001" + y2="209.3" /> + <line + id="line55" + class="st4" + x1="354.5" + y1="340.39999" + x2="287.10001" + y2="58.299999" /> + <line + id="line57" + class="st4" + x1="539.59998" + y1="340.39999" + x2="472.70001" + y2="60.099998" /> + <line + id="line59" + class="st4" + x1="754.5" + y1="340.39999" + x2="687.20001" + y2="58.299999" /> +</g> +<g + id="Guidelines" + transform="translate(0,-191.65601)" + class="st1"> + <line + id="line62" + class="st3" + x1="27.1" + y1="188.8" + x2="904.5" + y2="188.8" /> + <line + id="line64" + class="st3" + x1="27.1" + y1="137.8" + x2="93.699997" + y2="137.8" /> + <line + id="line66" + class="st3" + x1="220.10001" + y1="96.900002" + x2="220.10001" + y2="364.5" /> + <line + id="line68" + class="st3" + x1="245.60001" + y1="96.900002" + x2="245.60001" + y2="364.5" /> + <g + id="g70" + class="st5"> + <path + id="path72" + inkscape:connector-curvature="0" + class="st6" + d="m -0.3,163.6 3.7,5.7 H 0.2 l -2.2,-3.4 -2.2,3.4 h -3.2 l 3.7,-5.7 -3.5,-5.4 H -4 l 2,3.2 2.1,-3.2 h 3.1 c 0.1,0 -3.5,5.4 -3.5,5.4 z" /> + </g> + <g + id="g74" + class="st5"> + <g + id="g76"> + <line + id="line78" + class="st7" + x1="12.8" + y1="139" + x2="12.8" + y2="187.8" /> + <g + id="g80"> + <circle + id="circle82" + class="st6" + cx="12.8" + cy="139.10001" + r="1.3" /> + </g> + <g + id="g84"> + <circle + id="circle86" + class="st6" + cx="12.8" + cy="187.7" + r="1.3" /> + </g> + </g> + </g> + <g + id="g88" + class="st5"> + <path + id="path90" + inkscape:connector-curvature="0" + class="st6" + d="m 215.7,386 c 0,-3.4 1.9,-5.7 4.6,-5.7 2.7,0 4.6,2.3 4.6,5.7 0,3.4 -1.9,5.7 -4.6,5.7 -2.7,0 -4.6,-2.3 -4.6,-5.7 z m 2.8,0 c 0,1.7 0.5,3.2 1.8,3.2 1.3,0 1.8,-1.5 1.8,-3.2 0,-1.7 -0.5,-3.2 -1.8,-3.2 -1.3,0 -1.8,1.5 -1.8,3.2 z" /> + <path + id="path92" + inkscape:connector-curvature="0" + class="st6" + d="m 226.8,388.3 c 0.9,0 1.7,0.7 1.7,1.7 0,1 -0.7,1.7 -1.7,1.7 -0.9,0 -1.7,-0.7 -1.7,-1.7 0.1,-1 0.8,-1.7 1.7,-1.7 z" /> + <path + id="path94" + inkscape:connector-curvature="0" + class="st6" + d="m 232.1,387.1 h -2.3 v -6.6 h 6.8 v 2.5 h -4.5 v 1.7 c 0.3,-0.2 1,-0.4 1.7,-0.4 2.2,0 3.6,1.5 3.6,3.7 0,2.3 -1.6,3.8 -4,3.8 -2.5,0 -4.1,-1.5 -4.2,-3.7 h 2.8 c 0.1,0.8 0.6,1.3 1.4,1.3 0.8,0 1.3,-0.6 1.3,-1.4 0,-0.8 -0.5,-1.4 -1.3,-1.4 -0.6,-0.1 -1,0.2 -1.3,0.5 z" /> + <path + id="path96" + inkscape:connector-curvature="0" + class="st6" + d="m 248.5,385.9 3.7,5.7 H 249 l -2.2,-3.4 -2.2,3.4 h -3.2 l 3.7,-5.7 -3.5,-5.4 h 3.2 l 2,3.1 2.1,-3.1 h 3.1 z" /> + </g> + <g + id="g98" + class="st5"> + <g + id="g100"> + <line + id="line102" + class="st7" + x1="221.3" + y1="368.79999" + x2="245.10001" + y2="368.79999" /> + <g + id="g104"> + <circle + id="circle106" + class="st6" + cx="221.39999" + cy="368.79999" + r="1.3" /> + </g> + <g + id="g108"> + <circle + id="circle110" + class="st6" + cx="245.10001" + cy="368.79999" + r="1.3" /> + </g> + </g> + </g> + <g + id="g112" + class="st5"> + <g + id="g114"> + <line + id="line116" + class="st7" + x1="38.099998" + y1="47" + x2="38.099998" + y2="95.800003" /> + <g + id="g118"> + <circle + id="circle120" + class="st6" + cx="38.099998" + cy="47.099998" + r="1.3" /> + </g> + <g + id="g122"> + <circle + id="circle124" + class="st6" + cx="38.099998" + cy="95.699997" + r="1.3" /> + </g> + </g> + </g> + <g + id="g126" + class="st5"> + <path + id="path128" + inkscape:connector-curvature="0" + class="st6" + d="m 70.1,29.2 3.7,5.7 h -3.2 l -2.2,-3.4 -2.2,3.4 H 63 l 3.7,-5.7 -3.5,-5.4 h 3.2 l 2,3.2 2.1,-3.2 h 3.1 c 0,0 -3.5,5.4 -3.5,5.4 z" /> + </g> + <g + id="g130" + class="st5"> + <path + id="path132" + inkscape:connector-curvature="0" + class="st6" + d="M 26.6,70.3 30.3,76 H 27.1 L 24.9,72.6 22.7,76 h -3.2 l 3.7,-5.7 -3.5,-5.4 h 3.2 l 2,3.2 2.1,-3.2 h 3.1 z" /> + </g> + <g + id="g134" + class="st5"> + <g + id="g136"> + <line + id="line138" + class="st7" + x1="92.5" + y1="41.5" + x2="43.799999" + y2="41.5" /> + <g + id="g140"> + <circle + id="circle142" + class="st6" + cx="92.5" + cy="41.5" + r="1.3" /> + </g> + <g + id="g144"> + <circle + id="circle146" + class="st6" + cx="43.900002" + cy="41.5" + r="1.3" /> + </g> + </g> + </g> + <rect + id="rect148" + x="16.799999" + y="137.89999" + class="st8" + width="8.1000004" + height="51" /> + <rect + id="rect150" + x="93.699997" + y="45.900002" + class="st8" + width="8.1000004" + height="51" /> + <rect + id="rect152" + x="896.29999" + y="45.900002" + class="st8" + width="8.1000004" + height="51" /> + <rect + id="rect154" + x="93.699997" + y="301.20001" + class="st8" + width="8.1000004" + height="51" /> + <rect + id="rect156" + x="896.29999" + y="301.20001" + class="st8" + width="8.1000004" + height="51" /> + <rect + id="rect158" + x="42.700001" + y="96.900002" + class="st8" + width="51" + height="8.1000004" /> + <rect + id="rect160" + x="42.700001" + y="293.10001" + class="st8" + width="51" + height="8.1000004" /> + <rect + id="rect162" + x="904.5" + y="96.900002" + class="st8" + width="51" + height="8.1000004" /> + <rect + id="rect164" + x="904.5" + y="293.10001" + class="st8" + width="51" + height="8.1000004" /> + <rect + id="rect166" + x="93.699997" + y="96.900002" + class="st3" + width="810.79999" + height="204.3" /> + <rect + id="rect168" + x="42.700001" + y="45.900002" + class="st3" + width="912.79999" + height="306.39999" /> +</g> +</svg> diff --git a/src/assets/images/fandom-icon.svg b/src/assets/images/fandom-icon.svg index 0cd873bf..c49375b3 100644 --- a/src/assets/images/fandom-icon.svg +++ b/src/assets/images/fandom-icon.svg @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" id="wds-brand-fandom-logomark" viewBox="0 0 174 242"><path fill="#FA005A" d="M166.935 118.154L50.108 1.273C49.504.67 48.735.259 47.898.093c-.837-.166-1.705-.08-2.493.247-.788.327-1.461.88-1.935 1.59-.474.71-.727 1.546-.727 2.4v98.276L7.365 67.22c-.604-.604-1.373-1.014-2.21-1.18-.837-.166-1.704-.08-2.492.247-.789.327-1.462.88-1.936 1.59-.474.71-.727 1.545-.727 2.4v101.487c-.003 3.172.62 6.312 1.833 9.242 1.214 2.929 2.993 5.59 5.237 7.83l46.037 46.099c4.528 4.53 10.666 7.078 17.068 7.085h33.68c6.4-.003 12.537-2.547 17.063-7.075l46.027-46.099c2.239-2.242 4.014-4.904 5.225-7.833 1.21-2.93 1.832-6.069 1.83-9.239v-36.533c.002-3.173-.621-6.315-1.834-9.247-1.212-2.932-2.989-5.596-5.231-7.84z"/><path fill="#FFC500" d="M131.297 160.901c.001 1.915-.757 3.754-2.108 5.111l-37.11 37.3c-.672.677-1.472 1.215-2.354 1.582-.88.366-1.826.555-2.78.555-.954 0-1.9-.189-2.78-.555-.882-.367-1.682-.905-2.355-1.582l-36.99-37.3c-1.352-1.351-2.114-3.184-2.117-5.096v-14.191c0-.951.19-1.892.554-2.77.366-.878.9-1.675 1.574-2.346l13.317-13.328c.672-.675 1.47-1.209 2.35-1.574.879-.365 1.82-.553 2.772-.553.952 0 1.894.188 2.773.553.879.365 1.677.899 2.35 1.574l18.624 18.645 18.596-18.65c.672-.675 1.47-1.209 2.349-1.574.879-.365 1.821-.553 2.773-.553.951 0 1.893.188 2.772.553.879.365 1.677.899 2.349 1.574l13.318 13.328c.673.671 1.207 1.469 1.571 2.347.364.877.552 1.819.552 2.769v14.181z"/></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 174 242"><path fill="#FA005A" d="M166.935 118.154 50.108 1.273A4.32 4.32 0 0 0 45.405.34a4.31 4.31 0 0 0-2.662 3.99v98.276L7.365 67.22a4.31 4.31 0 0 0-4.702-.933A4.31 4.31 0 0 0 0 70.277v101.487a24.1 24.1 0 0 0 7.07 17.072l46.037 46.099a24.17 24.17 0 0 0 17.068 7.085h33.68a24.14 24.14 0 0 0 17.063-7.075l46.027-46.099A24.13 24.13 0 0 0 174 171.774v-36.533a24.15 24.15 0 0 0-1.834-9.247 24.1 24.1 0 0 0-5.231-7.84"/><path fill="#FFC500" d="M131.297 160.901a7.24 7.24 0 0 1-2.108 5.111l-37.11 37.3a7.23 7.23 0 0 1-7.914 1.582 7.25 7.25 0 0 1-2.355-1.582l-36.99-37.3a7.22 7.22 0 0 1-2.117-5.096v-14.191a7.23 7.23 0 0 1 2.128-5.116l13.317-13.328a7.225 7.225 0 0 1 10.245 0l18.624 18.645 18.596-18.65a7.22 7.22 0 0 1 5.122-2.127 7.23 7.23 0 0 1 5.121 2.127l13.318 13.328a7.22 7.22 0 0 1 2.123 5.116z"/></svg> \ No newline at end of file diff --git a/src/assets/images/geeksForGeeks-icon.svg b/src/assets/images/geeksForGeeks-icon.svg new file mode 100644 index 00000000..52e19607 --- /dev/null +++ b/src/assets/images/geeksForGeeks-icon.svg @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + id="GFG" + width="70" + height="70" + viewBox="0 0 70 70.000001" + version="1.1" + sodipodi:docname="gfg-gg-logo.svg" + inkscape:version="1.3.2 (091e20ef0f, 2023-11-25)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs1" /> + <sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:zoom="7.4688057" + inkscape:cx="17.941289" + inkscape:cy="21.020764" + inkscape:window-width="1888" + inkscape:window-height="1052" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="GFG" /> + <path + id="Path_402" + data-name="Path 402" + d="m 64.495957,33.850871 h -24.407 a 9.748,9.748 0 0 1 17.129,-5.146 l 3.55,-3.57 a 14.77,14.77 0 0 0 -25.724,8.716 h -0.085 a 14.77,14.77 0 0 0 -25.7240007,-8.716 l 3.5499997,3.57 a 9.748,9.748 0 0 1 17.129001,5.146 H 5.5059563 q -0.043,0.565 -0.044,1.141 a 14.771,14.771 0 0 0 29.1490007,3.383 h 0.778 a 14.769,14.769 0 0 0 29.149,-3.383 q 0.002,-0.576 -0.042,-1.141 z m -44.264,10.889 a 9.749,9.749 0 0 1 -9.151001,-6.385 h 18.300001 a 9.75,9.75 0 0 1 -9.149,6.385 z m 29.538,0 a 9.75,9.75 0 0 1 -9.152,-6.385 h 18.3 a 9.75,9.75 0 0 1 -9.147,6.385 z" + fill="#2f8d46" /> +</svg> diff --git a/src/assets/images/general-icon-light.svg b/src/assets/images/general-icon-light.svg index 9e4c8a06..b806a4ce 100644 --- a/src/assets/images/general-icon-light.svg +++ b/src/assets/images/general-icon-light.svg @@ -1,41 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - enable-background="new 0 0 24 24" - height="26px" - viewBox="0 0 24 24" - width="26px" - fill="currentColor" - version="1.1" - id="svg675" - sodipodi:docname="general-icon-white.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs679" /> - <sodipodi:namedview - id="namedview677" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="29.923077" - inkscape:cx="9.7583548" - inkscape:cy="13" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg675" /> - <path - d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z" - id="path673" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fff" d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"/></svg> diff --git a/src/assets/images/general-icon.svg b/src/assets/images/general-icon.svg index 55c5f8bc..a6f96ba9 100644 --- a/src/assets/images/general-icon.svg +++ b/src/assets/images/general-icon.svg @@ -1,3 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor"> - <path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58a.49.49 0 0 0 .12-.61l-1.92-3.32a.49.49 0 0 0-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54a.484.484 0 0 0-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58a.49.49 0 0 0-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"/></svg> \ No newline at end of file diff --git a/src/assets/images/genius-icon.svg b/src/assets/images/genius-icon.svg index 98a1ca7c..3bd7d723 100644 --- a/src/assets/images/genius-icon.svg +++ b/src/assets/images/genius-icon.svg @@ -1,62 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> - -<svg - version="1.1" - id="Layer_1" - x="0px" - y="0px" - viewBox="0 0 893.80809 893.80808" - xml:space="preserve" - sodipodi:docname="genius-icon.svg" - width="893.80811" - height="893.80811" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"><defs - id="defs17" /><sodipodi:namedview - id="namedview15" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="0.35355339" - inkscape:cx="183.84776" - inkscape:cy="234.75945" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="Layer_1" /> -<style - type="text/css" - id="style2"> - .st0{fill:#F6F069;} -</style> -<circle - style="fill:#f6f069;fill-opacity:1;fill-rule:evenodd;stroke-width:9.79459;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.411765;paint-order:stroke fill markers;stop-color:#000000" - id="path298" - cx="446.90405" - cy="446.90405" - r="446.90405" /><g - id="g12" - transform="matrix(0.83247878,0,0,0.83247878,104.68007,147.4041)"> - - <path - d="m 745,306.7 c -0.3,-17.2 -2.1,-34.2 -4.9,-51.1 -10.9,-63.8 -37.7,-120.1 -79.4,-169.4 -4.3,-5.1 -8.8,-10 -13.5,-14.8 -2.9,-3 -6.6,-3.3 -9.5,-1.3 -2.8,1.9 -3.6,4.8 -2.4,8.9 0.3,1 0.7,1.9 1,2.8 16,42.7 24.2,86.8 24.5,132.4 -0.4,8.3 -0.8,16.6 -1.2,24.9 -1.2,22.7 -4.8,45 -10.5,66.9 -18.3,70.5 -53.7,131.1 -107.1,180.6 -69.6,64.5 -152.3,97.7 -247.1,100.4 -23.9,0.7 -47.6,-1.3 -71.1,-5.4 -24,-4.1 -47.5,-10.5 -70.2,-19.3 -5,-1.9 -8.5,-1 -10.5,2.5 -2,3.3 -1.2,6.4 2.7,10.1 3.3,3.1 6.6,6.1 10,9.1 65.2,56.5 141.1,85.6 227.2,88.1 20.8,0.6 41.6,-1 62.2,-4.4 74.2,-12 139,-43.7 192.5,-96.5 C 711.1,498.8 747,410.3 745,306.7 Z" - id="path6" /> - <path - d="m 174,403.9 c 2.9,-2.2 3.4,-5.1 1.8,-10 -0.2,-0.5 -0.3,-0.9 -0.5,-1.4 -12.4,-35 -15.9,-71 -10.6,-107.7 7,-48.3 27.5,-90.1 60.9,-125.5 2.7,-2.9 4,-5.8 4,-9.8 -0.1,-12.5 -0.1,-25 -0.1,-37.5 0,-12.3 0,-24.7 0,-37 0,-8 -2.4,-10.5 -10.4,-10.5 -24.7,0 -49.3,0 -74,-0.1 -4.1,0 -7.4,1.2 -10.3,4 -41,39.9 -62.8,88.6 -66.2,145.5 -1.3,21.7 1.2,43.2 6.8,64.3 14,52.6 43.6,94.1 88.5,124.7 4.5,3.1 7.1,3.3 10.1,1 z" - id="path8" /> - <path - d="m 310.7,247.1 c 6.1,45.6 49.2,77.8 94.6,70.5 40.3,-6.5 69.6,-40.8 69.6,-81.7 0,-8.2 0,-16.3 0,-24.5 0,-10.7 0,-21.3 0,-32 0,-6.8 1.8,-8.5 8.6,-8.6 6.3,-0.1 12.7,0.1 19,-0.1 5.8,-0.2 8.4,-3.7 7.4,-9.3 -0.2,-1 -0.3,-2 -0.5,-2.9 C 501.8,126.4 488,97.4 468,71.2 c -3.7,-4.8 -7.8,-6.6 -13.6,-6.5 -16.8,0.2 -33.6,0 -50.5,0.1 -1.8,0 -3.7,0.1 -5.5,0.4 -4.2,0.7 -6.1,2.7 -6.7,6.9 -0.2,1.6 -0.1,3.3 -0.1,5 0,26.2 0,52.3 0,78.5 0,10.8 -2.1,21.2 -6.5,31.1 -13,28.6 -35.5,44.5 -66.5,48.7 -6.5,0.9 -8.4,3 -8.1,9.4 0.1,0.6 0.1,1.5 0.2,2.3 z" - id="path10" /> -</g> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 893.808 893.808"><circle cx="446.904" cy="446.904" r="446.904" style="fill:#f6f069;fill-opacity:1;fill-rule:evenodd;stroke-width:9.79459;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.411765;paint-order:stroke fill markers;stop-color:#000"/><path d="M724.877 402.725c-.25-14.318-1.748-28.47-4.08-42.54-9.073-53.111-31.384-99.98-66.098-141.021-3.58-4.246-7.326-8.325-11.239-12.32-2.414-2.498-5.494-2.748-7.908-1.083-2.331 1.582-2.997 3.996-1.998 7.409.25.832.583 1.582.832 2.33 13.32 35.548 20.146 72.26 20.396 110.221l-.999 20.729c-.999 18.897-3.996 37.461-8.741 55.693-15.234 58.69-44.704 109.138-89.158 150.345-57.941 53.695-126.787 81.333-205.706 83.581-19.896.583-39.626-1.082-59.19-4.495-19.979-3.413-39.542-8.741-58.44-16.067-4.162-1.582-7.075-.833-8.74 2.081-1.665 2.747-1 5.328 2.247 8.408a359 359 0 0 0 8.325 7.576c54.278 47.035 117.463 71.26 189.14 73.341 17.315.5 34.63-.832 51.78-3.663 61.77-9.99 115.714-36.38 160.252-80.334 61.104-60.271 90.99-133.946 89.325-220.19M249.531 483.642c2.415-1.831 2.83-4.245 1.499-8.325-.167-.416-.25-.749-.416-1.165-10.323-29.137-13.237-59.106-8.825-89.658 5.828-40.209 22.893-75.006 50.698-104.476 2.248-2.414 3.33-4.828 3.33-8.158-.083-10.406-.083-20.812-.083-31.218V209.84c0-6.66-1.998-8.741-8.658-8.741-20.562 0-41.041 0-61.603-.083-3.413 0-6.16.999-8.575 3.33-34.131 33.216-52.28 73.757-55.11 121.125-1.082 18.065 1 35.963 5.661 53.529 11.655 43.788 36.296 78.336 73.674 103.81 3.746 2.58 5.91 2.747 8.408.832"/><path d="M363.331 353.11c5.078 37.96 40.958 64.766 78.753 58.69 33.549-5.412 57.94-33.966 57.94-68.014V296.75c0-5.66 1.499-7.075 7.16-7.159 5.244-.083 10.572.084 15.817-.083 4.828-.166 6.992-3.08 6.16-7.742-.166-.832-.25-1.665-.416-2.414-6.327-26.723-17.815-50.864-34.465-72.675-3.08-3.996-6.493-5.495-11.322-5.412-13.985.167-27.97 0-42.04.084-1.498 0-3.08.083-4.578.333-3.497.582-5.079 2.247-5.578 5.744-.166 1.332-.083 2.747-.083 4.162v65.35c0 8.99-1.748 17.648-5.411 25.89-10.823 23.809-29.553 37.045-55.36 40.542-5.411.749-6.993 2.497-6.743 7.825.083.5.083 1.249.166 1.915"/></svg> diff --git a/src/assets/images/github-icon-light.svg b/src/assets/images/github-icon-light.svg index d5e64918..e8d2b8a0 100644 --- a/src/assets/images/github-icon-light.svg +++ b/src/assets/images/github-icon-light.svg @@ -1 +1 @@ -<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#fff"/></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 98 96"><path fill="#fff" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a47 47 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0"/></svg> diff --git a/src/assets/images/github-icon.svg b/src/assets/images/github-icon.svg index 37fa923d..38c6889d 100644 --- a/src/assets/images/github-icon.svg +++ b/src/assets/images/github-icon.svg @@ -1 +1 @@ -<svg width="98" height="96" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z" fill="#24292f"/></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 98 96"><path fill="#24292f" d="M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a47 47 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0"/></svg> \ No newline at end of file diff --git a/src/assets/images/gitlab-icon.svg b/src/assets/images/gitlab-icon.svg index 2c218a2b..bb61f3bd 100644 --- a/src/assets/images/gitlab-icon.svg +++ b/src/assets/images/gitlab-icon.svg @@ -1 +1 @@ -<svg width="25" height="24" viewBox="0 0 25 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m24.507 9.5-.034-.09L21.082.562a.896.896.0 00-1.694.091l-2.29 7.01H7.825L5.535.653A.898.898.0 003.841.563L.451 9.411.416 9.5a6.297 6.297.0 002.09 7.278l.012.01.03.022 5.16 3.867 2.56 1.935 1.554 1.176a1.051 1.051.0 001.268.0l1.555-1.176 2.56-1.935 5.197-3.89.014-.01A6.297 6.297.0 0024.507 9.5z" fill="#e24329"/><path d="m24.507 9.5-.034-.09a11.44 11.44.0 00-4.56 2.051l-7.447 5.632 4.742 3.584 5.197-3.89.014-.01A6.297 6.297.0 0024.507 9.5z" fill="#fc6d26"/><path d="m7.707 20.677 2.56 1.935 1.555 1.176a1.051 1.051.0 001.268.0l1.555-1.176 2.56-1.935-4.743-3.584-4.755 3.584z" fill="#fca326"/><path d="M5.01 11.461A11.43 11.43.0 00.45 9.411L.416 9.5a6.297 6.297.0 002.09 7.278l.012.01.03.022 5.16 3.867 4.745-3.584-7.444-5.632z" fill="#fc6d26"/></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 25 24"><path fill="#e24329" d="m24.507 9.5-.034-.09L21.082.562a.896.896 0 0 0-1.694.091l-2.29 7.01H7.825L5.535.653a.898.898 0 0 0-1.694-.09L.451 9.411.416 9.5a6.3 6.3 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 2.56 1.935 1.554 1.176a1.05 1.05 0 0 0 1.268 0l1.555-1.176 2.56-1.935 5.197-3.89.014-.01A6.3 6.3 0 0 0 24.507 9.5"/><path fill="#fc6d26" d="m24.507 9.5-.034-.09a11.4 11.4 0 0 0-4.56 2.051l-7.447 5.632 4.742 3.584 5.197-3.89.014-.01A6.3 6.3 0 0 0 24.507 9.5"/><path fill="#fca326" d="m7.707 20.677 2.56 1.935 1.555 1.176a1.05 1.05 0 0 0 1.268 0l1.555-1.176 2.56-1.935-4.743-3.584z"/><path fill="#fc6d26" d="M5.01 11.461a11.4 11.4 0 0 0-4.56-2.05L.416 9.5a6.3 6.3 0 0 0 2.09 7.278l.012.01.03.022 5.16 3.867 4.745-3.584-7.444-5.632z"/></svg> \ No newline at end of file diff --git a/src/assets/images/goodreads-icon-light.svg b/src/assets/images/goodreads-icon-light.svg index f6a4c947..668208d5 100644 --- a/src/assets/images/goodreads-icon-light.svg +++ b/src/assets/images/goodreads-icon-light.svg @@ -1,327 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - width="512" - height="512" - viewBox="0 0 512 512" - fill="none" - version="1.1" - id="svg133" - sodipodi:docname="goodreads-icon-light.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - 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="namedview135" - pagecolor="#c2c2c2" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="1.0744708" - inkscape:cx="146.11844" - inkscape:cy="259.66271" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg133" /> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M 243.868,66.5799 C 173.928,73.2164 130.327,132.885 135.4,215.019 c 3.345,54.163 25.185,92.212 63.635,110.861 30.289,14.691 73.72,16.016 99.679,3.043 18.46,-9.226 33.654,-24.329 42.898,-42.641 0.879,-1.742 1.826,-3.167 2.103,-3.167 0.666,0 0.662,33.464 -0.005,46.08 -2.537,47.996 -19.585,75.628 -52.882,85.714 -17.471,5.293 -42.156,5.819 -61.552,1.312 -26.331,-6.118 -44.295,-22.137 -49.782,-44.392 l -1.418,-5.751 -16.586,-0.009 -16.585,-0.01 0.337,3.629 c 4.449,47.87 51.436,78.65 117.733,77.123 65.091,-1.5 101.161,-30.87 111.433,-90.736 2.912,-16.969 2.75,-8.667 2.943,-151.168 L 377.53,73.7074 H 360.875 344.22 v 23.04 c 0,13.7376 -0.191,23.0396 -0.473,23.0396 -0.26,0 -1.64,-2.217 -3.066,-4.926 -3.508,-6.663 -7.514,-12.125 -13.515,-18.4238 C 305.151,73.3291 277.435,63.3947 243.868,66.5799 Z m 26.214,27.8599 c 37.926,5.0105 64.743,36.4072 72.053,84.3552 8.496,55.734 -11.404,104.801 -50.204,123.785 -15.645,7.655 -36.015,9.706 -55.173,5.555 -51.91,-11.247 -79.466,-71.313 -64.516,-140.63 8.829,-40.932 38.554,-70.2707 74.442,-73.4748 5.604,-0.5002 18.177,-0.28 23.398,0.4096 z" - fill="#66390C" - id="path6" - style="fill:#ffffff;fill-opacity:1" /> - <defs - id="defs131"> - <filter - id="filter0_i_121_76" - x="135" - y="66" - width="242.53" - height="380.865" - filterUnits="userSpaceOnUse" - color-interpolation-filters="sRGB"> - <feFlood - flood-opacity="0" - result="BackgroundImageFix" - id="feFlood33" /> - <feBlend - mode="normal" - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - id="feBlend35" /> - <feColorMatrix - in="SourceAlpha" - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" - result="hardAlpha" - id="feColorMatrix37" /> - <feOffset - id="feOffset39" /> - <feGaussianBlur - stdDeviation="10" - id="feGaussianBlur41" /> - <feComposite - in2="hardAlpha" - operator="arithmetic" - k2="-1" - k3="1" - id="feComposite43" /> - <feColorMatrix - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" - id="feColorMatrix45" /> - <feBlend - mode="normal" - in2="shape" - result="effect1_innerShadow_121_76" - id="feBlend47" /> - </filter> - <filter - id="filter1_i_121_76" - x="135" - y="66" - width="242.53" - height="380.865" - filterUnits="userSpaceOnUse" - color-interpolation-filters="sRGB"> - <feFlood - flood-opacity="0" - result="BackgroundImageFix" - id="feFlood50" /> - <feBlend - mode="normal" - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - id="feBlend52" /> - <feColorMatrix - in="SourceAlpha" - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" - result="hardAlpha" - id="feColorMatrix54" /> - <feOffset - id="feOffset56" /> - <feGaussianBlur - stdDeviation="10" - id="feGaussianBlur58" /> - <feComposite - in2="hardAlpha" - operator="arithmetic" - k2="-1" - k3="1" - id="feComposite60" /> - <feColorMatrix - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" - id="feColorMatrix62" /> - <feBlend - mode="normal" - in2="shape" - result="effect1_innerShadow_121_76" - id="feBlend64" /> - </filter> - <filter - id="filter2_i_121_76" - x="167.199" - y="92.7582" - width="177.874" - height="218.483" - filterUnits="userSpaceOnUse" - color-interpolation-filters="sRGB"> - <feFlood - flood-opacity="0" - result="BackgroundImageFix" - id="feFlood67" /> - <feBlend - mode="normal" - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - id="feBlend69" /> - <feColorMatrix - in="SourceAlpha" - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" - result="hardAlpha" - id="feColorMatrix71" /> - <feOffset - id="feOffset73" /> - <feGaussianBlur - stdDeviation="10" - id="feGaussianBlur75" /> - <feComposite - in2="hardAlpha" - operator="arithmetic" - k2="-1" - k3="1" - id="feComposite77" /> - <feColorMatrix - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" - id="feColorMatrix79" /> - <feBlend - mode="normal" - in2="shape" - result="effect1_innerShadow_121_76" - id="feBlend81" /> - </filter> - <linearGradient - id="paint0_linear_121_76" - x1="256" - y1="0" - x2="256" - y2="512" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(2.3691356,82.130583)"> - <stop - stop-color="#EFEDDE" - id="stop84" /> - <stop - offset="1" - stop-color="#E6E1C3" - id="stop86" /> - </linearGradient> - <linearGradient - id="paint1_linear_121_76" - x1="256" - y1="215" - x2="256" - y2="18" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="white" - stop-opacity="0.63" - id="stop89" /> - <stop - offset="1" - stop-color="white" - stop-opacity="0" - id="stop91" /> - </linearGradient> - <radialGradient - id="paint2_radial_121_76" - cx="0" - cy="0" - r="1" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(256 207.5) rotate(90) scale(151 174.315)"> - <stop - stop-color="#9A5610" - id="stop94" - offset="0" - style="stop-color:#382111;stop-opacity:1;" /> - <stop - offset="1" - stop-color="#6F3E0D" - id="stop96" /> - </radialGradient> - <linearGradient - id="paint3_linear_121_76" - x1="256.265" - y1="66" - x2="256.265" - y2="446.865" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="white" - stop-opacity="0.41" - id="stop99" /> - <stop - offset="0.723958" - stop-opacity="0.34" - id="stop101" /> - <stop - offset="0.77414" - stop-color="white" - stop-opacity="0.34" - id="stop103" /> - <stop - offset="1" - stop-color="#111111" - stop-opacity="0.344532" - id="stop105" /> - </linearGradient> - <linearGradient - id="paint4_linear_121_76" - x1="256.136" - y1="92.7582" - x2="256.136" - y2="311.241" - gradientUnits="userSpaceOnUse"> - <stop - stop-opacity="0.28" - id="stop108" /> - <stop - offset="1" - stop-color="white" - stop-opacity="0.35" - id="stop110" /> - </linearGradient> - <radialGradient - id="paint5_radial_121_76" - cx="0" - cy="0" - r="1" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(256 207.5) rotate(90) scale(151 174.315)"> - <stop - stop-color="#9A5610" - id="stop113" /> - <stop - offset="1" - stop-color="#6F3E0D" - id="stop115" /> - </radialGradient> - <linearGradient - id="paint6_linear_121_76" - x1="255" - y1="213" - x2="255" - y2="16" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="white" - stop-opacity="0.17" - id="stop118" /> - <stop - offset="1" - stop-color="white" - stop-opacity="0" - id="stop120" /> - </linearGradient> - <linearGradient - id="paint7_linear_121_76" - x1="256" - y1="0" - x2="256" - y2="512" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="#E4E3D6" - id="stop123" /> - <stop - offset="1" - stop-color="#D5D1B6" - id="stop125" /> - </linearGradient> - <clipPath - id="clip0_121_76"> - <rect - width="512" - height="512" - rx="64" - fill="white" - id="rect128" /> - </clipPath> - </defs> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="#fff" d="M243.868 66.58c-69.94 6.636-113.541 66.305-108.468 148.439 3.345 54.163 25.185 92.212 63.635 110.861 30.289 14.691 73.72 16.016 99.679 3.043 18.46-9.226 33.654-24.329 42.898-42.641.879-1.742 1.826-3.167 2.103-3.167.666 0 .662 33.464-.005 46.08-2.537 47.996-19.585 75.628-52.882 85.714-17.471 5.293-42.156 5.819-61.552 1.312-26.331-6.118-44.295-22.137-49.782-44.392l-1.418-5.751-16.586-.009-16.585-.01.337 3.629c4.449 47.87 51.436 78.65 117.733 77.123 65.091-1.5 101.161-30.87 111.433-90.736 2.912-16.969 2.75-8.667 2.943-151.168l.179-131.2h-33.31v23.04c0 13.738-.191 23.04-.473 23.04-.26 0-1.64-2.217-3.066-4.926-3.508-6.663-7.514-12.125-13.515-18.424-22.015-23.108-49.731-33.042-83.298-29.857m26.214 27.86c37.926 5.01 64.743 36.407 72.053 84.355 8.496 55.734-11.404 104.801-50.204 123.785-15.645 7.655-36.015 9.706-55.173 5.555-51.91-11.247-79.466-71.313-64.516-140.63 8.829-40.932 38.554-70.27 74.442-73.475 5.604-.5 18.177-.28 23.398.41"/></svg> \ No newline at end of file diff --git a/src/assets/images/goodreads-icon.svg b/src/assets/images/goodreads-icon.svg index 5e446292..b41201f3 100644 --- a/src/assets/images/goodreads-icon.svg +++ b/src/assets/images/goodreads-icon.svg @@ -1,327 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - width="512" - height="512" - viewBox="0 0 512 512" - fill="none" - version="1.1" - id="svg133" - sodipodi:docname="goodreads-icon.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - 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="namedview135" - pagecolor="#c2c2c2" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="1.0744708" - inkscape:cx="33.504866" - inkscape:cy="259.66271" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg133" /> - <path - fill-rule="evenodd" - clip-rule="evenodd" - d="M 243.868,66.5799 C 173.928,73.2164 130.327,132.885 135.4,215.019 c 3.345,54.163 25.185,92.212 63.635,110.861 30.289,14.691 73.72,16.016 99.679,3.043 18.46,-9.226 33.654,-24.329 42.898,-42.641 0.879,-1.742 1.826,-3.167 2.103,-3.167 0.666,0 0.662,33.464 -0.005,46.08 -2.537,47.996 -19.585,75.628 -52.882,85.714 -17.471,5.293 -42.156,5.819 -61.552,1.312 -26.331,-6.118 -44.295,-22.137 -49.782,-44.392 l -1.418,-5.751 -16.586,-0.009 -16.585,-0.01 0.337,3.629 c 4.449,47.87 51.436,78.65 117.733,77.123 65.091,-1.5 101.161,-30.87 111.433,-90.736 2.912,-16.969 2.75,-8.667 2.943,-151.168 L 377.53,73.7074 H 360.875 344.22 v 23.04 c 0,13.7376 -0.191,23.0396 -0.473,23.0396 -0.26,0 -1.64,-2.217 -3.066,-4.926 -3.508,-6.663 -7.514,-12.125 -13.515,-18.4238 C 305.151,73.3291 277.435,63.3947 243.868,66.5799 Z m 26.214,27.8599 c 37.926,5.0105 64.743,36.4072 72.053,84.3552 8.496,55.734 -11.404,104.801 -50.204,123.785 -15.645,7.655 -36.015,9.706 -55.173,5.555 -51.91,-11.247 -79.466,-71.313 -64.516,-140.63 8.829,-40.932 38.554,-70.2707 74.442,-73.4748 5.604,-0.5002 18.177,-0.28 23.398,0.4096 z" - fill="#66390C" - id="path6" - style="fill:#000000;fill-opacity:1" /> - <defs - id="defs131"> - <filter - id="filter0_i_121_76" - x="135" - y="66" - width="242.53" - height="380.865" - filterUnits="userSpaceOnUse" - color-interpolation-filters="sRGB"> - <feFlood - flood-opacity="0" - result="BackgroundImageFix" - id="feFlood33" /> - <feBlend - mode="normal" - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - id="feBlend35" /> - <feColorMatrix - in="SourceAlpha" - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" - result="hardAlpha" - id="feColorMatrix37" /> - <feOffset - id="feOffset39" /> - <feGaussianBlur - stdDeviation="10" - id="feGaussianBlur41" /> - <feComposite - in2="hardAlpha" - operator="arithmetic" - k2="-1" - k3="1" - id="feComposite43" /> - <feColorMatrix - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" - id="feColorMatrix45" /> - <feBlend - mode="normal" - in2="shape" - result="effect1_innerShadow_121_76" - id="feBlend47" /> - </filter> - <filter - id="filter1_i_121_76" - x="135" - y="66" - width="242.53" - height="380.865" - filterUnits="userSpaceOnUse" - color-interpolation-filters="sRGB"> - <feFlood - flood-opacity="0" - result="BackgroundImageFix" - id="feFlood50" /> - <feBlend - mode="normal" - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - id="feBlend52" /> - <feColorMatrix - in="SourceAlpha" - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" - result="hardAlpha" - id="feColorMatrix54" /> - <feOffset - id="feOffset56" /> - <feGaussianBlur - stdDeviation="10" - id="feGaussianBlur58" /> - <feComposite - in2="hardAlpha" - operator="arithmetic" - k2="-1" - k3="1" - id="feComposite60" /> - <feColorMatrix - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" - id="feColorMatrix62" /> - <feBlend - mode="normal" - in2="shape" - result="effect1_innerShadow_121_76" - id="feBlend64" /> - </filter> - <filter - id="filter2_i_121_76" - x="167.199" - y="92.7582" - width="177.874" - height="218.483" - filterUnits="userSpaceOnUse" - color-interpolation-filters="sRGB"> - <feFlood - flood-opacity="0" - result="BackgroundImageFix" - id="feFlood67" /> - <feBlend - mode="normal" - in="SourceGraphic" - in2="BackgroundImageFix" - result="shape" - id="feBlend69" /> - <feColorMatrix - in="SourceAlpha" - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" - result="hardAlpha" - id="feColorMatrix71" /> - <feOffset - id="feOffset73" /> - <feGaussianBlur - stdDeviation="10" - id="feGaussianBlur75" /> - <feComposite - in2="hardAlpha" - operator="arithmetic" - k2="-1" - k3="1" - id="feComposite77" /> - <feColorMatrix - type="matrix" - values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0" - id="feColorMatrix79" /> - <feBlend - mode="normal" - in2="shape" - result="effect1_innerShadow_121_76" - id="feBlend81" /> - </filter> - <linearGradient - id="paint0_linear_121_76" - x1="256" - y1="0" - x2="256" - y2="512" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(2.3691356,82.130583)"> - <stop - stop-color="#EFEDDE" - id="stop84" /> - <stop - offset="1" - stop-color="#E6E1C3" - id="stop86" /> - </linearGradient> - <linearGradient - id="paint1_linear_121_76" - x1="256" - y1="215" - x2="256" - y2="18" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="white" - stop-opacity="0.63" - id="stop89" /> - <stop - offset="1" - stop-color="white" - stop-opacity="0" - id="stop91" /> - </linearGradient> - <radialGradient - id="paint2_radial_121_76" - cx="0" - cy="0" - r="1" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(256 207.5) rotate(90) scale(151 174.315)"> - <stop - stop-color="#9A5610" - id="stop94" - offset="0" - style="stop-color:#382111;stop-opacity:1;" /> - <stop - offset="1" - stop-color="#6F3E0D" - id="stop96" /> - </radialGradient> - <linearGradient - id="paint3_linear_121_76" - x1="256.265" - y1="66" - x2="256.265" - y2="446.865" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="white" - stop-opacity="0.41" - id="stop99" /> - <stop - offset="0.723958" - stop-opacity="0.34" - id="stop101" /> - <stop - offset="0.77414" - stop-color="white" - stop-opacity="0.34" - id="stop103" /> - <stop - offset="1" - stop-color="#111111" - stop-opacity="0.344532" - id="stop105" /> - </linearGradient> - <linearGradient - id="paint4_linear_121_76" - x1="256.136" - y1="92.7582" - x2="256.136" - y2="311.241" - gradientUnits="userSpaceOnUse"> - <stop - stop-opacity="0.28" - id="stop108" /> - <stop - offset="1" - stop-color="white" - stop-opacity="0.35" - id="stop110" /> - </linearGradient> - <radialGradient - id="paint5_radial_121_76" - cx="0" - cy="0" - r="1" - gradientUnits="userSpaceOnUse" - gradientTransform="translate(256 207.5) rotate(90) scale(151 174.315)"> - <stop - stop-color="#9A5610" - id="stop113" /> - <stop - offset="1" - stop-color="#6F3E0D" - id="stop115" /> - </radialGradient> - <linearGradient - id="paint6_linear_121_76" - x1="255" - y1="213" - x2="255" - y2="16" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="white" - stop-opacity="0.17" - id="stop118" /> - <stop - offset="1" - stop-color="white" - stop-opacity="0" - id="stop120" /> - </linearGradient> - <linearGradient - id="paint7_linear_121_76" - x1="256" - y1="0" - x2="256" - y2="512" - gradientUnits="userSpaceOnUse"> - <stop - stop-color="#E4E3D6" - id="stop123" /> - <stop - offset="1" - stop-color="#D5D1B6" - id="stop125" /> - </linearGradient> - <clipPath - id="clip0_121_76"> - <rect - width="512" - height="512" - rx="64" - fill="white" - id="rect128" /> - </clipPath> - </defs> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M243.868 66.58c-69.94 6.636-113.541 66.305-108.468 148.439 3.345 54.163 25.185 92.212 63.635 110.861 30.289 14.691 73.72 16.016 99.679 3.043 18.46-9.226 33.654-24.329 42.898-42.641.879-1.742 1.826-3.167 2.103-3.167.666 0 .662 33.464-.005 46.08-2.537 47.996-19.585 75.628-52.882 85.714-17.471 5.293-42.156 5.819-61.552 1.312-26.331-6.118-44.295-22.137-49.782-44.392l-1.418-5.751-16.586-.009-16.585-.01.337 3.629c4.449 47.87 51.436 78.65 117.733 77.123 65.091-1.5 101.161-30.87 111.433-90.736 2.912-16.969 2.75-8.667 2.943-151.168l.179-131.2h-33.31v23.04c0 13.738-.191 23.04-.473 23.04-.26 0-1.64-2.217-3.066-4.926-3.508-6.663-7.514-12.125-13.515-18.424-22.015-23.108-49.731-33.042-83.298-29.857m26.214 27.86c37.926 5.01 64.743 36.407 72.053 84.355 8.496 55.734-11.404 104.801-50.204 123.785-15.645 7.655-36.015 9.706-55.173 5.555-51.91-11.247-79.466-71.313-64.516-140.63 8.829-40.932 38.554-70.27 74.442-73.475 5.604-.5 18.177-.28 23.398.41"/></svg> \ No newline at end of file diff --git a/src/assets/images/ifunny-icon.svg b/src/assets/images/ifunny-icon.svg new file mode 100644 index 00000000..bceff0ea --- /dev/null +++ b/src/assets/images/ifunny-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 31.75 31.75"><g transform="matrix(.26458 0 0 .26458 -2.646 -2.646)"><path fill="#ffd10b" d="M130 70c0-33.137-26.863-60-60-60S10 36.863 10 70s26.863 60 60 60 60-26.863 60-60"/><path d="M70 98.073c-14.444-.002-27.276-9.348-32.538-21.9l-.008.003a2.24 2.24 0 0 0-2.14-1.56c-1.235 0-2.237.99-2.237 2.212q0 .126.014.25h-.014c.016.44.105.869.245 1.211 6.11 15.052 19.149 28.632 36.678 28.634zm0 0c14.445-.002 27.277-9.348 32.539-21.9l.007.003a2.24 2.24 0 0 1 2.14-1.56c1.235 0 2.237.99 2.237 2.212q0 .126-.014.25h.014c-.015.44-.105.869-.245 1.211-6.109 15.052-19.149 28.632-36.678 28.634ZM58.133 50.535c0 5.82-2.352 10.531-6.182 10.535-3.893.003-6.182-4.716-6.182-10.535 0-5.82 2.29-10.535 6.182-10.535 3.83.003 6.182 4.719 6.182 10.535m35.963 0c0 5.82-2.352 10.531-6.182 10.535-3.893.003-6.182-4.716-6.182-10.535 0-5.82 2.29-10.535 6.182-10.535 3.83.003 6.181 4.719 6.181 10.535z"/></g></svg> diff --git a/src/assets/images/imdb-icon.svg b/src/assets/images/imdb-icon.svg index a3f4103c..888dafc8 100644 --- a/src/assets/images/imdb-icon.svg +++ b/src/assets/images/imdb-icon.svg @@ -1,57 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - width="946.47894" - height="946.47894" - viewBox="0 0 250.42255 250.42256" - version="1.1" - id="svg14" - sodipodi:docname="imdb.svg" - inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs18" /> - <sodipodi:namedview - id="namedview16" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - showgrid="false" - inkscape:zoom="0.6035" - inkscape:cx="400.9942" - inkscape:cy="501.24275" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg14" /> - <circle - style="fill:#f5c518;fill-opacity:1;stroke-width:0.529167" - id="path857" - cx="125.21127" - cy="125.21127" - r="125.21127" /> - <g - id="g12" - transform="translate(-7.0803833,59.065437)"> - <polygon - points="5,18 5,0 0,0 0,18 " - transform="matrix(4.1341143,0,0,4.1341143,33.07292,28.938814)" - id="polygon4" /> - <path - d="M 97.8649,28.938814 93.238682,63.70039 90.364307,44.793235 C 89.53087,38.737048 88.731526,33.452235 87.966151,28.938814 H 62.011715 V 103.35287 H 79.54712 l 0.06875,-49.138886 7.381547,49.138886 h 12.483968 l 7.007355,-50.222105 0.0516,50.222105 h 17.48438 V 28.938814 Z" - id="path6" /> - <path - d="M 132.29167,103.35287 V 28.938814 h 32.26493 c 7.29586,0 13.21033,5.870218 13.21033,13.132452 v 48.149153 c 0,7.252863 -5.90492,13.132451 -13.21033,13.132451 z m 24.11118,-61.021495 c -0.81984,-0.443125 -2.38842,-0.656562 -4.66989,-0.656562 v 48.827044 c 3.01225,0 4.86595,-0.541563 5.56108,-1.674062 0.69516,-1.116094 1.05156,-4.135938 1.05156,-9.0925 V 50.882203 c 0,-3.364562 -0.125,-5.514593 -0.35656,-6.466515 -0.23172,-0.951875 -0.74859,-1.641234 -1.58633,-2.084375 z" - id="path8" /> - <path - d="m 216.75124,47.570688 h 1.32125 c 7.42153,0 13.43787,5.811796 13.43787,12.972889 v 29.836405 c 0,7.16473 -6.01439,12.972888 -13.43787,12.972888 h -1.32125 c -4.54109,0 -8.55609,-2.17594 -10.98864,-5.505518 l -1.19047,4.549608 H 186.03519 V 28.938814 h 19.77896 v 23.897389 c 2.55559,-3.184828 6.49396,-5.265515 10.93714,-5.265515 z m -4.23473,36.286591 V 66.224718 c 0,-2.913469 -0.18704,-4.825437 -0.57672,-5.705547 -0.38969,-0.880156 -1.94505,-1.445156 -3.03607,-1.445156 -1.09109,0 -2.77353,0.459219 -3.10082,1.233125 v 5.917609 18.197155 5.73275 c 0.37406,0.849687 1.97864,1.322658 3.10082,1.322658 1.12219,0 2.75552,-0.457658 3.09841,-1.322658 0.34281,-0.865 0.51438,-2.974172 0.51438,-6.297344 z" - id="path10" /> - </g> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 250.423 250.423"><circle cx="125.211" cy="125.211" r="125.211" style="fill:#f5c518;fill-opacity:1;stroke-width:.529167"/><path d="M46.663 162.418V88.004h-20.67v74.414zM90.785 88.004l-4.627 34.762-2.874-18.907q-1.25-9.085-2.398-15.855H54.93v74.414h17.536l.068-49.139 7.382 49.14h12.484l7.007-50.223.052 50.222h17.484V88.004ZM125.211 162.418V88.004h32.265c7.296 0 13.21 5.87 13.21 13.133v48.149c0 7.253-5.904 13.132-13.21 13.132zm24.111-61.021c-.82-.443-2.388-.657-4.67-.657v48.827c3.013 0 4.867-.541 5.562-1.674.695-1.116 1.051-4.136 1.051-9.092v-28.853c0-3.365-.125-5.515-.356-6.467-.232-.952-.749-1.641-1.587-2.084zM209.67 106.636h1.322c7.422 0 13.438 5.812 13.438 12.973v29.836c0 7.165-6.014 12.973-13.438 12.973h-1.321c-4.541 0-8.556-2.176-10.989-5.505l-1.19 4.55h-18.537V88.003h19.779v23.898c2.555-3.185 6.494-5.266 10.937-5.266m-4.234 36.287V125.29c0-2.913-.187-4.825-.577-5.705s-1.945-1.446-3.036-1.446-2.773.46-3.1 1.234v29.846999999999998c.374.85 1.978 1.323 3.1 1.323s2.756-.458 3.099-1.323.514-2.974.514-6.297"/></svg> diff --git a/src/assets/images/imgur-icon.png b/src/assets/images/imgur-icon.png deleted file mode 100644 index c23a45b2..00000000 --- a/src/assets/images/imgur-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/imgur-icon.svg b/src/assets/images/imgur-icon.svg new file mode 100644 index 00000000..6d5296cc --- /dev/null +++ b/src/assets/images/imgur-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 28 28"><style id="style1">.green{fill:#1bb76e}</style><g id="g4" transform="translate(-6 -6)"><path id="rect1" d="M17.12 31.506a.11.11 0 0 0-.1.064c-.13.29-.362.521-.65.65a.11.11 0 0 0 0 .2c.29.122.523.352.65.64a.11.11 0 0 0 .2 0c.12-.29.35-.52.64-.64a.11.11 0 0 0 0-.2 1.23 1.23 0 0 1-.64-.65.11.11 0 0 0-.1-.064" class="green" style="display:inline;fill:#fff;fill-opacity:1"/><path id="path12" d="M21.58 28.658a.18.18 0 0 0-.17.121 2 2 0 0 1-1.08 1.08.18.18 0 0 0 0 .33 2 2 0 0 1 1.08 1.08.18.18 0 0 0 .34 0 2.1 2.1 0 0 1 1.08-1.08.18.18 0 0 0 0-.33 2.1 2.1 0 0 1-1.08-1.08.18.18 0 0 0-.17-.12" class="green" style="display:inline;fill:#fff;fill-opacity:1"/><path id="path11" d="M22.975 25.85c-.036 0-.07.02-.084.06a1.1 1.1 0 0 1-.551.55.1.1 0 0 0 0 .17c.246.108.444.303.55.55a.09.09 0 0 0 .17 0 1 1 0 0 1 .54-.55.09.09 0 0 0 0-.17 1 1 0 0 1-.54-.55.09.09 0 0 0-.085-.06" class="green" style="display:inline;fill:#fff;fill-opacity:1"/><path id="path10" d="M9.154 25.676a.11.11 0 0 0-.093.054 1.14 1.14 0 0 1-.612.61.11.11 0 0 0 0 .19c.272.12.49.34.612.61a.1.1 0 0 0 .189 0c.121-.27.338-.49.61-.61a.11.11 0 0 0 0-.19 1.14 1.14 0 0 1-.61-.61.11.11 0 0 0-.096-.054" class="green" style="display:inline;fill:#fff;fill-opacity:1"/><path id="path9" d="M9.14 18.229a.25.25 0 0 0-.23.152 2.85 2.85 0 0 1-1.48 1.478.25.25 0 0 0 0 .461c.669.28 1.201.812 1.48 1.48a.26.26 0 0 0 .46 0 2.82 2.82 0 0 1 1.48-1.48.25.25 0 0 0 0-.46 2.9 2.9 0 0 1-1.48-1.48.245.245 0 0 0-.23-.151" class="green" style="display:inline;fill:#fff;fill-opacity:1"/><path id="path8" d="M12.475 15.826a.15.15 0 0 0-.135.084c-.17.392-.479.705-.87.88a.151.151 0 0 0 0 .27c.392.168.703.478.87.87a.15.15 0 0 0 .27 0 1.65 1.65 0 0 1 .87-.87.151.151 0 0 0 0-.27 1.7 1.7 0 0 1-.87-.88.15.15 0 0 0-.135-.084" class="green" style="display:inline;fill:#fff;fill-opacity:1"/><path id="path7" d="M12.418 31.78a1.74 1.74 0 0 1 .803-.72.15.15 0 0 0-.041-.25 1.7 1.7 0 0 1-.9-.9.15.15 0 0 0-.28 0 1.72 1.72 0 0 1-.9.9l-.01.006a14 14 0 0 0 1.328.963" class="green" style="display:inline;fill:#fff;fill-opacity:1"/><path id="path6" d="m13.36 12.2-7.348 7.349c-.005.15-.012.3-.012.451a13.96 13.96 0 0 0 5.09 10.816l.01-.005c.404-.174.726-.497.9-.9a.15.15 0 0 1 .28 0c.17.405.494.728.9.9a.15.15 0 0 1 .04.25 1.74 1.74 0 0 0-.802.718 13.96 13.96 0 0 0 8.46 2.192L28 26.84Zm-.885 3.626c.053 0 .107.028.134.084.17.392.481.705.871.88a.151.151 0 0 1 0 .27 1.65 1.65 0 0 0-.87.87.15.15 0 0 1-.27 0 1.65 1.65 0 0 0-.87-.87.151.151 0 0 1 0-.27c.391-.175.7-.488.87-.88a.15.15 0 0 1 .135-.084M9.14 18.23c.093 0 .185.05.228.152.291.66.82 1.187 1.48 1.478a.25.25 0 0 1 0 .461 2.82 2.82 0 0 0-1.48 1.48.26.26 0 0 1-.459 0 2.75 2.75 0 0 0-1.48-1.48.25.25 0 0 1 0-.46 2.85 2.85 0 0 0 1.48-1.48.25.25 0 0 1 .23-.151m.013 7.447a.11.11 0 0 1 .096.054c.116.276.334.494.61.61a.11.11 0 0 1 0 .19c-.272.12-.489.34-.61.61a.1.1 0 0 1-.19 0 1.22 1.22 0 0 0-.61-.61.11.11 0 0 1 0-.19c.275-.116.495-.334.61-.61a.11.11 0 0 1 .094-.054m13.82.174a.09.09 0 0 1 .087.06 1 1 0 0 0 .539.55.09.09 0 0 1 0 .17 1 1 0 0 0-.54.55.09.09 0 0 1-.17 0 1.06 1.06 0 0 0-.55-.55.1.1 0 0 1 0-.17c.245-.109.441-.305.55-.55a.09.09 0 0 1 .085-.06m-1.394 2.808c.071 0 .142.04.17.121a2.1 2.1 0 0 0 1.08 1.08.18.18 0 0 1 0 .33 2.1 2.1 0 0 0-1.08 1.08.18.18 0 0 1-.34 0 2 2 0 0 0-1.08-1.08.18.18 0 0 1 0-.33 2 2 0 0 0 1.08-1.08.18.18 0 0 1 .17-.12m-4.46 2.848a.11.11 0 0 1 .1.064c.123.291.35.524.64.65a.11.11 0 0 1 0 .2c-.29.12-.52.35-.64.64a.11.11 0 0 1-.2 0 1.23 1.23 0 0 0-.65-.64.11.11 0 0 1 0-.2c.288-.129.52-.36.65-.65a.11.11 0 0 1 .1-.064" class="green" style="display:inline;fill:#0a0d49;fill-opacity:1"/><path id="path5" d="M20 6A13.965 13.965 0 0 0 6.012 19.549l7.347-7.35L28 26.84l-7.121 7.132A13.966 13.966 0 0 0 34 20c0-7.756-6.244-14-14-14" class="green"/><path id="path3" fill="#fff" d="M10.3 24.91a1.75 1.75 0 0 1 .12-2.3L15.83 17l-2.46-2.42c-1.057-1.002-.5-2.78.94-3a65 65 0 0 1 10.4-.92c1.06 0 2.1 0 3.11.1a1.74 1.74 0 0 1 1.62 1.63A59.6 59.6 0 0 1 28.63 26c-.22 1.44-1.998 1.997-3 .94l-2.42-2.46-5.55 5.42a1.75 1.75 0 0 1-2.31.11l-2.197-2.219z"/><path id="path4" d="M27.7 12.58a57.8 57.8 0 0 0-13.1.8L18.29 17l-6.62 6.79a30 30 0 0 0 4.8 4.81l6.8-6.6 3.64 3.7a58 58 0 0 0 .79-13.12" class="green"/></g></svg> \ No newline at end of file diff --git a/src/assets/images/instagram-icon.png b/src/assets/images/instagram-icon.png deleted file mode 100644 index 7bc0f9f8..00000000 --- a/src/assets/images/instagram-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/instagram-icon.svg b/src/assets/images/instagram-icon.svg new file mode 100644 index 00000000..cfbab00f --- /dev/null +++ b/src/assets/images/instagram-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><style>.st1{fill:#fff}</style><linearGradient id="SVGID_1_" x1="146.446" x2="853.553" y1="853.553" y2="146.446" gradientUnits="userSpaceOnUse"><stop offset="0" style="stop-color:#ffd521"/><stop offset=".055" style="stop-color:#ffd020"/><stop offset=".124" style="stop-color:#fec01e"/><stop offset=".2" style="stop-color:#fca71b"/><stop offset=".282" style="stop-color:#fa8316"/><stop offset=".368" style="stop-color:#f85510"/><stop offset=".456" style="stop-color:#f51e09"/><stop offset=".5" style="stop-color:#f30005"/><stop offset=".503" style="stop-color:#f20007"/><stop offset=".597" style="stop-color:#e1003b"/><stop offset=".688" style="stop-color:#d30067"/><stop offset=".776" style="stop-color:#c70088"/><stop offset=".859" style="stop-color:#bf00a0"/><stop offset=".936" style="stop-color:#bb00af"/><stop offset="1" style="stop-color:#b900b4"/></linearGradient><path d="M500 1000C223.9 1000 0 776.1 0 500S223.9 0 500 0s500 223.9 500 500-223.9 500-500 500" style="fill:url(#SVGID_1_)"/><path d="M500 220.2c91.1 0 101.9.3 137.9 2 33.3 1.5 51.4 7.1 63.4 11.8 15.9 6.2 27.3 13.6 39.2 25.5s19.3 23.3 25.5 39.2c4.7 12 10.2 30.1 11.8 63.4 1.6 36 2 46.8 2 137.9s-.3 101.9-2 137.9c-1.5 33.3-7.1 51.4-11.8 63.4-6.2 15.9-13.6 27.3-25.5 39.2s-23.3 19.3-39.2 25.5c-12 4.7-30.1 10.2-63.4 11.8-36 1.6-46.8 2-137.9 2s-101.9-.3-137.9-2c-33.3-1.5-51.4-7.1-63.4-11.8-15.9-6.2-27.3-13.6-39.2-25.5s-19.3-23.3-25.5-39.2c-4.7-12-10.2-30.1-11.8-63.4-1.6-36-2-46.8-2-137.9s.3-101.9 2-137.9c1.5-33.3 7.1-51.4 11.8-63.4 6.2-15.9 13.6-27.3 25.5-39.2s23.3-19.3 39.2-25.5c12-4.7 30.1-10.2 63.4-11.8 36-1.7 46.8-2 137.9-2m0-61.5c-92.7 0-104.3.4-140.7 2.1-36.3 1.7-61.1 7.4-82.9 15.9C254 185.3 234.9 197 216 216c-19 19-30.6 38-39.4 60.5-8.4 21.7-14.2 46.5-15.9 82.9s-2.1 48-2.1 140.7.4 104.3 2.1 140.7c1.7 36.3 7.4 61.1 15.9 82.9C185.3 746 197 765.1 216 784c19 19 38 30.6 60.5 39.4 21.7 8.4 46.5 14.2 82.9 15.9s48 2.1 140.7 2.1 104.3-.4 140.7-2.1c36.3-1.7 61.1-7.4 82.9-15.9C746 814.7 765.1 803 784 784c19-19 30.6-38 39.4-60.5 8.4-21.7 14.2-46.5 15.9-82.9s2.1-48 2.1-140.7-.4-104.3-2.1-140.7c-1.7-36.3-7.4-61.1-15.9-82.9C814.7 254 803 234.9 784 216c-19-19-38-30.6-60.5-39.4-21.7-8.4-46.5-14.2-82.9-15.9-36.3-1.6-47.9-2-140.6-2" class="st1"/><path d="M500 324.7c-96.8 0-175.3 78.5-175.3 175.3S403.2 675.3 500 675.3 675.3 596.8 675.3 500 596.8 324.7 500 324.7m0 289.1c-62.8 0-113.8-50.9-113.8-113.8s51-113.8 113.8-113.8S613.8 437.1 613.8 500s-51 113.8-113.8 113.8" class="st1"/><circle cx="682.2" cy="317.8" r="41" class="st1"/></svg> diff --git a/src/assets/images/instructables-icon.svg b/src/assets/images/instructables-icon.svg index 9b7eaa28..7b21ca3e 100644 --- a/src/assets/images/instructables-icon.svg +++ b/src/assets/images/instructables-icon.svg @@ -1,372 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - id="Layer_1" - viewBox="0 0 142.45365 142.45364" - version="1.1" - sodipodi:docname="instructables-logo-2023.svg" - width="142.45364" - height="142.45364" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - 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="namedview217" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="3.3526695" - inkscape:cx="95.148061" - inkscape:cy="98.429029" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="g166" /> - <defs - id="defs4"> - <style - id="style2">.cls-1,.cls-2,.cls-3{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;}.cls-1,.cls-3{stroke-width:1.29491px;}.cls-4{fill:#fff;}.cls-5{fill:#ffc432;}.cls-6{fill:#ffc21a;}.cls-7{fill:#b1b1b1;}.cls-8{fill:#e10017;}.cls-2{stroke-width:1.18701px;}.cls-3{fill-rule:evenodd;}</style> - </defs> - <g - id="g168" - transform="translate(22.80687,13.234741)"> - <g - id="g42"> - <path - class="cls-6" - d="m 84.36497,66.17323 0.04326,0.12603 8.41199,-1.27039 c 0,0 -8.04716,-16.45823 -14.63966,-16.87027 0,0 -9.59736,-18.01481 -22.18384,-19.44919 L 55.75582,28.35834 55.26643,5.18798 C 55.25336,4.56847 54.8222,4.0368 54.21958,3.89267 34.47752,-0.82896 31.00334,1.10981 31.00334,1.10981 27.29485,2.06445 24.21294,8.3516 23.24007,10.54254 l -0.99874,8.79576 c -0.41515,5.295 -0.55941,11.34315 -0.82908,11.58378 0,0 -6.03187,4.00978 -8.0645,15.25184 l -0.0038,0.08109 C 5.28894,49.02043 1.85375,67.86729 1.85375,67.86729 l 10.39699,1.55939 -7.9e-4,0.01631 c -0.21993,7.88678 -0.27473,14.05488 0.44713,19.20735 0,0 6.65815,1.68909 20.96095,1.81889 0.11471,2.90821 0.6591,16.10289 1.15713,17.7311 0.31614,1.03325 3.3981,0.81306 6.22134,0.35092 2.18043,-0.3569 4.20658,-0.85809 4.68542,-1.03763 1.0987,-0.41204 3.34198,-0.32046 3.15888,-3.47935 -0.16034,-2.76539 -0.61268,-11.73906 -0.72291,-13.93198 0.56858,-0.0319 1.13642,-0.06352 1.71949,-0.10009 4.78648,-0.30007 9.10987,-0.69862 12.97612,-1.14817 h -5e-5 c 0,0 -1.00902,4.37592 -1.40198,12.8454 0,0 0.06486,1.24396 2.99486,1.40024 2.92994,0.15631 9.4855,-0.0841 10.38977,-0.39307 0.90432,-0.30895 1.23854,-2.10252 1.51326,-6.70522 0.27467,-4.60267 0.54429,-9.29808 0.54429,-9.29808 l -0.02371,0.0036 c 7.32194,-1.43283 10.92468,-2.71547 10.92468,-2.71547 0,0 -1.10049,-8.51721 -3.42966,-17.81825 z" - id="path6" /> - <path - class="cls-4" - d="m 1.85374,67.86731 c 0,0 -1.05899,2.10158 -1.00346,3.21873 0.05553,1.11715 0.4807,1.72561 1.96858,1.01601 0,0 0.61804,1.20318 1.57944,1.24252 0.9614,0.03934 1.98529,-0.89917 1.98529,-0.89917 0,0 0.73402,1.279 1.70252,1.16397 0.9685,-0.11503 1.78928,-0.75195 1.78928,-0.75195 0,0 0.56599,1.0003 1.52739,0.75195 0,0 0.41203,-0.33992 0.4807,-1.25554 0.06867,-0.91562 0,-2.70108 0,-2.70108 L 1.85372,67.86729 Z" - id="path8" /> - <path - class="cls-8" - d="m 25.13191,9.56526 c 0,0 1.47644,2.84986 1.27042,6.11176 -0.20602,3.2619 -1.03007,5.13826 -1.03007,5.13826 0,0 -4.12029,-0.39993 -4.25763,-4.24553 -0.13734,-3.8456 1.4421,-6.31777 4.01728,-7.00449 z" - id="path10" /> - <path - class="cls-8" - d="m 55.75584,21.96046 c 0,0 2.72236,-0.85032 2.92206,-4.36064 0.1997,-3.51031 -0.61804,-5.6958 -2.19749,-6.67633 0,0 -0.80744,-0.4655 -0.899,-0.44261" - id="path12" /> - <line - class="cls-5" - x1="8.32582" - y1="14.60336" - x2="21.10634" - y2="15.49837" - id="line14" /> - <line - class="cls-5" - x1="69.196678" - y1="16.531179" - x2="58.808979" - y2="16.00531" - id="line16" /> - <path - class="cls-8" - d="m 43.57751,7.7798 c -0.4419,-0.15172 -2.89152,-0.34336 -4.19628,2.23182 -1.30476,2.57518 -0.85839,4.91001 1.88846,5.32204 2.74685,0.41203 3.95891,-1.97115 4.22329,-3.35743 0.17168,-0.90019 -0.53362,-3.72199 -1.91548,-4.19642 z" - id="path18" /> - <path - class="cls-8" - d="m 49.51027,11.29394 c 0,0 -1.75112,0.3658 -1.9228,2.46028 -0.17168,2.09448 2.64385,2.37337 3.19322,2.25109 0.54937,-0.12228 1.92946,-0.84269 2.16648,-2.42245 0.23702,-1.57976 -1.66104,-2.97512 -3.4369,-2.28892 z" - id="path20" /> - <path - class="cls-6" - d="m 41.40704,9.8285 c -0.41258,0.18189 -1.80271,1.76675 -0.10301,2.81586 1.69971,1.04911 2.69561,0.02198 2.83484,-0.67421 C 44.2781,11.27396 43.53585,8.88999 41.40703,9.8285 Z" - id="path22" /> - <path - class="cls-6" - d="m 51.52097,12.15547 c 0,0 -0.98411,-0.41098 -1.54894,0.48554 -0.56483,0.89652 0.10163,1.90783 1.10398,2.22155 1.00234,0.31372 2.19841,-1.93319 0.44497,-2.70709 z" - id="path24" /> - <path - class="cls-7" - d="m 50.24317,115.28832 c -0.21424,-3.34119 -2.9124,-6.94718 -6.54544,-7.27325 l -5.57599,1.84424 c -2.91524,2.12241 -4.22064,5.56011 -3.30657,9.76942 0.15438,0.71079 2.15023,3.86243 7.19232,3.08417 5.04203,-0.77829 8.49935,-3.31234 8.23569,-7.42458 z m -9.2133,1.79352 c -1.89938,-0.13736 -1.76312,-2.13506 -1.76312,-2.13506 l 4.57815,-1.80211 c 0,0 0.59514,-0.33983 0.82407,1.60234 0.22889,1.94216 -1.73973,2.47217 -3.6391,2.33483 z" - id="path26" /> - <path - class="cls-7" - d="m 72.73509,102.95576 -6.37841,0.19163 c -2.1447,0.5142 -5.2667,2.05255 -5.29816,6.65101 -0.04795,7.01059 5.49575,6.47052 9.56801,6.5765 4.07227,0.10601 7.17978,-3.20214 7.41272,-6.35217 0.1783,-2.41176 -1.30956,-6.06314 -5.30417,-7.06697 z m -4.67209,9.90465 c -2.33238,0.15425 -3.70823,-1.77587 -3.47935,-3.51557 0.05996,-0.45582 0.30223,-0.826 0.62717,-1.12412 l 4.32782,-1.48918 c 2.12868,-0.086 3.23128,1.29787 3.37713,2.65909 0.18336,1.7104 -2.52038,3.3155 -4.85277,3.46978 z" - id="path28" /> - <path - class="cls-7" - d="M 54.03117,52.07947 C 53.93959,51.47772 53.6204,49.60071 53.39088,49.41759 l -0.0137,0.0033 c -0.12846,-1.86539 -1.18964,-3.08496 -3.19703,-3.12748 -2.14565,-0.04545 -3.50126,1.73232 -3.21073,3.52158 0.06523,0.40171 0.22799,0.74017 0.45609,1.02327 l -0.16787,0.03999 c 0,0 0.36419,2.49941 1.22257,2.77411 0.85838,0.27467 3.87995,0.44642 5.39068,-0.72676 0,0 0.25181,-0.24438 0.16028,-0.8461 z" - id="path30" /> - <path - class="cls-7" - d="m 66.09438,49.81495 -0.09763,0.03364 c 0.0071,-0.08852 0.01128,-0.17306 0.01128,-0.24788 0,-0.82531 -0.28105,-3.26189 -3.2562,-2.84988 -2.97521,0.41204 -3.4902,2.51348 -3.45585,3.21389 0.01739,0.35455 0.15333,1.25029 0.66195,1.96463 l -10e-4,3.4e-4 c 0,0 0.4603,2.45513 1.84537,2.63825 1.38507,0.18312 3.37655,0.13734 4.08613,-1.19032 0.70958,-1.32764 0.20597,-3.56267 0.20597,-3.56267 z" - id="path32" /> - <path - class="cls-7" - d="m 40.2158,49.93861 c 0.06565,-0.37181 0.1117,-0.95161 0.02382,-1.78001 -0.17166,-1.61893 -1.71675,-2.40349 -3.53657,-1.95749 -1.81981,0.44602 -2.43566,1.24362 -2.23839,2.88792 0.0177,0.14759 0.04684,0.28687 0.08125,0.42215 l -0.002,-1.6e-4 c 0,0 -0.03831,2.12692 0.16771,2.69919 0.20602,0.57227 2.12879,2.26615 4.46365,1.21319 0,0 0.52648,-0.27467 0.66384,-0.64092 0.13731,-0.36625 0.45145,-1.76333 0.44913,-2.83842 l -0.0724,-0.0055 z" - id="path34" /> - <path - class="cls-4" - d="m 38.21382,109.4822 c 0,0 0.91004,5.26481 1.50798,5.44793 0.59794,0.18312 4.07729,-1.1903 4.12307,-1.78546 0.04578,-0.59516 -1.45261,-4.67261 -1.45261,-4.67261 l -4.17845,1.01013 z" - id="path36" /> - <path - class="cls-4" - d="m 65.63849,103.14876 c 0,0 -0.95952,5.60694 0,5.55816 0.95952,-0.0488 3.99469,-0.5295 3.91921,-1.5939 -0.07548,-1.06439 -0.38511,-4.01333 -0.38511,-4.01333" - id="path38" /> - <path - class="cls-4" - d="m 84.76678,66.59689 c 0,0 0.83915,4.78749 1.71679,4.54914 0.87764,-0.23835 1.32027,-0.43658 1.38119,-1.27394 0,0 0.27507,0.81129 1.12939,0.75952 0.85432,-0.05177 1.00039,-1.20242 1.00039,-1.20242 0,0 0.62609,1.25365 1.37309,1.0133 0.747,-0.24035 0.81567,-1.33909 0.81567,-1.33909 0,0 0.93684,0.66467 1.44699,0.17783 0.51015,-0.48684 0.07356,-2.69588 0,-2.98196 -0.07356,-0.28608 -0.81006,-1.27039 -0.81006,-1.27039 l -8.05344,1.56802 z" - id="path40" /> - </g> - <g - id="g166"> - <path - class="cls-1" - d="m 25.13191,9.56526 c 0,0 1.47644,2.84986 1.27042,6.11176 -0.20602,3.2619 -1.03007,5.13826 -1.03007,5.13826 0,0 -4.12029,-0.39993 -4.25763,-4.24553 -0.13734,-3.8456 1.4421,-6.31777 4.01728,-7.00449 z" - id="path44" /> - <path - class="cls-1" - d="m 31.00332,1.10981 c 0,0 -1.09874,6.25797 -1.78546,12.28218 -0.68671,6.02421 -0.89273,13.55829 -0.89273,13.55829" - id="path46" /> - <path - class="cls-1" - d="m 55.75584,21.96046 c 0,0 2.72236,-0.85032 2.92206,-4.36064 0.1997,-3.51031 -0.61804,-5.6958 -2.19749,-6.67633 0,0 -0.80744,-0.4655 -0.899,-0.44261" - id="path48" /> - <path - class="cls-1" - d="m 23.24005,10.54253 c 0.9729,-2.19093 4.0548,-8.47808 7.76327,-9.43273 0,0 3.47424,-1.93877 23.21625,2.78287 0.60265,0.14413 1.03381,0.67579 1.0469,1.29529 l 0.48938,23.17037" - id="path50" /> - <path - class="cls-1" - d="m 21.41221,30.28115 c 0,0 0.41399,-5.64784 0.82913,-10.94285" - id="path52" /> - <line - class="cls-1" - x1="8.32582" - y1="14.60336" - x2="21.10634" - y2="15.49837" - id="line54" /> - <line - class="cls-1" - x1="69.196678" - y1="16.531179" - x2="58.808979" - y2="16.00531" - id="line56" /> - <path - class="cls-1" - d="m 37.79404,6.9334 c 0,0 5.12377,-0.25234 10.03378,0.84641 4.91001,1.09874 5.38582,1.19021 5.38582,1.19021" - id="path58" /> - <path - class="cls-1" - d="m 32.94573,17.49681 c 0,0 8.66733,1.68245 12.34125,2.30049 3.67392,0.61804 6.86714,0.37769 6.86714,0.37769" - id="path60" /> - <path - class="cls-1" - d="m 43.57751,7.7798 c -0.4419,-0.15172 -2.89152,-0.34336 -4.19628,2.23182 -1.30476,2.57518 -0.85839,4.91001 1.88846,5.32204 2.74685,0.41203 3.95891,-1.97115 4.22329,-3.35743 0.17168,-0.90019 -0.53362,-3.72199 -1.91548,-4.19642 z" - id="path62" /> - <path - class="cls-1" - d="m 49.51027,11.29394 c 0,0 -1.75112,0.3658 -1.9228,2.46028 -0.17168,2.09448 2.64385,2.37337 3.19322,2.25109 0.54937,-0.12228 1.49782,-0.84269 1.73484,-2.42245 0.23702,-1.57976 -1.2294,-2.97512 -3.00526,-2.28892 z" - id="path64" /> - <path - class="cls-2" - d="m 41.40704,10.03926 c -0.41258,0.18189 -1.80271,1.76675 -0.10301,2.81586 1.69971,1.04911 2.53269,-0.13392 2.67192,-0.83011 0.13923,-0.6962 -0.4401,-2.92426 -2.56891,-1.98575 z" - id="path66" /> - <path - class="cls-2" - d="m 51.52097,12.15547 c 0,0 -0.98411,-0.41098 -1.54894,0.48554 -0.56483,0.89652 0.10163,1.90783 1.10398,2.22155 1.00234,0.31372 2.19841,-1.93319 0.44497,-2.70709 z" - id="path68" /> - <path - class="cls-1" - d="M 12.38438,69.44675 1.85374,67.86731 c 0,0 3.47839,-19.09137 11.64433,-21.66619 0,0 2.44826,4.08631 -1.11369,23.24564 z" - id="path70" /> - <path - class="cls-1" - d="m 84.40823,66.29926 8.41197,-1.27037 c 0,0 -8.04715,-16.45825 -14.6396,-16.87028" - id="path72" /> - <polygon - class="cls-1" - points="33.40682,59.26205 32.65143,63.95304 70.91472,65.32647 71.2649,59.64014 " - id="polygon74" /> - <path - class="cls-1" - d="m 12.69711,83.59307 c 0,0 23.19406,1.80938 30.04902,1.68992 6.85496,-0.11946 14.50641,-0.9519 23.87619,-2.31641 9.36978,-1.36451 20.5894,-3.21911 20.5894,-3.21911" - id="path76" /> - <path - class="cls-1" - d="m 12.24996,69.44301 c -0.21995,7.88678 -0.27478,14.05487 0.44715,19.20733 0,0 11.6239,2.95402 37.18026,1.35188 25.55636,-1.60214 37.91722,-6.01073 37.91722,-6.01073 0,0 -2.8842,-22.33328 -9.20197,-34.16477 C 72.27485,37.99523 66.98715,29.80406 52.29146,28.09691 37.59577,26.38976 29.26364,23.91759 21.4122,30.92208 c 0,0 -6.03181,4.00979 -8.06447,15.25186" - id="path78" /> - <path - class="cls-1" - d="m 41.03653,108.55126 c 2.18042,-0.3569 4.20658,-0.85809 4.68537,-1.03764 1.09874,-0.41203 3.34201,-0.32047 3.15889,-3.47935 -0.18312,-3.15889 -0.74738,-13.55583 -0.74738,-13.55583" - id="path80" /> - <path - class="cls-1" - d="m 33.63572,90.75779 c 0,0 0.61925,15.61131 1.17946,17.44255 0.3161,1.03326 3.39803,0.81305 6.22134,0.35092" - id="path82" /> - <path - class="cls-1" - d="m 62.85346,88.85406 c 0,0 -1.00902,4.37591 -1.40198,12.84538 0,0 0.06485,1.24396 2.99483,1.40026 2.92998,0.1563 9.48557,-0.0841 10.38984,-0.39307 0.90427,-0.30896 1.23852,-2.10253 1.51321,-6.70521 0.27469,-4.60268 0.54433,-9.29808 0.54433,-9.29808" - id="path84" /> - <path - class="cls-1" - d="m 38.12173,109.85931 c -2.91524,2.12241 -4.22067,5.56012 -3.30655,9.76942 0.15436,0.71079 2.15021,3.86245 7.19229,3.08417 5.04207,-0.77828 8.49934,-3.31234 8.2357,-7.42457 -0.21421,-3.34119 -2.9124,-6.94718 -6.54543,-7.27326" - id="path86" /> - <path - class="cls-1" - d="m 38.21382,109.4822 c 0,0 0.91004,5.26481 1.50798,5.44793 0.59794,0.18312 4.07729,-1.1903 4.12307,-1.78546 0.04578,-0.59516 -1.45261,-4.67261 -1.45261,-4.67261 l -4.17845,1.01013 z" - id="path88" /> - <path - class="cls-1" - d="m 65.63849,103.14876 c 0,0 -0.95952,5.60694 0,5.55816 0.95952,-0.0488 3.99469,-0.5295 3.91921,-1.5939 -0.07548,-1.06439 -0.38511,-4.01333 -0.38511,-4.01333" - id="path90" /> - <path - class="cls-1" - d="m 39.26678,114.9468 c 0,0 -0.13631,1.99769 1.76308,2.13504 1.8994,0.13734 3.86798,-0.39267 3.63907,-2.33483 -0.2289,-1.94216 -0.82406,-1.60233 -0.82406,-1.60233" - id="path92" /> - <path - class="cls-1" - d="m 65.21082,108.22073 c -0.32492,0.29812 -0.5672,0.6683 -0.62717,1.12413 -0.2289,1.73968 1.14694,3.66982 3.47935,3.51555 2.33241,-0.15427 5.0361,-1.75937 4.85278,-3.46976 -0.1459,-1.36122 -1.24844,-2.74506 -3.37717,-2.65909" - id="path94" /> - <path - class="cls-1" - d="m 3.30555,63.4217 c 0,0 5.89665,0.08882 9.73333,1.04149" - id="path96" /> - <path - class="cls-1" - d="m 2.36106,65.61122 c 0,0 3.80794,0.75755 9.96239,0.87625" - id="path98" /> - <path - class="cls-1" - d="m 83.18102,61.77961 c 0,0 5.61773,-0.75032 7.56277,-0.43405" - id="path100" /> - <path - class="cls-1" - d="m 91.76821,63.18322 c 0,0 -3.57276,0.71272 -7.94724,0.82243" - id="path102" /> - <path - class="cls-1" - d="m 32.80922,62.97313 c 0,0 10.48757,-1.3975 20.58163,-1.41054 10.09405,-0.01305 17.73245,0.37682 17.73245,0.37682" - id="path104" /> - <path - class="cls-1" - d="m 66.00801,49.60071 c 0,-0.82531 -0.28104,-3.26189 -3.2562,-2.84986 -2.97516,0.41203 -3.49019,2.51346 -3.45586,3.21387 0.03434,0.70041 0.52527,3.51593 3.45586,2.86356 2.93058,-0.65238 3.2562,-2.40224 3.2562,-3.22756 z" - id="path106" /> - <path - class="cls-1" - d="m 53.39085,49.81494 c 0,0 -0.27598,1.43992 -2.12946,1.91458 -1.85348,0.47467 -4.00145,-0.12535 -4.29196,-1.91458 -0.29051,-1.78923 1.06505,-3.567 3.21071,-3.52156 2.14566,0.04544 3.21071,1.4353 3.21071,3.52156 z" - id="path108" /> - <path - class="cls-1" - d="m 40.07257,50.4591 c 0,0 -0.42475,0.91809 -2.292,1.04275 -1.86724,0.12466 -3.11856,-0.76851 -3.31588,-2.41281 -0.19732,-1.64431 0.41856,-2.44191 2.23836,-2.88792 1.81979,-0.44601 3.3649,0.33857 3.53658,1.95749 0.17168,1.61892 -0.16706,2.30049 -0.16706,2.30049 z" - id="path110" /> - <path - class="cls-1" - d="m 47.25763,50.87821 c 0,0 0.36417,2.49943 1.22256,2.77412 0.85839,0.27469 3.87994,0.44642 5.39071,-0.72674 0,0 0.2518,-0.24438 0.16023,-0.84612 -0.09157,-0.60174 -0.41073,-2.47876 -0.64029,-2.66188" - id="path112" /> - <path - class="cls-1" - d="m 59.95691,51.92969 c 0,0 0.46034,2.45513 1.84538,2.63825 1.38504,0.18312 3.37651,0.13734 4.08612,-1.1903 0.70961,-1.32764 0.20601,-3.5627 0.20601,-3.5627" - id="path114" /> - <path - class="cls-1" - d="m 34.54385,49.51104 c 0,0 -0.03829,2.12692 0.16772,2.69918 0.20601,0.57226 2.12881,2.26616 4.46364,1.2132 0,0 0.52648,-0.27469 0.66382,-0.64093 0.13734,-0.36624 0.45148,-1.76332 0.44914,-2.83842" - id="path116" /> - <path - class="cls-1" - d="m 83.75282,117.52847 c 0,0 -6.40088,-1.0895 -15.15597,-1.09428 -8.72347,-0.005 -18.57801,0.9795 -18.57801,0.9795" - id="path118" /> - <path - class="cls-1" - d="m 66.35667,103.1474 c -2.14466,0.5142 -5.2667,2.05254 -5.29815,6.65101 -0.04795,7.01059 5.49573,6.4705 9.56802,6.5765 4.07229,0.10601 7.17977,-3.20216 7.4127,-6.35219 0.17833,-2.41174 -1.30952,-6.06313 -5.30415,-7.06694" - id="path120" /> - <path - d="m 31.48407,86.65132 c 0,0 -1.05807,-0.73359 -1.55055,0.68907 -0.49248,1.42265 1.42353,1.29901 1.72736,1.12048 0.30383,-0.17853 0.4928,-1.46626 -0.17681,-1.80955 z" - id="path122" /> - <path - d="m 16.28687,86.46223 c 0,0 -0.08363,-0.6839 0.80979,-0.80532 0.89342,-0.12143 0.92242,0.44309 0.89934,0.72737 -0.02308,0.28428 -0.07459,0.64481 -0.62396,0.83365 -0.54937,0.18884 -1.08876,-0.25815 -1.08517,-0.7557 z" - id="path124" /> - <path - d="m 51.77746,86.75527 c 0,0 0.23932,-0.63609 0.97753,-0.58458 0.73821,0.05151 0.69911,0.65502 0.65118,0.97857 -0.04793,0.32355 -0.22649,0.82899 -0.95387,0.74068 -0.72738,-0.08831 -0.72568,-0.81127 -0.67484,-1.13467 z" - id="path126" /> - <path - d="m 70.50398,85.25953 c 0,0 0.24221,0.72032 1.38423,0.48219 1.14202,-0.23813 0.56951,-1.7263 -0.11422,-1.6861 -0.68373,0.0402 -1.40993,0.17012 -1.27001,1.20391 z" - id="path128" /> - <path - d="m 82.93143,82.71436 c 0,0 0.3473,0.94157 1.31764,0.38652 0.97034,-0.55505 0.19329,-1.80616 -0.51693,-1.63555 -0.71022,0.17061 -0.94273,1.00554 -0.80072,1.24903 z" - id="path130" /> - <path - d="m 11.80965,49.94407 c 0,0 -1.14258,-0.25752 -1.39535,1.03007 -0.25277,1.28759 0.93729,1.75112 1.68994,1.35626 0.75265,-0.39486 0.27824,-2.41064 -0.29459,-2.38633 z" - id="path132" /> - <path - d="m 81.45847,51.20619 c 0,0 1.31116,0.45233 1.10596,1.6212 -0.2052,1.16887 -2.04255,0.50337 -2.05702,0.09829 -0.01447,-0.40508 -0.66423,-1.7974 0.95106,-1.71949 z" - id="path134" /> - <path - class="cls-1" - d="m 36.51321,111.35559 c 0,0 -1.42394,4.85642 0.67053,7.15691 2.09448,2.30049 7.17617,0.9614 8.89295,-1.09874 1.71679,-2.06014 0.28726,-6.77395 -2.87791,-6.83771" - id="path136" /> - <path - class="cls-1" - d="m 65.06435,106.25393 c 0,0 -2.79632,3.12527 -0.50543,5.73478 2.29089,2.60951 6.44551,2.47217 9.15803,1.03007 2.71252,-1.4421 1.81979,-5.63249 -0.13734,-6.76485 -1.95714,-1.13236 -4.04092,-1.13236 -4.04092,-1.13236" - id="path138" /> - <path - class="cls-1" - d="m 1.85374,67.86731 c 0,0 -1.60433,3.09021 -1.03779,4.18896 0.67506,1.3092 2.33483,-0.29236 2.53715,-1.1903 0.13521,-0.60008 0.33979,-1.63203 0.3505,-2.47217" - id="path140" /> - <path - class="cls-1" - d="m 7.02434,68.82751 c 0,0 -0.40031,2.08852 -1.0284,3.56314 -0.16355,0.38398 -0.69918,0.8502 -1.07687,0.91887 -0.9345,0.16991 -1.83232,-0.2209 -1.56597,-2.44356" - id="path142" /> - <path - class="cls-1" - d="m 9.8754,69.42386 c 0,0 0.00686,3.39924 -0.61093,3.93716 -0.59048,0.51415 -2.82465,0.74702 -2.88087,-1.98421" - id="path144" /> - <path - class="cls-1" - d="m 12.03389,72.76587 c 0,0 -0.26484,0.78972 -0.95983,0.84205 -0.60797,0.04578 -1.411,-0.99833 -1.3439,-1.7365" - id="path146" /> - <path - class="cls-1" - d="m 92.6972,64.92077 c 0.82809,1.09874 1.34918,3.3095 1.21723,3.91427 -0.13734,0.62949 -1.01325,0.96687 -1.67748,-0.06806 -0.66445,-1.03528 -1.10514,-2.13664 -1.47467,-3.4044" - id="path148" /> - <path - class="cls-1" - d="m 88.99415,65.59825 c 0,0 0.6245,2.46073 0.85212,3.39924 0.35565,1.46639 1.88846,2.12949 2.09448,0.56654 0.13469,-1.02181 -0.49155,-2.29438 -0.49155,-2.29438" - id="path150" /> - <path - class="cls-1" - d="m 86.91057,66.02167 c 0,0 0.29113,3.29849 1.22519,4.20578 0.76628,0.74433 1.89936,0.57265 1.65223,-1.46838" - id="path152" /> - <path - class="cls-1" - d="m 84.95023,68.59815 c 0,0 0.62561,2.80895 2.01926,2.52815 1.00572,-0.20263 0.58256,-1.93514 0.58256,-1.93514" - id="path154" /> - <path - class="cls-1" - d="m 34.52726,118.72996 c 0,0 -5.26988,0.45781 -9.20705,0" - id="path156" /> - <path - class="cls-3" - d="m 33.8484,94.4944 c 0,0 3.29194,0.68065 6.65684,0.61447 3.3649,-0.06617 7.8705,-0.61447 7.8705,-0.61447" - id="path158" /> - <path - class="cls-3" - d="m 33.89718,96.95497 c 0,0 3.24272,1.35451 6.70104,1.35451 3.45832,0 7.77752,-0.89307 7.77752,-0.89307" - id="path160" /> - <path - class="cls-1" - d="m 62.6512,93.12002 c 0,0 8.54347,1.13785 13.69815,0.24855" - id="path162" /> - <path - class="cls-1" - d="m 61.89234,95.53861 c 0,0 1.76474,0.89864 4.60979,1.08158 3.98534,0.25625 9.84723,-0.18714 9.84723,-0.18714" - id="path164" /> - </g> - </g> - <g - id="g186" - transform="translate(22.80687,13.234741)" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 142.45365 142.45364" version="1.1"><defs id="defs4"><style id="style2">.cls-1,.cls-2,.cls-3{fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round}.cls-1,.cls-3{stroke-width:1.29491px}.cls-4{fill:#fff}.cls-5{fill:#ffc432}.cls-6{fill:#ffc21a}.cls-7{fill:#b1b1b1}.cls-8{fill:#e10017}.cls-2{stroke-width:1.18701px}.cls-3{fill-rule:evenodd}</style></defs><g id="g168" transform="translate(22.807 13.235)"><g id="g42"><path id="path6" d="m84.365 66.173.043.126 8.412-1.27s-8.047-16.458-14.64-16.87c0 0-9.597-18.015-22.183-19.45l-.241-.35-.49-23.171a1.36 1.36 0 0 0-1.046-1.295C34.478-.83 31.003 1.11 31.003 1.11c-3.708.954-6.79 7.242-7.763 9.433l-.999 8.795c-.415 5.295-.56 11.343-.829 11.584 0 0-6.032 4.01-8.064 15.252l-.004.081C5.289 49.02 1.854 67.867 1.854 67.867l10.397 1.56-.001.016c-.22 7.887-.275 14.055.447 19.207 0 0 6.658 1.69 20.961 1.82.115 2.907.66 16.102 1.157 17.73.316 1.034 3.398.813 6.222.351 2.18-.357 4.206-.858 4.685-1.037 1.099-.412 3.342-.32 3.159-3.48-.16-2.765-.613-11.739-.723-13.932.568-.032 1.136-.063 1.72-.1 4.786-.3 9.11-.698 12.975-1.148 0 0-1.009 4.376-1.402 12.845 0 0 .065 1.244 2.995 1.4 2.93.157 9.486-.083 10.39-.392.904-.31 1.239-2.103 1.513-6.706.275-4.602.545-9.298.545-9.298l-.024.004c7.322-1.433 10.925-2.716 10.925-2.716s-1.1-8.517-3.43-17.818" class="cls-6"/><path id="path8" d="M1.854 67.867S.794 69.97.85 71.086s.481 1.726 1.969 1.016c0 0 .618 1.203 1.58 1.243.96.039 1.985-.9 1.985-.9s.734 1.28 1.702 1.164c.969-.115 1.79-.752 1.79-.752s.565 1 1.527.752c0 0 .412-.34.48-1.255.07-.916 0-2.701 0-2.701z" class="cls-4"/><path id="path10" d="M25.132 9.565s1.476 2.85 1.27 6.112-1.03 5.138-1.03 5.138-4.12-.4-4.257-4.245c-.138-3.846 1.442-6.318 4.017-7.005" class="cls-8"/><path id="path12" d="M55.756 21.96s2.722-.85 2.922-4.36-.618-5.696-2.198-6.677c0 0-.807-.465-.899-.442" class="cls-8"/><path id="line14" d="m8.326 14.603 12.78.895" class="cls-5"/><path id="line16" d="m69.197 16.531-10.388-.526" class="cls-5"/><path id="path18" d="M43.578 7.78c-.442-.152-2.892-.344-4.197 2.232s-.858 4.91 1.889 5.322 3.959-1.971 4.223-3.358c.172-.9-.534-3.722-1.916-4.196" class="cls-8"/><path id="path20" d="M49.51 11.294s-1.75.366-1.923 2.46c-.171 2.095 2.644 2.374 3.194 2.251.55-.122 1.93-.842 2.166-2.422.237-1.58-1.66-2.975-3.437-2.29" class="cls-8"/><path id="path22" d="M41.407 9.829c-.413.181-1.803 1.766-.103 2.815 1.7 1.05 2.696.022 2.835-.674.14-.696-.603-3.08-2.732-2.142" class="cls-6"/><path id="path24" d="M51.521 12.155s-.984-.41-1.549.486c-.565.897.102 1.908 1.104 2.222 1.002.313 2.198-1.934.445-2.708" class="cls-6"/><path id="path26" d="M50.243 115.288c-.214-3.34-2.912-6.947-6.545-7.273l-5.576 1.844c-2.915 2.123-4.22 5.56-3.307 9.77.155.71 2.15 3.862 7.192 3.084 5.043-.778 8.5-3.312 8.236-7.425m-9.213 1.794c-1.9-.138-1.763-2.135-1.763-2.135l4.578-1.802s.595-.34.824 1.602-1.74 2.472-3.64 2.335" class="cls-7"/><path id="path28" d="m72.735 102.956-6.378.191c-2.145.515-5.267 2.053-5.298 6.651-.048 7.011 5.495 6.47 9.568 6.577 4.072.106 7.18-3.202 7.412-6.352.179-2.412-1.31-6.063-5.304-7.067m-4.672 9.904c-2.332.155-3.708-1.775-3.48-3.515.06-.456.303-.826.628-1.124l4.328-1.49c2.128-.085 3.23 1.298 3.377 2.66.183 1.71-2.52 3.315-4.853 3.47" class="cls-7"/><path id="path30" d="M54.031 52.08c-.091-.602-.41-2.48-.64-2.662l-.014.003c-.128-1.865-1.19-3.085-3.197-3.128-2.145-.045-3.501 1.733-3.21 3.522.065.402.227.74.456 1.023l-.168.04s.364 2.5 1.222 2.774c.859.275 3.88.447 5.39-.726 0 0 .253-.245.161-.846" class="cls-7"/><path id="path32" d="m66.094 49.815-.097.034q.01-.135.011-.248c0-.826-.281-3.262-3.256-2.85s-3.49 2.513-3.456 3.214c.017.354.153 1.25.662 1.964h-.001s.46 2.456 1.845 2.639 3.377.137 4.086-1.19c.71-1.328.206-3.563.206-3.563" class="cls-7"/><path id="path34" d="M40.216 49.939c.065-.372.112-.952.024-1.78-.172-1.62-1.717-2.404-3.537-1.958s-2.436 1.244-2.238 2.888q.027.22.08.422h-.001s-.038 2.127.168 2.7c.206.571 2.128 2.265 4.463 1.212 0 0 .527-.274.664-.64.137-.367.452-1.764.45-2.839z" class="cls-7"/><path id="path36" d="M38.214 109.482s.91 5.265 1.508 5.448 4.077-1.19 4.123-1.785-1.453-4.673-1.453-4.673z" class="cls-4"/><path id="path38" d="M65.638 103.149s-.959 5.607 0 5.558c.96-.049 3.995-.53 3.92-1.594s-.385-4.013-.385-4.013" class="cls-4"/><path id="path40" d="M84.767 66.597s.839 4.787 1.717 4.549c.877-.238 1.32-.437 1.38-1.274 0 0 .276.811 1.13.76s1-1.203 1-1.203.627 1.254 1.374 1.013c.747-.24.815-1.339.815-1.339s.937.665 1.447.178.074-2.696 0-2.982c-.073-.286-.81-1.27-.81-1.27z" class="cls-4"/></g><g id="g166"><path id="path44" d="M25.132 9.565s1.476 2.85 1.27 6.112-1.03 5.138-1.03 5.138-4.12-.4-4.257-4.245c-.138-3.846 1.442-6.318 4.017-7.005" class="cls-1"/><path id="path46" d="M31.003 1.11s-1.098 6.258-1.785 12.282-.893 13.558-.893 13.558" class="cls-1"/><path id="path48" d="M55.756 21.96s2.722-.85 2.922-4.36-.618-5.696-2.198-6.677c0 0-.807-.465-.899-.442" class="cls-1"/><path id="path50" d="M23.24 10.543c.973-2.191 4.055-8.479 7.763-9.433 0 0 3.475-1.939 23.217 2.783a1.36 1.36 0 0 1 1.046 1.295l.49 23.17" class="cls-1"/><path id="path52" d="M21.412 30.281s.414-5.648.83-10.943" class="cls-1"/><path id="line54" d="m8.326 14.603 12.78.895" class="cls-1"/><path id="line56" d="m69.197 16.531-10.388-.526" class="cls-1"/><path id="path58" d="M37.794 6.933s5.124-.252 10.034.847 5.386 1.19 5.386 1.19" class="cls-1"/><path id="path60" d="M32.946 17.497s8.667 1.682 12.341 2.3 6.867.378 6.867.378" class="cls-1"/><path id="path62" d="M43.578 7.78c-.442-.152-2.892-.344-4.197 2.232s-.858 4.91 1.889 5.322 3.959-1.971 4.223-3.358c.172-.9-.534-3.722-1.916-4.196" class="cls-1"/><path id="path64" d="M49.51 11.294s-1.75.366-1.923 2.46c-.171 2.095 2.644 2.374 3.194 2.251.55-.122 1.498-.842 1.735-2.422s-1.23-2.975-3.006-2.29" class="cls-1"/><path id="path66" d="M41.407 10.04c-.413.181-1.803 1.766-.103 2.815 1.7 1.05 2.533-.134 2.672-.83s-.44-2.924-2.569-1.986" class="cls-2"/><path id="path68" d="M51.521 12.155s-.984-.41-1.549.486c-.565.897.102 1.908 1.104 2.222 1.002.313 2.198-1.934.445-2.708" class="cls-2"/><path id="path70" d="m12.384 69.447-10.53-1.58s3.478-19.091 11.644-21.666c0 0 2.448 4.086-1.114 23.246" class="cls-1"/><path id="path72" d="m84.408 66.3 8.412-1.271s-8.047-16.458-14.64-16.87" class="cls-1"/><path id="polygon74" d="m33.407 59.262-.756 4.691 38.264 1.373.35-5.686z" class="cls-1"/><path id="path76" d="M12.697 83.593s23.194 1.81 30.05 1.69c6.854-.12 14.506-.952 23.875-2.316 9.37-1.365 20.59-3.22 20.59-3.22" class="cls-1"/><path id="path78" d="M12.25 69.443c-.22 7.887-.275 14.055.447 19.207 0 0 11.624 2.954 37.18 1.352 25.557-1.602 37.918-6.01 37.918-6.01s-2.885-22.334-9.202-34.165c-6.318-11.832-11.606-20.023-26.302-21.73s-23.027-4.18-30.879 2.825c0 0-6.032 4.01-8.064 15.252" class="cls-1"/><path id="path80" d="M41.037 108.551c2.18-.357 4.206-.858 4.685-1.037 1.099-.412 3.342-.32 3.159-3.48-.183-3.159-.748-13.556-.748-13.556" class="cls-1"/><path id="path82" d="M33.636 90.758s.619 15.611 1.18 17.442c.315 1.034 3.397.813 6.22.351" class="cls-1"/><path id="path84" d="M62.853 88.854s-1.009 4.376-1.402 12.845c0 0 .065 1.244 2.995 1.4 2.93.157 9.486-.083 10.39-.392.904-.31 1.239-2.103 1.513-6.706.275-4.602.545-9.298.545-9.298" class="cls-1"/><path id="path86" d="M38.122 109.86c-2.916 2.122-4.22 5.56-3.307 9.769.155.71 2.15 3.862 7.192 3.084 5.043-.778 8.5-3.312 8.236-7.425-.214-3.34-2.912-6.947-6.545-7.273" class="cls-1"/><path id="path88" d="M38.214 109.482s.91 5.265 1.508 5.448 4.077-1.19 4.123-1.785-1.453-4.673-1.453-4.673z" class="cls-1"/><path id="path90" d="M65.638 103.149s-.959 5.607 0 5.558c.96-.049 3.995-.53 3.92-1.594s-.385-4.013-.385-4.013" class="cls-1"/><path id="path92" d="M39.267 114.947s-.137 1.997 1.763 2.135 3.868-.393 3.639-2.335-.824-1.602-.824-1.602" class="cls-1"/><path id="path94" d="M65.21 108.22c-.324.299-.566.669-.626 1.125-.23 1.74 1.147 3.67 3.479 3.515s5.036-1.759 4.853-3.47c-.146-1.36-1.249-2.744-3.377-2.658" class="cls-1"/><path id="path96" d="M3.306 63.422s5.896.089 9.733 1.041" class="cls-1"/><path id="path98" d="M2.361 65.611s3.808.758 9.962.876" class="cls-1"/><path id="path100" d="M83.181 61.78s5.618-.75 7.563-.434" class="cls-1"/><path id="path102" d="M91.768 63.183s-3.573.713-7.947.823" class="cls-1"/><path id="path104" d="M32.81 62.973s10.487-1.397 20.58-1.41c10.095-.013 17.733.376 17.733.376" class="cls-1"/><path id="path106" d="M66.008 49.6c0-.825-.281-3.261-3.256-2.85-2.975.413-3.49 2.514-3.456 3.215.034.7.525 3.516 3.456 2.863 2.93-.652 3.256-2.402 3.256-3.227" class="cls-1"/><path id="path108" d="M53.39 49.815s-.275 1.44-2.129 1.915c-1.853.474-4.001-.126-4.292-1.915s1.065-3.567 3.211-3.522 3.21 1.436 3.21 3.522" class="cls-1"/><path id="path110" d="M40.073 50.46s-.425.917-2.292 1.042c-1.868.125-3.119-.769-3.316-2.413-.198-1.644.418-2.442 2.238-2.888s3.365.339 3.537 1.958-.167 2.3-.167 2.3" class="cls-1"/><path id="path112" d="M47.258 50.878s.364 2.5 1.222 2.774c.859.275 3.88.447 5.39-.726 0 0 .253-.245.161-.847-.091-.601-.41-2.478-.64-2.661" class="cls-1"/><path id="path114" d="M59.957 51.93s.46 2.455 1.845 2.638 3.377.137 4.086-1.19c.71-1.328.206-3.563.206-3.563" class="cls-1"/><path id="path116" d="M34.544 49.511s-.038 2.127.168 2.7c.206.571 2.128 2.265 4.463 1.212 0 0 .527-.274.664-.64.137-.367.452-1.764.45-2.839" class="cls-1"/><path id="path118" d="M83.753 117.528s-6.401-1.089-15.156-1.094c-8.724-.005-18.578.98-18.578.98" class="cls-1"/><path id="path120" d="M66.357 103.147c-2.145.515-5.267 2.053-5.298 6.651-.048 7.011 5.495 6.47 9.568 6.577 4.072.106 7.18-3.202 7.412-6.352.179-2.412-1.31-6.063-5.304-7.067" class="cls-1"/><path id="path122" d="M31.484 86.651s-1.058-.733-1.55.69c-.493 1.422 1.423 1.298 1.727 1.12.304-.179.493-1.466-.177-1.81"/><path id="path124" d="M16.287 86.462s-.084-.684.81-.805c.893-.122.922.443.899.727-.023.285-.075.645-.624.834-.55.189-1.089-.258-1.085-.756"/><path id="path126" d="M51.777 86.755s.24-.636.978-.584c.738.051.7.655.651.978-.048.324-.226.83-.954.74-.727-.087-.725-.81-.675-1.134"/><path id="path128" d="M70.504 85.26s.242.72 1.384.482.57-1.727-.114-1.686c-.684.04-1.41.17-1.27 1.204"/><path id="path130" d="M82.931 82.714s.348.942 1.318.387.193-1.806-.517-1.636-.943 1.006-.8 1.25"/><path id="path132" d="M11.81 49.944s-1.143-.257-1.396 1.03c-.252 1.288.938 1.751 1.69 1.356.753-.394.278-2.41-.294-2.386"/><path id="path134" d="M81.458 51.206s1.312.453 1.106 1.621c-.205 1.17-2.042.504-2.057.099-.014-.405-.664-1.798.951-1.72"/><path id="path136" d="M36.513 111.356s-1.424 4.856.67 7.157c2.095 2.3 7.177.96 8.894-1.1 1.716-2.06.287-6.773-2.878-6.837" class="cls-1"/><path id="path138" d="M65.064 106.254s-2.796 3.125-.505 5.735 6.445 2.472 9.158 1.03 1.82-5.633-.137-6.765-4.041-1.132-4.041-1.132" class="cls-1"/><path id="path140" d="M1.854 67.867s-1.605 3.09-1.038 4.19c.675 1.308 2.335-.293 2.537-1.191.135-.6.34-1.632.35-2.472" class="cls-1"/><path id="path142" d="M7.024 68.828s-.4 2.088-1.028 3.563c-.164.384-.7.85-1.077.919-.934.17-1.832-.221-1.566-2.444" class="cls-1"/><path id="path144" d="M9.875 69.424s.007 3.4-.61 3.937c-.591.514-2.825.747-2.881-1.984" class="cls-1"/><path id="path146" d="M12.034 72.766s-.265.79-.96.842c-.608.046-1.41-.998-1.344-1.737" class="cls-1"/><path id="path148" d="M92.697 64.92c.828 1.1 1.35 3.31 1.217 3.915-.137.63-1.013.967-1.677-.068s-1.105-2.137-1.475-3.404" class="cls-1"/><path id="path150" d="M88.994 65.598s.625 2.461.852 3.4c.356 1.466 1.889 2.129 2.095.566.134-1.022-.492-2.294-.492-2.294" class="cls-1"/><path id="path152" d="M86.91 66.022s.292 3.298 1.226 4.205c.766.745 1.9.573 1.652-1.468" class="cls-1"/><path id="path154" d="M84.95 68.598s.626 2.81 2.02 2.528c1.005-.202.582-1.935.582-1.935" class="cls-1"/><path id="path156" d="M34.527 118.73s-5.27.458-9.207 0" class="cls-1"/><path id="path158" d="M33.848 94.494s3.292.681 6.657.615 7.87-.615 7.87-.615" class="cls-3"/><path id="path160" d="M33.897 96.955s3.243 1.354 6.701 1.354c3.459 0 7.778-.893 7.778-.893" class="cls-3"/><path id="path162" d="M62.651 93.12s8.544 1.138 13.698.249" class="cls-1"/><path id="path164" d="M61.892 95.539s1.765.898 4.61 1.081c3.985.256 9.847-.187 9.847-.187" class="cls-1"/></g></g></svg> diff --git a/src/assets/images/knowyourmeme-icon.svg b/src/assets/images/knowyourmeme-icon.svg new file mode 100644 index 00000000..db684679 --- /dev/null +++ b/src/assets/images/knowyourmeme-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3704.881 3733.965"><g transform="translate(1743.864 1673.071)"><circle cx="108.576" cy="193.904" r="1866.975" style="fill:#13133e;stroke-width:140.586;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.53144;fill-opacity:1"/><path d="M-743.183-600.259v1558.18h-191.003v361.9H-79.7v-361.9h-231.214V294.439l653.43 663.482h-180.95v361.9h989.772v-361.9h-229.21L136.434 128.567l785.692-728.826h229.211v-331.74H282.2v331.74h100.527L-310.914 58.198v-658.457H-79.7v-331.74h-854.486v331.74z" style="fill:#fff;fill-opacity:1;stroke:none;stroke-width:31.9286px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/></g></svg> \ No newline at end of file diff --git a/src/assets/images/libredirect-64.png b/src/assets/images/libredirect-64.png new file mode 100644 index 00000000..cfe1db4f --- /dev/null +++ b/src/assets/images/libredirect-64.png Binary files differdiff --git a/src/assets/images/libredirect-96.png b/src/assets/images/libredirect-96.png new file mode 100644 index 00000000..71506660 --- /dev/null +++ b/src/assets/images/libredirect-96.png Binary files differdiff --git a/src/assets/images/maps-icon-light.svg b/src/assets/images/maps-icon-light.svg index faefa200..4cb6f478 100644 --- a/src/assets/images/maps-icon-light.svg +++ b/src/assets/images/maps-icon-light.svg @@ -1,40 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="24px" - viewBox="0 0 24 24" - width="24px" - fill="currentColor" - version="1.1" - id="svg933" - sodipodi:docname="maps-icon-white.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs937" /> - <sodipodi:namedview - id="namedview935" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="32.416667" - inkscape:cx="9.0077121" - inkscape:cy="12" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg933" /> - <path - d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z" - id="path931" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fff" d="m20.5 3-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5M10 5.47l4 1.4v11.66l-4-1.4zm-5 .99 3-1.01v11.7l-3 1.16zm14 11.08-3 1.01V6.86l3-1.16z"/></svg> diff --git a/src/assets/images/maps-icon.svg b/src/assets/images/maps-icon.svg index c66a89d1..c721b602 100644 --- a/src/assets/images/maps-icon.svg +++ b/src/assets/images/maps-icon.svg @@ -1,3 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m20.5 3-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5M10 5.47l4 1.4v11.66l-4-1.4zm-5 .99 3-1.01v11.7l-3 1.16zm14 11.08-3 1.01V6.86l3-1.16z"/></svg> \ No newline at end of file diff --git a/src/assets/images/medium-icon.svg b/src/assets/images/medium-icon.svg index f77ed5bb..a286957d 100644 --- a/src/assets/images/medium-icon.svg +++ b/src/assets/images/medium-icon.svg @@ -1,62 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - viewBox="0 0 2084.3154 2084.3154" - fill="currentColor" - version="1.1" - id="svg1324" - sodipodi:docname="medium-icon.svg" - width="2084.3154" - height="2084.3154" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs1328" /> - <sodipodi:namedview - id="namedview1326" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="0.34774011" - inkscape:cx="422.72949" - inkscape:cy="1233.6799" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg1324" /> - <circle - style="fill:#000000;fill-rule:evenodd;stroke-width:6.70974;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.411765;paint-order:stroke fill markers;stop-color:#000000" - id="path1499" - cx="1042.1577" - cy="1042.1577" - r="1042.1577" /> - <circle - cx="657.15771" - cy="1042.1577" - r="500" - id="circle1318" - style="fill:#ffffff" /> - <ellipse - ry="475" - rx="250" - cy="1043.1577" - cx="1453.1577" - id="ellipse1320" - style="fill:#ffffff" /> - <ellipse - cx="1839.1577" - cy="1044.1577" - rx="88" - ry="424" - id="ellipse1322" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2084.315 2084.315"><circle cx="1042.158" cy="1042.158" r="1042.158" style="fill:#000;fill-rule:evenodd;stroke-width:6.70974;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.411765;paint-order:stroke fill markers;stop-color:#000"/><circle cx="657.158" cy="1042.158" r="500" style="fill:#fff"/><ellipse cx="1453.158" cy="1043.158" rx="250" ry="475" style="fill:#fff"/><ellipse cx="1839.158" cy="1044.158" rx="88" ry="424" style="fill:#fff"/></svg> \ No newline at end of file diff --git a/src/assets/images/meet-icon-light.svg b/src/assets/images/meet-icon-light.svg index 1e0e1804..8277ad76 100644 --- a/src/assets/images/meet-icon-light.svg +++ b/src/assets/images/meet-icon-light.svg @@ -1,39 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="24" - viewBox="0 96 960 960" - width="24" - version="1.1" - id="svg4" - sodipodi:docname="meet-icon-light.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs8" /> - <sodipodi:namedview - id="namedview6" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="32.416667" - inkscape:cx="17.861183" - inkscape:cy="12" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg4" /> - <path - d="M0 816v-63q0-43 44-70t116-27q13 0 25 .5t23 2.5q-14 21-21 44t-7 48v65H0Zm240 0v-65q0-32 17.5-58.5T307 646q32-20 76.5-30t96.5-10q53 0 97.5 10t76.5 30q32 20 49 46.5t17 58.5v65H240Zm540 0v-65q0-26-6.5-49T754 659q11-2 22.5-2.5t23.5-.5q72 0 116 26.5t44 70.5v63H780Zm-455-80h311q-10-20-55.5-35T480 686q-55 0-100.5 15T325 736ZM160 616q-33 0-56.5-23.5T80 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T160 616Zm640 0q-33 0-56.5-23.5T720 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T800 616Zm-320-40q-50 0-85-35t-35-85q0-51 35-85.5t85-34.5q51 0 85.5 34.5T600 456q0 50-34.5 85T480 576Zm0-80q17 0 28.5-11.5T520 456q0-17-11.5-28.5T480 416q-17 0-28.5 11.5T440 456q0 17 11.5 28.5T480 496Zm1 240Zm-1-280Z" - id="path2" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 96 960 960"><path fill="#fff" d="M0 816v-63q0-43 44-70t116-27q13 0 25 .5t23 2.5q-14 21-21 44t-7 48v65zm240 0v-65q0-32 17.5-58.5T307 646t76.5-30 96.5-10q53 0 97.5 10t76.5 30 49 46.5 17 58.5v65zm540 0v-65q0-26-6.5-49T754 659q11-2 22.5-2.5t23.5-.5q72 0 116 26.5t44 70.5v63zm-455-80h311q-10-20-55.5-35T480 686t-100.5 15-54.5 35M160 616q-33 0-56.5-23.5T80 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T160 616m640 0q-33 0-56.5-23.5T720 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T800 616m-320-40q-50 0-85-35t-35-85q0-51 35-85.5t85-34.5q51 0 85.5 34.5T600 456q0 50-34.5 85T480 576m0-80q17 0 28.5-11.5T520 456t-11.5-28.5T480 416t-28.5 11.5T440 456t11.5 28.5T480 496m0-40"/></svg> diff --git a/src/assets/images/meet-icon.svg b/src/assets/images/meet-icon.svg index 170f1023..74af6ccf 100644 --- a/src/assets/images/meet-icon.svg +++ b/src/assets/images/meet-icon.svg @@ -1 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24" viewBox="0 96 960 960" width="24"><path d="M0 816v-63q0-43 44-70t116-27q13 0 25 .5t23 2.5q-14 21-21 44t-7 48v65H0Zm240 0v-65q0-32 17.5-58.5T307 646q32-20 76.5-30t96.5-10q53 0 97.5 10t76.5 30q32 20 49 46.5t17 58.5v65H240Zm540 0v-65q0-26-6.5-49T754 659q11-2 22.5-2.5t23.5-.5q72 0 116 26.5t44 70.5v63H780Zm-455-80h311q-10-20-55.5-35T480 686q-55 0-100.5 15T325 736ZM160 616q-33 0-56.5-23.5T80 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T160 616Zm640 0q-33 0-56.5-23.5T720 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T800 616Zm-320-40q-50 0-85-35t-35-85q0-51 35-85.5t85-34.5q51 0 85.5 34.5T600 456q0 50-34.5 85T480 576Zm0-80q17 0 28.5-11.5T520 456q0-17-11.5-28.5T480 416q-17 0-28.5 11.5T440 456q0 17 11.5 28.5T480 496Zm1 240Zm-1-280Z"/></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 96 960 960"><path d="M0 816v-63q0-43 44-70t116-27q13 0 25 .5t23 2.5q-14 21-21 44t-7 48v65zm240 0v-65q0-32 17.5-58.5T307 646t76.5-30 96.5-10q53 0 97.5 10t76.5 30 49 46.5 17 58.5v65zm540 0v-65q0-26-6.5-49T754 659q11-2 22.5-2.5t23.5-.5q72 0 116 26.5t44 70.5v63zm-455-80h311q-10-20-55.5-35T480 686t-100.5 15-54.5 35M160 616q-33 0-56.5-23.5T80 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T160 616m640 0q-33 0-56.5-23.5T720 536q0-34 23.5-57t56.5-23q34 0 57 23t23 57q0 33-23 56.5T800 616m-320-40q-50 0-85-35t-35-85q0-51 35-85.5t85-34.5q51 0 85.5 34.5T600 456q0 50-34.5 85T480 576m0-80q17 0 28.5-11.5T520 456t-11.5-28.5T480 416t-28.5 11.5T440 456t11.5 28.5T480 496m0-40"/></svg> \ No newline at end of file diff --git a/src/assets/images/pastebin-icon-light.svg b/src/assets/images/pastebin-icon-light.svg new file mode 100644 index 00000000..406714df --- /dev/null +++ b/src/assets/images/pastebin-icon-light.svg @@ -0,0 +1,101 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + fill="#000000" + width="800px" + height="800px" + viewBox="0 0 24 24" + role="img" + version="1.1" + id="svg1" + sodipodi:docname="pastebin-icon.svg" + inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <defs + id="defs1" /> + <sodipodi:namedview + id="namedview1" + pagecolor="#ffffff" + bordercolor="#000000" + borderopacity="0.25" + inkscape:showpageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:deskcolor="#d1d1d1" + inkscape:zoom="1.3225" + inkscape:cx="576.55955" + inkscape:cy="353.49716" + inkscape:window-width="2560" + inkscape:window-height="1316" + inkscape:window-x="-12" + inkscape:window-y="-12" + inkscape:window-maximized="1" + inkscape:current-layer="svg1" /> + <title + id="title1">Pastebin icon</title> + <path + d="M17.02 0a2.096 2.096 0 00-.723.123L2.623 5.003A2.101 2.101 0 001.35 7.69l5.324 14.916a2.101 2.101 0 002.685 1.272l7.746-2.765c.792-.307 1.345-.534 1.464-.608.543-.314.962-.817 1.964-2.334.904-1.362 1.859-3.323 2.097-4.28.24-.97.239-1.48-.502-3.675h.001l-3.147-8.82A2.102 2.102 0 0017.02 0zm-.084.414c.72-.031 1.4.403 1.657 1.12l3.147 8.82.008-.003c.271.763.497 1.415.526 1.54.102.433-.282 1.147-.737 1.35-.2.1-.71.293-1.142.429-1.397.464-2.05.879-2.458 1.548-.363.591-.315 1.18.16 2.377.462 1.142.533 1.864.225 2.4-.113.188-.301.322-1.354.733l-.002-.005-7.746 2.765a1.68 1.68 0 01-2.157-1.022L1.74 7.55a1.68 1.68 0 011.022-2.157L16.436.513c.165-.06.334-.092.5-.099zM15.9 2.25l-.708.515-.495.37.113.314.074.205.523-.316.4 1.112.403 1.123-.359.129-.337.12c.045.145.216.642.238.664l2.166-.779-.238-.663-.244.088-.443.16-.334-.93zm-3.29 1.182l-.709.515-.494.37.113.314.073.205.524-.316.4 1.112.403 1.123-.36.129-.337.121c.046.144.216.64.238.663l2.167-.778-.238-.663-.244.087-.443.16-.334-.93zM9.084 4.786a1.532 1.532 0 00-.8.223c-.732.448-.85 1.383-.332 2.558.337.776.873 1.218 1.462 1.215 1.345-.007 1.86-1.399 1.085-2.95-.307-.66-.837-1.036-1.415-1.046zm-.191.672c.168-.009.357.085.539.279.145.155.347.51.437.787.35.998.164 1.688-.414 1.546C8.854 7.93 8.21 6 8.62 5.585a.407.407 0 01.273-.127zm-3.765.75a1.532 1.532 0 00-.8.223c-.732.448-.85 1.382-.332 2.557.337.777.873 1.218 1.462 1.215 1.344-.007 1.86-1.398 1.085-2.95-.307-.66-.838-1.036-1.415-1.045zm-.192.672c.168-.01.358.085.54.278.145.155.347.51.437.787.35.999.164 1.689-.415 1.547-.6-.141-1.243-2.072-.834-2.485a.407.407 0 01.272-.127zm13.362.655a1.533 1.533 0 00-.8.223c-.732.448-.85 1.382-.332 2.558.337.776.873 1.218 1.462 1.215 1.345-.007 1.86-1.399 1.085-2.95-.307-.66-.837-1.036-1.415-1.046zm-.191.672c.168-.009.357.085.539.278.145.155.347.51.437.787.35.999.164 1.689-.414 1.547-.601-.141-1.244-2.072-.835-2.485a.407.407 0 01.273-.127zm-3.766.75a1.532 1.532 0 00-.8.222c-.73.448-.848 1.383-.331 2.558.337.776.873 1.218 1.462 1.215 1.344-.007 1.86-1.398 1.085-2.95-.307-.66-.838-1.036-1.416-1.045zm-.19.671c.167-.009.357.085.539.279.145.155.347.51.437.787.35.998.164 1.688-.415 1.547-.6-.142-1.244-2.072-.835-2.485a.408.408 0 01.273-.128zm-3.746.743a1.533 1.533 0 00-.8.223c-.732.448-.85 1.382-.332 2.557.337.777.873 1.219 1.462 1.216 1.345-.007 1.86-1.399 1.085-2.951-.307-.66-.838-1.036-1.415-1.045zm-.192.672c.169-.01.358.085.54.278.145.155.347.51.437.787.35.999.164 1.689-.414 1.547-.601-.141-1.244-2.072-.835-2.485a.407.407 0 01.272-.127zm-3.515.616l-.708.515-.495.369.113.314.074.206.524-.316.399 1.112.403 1.122-.359.13-.337.12c.045.145.216.641.238.663l2.166-.778-.238-.663-.244.088-.443.159-.334-.93zm15.664 1.33c.034 0 .049.047.064.135.023.11-.064.545-.195.957-.469 1.436-2.052 4.224-3.079 5.397l-.408.47.051-.667c.03-.567-.016-.812-.377-1.71-.496-1.263-.533-1.73-.158-2.31.341-.514 1.028-.907 2.448-1.371.72-.238 1.175-.463 1.385-.664.132-.145.207-.22.253-.235a.05.05 0 01.015-.003zm-6.429 1.477l-.708.515-.495.37.113.314.074.205.523-.316.4 1.112.403 1.123-.359.129-.337.12c.045.145.216.642.238.664l2.166-.779-.238-.662-.244.087-.443.16-.334-.93zm-3.579 1.33a1.532 1.532 0 00-.8.223c-.731.448-.849 1.382-.332 2.558.337.776.873 1.218 1.462 1.215 1.345-.007 1.86-1.399 1.086-2.95-.307-.66-.838-1.036-1.416-1.046zm-.191.672c.168-.009.358.085.54.279.144.154.346.51.437.787.35.998.164 1.688-.415 1.546-.6-.141-1.244-2.072-.835-2.485a.407.407 0 01.273-.127zm-3.515.616l-.71.515-.494.37.113.313.074.206.524-.316.4 1.112.403 1.122-.36.13-.337.12c.045.145.216.642.238.664l2.166-.779-.238-.663-.244.088-.443.16-.334-.93z" + id="path1" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 279.27013,785.23388 c -6.44477,-1.16159 -15.83952,-4.96099 -21.38867,-8.65006 -7.54802,-5.01792 -15.01204,-13.33726 -18.79768,-20.95171 C 235.28985,748.001 57.160329,248.89816 56.010178,242.67642 51.618831,218.92144 64.293703,193.51301 85.727784,183.10362 90.672621,180.70218 541.53595,19.415032 552.74102,16.039178 c 6.58236,-1.983128 20.2701,-2.141832 27.22117,-0.315618 16.15821,4.245152 30.81215,16.386799 37.45063,31.030036 0.97444,2.149416 25.07724,69.238844 53.56178,149.087614 28.48455,79.84877 53.13667,148.75236 54.78251,153.11909 1.64585,4.36673 6.12511,17.12666 9.95392,28.35539 6.84017,20.06009 6.95514,20.5149 6.59741,26.09787 -0.66628,10.39821 -7.4581,23.8563 -15.8448,31.39666 -6.53195,5.87278 -14.56019,9.41562 -44.7943,19.76753 -19.69095,6.74204 -28.83342,10.31944 -40.08144,15.68372 -23.17173,11.05078 -37.21371,23.49516 -46.21683,40.95856 -4.50301,8.73451 -5.87643,15.66767 -5.36155,27.06554 0.60359,13.36171 3.5401,24.09301 14.40459,52.64071 9.27998,24.38422 12.29606,38.17149 11.64005,53.20961 -0.40655,9.31969 -1.48776,13.83134 -4.93309,20.58475 -3.39185,6.64856 -11.58635,11.83099 -31.91502,20.18391 -11.1918,4.59864 -265.84814,95.72623 -275.61437,98.62732 -6.83669,2.03085 -18.11701,2.82027 -24.32155,1.70201 z m 40.95671,-87.34869 c 19.54632,-7.00144 35.61534,-12.76982 35.70893,-12.81861 0.0936,-0.0488 -1.66884,-5.17283 -3.91653,-11.38672 -3.20602,-8.86326 -4.35557,-11.24715 -5.3343,-11.06201 -0.68618,0.12979 -5.72903,1.88262 -11.20634,3.89516 -5.47731,2.01255 -10.18961,3.43754 -10.47176,3.16666 -0.28217,-0.27089 -8.5645,-22.94999 -18.40518,-50.39801 -9.84068,-27.44801 -18.00082,-50.0167 -18.13364,-50.15264 -0.57456,-0.58807 -40.4529,29.07041 -40.4529,30.08579 0,1.0021 5.43829,16.19041 6.04677,16.88768 0.28872,0.33085 4.32806,-1.67473 8.97633,-4.45684 4.64825,-2.78211 8.55765,-4.92426 8.68755,-4.76033 0.18579,0.23447 9.08754,24.98282 25.97292,72.20908 0.17262,0.48279 -4.41123,2.52575 -10.89315,4.85495 -6.15514,2.21177 -11.34072,4.14123 -11.52348,4.28769 -1.00508,0.80536 7.39675,23.11922 8.54552,22.69547 0.47328,-0.17457 16.85295,-6.04587 36.39926,-13.04732 z m 116.37353,-39.64356 c 15.58691,-3.98646 26.74522,-14.68689 31.9536,-30.64239 1.6441,-5.03656 2.03477,-7.88446 2.33384,-17.01323 0.56725,-17.3149 -2.54565,-30.58871 -11.46274,-48.87842 -7.49034,-15.36334 -15.85653,-24.55474 -27.8702,-30.61922 -22.05753,-11.13461 -52.35358,-1.58408 -62.81135,19.80065 -4.2477,8.68598 -5.34762,13.93554 -5.29943,25.29245 0.048,11.3098 1.19238,17.60071 5.63958,31.00189 8.59765,25.90809 22.38365,43.6418 39.02627,50.20171 4.93339,1.94457 6.1573,2.12769 15.02053,2.24731 5.40895,0.073 9.32935,-0.33178 13.4699,-1.39075 z m 125.9394,-47.40455 c 19.35549,-6.93186 35.4316,-12.80303 35.72468,-13.04707 0.54516,-0.4539 -6.56765,-21.12186 -7.64333,-22.20953 -0.3269,-0.33054 -5.43751,1.15701 -11.35691,3.30566 -6.06449,2.20132 -11.04169,3.61891 -11.40204,3.24749 -0.35173,-0.36253 -8.6208,-22.87735 -18.37572,-50.03293 -9.75492,-27.15557 -17.93726,-49.57482 -18.18298,-49.82054 -0.24572,-0.24573 -3.43395,1.70789 -7.08495,4.34135 -6.07717,4.38347 -32.71533,24.01178 -33.39393,24.6063 -0.15989,0.14009 1.15852,4.35036 2.92981,9.35617 l 3.22054,9.10146 2.36319,-1.44485 c 1.29976,-0.79468 5.25192,-3.1744 8.78258,-5.2883 l 6.41939,-3.84342 0.97344,2.82742 c 0.53541,1.55507 6.44654,18.07293 13.13586,36.70633 6.68932,18.6334 12.0393,33.98138 11.88883,34.10662 -0.15047,0.12524 -5.29248,2.01967 -11.4267,4.20985 -6.13421,2.19017 -11.15312,4.21692 -11.15312,4.50389 0,0.6566 3.8244,11.86162 6.0172,17.62965 0.90909,2.3913 2.03977,4.34782 2.51262,4.34782 0.47285,0 16.69604,-5.67151 36.05154,-12.60337 z M 255.19849,517.05779 c 19.13043,-6.8679 35.00094,-12.70737 35.26779,-12.9766 0.44578,-0.44975 -6.77905,-21.41659 -7.69039,-22.31789 -0.21994,-0.21752 -5.42979,1.42484 -11.57742,3.64971 -11.03303,3.99293 -11.18543,4.02417 -11.78883,2.4163 -0.33621,-0.89591 -8.49527,-23.56117 -18.13124,-50.36722 -9.63597,-26.80607 -17.6625,-48.88084 -17.83671,-49.05507 -0.17423,-0.17421 -2.62763,1.37789 -5.45201,3.44912 -21.12983,15.49535 -34.67748,25.44743 -34.97069,25.6894 -0.36663,0.30257 4.1551,13.79541 5.58254,16.65825 0.83374,1.67216 0.92681,1.63895 9.0056,-3.21361 4.48974,-2.69677 8.40367,-4.90322 8.69763,-4.90322 0.38023,0 21.11011,56.80686 26.37808,72.28484 0.16138,0.47414 -4.50971,2.53333 -10.90729,4.80834 -6.15425,2.1885 -11.30958,4.09038 -11.4563,4.22641 -0.29399,0.27258 1.89899,7.1433 5.37401,16.83699 1.81557,5.0646 2.49289,6.1896 3.48787,5.79323 0.67911,-0.27053 16.88692,-6.11108 36.01736,-12.97898 z M 371.57202,477.5233 c 3.21221,-0.82155 7.94528,-2.5944 10.51792,-3.93967 5.94874,-3.11066 14.50965,-11.66028 17.65231,-17.629 9.21941,-17.51006 8.65656,-41.91679 -1.54582,-67.03225 -10.22284,-25.16583 -24.07876,-38.74857 -43.51168,-42.65384 -10.57016,-2.1242 -19.44451,-0.77043 -30.94983,4.72135 -12.34188,5.89109 -20.44742,15.90694 -24.05838,29.72845 -1.72054,6.58564 -1.7031,20.85758 0.0364,29.75123 1.9929,10.18949 6.03297,21.75774 11.3958,32.63062 9.40244,19.06296 21.66662,30.8471 36.1688,34.75309 5.9442,1.60099 17.3502,1.44607 24.29451,-0.32998 z m 133.91002,-47.95687 c 28.69137,-9.07947 39.60962,-41.75464 26.78637,-80.16388 -2.90793,-8.71005 -8.64791,-20.78488 -12.83764,-27.0057 -7.0226,-10.42699 -17.57099,-18.6387 -28.31546,-22.04304 -4.27632,-1.35493 -7.03588,-1.67166 -14.36673,-1.64897 -7.9341,0.0246 -9.83256,0.29272 -15.11561,2.13507 -22.10142,7.7074 -33.13142,25.13059 -31.89936,50.38882 0.69899,14.32975 4.66313,28.70353 12.21837,44.30319 9.83922,20.31549 23.95616,32.92064 40.46768,36.13396 4.69198,0.91311 17.11687,-0.21797 23.06238,-2.09945 z m 127.64807,-46.18544 c 11.74851,-2.48935 23.44548,-10.86546 29.06068,-20.8101 4.64914,-8.23374 6.43127,-15.17626 6.82771,-26.59826 0.57479,-16.56008 -2.09991,-29.30663 -9.67056,-46.08592 -8.22569,-18.23113 -18.5176,-29.61079 -32.01172,-35.39505 -17.21714,-7.38013 -39.1577,-2.98009 -52.74892,10.57845 -10.89259,10.8664 -15.21693,26.6553 -12.5179,45.70494 2.38598,16.84015 9.71775,36.26939 18.78767,49.78751 7.2137,10.75153 19.15668,19.97658 29.44444,22.74358 5.28148,1.42051 16.3071,1.45667 22.8286,0.0748 z m -441.3577,-43.87908 c 14.61662,-2.48313 26.57241,-11.22303 32.70583,-23.90855 4.48928,-9.28502 5.66401,-14.97338 5.67971,-27.50262 0.0194,-15.486 -3.03474,-28.13586 -10.73378,-44.45782 -8.60185,-18.23591 -19.08309,-28.83796 -33.98633,-34.37807 -6.82334,-2.5365 -18.63547,-3.14823 -26.2696,-1.36047 -18.21961,4.26669 -31.90069,17.72191 -35.5549,34.96795 -1.43254,6.76089 -1.41025,19.53018 0.0488,27.92709 0.64175,3.69342 2.5254,10.78486 4.18589,15.75875 10.23213,30.64972 25.66692,48.54544 45.68699,52.97135 6.087,1.34567 10.23619,1.34166 18.23744,-0.0176 z m 133.74744,-47.62996 c 16.7879,-3.51257 28.97611,-15.12486 34.52411,-32.89274 1.56882,-5.02428 1.769,-7.13718 1.75512,-18.52552 -0.0139,-11.38891 -0.24536,-13.76484 -2.03026,-20.8396 -3.65639,-14.49273 -11.78294,-31.96741 -18.96173,-40.77374 -10.88887,-13.35757 -25.85924,-20.38565 -41.3742,-19.42379 -21.187,1.3135 -38.41258,14.83657 -43.50789,34.15622 -3.09244,11.72544 -1.90606,27.91936 3.21295,43.85633 8.50825,26.48864 20.66783,43.44597 37.08897,51.723 7.38327,3.72152 19.24273,4.82266 29.29293,2.71984 z m 125.91404,-48.76162 c 19.66492,-7.06436 35.91636,-13.00627 36.11433,-13.20423 0.61905,-0.61905 -6.96865,-21.73594 -7.95025,-22.12587 -0.51224,-0.20348 -5.74576,1.3776 -11.63005,3.51351 -5.8843,2.13591 -10.79496,3.78618 -10.91259,3.66727 -0.11763,-0.11892 -8.03916,-21.99315 -17.60342,-48.6094 -9.56426,-26.61626 -17.75305,-49.33277 -18.19732,-50.48113 l -0.80778,-2.08794 -7.76593,5.59954 c -4.27127,3.07975 -13.42184,9.80382 -20.3346,14.94238 l -12.56864,9.34284 3.11312,8.88468 c 1.71222,4.88658 3.37368,8.88469 3.69214,8.88469 0.31845,0 4.1866,-2.22993 8.59591,-4.95539 4.40929,-2.72547 8.21235,-4.75994 8.45124,-4.52105 0.5351,0.5351 26.485,72.53317 26.24668,72.8215 -0.13727,0.1661 -7.3005,2.78895 -22.10789,8.09493 -0.66235,0.23734 -0.0508,2.87272 2.14332,9.2358 3.38678,9.82205 4.96973,13.84217 5.45044,13.84217 0.1743,0 16.40638,-5.77993 36.07129,-12.8443 z M 562.00378,203.3846 c 19.44234,-6.97889 35.34972,-13.01008 35.34972,-13.40264 0,-0.39256 -1.73919,-5.59109 -3.86486,-11.55229 l -3.86487,-10.83853 -8.42247,3.04468 c -4.63236,1.67458 -9.75155,3.52597 -11.37596,4.11421 -1.62442,0.58824 -3.03155,0.98082 -3.12695,0.87241 -0.0954,-0.10841 -8.23119,-22.65458 -18.07954,-50.10259 -9.84835,-27.448016 -18.13876,-50.136311 -18.42314,-50.418435 -0.4331,-0.429652 -12.76504,8.366388 -36.22322,25.837035 l -4.55976,3.39592 3.05984,8.70238 c 1.68292,4.78631 3.16421,8.83651 3.29176,9.00043 0.12754,0.16392 4.03502,-1.97822 8.68328,-4.76033 4.64826,-2.78211 8.68965,-4.78769 8.98086,-4.45684 0.2912,0.33085 5.22021,13.70173 10.95334,29.71307 5.73314,16.01134 11.54862,32.22487 12.92331,36.03007 l 2.49942,6.91853 -9.97789,3.5744 c -5.48783,1.96592 -10.74,3.86174 -11.6715,4.21294 l -1.69361,0.63854 3.73557,10.61928 c 4.20994,11.96781 4.3848,12.3395 5.58826,11.87904 0.47778,-0.18282 16.77607,-6.04239 36.21841,-13.02128 z" + id="path2" + transform="scale(0.03)" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 281.66352,785.58866 c -0.83176,-0.19161 -3.30177,-0.71032 -5.48893,-1.15282 -14.21839,-2.87637 -29.63961,-14.51697 -36.59327,-27.62224 -1.51951,-2.86374 -12.46509,-32.42797 -24.32351,-65.69829 C 203.39938,657.84499 162.90014,544.32375 125.25951,438.84588 87.618878,333.36802 56.456707,245.09192 56.010242,242.67676 c -4.391488,-23.75574 8.289567,-49.1755 29.717542,-59.57018 2.96314,-1.43742 47.410216,-17.59645 98.771266,-35.90896 51.36106,-18.31252 153.61059,-54.809771 227.22118,-81.105014 73.61058,-26.295243 136.55954,-48.653191 139.88658,-49.68433 4.88776,-1.514853 7.71863,-1.884512 14.7448,-1.925393 10.55625,-0.06142 15.72303,1.15615 25.70888,6.058406 6.07877,2.984191 8.23366,4.582822 14.01358,10.396176 5.47437,5.506025 7.46052,8.145572 10.0054,13.29694 1.74635,3.534971 26.8607,72.778825 55.80967,153.875235 28.94897,81.09641 54.34269,152.21172 56.4305,158.03403 2.0878,5.8223 6.16854,17.56143 9.06831,26.08695 5.07625,14.92454 5.259,15.71224 4.91436,21.18294 -0.65447,10.38878 -7.44548,23.85046 -15.83867,31.39666 -6.401,5.75504 -14.3612,9.34099 -41.01941,18.4786 -33.02961,11.32153 -47.52147,17.66664 -61.21603,26.80281 -17.59101,11.73564 -29.89384,27.73176 -33.37976,43.40031 -1.7309,7.78004 -1.08924,21.16743 1.51063,31.51751 2.16049,8.60091 6.28077,20.94419 11.23471,33.65623 9.51805,24.42379 12.2663,36.10112 12.27725,52.16608 0.008,12.42019 -0.5996,15.54599 -4.56576,23.47081 -3.52039,7.0341 -12.50154,12.77062 -32.85536,20.98566 -11.95346,4.82455 -272.78275,97.90186 -277.8828,99.16289 -3.98696,0.98586 -16.33633,1.72899 -18.90359,1.13754 z m 37.43156,-87.33072 c 19.6969,-7.09236 36.04565,-13.03925 36.33053,-13.21532 0.79074,-0.4887 -6.96442,-21.62046 -8.0935,-22.05374 -0.54384,-0.20868 -5.67408,1.31925 -11.40053,3.39541 -5.72645,2.07616 -10.64506,3.55614 -10.93024,3.28884 -0.28517,-0.26729 -8.57164,-22.94345 -18.41436,-50.39147 -9.84272,-27.44801 -18.00039,-50.0167 -18.12815,-50.15264 -0.55895,-0.59471 -40.44371,29.07528 -40.44371,30.08579 0,0.96674 5.42696,16.17649 6.01394,16.85485 0.27066,0.31279 4.21136,-1.64373 8.75713,-4.34783 4.54576,-2.70409 8.44106,-4.91359 8.65624,-4.90999 0.92213,0.0154 26.48165,72.86992 25.72828,73.33552 -0.43807,0.27075 -5.55192,2.16876 -11.36412,4.21782 -5.8122,2.04906 -10.56824,4.08706 -10.56896,4.52889 -0.002,1.39873 7.3608,22.25905 7.85682,22.25905 0.10344,0 16.30372,-5.80284 36.00063,-12.89518 z m 117.50529,-40.01631 c 8.15524,-2.08576 14.36529,-5.57962 20.15687,-11.34053 5.73744,-5.70707 8.8375,-10.80583 11.73555,-19.30186 1.75328,-5.13996 2.11678,-7.66439 2.41845,-16.79588 0.56062,-16.96962 -2.44758,-30.29079 -10.745,-47.58198 -8.72417,-18.1805 -18.35033,-28.16279 -32.73426,-33.94528 -21.06948,-8.47016 -49.05259,1.90057 -58.7716,21.78116 -4.16267,8.51488 -5.26425,13.82063 -5.21629,25.12421 0.0455,10.72551 1.14389,17.17485 4.95798,29.11154 9.22197,28.86141 25.06709,48.22497 43.66317,53.35864 5.51461,1.52238 17.78103,1.31739 24.53513,-0.41002 z m 122.49524,-46.23448 c 17.50686,-6.28831 33.60336,-12.09214 35.76999,-12.89739 l 3.93933,-1.46408 -3.76829,-10.7123 c -2.07256,-5.89175 -4.03926,-10.98326 -4.37045,-11.31445 -0.3312,-0.33119 -5.45336,1.14778 -11.38259,3.2866 -6.0997,2.20031 -11.06079,3.60224 -11.42615,3.22886 -0.35514,-0.36295 -8.36026,-22.09658 -17.78914,-48.29696 -9.42888,-26.20038 -17.48178,-48.57278 -17.89533,-49.71645 -0.41356,-1.14366 -0.97383,-2.07783 -1.24506,-2.07593 -0.27122,0.002 -8.82962,6.14518 -19.01866,13.65173 -10.18903,7.50655 -19.16701,14.11937 -19.95107,14.69515 -1.37754,1.01162 -1.32662,1.3314 1.51229,9.4964 1.61581,4.64725 3.31257,8.59806 3.77056,8.77959 0.45801,0.18154 4.53757,-1.89525 9.06569,-4.61508 l 8.23296,-4.94515 0.90293,2.60805 c 0.49661,1.43442 6.41158,17.94878 13.14438,36.69859 6.7328,18.7498 12.1146,34.19676 11.95955,34.32658 -0.15504,0.12983 -5.3008,2.028 -11.43502,4.21818 -6.13421,2.19017 -11.15312,4.21692 -11.15312,4.50389 0,0.6566 3.8244,11.86162 6.0172,17.62965 0.90909,2.3913 2.02109,4.34782 2.4711,4.34782 0.45002,0 15.14202,-5.14498 32.6489,-11.4333 z M 255.89965,516.76106 c 24.79996,-8.91844 34.45993,-12.71306 34.46102,-13.53692 0.002,-1.2808 -6.74978,-20.5205 -7.47672,-21.3065 -0.25536,-0.27611 -5.50722,1.29911 -11.6708,3.50047 -11.02378,3.93722 -11.21647,3.97623 -11.81673,2.39238 -0.33561,-0.88556 -8.4995,-23.55038 -18.14196,-50.36628 -9.64248,-26.81589 -17.66362,-48.88804 -17.8248,-49.0492 -0.16117,-0.16117 -6.51957,4.27289 -14.12977,9.85347 -7.61022,5.58058 -16.62276,12.17068 -20.02789,14.64467 -3.40513,2.47398 -6.213,4.83842 -6.23972,5.2543 -0.10405,1.61926 5.67719,16.46533 6.54176,16.79909 0.5039,0.19453 4.34771,-1.7193 8.54179,-4.25294 4.19407,-2.53365 7.8747,-4.60664 8.17916,-4.60664 0.39346,0 21.41575,57.58313 26.38955,72.28484 0.16024,0.47366 -4.51784,2.53561 -10.90899,4.80834 -6.15425,2.1885 -11.30988,4.09067 -11.45696,4.22707 -0.2889,0.26791 4.74976,15.73261 6.48172,19.8938 0.86116,2.06899 1.3868,2.47408 2.84795,2.19476 0.98554,-0.18841 17.29867,-5.91902 36.25139,-12.73471 z m 114.09246,-38.86211 c 14.51473,-3.07549 26.36084,-13.08622 32.04815,-27.08278 5.61784,-13.82559 5.52968,-33.79203 -0.22996,-52.07964 -6.46835,-20.53782 -17.03069,-36.88318 -28.95748,-44.8121 -6.61801,-4.39965 -10.81122,-6.1546 -18.36062,-7.6843 -19.55742,-3.96284 -42.40123,6.80315 -50.77703,23.93055 -4.06813,8.31878 -5.28817,13.96419 -5.30257,24.53631 -0.0211,15.46382 3.98747,30.70807 12.72519,48.3932 9.34441,18.91305 21.76775,30.88957 36.01709,34.7217 5.28934,1.42248 16.31196,1.45968 22.83723,0.0771 z m 133.16631,-47.65241 c 18.02863,-4.76904 29.95381,-18.62393 33.51179,-38.93462 4.54677,-25.95522 -9.26115,-65.56341 -28.34338,-81.30333 -14.55241,-12.00351 -32.1863,-14.90874 -49.34762,-8.13016 -27.18535,10.73797 -36.26764,39.12539 -24.21805,75.69542 10.16965,30.86451 26.19731,49.41288 46.52428,53.84131 4.19467,0.91385 16.48233,0.25735 21.87298,-1.16862 z M 633.1727,383.37208 c 16.43042,-3.48103 29.40081,-16.10686 34.18576,-33.27756 1.91301,-6.86481 2.29535,-23.46108 0.74942,-32.53042 -2.56808,-15.06596 -10.83849,-34.75128 -19.18973,-45.67565 -12.98472,-16.9855 -31.967,-24.21967 -51.47738,-19.6181 -1.91945,0.4527 -6.67499,2.34342 -10.56786,4.20158 -12.34372,5.89198 -20.45695,15.91881 -24.05482,29.72845 -1.73858,6.67319 -1.73109,20.93619 0.0156,29.75123 3.19026,16.10002 11.72622,36.12614 20.14643,47.26531 7.58666,10.03646 17.75906,17.51771 27.31272,20.08701 5.30194,1.42588 16.31652,1.45868 22.87982,0.0682 z M 195.46314,338.75597 c 16.72909,-4.27939 29.05684,-17.12472 33.38457,-34.78622 1.81813,-7.41987 1.79476,-24.25293 -0.0457,-32.89225 -4.24116,-19.90852 -13.76379,-39.21655 -24.54916,-49.77572 -9.65215,-9.44972 -19.19532,-13.73245 -31.85209,-14.29441 -14.47409,-0.64264 -26.77413,3.9703 -36.61746,13.73282 -14.74894,14.62786 -17.36322,37.39794 -7.65928,66.71172 7.84644,23.70264 20.73639,41.28951 35.63978,48.62643 9.33819,4.59718 20.50725,5.54062 31.69934,2.67763 z M 328.9225,291.08705 c 17.0537,-5.13259 28.58649,-18.4831 32.20276,-37.27833 1.40031,-7.27801 1.35694,-19.431 -0.0993,-27.81175 -2.62058,-15.08204 -11.43562,-35.81124 -19.74425,-46.43003 -16.06297,-20.52917 -41.49063,-26.02512 -63.77702,-13.78481 -6.6466,3.65049 -14.82326,12.03302 -17.94176,18.39348 -3.92987,8.01532 -5.05238,13.42819 -5.08495,24.52004 -0.0332,11.31299 1.17765,18.10496 5.59445,31.37996 9.65345,29.01415 24.86789,46.85558 44.27536,51.92016 4.92778,1.28595 19.01315,0.7651 24.57467,-0.90872 z m 122.51692,-47.99464 c 19.68159,-7.07422 35.94234,-13.01985 36.135,-13.21252 0.37449,-0.37448 -6.25977,-19.70092 -7.38111,-21.50209 -0.55298,-0.88823 -2.59842,-0.39816 -11.82567,2.8334 -6.13637,2.14907 -11.24059,3.8233 -11.34273,3.72051 -0.10212,-0.1028 -8.01405,-21.96385 -17.58205,-48.5801 -9.56801,-26.61626 -17.75656,-49.33346 -18.1968,-50.48267 l -0.80041,-2.08947 -8.10727,5.87019 c -4.45899,3.2286 -13.60929,9.95336 -20.334,14.94391 l -12.22674,9.07373 3.11312,8.88468 c 1.71222,4.88658 3.31343,8.88469 3.55825,8.88469 0.24482,0 4.11656,-2.22636 8.60384,-4.94745 4.4873,-2.72111 8.36211,-4.74409 8.61068,-4.4955 0.24858,0.24857 6.2851,16.68098 13.41448,36.51645 8.77455,24.41267 12.6903,36.2398 12.11995,36.60706 -0.46341,0.29841 -5.52043,2.16987 -11.23782,4.15879 -7.70241,2.67947 -10.39569,3.94006 -10.39698,4.8663 -0.003,2.069 7.04555,21.81231 7.78704,21.81231 0.16748,0 16.40762,-5.788 36.08922,-12.86222 z m 110.56436,-39.73698 c 19.44234,-7.00054 35.34972,-13.03402 35.34972,-13.40774 0,-0.37371 -1.73919,-5.55682 -3.86486,-11.51802 l -3.86487,-10.83853 -8.42247,3.04468 c -4.63236,1.67458 -9.75155,3.52597 -11.37596,4.11421 -1.62442,0.58824 -3.03389,0.98082 -3.13217,0.87241 -0.21851,-0.24105 -35.13695,-97.205788 -35.67402,-99.062894 -0.21047,-0.727788 -0.73393,-1.323251 -1.16324,-1.323251 -0.86383,0 -13.38025,8.903189 -29.75438,21.1649 l -10.67351,7.992835 2.96455,8.29448 c 1.63052,4.56196 3.21095,8.54253 3.51209,8.84571 0.30113,0.30318 4.24639,-1.67051 8.76723,-4.38596 4.52084,-2.71546 8.46464,-4.66483 8.764,-4.33195 0.29935,0.33288 4.99214,13.0249 10.4284,28.20448 5.43626,15.17959 11.24149,31.38934 12.90053,36.02168 l 3.01641,8.42241 -9.96623,3.60407 c -5.48143,1.98223 -10.72835,3.88183 -11.65985,4.22133 l -1.69361,0.61728 3.73557,10.61928 c 4.20886,11.96471 4.38427,12.33774 5.58826,11.88414 0.47778,-0.18001 16.77607,-6.055 36.21841,-13.05555 z" + id="path3" + transform="scale(0.03)" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 359.91949,454.90884 c -11.5007,-3.73366 -23.00617,-22.22113 -29.49785,-47.39836 -4.17293,-16.18426 -3.8042,-28.65107 1.00956,-34.13365 6.03678,-6.8755 15.44963,-6.06046 24.30786,2.10477 13.43205,12.38123 24.92246,45.20014 22.29976,63.69256 -0.88622,6.24868 -3.56979,11.57903 -7.0174,13.93864 -2.73485,1.87178 -8.16345,2.75001 -11.10193,1.79604 z" + id="path4" + transform="scale(0.03)" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 488.09074,406.73098 c -13.84707,-7.51686 -29.07037,-41.69986 -29.09547,-65.33211 -0.01,-9.0491 0.94437,-12.48051 4.4422,-15.97834 4.60111,-4.60111 9.8606,-5.1718 16.89589,-1.83334 18.88736,8.96264 35.90423,57.58797 26.72164,76.3565 -2.79378,5.71027 -5.53908,7.53127 -11.76397,7.80323 -3.46292,0.1513 -5.60751,-0.15131 -7.20029,-1.01594 z" + id="path5" + transform="scale(0.03)" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 623.05749,360.35211 c -11.3586,-3.45513 -23.0153,-22.15058 -29.6606,-47.57076 -1.93144,-7.38833 -2.317,-10.33827 -2.38706,-18.26339 -0.075,-8.48638 0.0976,-9.81975 1.6904,-13.05417 5.07361,-10.30301 18.13189,-9.51498 28.28726,1.70706 7.15056,7.90163 13.49324,20.70651 17.60595,35.54371 2.66776,9.6243 3.40318,24.12771 1.54716,30.51216 -2.54534,8.75568 -9.65402,13.38521 -17.08311,11.12539 z" + id="path6" + transform="scale(0.03)" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 423.65691,635.45605 c -3.55283,-1.02704 -11.04045,-8.33204 -14.91936,-14.55549 -11.18235,-17.94134 -18.46293,-45.84556 -15.57612,-59.69843 1.04028,-4.99196 4.19336,-9.19913 8.12572,-10.84217 13.79572,-5.76422 31.06667,13.674 39.40253,44.34703 1.67899,6.17808 1.9578,8.77066 1.99231,18.52552 0.0401,11.32747 0.0371,11.34752 -2.30808,15.48217 -3.66698,6.46507 -9.51486,8.82331 -16.717,6.74137 z" + id="path7" + transform="scale(0.03)" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 316.8242,268.8274 c -4.23889,-0.80744 -7.11187,-2.68633 -11.4678,-7.49979 -9.28988,-10.26564 -18.36105,-31.72875 -21.11731,-49.96519 -1.2312,-8.14613 -0.59586,-17.78098 1.43066,-21.69572 3.4486,-6.66184 11.24176,-8.94188 18.7067,-5.473 10.71031,4.97698 21.48648,22.12616 27.27511,43.40554 1.7553,6.45259 2.06639,9.11383 2.1214,18.14745 0.0685,11.25199 -0.4427,13.67045 -3.87619,18.33728 -2.93117,3.98408 -7.79461,5.74879 -13.07257,4.74343 z" + id="path8" + transform="scale(0.03)" /> + <path + style="fill:#ffffff;stroke-width:0.756144" + d="m 181.09641,315.00438 c -10.36408,-4.82651 -22.45288,-26.91974 -27.59036,-50.42353 -1.90781,-8.72815 -2.27336,-19.56798 -0.83207,-24.67346 2.07935,-7.36564 8.75148,-11.3876 16.00466,-9.64758 8.55272,2.05176 16.35281,10.22826 23.42994,24.56061 11.52604,23.34212 13.7062,48.41418 5.01895,57.71838 -3.83839,4.11096 -10.34808,5.11216 -16.03112,2.46558 z" + id="path9" + transform="scale(0.03)" /> + <path + style="fill:#999999;stroke-width:0.756144" + d="m 626.19914,653.30813 c 0.35418,-5.40643 0.59323,-14.59357 0.53122,-20.41588 -0.13423,-12.60461 -1.56493,-18.95695 -8.18844,-36.35673 -15.44429,-40.57177 -17.28087,-47.06321 -17.31093,-61.1858 -0.019,-8.92055 0.16793,-10.31037 2.02064,-15.02412 3.10808,-7.90772 7.07383,-13.88968 13.35336,-20.1423 12.96737,-12.9118 31.82802,-22.39107 72.24189,-36.30841 29.48606,-10.15413 39.98771,-15.3918 49.67943,-24.77748 3.56206,-3.44958 6.2408,-5.47894 6.89885,-5.22642 4.81858,1.84907 -1.54797,29.90851 -12.72179,56.06899 -19.32918,45.25406 -53.61358,105.19374 -81.34396,142.21428 -6.30514,8.41748 -21.01016,26.21401 -24.66422,29.84952 -1.01577,1.01062 -1.06983,0.063 -0.49605,-8.69565 z" + id="path10" + transform="scale(0.03)" /> + <path + style="fill:#999999;stroke-width:0.094518" + d="" + id="path11" + transform="scale(0.03)" /> + <path + style="fill:#999999;stroke-width:0.094518" + d="" + id="path12" + transform="scale(0.03)" /> + <path + style="fill:#999999;stroke-width:0.094518" + d="" + id="path13" + transform="scale(0.03)" /> +</svg> diff --git a/src/assets/images/pastebin-icon.svg b/src/assets/images/pastebin-icon.svg new file mode 100644 index 00000000..341fbd81 --- /dev/null +++ b/src/assets/images/pastebin-icon.svg @@ -0,0 +1,2 @@ +<?xml version="1.0" encoding="utf-8"?><!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools --> +<svg fill="#000000" width="800px" height="800px" viewBox="0 0 24 24" role="img" xmlns="http://www.w3.org/2000/svg"><title>Pastebin icon</title><path d="M17.02 0a2.096 2.096 0 00-.723.123L2.623 5.003A2.101 2.101 0 001.35 7.69l5.324 14.916a2.101 2.101 0 002.685 1.272l7.746-2.765c.792-.307 1.345-.534 1.464-.608.543-.314.962-.817 1.964-2.334.904-1.362 1.859-3.323 2.097-4.28.24-.97.239-1.48-.502-3.675h.001l-3.147-8.82A2.102 2.102 0 0017.02 0zm-.084.414c.72-.031 1.4.403 1.657 1.12l3.147 8.82.008-.003c.271.763.497 1.415.526 1.54.102.433-.282 1.147-.737 1.35-.2.1-.71.293-1.142.429-1.397.464-2.05.879-2.458 1.548-.363.591-.315 1.18.16 2.377.462 1.142.533 1.864.225 2.4-.113.188-.301.322-1.354.733l-.002-.005-7.746 2.765a1.68 1.68 0 01-2.157-1.022L1.74 7.55a1.68 1.68 0 011.022-2.157L16.436.513c.165-.06.334-.092.5-.099zM15.9 2.25l-.708.515-.495.37.113.314.074.205.523-.316.4 1.112.403 1.123-.359.129-.337.12c.045.145.216.642.238.664l2.166-.779-.238-.663-.244.088-.443.16-.334-.93zm-3.29 1.182l-.709.515-.494.37.113.314.073.205.524-.316.4 1.112.403 1.123-.36.129-.337.121c.046.144.216.64.238.663l2.167-.778-.238-.663-.244.087-.443.16-.334-.93zM9.084 4.786a1.532 1.532 0 00-.8.223c-.732.448-.85 1.383-.332 2.558.337.776.873 1.218 1.462 1.215 1.345-.007 1.86-1.399 1.085-2.95-.307-.66-.837-1.036-1.415-1.046zm-.191.672c.168-.009.357.085.539.279.145.155.347.51.437.787.35.998.164 1.688-.414 1.546C8.854 7.93 8.21 6 8.62 5.585a.407.407 0 01.273-.127zm-3.765.75a1.532 1.532 0 00-.8.223c-.732.448-.85 1.382-.332 2.557.337.777.873 1.218 1.462 1.215 1.344-.007 1.86-1.398 1.085-2.95-.307-.66-.838-1.036-1.415-1.045zm-.192.672c.168-.01.358.085.54.278.145.155.347.51.437.787.35.999.164 1.689-.415 1.547-.6-.141-1.243-2.072-.834-2.485a.407.407 0 01.272-.127zm13.362.655a1.533 1.533 0 00-.8.223c-.732.448-.85 1.382-.332 2.558.337.776.873 1.218 1.462 1.215 1.345-.007 1.86-1.399 1.085-2.95-.307-.66-.837-1.036-1.415-1.046zm-.191.672c.168-.009.357.085.539.278.145.155.347.51.437.787.35.999.164 1.689-.414 1.547-.601-.141-1.244-2.072-.835-2.485a.407.407 0 01.273-.127zm-3.766.75a1.532 1.532 0 00-.8.222c-.73.448-.848 1.383-.331 2.558.337.776.873 1.218 1.462 1.215 1.344-.007 1.86-1.398 1.085-2.95-.307-.66-.838-1.036-1.416-1.045zm-.19.671c.167-.009.357.085.539.279.145.155.347.51.437.787.35.998.164 1.688-.415 1.547-.6-.142-1.244-2.072-.835-2.485a.408.408 0 01.273-.128zm-3.746.743a1.533 1.533 0 00-.8.223c-.732.448-.85 1.382-.332 2.557.337.777.873 1.219 1.462 1.216 1.345-.007 1.86-1.399 1.085-2.951-.307-.66-.838-1.036-1.415-1.045zm-.192.672c.169-.01.358.085.54.278.145.155.347.51.437.787.35.999.164 1.689-.414 1.547-.601-.141-1.244-2.072-.835-2.485a.407.407 0 01.272-.127zm-3.515.616l-.708.515-.495.369.113.314.074.206.524-.316.399 1.112.403 1.122-.359.13-.337.12c.045.145.216.641.238.663l2.166-.778-.238-.663-.244.088-.443.159-.334-.93zm15.664 1.33c.034 0 .049.047.064.135.023.11-.064.545-.195.957-.469 1.436-2.052 4.224-3.079 5.397l-.408.47.051-.667c.03-.567-.016-.812-.377-1.71-.496-1.263-.533-1.73-.158-2.31.341-.514 1.028-.907 2.448-1.371.72-.238 1.175-.463 1.385-.664.132-.145.207-.22.253-.235a.05.05 0 01.015-.003zm-6.429 1.477l-.708.515-.495.37.113.314.074.205.523-.316.4 1.112.403 1.123-.359.129-.337.12c.045.145.216.642.238.664l2.166-.779-.238-.662-.244.087-.443.16-.334-.93zm-3.579 1.33a1.532 1.532 0 00-.8.223c-.731.448-.849 1.382-.332 2.558.337.776.873 1.218 1.462 1.215 1.345-.007 1.86-1.399 1.086-2.95-.307-.66-.838-1.036-1.416-1.046zm-.191.672c.168-.009.358.085.54.279.144.154.346.51.437.787.35.998.164 1.688-.415 1.546-.6-.141-1.244-2.072-.835-2.485a.407.407 0 01.273-.127zm-3.515.616l-.71.515-.494.37.113.313.074.206.524-.316.4 1.112.403 1.122-.36.13-.337.12c.045.145.216.642.238.664l2.166-.779-.238-.663-.244.088-.443.16-.334-.93z"/></svg> \ No newline at end of file diff --git a/src/assets/images/peertube-icon.svg b/src/assets/images/peertube-icon.svg index a92d909e..25f64913 100644 --- a/src/assets/images/peertube-icon.svg +++ b/src/assets/images/peertube-icon.svg @@ -1,51 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="128" - viewBox="2799 -911 128 128" - width="128" - version="1.1" - id="svg10" - sodipodi:docname="peertube-icon.svg" - inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs14" /> - <sodipodi:namedview - id="namedview12" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:pageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - showgrid="false" - inkscape:zoom="2.6681399" - inkscape:cx="10.868995" - inkscape:cy="59.779474" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg10" /> - <g - stroke-width="32" - id="g8" - transform="matrix(0.15060053,0,0,0.15060053,2402.9154,-761.2095)"> - <path - d="m 2799,-911 v 341.344 l 256,-170.656" - fill="#211f20" - id="path2" /> - <path - d="m 2799,-569.656 v 341.344 l 256,-170.656" - fill="#737373" - id="path4" /> - <path - d="M 3055,-740.344 V -399 l 256,-170.656" - fill="#f1680d" - id="path6" /> - </g> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="2799 -911 128 128"><path fill="#211f20" d="M2824.446-898.407V-847L2863-872.7"/><path fill="#737373" d="M2824.446-847v51.407L2863-821.294"/><path fill="#f1680d" d="M2863-872.706v51.407L2901.554-847"/></svg> \ No newline at end of file diff --git a/src/assets/images/pinterest-icon.svg b/src/assets/images/pinterest-icon.svg index 87dd2040..810da5a5 100644 --- a/src/assets/images/pinterest-icon.svg +++ b/src/assets/images/pinterest-icon.svg @@ -1,42 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - class="gUZ GjR U9O kVc" - height="32" - width="32" - viewBox="0 0 24 24" - aria-label="Pinterest" - role="img" - version="1.1" - id="svg4" - sodipodi:docname="pintrest-icon.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs8" /> - <sodipodi:namedview - id="namedview6" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="24.3125" - inkscape:cx="10.858612" - inkscape:cy="16" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg4" /> - <path - d="M0 12c0 5.123 3.211 9.497 7.73 11.218-.11-.937-.227-2.482.025-3.566.217-.932 1.401-5.938 1.401-5.938s-.357-.715-.357-1.774c0-1.66.962-2.9 2.161-2.9 1.02 0 1.512.765 1.512 1.682 0 1.025-.653 2.557-.99 3.978-.281 1.189.597 2.159 1.769 2.159 2.123 0 3.756-2.239 3.756-5.471 0-2.861-2.056-4.86-4.991-4.86-3.398 0-5.393 2.549-5.393 5.184 0 1.027.395 2.127.889 2.726a.36.36 0 0 1 .083.343c-.091.378-.293 1.189-.332 1.355-.053.218-.173.265-.4.159-1.492-.694-2.424-2.875-2.424-4.627 0-3.769 2.737-7.229 7.892-7.229 4.144 0 7.365 2.953 7.365 6.899 0 4.117-2.595 7.431-6.199 7.431-1.211 0-2.348-.63-2.738-1.373 0 0-.599 2.282-.744 2.84-.282 1.084-1.064 2.456-1.549 3.235C9.584 23.815 10.77 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0 0 5.373 0 12" - id="path2" - style="fill:#e60023;fill-opacity:1" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M0 12c0 5.123 3.211 9.497 7.73 11.218-.11-.937-.227-2.482.025-3.566.217-.932 1.401-5.938 1.401-5.938s-.357-.715-.357-1.774c0-1.66.962-2.9 2.161-2.9 1.02 0 1.512.765 1.512 1.682 0 1.025-.653 2.557-.99 3.978-.281 1.189.597 2.159 1.769 2.159 2.123 0 3.756-2.239 3.756-5.471 0-2.861-2.056-4.86-4.991-4.86-3.398 0-5.393 2.549-5.393 5.184 0 1.027.395 2.127.889 2.726a.36.36 0 0 1 .083.343c-.091.378-.293 1.189-.332 1.355-.053.218-.173.265-.4.159-1.492-.694-2.424-2.875-2.424-4.627 0-3.769 2.737-7.229 7.892-7.229 4.144 0 7.365 2.953 7.365 6.899 0 4.117-2.595 7.431-6.199 7.431-1.211 0-2.348-.63-2.738-1.373 0 0-.599 2.282-.744 2.84-.282 1.084-1.064 2.456-1.549 3.235C9.584 23.815 10.77 24 12 24c6.627 0 12-5.373 12-12S18.627 0 12 0 0 5.373 0 12" fill="#e60023"/></svg> diff --git a/src/assets/images/pixiv-icon.svg b/src/assets/images/pixiv-icon.svg index 9460979a..8de64dae 100644 --- a/src/assets/images/pixiv-icon.svg +++ b/src/assets/images/pixiv-icon.svg @@ -1,49 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="64.622841mm" - height="62.355366mm" - viewBox="0 0 64.622841 62.355366" - version="1.1" - id="svg5" - xml:space="preserve" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - sodipodi:docname="pixiv.svg" - 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="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - inkscape:document-units="mm" - showgrid="false" - inkscape:zoom="1.9603365" - inkscape:cx="47.950951" - inkscape:cy="158.64623" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="layer1" /><defs - id="defs2" /><g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-38.311977,-85.637228)"><ellipse - style="fill:#0096fa;fill-opacity:1;fill-rule:evenodd;stroke-width:1.449;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000000" - id="path1217" - cx="70.623398" - cy="116.81491" - rx="32.31142" - ry="31.177683" /><path - style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583" - d="m 53.954644,137.20697 c 0,-0.34082 0.351116,-0.66494 1.058333,-0.97696 l 1.058334,-0.46694 v -15.29491 c 0,-8.4122 -0.05335,-15.29492 -0.118556,-15.29492 -0.437486,0 -3.422794,2.86126 -4.139781,3.96776 -0.710132,1.09592 -0.860136,1.5691 -0.801207,2.52738 0.05691,0.92543 -0.02798,1.21758 -0.394672,1.3583 -0.270002,0.1036 -0.511045,0.0477 -0.571119,-0.13257 -0.05717,-0.1715 -0.683125,-1.19904 -1.391012,-2.28342 l -1.287067,-1.97159 2.016494,-1.88318 c 4.601337,-4.29714 10.589157,-7.463208 17.00567,-8.991767 3.78782,-0.902344 8.737483,-0.865988 12.26499,0.09009 7.200255,1.951519 11.962535,6.599017 13.249598,12.930247 0.750554,3.69207 0.334849,7.2551 -1.203791,10.31772 -1.436886,2.86007 -5.197954,6.27581 -8.521792,7.73934 -5.0736,2.23398 -12.4865,2.38561 -19.257114,0.39391 -0.961575,-0.28287 -1.884309,-0.5143 -2.050521,-0.5143 -0.211551,0 -0.302204,1.06612 -0.302204,3.55405 0,3.45553 0.0165,3.55907 0.595313,3.73546 0.773381,0.23568 1.521354,0.89963 1.521354,1.35046 0,0.28372 -0.885039,0.35586 -4.365625,0.35586 -4.13462,0 -4.365625,-0.027 -4.365625,-0.51002 z m 21.897599,-9.58377 c 2.151661,-0.40773 4.766628,-1.85382 6.481035,-3.58404 3.107574,-3.13625 4.033012,-5.4392 4.019442,-10.00237 -0.01326,-4.45929 -1.042546,-7.28019 -3.70612,-10.15716 -1.649793,-1.78198 -3.361658,-2.86435 -5.937789,-3.75434 -2.264892,-0.782466 -6.660828,-0.843522 -9.370362,-0.130149 -1.977697,0.520689 -5.207577,1.785819 -6.171272,2.417259 l -0.59795,0.39179 v 11.51268 11.51268 l 1.20336,0.51582 c 3.637801,1.55934 9.693642,2.10895 14.079656,1.27783 z" - id="path402" /></g></svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64.623 62.355"><g transform="translate(-38.312 -85.637)"><ellipse cx="70.623" cy="116.815" rx="32.311" ry="31.178" style="fill:#0096fa;fill-opacity:1;fill-rule:evenodd;stroke-width:1.449;stroke-linecap:round;stroke-linejoin:bevel;stop-color:#000"/><path d="M53.955 137.207q-.002-.51 1.058-.977l1.058-.467v-15.295c0-8.412-.053-15.295-.118-15.295-.438 0-3.423 2.862-4.14 3.968-.71 1.096-.86 1.57-.801 2.527.057.926-.028 1.218-.395 1.359-.27.103-.51.047-.571-.133-.057-.171-.683-1.199-1.391-2.283l-1.287-1.972 2.016-1.883c4.602-4.297 10.59-7.463 17.006-8.992 3.788-.902 8.738-.866 12.265.09 7.2 1.952 11.963 6.6 13.25 12.93.75 3.693.334 7.256-1.204 10.318-1.437 2.86-5.198 6.276-8.522 7.74-5.074 2.234-12.486 2.385-19.257.393-.962-.282-1.884-.514-2.05-.514-.212 0-.303 1.066-.303 3.554 0 3.456.017 3.56.596 3.736.773.235 1.52.9 1.52 1.35 0 .284-.884.356-4.365.356-4.134 0-4.365-.027-4.365-.51m21.897-9.584c2.152-.408 4.767-1.854 6.481-3.584 3.108-3.136 4.033-5.439 4.02-10.002-.014-4.46-1.043-7.28-3.706-10.157-1.65-1.782-3.362-2.865-5.938-3.755-2.265-.782-6.661-.843-9.37-.13-1.978.52-5.208 1.786-6.172 2.417l-.598.392v23.026l1.204.515c3.637 1.56 9.693 2.11 14.08 1.278" style="fill:#fff;fill-opacity:1;stroke-width:.264583"/></g></svg> \ No newline at end of file diff --git a/src/assets/images/quora-icon.png b/src/assets/images/quora-icon.png deleted file mode 100644 index d2a06954..00000000 --- a/src/assets/images/quora-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/quora-icon.svg b/src/assets/images/quora-icon.svg new file mode 100644 index 00000000..ed74b302 --- /dev/null +++ b/src/assets/images/quora-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="2608 917 120 120"><defs><style>.cls-1{fill:#b92b27}.cls-2{fill:#fff}</style></defs><g id="Group_56" data-name="Group 56" transform="translate(2383 785)"><circle id="Ellipse_45" cx="60" cy="60" r="60" class="cls-1" data-name="Ellipse 45" transform="translate(225 132)"/><g id="Group_55" data-name="Group 55" transform="translate(3.5 4.5)"><path id="Path_151" d="M34.212.5c18.619 0 33.712 14.691 33.712 32.813S52.831 66.127 34.212 66.127.5 51.436.5 33.313 15.593.5 34.212.5" class="cls-2" data-name="Path 151" transform="translate(245 150)"/><path id="Path_149" d="M18.005.9c5.942 0 11.867 2.427 14.474 7.462s3.281 12.528 3.281 18.25c0 6.027-.132 12.044-2.562 16.721-3.118 6.009-9.456 9.8-15.193 9.8-5.217 0-9.349-.629-13.575-6.563S.25 33.408.25 26.611c0-6.143.045-13.305 4.18-19.059S12.347.9 18.005.9" class="cls-1" data-name="Path 149" transform="translate(261.207 156.253)"/><path id="Path_150" d="m2337.818 160-1.618-4.135s4.225-3.146 11.417-2.967 10.7 3.956 10.7 3.956a76 76 0 0 1 6.113 7.641 29.5 29.5 0 0 1 3.326 6.563s2.877 5.3 7.462 5.3 5.034-4.765 5.034-4.765h4.945s.18 7.821-4.945 12.136-12.5 3.146-12.5 3.146a14.66 14.66 0 0 1-6.563-2.877 26.2 26.2 0 0 1-5.3-6.742s-2.248-4.562-4.5-8.271-4.225-6.473-4.225-6.473a14.2 14.2 0 0 0-4.585-2.517 10.55 10.55 0 0 0-4.761.005" class="cls-2" data-name="Path 150" transform="translate(-2067.596 38.415)"/></g></g></svg> \ No newline at end of file diff --git a/src/assets/images/reddit-icon.png b/src/assets/images/reddit-icon.png deleted file mode 100644 index e6c091d9..00000000 --- a/src/assets/images/reddit-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/reddit-icon.svg b/src/assets/images/reddit-icon.svg new file mode 100644 index 00000000..0dba3c4a --- /dev/null +++ b/src/assets/images/reddit-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><path d="M500 1000C223.9 1000 0 776.1 0 500S223.9 0 500 0s500 223.9 500 500-223.9 500-500 500" style="fill:#ff4500"/><path d="M614.6 604.2c-28.7 0-52.1-23.4-52.1-52.1s23.4-52.1 52.1-52.1 52.1 23.4 52.1 52.1-23.4 52.1-52.1 52.1m9.2 85.5C588.2 725.2 520.1 728 500.1 728s-88.2-2.8-123.7-38.3c-5.3-5.3-5.3-13.8 0-19.1s13.8-5.3 19.1 0C417.9 693 465.8 701 500.1 701c34.2 0 82.2-8 104.6-30.4 5.3-5.3 13.8-5.3 19.1 0 5.2 5.3 5.2 13.8 0 19.1M333.3 552.1c0-28.7 23.4-52.1 52.1-52.1s52.1 23.4 52.1 52.1-23.4 52.1-52.1 52.1-52.1-23.4-52.1-52.1m500-52.1c0-40.3-32.6-72.9-72.9-72.9-19.7 0-37.5 7.8-50.6 20.5-49.8-36-118.5-59.2-195-61.9L548 229.4l108.5 23.1c1.3 27.6 23.9 49.6 51.8 49.6 28.8 0 52.1-23.3 52.1-52.1s-23.3-52.1-52.1-52.1c-20.5 0-38 11.9-46.5 29.1l-121.2-25.8c-3.4-.7-6.9-.1-9.8 1.8s-4.9 4.8-5.6 8.2l-36.4 171.5c-.2 1 0 1.9 0 2.9-77.9 2-147.9 25.3-198.5 61.8-13.1-12.6-30.8-20.3-50.4-20.3-40.3 0-72.9 32.7-72.9 72.9 0 29.6 17.7 55.1 43.1 66.5-1.1 7.2-1.7 14.6-1.7 22.1 0 112.2 130.6 203.1 291.7 203.1s291.7-90.9 291.7-203.1c0-7.4-.6-14.7-1.7-21.9 25.3-11.4 43.2-36.9 43.2-66.7" style="fill:#fff"/></svg> diff --git a/src/assets/images/reuters-icon.svg b/src/assets/images/reuters-icon.svg index 0cc8a03c..15a0d222 100644 --- a/src/assets/images/reuters-icon.svg +++ b/src/assets/images/reuters-icon.svg @@ -1,267 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - viewBox="0 0 73.69671 73.69671" - fill="#ffffff" - fill-rule="evenodd" - stroke="#000000" - stroke-linecap="round" - stroke-linejoin="round" - version="1.1" - id="svg94" - sodipodi:docname="reuters-icon.svg" - width="73.696709" - height="73.696709" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <sodipodi:namedview - id="namedview96" - pagecolor="#000000" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="6.9039705" - inkscape:cx="14.339574" - inkscape:cy="36.500735" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg94" /> - <use - xlink:href="#F" - x="9.3409996" - y="9.3409996" - id="use2" /> - <defs - id="defs79"> - <linearGradient - id="A" - x1="40.08743" - y1="25.26118" - x2="22.376516" - y2="34.680659" - gradientTransform="scale(0.99293853,1.0071117)" - gradientUnits="userSpaceOnUse"> - <stop - offset="0%" - stop-color="#ff9100" - id="stop4" /> - <stop - offset="5%" - stop-color="#ff8d00" - id="stop6" /> - <stop - offset="25%" - stop-color="#ff8300" - id="stop8" /> - <stop - offset="50%" - stop-color="#ff8000" - id="stop10" /> - <stop - offset="75%" - stop-color="#ff8300" - id="stop12" /> - <stop - offset="95%" - stop-color="#ff8d00" - id="stop14" /> - <stop - offset="100%" - stop-color="#ff9100" - id="stop16" /> - </linearGradient> - <linearGradient - id="B" - x1="45.429384" - y1="33.273694" - x2="19.314299" - y2="25.853212" - gradientTransform="scale(0.98286426,1.0174345)" - gradientUnits="userSpaceOnUse"> - <stop - offset="0%" - stop-color="#ff9100" - id="stop19" /> - <stop - offset="5%" - stop-color="#ff8d00" - id="stop21" /> - <stop - offset="25%" - stop-color="#ff8300" - id="stop23" /> - <stop - offset="50%" - stop-color="#ff8000" - id="stop25" /> - <stop - offset="75%" - stop-color="#ff8300" - id="stop27" /> - <stop - offset="95%" - stop-color="#ff8d00" - id="stop29" /> - <stop - offset="100%" - stop-color="#ff9100" - id="stop31" /> - </linearGradient> - <linearGradient - id="C" - x1="44.712879" - y1="42.381865" - x2="19.37669" - y2="17.365363" - gradientTransform="scale(0.99319606,1.0068505)" - gradientUnits="userSpaceOnUse"> - <stop - offset="0%" - stop-color="#ff9100" - id="stop34" /> - <stop - offset="5%" - stop-color="#ff8d00" - id="stop36" /> - <stop - offset="25%" - stop-color="#ff8300" - id="stop38" /> - <stop - offset="50%" - stop-color="#ff8000" - id="stop40" /> - <stop - offset="75%" - stop-color="#ff8300" - id="stop42" /> - <stop - offset="95%" - stop-color="#ff8d00" - id="stop44" /> - <stop - offset="100%" - stop-color="#ff9100" - id="stop46" /> - </linearGradient> - <linearGradient - id="D" - x1="40.455486" - y1="52.489434" - x2="22.145054" - y2="8.6782826" - gradientTransform="scale(1.0164746,0.98379237)" - gradientUnits="userSpaceOnUse"> - <stop - offset="0%" - stop-color="#ff9100" - id="stop49" /> - <stop - offset="5%" - stop-color="#ff8d00" - id="stop51" /> - <stop - offset="25%" - stop-color="#ff8300" - id="stop53" /> - <stop - offset="50%" - stop-color="#ff8000" - id="stop55" /> - <stop - offset="75%" - stop-color="#ff8300" - id="stop57" /> - <stop - offset="95%" - stop-color="#ff8d00" - id="stop59" /> - <stop - offset="100%" - stop-color="#ff9100" - id="stop61" /> - </linearGradient> - <linearGradient - id="E" - x1="30.883168" - y1="61.970756" - x2="30.883168" - y2="0.018566106" - gradientTransform="scale(1.030133,0.97074843)" - gradientUnits="userSpaceOnUse"> - <stop - offset="0%" - stop-color="#ff9100" - id="stop64" /> - <stop - offset="5%" - stop-color="#ff8d00" - id="stop66" /> - <stop - offset="25%" - stop-color="#ff8300" - id="stop68" /> - <stop - offset="50%" - stop-color="#ff8000" - id="stop70" /> - <stop - offset="75%" - stop-color="#ff8300" - id="stop72" /> - <stop - offset="95%" - stop-color="#ff8d00" - id="stop74" /> - <stop - offset="100%" - stop-color="#ff9100" - id="stop76" /> - </linearGradient> - </defs> - <symbol - id="F" - overflow="visible" - transform="translate(-4.493145,-2.993145)"> - <g - stroke="none" - fill-rule="nonzero" - id="g91"> - <path - d="m 28.509,21.28 c 0.318,0.616 0.112,1.364 -0.504,1.868 a 1.25,1.25 0 0 1 -1.7,-0.691 c -0.336,-0.598 -0.112,-1.364 0.504,-1.868 a 1.25,1.25 0 0 1 1.7,0.505 z m -6.203,9.827 a 0.75,0.75 0 0 0 -0.299,1.009 c 0.196,0.361 0.648,0.495 1.009,0.299 0.361,-0.196 0.495,-0.648 0.299,-1.009 a 0.75,0.75 0 0 0 -1.009,-0.299 z m -0.299,-3.045 a 0.86,0.86 0 0 0 -0.336,1.158 c 0.224,0.43 0.747,0.56 1.177,0.374 0.43,-0.186 0.561,-0.747 0.374,-1.177 a 0.86,0.86 0 0 0 -1.177,-0.336 z m 0.785,-2.914 a 0.99,0.99 0 0 0 -0.411,1.326 0.98,0.98 0 0 0 1.345,0.374 0.99,0.99 0 0 0 0.411,-1.345 0.99,0.99 0 0 0 -1.326,-0.392 z m 1.607,-2.522 a 1.1,1.1 0 0 0 -0.448,1.513 1.07,1.07 0 0 0 1.495,0.448 1.11,1.11 0 0 0 0.065,-1.924 1.11,1.11 0 0 0 -1.111,-0.037 z m -1.214,11.303 a 0.62,0.62 0 0 0 -0.243,0.841 0.62,0.62 0 0 0 0.841,0.243 c 0.292,-0.171 0.399,-0.541 0.243,-0.841 -0.079,-0.144 -0.212,-0.251 -0.37,-0.296 -0.158,-0.045 -0.327,-0.026 -0.471,0.054 z M 37.458,23.654 a 0.75,0.75 0 0 0 1.009,0.299 0.75,0.75 0 0 0 0.299,-1.009 c -0.196,-0.361 -0.648,-0.495 -1.009,-0.299 -0.361,0.196 -0.495,0.648 -0.299,1.009 z m -2.373,-1.569 c 0.224,0.411 0.747,0.56 1.158,0.336 0.411,-0.224 0.56,-0.747 0.374,-1.158 a 0.86093743,0.86093743 0 1 0 -1.513,0.822 z M 32.189,21.3 c 0.258,0.48 0.856,0.66 1.336,0.402 0.48,-0.258 0.66,-0.856 0.402,-1.336 -0.258,-0.48 -0.856,-0.66 -1.336,-0.402 -0.48,0.258 -0.66,0.856 -0.402,1.336 z m -3.027,0.112 c 0.139,0.263 0.377,0.459 0.662,0.543 a 1.1,1.1 0 0 0 0.851,-0.095 1.12,1.12 0 0 0 0.448,-1.513 c -0.289,-0.537 -0.958,-0.737 -1.495,-0.448 -0.537,0.289 -0.737,0.958 -0.448,1.495 z m 10.313,4.521 c 0.149,0.299 0.56,0.411 0.822,0.243 0.143,-0.075 0.249,-0.205 0.295,-0.36 0.046,-0.155 0.027,-0.322 -0.052,-0.462 -0.075,-0.147 -0.207,-0.258 -0.365,-0.307 -0.158,-0.049 -0.329,-0.033 -0.475,0.046 -0.28,0.187 -0.411,0.56 -0.243,0.841 z m -2.13,11.77 c -0.33,-0.609 -1.091,-0.835 -1.7,-0.504 -0.609,0.331 -0.835,1.091 -0.505,1.7 0.336,0.617 1.121,0.822 1.868,0.504 0.747,-0.318 0.841,-1.121 0.505,-1.868 z M 26.023,36.489 C 25.826,36.14 25.39,36.008 25.033,36.19 a 0.73,0.73 0 0 0 -0.295,0.986 0.73,0.73 0 0 0 0.985,0.297 0.73,0.73 0 0 0 0.3,-0.984 z m 2.504,1.588 a 0.86093743,0.86093743 0 1 0 -1.513,0.822 c 0.224,0.411 0.747,0.561 1.158,0.374 a 0.88,0.88 0 0 0 0.355,-1.177 z m 2.896,0.785 c -0.262,-0.486 -0.859,-0.654 -1.345,-0.374 a 0.99,0.99 0 0 0 -0.392,1.327 c 0.262,0.486 0.859,0.654 1.345,0.411 a 0.97,0.97 0 0 0 0.411,-1.345 z M 34.45,38.75 a 1.12,1.12 0 0 0 -1.513,-0.448 c -0.56,0.28 -0.747,0.934 -0.43,1.495 0.135,0.262 0.37,0.457 0.652,0.542 0.282,0.085 0.586,0.051 0.843,-0.093 0.56,-0.28 0.747,-0.934 0.448,-1.495 z m 6.875,-9.659 c 0.176,-0.092 0.308,-0.249 0.368,-0.439 0.06,-0.19 0.041,-0.394 -0.05,-0.57 -0.196,-0.361 -0.648,-0.495 -1.009,-0.299 -0.361,0.196 -0.495,0.648 -0.299,1.009 a 0.75,0.75 0 0 0 0.99,0.299 z m 0.131,2.989 c 0.411,-0.224 0.56,-0.747 0.336,-1.177 a 0.86,0.86 0 0 0 -1.158,-0.355 0.88,0.88 0 0 0 -0.355,1.177 c 0.224,0.411 0.747,0.56 1.177,0.336 z m -0.747,2.896 c 0.486,-0.262 0.654,-0.859 0.411,-1.345 a 1,1 0 0 0 -1.73,-0.046 1,1 0 0 0 -0.026,0.999 0.99,0.99 0 0 0 1.326,0.392 z m -1.588,2.503 c 0.56,-0.28 0.747,-0.971 0.448,-1.495 -0.299,-0.524 -0.971,-0.747 -1.495,-0.448 -0.537,0.289 -0.737,0.958 -0.448,1.495 0.289,0.537 0.958,0.737 1.495,0.448 z" - fill="url(#A)" - id="path81" - style="fill:url(#A)" /> - <path - d="m 36.954,18.291 c -0.253,0.856 -1.152,1.346 -2.008,1.093 -0.856,-0.253 -1.346,-1.152 -1.093,-2.008 0.114,-0.61 0.565,-1.102 1.163,-1.268 0.598,-0.166 1.238,0.023 1.651,0.487 0.413,0.464 0.524,1.122 0.288,1.697 z m -15.506,3.811 c -0.423,-0.121 -0.864,0.121 -0.99,0.542 -0.069,0.402 0.174,0.793 0.566,0.907 0.392,0.114 0.807,-0.083 0.966,-0.459 0.131,-0.411 -0.112,-0.859 -0.56,-0.99 z m 2.802,-3.083 c -0.521,-0.155 -1.069,0.142 -1.224,0.663 -0.155,0.521 0.142,1.069 0.663,1.224 a 0.99,0.99 0 0 0 1.214,-0.673 0.99,0.99 0 0 0 -0.672,-1.214 z m 3.587,-2.167 a 1.27,1.27 0 0 0 -1.551,0.841 1.25,1.25 0 0 0 0.859,1.551 1.25,1.25 0 0 0 1.454,-0.87 1.25,1.25 0 0 0 -0.744,-1.522 z m 3.979,-0.897 a 1.4,1.4 0 0 0 -1.644,2.004 1.4,1.4 0 0 0 2.578,-0.266 1.4,1.4 0 0 0 -0.953,-1.756 z m -12.144,9.958 a 0.6,0.6 0 0 0 -0.678,0.419 0.6,0.6 0 0 0 0.341,0.72 c 0.318,0.093 0.654,-0.093 0.747,-0.411 A 0.6,0.6 0 0 0 19.671,25.894 Z M 43.96,29.5 c -0.114,0.415 0.127,0.843 0.541,0.962 0.414,0.119 0.845,-0.118 0.968,-0.53 0.123,-0.412 -0.108,-0.846 -0.518,-0.974 -0.423,-0.121 -0.864,0.121 -0.99,0.542 z m -0.934,-3.979 a 0.99,0.99 0 0 0 0.673,1.233 0.98164823,0.98164823 0 1 0 0.542,-1.887 0.99,0.99 0 0 0 -1.233,0.654 z m -2.335,-3.587 a 1.25,1.25 0 0 0 1.795,1.461 1.25,1.25 0 0 0 -0.245,-2.302 1.25,1.25 0 0 0 -1.551,0.841 z m -3.064,-2.802 a 1.4011818,1.4011818 0 1 0 2.689,0.789 1.4,1.4 0 0 0 -0.933,-1.742 1.42,1.42 0 0 0 -1.756,0.953 z m 5.829,14.386 a 0.6,0.6 0 0 0 0.392,0.747 0.6,0.6 0 0 0 0.808,-0.713 0.6,0.6 0 0 0 -0.471,-0.427 0.6,0.6 0 0 0 -0.729,0.411 z m -13.75,9.285 c 0.236,-0.574 0.124,-1.232 -0.288,-1.697 -0.412,-0.465 -1.052,-0.653 -1.65,-0.487 -0.598,0.166 -1.049,0.658 -1.163,1.268 -0.121,0.414 -0.074,0.859 0.133,1.237 0.207,0.378 0.555,0.659 0.969,0.78 0.859,0.243 1.756,-0.243 1.999,-1.121 z M 19.73,30.659 c 0.12,-0.285 0.066,-0.613 -0.139,-0.844 -0.205,-0.231 -0.524,-0.325 -0.821,-0.24 -0.297,0.085 -0.52,0.332 -0.572,0.636 -0.12,0.285 -0.066,0.613 0.139,0.844 0.205,0.231 0.524,0.325 0.821,0.24 0.297,-0.085 0.52,-0.332 0.572,-0.636 z m 0.934,3.979 a 0.98164823,0.98164823 0 0 0 -1.887,-0.542 0.99,0.99 0 0 0 1.189,1.345 0.99,0.99 0 0 0 0.698,-0.803 z m 2.167,3.587 a 1.27,1.27 0 0 0 -0.859,-1.569 1.2515651,1.2515651 0 1 0 -0.694,2.405 1.25,1.25 0 0 0 1.553,-0.836 z m 3.064,2.802 a 1.42,1.42 0 0 0 -0.953,-1.756 1.4102221,1.4102221 0 1 0 -0.785,2.709 1.42,1.42 0 0 0 1.756,-0.953 z m 16.198,-2.989 c 0.423,0.121 0.864,-0.121 0.99,-0.542 0.121,-0.423 -0.121,-0.864 -0.542,-0.99 -0.423,-0.121 -0.864,0.121 -0.99,0.542 -0.121,0.423 0.121,0.864 0.542,0.99 z m -2.802,3.083 c 0.521,0.155 1.069,-0.142 1.224,-0.663 0.155,-0.521 -0.142,-1.069 -0.663,-1.224 a 0.99,0.99 0 0 0 -1.233,0.673 0.99,0.99 0 0 0 0.673,1.214 z m -3.587,2.167 a 1.25,1.25 0 0 0 1.454,-0.87 1.25,1.25 0 0 0 -2.035,-1.289 1.25,1.25 0 0 0 0.582,2.158 z m -3.979,0.878 a 1.4,1.4 0 0 0 1.738,-0.953 1.4011,1.4011 0 1 0 -2.69,-0.785 1.4,1.4 0 0 0 0.953,1.737 z" - fill="url(#B)" - id="path83" - style="fill:url(#B)" /> - <path - d="m 45.025,19.093 c -0.792,0.822 -2.1,0.849 -2.925,0.061 -0.825,-0.788 -0.859,-2.096 -0.074,-2.925 0.785,-0.829 2.092,-0.868 2.925,-0.087 0.839,0.79 0.88,2.11 0.093,2.952 z M 24.343,14.366 a 1.03,1.03 0 0 0 -0.736,-0.284 c -0.274,0.007 -0.533,0.123 -0.721,0.322 a 1.03,1.03 0 0 0 0.774,1.723 1.03,1.03 0 0 0 0.683,-1.76 z m 5.194,-1.98 a 1.27,1.27 0 0 0 -1.793,0.056 1.27,1.27 0 0 0 0.056,1.793 1.27,1.27 0 0 0 1.793,-0.056 1.27,1.27 0 0 0 -0.056,-1.794 z m 5.549,-0.374 c -0.646,-0.6 -1.655,-0.566 -2.261,0.075 -0.572,0.65 -0.527,1.636 0.103,2.23 0.63,0.594 1.617,0.583 2.233,-0.026 0.294,-0.311 0.451,-0.727 0.437,-1.155 -0.014,-0.428 -0.198,-0.833 -0.512,-1.124 z m 5.269,1.345 a 1.81,1.81 0 0 0 -3.004,0.9 1.81,1.81 0 0 0 0.519,1.735 c 0.728,0.685 1.873,0.652 2.56,-0.075 0.687,-0.727 0.652,-1.873 -0.075,-2.56 z m -20.401,4.484 c -0.149,-0.139 -0.346,-0.213 -0.549,-0.206 -0.203,0.007 -0.395,0.095 -0.534,0.243 -0.23,0.188 -0.331,0.492 -0.258,0.78 0.073,0.288 0.304,0.508 0.596,0.565 0.292,0.057 0.589,-0.059 0.765,-0.299 0.139,-0.149 0.213,-0.346 0.206,-0.55 -0.007,-0.204 -0.095,-0.395 -0.243,-0.534 z m 26.342,18.813 a 1.03,1.03 0 0 0 -0.284,0.736 c 0.007,0.274 0.123,0.533 0.322,0.721 a 1.03,1.03 0 0 0 1.401,-1.495 1.03,1.03 0 0 0 -1.457,0.037 z m 1.308,-5.287 a 1.27,1.27 0 0 0 0.056,1.775 1.2619162,1.2619162 0 1 0 1.737,-1.831 1.27,1.27 0 0 0 -1.793,0.056 z M 47.23,25.818 c -0.417,0.413 -0.577,1.021 -0.415,1.585 0.162,0.564 0.619,0.996 1.192,1.125 0.573,0.129 1.171,-0.065 1.559,-0.505 0.572,-0.65 0.527,-1.636 -0.103,-2.23 -0.63,-0.594 -1.617,-0.583 -2.233,0.026 z m -1.943,-5.156 a 1.81,1.81 0 0 0 1.362,3.065 1.81,1.81 0 0 0 1.179,-3.14 C 47.081,19.896 45.96,19.952 45.287,20.662 Z M 43.68,41.251 c -0.139,0.149 -0.213,0.346 -0.206,0.55 0.007,0.204 0.095,0.395 0.243,0.534 0.188,0.23 0.492,0.331 0.779,0.258 0.287,-0.073 0.508,-0.304 0.565,-0.596 0.057,-0.292 -0.059,-0.589 -0.299,-0.765 a 0.75,0.75 0 0 0 -0.55,-0.214 c -0.205,0.007 -0.398,0.098 -0.534,0.252 z m -22.045,2.672 a 2.0811559,2.0811559 0 1 0 -3.026,-2.858 2.0811559,2.0811559 0 1 0 3.026,2.858 z m -4.484,-20.42 a 1.03,1.03 0 0 0 -0.485,-1.766 1.03,1.03 0 0 0 -1.01,0.365 c -0.374,0.411 -0.374,1.046 0.037,1.439 a 1.01,1.01 0 0 0 1.438,-0.037 z m -1.308,5.287 a 1.27,1.27 0 0 0 -0.056,-1.794 1.27,1.27 0 0 0 -1.737,1.831 1.27,1.27 0 0 0 1.793,-0.056 z m 0.411,5.567 c 0.394,-0.421 0.533,-1.019 0.366,-1.57 -0.167,-0.551 -0.616,-0.972 -1.177,-1.102 -0.561,-0.13 -1.149,0.048 -1.543,0.468 -0.6,0.646 -0.566,1.655 0.075,2.261 0.654,0.617 1.868,0.561 2.242,-0.056 z m 1.943,5.156 c 0.685,-0.728 0.652,-1.873 -0.075,-2.56 a 1.81,1.81 0 0 0 -3.004,0.9 1.81,1.81 0 0 0 0.519,1.734 c 0.728,0.685 1.873,0.652 2.56,-0.075 z m 21.111,6.259 c 0.26,0.286 0.659,0.401 1.031,0.299 0.372,-0.102 0.657,-0.405 0.735,-0.783 a 1.03,1.03 0 0 0 -1.756,-0.91 1.03,1.03 0 0 0 -0.01,1.395 z m -5.194,1.962 c 0.504,0.486 1.308,0.448 1.794,-0.056 0.475,-0.511 0.445,-1.309 -0.065,-1.784 -0.51,-0.475 -1.31,-0.445 -1.784,0.065 a 1.27,1.27 0 0 0 0.056,1.775 z m -5.567,0.411 c 0.654,0.617 1.868,0.561 2.242,-0.056 0.418,-0.413 0.577,-1.021 0.415,-1.585 -0.162,-0.564 -0.619,-0.996 -1.192,-1.125 -0.573,-0.129 -1.171,0.065 -1.559,0.505 -0.6,0.646 -0.566,1.655 0.075,2.261 z M 23.316,46.8 c 0.721,0.677 1.855,0.642 2.533,-0.078 0.678,-0.72 0.645,-1.854 -0.075,-2.534 -0.72,-0.68 -1.853,-0.648 -2.534,0.071 -0.328,0.346 -0.505,0.809 -0.49,1.286 0.015,0.477 0.217,0.928 0.565,1.255 z" - fill="url(#C)" - id="path85" - style="fill:url(#C)" /> - <path - d="m 53.451,23.503 c -1.274,0.547 -2.752,-0.037 -3.307,-1.308 -0.543,-1.268 0.043,-2.737 1.31,-3.284 1.267,-0.547 2.737,0.035 3.287,1.3 0.55,1.265 -0.027,2.737 -1.29,3.291 z M 35.796,7.511 a 1.3906606,1.3906606 0 1 0 -2.728,0.542 1.3906606,1.3906606 0 1 0 2.728,-0.542 z m 5.978,1.308 a 1.68,1.68 0 0 0 -2.849,-0.847 1.68,1.68 0 0 0 -0.402,1.688 1.68,1.68 0 0 0 2.849,0.847 1.68,1.68 0 0 0 0.402,-1.688 z m 5.455,2.429 C 46.883,10.144 45.708,9.529 44.604,9.875 43.5,10.221 42.885,11.396 43.231,12.5 c 0.346,1.104 1.521,1.719 2.625,1.373 1.104,-0.346 1.719,-1.521 1.373,-2.625 z m 4.372,3.737 a 2.3111688,2.3111688 0 0 0 -4.334,1.607 c 0.245,0.83 0.932,1.454 1.781,1.619 0.849,0.165 1.72,-0.158 2.257,-0.837 0.537,-0.679 0.651,-1.6 0.296,-2.389 z M 23.876,9.062 a 1.01,1.01 0 0 0 -1.864,0.031 1.01,1.01 0 0 0 1.341,1.295 C 23.857,10.164 24.1,9.566 23.876,9.08 Z m 25.184,33.33 c -0.618,0.444 -0.761,1.303 -0.322,1.923 0.439,0.62 1.298,0.769 1.921,0.332 0.623,-0.437 0.776,-1.294 0.343,-1.919 -0.211,-0.305 -0.536,-0.512 -0.901,-0.575 -0.365,-0.063 -0.741,0.023 -1.042,0.239 z m 2.765,-5.605 a 1.68,1.68 0 0 0 0.069,2.966 1.68,1.68 0 0 0 2.179,-2.399 1.68,1.68 0 0 0 -2.248,-0.567 z m 1.308,-6.09 c -1.004,0.568 -1.359,1.842 -0.793,2.847 0.566,1.005 1.839,1.363 2.846,0.8 1.007,-0.563 1.367,-1.836 0.806,-2.844 A 2.09,2.09 0 0 0 54.73,30.503 c -0.537,-0.151 -1.111,-0.081 -1.596,0.193 z m -0.075,-6.109 c -1.144,0.568 -1.612,1.956 -1.046,3.101 0.566,1.145 1.956,1.614 3.101,1.046 1.145,-0.568 1.614,-1.956 1.046,-3.101 -0.568,-1.145 -1.956,-1.612 -3.101,-1.046 z M 40.354,49.621 a 1.01,1.01 0 0 0 -0.221,1.756 1.01,1.01 0 0 0 1.025,0.093 c 0.504,-0.224 0.747,-0.822 0.523,-1.308 A 1.01,1.01 0 0 0 40.355,49.639 Z M 12.218,41.139 c 1.271,-0.555 1.855,-2.032 1.308,-3.307 -0.547,-1.275 -2.033,-1.86 -3.307,-1.308 -1.274,0.552 -1.86,2.032 -1.308,3.307 0.552,1.275 2.033,1.855 3.307,1.308 z m 2.429,-23.503 c 0.404,-0.287 0.624,-0.768 0.577,-1.261 -0.047,-0.493 -0.353,-0.924 -0.803,-1.13 -0.45,-0.206 -0.977,-0.156 -1.381,0.131 -0.624,0.444 -0.771,1.309 -0.327,1.934 0.444,0.625 1.309,0.771 1.934,0.327 z m -2.765,5.605 a 1.68,1.68 0 0 0 -0.526,-3.063 1.68,1.68 0 0 0 -1.791,2.54 1.68,1.68 0 0 0 2.317,0.523 z m -1.308,6.09 a 2.1,2.1 0 0 0 0.044,-3.636 2.1,2.1 0 0 0 -2.903,2.833 2.1,2.1 0 0 0 2.858,0.803 z m 0.224,6.09 c 0.779,-0.344 1.307,-1.088 1.374,-1.938 0.067,-0.85 -0.338,-1.667 -1.055,-2.128 C 10.4,30.894 9.489,30.862 8.743,31.274 7.658,31.873 7.236,33.22 7.786,34.331 c 0.55,1.111 1.878,1.591 3.012,1.091 z m 17.244,17.263 c 0.146,0.667 0.757,1.127 1.439,1.084 a 1.4,1.4 0 0 0 1.084,-1.644 c -0.15,-0.748 -0.877,-1.233 -1.625,-1.084 -0.748,0.149 -1.233,0.877 -1.084,1.625 z m -5.978,-1.308 a 1.68,1.68 0 0 0 3.075,0.454 1.68,1.68 0 0 0 -1.861,-2.49 1.68,1.68 0 0 0 -1.214,2.036 z m -5.661,-2.653 c 0.352,1.099 1.528,1.706 2.628,1.355 1.1,-0.351 1.708,-1.525 1.359,-2.626 -0.349,-1.101 -1.522,-1.711 -2.623,-1.364 -1.104,0.341 -1.723,1.512 -1.383,2.616 z m -4.39,-3.736 a 2.3,2.3 0 0 0 2.97,1.364 c 1.111,-0.5 1.645,-1.775 1.221,-2.918 -0.424,-1.143 -1.659,-1.762 -2.828,-1.417 -1.195,0.446 -1.804,1.774 -1.364,2.971 z m 33.068,1.868 c -0.469,0.371 -0.549,1.053 -0.177,1.523 0.372,0.47 1.053,0.549 1.523,0.178 0.47,-0.371 0.549,-1.053 0.178,-1.523 -0.371,-0.47 -1.053,-0.549 -1.523,-0.177 z m -10.163,4.39 c -0.591,0.089 -0.999,0.639 -0.911,1.231 0.088,0.592 0.638,1 1.23,0.913 0.592,-0.087 1.001,-0.637 0.915,-1.228 -0.042,-0.285 -0.195,-0.542 -0.426,-0.714 -0.231,-0.172 -0.522,-0.244 -0.807,-0.202 z M 29.481,7.511 C 29.392,6.92 28.842,6.512 28.25,6.6 c -0.592,0.088 -1,0.638 -0.913,1.229 0.087,0.591 0.637,1.001 1.228,0.915 0.285,-0.041 0.542,-0.195 0.714,-0.426 0.172,-0.231 0.244,-0.522 0.202,-0.807 z m -10.911,4.11 c -0.177,-0.23 -0.439,-0.379 -0.727,-0.414 -0.288,-0.035 -0.578,0.047 -0.805,0.227 -0.467,0.371 -0.547,1.049 -0.178,1.518 0.369,0.469 1.047,0.552 1.517,0.185 0.47,-0.367 0.556,-1.044 0.192,-1.517 z" - fill="url(#D)" - id="path87" - style="fill:url(#D)" /> - <path - d="m 60.587,33.292 c -1.77,-0.01 -3.198,-1.45 -3.195,-3.22 0.003,-1.77 1.437,-3.204 3.207,-3.207 1.77,-0.003 3.209,1.425 3.22,3.195 0,0.856 -0.341,1.676 -0.948,2.279 -0.607,0.603 -1.429,0.94 -2.284,0.935 z M 48.164,5.53 C 48.297,4.909 48.09,4.264 47.619,3.838 47.148,3.412 46.486,3.27 45.881,3.464 45.276,3.658 44.822,4.161 44.689,4.782 a 1.78,1.78 0 0 0 1.364,2.111 1.78,1.78 0 0 0 2.111,-1.364 z m 6.352,4.54 a 2.15,2.15 0 0 0 -1.791,-2.45 2.15,2.15 0 0 0 -2.454,1.785 2.15,2.15 0 0 0 3.386,2.075 2.15,2.15 0 0 0 0.86,-1.41 z m 5.119,5.904 z m 3.176,6.819 c 0.088,-1.63 -1.163,-3.023 -2.793,-3.111 -1.63,-0.088 -3.023,1.163 -3.111,2.793 -0.057,1.055 0.453,2.059 1.338,2.636 0.885,0.577 2.01,0.637 2.952,0.159 0.942,-0.478 1.557,-1.422 1.613,-2.477 z M 33.348,1.308 A 1.3,1.3 0 0 0 32.041,0 1.29,1.29 0 0 0 30.752,1.289 1.29,1.29 0 0 0 32.041,2.578 1.3,1.3 0 0 0 33.349,1.27 Z m 12.704,51.975 c -0.621,0.133 -1.123,0.588 -1.318,1.192 -0.195,0.604 -0.052,1.267 0.374,1.737 0.426,0.47 1.071,0.679 1.692,0.545 a 1.78,1.78 0 0 0 1.364,-2.111 1.78,1.78 0 0 0 -2.111,-1.364 z m 5.978,-4.969 c -1.176,0.186 -1.979,1.29 -1.794,2.466 0.185,1.176 1.29,1.979 2.466,1.794 1.176,-0.185 1.979,-1.29 1.793,-2.466 -0.186,-1.176 -1.29,-1.979 -2.466,-1.793 z m 4.633,-6.501 a 2.69,2.69 0 0 0 -1.417,4.766 2.69,2.69 0 0 0 4.369,-2.375 2.69,2.69 0 0 0 -2.952,-2.391 z m 2.989,-7.23 a 2.97,2.97 0 0 0 -2.802,3.101 c 0.088,1.63 1.48,2.881 3.111,2.793 1.631,-0.088 2.881,-1.48 2.793,-3.111 a 2.97,2.97 0 0 0 -3.12,-2.802 z m -27.65,22.98 a 1.29,1.29 0 0 0 -1.289,1.289 1.29,1.29 0 0 0 2.406,0.645 1.29,1.29 0 0 0 -1.116,-1.934 z M 3.232,33.274 c 1.77,-0.01 3.198,-1.45 3.195,-3.22 C 6.424,28.284 4.989,26.85 3.22,26.847 1.451,26.844 0.01,28.272 0,30.042 0.01,31.82 1.454,33.255 3.232,33.255 Z M 18.178,6.857 c 0.461,-0.098 0.864,-0.376 1.12,-0.773 0.256,-0.397 0.343,-0.878 0.244,-1.338 -0.207,-0.957 -1.151,-1.566 -2.109,-1.36 -0.958,0.206 -1.567,1.15 -1.361,2.107 0.206,0.957 1.148,1.568 2.106,1.363 z m -5.978,4.97 a 2.15,2.15 0 0 0 1.779,-2.459 2.15,2.15 0 0 0 -2.454,-1.785 2.15,2.15 0 0 0 -0.931,3.86 2.15,2.15 0 0 0 1.606,0.383 z M 7.567,18.329 A 2.69,2.69 0 0 0 7.006,12.986 c -0.954,0.1 -1.783,0.702 -2.173,1.579 -0.39,0.877 -0.284,1.895 0.28,2.672 0.564,0.777 1.499,1.193 2.454,1.093 z m -2.989,7.23 A 2.97,2.97 0 0 0 7.38,22.439 2.95,2.95 0 0 0 4.26,19.637 c -1.63,0.088 -2.881,1.48 -2.793,3.111 0.088,1.631 1.48,2.881 3.111,2.793 z M 16.086,54.61 c -0.205,0.958 0.406,1.901 1.363,2.106 0.957,0.205 1.901,-0.404 2.107,-1.361 0.206,-0.957 -0.402,-1.901 -1.36,-2.109 -0.461,-0.1 -0.942,-0.012 -1.339,0.244 -0.397,0.256 -0.674,0.659 -0.773,1.12 z M 9.734,50.07 a 2.15,2.15 0 0 0 1.794,2.466 2.15,2.15 0 0 0 2.45,-1.791 2.15,2.15 0 0 0 -1.785,-2.454 2.15,2.15 0 0 0 -2.459,1.779 z M 4.447,44.166 c -0.155,1.475 0.916,2.797 2.391,2.952 1.475,0.155 2.797,-0.916 2.952,-2.391 A 2.69,2.69 0 0 0 7.399,41.775 2.67,2.67 0 0 0 4.447,44.166 Z M 1.084,37.403 a 2.95,2.95 0 0 0 2.802,3.101 C 4.941,40.561 5.945,40.05 6.522,39.166 7.099,38.282 7.159,37.156 6.681,36.214 6.203,35.272 5.259,34.657 4.204,34.6 a 2.97,2.97 0 0 0 -3.12,2.802 z m 37.851,19.168 c -0.736,0.202 -1.169,0.962 -0.968,1.698 0.201,0.736 0.96,1.17 1.697,0.97 0.737,-0.2 1.171,-0.959 0.971,-1.696 -0.092,-0.358 -0.324,-0.664 -0.643,-0.85 a 1.38,1.38 0 0 0 -1.057,-0.14 z m -14.199,0 a 1.3910607,1.3910607 0 0 0 -0.71,2.69 1.39,1.39 0 0 0 1.697,-1.71 1.39,1.39 0 0 0 -0.987,-0.98 z M 40.616,2.672 C 40.806,1.935 40.364,1.183 39.627,0.99 38.89,0.797 38.137,1.236 37.941,1.972 c -0.196,0.736 0.24,1.491 0.975,1.69 a 1.38,1.38 0 0 0 1.7,-0.99 z M 25.745,1.906 a 1.3910607,1.3910607 0 1 0 -2.69,0.71 1.3910607,1.3910607 0 1 0 2.69,-0.71 z" - fill="url(#E)" - id="path89" - style="fill:url(#E)" /> - </g> - </symbol> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1001"><path fill="#d64000" d="M864.394 135.44c12.71 12.685 19.677 29.665 19.677 47.72 0 18.053-6.992 35.033-19.652 47.743a67.42 67.42 0 0 1-95.263 0 67.07 67.07 0 0 1-19.677-47.744c0-18.054 6.992-35.034 19.677-47.744a67.12 67.12 0 0 1 47.694-19.826c17.354 0 34.51 6.617 47.744 19.826h-.175zM135.375 865.907a67.67 67.67 0 0 1 0-95.463 67.2 67.2 0 0 1 47.72-19.851c18.053 0 35.033 6.991 47.718 19.851a67.67 67.67 0 0 1 0 95.463 67.17 67.17 0 0 1-47.694 19.852c-18.078 0-35.058-6.992-47.744-19.852M649.222 140.61h-.525a59.3 59.3 0 0 1-31.463-31.987 58.38 58.38 0 0 1 0-45.247 59.08 59.08 0 0 1 54.511-36.457c7.492 0 15.357 1.598 22.524 4.47a59.355 59.355 0 0 1 31.962 77.234 59.18 59.18 0 0 1-77.01 31.987M328.399 856.443c7.69 0 15.207 1.598 22.523 4.47a59.355 59.355 0 0 1 31.988 77.234 58.53 58.53 0 0 1-31.963 31.988 58.36 58.36 0 0 1-45.247 0 59.355 59.355 0 0 1-31.962-77.235 59.11 59.11 0 0 1 54.486-36.457zM550.563 51.938a50.69 50.69 0 0 1-48.244 50.591h-2.322a50.665 50.665 0 0 1-50.59-50.59c-.026-27.868 22.698-50.591 50.59-50.591 27.867 0 50.566 22.873 50.566 50.765zM449.382 949.584c0-27.892 22.723-50.59 50.615-50.59 27.867 0 50.566 22.698 50.566 50.59a50.665 50.665 0 0 1-50.566 50.59 50.665 50.665 0 0 1-50.59-50.59zM344.68 125.052a41.8 41.8 0 0 1-32.188 0 41.65 41.65 0 0 1-22.873-22.873 42.2 42.2 0 1 1 77.909-32.362c4.32 10.538 4.32 21.975 0 32.362a41.1 41.1 0 0 1-22.848 22.873M655.14 876.47a43.2 43.2 0 0 1 16.23-3.222q8.316 0 16.107 3.222a42.275 42.275 0 0 1 22.873 55.235 41.1 41.1 0 0 1-22.873 22.898 42.28 42.28 0 0 1-32.362 0 41.1 41.1 0 0 1-22.873-22.898 42.275 42.275 0 0 1 22.873-55.235zM206.866 159.737c12.885 13.06 13.235 33.81.725 47.194l-.725.75c-13.234 13.209-34.659 13.209-47.693 0a33.885 33.885 0 0 1 0-47.944c6.592-6.592 15.182-9.814 23.921-9.814 8.765 0 17.355 3.222 23.972 9.814zm585.687 634.48c6.443-6.618 15.208-9.84 23.772-9.84 8.59 0 17.33 3.247 23.972 9.84 6.418 6.242 9.814 14.832 9.814 23.971a33.685 33.685 0 1 1-67.371 0c0-8.94 3.57-17.53 9.813-23.972m-722.775-426.2a42.375 42.375 0 0 1-22.874-55.235c4.295-10.538 12.336-18.603 22.874-22.873 5.368-2.148 10.737-3.246 16.28-3.246s10.888 1.098 16.082 3.246a42.525 42.525 0 0 1 22.873 55.235 41.1 41.1 0 0 1-22.873 22.873c-10.538 4.295-21.975 4.295-32.163 0zM930.192 633.68a42.3 42.3 0 0 1 22.873 55.235 42.2 42.2 0 0 1-77.934 0 42.3 42.3 0 0 1 38.955-58.431c16.455 0 10.737 1.048 16.106 3.196M1.158 501.01c0-27.866 22.698-50.59 50.59-50.59 27.868 0 50.566 22.724 50.566 50.59a50.665 50.665 0 0 1-50.565 50.616 50.665 50.665 0 0 1-50.59-50.615m896.497 0c0-27.866 22.698-50.59 50.566-50.59 27.892 0 50.59 22.724 50.59 50.59a50.665 50.665 0 0 1-50.59 50.616 50.665 50.665 0 0 1-50.566-50.59zM31.173 695.184a59.056 59.056 0 0 1 32.012-77.235 59.08 59.08 0 0 1 77.21 32.013 58.38 58.38 0 0 1 0 45.197 59.106 59.106 0 0 1-109.222 0zM859.225 351.56a57.93 57.93 0 0 1 0-45.047 59.11 59.11 0 0 1 54.511-36.457c23.223 0 45.197 13.759 54.511 36.457a59.056 59.056 0 0 1-31.987 77.235 59.106 59.106 0 0 1-77.21-32.013zM643.33 644.417a47.27 47.27 0 0 0 0 67.022 47.22 47.22 0 0 0 67.021 0 46.95 46.95 0 0 0 13.934-33.411c0-12.71-4.995-24.671-13.934-33.46a46.77 46.77 0 0 0-33.436-13.735 47.94 47.94 0 0 0-33.585 13.734zM248.343 472.045a37.456 37.456 0 0 1-26.47-45.946c2.698-9.639 8.766-17.68 17.53-22.873 5.719-3.396 12.161-4.994 18.578-4.994 6.443 0 6.443.35 9.664 1.248 9.639 2.697 17.68 8.765 22.698 17.53 4.995 8.74 6.243 18.777 3.746 28.59a37.556 37.556 0 0 1-45.946 26.645l.2-.175zm483.632 129.822a37.26 37.26 0 0 1-22.724-17.53c-4.994-8.739-6.242-18.777-3.745-28.615a37.606 37.606 0 0 1 36.282-27.893c6.442 0 5.369.2 8.066.9l1.772.549a37.556 37.556 0 0 1 8.94 68.819c-8.74 4.994-18.778 6.442-28.591 3.745zm-502.76-28.441a30.29 30.29 0 0 1 19.477-36.457l1.798-.525a30.215 30.215 0 0 1 36.807 21.275c2.147 7.866 1.074 15.907-3.046 22.873-3.92 6.992-10.538 11.986-18.229 14.134-7.866 2.122-15.732 1.048-22.873-3.047a29.24 29.24 0 0 1-13.934-18.228zm497.39-111.195-1.248-.724a30.1 30.1 0 0 1-12.685-17.504 30.09 30.09 0 1 1 36.807 21.275c-7.666 2.122-15.732.874-22.873-3.047M339.66 692.686l-.898.899c-8.74 8.74-23.223 8.74-31.963 0a22.598 22.598 0 1 1 38.605-15.907 21.23 21.23 0 0 1-5.744 14.983zm352.986-385.273c4.295 4.295 6.617 10.013 6.617 16.081a22.598 22.598 0 1 1-45.197 0 22.573 22.573 0 0 1 22.673-22.698c6.093 0 11.812 2.322 16.082 6.617zM461.018 727.744c3.945 6.942 4.994 14.983 3.046 22.874-2.147 7.84-6.991 14.283-13.933 18.228-6.992 3.92-15.033 4.994-22.898 3.047a30.165 30.165 0 0 1-21.25-36.832c2.147-7.866 6.966-14.308 13.933-18.229 6.992-3.945 15.008-5.019 22.873-3.046 7.866 2.147 14.134 7.141 18.229 14.108v-.175zm77.384-453.766c-3.92-6.967-4.994-15.008-3.021-22.874 2.147-7.865 6.966-14.308 13.933-18.228 4.645-2.697 9.839-3.946 15.008-3.946 5.193 0 5.193.375 7.865 1.074 7.866 2.148 14.309 6.992 18.229 14.134a30.015 30.015 0 0 1-33.785 44.148 29.04 29.04 0 0 1-18.229-14.109zm45.222 436.412 1.623.874c7.866 4.994 13.384 12.71 15.906 21.824a37.38 37.38 0 0 1-26.469 45.946 37.2 37.2 0 0 1-28.591-3.745c-8.74-5.02-14.833-13.06-17.504-22.899a37.3 37.3 0 0 1 3.745-28.616 37.26 37.26 0 0 1 32.537-18.753c6.417 0 12.86 1.773 18.753 4.994zM444.762 295.078a37.556 37.556 0 0 1-45.946-26.644 37.38 37.38 0 0 1 36.108-47.195c16.63 0 31.812 11.087 36.282 27.893a37.38 37.38 0 0 1-26.469 45.946zm-121.907 75.436c26.095 0 47.195-21.275 47.195-47.37a47.294 47.294 0 0 0-47.195-47.369c-26.094 0-47.194 21.275-47.194 47.37s21.1 47.37 47.194 47.37" style="stroke-width:24.9706"/></svg> \ No newline at end of file diff --git a/src/assets/images/search-icon-light.svg b/src/assets/images/search-icon-light.svg index 432fd136..ecf12d86 100644 --- a/src/assets/images/search-icon-light.svg +++ b/src/assets/images/search-icon-light.svg @@ -1,38 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - viewBox="0 0 24 24" - fill="currentColor" - version="1.1" - id="svg417" - sodipodi:docname="search-icon-white.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs421" /> - <sodipodi:namedview - id="namedview419" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="32.416667" - inkscape:cx="9.0077121" - inkscape:cy="12" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg417" /> - <path - d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" - id="path415" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fff" d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"/></svg> diff --git a/src/assets/images/search-icon.svg b/src/assets/images/search-icon.svg index cb73ff15..4af443f1 100644 --- a/src/assets/images/search-icon.svg +++ b/src/assets/images/search-icon.svg @@ -1,3 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor"> - <path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.5 14h-.79l-.28-.27A6.47 6.47 0 0 0 16 9.5 6.5 6.5 0 1 0 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"/></svg> \ No newline at end of file diff --git a/src/assets/images/sendFiles-icon-light.svg b/src/assets/images/sendFiles-icon-light.svg index f2447a77..107a437b 100644 --- a/src/assets/images/sendFiles-icon-light.svg +++ b/src/assets/images/sendFiles-icon-light.svg @@ -1,40 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="24px" - viewBox="0 0 24 24" - width="24px" - fill="currentColor" - version="1.1" - id="svg546" - sodipodi:docname="sendFiles-icon-white.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs550" /> - <sodipodi:namedview - id="namedview548" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="32.416667" - inkscape:cx="9.0077121" - inkscape:cy="12" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg546" /> - <path - d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z" - id="path544" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fff" d="M19.35 10.04A7.49 7.49 0 0 0 12 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 0 0 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z"/></svg> diff --git a/src/assets/images/sendFiles-icon.svg b/src/assets/images/sendFiles-icon.svg index 5557664e..e4a65abb 100644 --- a/src/assets/images/sendFiles-icon.svg +++ b/src/assets/images/sendFiles-icon.svg @@ -1,3 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19.35 10.04A7.49 7.49 0 0 0 12 4C9.11 4 6.6 5.64 5.35 8.04A5.994 5.994 0 0 0 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96M14 13v4h-4v-4H7l5-5 5 5z"/></svg> \ No newline at end of file diff --git a/src/assets/images/snopes-icon.svg b/src/assets/images/snopes-icon.svg index e668aca9..b3f61482 100644 --- a/src/assets/images/snopes-icon.svg +++ b/src/assets/images/snopes-icon.svg @@ -1,75 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="123.47222mm" - height="123.47222mm" - viewBox="0 0 123.47222 123.47222" - version="1.1" - id="svg5" - xml:space="preserve" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - sodipodi:docname="snopes-icon.svg" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns:xlink="http://www.w3.org/1999/xlink" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview - id="namedview7" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - inkscape:document-units="mm" - showgrid="false" - inkscape:zoom="0.70710678" - inkscape:cx="182.43355" - inkscape:cy="261.62951" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="layer1" /><defs - id="defs2"><linearGradient - inkscape:collect="always" - id="linearGradient939"><stop - style="stop-color:#fbfff5;stop-opacity:1;" - offset="0.8687005" - id="stop935" /><stop - style="stop-color:#ffffff;stop-opacity:0;" - offset="1" - id="stop937" /></linearGradient><radialGradient - inkscape:collect="always" - xlink:href="#linearGradient939" - id="radialGradient943" - cx="93.969383" - cy="149.13199" - fx="93.969383" - fy="149.13199" - r="12.139586" - gradientUnits="userSpaceOnUse" /></defs><g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-4.3063059,-93.635353)"><circle - style="fill:#fcd43f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.55348;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.411765;paint-order:stroke fill markers;stop-color:#000000" - id="path5528" - cx="66.042419" - cy="155.37146" - r="61.736" /><path - id="path2997" - style="fill:#feea89;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" - d="m 109.74268,135.95525 -30.193498,28.03136 -10.805014,52.85208 2.1518,0.0692 a 61.736,61.736 0 0 0 56.882302,-61.53629 61.736,61.736 0 0 0 -0.50126,-7.84087 z" /><circle - style="fill:url(#radialGradient943);fill-rule:evenodd;stroke-width:1.8476;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.411765;paint-order:stroke fill markers;stop-color:#000000;fill-opacity:1" - id="path356" - cx="93.969383" - cy="149.13199" - r="12.139586" /><path - style="fill:#060403;stroke:none;stroke-width:0.352778" - d="m 79.447971,164.54369 30.338889,-28.575 v 0 l -15.522222,-15.98334 -9.525,-0.0182 -13.405556,-12.45147 -17.345377,15.76695 c 0,0 2.629606,4.52963 3.587044,5.98332 v -4e-5 c -9.442097,-2.24903 -21.148851,-0.28328 -28.927777,5.60916 -10.090714,7.64329 -14.49264,23.19408 -6.385383,33.90195 7.110976,9.392 19.237783,12.52573 29.315938,17.55175 4.741686,2.36502 9.745486,4.89691 12.887678,9.3599 5.189361,7.37023 1.854553,16.07009 -4.773789,21.06613 v 0.35277 h 10.936111 c 1.237192,0 3.291417,0.38418 4.361392,-0.36265 1.865841,-1.30246 2.811286,-5.29626 3.240969,-7.39846 1.531408,-7.48912 0.323144,-15.99106 -4.84505,-21.87222 -8.175625,-9.3031 -20.769791,-11.92177 -31.332311,-17.45756 -5.104447,-2.67547 -10.399853,-6.17996 -11.754625,-12.17577 -1.650965,-7.30674 3.645429,-13.8684 9.990737,-16.69839 7.186083,-3.20498 22.923499,1.29152 22.923499,1.29152 l 1.942747,6.58742 z" - id="path302" - sodipodi:nodetypes="ccccccccccsccccscccccsccc" /></g></svg> +<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 123.472 123.472"><defs><radialGradient xlink:href="#a" id="b" cx="93.969" cy="149.132" r="12.14" fx="93.969" fy="149.132" gradientUnits="userSpaceOnUse"/><linearGradient id="a"><stop offset=".869" style="stop-color:#fbfff5;stop-opacity:1"/><stop offset="1" style="stop-color:#fff;stop-opacity:0"/></linearGradient></defs><g transform="translate(-4.306 -93.635)"><circle cx="66.042" cy="155.371" r="61.736" style="fill:#fcd43f;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3.55348;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.411765;paint-order:stroke fill markers;stop-color:#000"/><path d="m109.743 135.955-30.194 28.032-10.805 52.852 2.152.069a61.736 61.736 0 0 0 56.882-61.536 62 62 0 0 0-.501-7.841z" style="fill:#feea89;fill-opacity:1;stroke:none;stroke-width:.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"/><circle cx="93.969" cy="149.132" r="12.14" style="fill:url(#b);fill-rule:evenodd;stroke-width:1.8476;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.411765;paint-order:stroke fill markers;stop-color:#000;fill-opacity:1"/><path d="m79.448 164.544 30.339-28.575-15.522-15.984-9.525-.018-13.406-12.451-17.345 15.767s2.63 4.53 3.587 5.983c-9.442-2.25-21.15-.283-28.928 5.61-10.09 7.642-14.493 23.193-6.385 33.901 7.11 9.392 19.237 12.526 29.316 17.552 4.741 2.365 9.745 4.897 12.887 9.36 5.19 7.37 1.855 16.07-4.774 21.066v.353H70.63c1.237 0 3.29.384 4.36-.363 1.867-1.303 2.812-5.296 3.242-7.399 1.531-7.489.323-15.99-4.845-21.872-8.176-9.303-20.77-11.922-31.332-17.457-5.105-2.676-10.4-6.18-11.755-12.176-1.651-7.307 3.645-13.868 9.99-16.698 7.187-3.205 22.924 1.291 22.924 1.291l1.943 6.587z" style="fill:#060403;stroke:none;stroke-width:.352778"/></g></svg> \ No newline at end of file diff --git a/src/assets/images/soundcloud-icon.svg b/src/assets/images/soundcloud-icon.svg index fe800af3..b249ac11 100644 --- a/src/assets/images/soundcloud-icon.svg +++ b/src/assets/images/soundcloud-icon.svg @@ -1,43 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="87.053955mm" - height="87.053955mm" - viewBox="0 0 87.053955 87.053956" - version="1.1" - id="svg1" - xml:space="preserve" - inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" - sodipodi:docname="soundcloud-icon.svg" - 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="namedview1" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - inkscape:document-units="mm" - inkscape:zoom="1.1452094" - inkscape:cx="123.99479" - inkscape:cy="250.17258" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="layer1" /><defs - id="defs1" /><g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(-12.363839,-103.73239)"><path - style="fill:#f26e1e;fill-opacity:1;stroke-width:0.999996" - d="m 34.898173,164.03329 c -0.329046,-0.76149 -0.403939,-21.90325 -0.0864,-24.39023 0.160234,-1.25497 0.241744,-1.40949 0.743482,-1.40949 0.505915,0 0.578237,0.14409 0.707482,1.40949 0.07917,0.77521 0.27221,4.82901 0.428955,9.00845 0.243843,6.50178 0.2307,8.17251 -0.09103,11.57129 -0.206813,2.18478 -0.447258,4.08758 -0.534324,4.22846 -0.291339,0.47139 -0.873946,0.26294 -1.168163,-0.41797 z m 10.003479,0.2889 c -0.233796,-0.23379 -0.391925,-0.83598 -0.402306,-1.53204 -0.0095,-0.63077 -0.109057,-2.41539 -0.221441,-3.96583 -0.250331,-3.45354 0.198917,-21.56298 0.545768,-22.00023 0.313055,-0.39465 1.031221,-0.39353 1.359578,0.002 0.155808,0.18773 0.365067,3.83821 0.534478,9.32386 0.321244,10.40208 0.05269,17.69113 -0.672432,18.25091 -0.515189,0.39772 -0.678375,0.38649 -1.143645,-0.0788 z m 13.23953,-0.15071 c -0.344117,-0.4913 -0.387816,-2.36857 -0.387816,-16.66008 0,-13.46796 0.05614,-16.16254 0.342701,-16.44909 0.679185,-0.67919 4.037101,-1.28661 7.011141,-1.26826 3.362765,0.0208 5.170787,0.43615 8.089225,1.8586 2.70764,1.3197 6.048842,4.56473 7.411073,7.19774 0.935747,1.80868 1.903793,4.89747 1.903793,6.07451 0,0.61031 0.06759,0.67386 0.551538,0.51862 5.043399,-1.61786 10.092559,0.5262 12.350362,5.24446 0.966363,2.01946 1.107445,5.0889 0.332046,7.22405 -1.059583,2.91771 -3.01897,4.97311 -5.818311,6.10346 l -1.409998,0.56934 -14.993969,0.0701 -14.993969,0.0702 z m -29.677062,-0.0156 c -0.328485,-0.97132 -0.586254,-9.47647 -0.377032,-12.44024 0.128485,-1.82007 0.237501,-3.67118 0.24226,-4.11358 0.0087,-0.81159 0.570639,-1.31649 0.982502,-0.88281 0.113032,0.11902 0.379797,2.09426 0.592811,4.38943 0.370888,3.99619 0.366318,4.35455 -0.107834,8.45691 -0.540044,4.67244 -0.584405,4.89671 -0.968573,4.89671 -0.143282,0 -0.307143,-0.13788 -0.364134,-0.30642 z m 3.271856,0.24514 c -0.0186,-0.0338 -0.222195,-2.04682 -0.452437,-4.47359 -0.382157,-4.02797 -0.388216,-4.99949 -0.06954,-11.15332 0.191992,-3.70756 0.392127,-6.8789 0.444744,-7.04743 0.05261,-0.16853 0.304574,-0.30641 0.559906,-0.30641 0.526356,0 0.549924,0.20272 1.040393,8.94934 0.232449,4.14529 0.213662,5.58284 -0.12133,9.28425 -0.218002,2.40872 -0.456014,4.47601 -0.528916,4.59397 -0.118254,0.19135 -0.786997,0.3087 -0.872815,0.15319 z m 6.54247,-0.1632 c -0.596982,-0.96594 -0.71293,-18.73719 -0.166145,-25.46509 0.139453,-1.71592 0.203477,-1.89444 0.704922,-1.96566 0.303346,-0.0431 0.566655,-0.0431 0.585132,0 0.01848,0.0431 0.156361,4.18559 0.30641,9.20557 0.267054,8.93446 0.07335,17.38755 -0.415752,18.14324 -0.231761,0.35811 -0.814792,0.40518 -1.014567,0.0819 z m 3.207861,0.0343 c -0.06464,-0.10459 -0.244529,-2.1567 -0.399739,-4.56022 -0.212283,-3.28737 -0.212987,-6.68395 -0.0029,-13.70989 0.153646,-5.13692 0.333527,-9.42751 0.399737,-9.53464 0.191243,-0.30943 1.077627,-0.22582 1.183337,0.11164 0.05279,0.16852 0.204884,4.43019 0.337981,9.47039 0.245028,9.2789 0.01448,17.44434 -0.51124,18.10649 -0.272149,0.34279 -0.827603,0.40688 -1.007234,0.11623 z m 6.920925,-0.21452 c -0.231019,-0.27792 -0.413227,-1.70897 -0.581553,-4.5675 -0.302477,-5.13674 0.08977,-21.81278 0.523267,-22.2458 0.152976,-0.15281 0.539052,-0.24092 0.857948,-0.19579 0.53688,0.076 0.591265,0.22303 0.734522,1.98652 0.617061,7.59599 0.420108,24.21929 -0.297192,25.08358 -0.378674,0.45628 -0.825297,0.43425 -1.236992,-0.061 z m 3.223226,0.0433 c -0.616984,-0.74341 -0.835776,-8.18003 -0.569799,-19.36716 0.228623,-9.61602 0.286408,-10.5273 0.686068,-10.81954 0.76202,-0.55721 1.292809,-0.0168 1.483611,1.51023 0.09345,0.7479 0.184162,7.22888 0.201594,14.40214 0.02717,11.17908 -0.02111,13.14694 -0.337866,13.77471 -0.4278,0.8478 -1.009769,1.04646 -1.463608,0.49962 z m 3.469018,0.0449 c -0.144453,-0.17405 -0.391278,-2.2596 -0.548502,-4.63455 -0.343258,-5.18508 0.08626,-26.7776 0.54363,-27.32869 0.365818,-0.44079 0.793744,-0.40428 1.24978,0.10664 0.326565,0.36587 0.4133,1.92565 0.589529,10.60179 0.244868,12.0552 0.244488,12.55252 -0.01317,17.22863 -0.145776,2.6456 -0.296696,3.72105 -0.558988,3.98334 -0.44356,0.44355 -0.916386,0.4596 -1.262274,0.0428 z m -29.806524,-0.14298 c -0.07284,-0.11785 -0.310969,-2.11097 -0.529169,-4.42915 -0.364764,-3.8753 -0.365054,-4.58286 -0.0036,-8.78287 0.366362,-4.25713 0.598349,-5.32305 1.058385,-4.86302 0.101828,0.10183 0.363242,2.19032 0.580919,4.6411 0.349691,3.93709 0.356354,4.92691 0.05722,8.50055 -0.186203,2.22454 -0.392726,4.29282 -0.458939,4.59617 -0.122485,0.56116 -0.465102,0.72509 -0.70481,0.33722 z m -3.021608,-0.52108 c -0.128739,-0.33705 -0.374082,-2.29793 -0.545206,-4.35751 -0.251414,-3.02589 -0.251425,-4.53158 -6.1e-5,-7.84409 0.171092,-2.25468 0.416434,-4.37518 0.545206,-4.71223 0.221173,-0.5789 0.244254,-0.58569 0.41705,-0.12257 0.100606,0.26964 0.327365,2.34432 0.503908,4.61041 0.263795,3.386 0.264285,4.82736 0.0028,8.08922 -0.175032,2.18299 -0.40179,4.1897 -0.503908,4.45934 -0.175561,0.46356 -0.198416,0.45689 -0.41974,-0.12257 z m -3.259067,-0.73538 c -0.02726,-0.0674 -0.229279,-1.77718 -0.448934,-3.79948 -0.361663,-3.32973 -0.364597,-4.01659 -0.03108,-7.27414 0.523179,-5.10994 0.588674,-5.0805 1.377503,0.6193 0.375874,2.71592 0.374585,3.11509 -0.01978,6.1282 -0.37764,2.88531 -0.739373,4.66824 -0.877713,4.32612 z m -3.364363,-5.20888 c -0.37561,-3.34492 0.285861,-8.58316 0.773853,-6.1282 0.597314,3.00492 0.664002,3.8945 0.407316,5.43326 -0.62881,3.76953 -0.823081,3.88382 -1.181169,0.69494 z" - id="path1" - sodipodi:nodetypes="ssssssssscssscsscccsssssscsssccccsssssssssssssssssscssssscccsssssscccsssssccssssssscssssssccssssssssssssssssssssssssssssss" /></g></svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 87.054 87.054"><path d="M34.898 164.033c-.329-.761-.404-21.903-.086-24.39.16-1.255.242-1.41.743-1.41.506 0 .578.145.708 1.41.079.775.272 4.83.429 9.009.244 6.501.23 8.172-.091 11.57-.207 2.186-.448 4.088-.535 4.23-.291.47-.874.262-1.168-.419m10.004.29c-.234-.235-.392-.837-.403-1.533-.01-.63-.109-2.415-.221-3.966-.25-3.453.199-21.563.546-22 .313-.395 1.03-.393 1.36.002.155.188.364 3.838.534 9.324.321 10.402.052 17.691-.673 18.25-.515.399-.678.387-1.143-.078zm13.24-.152c-.345-.49-.389-2.368-.389-16.66 0-13.468.057-16.162.343-16.449.68-.679 4.037-1.286 7.011-1.268 3.363.02 5.171.436 8.09 1.859 2.707 1.32 6.048 4.564 7.41 7.197.936 1.81 1.904 4.898 1.904 6.075 0 .61.068.674.552.519 5.043-1.618 10.092.526 12.35 5.244.967 2.02 1.108 5.089.332 7.224-1.06 2.918-3.019 4.973-5.818 6.103l-1.41.57-14.994.07-14.994.07zm-29.678-.015c-.328-.971-.586-9.477-.377-12.44.129-1.82.238-3.672.242-4.114.009-.812.571-1.316.983-.883.113.12.38 2.095.593 4.39.37 3.996.366 4.354-.108 8.457-.54 4.672-.585 4.896-.969 4.896-.143 0-.307-.138-.364-.306m3.272.245c-.019-.034-.222-2.047-.452-4.474-.383-4.028-.389-5-.07-11.153.192-3.707.392-6.879.445-7.047s.304-.307.56-.307c.526 0 .55.203 1.04 8.95.232 4.145.214 5.582-.121 9.284-.218 2.409-.456 4.476-.53 4.594-.117.191-.786.309-.872.153m6.542-.163c-.597-.966-.712-18.737-.166-25.465.14-1.716.204-1.895.705-1.966.304-.043.567-.043.585 0s.157 4.186.307 9.206c.267 8.934.073 17.387-.416 18.143-.232.358-.815.405-1.015.082m3.208.034c-.064-.104-.244-2.157-.4-4.56-.212-3.287-.212-6.684-.002-13.71.153-5.137.333-9.427.4-9.535.19-.31 1.077-.225 1.183.112.053.169.205 4.43.338 9.47.245 9.28.014 17.445-.512 18.107-.272.343-.827.407-1.007.116m6.921-.214c-.23-.278-.413-1.71-.581-4.568-.303-5.137.09-21.813.523-22.246.153-.153.539-.24.858-.195.537.076.591.223.734 1.986.617 7.596.42 24.22-.297 25.084-.378.456-.825.434-1.237-.061m3.223.043c-.617-.744-.835-8.18-.57-19.367.23-9.616.287-10.528.687-10.82.762-.557 1.293-.017 1.483 1.51.094.748.185 7.23.202 14.403.027 11.179-.021 13.147-.338 13.774-.428.848-1.01 1.047-1.464.5m3.47.045c-.145-.174-.392-2.26-.549-4.635-.343-5.185.086-26.777.544-27.328.365-.441.793-.405 1.25.106.326.366.413 1.926.589 10.602.245 12.055.244 12.553-.013 17.229-.146 2.645-.297 3.72-.56 3.983-.443.444-.916.46-1.262.043m-29.807-.143c-.073-.118-.311-2.111-.53-4.43-.364-3.875-.364-4.582-.003-8.782.367-4.257.599-5.323 1.059-4.863.101.102.363 2.19.58 4.64.35 3.938.357 4.928.058 8.501-.186 2.225-.393 4.293-.46 4.597-.122.56-.464.725-.704.337m-3.022-.521c-.128-.337-.374-2.298-.545-4.358-.251-3.026-.251-4.531 0-7.844.171-2.255.417-4.375.545-4.712.221-.579.245-.586.417-.123.1.27.328 2.345.504 4.61.264 3.387.265 4.828.003 8.09-.175 2.183-.402 4.19-.504 4.46-.175.463-.198.456-.42-.123m-3.259-.736c-.027-.067-.229-1.777-.449-3.8-.361-3.329-.364-4.016-.03-7.273.522-5.11.588-5.08 1.377.619.376 2.716.374 3.115-.02 6.128-.378 2.886-.74 4.668-.878 4.326m-3.364-5.209c-.376-3.344.286-8.583.774-6.128.597 3.005.664 3.895.407 5.434-.629 3.77-.823 3.883-1.181.694" style="fill:#f26e1e;fill-opacity:1;stroke-width:.999996" transform="translate(-12.364 -103.732)"/></svg> \ No newline at end of file diff --git a/src/assets/images/stackOverflow-icon-light.svg b/src/assets/images/stackOverflow-icon-light.svg index 96209c41..6bbf26ec 100644 --- a/src/assets/images/stackOverflow-icon-light.svg +++ b/src/assets/images/stackOverflow-icon-light.svg @@ -1,47 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - width="175.8376" - height="175.8376" - viewBox="0 0 175.8376 175.8376" - version="1.1" - id="svg10" - sodipodi:docname="stackOverflow-icon-light.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - 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"><defs - id="defs14" /><sodipodi:namedview - id="namedview12" - pagecolor="#a3a3a3" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="1" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="1.9790997" - inkscape:cx="-50.022745" - inkscape:cy="83.371242" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="g8" /><g - fill="none" - fill-rule="evenodd" - id="g8" - transform="translate(39.816113,25.779453)"><polygon - fill="#bbbbbb" - points="88,80 99,80 99,124 0,124 0,80 11,80 11,113 88,113 " - id="polygon4" - transform="matrix(1.1256102,0,0,1.1256102,-6.5518215,-7.7998911)" - style="fill:#ffffff" /><path - fill="#f58025" - fill-rule="nonzero" - d="M 19.323584,78.568179 80.134675,91.349484 82.690935,79.192893 21.879844,66.405962 Z M 27.370571,49.449769 83.702859,75.685493 88.950454,64.41926 32.61704,38.183537 Z m 15.58745,-27.637107 47.75739,39.768934 7.953566,-9.550802 -47.757396,-39.767808 z m 30.827086,-29.3964357 -9.972906,7.41777128 37.086609,49.86453142 9.9729,-7.416645 z M 18.211603,107.01235 H 80.120164 V 94.630637 H 18.211603 Z" - id="path6" - style="fill:#ffffff;stroke-width:1.12561" /></g></svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 175.838 175.838"><path d="M88 80h11v44H0V80h11v33h77z" style="fill:#fff" transform="translate(33.264 17.98)scale(1.12561)"/><path d="m19.324 78.568 60.81 12.781 2.557-12.156L21.88 66.406ZM27.37 49.45l56.332 26.235L88.95 64.42 32.617 38.184Zm15.587-27.637 47.757 39.769 7.954-9.551-47.757-39.768zM73.785-7.584 63.812-.166 100.9 49.699l9.973-7.417zM18.212 107.012H80.12V94.631H18.212Z" style="fill:#fff;stroke-width:1.12561" transform="translate(39.816 25.78)"/></svg> \ No newline at end of file diff --git a/src/assets/images/stackOverflow-icon.svg b/src/assets/images/stackOverflow-icon.svg index b0e08556..de6243f3 100644 --- a/src/assets/images/stackOverflow-icon.svg +++ b/src/assets/images/stackOverflow-icon.svg @@ -1,47 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - width="175.8376" - height="175.8376" - viewBox="0 0 175.8376 175.8376" - version="1.1" - id="svg10" - sodipodi:docname="stackOverflow-icon.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - 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"><defs - id="defs14" /><sodipodi:namedview - id="namedview12" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="1" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="1.9790997" - inkscape:cx="-12.632006" - inkscape:cy="84.381802" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="g8" /><g - fill="none" - fill-rule="evenodd" - id="g8" - transform="translate(39.816113,25.779453)"><polygon - fill="#bbbbbb" - points="88,80 99,80 99,124 0,124 0,80 11,80 11,113 88,113 " - id="polygon4" - transform="matrix(1.1256102,0,0,1.1256102,-6.5518215,-7.7998911)" - style="fill:#000000" /><path - fill="#f58025" - fill-rule="nonzero" - d="M 19.323584,78.568179 80.134675,91.349484 82.690935,79.192893 21.879844,66.405962 Z M 27.370571,49.449769 83.702859,75.685493 88.950454,64.41926 32.61704,38.183537 Z m 15.58745,-27.637107 47.75739,39.768934 7.953566,-9.550802 -47.757396,-39.767808 z m 30.827086,-29.3964357 -9.972906,7.41777128 37.086609,49.86453142 9.9729,-7.416645 z M 18.211603,107.01235 H 80.120164 V 94.630637 H 18.211603 Z" - id="path6" - style="fill:#000000;stroke-width:1.12561" /></g></svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 175.838 175.838"><path d="M88 80h11v44H0V80h11v33h77z" style="fill:#000" transform="translate(33.264 17.98)scale(1.12561)"/><path fill="#f58025" d="m19.324 78.568 60.81 12.781 2.557-12.156L21.88 66.406ZM27.37 49.45l56.332 26.235L88.95 64.42 32.617 38.184Zm15.587-27.637 47.757 39.769 7.954-9.551-47.757-39.768zM73.785-7.584 63.812-.166 100.9 49.699l9.973-7.417zM18.212 107.012H80.12V94.631H18.212Z" style="fill:#000;stroke-width:1.12561" transform="translate(39.816 25.78)"/></svg> diff --git a/src/assets/images/tekstowo-icon.svg b/src/assets/images/tekstowo-icon.svg index c5bc024d..1c991476 100644 --- a/src/assets/images/tekstowo-icon.svg +++ b/src/assets/images/tekstowo-icon.svg @@ -1,115 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - viewBox="0 0 100 100" - version="1.1" - id="svg12" - sodipodi:docname="tekstowo-icon.svg" - width="100" - height="100" - inkscape:version="1.3 (0e150ed6c4, 2023-07-21)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs12" /> - <sodipodi:namedview - id="namedview12" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - inkscape:zoom="3.3499322" - inkscape:cx="35.821621" - inkscape:cy="41.34412" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="logo_1_" /> - <style - id="style1">.st0{fill:#62ae25}.st1{fill:#999}</style> - <g - id="logo_1_" - transform="translate(0,-24)"> - <circle - style="fill:#ff6600;fill-opacity:1;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.53144" - id="path12" - cx="50" - cy="74" - r="50" /> - <linearGradient - id="SVGID_1_" - gradientUnits="userSpaceOnUse" - x1="39.888" - y1="92.283997" - x2="52.096001" - y2="125.824" - gradientTransform="translate(0,1.24036)"> - <stop - offset="0" - stop-color="#8fe132" - id="stop5" /> - <stop - offset=".362" - stop-color="#65bd23" - id="stop6" /> - <stop - offset=".668" - stop-color="#49a519" - id="stop7" /> - <stop - offset=".844" - stop-color="#3e9c15" - id="stop8" /> - </linearGradient> - <path - d="m 57.782805,105.82283 c -4.54864,6.22445 -11.4913,8.91772 -15.381584,6.04489 -3.890284,-2.87282 -3.41148,-10.29428 1.137159,-16.518734 4.548641,-6.224454 11.491301,-8.917729 15.381584,-6.044903 3.950135,2.932676 3.411481,10.294291 -1.137159,16.518747 z" - fill="url(#SVGID_1_)" - id="path8" - style="fill:#8fe132;fill-opacity:1;stroke-width:0.999999" /> - <linearGradient - id="SVGID_2_" - gradientUnits="userSpaceOnUse" - x1="-3.5739999" - y1="24.316" - x2="82.773003" - y2="74.168999" - gradientTransform="translate(0,1.24036)"> - <stop - offset=".184" - stop-color="#8fe132" - id="stop9" /> - <stop - offset="1" - stop-color="#3e9c15" - id="stop10" /> - </linearGradient> - <path - d="M 65.563373,59.857627 C 61.792791,55.308986 56.585794,51.837656 51.43865,50.161842 42.820174,47.348868 40.665555,45.912455 36.59572,42.680526 34.26155,40.82516 32.645587,37.29398 30.670519,36.276521 c -0.957609,-0.478804 -1.556114,-0.05985 -1.915217,0.299252 -0.538654,0.538655 -1.077309,1.675815 -0.418954,3.112227 5.206996,12.389059 25.855425,48.538774 25.855425,48.538774 1.795516,-0.179552 3.41148,0.1197 4.728191,1.077309 0.598505,0.478804 1.07731,1.017459 1.496263,1.675815 L 42.461071,57.463605 c 0,0 -2.154619,-2.992526 1.615964,-3.591031 2.693275,-0.418954 8.319223,0.658356 11.251898,2.453871 3.172078,1.975069 10.533693,8.199522 11.970105,16.458894 0.658355,3.830433 0,5.8055 0.239402,9.21698 0.119701,1.556113 1.735664,3.052376 3.231928,0.957608 0.778057,-1.077309 1.19701,-5.027443 1.19701,-8.13967 0,-4.069837 -2.932675,-10.713244 -6.404005,-14.96263 z" - fill="url(#SVGID_2_)" - id="path10" - style="fill:#8fe132;fill-opacity:1;stroke-width:0.999999" /> - <radialGradient - id="SVGID_3_" - cx="21.504999" - cy="103.861" - r="14.934" - gradientTransform="matrix(0.2966,0.4025,-0.805,0.5933,123.22,30.33236)" - gradientUnits="userSpaceOnUse"> - <stop - offset="0" - stop-color="#f4ff72" - id="stop11" /> - <stop - offset="1" - stop-color="#73c928" - stop-opacity="0" - id="stop12" /> - </radialGradient> - </g> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><g transform="translate(0 -24)"><circle cx="50" cy="74" r="50" style="fill:#f60;fill-opacity:1;stroke-width:4.40315;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.53144"/><linearGradient id="a" x1="39.888" x2="52.096" y1="92.284" y2="125.824" gradientTransform="translate(0 1.24)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8fe132"/><stop offset=".362" stop-color="#65bd23"/><stop offset=".668" stop-color="#49a519"/><stop offset=".844" stop-color="#3e9c15"/></linearGradient><path fill="url(#a)" d="M57.783 105.823c-4.549 6.224-11.491 8.918-15.382 6.045s-3.411-10.295 1.137-16.519c4.549-6.224 11.492-8.918 15.382-6.045 3.95 2.933 3.411 10.294-1.137 16.519" style="fill:#8fe132;fill-opacity:1;stroke-width:.999999"/><linearGradient id="b" x1="-3.574" x2="82.773" y1="24.316" y2="74.169" gradientTransform="translate(0 1.24)" gradientUnits="userSpaceOnUse"><stop offset=".184" stop-color="#8fe132"/><stop offset="1" stop-color="#3e9c15"/></linearGradient><path fill="url(#b)" d="M65.563 59.858c-3.77-4.549-8.977-8.02-14.124-9.696-8.619-2.813-10.773-4.25-14.843-7.481-2.334-1.856-3.95-5.387-5.925-6.404-.958-.48-1.557-.06-1.916.299-.538.538-1.077 1.676-.419 3.112 5.207 12.39 25.856 48.539 25.856 48.539 1.795-.18 3.411.12 4.728 1.077a6.7 6.7 0 0 1 1.496 1.676L42.461 57.464s-2.155-2.993 1.616-3.591c2.693-.42 8.32.658 11.252 2.453 3.172 1.976 10.534 8.2 11.97 16.46.658 3.83 0 5.805.24 9.216.12 1.556 1.735 3.053 3.231.958.778-1.077 1.197-5.028 1.197-8.14 0-4.07-2.932-10.713-6.404-14.962" style="fill:#8fe132;fill-opacity:1;stroke-width:.999999"/></g></svg> \ No newline at end of file diff --git a/src/assets/images/tenor-icon.svg b/src/assets/images/tenor-icon.svg new file mode 100644 index 00000000..0264edea --- /dev/null +++ b/src/assets/images/tenor-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 3704.895 3733.965"><path fill="#007add" d="M1899.862 1243.433h442.598c60.892 0 110.508 19.733 142.081 74.424 52.435 91.902-1.127 202.974-105.997 218.761-16.351 2.255-33.83 2.82-50.744 2.82h-427.938v1037.987c0 67.659 10.712 132.498 56.382 187.752 37.212 45.105 87.392 64.275 142.082 72.732 81.754 12.968 162.943 6.202 242.442-18.606 75.551-24.244 149.975 9.585 175.347 80.063 25.936 71.604-10.712 142.082-80.626 175.91-94.721 46.234-193.953 66.531-298.823 72.17-271.76 13.531-515.894-183.805-557.053-453.31-5.638-34.957-7.33-71.041-7.33-106.562-.563-335.472-.563-670.943-.563-1006.415v-38.904c-12.404-.564-22.553-1.691-32.138-1.691-62.02 0-124.04 1.127-186.06-.564-101.487-2.82-166.89-78.935-151.667-174.784 10.713-67.658 72.169-118.401 149.412-120.657 60.892-1.691 122.348-.564 183.24-.564 37.213 0 37.213 0 37.213-38.903V813.238c0-95.849 69.35-169.145 161.816-170.273s165.198 72.733 165.762 169.71c.564 131.37 0 263.303 0 394.672.564 10.713.564 21.99.564 36.085"/></svg> \ No newline at end of file diff --git a/src/assets/images/textStorage-icon-light.svg b/src/assets/images/textStorage-icon-light.svg index 3ca7c595..58a3edda 100644 --- a/src/assets/images/textStorage-icon-light.svg +++ b/src/assets/images/textStorage-icon-light.svg @@ -1,40 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="24px" - viewBox="0 0 24 24" - width="24px" - fill="currentColor" - version="1.1" - id="svg1191" - sodipodi:docname="textStorage-icon-white.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs1195" /> - <sodipodi:namedview - id="namedview1193" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="32.416667" - inkscape:cx="9.0077121" - inkscape:cy="12" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg1191" /> - <path - d="M19 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z" - id="path1189" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fff" d="M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z"/></svg> diff --git a/src/assets/images/textStorage-icon.svg b/src/assets/images/textStorage-icon.svg index 6eccd96b..d6073d6f 100644 --- a/src/assets/images/textStorage-icon.svg +++ b/src/assets/images/textStorage-icon.svg @@ -1,3 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M19 2h-4.18C14.4.84 13.3 0 12 0c-1.3 0-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm7 18H5V4h2v3h10V4h2v16z"></path> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 2h-4.18C14.4.84 13.3 0 12 0S9.6.84 9.18 2H5c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m7 18H5V4h2v3h10V4h2z"/></svg> \ No newline at end of file diff --git a/src/assets/images/threads-icon-light.svg b/src/assets/images/threads-icon-light.svg new file mode 100644 index 00000000..809c12d8 --- /dev/null +++ b/src/assets/images/threads-icon-light.svg @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 878 1000" style="enable-background:new 0 0 878 1000;" xml:space="preserve"> +<style type="text/css"> + .st0{fill:#FFFFFF;} +</style> +<g> + <path class="st0" d="M446.7,1000h-0.3c-149.2-1-263.9-50.2-341-146.2C36.9,768.3,1.5,649.4,0.3,500.4v-0.7 + c1.2-149.1,36.6-267.9,105.2-353.4C182.5,50.2,297.3,1,446.4,0h0.3h0.3c114.4,0.8,210.1,30.2,284.4,87.4 + c69.9,53.8,119.1,130.4,146.2,227.8l-85,23.7c-46-165-162.4-249.3-346-250.6c-121.2,0.9-212.9,39-272.5,113.2 + C118.4,271,89.6,371.4,88.5,500c1.1,128.6,29.9,229,85.7,298.5c59.6,74.3,151.3,112.4,272.5,113.2c109.3-0.8,181.6-26.3,241.7-85.2 + c68.6-67.2,67.4-149.7,45.4-199.9c-12.9-29.6-36.4-54.2-68.1-72.9c-8,56.3-25.9,101.9-53.5,136.3c-36.9,45.9-89.2,71-155.4,74.6 + c-50.1,2.7-98.4-9.1-135.8-33.4c-44.3-28.7-70.2-72.5-73-123.5c-2.7-49.6,17-95.2,55.4-128.4c36.7-31.7,88.3-50.3,149.3-53.8 + c44.9-2.5,87-0.5,125.8,5.9c-5.2-30.9-15.6-55.5-31.2-73.2c-21.4-24.4-54.5-36.8-98.3-37.1c-0.4,0-0.8,0-1.2,0 + c-35.2,0-83,9.7-113.4,55L261.2,327c40.8-60.6,107-94,186.6-94c0.6,0,1.2,0,1.8,0c133.1,0.8,212.4,82.3,220.3,224.5 + c4.5,1.9,9,3.9,13.4,5.9c62.1,29.2,107.5,73.4,131.4,127.9c33.2,75.9,36.3,199.6-64.5,298.3C673.1,965,579.6,999.1,447,1000 + L446.7,1000L446.7,1000z M488.5,512.9c-10.1,0-20.3,0.3-30.8,0.9c-76.5,4.3-124.2,39.4-121.5,89.3c2.8,52.3,60.5,76.6,116,73.6 + c51-2.7,117.4-22.6,128.6-154.6C552.6,516,521.7,512.9,488.5,512.9z"/> +</g> +</svg> diff --git a/src/assets/images/threads-icon.svg b/src/assets/images/threads-icon.svg new file mode 100644 index 00000000..e99823bb --- /dev/null +++ b/src/assets/images/threads-icon.svg @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Generator: Adobe Illustrator 25.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) --> +<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" + viewBox="0 0 878 1000" style="enable-background:new 0 0 878 1000;" xml:space="preserve"> +<g> + <path d="M446.7,1000h-0.3c-149.2-1-263.9-50.2-341-146.2C36.9,768.3,1.5,649.4,0.3,500.4v-0.7c1.2-149.1,36.6-267.9,105.2-353.4 + C182.5,50.2,297.3,1,446.4,0h0.3h0.3c114.4,0.8,210.1,30.2,284.4,87.4c69.9,53.8,119.1,130.4,146.2,227.8l-85,23.7 + c-46-165-162.4-249.3-346-250.6c-121.2,0.9-212.9,39-272.5,113.2C118.4,271,89.6,371.4,88.5,500c1.1,128.6,29.9,229,85.7,298.5 + c59.6,74.3,151.3,112.4,272.5,113.2c109.3-0.8,181.6-26.3,241.7-85.2c68.6-67.2,67.4-149.7,45.4-199.9 + c-12.9-29.6-36.4-54.2-68.1-72.9c-8,56.3-25.9,101.9-53.5,136.3c-36.9,45.9-89.2,71-155.4,74.6c-50.1,2.7-98.4-9.1-135.8-33.4 + c-44.3-28.7-70.2-72.5-73-123.5c-2.7-49.6,17-95.2,55.4-128.4c36.7-31.7,88.3-50.3,149.3-53.8c44.9-2.5,87-0.5,125.8,5.9 + c-5.2-30.9-15.6-55.5-31.2-73.2c-21.4-24.4-54.5-36.8-98.3-37.1c-0.4,0-0.8,0-1.2,0c-35.2,0-83,9.7-113.4,55L261.2,327 + c40.8-60.6,107-94,186.6-94c0.6,0,1.2,0,1.8,0c133.1,0.8,212.4,82.3,220.3,224.5c4.5,1.9,9,3.9,13.4,5.9 + c62.1,29.2,107.5,73.4,131.4,127.9c33.2,75.9,36.3,199.6-64.5,298.3C673.1,965,579.6,999.1,447,1000L446.7,1000L446.7,1000z + M488.5,512.9c-10.1,0-20.3,0.3-30.8,0.9c-76.5,4.3-124.2,39.4-121.5,89.3c2.8,52.3,60.5,76.6,116,73.6 + c51-2.7,117.4-22.6,128.6-154.6C552.6,516,521.7,512.9,488.5,512.9z"/> +</g> +</svg> diff --git a/src/assets/images/tiktok-icon.png b/src/assets/images/tiktok-icon.png deleted file mode 100644 index 6931e787..00000000 --- a/src/assets/images/tiktok-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/tiktok-icon.svg b/src/assets/images/tiktok-icon.svg new file mode 100644 index 00000000..3ed3c6c1 --- /dev/null +++ b/src/assets/images/tiktok-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 398.67 398.67"><circle cx="199.34" cy="199.34" r="199.34"/><path fill="#25f4ee" d="M171.6 165.74v-10.88c-3.73-.51-7.52-.83-11.39-.83-46.6 0-84.51 37.91-84.51 84.51 0 28.59 14.29 53.89 36.08 69.19-14.07-15.1-22.7-35.33-22.7-57.54 0-45.93 36.84-83.39 82.52-84.46Z"/><path fill="#25f4ee" d="M173.59 288.8c20.79 0 37.75-16.54 38.52-37.14l.07-184.01h33.62c-.7-3.78-1.08-7.67-1.08-11.65H198.8l-.07 184.01c-.77 20.61-17.73 37.14-38.52 37.14-6.46 0-12.55-1.62-17.9-4.43 7.02 9.72 18.41 16.09 31.29 16.09ZM308.6 130.1v-10.23c-12.82 0-24.77-3.81-34.79-10.34 8.92 10.24 21.04 17.63 34.79 20.57"/><path fill="#fe2c55" d="M273.81 109.52c-9.77-11.22-15.71-25.87-15.71-41.88h-12.3c3.24 17.49 13.62 32.5 28.01 41.88M160.21 199.95c-21.28 0-38.6 17.31-38.6 38.6 0 14.82 8.41 27.7 20.69 34.16-4.58-6.34-7.31-14.11-7.31-22.51 0-21.28 17.32-38.6 38.6-38.6 3.97 0 7.78.66 11.39 1.78v-46.87c-3.73-.51-7.52-.83-11.39-.83-.67 0-1.33.04-2 .05v36c-3.6-1.13-7.42-1.78-11.39-1.78Z"/><path fill="#fe2c55" d="M308.6 130.1v35.69c-23.81 0-45.87-7.62-63.88-20.54v93.31c0 46.6-37.91 84.51-84.51 84.51-18.01 0-34.71-5.68-48.43-15.32 15.44 16.57 37.43 26.97 61.82 26.97 46.6 0 84.51-37.91 84.51-84.51V156.9c18.01 12.93 40.07 20.54 63.88 20.54v-45.92c-4.59 0-9.07-.5-13.38-1.42Z"/><path fill="#fff" d="M244.72 238.55v-93.31c18.01 12.93 40.07 20.54 63.88 20.54v-35.69c-13.75-2.94-25.87-10.33-34.79-20.57-14.39-9.38-24.77-24.39-28.01-41.88h-33.62l-.07 184.01c-.77 20.61-17.73 37.14-38.52 37.14-12.88 0-24.27-6.36-31.29-16.09-12.29-6.47-20.69-19.34-20.69-34.16 0-21.28 17.32-38.6 38.6-38.6 3.97 0 7.78.66 11.39 1.78v-36c-45.68 1.07-82.52 38.53-82.52 84.46 0 22.22 8.63 42.44 22.7 57.54 13.73 9.64 30.42 15.32 48.43 15.32 46.6 0 84.51-37.91 84.51-84.51Z"/></svg> \ No newline at end of file diff --git a/src/assets/images/translate-icon-light.svg b/src/assets/images/translate-icon-light.svg index f884ee14..cf1a6da7 100644 --- a/src/assets/images/translate-icon-light.svg +++ b/src/assets/images/translate-icon-light.svg @@ -1,40 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - height="24px" - viewBox="0 0 24 24" - width="24px" - fill="currentColor" - version="1.1" - id="svg1062" - sodipodi:docname="translate-icon-white.svg" - inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs1066" /> - <sodipodi:namedview - id="namedview1064" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="32.416667" - inkscape:cx="9.0077121" - inkscape:cy="12" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg1062" /> - <path - d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z" - id="path1060" - style="fill:#ffffff" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="#fff" d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"/></svg> diff --git a/src/assets/images/translate-icon.svg b/src/assets/images/translate-icon.svg index 30f9c1b7..a79f1abe 100644 --- a/src/assets/images/translate-icon.svg +++ b/src/assets/images/translate-icon.svg @@ -1,3 +1 @@ -<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"> - <path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m12.87 15.07-2.54-2.51.03-.03A17.5 17.5 0 0 0 14.07 6H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2zm-2.62 7 1.62-4.33L19.12 17z"/></svg> \ No newline at end of file diff --git a/src/assets/images/tumblr-icon.svg b/src/assets/images/tumblr-icon.svg new file mode 100644 index 00000000..a7e084ad --- /dev/null +++ b/src/assets/images/tumblr-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256"><path fill="#314358" d="M178.348 183.74c-3.767 1.796-10.971 3.36-16.344 3.494-16.219.434-19.366-11.393-19.497-19.966v-63.066h40.684V73.528h-40.543V21.922h-29.669c-.488 0-1.34.428-1.461 1.512-1.736 15.795-9.126 43.515-39.861 54.6V104.2h20.504v66.19c0 22.664 16.718 54.863 60.85 54.103 14.89-.255 31.428-6.488 35.08-11.869z"/></svg> \ No newline at end of file diff --git a/src/assets/images/twitch-icon.svg b/src/assets/images/twitch-icon.svg index 81639cfc..8b49d5fe 100644 --- a/src/assets/images/twitch-icon.svg +++ b/src/assets/images/twitch-icon.svg @@ -1,12 +1 @@ -<?xml version="1.0" encoding="UTF-8"?> -<svg width="118px" height="138px" viewBox="0 0 118 138" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <!-- Generator: Sketch 57.1 (83088) - https://sketch.com --> - <title>logo / glitch / purple</title> - <desc>Created with Sketch.</desc> - <g id="logo-/-glitch-/-purple" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> - <g id="logo-/-glitch" transform="translate(0.000000, 0.000000)"> - <polygon id="Fill-1" fill="#FFFFFF" points="107.8058 63.7036 88.2038 83.3046 68.6038 83.3046 51.4518 100.4556 51.4518 83.3046 29.4018 83.3046 29.4018 9.8006 107.8058 9.8006"/> - <path d="M117.605,0 L117.605,68.605 L73.503,112.704 L53.904,112.704 L29.401,137.207 L29.401,112.704 L8.52651283e-14,112.704 L8.52651283e-14,24.502 L24.5,0 L117.605,0 Z M107.805,9.801 L29.401,9.801 L29.401,83.304 L51.452,83.304 L51.452,100.454 L68.605,83.304 L88.206,83.304 L107.805,63.703 L107.805,9.801 Z M93.1042,26.9518 L93.1042,56.3518 L83.3042,56.3518 L83.3042,26.9518 L93.1042,26.9518 Z M66.1532,26.9518 L66.1532,56.3518 L56.3532,56.3518 L56.3532,26.9518 L66.1532,26.9518 Z" id="Combined-Shape" fill="#9146FF"/> - </g> - </g> -</svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 118 138"><path fill="#FFF" d="m107.806 63.704-19.602 19.6h-19.6l-17.152 17.152V83.305h-22.05V9.8h78.404z"/><path fill="#9146FF" d="M117.605 0v68.605l-44.102 44.099H53.904l-24.503 24.503v-24.503H0V24.502L24.5 0zm-9.8 9.801H29.401v73.503h22.051v17.15l17.153-17.15h19.601l19.599-19.601zm-14.7 17.15v29.4h-9.8v-29.4zm-26.952 0v29.4h-9.8v-29.4z"/></svg> \ No newline at end of file diff --git a/src/assets/images/twitter-icon.png b/src/assets/images/twitter-icon.png deleted file mode 100644 index 1b05dd41..00000000 --- a/src/assets/images/twitter-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/twitter-icon.svg b/src/assets/images/twitter-icon.svg new file mode 100644 index 00000000..1f44830b --- /dev/null +++ b/src/assets/images/twitter-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><path d="M500 0c276.1 0 500 223.9 500 500s-223.9 500-500 500S0 776.1 0 500 223.9 0 500 0" style="fill:#1da1f2"/><path d="M384 754c235.8 0 364.9-195.4 364.9-364.9 0-5.5 0-11.1-.4-16.6 25.1-18.2 46.8-40.6 64-66.4-23.4 10.4-48.2 17.2-73.6 20.2 26.8-16 46.8-41.2 56.4-70.9-25.2 14.9-52.7 25.5-81.4 31.1-48.6-51.6-129.8-54.1-181.4-5.6-33.3 31.3-47.4 78-37.1 122.5-103.1-5.2-199.2-53.9-264.3-134-34 58.6-16.7 133.5 39.7 171.2-20.4-.6-40.4-6.1-58.2-16v1.6c0 61 43 113.6 102.9 125.7-18.9 5.1-38.7 5.9-57.9 2.2 16.8 52.2 64.9 88 119.8 89.1-45.4 35.7-101.5 55.1-159.2 55-10.2 0-20.4-.6-30.5-1.9C246.1 734 314.4 754 384 753.9" style="fill:#fff"/><path d="M500 0c276.1 0 500 223.9 500 500s-223.9 500-500 500S0 776.1 0 500 223.9 0 500 0" style="fill:none"/></svg> diff --git a/src/assets/images/ultimateGuitar-icon.svg b/src/assets/images/ultimateGuitar-icon.svg new file mode 100644 index 00000000..5f587c3c --- /dev/null +++ b/src/assets/images/ultimateGuitar-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40" ><path fill="#ffd706" d="m5 3.4 3.25 9.15C9.2 9.85 11.7 6.8 15.8 6.8c4.3 0 6.95 3.15 7.45 6.6h6.8L33.25 1 25.7 4.9c-1.8-1.5-4.15-2.35-6.7-2.35-3.45 0-6 1.4-7.7 3.3L5 3.4zM18.5 21.65 36 13.4v14.9l-3.65-1.4C30.3 33.15 25.6 37.6 18.4 37.6c-8 0-13.6-6.25-13.6-13.9 0-2.25.45-4.1 1.25-5.9h.1a13.79 13.79 0 0 0-.65 4.3c0 6.05 4.6 10.6 10.55 10.6 5.3 0 8.7-3.7 10.3-8.05l-7.85-3z"></path></svg> diff --git a/src/assets/images/urbanDictionary-icon.svg b/src/assets/images/urbanDictionary-icon.svg index 2172e286..8bf07b0f 100644 --- a/src/assets/images/urbanDictionary-icon.svg +++ b/src/assets/images/urbanDictionary-icon.svg @@ -1,49 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<!-- Created with Inkscape (http://www.inkscape.org/) --> - -<svg - width="181.72905mm" - height="181.81786mm" - viewBox="0 0 181.72905 181.81786" - version="1.1" - id="svg5" - xml:space="preserve" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - sodipodi:docname="urban-dictionary-icon.svg" - 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="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - inkscape:document-units="mm" - showgrid="false" - inkscape:zoom="0.70710678" - inkscape:cx="390.32294" - inkscape:cy="346.48232" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="layer1" /><defs - id="defs2" /><g - inkscape:label="Layer 1" - inkscape:groupmode="layer" - id="layer1" - transform="translate(208.04028,-57.653256)"><circle - style="fill:#134fe6;fill-opacity:1;fill-rule:evenodd;stroke-width:1.84677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.411765;paint-order:stroke fill markers;stop-color:#000000" - id="path1249" - cx="-117.17576" - cy="148.56218" - r="90.864502" /><path - style="fill:#ffffff;fill-opacity:1;stroke-width:0.264583" - d="m -92.88544,183.05844 c 0.68219,-0.20162 1.95472,-0.57194 2.82784,-0.82295 0.87313,-0.25101 3.20273,-1.13791 5.17689,-1.9709 l 3.5894,-1.51453 3.42206,1.93686 c 1.88214,1.06528 3.55632,1.93855 3.7204,1.9406 0.16408,0.002 0.45492,-0.18494 0.6463,-0.41554 0.36781,-0.44319 0.60929,-0.4324 4.61835,0.20634 1.77927,0.28348 1.96688,0.26015 4.38376,-0.54503 1.96765,-0.65552 2.73994,-1.06136 3.499,-1.83871 0.90519,-0.927 0.97405,-1.11072 0.97405,-2.599 0,-1.99637 -0.35098,-2.34959 -2.55087,-2.56706 -2.07362,-0.205 -4.12628,-0.97564 -6.08667,-2.28515 -2.92704,-1.95523 -2.63971,-1.22615 -3.80839,-9.66358 -0.42328,-3.05594 -1.03085,-6.72247 -1.35015,-8.14786 -0.5653,-2.52358 -0.56841,-2.63009 -0.11848,-4.05742 0.44091,-1.39874 0.44062,-1.4895 -0.006,-1.98348 -0.4488,-0.49592 -0.44548,-0.60503 0.0791,-2.5971 0.53754,-2.0414 0.53838,-2.08862 0.0459,-2.58108 -0.49246,-0.49246 -0.49193,-0.54879 0.0287,-3.07911 l 0.53033,-2.57747 -0.55421,-1.60143 -0.5542,-1.60143 0.58409,-4.61759 0.58409,-4.61758 -0.6048,-1.84481 -0.6048,-1.84481 0.47308,-2.33036 0.47308,-2.33036 -0.92818,-1.45097 -0.92817,-1.45097 -2.44054,-0.32493 c -2.18714,-0.2912 -2.49076,-0.27949 -2.92419,0.11275 -0.45007,0.4073 -0.81959,0.40515 -5.32295,-0.0311 -4.35016,-0.4214 -4.93374,-0.42838 -5.77356,-0.0691 -0.90037,0.38522 -0.94679,0.47429 -1.2797,2.45557 -0.2919,1.73721 -0.28841,2.11288 0.0226,2.42384 0.51498,0.51499 6.81817,1.70933 9.16969,1.7375 1.88356,0.0226 1.9826,0.0564 2.85685,0.97569 0.89331,0.93934 0.90417,0.97927 0.79674,2.92944 -0.14992,2.72134 0.24398,5.87645 0.91074,7.29492 0.30655,0.65216 0.66105,1.24983 0.78777,1.32814 0.12672,0.0783 -0.18626,0.96977 -0.69551,1.98101 -0.85951,1.70675 -0.98734,1.8385 -1.78248,1.83713 -1.36591,-0.002 -2.74087,-0.47103 -6.41282,-2.18588 -3.04934,-1.42409 -3.66921,-1.61996 -5.46358,-1.72633 -11.09549,-0.65777 -20.07107,10.86824 -20.14878,25.8741 -0.0426,8.21439 2.19851,14.07974 7.33403,19.1948 1.93781,1.93008 2.83896,2.60777 4.65229,3.49867 2.2073,1.08444 4.69527,1.84711 6.16799,1.89074 0.40922,0.0121 1.30219,-0.14291 1.98438,-0.34452 z m -5.13478,-12.12777 c -5.6118,-5.77477 -7.06153,-8.06136 -7.21295,-11.37659 -0.0713,-1.56238 0.008,-2.22103 0.32524,-2.70546 0.37566,-0.57333 0.3786,-0.75637 0.0282,-1.74961 -0.59429,-1.68441 -0.51645,-5.11525 0.14716,-6.48609 1.15063,-2.37686 5.91432,-7.16079 8.37801,-8.41359 1.06013,-0.53908 1.81062,-0.5387 5.18447,0.003 l 2.70002,0.43322 1.59462,1.55115 c 1.34689,1.31017 1.74283,1.55115 2.54861,1.55115 0.88347,0 1.03736,0.12796 2.08186,1.73112 l 1.12787,1.73112 -0.48331,1.59628 -0.48331,1.59627 0.9803,4.36848 0.9803,4.36848 -0.79735,1.39362 c -1.02721,1.79538 -2.00858,4.4391 -2.24022,6.03494 -0.18185,1.2529 -0.18559,1.25677 -1.21265,1.25677 -0.97505,0 -1.11449,0.1107 -2.60348,2.06671 l -1.57324,2.0667 -2.99185,1.04215 c -1.64552,0.57318 -3.06603,1.07517 -3.1567,1.11553 -0.0907,0.0404 -1.58538,-1.38839 -3.32157,-3.175 z m -19.68634,11.71535 c 1.23693,-0.27661 3.1351,-0.78305 4.21816,-1.12541 l 1.9692,-0.62247 0.46592,-1.84542 c 0.25626,-1.01499 0.53197,-2.10824 0.6127,-2.42946 0.1302,-0.51806 -0.33401,-0.87085 -4.1092,-3.12288 -6.00974,-3.58503 -5.81246,-3.50514 -6.93817,-2.80941 l -0.92108,0.56926 -0.15342,-0.86293 c -0.0844,-0.47461 -0.64481,-4.35625 -1.2454,-8.62587 l -1.09199,-7.76296 0.55393,-0.38799 c 0.68655,-0.48087 0.68727,-0.86462 0.01,-5.05871 l -0.54444,-3.36906 0.72354,-4.39218 0.72354,-4.39218 -0.59717,-1.47134 c -0.53252,-1.31205 -0.73625,-1.53117 -1.88178,-2.02397 -1.59219,-0.68494 -1.72505,-0.68434 -3.40903,0.0155 l -1.36704,0.56812 -2.94627,-1.0976 -2.94628,-1.09761 -3.01817,1.36417 c -2.67045,1.20701 -3.00058,1.42804 -2.86557,1.91855 0.0839,0.30491 0.22727,1.00087 0.31855,1.54657 l 0.16597,0.99219 h 4.53307 4.53307 l 1.78311,1.19619 c 1.69264,1.13551 1.78312,1.24864 1.78312,2.22976 0,0.78381 -0.15783,1.1577 -0.65313,1.54731 -0.6238,0.49068 -0.67774,0.7737 -1.2012,6.30305 -0.92818,9.80445 -2.13114,16.60659 -3.38374,19.13346 -0.89057,1.79654 -7.59176,4.73501 -12.19627,5.34806 l -2.33173,0.31044 -2.96161,-1.01375 c -1.62888,-0.55757 -3.02706,-1.11967 -3.10706,-1.24912 -0.21158,-0.34235 -1.59518,-8.8909 -1.96226,-12.12387 -0.28469,-2.50731 -0.2618,-3.04476 0.24666,-5.79073 l 0.56049,-3.02691 -0.56148,-0.59767 -0.56149,-0.59767 0.82802,-4.31292 c 1.38272,-7.20225 1.4423,-7.90988 0.80259,-9.53303 -0.30228,-0.76696 -0.57605,-1.42098 -0.60838,-1.45337 -0.0323,-0.0324 -1.83807,-0.54767 -4.01275,-1.14507 l -3.95396,-1.08618 -3.70202,0.15973 -3.70202,0.15973 -1.25892,1.23998 c -0.69243,0.68197 -1.25894,1.36996 -1.25894,1.52884 0,0.64285 1.59398,2.77373 2.07486,2.77373 0.28355,0 0.81568,0.45695 1.23243,1.05833 0.84769,1.22322 1.11917,1.26559 4.25909,0.66482 1.90888,-0.36522 2.09325,-0.36047 2.56542,0.0661 0.88925,0.80347 1.78372,2.92924 2.0056,4.76647 0.21303,1.7639 0.17761,2.31392 -0.50146,7.78673 -0.31701,2.55492 -0.30438,3.0901 0.12863,5.45009 0.45984,2.50619 0.46142,2.96551 0.0374,10.85015 l -0.4428,8.23318 0.67489,1.33183 c 0.37119,0.73251 0.8152,1.33183 0.98669,1.33183 0.17149,0 0.64573,-0.31993 1.05387,-0.71096 0.40815,-0.39103 0.74209,-0.56996 0.74209,-0.39764 0,0.51407 1.86028,2.41461 3.02057,3.08594 0.59426,0.34383 2.28141,0.99528 3.74922,1.44768 l 2.66876,0.82255 6.67135,-2.38488 6.67135,-2.38487 1.77239,0.89212 c 2.24347,1.12924 5.73355,2.36338 9.01072,3.18632 4.24708,1.06649 5.16791,1.11424 8.2398,0.42726 z" - id="path302" - sodipodi:nodetypes="csscscsssssssssscssscccccccccccssscsccssssscsccsssccccccssccssscccccsssscsscccscssssccscsccccssscccscscccsssssscsssscccsscsccccsssscsssccsssssscccsscc" /></g></svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 181.729 181.818"><g transform="translate(208.04 -57.653)"><circle cx="-117.176" cy="148.562" r="90.865" style="fill:#134fe6;fill-opacity:1;fill-rule:evenodd;stroke-width:1.84677;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:.411765;paint-order:stroke fill markers;stop-color:#000"/><path d="M-92.885 183.058a487 487 0 0 1 2.827-.823c.874-.25 3.203-1.137 5.177-1.97l3.59-1.515 3.422 1.937c1.882 1.065 3.556 1.938 3.72 1.94s.455-.184.646-.415c.368-.443.61-.432 4.619.206 1.78.284 1.967.26 4.384-.545 1.967-.655 2.74-1.061 3.499-1.838.905-.927.974-1.111.974-2.6 0-1.996-.351-2.349-2.551-2.566-2.074-.205-4.127-.976-6.087-2.286-2.927-1.955-2.64-1.226-3.808-9.663-.424-3.056-1.031-6.723-1.35-8.148-.566-2.524-.569-2.63-.119-4.057.441-1.4.44-1.49-.006-1.984-.449-.496-.445-.605.08-2.597.537-2.041.538-2.089.045-2.581-.492-.493-.492-.549.029-3.08l.53-2.577-.554-1.601-.554-1.602.584-4.617.584-4.618-.605-1.845-.605-1.844.473-2.33.473-2.331-.928-1.451-.928-1.451-2.44-.325c-2.188-.291-2.491-.28-2.925.113-.45.407-.82.405-5.323-.031-4.35-.422-4.933-.429-5.773-.07-.9.386-.947.475-1.28 2.456-.292 1.737-.288 2.113.023 2.424.515.515 6.818 1.71 9.17 1.737 1.883.023 1.982.057 2.856.976.894.94.904.98.797 2.93-.15 2.721.244 5.876.91 7.295.307.652.662 1.25.789 1.328.126.078-.187.97-.696 1.98-.86 1.707-.987 1.84-1.782 1.838-1.366-.002-2.741-.471-6.413-2.186-3.05-1.424-3.67-1.62-5.464-1.726-11.095-.658-20.071 10.868-20.149 25.874-.042 8.214 2.199 14.08 7.334 19.195 1.938 1.93 2.84 2.607 4.653 3.498 2.207 1.085 4.695 1.847 6.168 1.89.409.013 1.302-.142 1.984-.344zm-5.135-12.127c-5.612-5.775-7.062-8.062-7.213-11.377-.071-1.562.008-2.221.325-2.705.376-.574.379-.757.028-1.75-.594-1.684-.516-5.115.147-6.486 1.151-2.377 5.915-7.16 8.378-8.414 1.06-.539 1.811-.538 5.185.003l2.7.434 1.595 1.55c1.346 1.31 1.742 1.552 2.548 1.552.884 0 1.038.128 2.082 1.731l1.128 1.731-.483 1.596-.484 1.597.98 4.368.98 4.369-.796 1.393c-1.028 1.796-2.01 4.44-2.24 6.035-.183 1.253-.186 1.257-1.213 1.257-.975 0-1.115.11-2.604 2.067l-1.573 2.066-2.992 1.042a206 206 0 0 0-3.157 1.116c-.09.04-1.585-1.388-3.321-3.175zm-19.687 11.715a62 62 0 0 0 4.219-1.125l1.969-.623.466-1.845.612-2.43c.13-.518-.334-.87-4.109-3.123-6.01-3.585-5.812-3.505-6.938-2.809l-.921.57-.153-.864c-.085-.474-.645-4.356-1.246-8.626l-1.092-7.763.554-.388c.687-.48.687-.864.01-5.058l-.544-3.37.723-4.391.724-4.393-.597-1.471c-.533-1.312-.737-1.531-1.882-2.024-1.592-.685-1.725-.684-3.41.016l-1.366.568-2.947-1.098-2.946-1.098-3.018 1.365c-2.67 1.207-3 1.428-2.866 1.918.084.305.228 1.001.319 1.547l.166.992h9.066l1.783 1.196c1.693 1.136 1.783 1.249 1.783 2.23 0 .784-.158 1.158-.653 1.547-.624.49-.678.774-1.201 6.303-.928 9.805-2.131 16.607-3.384 19.134-.89 1.796-7.592 4.735-12.196 5.348l-2.332.31-2.961-1.014c-1.63-.557-3.027-1.12-3.107-1.249-.212-.342-1.596-8.89-1.963-12.124-.284-2.507-.261-3.044.247-5.79l.56-3.027-.561-.598-.562-.598.829-4.312c1.382-7.203 1.442-7.91.802-9.533-.302-.767-.576-1.421-.608-1.454s-1.838-.548-4.013-1.145l-3.954-1.086-3.702.16-3.702.16-1.259 1.24c-.692.681-1.259 1.37-1.259 1.528 0 .643 1.594 2.774 2.075 2.774.284 0 .816.457 1.232 1.058.848 1.223 1.12 1.266 4.26.665 1.908-.365 2.093-.36 2.565.066.89.804 1.784 2.93 2.006 4.767.213 1.764.177 2.314-.502 7.786-.317 2.555-.304 3.09.129 5.45.46 2.507.461 2.966.037 10.85l-.443 8.234.675 1.332c.371.732.815 1.331.987 1.331.171 0 .646-.32 1.054-.71.408-.392.742-.57.742-.398 0 .514 1.86 2.414 3.02 3.086.595.344 2.282.995 3.75 1.447l2.668.823 6.672-2.385 6.671-2.385 1.772.892c2.244 1.13 5.734 2.364 9.011 3.187 4.247 1.066 5.168 1.114 8.24.427z" style="fill:#fff;fill-opacity:1;stroke-width:.264583"/></g></svg> diff --git a/src/assets/images/waybackMachine-icon-light.svg b/src/assets/images/waybackMachine-icon-light.svg index 2b3d3fde..e3d6cedd 100644 --- a/src/assets/images/waybackMachine-icon-light.svg +++ b/src/assets/images/waybackMachine-icon-light.svg @@ -1,85 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - version="1.1" - x="0px" - y="0px" - width="423.263" - height="478.77997" - viewBox="0 0 423.26301 478.77995" - enable-background="new 0 0 599.998 583.111" - xml:space="preserve" - id="svg53" - sodipodi:docname="waybackMachine-icon-light.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"><defs - id="defs57" /><sodipodi:namedview - id="namedview55" - pagecolor="#b8b8b8" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="1.3342228" - inkscape:cx="-21.7355" - inkscape:cy="190.373" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="A" /> -<g - id="A" - transform="translate(-139.201,-101.486)"> - - <rect - x="172.47882" - y="524.3313" - width="356.70737" - height="18.292015" - id="rect18" - style="stroke-width:0.842756;fill:#ffffff" /> - <rect - x="186.54947" - y="489.15213" - width="329.2681" - height="25.329027" - id="rect20" - style="stroke-width:0.842756;fill:#ffffff" /> - <rect - x="184.43921" - y="200.69115" - width="327.50925" - height="35.178314" - id="rect22" - style="stroke-width:0.842756;fill:#ffffff" /> - <polygon - points="347.701,162.012 539.506,162.012 551.193,149.072 347.701,101.486 144.21,149.072 155.897,162.012 " - id="polygon24" - transform="matrix(0.84275583,0,0,0.84275583,55.166366,53.600762)" - style="fill:#ffffff" /> - - <path - d="m 231.6782,347.23375 c -0.28232,-17.2765 -0.72982,-34.55383 -1.40656,-51.81853 -0.63712,-16.26687 -1.68551,-32.51773 -2.47686,-48.77955 -0.0683,-1.40403 -0.66324,-1.70742 -1.82793,-1.96194 -4.79781,-1.04586 -9.6209,-1.53718 -14.46422,-1.54477 -4.84332,0.008 -9.66641,0.49891 -14.46422,1.54477 -1.16469,0.25367 -1.75967,0.55791 -1.82794,1.96194 -0.79134,16.26182 -1.83973,32.51268 -2.47686,48.77955 -0.67673,17.2647 -1.12508,34.54203 -1.40656,51.81853 -0.19973,12.24355 -0.0758,24.49638 0.11799,36.74331 0.21406,13.58607 0.51577,27.1755 1.06609,40.75146 0.58993,14.56956 1.50179,29.12732 2.30156,43.68762 0.15338,2.79036 0.43908,5.57314 0.65735,8.28513 5.37594,1.39897 10.70637,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65665,-0.87478 16.03343,-2.27375 0.21828,-2.71199 0.50313,-5.49561 0.65651,-8.28513 0.79977,-14.5603 1.71164,-29.11806 2.30156,-43.68762 0.55032,-13.57596 0.85203,-27.16539 1.06609,-40.75146 0.19299,-12.24693 0.31772,-24.49976 0.11714,-36.74331 z" - id="path44" - style="stroke-width:0.842756;fill:#ffffff" /> - <path - d="m 320.85104,347.23375 c -0.28232,-17.2765 -0.73067,-34.55383 -1.4074,-51.81853 -0.63797,-16.26687 -1.68636,-32.51773 -2.47686,-48.77955 -0.0683,-1.40403 -0.66241,-1.70742 -1.82794,-1.96194 -4.79696,-1.04586 -9.6209,-1.53718 -14.46337,-1.54477 -4.84332,0.008 -9.66641,0.49891 -14.46422,1.54477 -1.16469,0.25367 -1.75968,0.55791 -1.82794,1.96194 -0.7905,16.26182 -1.83974,32.51268 -2.47686,48.77955 -0.67673,17.2647 -1.12508,34.54203 -1.40656,51.81853 -0.19973,12.24355 -0.0759,24.49638 0.11714,36.74331 0.21491,13.58607 0.51577,27.1755 1.06609,40.75146 0.59077,14.56956 1.50179,29.12732 2.30157,43.68762 0.15338,2.79036 0.43907,5.57314 0.6565,8.28513 5.37679,1.39897 10.70722,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65665,-0.87478 16.03343,-2.27375 0.21743,-2.71199 0.50313,-5.49561 0.65651,-8.28513 0.79893,-14.5603 1.71079,-29.11806 2.30072,-43.68762 0.55032,-13.57596 0.85203,-27.16539 1.06693,-40.75146 0.19468,-12.24693 0.31856,-24.49976 0.11883,-36.74331 z" - id="path46" - style="stroke-width:0.842756;fill:#ffffff" /> - <path - d="m 424.26982,347.23375 c -0.28232,-17.2765 -0.72982,-34.55383 -1.4074,-51.81853 -0.63712,-16.26687 -1.68551,-32.51773 -2.47602,-48.77955 -0.0691,-1.40403 -0.66325,-1.70742 -1.82878,-1.96194 -4.79696,-1.04586 -9.62005,-1.53718 -14.46337,-1.54477 -4.84332,0.008 -9.66641,0.49891 -14.46422,1.54477 -1.16469,0.25367 -1.75967,0.55791 -1.82794,1.96194 -0.7905,16.26182 -1.83973,32.51268 -2.47601,48.77955 -0.67758,17.2647 -1.12508,34.54203 -1.40741,51.81853 -0.19973,12.24355 -0.0758,24.49638 0.11799,36.74331 0.2149,13.58607 0.51577,27.1755 1.06609,40.75146 0.59077,14.56956 1.50179,29.12732 2.30156,43.68762 0.15423,2.79036 0.43908,5.57314 0.65651,8.28513 5.37678,1.39897 10.70637,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65665,-0.87478 16.03343,-2.27375 0.21743,-2.71199 0.50312,-5.49561 0.6565,-8.28513 0.79978,-14.5603 1.7108,-29.11806 2.30157,-43.68762 0.54948,-13.57596 0.85118,-27.16539 1.06609,-40.75146 0.19383,-12.24693 0.31772,-24.49976 0.11798,-36.74331 z" - id="path48" - style="stroke-width:0.842756;fill:#ffffff" /> - <path - d="m 511.33071,347.23375 c -0.28232,-17.2765 -0.72982,-34.55383 -1.40656,-51.81853 -0.63796,-16.26687 -1.68635,-32.51773 -2.47686,-48.77955 -0.0691,-1.40403 -0.66324,-1.70742 -1.82878,-1.96194 -4.79612,-1.04586 -9.62005,-1.53718 -14.46337,-1.54477 -4.84248,0.008 -9.66641,0.49891 -14.46338,1.54477 -1.16553,0.25367 -1.75967,0.55791 -1.82793,1.96194 -0.79135,16.26182 -1.84058,32.51268 -2.47686,48.77955 -0.67674,17.2647 -1.12508,34.54203 -1.40741,51.81853 -0.19973,12.24355 -0.0758,24.49638 0.11799,36.74331 0.2149,13.58607 0.51577,27.1755 1.06693,40.75146 0.58993,14.56956 1.50179,29.12732 2.30072,43.68762 0.15423,2.79036 0.43908,5.57314 0.65651,8.28513 5.37762,1.39897 10.70721,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65749,-0.87478 16.03343,-2.27375 0.21827,-2.71199 0.50312,-5.49561 0.65651,-8.28513 0.79977,-14.5603 1.71163,-29.11806 2.30156,-43.68762 0.55032,-13.57596 0.85118,-27.16539 1.06609,-40.75146 0.19383,-12.24693 0.31856,-24.49976 0.11798,-36.74331 z" - id="path50" - style="stroke-width:0.842756;fill:#ffffff" /> -</g> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 423.263 478.78"><path d="M172.479 524.331h356.707v18.292H172.479zm14.07-35.179h329.268v25.329H186.549zm-2.11-288.461h327.509v35.178H184.439z" style="stroke-width:.842756;fill:#fff" transform="translate(-139.201 -101.486)"/><path d="M347.701 162.012h191.805l11.687-12.94-203.492-47.586-203.491 47.586 11.687 12.94z" style="fill:#fff" transform="translate(-84.035 -47.885)scale(.84276)"/><path d="M231.678 347.234c-.282-17.277-.73-34.554-1.406-51.819-.637-16.267-1.686-32.518-2.477-48.78-.069-1.403-.663-1.707-1.828-1.961-4.798-1.046-9.621-1.537-14.464-1.545-4.844.008-9.667.499-14.465 1.545-1.164.253-1.76.558-1.828 1.962-.79 16.261-1.84 32.512-2.476 48.78-.677 17.264-1.125 34.541-1.407 51.818-.2 12.243-.076 24.496.118 36.743.214 13.586.516 27.176 1.066 40.752.59 14.57 1.502 29.127 2.302 43.687.153 2.79.439 5.573.657 8.285 5.376 1.4 10.706 2.207 16.033 2.274 5.328-.067 10.657-.875 16.034-2.274.218-2.712.503-5.495.656-8.285.8-14.56 1.712-29.118 2.302-43.687.55-13.576.852-27.166 1.066-40.752.193-12.247.318-24.5.117-36.743m89.173 0c-.282-17.277-.73-34.554-1.407-51.819-.638-16.267-1.687-32.518-2.477-48.78-.069-1.403-.663-1.707-1.828-1.961-4.797-1.046-9.621-1.537-14.464-1.545-4.843.008-9.666.499-14.464 1.545-1.164.253-1.76.558-1.828 1.962-.79 16.261-1.84 32.512-2.477 48.78-.676 17.264-1.125 34.541-1.406 51.818-.2 12.243-.076 24.496.117 36.743.215 13.586.516 27.176 1.066 40.752.59 14.57 1.502 29.127 2.302 43.687.153 2.79.439 5.573.656 8.285 5.377 1.4 10.707 2.207 16.034 2.274 5.327-.067 10.656-.875 16.033-2.274.217-2.712.503-5.495.657-8.285.798-14.56 1.71-29.118 2.3-43.687.55-13.576.852-27.166 1.067-40.752.195-12.247.319-24.5.119-36.743m103.419 0c-.283-17.277-.73-34.554-1.408-51.819-.637-16.267-1.685-32.518-2.476-48.78-.069-1.403-.663-1.707-1.828-1.961-4.797-1.046-9.62-1.537-14.464-1.545-4.843.008-9.666.499-14.464 1.545-1.165.253-1.76.558-1.828 1.962-.79 16.261-1.84 32.512-2.476 48.78-.678 17.264-1.125 34.541-1.407 51.818-.2 12.243-.076 24.496.118 36.743.215 13.586.515 27.176 1.066 40.752.59 14.57 1.502 29.127 2.301 43.687.155 2.79.44 5.573.657 8.285 5.377 1.4 10.706 2.207 16.033 2.274 5.327-.067 10.657-.875 16.034-2.274.217-2.712.503-5.495.656-8.285.8-14.56 1.711-29.118 2.302-43.687.55-13.576.85-27.166 1.066-40.752.194-12.247.318-24.5.118-36.743m87.06 0c-.282-17.277-.73-34.554-1.406-51.819-.638-16.267-1.686-32.518-2.477-48.78-.069-1.403-.663-1.707-1.828-1.961-4.797-1.046-9.62-1.537-14.464-1.545-4.842.008-9.666.499-14.463 1.545-1.166.253-1.76.558-1.828 1.962-.792 16.261-1.84 32.512-2.477 48.78-.677 17.264-1.125 34.541-1.407 51.818-.2 12.243-.076 24.496.118 36.743.214 13.586.515 27.176 1.066 40.752.59 14.57 1.502 29.127 2.301 43.687.154 2.79.44 5.573.657 8.285 5.377 1.4 10.707 2.207 16.033 2.274 5.327-.067 10.658-.875 16.034-2.274.218-2.712.503-5.495.656-8.285.8-14.56 1.712-29.118 2.302-43.687.55-13.576.85-27.166 1.066-40.752.194-12.247.318-24.5.118-36.743" style="stroke-width:.842756;fill:#fff" transform="translate(-139.201 -101.486)"/></svg> diff --git a/src/assets/images/waybackMachine-icon.svg b/src/assets/images/waybackMachine-icon.svg index 2a66192c..f0e6497b 100644 --- a/src/assets/images/waybackMachine-icon.svg +++ b/src/assets/images/waybackMachine-icon.svg @@ -1,84 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - version="1.1" - x="0px" - y="0px" - width="423.263" - height="478.77997" - viewBox="0 0 423.26301 478.77995" - enable-background="new 0 0 599.998 583.111" - xml:space="preserve" - id="svg53" - sodipodi:docname="20210919034708!Internet_Archive_logo_and_wordmark.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"><defs - id="defs57" /><sodipodi:namedview - id="namedview55" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="1.3342228" - inkscape:cx="68.954003" - inkscape:cy="190.37301" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="A" /> -<g - id="A" - transform="translate(-139.201,-101.486)"> - - <rect - x="172.47882" - y="524.3313" - width="356.70737" - height="18.292015" - id="rect18" - style="stroke-width:0.842756" /> - <rect - x="186.54947" - y="489.15213" - width="329.2681" - height="25.329027" - id="rect20" - style="stroke-width:0.842756" /> - <rect - x="184.43921" - y="200.69115" - width="327.50925" - height="35.178314" - id="rect22" - style="stroke-width:0.842756" /> - <polygon - points="347.701,162.012 539.506,162.012 551.193,149.072 347.701,101.486 144.21,149.072 155.897,162.012 " - id="polygon24" - transform="matrix(0.84275583,0,0,0.84275583,55.166366,53.600762)" /> - - <path - d="m 231.6782,347.23375 c -0.28232,-17.2765 -0.72982,-34.55383 -1.40656,-51.81853 -0.63712,-16.26687 -1.68551,-32.51773 -2.47686,-48.77955 -0.0683,-1.40403 -0.66324,-1.70742 -1.82793,-1.96194 -4.79781,-1.04586 -9.6209,-1.53718 -14.46422,-1.54477 -4.84332,0.008 -9.66641,0.49891 -14.46422,1.54477 -1.16469,0.25367 -1.75967,0.55791 -1.82794,1.96194 -0.79134,16.26182 -1.83973,32.51268 -2.47686,48.77955 -0.67673,17.2647 -1.12508,34.54203 -1.40656,51.81853 -0.19973,12.24355 -0.0758,24.49638 0.11799,36.74331 0.21406,13.58607 0.51577,27.1755 1.06609,40.75146 0.58993,14.56956 1.50179,29.12732 2.30156,43.68762 0.15338,2.79036 0.43908,5.57314 0.65735,8.28513 5.37594,1.39897 10.70637,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65665,-0.87478 16.03343,-2.27375 0.21828,-2.71199 0.50313,-5.49561 0.65651,-8.28513 0.79977,-14.5603 1.71164,-29.11806 2.30156,-43.68762 0.55032,-13.57596 0.85203,-27.16539 1.06609,-40.75146 0.19299,-12.24693 0.31772,-24.49976 0.11714,-36.74331 z" - id="path44" - style="stroke-width:0.842756" /> - <path - d="m 320.85104,347.23375 c -0.28232,-17.2765 -0.73067,-34.55383 -1.4074,-51.81853 -0.63797,-16.26687 -1.68636,-32.51773 -2.47686,-48.77955 -0.0683,-1.40403 -0.66241,-1.70742 -1.82794,-1.96194 -4.79696,-1.04586 -9.6209,-1.53718 -14.46337,-1.54477 -4.84332,0.008 -9.66641,0.49891 -14.46422,1.54477 -1.16469,0.25367 -1.75968,0.55791 -1.82794,1.96194 -0.7905,16.26182 -1.83974,32.51268 -2.47686,48.77955 -0.67673,17.2647 -1.12508,34.54203 -1.40656,51.81853 -0.19973,12.24355 -0.0759,24.49638 0.11714,36.74331 0.21491,13.58607 0.51577,27.1755 1.06609,40.75146 0.59077,14.56956 1.50179,29.12732 2.30157,43.68762 0.15338,2.79036 0.43907,5.57314 0.6565,8.28513 5.37679,1.39897 10.70722,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65665,-0.87478 16.03343,-2.27375 0.21743,-2.71199 0.50313,-5.49561 0.65651,-8.28513 0.79893,-14.5603 1.71079,-29.11806 2.30072,-43.68762 0.55032,-13.57596 0.85203,-27.16539 1.06693,-40.75146 0.19468,-12.24693 0.31856,-24.49976 0.11883,-36.74331 z" - id="path46" - style="stroke-width:0.842756" /> - <path - d="m 424.26982,347.23375 c -0.28232,-17.2765 -0.72982,-34.55383 -1.4074,-51.81853 -0.63712,-16.26687 -1.68551,-32.51773 -2.47602,-48.77955 -0.0691,-1.40403 -0.66325,-1.70742 -1.82878,-1.96194 -4.79696,-1.04586 -9.62005,-1.53718 -14.46337,-1.54477 -4.84332,0.008 -9.66641,0.49891 -14.46422,1.54477 -1.16469,0.25367 -1.75967,0.55791 -1.82794,1.96194 -0.7905,16.26182 -1.83973,32.51268 -2.47601,48.77955 -0.67758,17.2647 -1.12508,34.54203 -1.40741,51.81853 -0.19973,12.24355 -0.0758,24.49638 0.11799,36.74331 0.2149,13.58607 0.51577,27.1755 1.06609,40.75146 0.59077,14.56956 1.50179,29.12732 2.30156,43.68762 0.15423,2.79036 0.43908,5.57314 0.65651,8.28513 5.37678,1.39897 10.70637,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65665,-0.87478 16.03343,-2.27375 0.21743,-2.71199 0.50312,-5.49561 0.6565,-8.28513 0.79978,-14.5603 1.7108,-29.11806 2.30157,-43.68762 0.54948,-13.57596 0.85118,-27.16539 1.06609,-40.75146 0.19383,-12.24693 0.31772,-24.49976 0.11798,-36.74331 z" - id="path48" - style="stroke-width:0.842756" /> - <path - d="m 511.33071,347.23375 c -0.28232,-17.2765 -0.72982,-34.55383 -1.40656,-51.81853 -0.63796,-16.26687 -1.68635,-32.51773 -2.47686,-48.77955 -0.0691,-1.40403 -0.66324,-1.70742 -1.82878,-1.96194 -4.79612,-1.04586 -9.62005,-1.53718 -14.46337,-1.54477 -4.84248,0.008 -9.66641,0.49891 -14.46338,1.54477 -1.16553,0.25367 -1.75967,0.55791 -1.82793,1.96194 -0.79135,16.26182 -1.84058,32.51268 -2.47686,48.77955 -0.67674,17.2647 -1.12508,34.54203 -1.40741,51.81853 -0.19973,12.24355 -0.0758,24.49638 0.11799,36.74331 0.2149,13.58607 0.51577,27.1755 1.06693,40.75146 0.58993,14.56956 1.50179,29.12732 2.30072,43.68762 0.15423,2.79036 0.43908,5.57314 0.65651,8.28513 5.37762,1.39897 10.70721,2.20718 16.03343,2.27375 5.32706,-0.0666 10.65749,-0.87478 16.03343,-2.27375 0.21827,-2.71199 0.50312,-5.49561 0.65651,-8.28513 0.79977,-14.5603 1.71163,-29.11806 2.30156,-43.68762 0.55032,-13.57596 0.85118,-27.16539 1.06609,-40.75146 0.19383,-12.24693 0.31856,-24.49976 0.11798,-36.74331 z" - id="path50" - style="stroke-width:0.842756" /> -</g> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 423.263 478.78"><path d="M172.479 524.331h356.707v18.292H172.479zm14.07-35.179h329.268v25.329H186.549zm-2.11-288.461h327.509v35.178H184.439z" style="stroke-width:.842756" transform="translate(-139.201 -101.486)"/><path d="M208.992 88.651h161.645l9.85-10.905-171.495-40.103L37.5 77.746l9.85 10.905z"/><path d="M231.678 347.234c-.282-17.277-.73-34.554-1.406-51.819-.637-16.267-1.686-32.518-2.477-48.78-.069-1.403-.663-1.707-1.828-1.961-4.798-1.046-9.621-1.537-14.464-1.545-4.844.008-9.667.499-14.465 1.545-1.164.253-1.76.558-1.828 1.962-.79 16.261-1.84 32.512-2.476 48.78-.677 17.264-1.125 34.541-1.407 51.818-.2 12.243-.076 24.496.118 36.743.214 13.586.516 27.176 1.066 40.752.59 14.57 1.502 29.127 2.302 43.687.153 2.79.439 5.573.657 8.285 5.376 1.4 10.706 2.207 16.033 2.274 5.328-.067 10.657-.875 16.034-2.274.218-2.712.503-5.495.656-8.285.8-14.56 1.712-29.118 2.302-43.687.55-13.576.852-27.166 1.066-40.752.193-12.247.318-24.5.117-36.743m89.173 0c-.282-17.277-.73-34.554-1.407-51.819-.638-16.267-1.687-32.518-2.477-48.78-.069-1.403-.663-1.707-1.828-1.961-4.797-1.046-9.621-1.537-14.464-1.545-4.843.008-9.666.499-14.464 1.545-1.164.253-1.76.558-1.828 1.962-.79 16.261-1.84 32.512-2.477 48.78-.676 17.264-1.125 34.541-1.406 51.818-.2 12.243-.076 24.496.117 36.743.215 13.586.516 27.176 1.066 40.752.59 14.57 1.502 29.127 2.302 43.687.153 2.79.439 5.573.656 8.285 5.377 1.4 10.707 2.207 16.034 2.274 5.327-.067 10.656-.875 16.033-2.274.217-2.712.503-5.495.657-8.285.798-14.56 1.71-29.118 2.3-43.687.55-13.576.852-27.166 1.067-40.752.195-12.247.319-24.5.119-36.743m103.419 0c-.283-17.277-.73-34.554-1.408-51.819-.637-16.267-1.685-32.518-2.476-48.78-.069-1.403-.663-1.707-1.828-1.961-4.797-1.046-9.62-1.537-14.464-1.545-4.843.008-9.666.499-14.464 1.545-1.165.253-1.76.558-1.828 1.962-.79 16.261-1.84 32.512-2.476 48.78-.678 17.264-1.125 34.541-1.407 51.818-.2 12.243-.076 24.496.118 36.743.215 13.586.515 27.176 1.066 40.752.59 14.57 1.502 29.127 2.301 43.687.155 2.79.44 5.573.657 8.285 5.377 1.4 10.706 2.207 16.033 2.274 5.327-.067 10.657-.875 16.034-2.274.217-2.712.503-5.495.656-8.285.8-14.56 1.711-29.118 2.302-43.687.55-13.576.85-27.166 1.066-40.752.194-12.247.318-24.5.118-36.743m87.06 0c-.282-17.277-.73-34.554-1.406-51.819-.638-16.267-1.686-32.518-2.477-48.78-.069-1.403-.663-1.707-1.828-1.961-4.797-1.046-9.62-1.537-14.464-1.545-4.842.008-9.666.499-14.463 1.545-1.166.253-1.76.558-1.828 1.962-.792 16.261-1.84 32.512-2.477 48.78-.677 17.264-1.125 34.541-1.407 51.818-.2 12.243-.076 24.496.118 36.743.214 13.586.515 27.176 1.066 40.752.59 14.57 1.502 29.127 2.301 43.687.154 2.79.44 5.573.657 8.285 5.377 1.4 10.707 2.207 16.033 2.274 5.327-.067 10.658-.875 16.034-2.274.218-2.712.503-5.495.656-8.285.8-14.56 1.712-29.118 2.302-43.687.55-13.576.85-27.166 1.066-40.752.194-12.247.318-24.5.118-36.743" style="stroke-width:.842756" transform="translate(-139.201 -101.486)"/></svg> \ No newline at end of file diff --git a/src/assets/images/wikipedia-icon.svg b/src/assets/images/wikipedia-icon.svg index 87876d46..9b28a3ac 100644 --- a/src/assets/images/wikipedia-icon.svg +++ b/src/assets/images/wikipedia-icon.svg @@ -1,3 +1 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<svg version="1.1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" width="103px" height="94px" viewBox="0 0 103 94"><title>Wikipedia logo version 2</title><radialGradient id="SVGID_1_" cx="244.5713" cy="-427.1392" r="68.6868" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".4835" stop-color="#EAEAEB"/><stop offset=".9451" stop-color="#A9ABAE"/><stop offset="1" stop-color="#999B9E"/></radialGradient><path style="fill:url(#SVGID_1_);" d="M49.85,17.003c0.014-0.606-0.392-1.27-0.392-1.27l-0.025-0.058c0,0-0.487-0.949-1.301-1.228c-0.815-0.278-1.478,0.342-1.478,0.342s-0.114,0.131-0.428,0.494c-0.313,0.364-0.507,0.666-1.198,0.938c-0.692,0.271-1.379,0.204-1.743,0.033c-0.365-0.172-0.457-0.537-0.457-0.537s-0.229-0.722-0.313-1.049c-0.086-0.331-0.308-1.694-0.308-1.694s-0.492-2.747-0.535-3.304c0,0,1.475-0.126,3.686-0.775c2.3-0.673,3.043-1.206,3.043-1.206s-0.432-0.156-0.484-0.662c-0.051-0.507-0.089-1.19-0.089-1.19s-0.089-0.5,0.483-1.139c0.572-0.64,1.354-0.863,1.763-0.953c0.41-0.089,1.281-0.17,2.092-0.134c0.813,0.038,1.266,0.112,1.594,0.291c0.327,0.178,0.356,0.61,0.356,0.61l-0.009,1.146c0,0-0.035,0.402,0.262,0.529c0,0,0.505,0.305,2.197,0.133c0,0,0.719-0.126,1.845-0.46c1.125-0.335,4.129-1.229,4.554-1.341c0.426-0.111,0.953-0.291,1.645-0.469c0.693-0.179,2.041-0.626,2.309-0.73c0.27-0.104,1.811-0.618,2.928-0.81c1.114-0.195,2.226-0.186,2.813,0.149c0,0,0.357,0.304,0.521,0.662c0.162,0.358,0.476,0.863,0.92,1.088c0.457,0.227,0.754,0.371,1.877,0.273c0,0,0.021-0.096-0.396-0.37c-0.417-0.277-0.991-0.701-0.991-0.701s-0.334-0.245-0.408-0.447c-0.072-0.202-0.043-0.306-0.043-0.306l0.877-1.406c0,0,0-0.172,0.506-0.238c0.506-0.067,1.074-0.134,1.742-0.313c0.67-0.178,0.789-0.312,0.789-0.312l0.578,0.178c0,0,3.547,2.853,4.655,3.583l0.198-0.239c0,0,0.437,0.018,0.828,0.172c0.393,0.154,0.979,0.562,0.979,0.562s1.613,1.31,2.072,2.2l0.222,0.679l-0.102,0.161c0,0,0.919,1.307,2.096,2.602c0,0,1.229,1.664,1.689,2.09c0,0-0.108-0.399-0.203-0.849l0.339-0.226l0.2-0.144l0.617,0.259c3.575,4.811,6.435,10.424,8.144,16.328l-0.121,0.484l0.396,0.501c1.129,4.212,1.729,8.643,1.729,13.211c0,1.122-0.038,2.236-0.109,3.339l-0.304,0.511l0.226,0.555C99.95,72.645,78.057,93.131,51.38,93.131c-18.502,0-34.702-9.854-43.637-24.601l-0.102-0.365l-0.205-0.151c-3.387-5.742-5.682-12.205-6.595-19.104l0.212-0.524l-0.336-0.482c-0.213-1.892-0.322-3.812-0.322-5.758c0-2.985,0.255-5.909,0.748-8.755l0.25-0.562l-0.087-0.328C2.463,26.451,4.689,20.783,7.78,15.7l0.684-0.384l0.081,0.032c0,0,0.233-0.169,0.354-0.217l0.076-0.023c0,0,1.179-1.971,1.625-2.601c0,0,0.542-0.348,0.745-0.407c0,0,0.124-0.016,0.189,0.076c0,0,0.496-0.432,1.699-2.054c0.004-0.005,0.007-0.011,0.012-0.017c0,0-0.114-0.076-0.131-0.174c-0.018-0.097,0.108-0.591,0.173-0.717s0.108-0.156,0.108-0.156s1.722-2.032,3.151-3.238c0,0,0.26-0.202,0.678-0.25c0,0,1.472-0.613,3.264-2.184c0,0,0.051-0.289,0.478-0.858c0.428-0.57,1.456-1.163,2.222-1.337c0.764-0.174,0.896-0.038,0.896-0.038l0.064,0.065l0.515,0.766c0,0,0.565-0.316,1.413-0.604c0.847-0.289,0.979-0.262,0.979-0.262l0.823,1.336l-0.987,2c0,0-0.644,1.421-1.655,2.185c0,0-0.472,0.284-1.12,0.127c-0.648-0.157-1.072,0.333-1.072,0.333l-0.17,0.14c0,0,0.14-0.024,0.346-0.103c0,0,0.158,0.065,0.274,0.223c0.114,0.158,0.913,1.175,0.913,1.175s0.005,0.837-0.415,1.938c-0.419,1.1-1.467,2.891-1.467,2.891s-0.733,1.424-1.075,2.253c-0.342,0.829-0.515,1.765-0.488,2.262c0,0,0.187,0.062,0.707-0.202c0.655-0.332,1.083,0.027,1.083,0.027s0.719,0.53,1.041,0.881c0.262,0.289,0.802,1.765,0.209,3.224c0,0-0.402,1.008-1.377,1.724c0,0-0.216,0.332-1.529,0.174c-0.368-0.043-0.585-0.276-1.372-0.2c-0.785,0.077-1.231,0.815-1.231,0.815l0.013-0.024c-0.692,0.999-1.154,2.458-1.154,2.458l-0.057,0.165c0,0-0.241,0.509-0.292,1.752c-0.053,1.284,0.284,3.109,0.284,3.109s7.876-1.387,9.88-0.055l0.58,0.532c0,0,0.046,0.174-0.031,0.376c-0.08,0.204-0.375,0.673-0.987,1.113c-0.611,0.438-1.222,1.583-0.313,2.304c1.034,0.818,1.691,0.766,3.43,0.468c1.74-0.297,2.898-1.269,2.898-1.269s0.972-0.72,0.783-1.628c-0.188-0.908-1.017-1.189-1.017-1.189s-0.658-0.423-0.141-1.238c0,0,0.141-0.689,2.553-1.316c2.414-0.626,6.812-1.52,10.557-1.989c0,0-2.539-8.223-0.738-9.289c0,0,0.438-0.296,1.224-0.408l0.72-0.037c0.131-0.027,0.343,0.005,0.796,0.045c0.453,0.038,1.001,0.076,1.678-0.441c0.676-0.519,0.697-0.819,0.697-0.819"/><radialGradient id="SVGID_2_" cx="197.6416" cy="-371.8613" r="0" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".4835" stop-color="#EAEAEB"/><stop offset=".9451" stop-color="#A9ABAE"/><stop offset="1" stop-color="#999B9E"/></radialGradient><path style="fill:url(#SVGID_2_);" d="M-16.122-14.641"/><linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="456.2744" y1="510.1602" x2="502.7757" y2="582.9122" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#8A8A8A"/><stop offset=".5687" stop-color="#606060"/><stop offset=".5914" stop-color="#FFF"/><stop offset=".6116" stop-color="#585858"/><stop offset="1" stop-color="#303030"/></linearGradient><path style="opacity:.69;fill:url(#SVGID_3_);" d="M82.447,79.307l0.451,0.168c-0.032,0.061-0.067,0.119-0.101,0.179c-0.864,1.573-0.936,1.927-1.36,2.253c-0.424,0.326-0.58,0.539-1.443,0.695c-0.865,0.156-1.771,1.175-1.771,1.175s-0.875,0.835-0.48,0.866c0.396,0.025,1.177-0.609,1.177-0.609s0.497-0.354,0.625-0.255c0.125,0.099-0.539,0.751-0.539,0.751s-1.161,1.176-2.479,1.982l-0.396,0.213c0,0,1.869-1.392,2.764-2.395c0,0,0.185-0.271-0.185,0.057c-0.369,0.325-1.332,0.821-1.741,0.821c-0.41,0,0.016-0.563,0.016-0.563s0.596-0.768,1.812-1.758c1.22-0.994,2.239-0.922,2.239-0.922s0.227,0.043,0.253-0.271c0.028-0.313,0.312-0.863,0.312-0.863s0.453-1.032,1.674-2.749c1.218-1.714,1.77-2.195,1.77-2.195s1.588-1.629,2.423-3.259c0,0,0.581-1.006-0.364-0.255c-0.951,0.753-2.211,1.7-3.44,2.014c-1.233,0.312-1.349-0.836-1.349-0.836s-0.271-1.884,1.049-3.344c1.188-1.316,2.492-1.273,3.684-1.415c1.188-0.144,2.21-1.571,2.21-1.571s0.82-0.922,1.289-3.797c0.218-1.337,0.067-2.244-0.144-2.818l0.021-0.647l-0.368-0.021c-0.078-0.106-0.135-0.153-0.135-0.153s-0.297-0.299-0.607-0.524c-0.313-0.227-0.692-0.649-1.063-1.457c0,0-1.019-2.11-0.792-5.156c0.227-3.047,2.762-2.762,2.762-2.762s1.475,0.143,1.76-0.298c0.283-0.438,0.553-0.993,0.649-2.223c0.101-1.233-0.396-2.408-0.396-2.408s-0.186-0.609-1.049-0.708c-0.863-0.1-1.051,0.169-1.051,0.169s-0.255,0.072-0.723,1.09c-0.471,1.021-0.75,1.488-1.602,1.702c-0.849,0.211-2.023,0.099-2.549-0.992c-0.515-1.072-1.757-3.693-2.351-5.772l0.084-0.735l-0.325-0.471c-0.063-0.396-0.117-0.846-0.13-1.236c-0.026-0.992-0.312-2.097-0.638-3.2c-0.326-1.106-1.459-2.972-1.672-3.399c-0.324-0.667-0.621-0.949-1.021-0.893c-0.396,0.056-0.339,0.056-0.513,0.056c-0.168,0-0.266,0.212-0.311,0.425c-0.042,0.212-0.375,1.315-1.104,1.812c-0.752,0.51-1.147,0.737-2.438,0.85c0,0-1.487,0.099-2.661-2.097C71,29.36,71.301,27.96,71.398,27.45c0.099-0.51,0.539-1.247,1.229-1.388c0.693-0.141,1.119-0.184,1.119-0.184s1.122-0.01,1.603-0.071c0.551-0.071,0.283-1.006,0.283-1.006s-0.361-2.371-2.348-4.318l-0.096-0.487l-0.756-0.381c-1.881-2.04-4.354-5.354-4.354-5.354s-1.105-1.048-0.17-2.493c0,0,0.438-0.963,1.742-0.792c0.419,0.081,0.457,0.123,0.818,0.199c0.481,0.099,1.008,0.225,1.478-0.398c0,0,0.438-0.792-0.271-1.812s-0.923-1.742-1.785-1.687c0,0-0.397-0.055-0.793,0.384C68.702,8.1,67.682,8.378,67.086,8.44c-0.679,0.071-2.252-0.528-3.156-2.082c-0.513-0.874-0.752-1.35-0.865-1.595l0.231-0.34l0.72,0.08c0.186,0.358,0.549,1.056,0.978,1.812c0.552,0.978,1.048,1.118,1.373,1.261c0.325,0.141,1.049-0.071,1.431-0.283c0.385-0.213,0.766-0.695,1.43-0.738c0.668-0.043,1.629,0.071,2.311,0.793c0.682,0.723,1.531,2.224,1.459,2.932c-0.068,0.708-0.111,1.403-1.035,1.699c-0.921,0.298-1.303,0.043-1.884-0.084c-0.581-0.128-0.864-0.072-1.104,0.211c-0.242,0.284-0.512,0.892-0.412,1.162c0.102,0.27,0.186,0.454,0.75,1.262c0.566,0.806,3.474,4.25,4.031,4.766l-0.152,0.698l0.968,0.176c0.625,0.724,1.358,1.668,1.687,2.263c0.493,0.907,0.752,2.337,0.779,3.002c0.025,0.666-0.299,0.963-0.299,0.963s-0.313,0.524-2.012,0.524c-1.517,0-1.614,0.297-1.614,0.297s-0.47,0.467-0.369,1.615c0.103,1.146,0.616,2.344,1.56,3.37c0.778,0.851,2.252-0.006,2.748-0.295c0.51-0.299,0.822-1.264,0.822-1.264s0.102-1.217,1.432-1.217c1.377,0,1.969,1.318,1.969,1.318s0.963,1.295,1.941,4.121c0.481,1.389,0.566,2.281,0.566,2.281l0.126,1.668l-0.513,0.892l0.732,0.312c0.135,0.541,0.348,1.24,0.686,2.044c0,0,1.008,2.381,1.443,3.286c0.44,0.906,0.896,0.766,1.264,0.808c0,0,0.85,0.113,1.16-0.282c0.313-0.398,0.61-1.092,0.61-1.092s0.663-1.812,2.138-1.657c1.475,0.156,1.84,1.092,2.096,2.168c0.256,1.074,0.313,3.229-0.479,4.545c-0.798,1.318-1.688,1.135-1.688,1.135s-1.813-0.17-2.225,0.213c-0.41,0.382-0.623,0.724-0.681,1.613c-0.058,0.894,0.026,2.336,0.751,4.08c0.631,1.523,1.146,1.361,1.432,1.728c0.284,0.368,1.188,1.204,1.104,3.272c-0.082,2.067-0.791,4.149-1.586,5.439c-0.793,1.288-1.997,2.053-1.997,2.053s-0.338,0.211-1.076,0.311c-0.735,0.102-1.784,0.086-2.534,0.513c-0.75,0.426-0.992,1.501-1.063,1.971c-0.069,0.468-0.112,1.529,0.921,1.413c1.034-0.109,2.577-1.4,2.577-1.4s1.486-1.104,1.685-0.752c0.199,0.354-0.636,1.784-0.636,1.784s-1.035,1.562-1.898,2.523c-0.709,0.791-1.641,1.868-2.431,3.102L82.447,79.307L82.447,79.307z"/><linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="425.2861" y1="502.9512" x2="445.7861" y2="598.6606" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#A8A9AB"/><stop offset="1" stop-color="#636668"/></linearGradient><path style="fill:url(#SVGID_4_);" d="M23.441,22.732c-0.007,0.008-0.013,0.018-0.021,0.025C23.428,22.75,23.434,22.74,23.441,22.732z"/><linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="421.0684" y1="504.3701" x2="441.068" y2="597.7433" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#A8A9AB"/><stop offset="1" stop-color="#636668"/></linearGradient><path style="opacity:.45;fill:url(#SVGID_5_);" d="M38.188,89.707l0.163,0.01c-0.163-0.147-0.37-0.281-0.62-0.414c-0.699-0.371-3.731-2.375-4.669-3.009c-0.936-0.633-2.575-1.7-3.297-1.478c-0.554,0.172-0.475,0.394-0.804,0.556c-0.331,0.157-0.687,0.052-1.504-0.384c-0.818-0.434-1.424-0.725-3.02-2.239c-1.245-1.185,1.595-0.118,1.595-0.118s0.619,0.262,0.343-0.385c-0.277-0.646-1.676-2.333-2.994-3.691c-1.068-1.098-1.674-1.86-2.435-2.97l-0.566-0.661l0.007-0.166c-0.018-0.024-0.035-0.054-0.052-0.078c0,0-1.874-3.377-1.676-4.617c0,0,0.068-0.828,1.241-1.188c0.817-0.251,0.71,0.542,3.112,0.975c0,0,2.07,0.559,2.611-0.945c0.539-1.505-0.567-3.393-0.567-3.393s-1.449-2.656-3.244-2.758c-0.95-0.053-0.692,0.586-2.125,0.926c0,0-1.913,0.184-2.519-0.963c-0.734-1.389-1.04-2.969-1.015-4.022c0.022-1,0.054-1.079,0.119-1.371c0.045-0.206,0.192-0.582,0.254-1.128l-0.134-0.667l0.204-0.501c0.002-0.26-0.004-0.535-0.021-0.83c-0.091-1.66-0.213-4.221-0.437-5.71c-0.223-1.491-0.633-3.798-1.991-3.866c0,0-0.671-0.051-1.634,0.885c-0.884,0.856-1.684-0.708-1.728-1.663c-0.053-1.121,0.131-2.254,0.409-2.795c0.277-0.541,1.042-0.567,1.186-0.555c0.146,0.013,0.555,0.171,1.043,0.474c0.488,0.305,1.16,0.305,1.557-0.092c0.395-0.394,0.947-0.856,1.173-2.598c0.224-1.741,0.224-3.547,0.013-5.71l-0.225-0.484l1.339-0.289c-0.001-0.017-0.021-0.126-0.032-0.193c0-0.002,0-0.003,0-0.005c-0.002-0.017-0.005-0.032-0.007-0.049c-0.001-0.003-0.001-0.005-0.001-0.007c-0.003-0.019-0.007-0.038-0.009-0.057c0-0.001-0.001-0.001-0.001-0.003c-0.003-0.02-0.006-0.042-0.009-0.062c0-0.001,0-0.001,0-0.001c-0.004-0.023-0.007-0.045-0.011-0.068c0-0.004-0.001-0.006-0.001-0.008c-0.002-0.022-0.006-0.045-0.008-0.066c-0.001-0.006-0.001-0.01-0.003-0.017c-0.002-0.023-0.005-0.046-0.009-0.069c-0.001-0.004-0.001-0.007-0.002-0.014c-0.003-0.026-0.007-0.05-0.011-0.076c0-0.002,0-0.004,0-0.005c-0.004-0.024-0.008-0.05-0.011-0.076c-0.001-0.007-0.001-0.01-0.003-0.017c-0.002-0.025-0.006-0.052-0.009-0.08c-0.001-0.005-0.001-0.011-0.002-0.021c-0.005-0.027-0.007-0.053-0.011-0.081c-0.001-0.006-0.002-0.013-0.002-0.019c-0.002-0.029-0.006-0.058-0.01-0.087c0-0.004-0.001-0.008-0.003-0.014c-0.002-0.028-0.005-0.056-0.009-0.082c-0.001-0.006-0.001-0.011-0.002-0.016c-0.002-0.031-0.006-0.06-0.01-0.09c0-0.006-0.001-0.015-0.002-0.021c-0.004-0.03-0.006-0.061-0.011-0.09c0-0.007-0.001-0.015-0.002-0.022c-0.003-0.03-0.006-0.062-0.01-0.093c0-0.006-0.002-0.012-0.002-0.019c-0.003-0.032-0.005-0.063-0.009-0.094c0-0.002,0-0.005,0-0.009c-0.004-0.032-0.005-0.066-0.01-0.1c0-0.005,0-0.012-0.001-0.02c-0.002-0.033-0.005-0.065-0.007-0.098c-0.001-0.007-0.001-0.014-0.001-0.021c-0.004-0.033-0.006-0.067-0.008-0.099c0-0.005,0-0.012-0.001-0.02c-0.002-0.033-0.006-0.069-0.007-0.102c0-0.003,0-0.007-0.001-0.01c-0.002-0.033-0.004-0.066-0.006-0.1c-0.001-0.006-0.001-0.011-0.001-0.017c-0.001-0.032-0.003-0.068-0.005-0.1c0-0.008,0-0.014-0.001-0.021c-0.001-0.031-0.002-0.065-0.003-0.099c-0.001-0.006-0.001-0.013-0.001-0.021c-0.002-0.033-0.003-0.066-0.004-0.1c0-0.005,0-0.009,0-0.014c-0.001-0.032-0.001-0.066-0.002-0.099c0-0.003,0-0.005,0-0.009c0-0.034,0-0.067-0.001-0.101c0-0.005,0-0.013,0-0.017c0-0.033,0-0.067,0-0.098c0-0.005,0.001-0.012,0.001-0.019c0-0.032,0-0.065,0.001-0.095c0-0.005,0-0.009,0-0.015c0.001-0.033,0.001-0.065,0.003-0.099c0.052-1.244,0.292-1.752,0.292-1.752l0.057-0.164c0,0,0.46-1.459,1.154-2.459l-0.013,0.024c0,0,0.446-0.738,1.231-0.814c0.785-0.079,1.004,0.156,1.371,0.2c0.04,0.004,0.078,0.008,0.115,0.013c0.013,0.002,0.025,0.002,0.037,0.004c0.025,0.002,0.051,0.004,0.075,0.006c0.014,0.001,0.027,0.003,0.041,0.003c0.021,0.001,0.043,0.003,0.064,0.004c0.014,0.001,0.028,0.002,0.041,0.003c0.02,0.001,0.04,0.001,0.058,0.003c0.014,0,0.026,0,0.042,0c0.019,0.001,0.036,0.002,0.055,0.002c0.013,0.001,0.026,0.001,0.038,0.002c0.017,0,0.034,0,0.051,0c0.011,0,0.023,0,0.034,0c0.017,0,0.033,0,0.05,0c0.011,0,0.02-0.001,0.032-0.001c0.016-0.001,0.031-0.001,0.046-0.001c0.011-0.001,0.02-0.001,0.03-0.002c0.016,0,0.03-0.002,0.045-0.002c0.009,0,0.019,0,0.026-0.001c0.016-0.001,0.03-0.002,0.044-0.004c0.006,0,0.016-0.001,0.023-0.002c0.015-0.001,0.029-0.001,0.044-0.003c0.006-0.001,0.013-0.002,0.02-0.002c0.016-0.002,0.03-0.004,0.045-0.008c0.004,0,0.008,0,0.013-0.001c0.019-0.002,0.036-0.005,0.052-0.008l0,0c0.035-0.006,0.068-0.014,0.098-0.021c0,0,0,0,0.002-0.002c0.012-0.002,0.026-0.005,0.039-0.01c0.002,0,0.004,0,0.008-0.001c0.009-0.003,0.019-0.006,0.028-0.009c0.004,0,0.007-0.002,0.01-0.003c0.009-0.003,0.019-0.007,0.026-0.009c0.002-0.001,0.005-0.002,0.008-0.003c0.008-0.003,0.015-0.006,0.021-0.009c0.004-0.001,0.006-0.003,0.009-0.003c0.007-0.004,0.014-0.005,0.02-0.009c0.003-0.001,0.006-0.003,0.008-0.004c0.005-0.002,0.012-0.005,0.019-0.007c0.001-0.001,0.003-0.002,0.005-0.004c0.005-0.003,0.01-0.005,0.016-0.007c0.002-0.002,0.003-0.002,0.006-0.004c0.004-0.001,0.008-0.005,0.012-0.007c0.002-0.001,0.004-0.001,0.005-0.003c0.004-0.002,0.008-0.006,0.012-0.008c0.001,0,0.003-0.002,0.004-0.003c0.003-0.003,0.007-0.004,0.011-0.007c0.001-0.001,0.001-0.001,0.002-0.003c0.004-0.001,0.006-0.005,0.008-0.008h0.002c0.003-0.002,0.005-0.005,0.008-0.007l0.001-0.001c0.002-0.002,0.004-0.004,0.006-0.006s0.002-0.002,0.003-0.003c0.001,0,0.002-0.002,0.002-0.002c0.001-0.003,0.001-0.003,0.003-0.005c0.003-0.001,0.003-0.004,0.003-0.004c0.328-0.241,0.593-0.516,0.797-0.775c0.014-0.017,0.026-0.033,0.04-0.05c0.002-0.004,0.005-0.009,0.008-0.012c0.013-0.015,0.026-0.031,0.038-0.048c0.002-0.004,0.006-0.008,0.007-0.011c0.012-0.018,0.025-0.033,0.038-0.05c0.001,0,0.001,0,0.001-0.001c0.039-0.054,0.075-0.109,0.109-0.159c0-0.002,0.002-0.004,0.003-0.007c0.01-0.016,0.02-0.029,0.03-0.044c0.001-0.004,0.005-0.007,0.007-0.011c0.008-0.014,0.017-0.029,0.024-0.042c0.003-0.004,0.005-0.009,0.009-0.013c0.008-0.014,0.017-0.028,0.024-0.042l0.001-0.002c0.017-0.027,0.032-0.055,0.046-0.079c0.002-0.003,0.004-0.008,0.007-0.012c0.005-0.009,0.01-0.021,0.016-0.03c0.003-0.007,0.007-0.014,0.012-0.02c0.004-0.008,0.01-0.017,0.014-0.024c0.002-0.008,0.006-0.017,0.011-0.023c0.004-0.007,0.009-0.016,0.012-0.022c0.004-0.007,0.007-0.014,0.011-0.021c0.002-0.006,0.007-0.011,0.01-0.018c0.066-0.13,0.097-0.207,0.097-0.207c0.594-1.459,0.052-2.935-0.21-3.224c-0.32-0.354-1.041-0.883-1.041-0.883s-0.426-0.357-1.08-0.025c-0.521,0.264-0.711,0.201-0.711,0.201c-0.024-0.498,0.149-1.432,0.491-2.263c0.341-0.829,1.075-2.253,1.075-2.253s1.047-1.792,1.467-2.89c0.418-1.102,0.415-1.94,0.415-1.94s-0.795-1.019-0.91-1.177c-0.115-0.158-0.272-0.223-0.272-0.223c-0.205,0.078-0.345,0.103-0.345,0.103l0.169-0.14c0,0,0.424-0.492,1.073-0.334c0.648,0.158,1.119-0.126,1.119-0.126c1.011-0.764,1.654-2.187,1.654-2.187l0.988-1.997L27.059,1.12c0,0-0.131-0.028-0.979,0.259c0,0-0.773,1.905-1.725,3.087c0,0-0.374,0.552-0.664,0.416c-0.289-0.134-0.629-0.144-0.91-0.085c-0.281,0.06-1.156,0.349-1.948,1.413c-0.79,1.064-0.883,1.863-0.458,2.101c0.425,0.238,1.045-0.076,1.42-0.407c0.375-0.333,0.638-0.485,0.757-0.47c0.118,0.02,0.093,0.315,0.068,0.41c-0.026,0.094-0.154,1.364-1.625,3.913c-0.369,0.64-0.845,1.589-1.069,2.046l0.608,0.447l-0.999,0.503c-0.266,0.758-0.605,1.945-0.471,2.61c0.204,1.011,1.158,1.011,1.158,1.011s0.621,0.027,1.344-0.348c0.722-0.375,0.892,1.242,0.892,1.505c0,0.264-0.007,1.726-1.02,2.442c0,0-0.409,0.313-0.985,0.313c-0.579,0-0.954-0.169-0.954-0.169s-0.984-0.272-1.59,0.083c-0.604,0.358-1.326,1.098-1.897,2.17c-0.569,1.072-1.045,2.986-1.019,4.397c0.02,1.111,0.18,2.162,0.291,2.879l0.667,0.435l-0.543,0.623c0.079,1.136,0.168,3.363,0.155,4.109c-0.018,0.911-0.154,2.84-1.115,3.292c0,0-0.324,0.171-0.868-0.238s-1.132-0.426-1.37-0.435c-0.238-0.007-1.285,0.162-1.692,1.311c-0.408,1.145-0.375,2.688-0.29,3.597c0.086,0.91,0.876,2.458,1.872,2.458c0,0,0.484,0.035,1.055-0.553c0.568-0.586,0.902-0.637,1.156-0.629c0.255,0.009,0.749,0.272,1.072,2.851c0.307,2.442,0.437,4.442,0.414,6.668l0.605,0.392l-0.758,0.768c-0.042,0.199-0.089,0.417-0.142,0.626c-0.169,0.682-0.187,1.364-0.024,2.569c0.161,1.21,0.811,3.72,1.754,4.375c1.252,0.871,2.071,0.856,2.916,0.791c0.842-0.067,1.424-0.712,1.424-0.712s0.331-0.342,0.685-0.237c0.356,0.104,1.346,0.66,2.058,2.084c0.713,1.425,0.871,2.992-0.316,3.272c-1.187,0.272-3.231-0.846-3.231-0.846s-1.161-0.647-2.109,0.064c-0.951,0.713-0.977,1.807-0.502,3.15c0.261,0.738,0.782,1.938,1.513,3.188l0.721,0.302l-0.193,0.551c0.492,0.748,1.055,1.479,1.678,2.105c0,0,2.466,2.729,3.838,4.457c0,0,0.08,0.157-0.158,0.016c-0.238-0.146-1.266-0.621-1.82-0.566c-0.555,0.054-0.45,0.395-0.45,0.395s0.238,1.254,4.01,3.365c0,0,1.359,0.766,2.216,0.766c0,0,0.277,0.039,0.619-0.346c0.346-0.381,0.45-0.341,0.688-0.262c0.237,0.076,0.553,0.249,1.741,1.105c1.188,0.857,3.496,2.176,4.325,2.731c0.83,0.555,0.793,0.657,0.621,1.054c-0.171,0.396,0.593,0.619,0.593,0.619s1.899,0.855,2.928,0.846c1.029-0.016,1.464-0.119,2.097,0.012c0.632,0.133,1.28,0.291,1.345,0.346c0.066,0.053-0.315,0.038-0.315,0.038s-2.362-0.276-2.494-0.21c-0.13,0.066,0.014,0.184,0.99,0.436v0.006c1.245,0.217,2.507,0.387,3.782,0.51c-0.489-0.061-2.52-0.322-3.823-0.713c0,0-0.131-0.078,0.173-0.014c0.303,0.065,2.018,0.225,2.466,0.157c0.448-0.065-0.092-0.274-0.092-0.274s-0.897-0.425-2.889-0.582c0,0-0.803-0.055-1.503,0.014c-0.699,0.066-1.41-0.264-1.41-0.264s-1.028-0.317-0.78-0.646c0.126-0.165,0.137-0.336,0.065-0.502L38.188,89.707L38.188,89.707z"/><linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="444.7598" y1="550.8145" x2="473.8418" y2="550.8145" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#231F20"/><stop offset="1" stop-color="#474747"/></linearGradient><path style="opacity:.35;fill:url(#SVGID_6_);" d="M62.342,86.16l-0.438,0.646c0.096,0.655-0.104,0.875-0.254,1.119c-0.156,0.26-0.59,0.592-0.375,1.185c0.218,0.59,1.687,0.401,2.535,0.144c0.852-0.26,1.569-0.49,2.134-0.693c0.562-0.198,0.719,0.086,0.719,0.086s0.246,0.175-0.574,0.606c-0.821,0.433-2.336,0.634-3.055,0.72c-0.724,0.086-0.506-0.043-1.586,0.33c-1.082,0.377-0.07,0.707-0.07,0.707c2.435,0.635,4.188,0.115,4.188,0.115l0.332-0.097c0.27-0.077,0.535-0.161,0.803-0.244c-2.021,0.456-3.326,0.149-3.739,0.095c-0.431-0.058-0.778-0.145-0.88-0.361c-0.102-0.215,0.479-0.2,0.479-0.2s1.683-0.188,3.24-0.69c1.557-0.506,1.932-0.98,1.871-1.341c-0.057-0.358-0.848-0.332-1.785-0.028c-0.937,0.305-2.334,0.75-2.662,0.821c-0.334,0.07-0.691,0.06-0.812-0.146c-0.114-0.203-0.216-0.53,0.146-0.905c0.36-0.376,0.402-0.694,0.402-0.694c0.055-0.254,0.057-0.523,0.021-0.8L62.342,86.16l0.545-0.118c-0.298-1.124-1.052-2.218-1.279-2.577c-0.314-0.507-0.836-0.793-2.393-0.535c-1.556,0.26-3.386,1.035-3.386,1.035s-1.888,0.997-3.298,0.812c-1.413-0.188-1.703-1.614-1.688-2.063c0.015-0.447,0.304-0.835,1.039-1.123c0.735-0.289,2.465-0.678,4.985-0.808s3.458-1.771,3.458-1.771c0.33-0.478,0.922-1.543-0.489-2.336c-1.41-0.791-1.441-0.593-2.119-1.107c-0.678-0.52-1.412-1.153-1.701-2.033c-0.025-0.084-0.066-0.197-0.104-0.292l-0.849-0.558l0.41-0.371c-0.34-0.67-0.693-1.271-0.693-1.271s-1.281-1.902-0.246-3.703c1.038-1.803,2.736-2.348,2.736-2.348s1.5-0.332,2.996,0.016c1.418,0.324,2.133-0.219,2.133-0.219s0.865-0.374,1.123-2.102c0.264-1.729-0.014-4.943-2.316-5.578c-2.307-0.633-3.527,0.563-3.527,0.563s-1.24,1.369-1.644,1.57c-0.404,0.201-1.022,0.563-1.022,0.563s-0.867,0.519-1.453,0.648c-0.393,0.086-1.791-1.771-1.933-3.201c-0.133-1.316-0.401-2.388-0.306-5.096l-0.485-0.63l0.537-0.533c0.101-2.999-0.417-5.116-1.188-6.461c-0.807-1.412-2.119-2.161-2.766-2.478c-0.648-0.318-2.147-0.462-3.17-0.086c-1.023,0.374-1.239,0.678-1.613,1.326c-0.376,0.648-0.836,0.605-0.836,0.605s-1.427,0.043-1.888-2.133c-0.646-3.049,0.359-4.035,0.359-4.035s0.318-0.476,1.369-0.619c1.053-0.144,1.73,0.115,2.537,0.315c0.806,0.202,1.41,0.116,2.419-0.374c1.008-0.491,1.442-1.297,1.238-2.739c-0.195-1.393-0.255-1.742-1.483-5.964l-0.875-0.46l0.583-0.579C44.87,23.032,44.8,20.35,44.8,20.35c-0.106-0.977,0.049-1.292,0.598-1.54c0.576-0.259,1.116-0.175,1.934-0.123c0.818,0.053,1.425-0.079,1.847-0.316c0.422-0.237,1.581-0.87,1.504-2.162c-0.08-1.292-1.109-2.824-1.953-3.351c-0.843-0.528-1.953-0.316-2.558,0.131c-0.606,0.45-0.845,1.029-1.214,1.214c-0.369,0.183-0.895,0.605-1.45,0.474c-0.554-0.132-0.581-1.371-0.818-2.77c-0.153-0.907-0.271-1.611-0.338-1.989l-0.678-0.254c0.044,0.557,0.535,3.304,0.535,3.304s0.223,1.364,0.308,1.692c0.086,0.329,0.314,1.05,0.314,1.05s0.092,0.364,0.456,0.535c0.365,0.172,1.052,0.24,1.743-0.032c0.692-0.271,0.886-0.572,1.199-0.938c0.315-0.364,0.429-0.493,0.429-0.493s0.663-0.622,1.478-0.343c0.813,0.278,1.299,1.228,1.299,1.228l0.028,0.06c0,0,0.403,0.661,0.392,1.269v-0.057c0,0-0.022,0.301-0.697,0.818c-0.676,0.519-1.226,0.479-1.678,0.442c-0.454-0.04-0.666-0.072-0.797-0.045l-0.719,0.038C45.178,18.303,44.74,18.6,44.74,18.6c-1.8,1.064,0.736,9.288,0.736,9.288l0,0L45.2,28.501c0,0,0.514,2.052,0.904,3.378c0.388,1.326,0.562,2.637,0.62,2.91c0.058,0.274,0.044,0.762-0.317,1.051c-0.359,0.289-1.239,0.534-1.425,0.562c-0.187,0.029-0.535-0.042-0.996-0.201c-0.462-0.158-0.922-0.187-0.922-0.187s-1.11-0.188-2.291,0.173c-1.182,0.359-2.076,1.569-2.148,3.083c-0.071,1.513-0.057,2.278,0.535,3.617c0.59,1.34,1.657,2.104,2.463,2.118c0.808,0.014,1.469-0.403,1.931-1.051c0.459-0.65,0.59-0.751,0.59-0.751c0.548-0.302,1.944-0.433,2.651-0.172c0.708,0.258,2.007,1.073,2.723,2.679c0.579,1.298,0.76,2.75,0.729,5.363l0.584,0.448l-0.61,0.703c-0.007,0.246-0.016,0.498-0.026,0.761c-0.143,3.876,0.72,5.864,0.72,5.864c0.491,1.065,1.023,1.83,1.745,2.318c0.719,0.489,1.699,0.156,2.018,0c0.315-0.158,1.194-0.563,1.943-1.037c0.749-0.477,0.725-0.679,1.629-1.515c0.907-0.833,2.076-0.604,2.076-0.604s1.107,0.028,1.74,1.313c0.637,1.283,0.509,3.109,0.347,3.773c-0.158,0.662-0.444,1.097-1.063,0.979c-0.621-0.114-1.645-0.217-2.019-0.231c-0.375-0.014-1.433-0.049-2.394,0.203c-0.938,0.244-2.205,0.92-3.414,2.883c-0.938,1.52-0.478,3.013-0.262,3.603c0.17,0.462,0.635,1.104,1.043,1.896l0.756,0.252l-0.35,0.656c0.398,0.963,0.701,1.493,1.305,2.151c0.648,0.705,1.672,1.251,2.881,1.714c1.213,0.462,0.662,1.282,0.662,1.282c-0.69,1.497-2.75,1.557-3.354,1.628c-0.604,0.07-1.872,0.188-3.058,0.447c-1.182,0.261-2.291,0.418-2.954,1.182c-0.661,0.764-0.402,1.557-0.013,2.393c0.388,0.834,1.427,1.28,2.853,1.226c1.426-0.058,2.35-0.476,3.214-0.851s2.362-0.809,2.81-0.937c0.445-0.129,1.051-0.39,1.498,0.26c0.482,0.701,0.994,1.697,1.229,2.45L62.342,86.16L62.342,86.16z"/><path style="opacity:.1;fill:#232323;" d="M101.566,51.162c0,0,0.347-3.236,0.457-4.392c0.018-0.173,0.031-0.343,0.045-0.513l-0.098-0.241c-0.459,5.815-0.938,7.727-0.938,7.727s0.013-0.037,0.031-0.101c0.189-0.817,0.357-1.646,0.51-2.48C101.568,51.162,101.566,51.162,101.566,51.162L101.566,51.162z"/><path style="opacity:.1;fill:#232323;" d="M91.268,12.579l0.328,0.413l0.279,0.5c1.021,1.648,2.846,4.295,2.846,4.295s0.739,0.958,0.905,0.968c0.164,0.01-0.084-0.741-0.084-0.741s-0.271-0.979,0.517,0.298c0.73,1.19,1.207,2.359,1.317,2.72c0.114,0.361,0.042,0.411,0.042,0.411s-0.146,0.072-0.146,0.33c0,0.505,0.496,1.659,0.496,1.659s1.545,3.926,2.07,5.563c0.526,1.641,1.133,4.368,1.133,4.368s0.187,0.804,0.207,1.174c0.021,0.371-0.063,0.381-0.229,0.186c-0.164-0.196-0.329-0.072-0.329-0.072s-0.175,0.072-0.175,0.773c0,0.7,0.085,2.346,0.217,3.615c0.152,1.505,0.616,2.133,0.616,2.133s0.413,0.618,0.526-0.577c0.096-1.028,0.185-0.228,0.185-0.228c0.196,1.557,0.062,4.544,0.03,4.955c-0.019,0.218-0.032,0.433-0.049,0.64l0.133-0.221c0.201-2.971,0.06-5.359,0.06-5.359s-0.144-1.323-0.3-1.311c-0.155,0.01-0.211,0.701-0.211,0.701s-0.065,0.467-0.156,0.456c-0.088-0.011-0.369,0.022-0.566-1.412c-0.199-1.436-0.156-2.949-0.156-2.949s-0.043-0.155,0.048-0.189c0.09-0.034,0.188,0.1,0.188,0.1s0.133,0.189,0.287,0.033c0.156-0.154,0.19-0.622-0.301-3.08c-0.288-1.454-0.711-2.896-1.006-3.832l-0.294-0.333l-0.058-0.718c0,0-0.311-0.913-1.033-2.737c-0.723-1.824-0.846-2.458-0.846-2.458s-0.045-0.2,0.066-0.234c0.111-0.032,0.091-0.178,0.091-0.178s-0.013-0.245-0.278-0.99c-0.268-0.746-0.426-1.281-1.356-2.86c-0.869-1.468-1.124-1.558-1.124-1.558s-0.426-0.234-0.112,0.591c0.313,0.823-0.075,0.232-0.075,0.232c-0.925-1.177-2.838-4.292-2.838-4.292l-0.537-0.373l-0.508-1.261l-0.015,0.01"/><path style="opacity:.1;fill:#232323;" d="M1.547,32.696l-0.183,0.37c-0.472,2.495-0.625,5.135-0.62,5.31c0.01,0.208-0.036,0.211-0.075,0.178c-0.042-0.035,0.03-0.16-0.048-0.16c-0.079,0-0.108,0.211-0.108,0.211L0.512,38.6c-0.021,0.288-0.038,0.574-0.053,0.861l0.016-0.003c0.068-0.098,0.097-0.028,0.097-0.028s-0.029,0.126,0.097,0.056c0.126-0.07,0.21-1.379,0.21-1.379s0.014-2.813,0.836-6.14c0.819-3.327,1.281-4.259,1.281-4.259s0.154-0.418,0.138-0.083C3.12,27.958,3.33,27.986,3.33,27.986c0.375-0.054,0.821-1.125,1.267-2.493c0.445-1.363,0.668-2.589,0.668-2.7c0-0.11-0.055-0.194-0.152-0.138c-0.098,0.056-0.125,0.014-0.125,0.014c-0.014-0.208,0.361-1.127,0.361-1.127c1.253-3.202,3.104-5.694,3.104-5.694l0.09-0.504c-0.164,0.254-0.27,0.419-0.421,0.661c-0.056,0.089-0.042,0.297-0.001,0.32c-0.201,0.191-0.365,0.35-0.476,0.456c-2.707,4.473-3.059,6.556-3.059,6.556c-0.017,0.214,0.004,0.311,0.111,0.306c0.065-0.003,0.251-0.349,0.116,0.354c-0.09,0.468-0.524,1.708-0.693,2.212c-0.171,0.505-0.358,0.85-0.495,0.826C3.49,27.01,3.49,26.801,3.49,26.801s-0.042-0.546-0.398,0.245c-0.356,0.791-0.713,1.859-1.425,4.65c-0.031,0.125-0.063,0.251-0.092,0.38L1.547,32.696L1.547,32.696z"/><path style="opacity:.1;fill:#232323;" d="M4.841,62.626c-0.15-0.401-0.264-0.722-0.179-0.581c0.085,0.143,0.198,0.432,0.462,0.725c0.263,0.291,0.442-0.226-0.622-3.104s-1.354-3.04-1.402-3.095c-0.046-0.058-0.215-0.237-0.167,0.167c0.045,0.404,0.018,0.656-0.51-1.146c-0.528-1.806-0.996-4.844-1.025-5.089c-0.027-0.243-0.169-1.778-0.396-3.594c-0.226-1.814-0.246-3.743-0.207-4.28c0.039-0.537-0.066-0.828-0.123-0.837c-0.056-0.008-0.094,0.047-0.131,0.284c-0.038,0.234-0.01,0.395-0.067,0.385c-0.057-0.009-0.076-0.471-0.076-0.471H0.391c0,0.05,0,0.1,0,0.151c0,0.174,0.001,0.345,0.002,0.519l0.039,0.402c0.033,0.597,0.129,0.354,0.135,0.246c0.006-0.109,0.03-0.329,0.03-0.329s0.103-0.884,0.084,0.02c-0.019,0.904,0.236,4.563,0.236,4.563c0.019,0.236,0.041,0.479,0.068,0.729l0.063,0.092l-0.042,0.104c0.265,2.425,0.795,5.086,0.795,5.086c0.507,2.417,1.11,3.846,1.308,4.25c0.198,0.405,0.236,0.085,0.17-0.271c-0.066-0.357,0.546,0.688,0.873,1.674c0.332,0.99,0.556,1.815,0.556,1.815s0.254,0.781,0.142,0.828c-0.113,0.046-0.292-0.293-0.292-0.293s-0.473-0.835-0.274-0.228c0.398,1.231,1.6,3.822,1.6,3.822l1.396,2.471C6.282,65.836,4.982,63.004,4.841,62.626L4.841,62.626z"/><path style="opacity:.1;fill:#232323;" d="M7.281,67.639c0.069,0.125,0.136,0.246,0.202,0.359L7.281,67.639z"/><path style="opacity:.1;fill:#232323;" d="M20.722,2.874C20.51,3.216,20.48,3.388,20.48,3.388s0.112-0.118,0.183-0.237C20.733,3.033,20.722,2.874,20.722,2.874z"/><path style="opacity:.1;fill:#232323;" d="M17.216,5.572c-0.417,0.048-0.677,0.25-0.677,0.25S16.889,5.761,17.216,5.572z"/><path style="opacity:.1;fill:#232323;" d="M84.005,4.909c0,0,0.247-0.03,0.347,0.02c0.101,0.049,0.066-0.158,0.066-0.158s-0.287-0.406-0.322-0.556c-0.32-0.089-0.611-0.1-0.611-0.1l-0.028,0.034c-0.01,0.075-0.036,0.188-0.012,0.297C83.441,4.448,83.917,4.811,84.005,4.909L84.005,4.909z"/><path style="opacity:.1;fill:#232323;" d="M87.487,7.88l0.095-0.152l-0.223-0.679c-0.004-0.012-0.012-0.022-0.021-0.036c-0.007,0.066-0.049,0.125-0.172,0.115c0,0-0.099-0.03-0.011,0.198C87.219,7.469,87.355,7.699,87.487,7.88L87.487,7.88z"/><path style="opacity:.1;fill:#232323;" d="M101.566,51.162c0,0,0.347-3.236,0.457-4.392c0.018-0.173,0.031-0.343,0.045-0.513l-0.098-0.241c-0.459,5.815-0.938,7.727-0.938,7.727s0.013-0.037,0.031-0.101c0.189-0.817,0.357-1.646,0.51-2.48C101.568,51.162,101.566,51.162,101.566,51.162L101.566,51.162z"/><linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="266.4922" y1="-395.2783" x2="295.9644" y2="-485.0349" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset=".0094" stop-color="#FCFCFC"/><stop offset=".0655" stop-color="#EEEEEE"/><stop offset=".1342" stop-color="#E5E5E5"/><stop offset=".2515" stop-color="#E3E3E3"/><stop offset=".3357" stop-color="#8A8A8A"/><stop offset=".4422" stop-color="#B8B8B8"/><stop offset="1" stop-color="#3B3B3B"/></linearGradient><path style="opacity:.5;fill:url(#SVGID_7_);" d="M79.003,84.528c0,0,0.667-0.653,0.539-0.752c-0.128-0.101-0.623,0.256-0.623,0.256s-0.073,0.062-0.185,0.142l0.393-0.252c0,0-0.038,0.238-0.355,0.555c0,0-0.094,0.094-0.258,0.248c-0.957,0.938-2.386,1.998-2.386,1.998l0.396-0.211C77.844,85.703,79.003,84.528,79.003,84.528z"/><linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="460.4629" y1="512.5557" x2="509.5884" y2="573.3062" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EFF0F0"/><stop offset=".5914" stop-color="#F0F1F2"/><stop offset=".599" stop-color="#787878"/><stop offset=".6456" stop-color="#EEEFF0"/><stop offset="1" stop-color="#D8D9DB"/></linearGradient><path style="opacity:.73;fill:url(#SVGID_8_);" d="M82.984,39.705l0.51-0.891l-0.127-1.667c0,0-0.085-0.893-0.566-2.28c-0.979-2.828-1.941-4.122-1.941-4.122s-0.592-1.318-1.969-1.318c-1.33,0-1.431,1.219-1.431,1.219s-0.312,0.963-0.821,1.261c-0.5,0.29-1.972,1.146-2.748,0.296c-0.941-1.026-1.461-2.225-1.56-3.372c-0.101-1.146,0.367-1.615,0.367-1.615s0.1-0.296,1.614-0.296c1.703,0,2.014-0.525,2.014-0.525s0.324-0.296,0.297-0.963s-0.284-2.097-0.779-3.001c-0.324-0.596-1.058-1.537-1.684-2.261l-0.967-0.178l0.15-0.699c-0.56-0.514-3.465-3.959-4.031-4.766c-0.564-0.808-0.65-0.993-0.75-1.262c-0.099-0.269,0.17-0.877,0.412-1.161c0.238-0.283,0.521-0.341,1.104-0.212c0.58,0.127,0.961,0.381,1.886,0.084c0.919-0.297,0.962-0.992,1.033-1.699c0.071-0.708-0.78-2.209-1.458-2.932c-0.684-0.721-1.645-0.836-2.311-0.792c-0.664,0.042-1.047,0.523-1.433,0.737c-0.382,0.213-1.103,0.425-1.429,0.284c-0.326-0.142-0.823-0.284-1.375-1.261c-0.43-0.76-0.794-1.459-0.979-1.817L63.299,4.42v0.012c0,0,0.633,1.654,1.633,2.811c0.998,1.157,2.266,0.919,2.266,0.919s0.82-0.089,1.533-0.772c0.711-0.683,1.761-0.148,2.024,0.04c0.269,0.189,0.853,0.911,1.478,2.127c0.621,1.216-0.355,2.058-0.355,2.058s-0.555,0.535-1.691,0.088c-1.14-0.443-1.813,0.259-1.986,0.614c-0.182,0.357-0.508,0.99,0.076,1.73c0.584,0.742,3.178,4.273,4.916,5.945c1.74,1.672,2.314,3.047,2.682,4.342c0.365,1.297,0.079,1.899-0.521,2.018c-0.604,0.118-1.148,0.021-2.086,0.187c-0.94,0.17-1.349,0.367-1.543,1.653c-0.199,1.286,0.562,3.373,1.67,4.361c1.106,0.989,2.334,0.386,2.76,0.228c0.427-0.159,1.352-0.653,1.681-2.027c0.188-0.783,0.851-0.721,0.851-0.721s0.563-0.071,0.854,0.117c0.287,0.19,0.633,0.525,1.402,1.87c0.772,1.346,1.453,3.146,1.724,4.738C82.924,38.35,82.729,38.576,82.984,39.705c0.256,1.128,1.078,3.245,1.466,4.074c0.383,0.832,0.78,1.662,0.989,2.107c0.205,0.445,0.531,0.782,1.443,0.802c0.908,0.02,1.273-0.228,1.541-0.662c0.27-0.435,0.612-1.088,0.713-1.316c0.1-0.228,0.467-0.911,1.146-1.02c0.685-0.108,1.762,0.01,2.106,1.198c0.313,1.071,0.76,2.622-0.158,4.5c-0.65,1.334-1.129,0.859-2.451,0.948c0,0-1.165-0.01-1.781,0.921c-0.611,0.93-0.416,2.61-0.286,3.877s0.988,3.113,1.621,3.563c0.636,0.443,0.86,0.849,1.08,1.256c0.216,0.404,0.534,1.205,0.216,3.313c-0.313,2.106-0.979,3.74-1.867,4.521c-0.024,0.021-0.05,0.043-0.07,0.063c-0.067,0.065-0.141,0.135-0.219,0.201c-0.537,0.521-0.371,0.543-0.889,0.793c-0.594,0.289-0.988,0.207-1.958,0.365c-0.97,0.16-1.583,0.327-2.088,0.821c-0.503,0.495-1.243,1.409-0.979,3.187c0.148,0.986,1.318,0.584,2.229,0.111c-0.274,0.125-0.553,0.221-0.798,0.246c-1.033,0.113-0.991-0.949-0.921-1.415c0.069-0.47,0.313-1.544,1.063-1.97s1.799-0.41,2.533-0.512c0.738-0.101,1.076-0.313,1.076-0.313s1.205-0.766,1.997-2.055c0.793-1.289,1.502-3.371,1.587-5.438c0.084-2.068-0.821-2.902-1.104-3.271c-0.283-0.366-0.799-0.203-1.431-1.729c-0.724-1.74-0.81-3.188-0.751-4.079c0.057-0.892,0.27-1.231,0.682-1.612c0.41-0.383,2.223-0.213,2.223-0.213s0.893,0.185,1.686-1.134c0.793-1.317,0.738-3.471,0.481-4.546c-0.253-1.076-0.623-2.013-2.097-2.168c-1.471-0.152-2.138,1.66-2.138,1.66s-0.297,0.693-0.608,1.092c-0.312,0.395-1.16,0.285-1.16,0.285c-0.37-0.044-0.821,0.099-1.264-0.81c-0.438-0.906-1.442-3.286-1.442-3.286c-0.339-0.809-0.556-1.512-0.688-2.055L82.984,39.705L82.984,39.705z"/><linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="272.8721" y1="-392.8257" x2="302.4699" y2="-482.9646" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="opacity:.53;fill:url(#SVGID_9_);" d="M82.487,79.313l0.801-0.479c0.788-1.231,1.72-2.31,2.431-3.103c0.863-0.961,1.896-2.522,1.896-2.522s0.835-1.431,0.638-1.784c-0.13-0.23-0.704,0.02-1.687,0.752c-3.674,2.746-3.971,1.246-3.971,1.246c0.422,2.438,4.729-1.633,5.108-1.375c-0.063,0.563-0.457,1.172-1.25,2.25c0,0-0.388,0.555-0.78,0.953c-0.369,0.432-0.578,0.641-0.578,0.641s-0.088,0.09-0.125,0.125c-0.471,0.541-1.024,1.242-1.595,2.018c-0.019,0.021-0.104,0.113-0.125,0.143c-0.295,0.416-0.491,0.73-0.702,1.062c-0.014,0.022-0.064,0.011-0.076,0.034c0-0.002-0.013,0.014-0.025,0.037c-0.245,0.39-0.373,0.713-0.508,0.959c-0.012,0.029-0.021,0.065-0.03,0.095c0,0-0.319,0.665-0.457,1.067c-0.14,0.405-0.12,0.547-0.623,0.625c-0.504,0.078-0.276-0.053-1.021,0.196c0,0-0.403,0.199-0.938,0.571c-0.027,0.021-0.057,0.042-0.082,0.063c-0.736,0.604-1.247,1.119-1.534,1.436c-0.051,0.063-0.099,0.13-0.146,0.195c0,0-0.157,0.168,0.051,0.188c0.206,0.021,0.633-0.01,1.008-0.169l0.088-0.057c-0.186,0.103-0.373,0.174-0.513,0.162c-0.396-0.026,0.479-0.864,0.479-0.864s0.906-1.019,1.771-1.175c0.862-0.156,1.021-0.371,1.444-0.693c0.426-0.327,0.494-0.682,1.359-2.254c0.03-0.059,0.064-0.115,0.098-0.176L82.487,79.313L82.487,79.313z"/><linearGradient id="SVGID_10_" gradientUnits="userSpaceOnUse" x1="444.6943" y1="510.9561" x2="469.7246" y2="592.0699" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#FFF"/><stop offset=".7473" stop-color="#F9F9F9"/><stop offset="1" stop-color="#D5D7D8"/></linearGradient><path style="opacity:.96;fill:url(#SVGID_10_);" d="M55.064,72.686l0.408-0.377c-0.34-0.668-0.693-1.269-0.693-1.269s-1.282-1.901-0.245-3.703c1.036-1.803,2.737-2.348,2.737-2.348s1.5-0.332,2.996,0.017c1.418,0.323,2.133-0.22,2.133-0.22s0.865-0.376,1.123-2.104c0.261-1.729-0.014-4.94-2.317-5.576c-2.306-0.633-3.528,0.563-3.528,0.563s-1.242,1.369-1.644,1.57c-0.404,0.2-1.024,0.562-1.024,0.562s-0.865,0.52-1.453,0.648c-0.39,0.087-1.788-1.771-1.931-3.2c-0.133-1.313-0.4-2.385-0.305-5.084c0-0.005,0-0.01,0-0.017l-0.486-0.629l0.537-0.526c0.102-3-0.418-5.119-1.188-6.463c-0.805-1.414-2.118-2.163-2.766-2.479c-0.647-0.317-2.146-0.461-3.169-0.086c-1.022,0.375-1.237,0.677-1.613,1.325c-0.376,0.65-0.835,0.606-0.835,0.606s-1.427,0.044-1.89-2.132c-0.644-3.049,0.36-4.036,0.36-4.036s0.318-0.475,1.369-0.619c1.053-0.144,1.73,0.115,2.536,0.317c0.807,0.2,1.41,0.114,2.42-0.374c1.009-0.49,1.442-1.298,1.24-2.738c-0.196-1.397-0.249-1.727-1.484-5.966l-0.874-0.458l0.582-0.579c-1.182-4.271-1.257-6.961-1.257-6.961c-0.105-0.975,0.049-1.29,0.598-1.537c0.576-0.261,1.117-0.177,1.934-0.125c0.819,0.052,1.425-0.079,1.847-0.316c0.423-0.236,1.583-0.87,1.503-2.163c-0.078-1.292-1.108-2.823-1.951-3.35c-0.844-0.528-1.952-0.317-2.56,0.132c-0.606,0.447-0.843,1.028-1.213,1.212c-0.368,0.185-0.896,0.607-1.45,0.474c-0.554-0.132-0.581-1.372-0.818-2.77c-0.155-0.915-0.276-1.614-0.342-1.989l-0.674-0.254c0.043,0.557,0.535,3.304,0.535,3.304l0.294,1.624c0,0,0,0.007,0,0.02c0.006,0.018,0.009,0.036,0.013,0.05c0.019,0.079,0.049,0.18,0.082,0.289c0.114,0.215,0.37,0.456,0.942,0.502c1.076,0.089,1.772-0.468,2.025-0.709c0.254-0.239,0.86-0.911,0.86-0.911s0.329-0.632,1.253-0.494c0.922,0.14,1.238,0.773,1.403,1.013c0.167,0.242,1.57,1.961,0.672,2.861c-0.039,0.039-0.093,0.089-0.152,0.146c-0.104,0.111-0.245,0.246-0.446,0.399c-0.675,0.517-1.226,0.48-1.678,0.442c-0.453-0.039-0.665-0.07-0.795-0.043l-0.72,0.038c-0.787,0.11-1.224,0.408-1.224,0.408c-1.8,1.065,0.735,9.287,0.735,9.287s0.671,2.029,0.973,2.979c0.301,0.949,0.496,1.625,0.791,3.264c0.295,1.639-0.231,2.092-0.525,2.251c-0.294,0.158-0.984,0.568-1.77,0.604c-0.783,0.034-1.027-0.368-2.371-0.432c-1.345-0.065-2.246,0.345-2.661,0.906c-0.417,0.561-0.913,1.862-0.675,3.4c0.237,1.541,0.504,2.064,1.092,2.748c0.59,0.681,1.165,0.97,1.978,0.696c0.792-0.266,0.764-0.756,1.173-1.164c0.517-0.519,0.855-0.792,2.063-0.821c1.208-0.029,1.979,0.288,2.594,0.784c0.619,0.496,1.934,1.646,2.294,3.356c0.359,1.713,0.424,2.268,0.424,3.676s-0.101,2.978-0.064,4.381c0.036,1.4,0.187,2.841,0.577,3.795c0.386,0.955,0.926,1.755,1.4,2.18c0.475,0.426,0.896,0.438,1.373,0.252c0.475-0.188,1.511-0.771,2.373-1.324c0.861-0.555,0.797-0.99,1.576-1.502c0.875-0.576,1.799-0.605,2.457-0.486c0.661,0.112,1.676,0.631,2.092,1.889C63.059,60.58,63,61.998,63,61.998s0.035,1.186-0.445,1.876c-0.48,0.688-1.272,0.616-1.625,0.545c-0.354-0.071-1.094-0.136-1.094-0.136s-1.451-0.165-2.563,0.094c-1.105,0.258-2.077,1.085-2.73,1.896c-0.652,0.813-0.941,1.57-0.984,2.158c-0.043,0.59,0.027,1.595,0.642,2.572c0.612,0.979,0.712,1.432,1.409,2.827c0.695,1.396,2.15,2.17,2.201,2.206c0.05,0.037,1.388,0.523,1.89,0.949c0.505,0.425,0.555,0.826,0.411,1.208c-0.145,0.381-0.438,1.094-1.604,1.604c-1.166,0.512-2.591,0.523-3.496,0.617c-0.906,0.094-2.651,0.332-3.697,0.834c-1.043,0.503-0.97,1.454-0.97,1.454s-0.028,1.556,1.337,1.983c1.365,0.434,2.64,0,3.201-0.237c0.562-0.238,1.487-0.583,1.487-0.583s1.791-0.631,2.752-0.848c0.965-0.217,1.533-0.323,2.188,0.832c0.652,1.158,1.014,1.886,1.078,2.625c0.064,0.74-0.209,1.148-0.461,1.432c-0.25,0.279-0.217,0.46-0.217,0.46c-0.105,0.873,1.182,0.763,1.182,0.763s0.041-0.004,0.11-0.018c-0.26,0.021-0.499-0.021-0.59-0.178c-0.116-0.202-0.217-0.531,0.146-0.906c0.359-0.374,0.402-0.693,0.402-0.693c0.305-1.439-1.038-3.371-1.354-3.875c-0.315-0.503-0.836-0.791-2.394-0.531c-1.556,0.26-3.386,1.037-3.386,1.037s-1.891,0.995-3.299,0.809c-1.413-0.188-1.701-1.614-1.687-2.063c0.016-0.444,0.304-0.836,1.038-1.122c0.733-0.289,2.464-0.679,4.984-0.809c2.522-0.128,3.458-1.771,3.458-1.771c0.331-0.478,0.923-1.543-0.489-2.338c-1.412-0.789-1.44-0.589-2.116-1.104c-0.68-0.521-1.412-1.153-1.701-2.034c-0.026-0.084-0.07-0.198-0.108-0.291L55.064,72.686L55.064,72.686z"/><linearGradient id="SVGID_11_" gradientUnits="userSpaceOnUse" x1="390.042" y1="485.6797" x2="390.042" y2="485.6797" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#FFF"/><stop offset=".7473" stop-color="#F9F9F9"/><stop offset="1" stop-color="#D5D7D8"/></linearGradient><path style="fill:url(#SVGID_11_);" d="M-16.122-14.641"/><linearGradient id="SVGID_12_" gradientUnits="userSpaceOnUse" x1="390.042" y1="485.6797" x2="390.042" y2="485.6797" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#FFF"/><stop offset=".7473" stop-color="#F9F9F9"/><stop offset="1" stop-color="#D5D7D8"/></linearGradient><path style="fill:url(#SVGID_12_);" d="M-16.122-14.641"/><path style="opacity:.1;fill:#232323;" d="M92.002,13.363c1.021,1.649,2.844,4.295,2.844,4.295s0.256,0.332,0.5,0.605l0.01-0.011c0.011-0.375-0.051-0.571-0.06-0.621l-0.091-0.274c-0.021-0.367,0.438,0.095,0.611,0.288c-0.498-0.754-0.659-0.811-0.659-0.811s-0.423-0.234-0.111,0.59c0.312,0.824-0.075,0.233-0.075,0.233c-0.924-1.177-2.838-4.293-2.838-4.293l-0.553-0.383L92.002,13.363L92.002,13.363z"/><path style="opacity:.1;fill:#232323;" d="M101.539,51.352c0.014-0.063,0.023-0.125,0.034-0.188c-0.004,0-0.009,0-0.009,0s0.005-0.03,0.013-0.089C101.563,51.17,101.551,51.262,101.539,51.352L101.539,51.352z"/><path style="opacity:.1;fill:#232323;" d="M100.822,35.679c0.088-0.033,0.188,0.1,0.188,0.1s0.135,0.189,0.289,0.033c0.107-0.104,0.155-0.353,0.025-1.257c-0.004,0.229-0.053,0.409-0.137,0.59c-0.139,0.296-0.314,0.02-0.441-0.081c-0.129-0.098-0.168,0.07-0.168,0.07l-0.004,0.162c0,0.7,0.087,2.346,0.217,3.617c0.063,0.605,0.173,1.071,0.287,1.408l0.041,0.076c0.089,0.148,0.188,0.343,0.307,0.255c0.116-0.089,0.274-0.582,0.274-0.582l0.128-0.591c0.191,0.113,0.291,0.529,0.341,0.962c-0.002-0.037-0.004-0.056-0.004-0.056s-0.144-1.324-0.3-1.313c-0.155,0.01-0.21,0.701-0.21,0.701s-0.066,0.468-0.157,0.456c-0.088-0.011-0.365,0.022-0.564-1.412c-0.201-1.436-0.158-2.949-0.158-2.949S100.732,35.713,100.822,35.679L100.822,35.679z"/><path style="opacity:.1;fill:#232323;" d="M99.696,28.566l0.298,0.341c0.479,1.494,0.996,3.843,1.092,4.264c-0.027-0.139-0.056-0.286-0.088-0.441c-0.288-1.454-0.711-2.896-1.006-3.832L99.696,28.566l-0.05-0.702c-0.004-0.01-0.006-0.016-0.006-0.016s-0.312-0.913-1.033-2.737c-0.725-1.824-0.848-2.458-0.848-2.458s-0.043-0.2,0.066-0.234c0.109-0.032,0.09-0.178,0.09-0.178s-0.013-0.245-0.277-0.99c-0.182-0.503-0.312-0.911-0.662-1.607c0.281,0.585,0.463,1.052,0.524,1.259l0.028,0.068c0,0,0.099,0.148,0.066,0.552c-0.027,0.403-0.146,0.452-0.146,0.452l0.022,0.14c0.141,0.538,0.418,1.187,0.418,1.187s1.065,2.709,1.748,4.54L99.696,28.566L99.696,28.566z"/><linearGradient id="SVGID_13_" gradientUnits="userSpaceOnUse" x1="274.5342" y1="-396.1577" x2="255.2091" y2="-490.1944" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_13_);" d="M42.958,91.536c0.938,0.177,1.723,0.358,1.889,0.396C44.514,91.822,43.895,91.653,42.958,91.536z"/><linearGradient id="SVGID_14_" gradientUnits="userSpaceOnUse" x1="422.5586" y1="518.7568" x2="427.2878" y2="578.1768" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset=".2198" stop-color="#989A9C"/><stop offset=".2527" stop-color="#FFF"/></linearGradient><path style="fill:url(#SVGID_14_);" d="M20.381,74.92l0.007-0.164l-0.052-0.08c0,0-1.874-3.375-1.676-4.615c0,0,0.069-0.827,1.241-1.187c0.817-0.25,0.71,0.538,3.112,0.976c0,0,2.07,0.557,2.611-0.946c0.539-1.507-0.566-3.394-0.566-3.394s-1.45-2.656-3.244-2.756c-0.95-0.055-0.692,0.583-2.125,0.924c0,0-1.913,0.185-2.519-0.963c-0.733-1.389-1.015-2.968-1.015-4.021c0-1.058,0.045-1.001,0.126-1.405c0.045-0.219,0.186-0.548,0.248-1.09l-0.134-0.675l0.204-0.499c0.002-0.26-0.004-0.535-0.021-0.83c-0.092-1.661-0.211-4.221-0.436-5.711c-0.223-1.491-0.633-3.799-1.991-3.865c0,0-0.671-0.052-1.636,0.885c-0.882,0.856-1.682-0.708-1.726-1.663c-0.052-1.121,0.131-2.255,0.409-2.795c0.277-0.541,1.042-0.566,1.186-0.554c0.146,0.012,0.555,0.17,1.042,0.474c0.489,0.304,1.161,0.304,1.558-0.092c0.395-0.395,0.948-0.856,1.173-2.598c0.225-1.741,0.225-3.547,0.013-5.71l-0.224-0.485l1.339-0.288c-0.001-0.016-0.021-0.125-0.032-0.195c0,0,0-0.001-0.001-0.002c-0.001-0.017-0.004-0.033-0.007-0.052c0-0.002,0-0.004,0-0.005c-0.003-0.019-0.007-0.038-0.009-0.057c-0.001-0.001-0.001-0.001-0.001-0.003c-0.003-0.022-0.006-0.042-0.009-0.062c0-0.001,0-0.001,0-0.001c-0.004-0.022-0.006-0.045-0.011-0.067c0-0.003-0.001-0.006-0.001-0.007c-0.002-0.022-0.006-0.045-0.008-0.068c-0.001-0.005-0.001-0.01-0.003-0.015c-0.002-0.023-0.005-0.047-0.009-0.069c-0.001-0.004-0.002-0.01-0.002-0.014c-0.003-0.026-0.007-0.05-0.012-0.076c0-0.002,0-0.005,0-0.005c-0.004-0.025-0.008-0.05-0.012-0.076c0-0.007-0.001-0.012-0.002-0.018c-0.002-0.024-0.006-0.052-0.009-0.079c-0.001-0.005-0.001-0.011-0.003-0.021c-0.004-0.027-0.006-0.053-0.01-0.081c-0.001-0.007-0.002-0.013-0.003-0.02c-0.003-0.028-0.005-0.057-0.009-0.087c-0.001-0.003-0.001-0.008-0.003-0.013c-0.003-0.028-0.005-0.056-0.009-0.082c-0.001-0.006-0.001-0.011-0.002-0.017c-0.003-0.031-0.006-0.06-0.01-0.091c-0.001-0.007-0.001-0.014-0.002-0.02c-0.004-0.03-0.006-0.062-0.011-0.09c0-0.007-0.001-0.015-0.002-0.022c-0.003-0.031-0.006-0.063-0.01-0.094c-0.001-0.006-0.002-0.011-0.002-0.018c-0.003-0.032-0.005-0.063-0.009-0.094c0-0.003,0-0.005-0.001-0.009c-0.003-0.033-0.004-0.068-0.009-0.1c0-0.005,0-0.013-0.001-0.02c-0.002-0.035-0.005-0.065-0.007-0.099c-0.001-0.008-0.001-0.015-0.002-0.021c-0.003-0.032-0.005-0.066-0.007-0.099c0-0.005-0.001-0.011-0.001-0.02c-0.002-0.033-0.006-0.068-0.007-0.101c0-0.003-0.001-0.008-0.001-0.009c-0.002-0.033-0.004-0.066-0.007-0.1c0-0.006,0-0.012,0-0.017c-0.001-0.032-0.003-0.068-0.005-0.1c0-0.008,0-0.014-0.001-0.022c-0.001-0.033-0.004-0.067-0.005-0.098c0-0.006,0-0.013,0-0.021c-0.002-0.033-0.003-0.066-0.004-0.101c0-0.005,0-0.008,0-0.013c-0.001-0.032-0.002-0.066-0.002-0.099c0-0.003,0-0.005,0-0.009c0-0.034-0.001-0.067-0.001-0.102c0-0.005,0-0.012,0-0.016c0-0.033,0-0.067,0-0.098c0-0.005,0-0.012,0-0.019c0.001-0.032,0.001-0.065,0.001-0.096c0-0.004,0.001-0.009,0.001-0.014c0-0.033,0.001-0.066,0.003-0.1c0.052-1.243,0.291-1.751,0.291-1.751l0.058-0.166c0,0,0.46-1.458,1.152-2.458l-0.011,0.024c0,0,0.446-0.738,1.231-0.816c0.785-0.077,1.003,0.158,1.371,0.202c0.04,0.004,0.078,0.008,0.115,0.013c0.013,0.001,0.025,0.002,0.037,0.004c0.025,0.002,0.051,0.003,0.074,0.006c0.014,0.001,0.028,0.002,0.042,0.003c0.021,0.001,0.043,0.002,0.064,0.004c0.014,0.001,0.028,0.001,0.041,0.002c0.02,0.001,0.04,0.002,0.058,0.002c0.013,0.002,0.026,0.002,0.04,0.002c0.021,0.001,0.037,0.002,0.055,0.002c0.014,0,0.026,0.001,0.039,0.001c0.016,0,0.034,0.001,0.051,0.001c0.011,0,0.023,0,0.034,0c0.017,0,0.032,0,0.05-0.001c0.01,0,0.02,0,0.032-0.001c0.016,0,0.031,0,0.046-0.001c0.011,0,0.02-0.001,0.03-0.001c0.015,0,0.03-0.002,0.045-0.002c0.009,0,0.017-0.001,0.026-0.001c0.015-0.001,0.03-0.003,0.044-0.004c0.006-0.001,0.016-0.002,0.022-0.002c0.016-0.001,0.03-0.002,0.044-0.004c0.007-0.001,0.014-0.001,0.019-0.002c0.016-0.002,0.03-0.004,0.045-0.007c0.006,0,0.009,0,0.014-0.001c0.019-0.002,0.036-0.006,0.052-0.008l0,0c0.035-0.008,0.068-0.014,0.098-0.021c0,0,0-0.002,0.002-0.002c0.012-0.002,0.025-0.005,0.039-0.01c0.002,0,0.004-0.001,0.007-0.001c0.01-0.003,0.02-0.006,0.029-0.009c0.003-0.001,0.007-0.002,0.01-0.004c0.009-0.002,0.018-0.006,0.026-0.008c0.002-0.002,0.005-0.003,0.008-0.003c0.008-0.003,0.015-0.006,0.021-0.009c0.003-0.001,0.006-0.003,0.009-0.004c0.006-0.003,0.014-0.004,0.02-0.009c0.003-0.001,0.006-0.002,0.008-0.003c0.005-0.002,0.012-0.005,0.019-0.007c0.001-0.002,0.003-0.003,0.005-0.004c0.005-0.004,0.01-0.005,0.015-0.008c0.003-0.001,0.004-0.003,0.008-0.003c0.004-0.002,0.008-0.005,0.012-0.008c0,0,0.004,0,0.005-0.002c0.004-0.003,0.008-0.006,0.012-0.008c0.001-0.002,0.002-0.002,0.004-0.003c0.003-0.003,0.007-0.004,0.01-0.008c0.002,0,0.002,0,0.002-0.002c0.003-0.001,0.007-0.005,0.011-0.008c0,0,0.001,0,0.001-0.001c0.004-0.002,0.005-0.004,0.009-0.007h0.001c0.002-0.002,0.004-0.004,0.006-0.007c0.001-0.001,0.002-0.001,0.003-0.002s0.002-0.002,0.002-0.002c0.001-0.003,0.001-0.003,0.003-0.005c0.002-0.002,0.004-0.004,0.004-0.004c0.328-0.241,0.591-0.516,0.797-0.775c0.014-0.017,0.026-0.034,0.04-0.05c0.002-0.004,0.005-0.009,0.008-0.012c0.013-0.016,0.026-0.032,0.038-0.05c0.002-0.003,0.006-0.006,0.007-0.01c0.012-0.018,0.025-0.032,0.038-0.05c0,0,0,0,0.001,0c0.039-0.055,0.075-0.109,0.109-0.159c0-0.003,0.002-0.006,0.003-0.008c0.01-0.015,0.021-0.028,0.03-0.044c0.001-0.003,0.004-0.007,0.007-0.01c0.008-0.016,0.017-0.029,0.024-0.042c0.002-0.004,0.005-0.009,0.009-0.013c0.008-0.014,0.017-0.028,0.023-0.042c0.001-0.001,0.001-0.002,0.002-0.002c0.017-0.028,0.032-0.055,0.046-0.079c0.002-0.003,0.004-0.008,0.006-0.013c0.006-0.01,0.01-0.021,0.017-0.029c0.003-0.007,0.007-0.014,0.012-0.02c0.004-0.008,0.009-0.017,0.014-0.024c0.002-0.008,0.006-0.017,0.01-0.023c0.004-0.007,0.009-0.016,0.012-0.023c0.004-0.006,0.006-0.014,0.011-0.021c0.002-0.006,0.007-0.013,0.01-0.021c0.066-0.128,0.097-0.205,0.097-0.205c0.593-1.459,0.052-2.936-0.21-3.225c-0.32-0.353-1.041-0.882-1.041-0.882s-0.288-0.241-0.751-0.144c0.349-0.049,0.791,0.091,0.966,0.558c0.277,0.734,0.376,1.335,0.212,2.33c0,0-0.26,1.387-1.384,2.233c-1.125,0.848-1.923,0.096-2.885,0.13c-0.962,0.032-1.516,0.701-1.809,1.157c-0.293,0.457-1.417,2.2-1.319,5.067c0.097,2.868,0.291,4.301,0.325,5.558c0.033,1.205,0.178,3.976-0.635,5.278c-0.815,1.303-1.628,0.65-2.2,0.309c-0.571-0.341-1.223-0.245-1.744,0.131c-0.521,0.375-0.833,1.124-0.848,3.324c-0.016,2.364,1.532,2.606,1.532,2.606s0.293,0.146,0.945-0.537c0,0,0.651-0.685,1.253-0.603c0.604,0.082,0.995,0.716,1.255,1.808c0.261,1.092,0.796,5.621,0.717,8.668c-0.034,1.271-0.62,1.286-0.36,3.617c0,0,0.409,3.13,1.401,4.089c0.995,0.962,2.378,0.781,2.706,0.75c0.324-0.032,0.7-0.26,0.7-0.26s0.309-0.197,0.537-0.374c0.23-0.182,0.522-0.428,1.011-0.277c0.489,0.146,1.645,0.896,2.557,2.571c0.915,1.678,0.496,3.317-0.26,3.521c-0.668,0.182-0.848,0.229-1.971-0.05c-1.124-0.274-1.451-0.567-1.957-0.766c-0.504-0.196-1.043-0.263-1.547,0.114c-0.505,0.373-1.345,1.057-0.343,3.32c0.961,2.174,1.692,3.797,3.518,5.623c-0.522-0.607-0.956-1.188-1.427-1.871L20.381,74.92L20.381,74.92z"/><linearGradient id="SVGID_15_" gradientUnits="userSpaceOnUse" x1="237.3721" y1="-388.3604" x2="218.8474" y2="-478.5023" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_15_);" d="M22.494,7.387l-0.05,0.025C22.45,7.41,22.469,7.401,22.494,7.387z"/><linearGradient id="SVGID_16_" gradientUnits="userSpaceOnUse" x1="259.9063" y1="-479.3379" x2="259.8987" y2="-479.3752" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_16_);" d="M46.028,92.85c0.13,0.014,0.26,0.026,0.391,0.041c-0.114-0.016-0.31-0.039-0.561-0.074C45.916,92.828,45.972,92.838,46.028,92.85L46.028,92.85z"/><path style="fill:#9FA2A3;" d="M24.089,5.489c-0.649,0.36-0.7-0.016-1.141,0.017c-0.439,0.033-1.026,0.212-1.596,1.043c-0.571,0.831-0.586,1.89,0.326,1.417c0,0,0.436-0.428,0.815-0.579c0.081-0.043,0.24-0.126,0.406-0.174l0.144-0.117c0,0,0.424-0.491,1.073-0.333c0.648,0.156,1.119-0.129,1.119-0.129c1.01-0.761,1.655-2.184,1.655-2.184l0.987-1.998l-0.826-1.336c0,0-0.698,1.489-1.383,2.53C24.986,4.692,25.033,4.972,24.089,5.489L24.089,5.489z"/><path style="fill:#9FA2A3;" d="M19.871,16.292c0,0-0.424,1.89,1.156,1.597c0,0,0.006-0.002,0.022-0.007c-0.062,0.003-0.089-0.006-0.089-0.006c-0.025-0.497,0.149-1.432,0.49-2.261c0.341-0.83,1.075-2.254,1.075-2.254s1.047-1.791,1.467-2.89c0.42-1.102,0.416-1.939,0.416-1.939s-0.8-1.019-0.915-1.176c-0.115-0.157-0.272-0.223-0.272-0.223c-0.054,0.019-0.103,0.036-0.146,0.051c0.115-0.007,0.221,0.021,0.283,0.114c0.213,0.31-0.39,2.036-0.39,2.036s-0.522,1.238-1.548,3.03C20.393,14.157,19.871,16.292,19.871,16.292L19.871,16.292z"/><linearGradient id="SVGID_17_" gradientUnits="userSpaceOnUse" x1="268.9033" y1="-394.6382" x2="249.4966" y2="-489.0725" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_17_);" d="M38.185,89.697l0.166,0.02c-0.134-0.119-0.305-0.236-0.497-0.347c0.184,0.113,0.489,0.358,0.312,0.665c-0.245,0.424-0.048,0.457,0.489,0.863c0,0,0.022,0.013,0.061,0.033c-0.156-0.107-0.253-0.234-0.156-0.362c0.125-0.166,0.136-0.334,0.065-0.499L38.185,89.697L38.185,89.697z"/><linearGradient id="SVGID_18_" gradientUnits="userSpaceOnUse" x1="254.4561" y1="-391.5991" x2="235.0337" y2="-486.1104" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_18_);" d="M24.437,82.749c-1.245-1.185,1.595-0.118,1.595-0.118s0.619,0.262,0.343-0.385c-0.246-0.57-1.373-1.963-2.543-3.219l0.144,0.156c0,0,2.346,2.721,2.183,2.966c-0.164,0.245-1.108-0.325-1.108-0.325s-1.401-0.539-1.206,0.13c0.143,0.491,1.059,1.271,1.536,1.649C25.109,83.372,24.798,83.09,24.437,82.749z"/><linearGradient id="SVGID_19_" gradientUnits="userSpaceOnUse" x1="262.6514" y1="-392.9692" x2="243.1559" y2="-487.8355" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_19_);" d="M26.977,84.73c0.424,0.256,0.903,0.513,1.365,0.676c0,0,0.831,0.293,1.337-0.114c0.503-0.403,0.503-0.601,1.238-0.243c0,0,1.388,0.696,2.382,1.444c0.98,0.735,3.557,2.336,4.396,2.791c-0.764-0.417-3.712-2.365-4.633-2.99c-0.936-0.633-2.574-1.698-3.297-1.476c-0.554,0.172-0.474,0.396-0.804,0.555c-0.331,0.158-0.688,0.055-1.504-0.383C27.291,84.9,27.134,84.818,26.977,84.73L26.977,84.73z"/><linearGradient id="SVGID_20_" gradientUnits="userSpaceOnUse" x1="271.5479" y1="-390.9575" x2="251.1904" y2="-490.0176" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_20_);" d="M39.903,91.448c0.37,0.104,0.672,0.06,0.787,0.035c-0.678,0.04-1.35-0.269-1.35-0.269s-0.067-0.021-0.165-0.061C39.413,91.268,39.689,91.385,39.903,91.448z"/><linearGradient id="SVGID_21_" gradientUnits="userSpaceOnUse" x1="274.6582" y1="-395.8442" x2="255.2559" y2="-490.2569" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path style="fill:url(#SVGID_21_);" d="M44.293,92.169c0,0-1.344-0.163-1.939-0.163c0,0-0.037,0.064,0.226,0.158c-0.021-0.021-0.031-0.049,0.189,0c0.304,0.064,2.018,0.225,2.465,0.158c0.448-0.068-0.091-0.278-0.091-0.278s-0.088-0.041-0.267-0.102C44.553,92.201,44.293,92.169,44.293,92.169L44.293,92.169z"/><path style="opacity:.1;fill:#232323;" d="M4.662,62.045c0.085,0.143,0.198,0.432,0.462,0.725c0.146,0.16,0.266,0.072,0.162-0.525c-0.253-0.182-0.407-0.318-0.464-0.371c-0.113-0.013-0.263-0.297-0.263-0.297s-0.471-0.835-0.274-0.227c0.398,1.23,1.6,3.821,1.6,3.821l1.396,2.47c-0.999-1.803-2.299-4.633-2.44-5.013C4.691,62.223,4.577,61.904,4.662,62.045L4.662,62.045z"/><path style="opacity:.1;fill:#232323;" d="M1.547,32.696l0.032-0.643c0.027-0.122,0.057-0.241,0.087-0.36c0.712-2.789,1.069-3.858,1.425-4.649c0.356-0.792,0.398-0.245,0.398-0.245s0,0.209,0.136,0.234c0.135,0.023,0.324-0.32,0.494-0.826c0.17-0.504,0.604-1.745,0.693-2.212c0.135-0.704-0.051-0.358-0.115-0.354c-0.108,0.005-0.126-0.091-0.113-0.306c0,0,0.382-2.122,3.064-6.563c0.18-0.17,0.321-0.307,0.47-0.449c-0.055-0.052-0.033-0.265,0.001-0.32c0.136-0.214,0.275-0.435,0.422-0.661l-0.09,0.504c0,0-1.85,2.492-3.104,5.694c0,0-0.342,0.835-0.359,1.094c-0.025,0.154-0.104,0.739,0.152,0.582l0.065-0.048c-0.093,0.484-0.295,1.37-0.607,2.325c-0.288,0.878-0.573,1.633-0.841,2.078l-0.002-0.004c-0.08,0.067-0.098-0.016-0.146-0.21c-0.048-0.198-0.113-0.198-0.113-0.198c-0.179,0-0.324,0.202-0.41,0.359c-0.04,0.056-0.089,0.19-0.089,0.19s-0.461,0.934-1.281,4.26c-0.822,3.328-0.836,6.14-0.836,6.14s-0.084,1.309-0.21,1.379c-0.126,0.07-0.097-0.056-0.097-0.056s-0.045-0.052-0.114,0.045c0,0,0.02-0.76,0.044-0.875c0,0,0.041-0.206,0.119-0.206s0.006,0.125,0.048,0.16c0.039,0.032,0.084,0.03,0.075-0.178c-0.005-0.176,0.147-2.816,0.621-5.312L1.547,32.696L1.547,32.696z"/><path style="opacity:.1;fill:#232323;" d="M0.392,41.994c0-0.002,0-0.004,0-0.005c0,0,0.018,0.217,0.042,0.356l-0.003,0.01c0.078,0.357,0.187,0.357,0.187,0.357c0.008-0.096,0.087-0.273,0.183-0.458c0.007,0.106,0.007,0.231-0.004,0.375c-0.037,0.537-0.019,2.466,0.209,4.28c0.225,1.815,0.367,3.349,0.394,3.594c0.029,0.245,0.498,3.283,1.025,5.089c0.285,0.967,0.422,1.344,0.483,1.424l0.008,0.049c0,0,0.097,0.184,0.348,0.32c0,0,0.111-0.097,0.112-0.412c0.018,0.031,0.037,0.065,0.057,0.105c-0.083,0.262-0.105,0.426-0.105,0.426l0,0c-0.042-0.043-0.06-0.031-0.046,0.045c0.067,0.357,0.027,0.68-0.169,0.272c-0.198-0.403-0.8-1.832-1.307-4.251c0,0-0.531-2.659-0.795-5.084l0.042-0.105L0.989,48.29c-0.027-0.248-0.048-0.491-0.067-0.729c0,0-0.255-3.657-0.237-4.562c0.019-0.904-0.085-0.02-0.085-0.02s-0.021,0.219-0.028,0.329c-0.008,0.109-0.103,0.352-0.136-0.246C0.459,43.322,0.392,42.261,0.392,41.994L0.392,41.994z"/><path style="opacity:.1;fill:#232323;" d="M24.672,1.974l-0.53-0.753l-0.066-0.065c0,0-0.131-0.136-0.896,0.038l-0.11,0.022c0,0,0.38-0.094,0.168,0.191c-0.212,0.285-0.56,0.496-1.172,1.15c-0.612,0.655-0.411,0.803-0.01,0.668c0.401-0.138,1.188-0.499,2.606-1.243L24.672,1.974z"/><path style="opacity:.1;fill:#232323;" d="M23.106,1.21c-0.022,0.003-0.036,0.006-0.036,0.006L23.106,1.21z"/><path style="opacity:.1;fill:#232323;" d="M23.637,1.811c0.31-0.272,0.429-0.484,0.454-0.641l-0.015-0.014c0,0-0.131-0.136-0.896,0.038l-0.075,0.015c0.09-0.015,0.303-0.032,0.133,0.198c-0.212,0.285-0.56,0.496-1.172,1.151c-0.612,0.656-0.411,0.803-0.01,0.667c0.106-0.038,0.239-0.088,0.4-0.157C22.599,2.755,23.046,2.325,23.637,1.811z"/><path style="opacity:.1;fill:#232323;" d="M83.482,4.115l-0.2,0.235c0,0,0.136,0.081,0.208,0.141c0.008,0.005,0.014,0.01,0.021,0.012c-0.043-0.034-0.07-0.056-0.07-0.056c-0.023-0.109,0.004-0.223,0.014-0.297L83.482,4.115c0,0,0.055,0.002,0.143,0.011L83.482,4.115L83.482,4.115z"/><path style="opacity:.53;fill:#FFF;" d="M62.559,90.319c0,0,1.686-0.187,3.239-0.691c1.558-0.504,1.935-0.981,1.874-1.341c-0.037-0.238-0.396-0.305-0.906-0.238c0.271-0.021,0.514,0.032,0.354,0.332c-0.313,0.582-0.861,0.782-0.861,0.782s-0.267,0.19-0.89,0.371c-0.806,0.245-1.794,0.375-2.335,0.438c-0.691,0.082-0.521-0.033-1.465,0.291c-0.023,0.016-0.047,0.025-0.065,0.043c-0.289,0.237,1.071,0.514,1.071,0.514s1.302,0.361,3.257,0.23l0.067-0.021c0.267-0.078,0.533-0.161,0.8-0.245c-2.021,0.457-3.324,0.149-3.737,0.095c-0.434-0.058-0.777-0.144-0.88-0.359C61.98,90.305,62.559,90.319,62.559,90.319L62.559,90.319z"/><path style="opacity:.1;fill:#232323;" d="M63.301,4.417l0.717,0.076c1.429-0.405,2.651-0.776,2.651-0.776s1.265-0.41,1.901-0.636c0.635-0.227,1.09-0.313,1.656-0.41c0.563-0.096,1.309-0.14,1.709-0.131c0.398,0.007,0.528,0.122,0.528,0.122s0.166,0.131,0.245,0.27c0.077,0.138,0.74,1.891,2.975,2.005c2.231,0.112,2.261-1.096,2.063-1.464c-0.226-0.427-0.896-0.863-0.896-0.863s-0.898-0.575-1.09-0.846c-0.192-0.271,0.033-0.358,0.104-0.376c0.066-0.018,2.433-0.497,2.729-0.608l0.021-0.02l-0.563-0.174c0,0-0.119,0.134-0.789,0.312c-0.67,0.179-1.233,0.246-1.742,0.313c-0.504,0.067-0.504,0.239-0.504,0.239l-0.879,1.406c0,0-0.029,0.104,0.043,0.305c0.073,0.202,0.41,0.448,0.41,0.448s0.573,0.424,0.99,0.699c0.418,0.275,0.395,0.373,0.395,0.373c-1.123,0.095-1.418-0.048-1.875-0.276c-0.445-0.223-0.76-0.729-0.922-1.086c-0.162-0.357-0.521-0.663-0.521-0.663c-0.589-0.336-1.696-0.343-2.813-0.15c-1.115,0.194-2.656,0.707-2.923,0.812c-0.271,0.104-1.616,0.551-2.309,0.729c-0.694,0.179-1.224,0.357-1.646,0.47c-0.426,0.11-3.431,1.005-4.557,1.339c-1.124,0.333-1.848,0.461-1.848,0.461c-1.688,0.171-2.193-0.134-2.193-0.134c-0.297-0.125-0.262-0.527-0.262-0.527l0.009-1.147c0,0-0.029-0.433-0.356-0.611c-0.328-0.179-0.779-0.252-1.593-0.29c-0.811-0.038-1.683,0.044-2.093,0.134c-0.408,0.09-1.19,0.313-1.764,0.952c-0.573,0.641-0.481,1.141-0.481,1.141s0.035,0.683,0.088,1.19c0.052,0.504,0.484,0.662,0.484,0.662s-0.744,0.532-3.045,1.206c-2.209,0.648-3.682,0.774-3.682,0.774l0.678,0.254c0,0,5.468-1.015,7.148-2.616c0,0,0.624-0.293,0.02-0.88c-0.606-0.585-0.897-0.761-0.897-0.761s-0.41-0.224,0.019-0.771c0.43-0.547,0.923-0.795,1.352-0.933c0.429-0.138,1.753-0.25,2.925-0.093c0,0,0.491,0.041,0.459,0.408c-0.034,0.366-0.088,0.872-0.077,1.028c0.008,0.158,0.023,0.515,0.398,0.845c0.378,0.332,1.099,0.453,1.099,0.453s1.257,0.228,2.843-0.217c1.584-0.445,3.642-1.14,5.431-1.629L63.301,4.417L63.301,4.417z"/><path style="fill:#232323;" d="M-16.122-14.641"/><path style="fill:#616161;" d="M48.462,6.628c0.31,0.207,0.476,0.221,0.5,0.421c0.055,0.339-0.56,0.64-0.56,0.64l-0.006-0.011c0,0-0.431-0.157-0.484-0.664c-0.052-0.505-0.088-1.19-0.088-1.19s0.001,0.2,0.046,0.26C48.004,6.256,48.087,6.378,48.462,6.628z"/><path style="opacity:.17;fill:#FFF;" d="M82.447,79.307l0.451,0.17c1.104-0.617,1.496-0.809,1.759-0.963c1.183-0.703,2.592-1.563,2.963-1.855c0,0,0.761-0.518,0.116,0.195s-0.969,1.007-0.969,1.007s-0.625,0.626-0.471,0.782c0,0,0.166,0.246,1.193-0.687c1.023-0.929,2.15-2.258,2.275-2.44c0.127-0.188,0.146-0.293,0.146-0.293s0.107-0.215,0.273-0.393c0.145-0.15,1.377-1.496,1.994-2.121c0,0,0.002,0.001,0.006,0.003c0.273-0.362,0.541-0.729,0.806-1.102c-0.358,0.379-1.724,1.829-2.483,2.684c0,0-0.713,0.763-0.938,1.056s-0.225,0.47-0.225,0.47s-0.117,0.196-0.392,0.519s-1.24,1.186-1.24,1.186s-0.577,0.47-0.754,0.478c-0.179,0.011,0.431-0.538,0.431-0.538s0.588-0.625,0.967-1.123c0.382-0.498,0.137-0.47,0.137-0.47s-0.186-0.049-0.986,0.459c-0.8,0.508-1.367,0.858-1.367,0.858s-1.722,0.986-2.814,1.623c-1.096,0.636-3.6,1.908-5.021,2.492c-1.43,0.588-2.162,0.715-2.035,0.527c0.127-0.186,0.461-0.459,0.461-0.459s0.399-0.4,0.399-0.803c0,0,0.128-0.586-1.604-0.223c-1.729,0.36-3.293,1.213-3.293,1.213s-2.571,1.182-1.965,1.887c0,0,0.117,0.186,0.635,0.352c0.52,0.166-0.92,0.606-0.92,0.606c-1.365,0.448-2.413,0.651-3.74,0.926c-1.963,0.403-3.564,0.761-4.165,0.894c-0.165,0.035-0.253,0.059-0.253,0.059s-1.212,0.292-3.229,1.072c-2.015,0.783-5.972,1.43-5.972,1.43s-2.542,0.293-2.777,0.627c-0.234,0.331,0.177,0.499,0.177,0.499s0.362,0.224,1.671,0.283c0,0,0.451,0,0.471,0.036c0.018,0.039,0.046,0.068-0.235,0.156c-0.286,0.088-0.854,0.314-2.778,0.558c-1.936,0.245-1.896-0.067-1.896-0.067s-0.01-0.076,0.078-0.216c0.087-0.134,0.009-0.369-0.293-0.535c0,0-0.419-0.272-1.829-0.262c-1.408,0.009-4.212,0.017-6.833-0.14c-2.374-0.143-5.59-0.551-6.099-0.664c0,0-0.117-0.029-0.206-0.117c-0.088-0.09-0.646-0.422-1.164-0.733c-0.517-0.313-2.073-0.907-2.073-0.907s-2.011-0.783-1.945-0.521c0.015,0.063,0.13,0.153,0.268,0.246c0.351,0.188,0.704,0.375,1.06,0.56l0.002-0.002c0,0-0.743-0.402-0.538-0.402s0.438,0.109,0.438,0.109s1.213,0.332,1.966,0.686c0.753,0.353,1.407,0.83,1.407,0.83s0.929,0.549,2.319,0.732c1.346,0.182,3.174,0.389,3.777,0.448l0.594-0.272l0.433,0.354c1.106,0.068,2.575,0.146,2.575,0.146s2.976,0.111,4.605-0.019c0.733-0.063,0.507,0.317,0.507,0.317s-0.214,0.354,0.206,0.529c0,0,0.771,0.439,3.343,0.157c2.573-0.286,3.138-0.862,3.138-0.862s0.299-0.275-0.351-0.398c-0.513-0.1-0.513-0.051-1.175-0.117c-0.665-0.067-0.998-0.205-0.557-0.323c0.441-0.114,1.174-0.175,1.174-0.175s2.249-0.313,4.066-0.783c0,0,1.938-0.458,3.861-1.134c0.756-0.265,1.395-0.459,1.887-0.599l0.438-0.644l0.644,0.372c0.065-0.014,0.103-0.021,0.103-0.021s2.306-0.539,3.274-0.703c0.966-0.168,3.154-0.637,4.087-1.086c0.928-0.448,1.396-0.805,1.505-1.075c0.107-0.272-0.393-0.431-0.393-0.431s-0.588-0.138-0.508-0.34c0.075-0.205,0.293-0.382,1.213-0.793c0.918-0.41,2.07-0.859,3.227-1.144c1.154-0.282,0.732,0.194,0.732,0.194s-0.692,0.705-0.783,0.979c-0.086,0.273,0.029,0.285,0.119,0.333c0.088,0.05,0.646,0.028,1.022-0.067c0.383-0.099,3.464-1.271,5.341-2.347c0.049-0.026,0.094-0.054,0.139-0.08L82.447,79.307z"/><linearGradient id="SVGID_22_" gradientUnits="userSpaceOnUse" x1="221.1826" y1="-454.5649" x2="221.373" y2="-454.5649" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#808080"/><stop offset=".0868" stop-color="#7A7A7A"/><stop offset=".36" stop-color="#6B6B6B"/><stop offset=".5192" stop-color="#686868"/><stop offset=".6377" stop-color="#5F5F5F"/><stop offset=".7431" stop-color="#4E4E4E"/><stop offset=".8408" stop-color="#383838"/><stop offset=".9324" stop-color="#1B1B1B"/><stop offset="1" stop-color="#000"/></linearGradient><path style="opacity:.68;fill:url(#SVGID_22_);" d="M7.432,68.01l0.178,0.131c-0.105-0.099-0.167-0.155-0.167-0.155s-0.008,0.003-0.024,0.003C7.423,67.993,7.429,68.002,7.432,68.01L7.432,68.01z"/><linearGradient id="SVGID_23_" gradientUnits="userSpaceOnUse" x1="221.4043" y1="-449.8027" x2="316.0254" y2="-449.8027" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#808080"/><stop offset=".0868" stop-color="#7A7A7A"/><stop offset=".3817" stop-color="#828282"/><stop offset=".5185" stop-color="#808080"/><stop offset=".5677" stop-color="#797979"/><stop offset=".6027" stop-color="#6E6E6E"/><stop offset=".608" stop-color="#6B6B6B"/><stop offset="1" stop-color="#4E4E4E"/></linearGradient><path style="opacity:.43;fill:url(#SVGID_23_);" d="M90.412,59.954l-0.371-0.021c-1.807,1.463-2.342,1.938-3.781,2.955c0,0-1.644,1.228-3.44,2.196c-1.804,0.97-3.919,0.853-3.919,0.853s-0.573-0.062-0.295-0.477c0.275-0.415,0.634-1.425,0.771-1.938c0.141-0.516,0.415-1.82-0.633-2.235s-3.018,0.196-3.018,0.196s-4.525,1.205-6.371,3.23c-1.793,1.969-0.286,2.846-0.286,2.846s0.702,0.49,1.386,0.73c0.645,0.229,0.516,0.436,0.354,0.555c0,0-2.021,1.287-4.408,1.974c0,0-3.268,1.001-6.441,1.206c-3.154,0.203-4.495,0.283-4.495,0.283l-0.399,0.379l-0.758-0.252c-1.283,0.154-3.455,0.463-5.596,0.979c-2.622,0.64-5.123,1.147-6.903,2.296c0,0-1.333,0.887-0.566,1.746c0.765,0.862,1.565,1.23,1.565,1.23s0.472,0.207,0.464,0.336c-0.009,0.164-0.015,0.309-0.367,0.512c0,0-1.394,0.814-4.108,0.859c-2.714,0.045-3.911,0.021-4.707-0.695c-0.658-0.591,0.165-1.844,0.165-1.844s0.33-0.612,0-1.453c-0.33-0.84-2.218-0.854-2.218-0.854l-2.615-0.134c-3.095-0.081-7.182-0.427-9.001-0.653c0,0-0.012-0.002-0.033-0.006l-0.006,0.166l-0.721-0.303c-1.139-0.221-3.243-0.668-4.075-1.084c-0.759-0.38-1.167-0.313-1.066-1.102c0.101-0.769-0.753-1.836-0.753-1.836s-1.188-1.287-2.257-2.086c-1.069-0.804-1.523-0.564-1.523-0.564s-0.484,0.258-0.049,1.296c0.436,1.04,0.86,1.403,0.86,1.403s0.208,0.22,0.089,0.279c-0.118,0.06-0.484-0.219-0.789-0.478c-0.253-0.21-1.885-1.742-2.456-2.276l0.105,0.356c0.019,0.028,0.035,0.062,0.052,0.086c0.184,0.291,0.855,1.269,2.155,2.28c1.549,1.213,1.559,0.729,1.559,0.729s0.061-0.399-0.297-0.84c-0.359-0.44-0.934-1.373-0.791-1.715c0.144-0.339,0.309-0.31,0.309-0.31s0.133-0.051,0.596,0.299c0.462,0.351,1.498,1.076,2.011,1.703c0.513,0.623,0.48,1.181,0.48,1.181s-0.102,0.563,0.453,1.17c0.553,0.604,1.733,1.714,5.859,2.351c0.025,0.004,0.034,0.006,0.059,0.01l0.193-0.551l0.573,0.663c3.598,0.521,5.555,0.563,5.555,0.563s4.709,0.162,5.982,0.162c1.272,0,1.035,0.666,1.035,0.666s-0.072,0.359-0.225,0.646c-0.155,0.287-0.524,1.365-0.144,1.939c0,0,0.585,1.427,4.381,1.527c0,0,3.324,0.268,5.643-0.688c2.319-0.954,0.226-2.275,0.226-2.275s-0.794-0.481-1.13-0.739c-0.308-0.234-0.184-0.481-0.121-0.646c0.06-0.162,0.297-0.359,0.563-0.492c0.266-0.134,1.239-0.654,5.365-1.722c4.124-1.069,6.587-1.183,6.587-1.183s0.02-0.002,0.055-0.004l0.338-0.656l0.854,0.556c0.732-0.06,1.681-0.129,2.526-0.171c1.691-0.082,4.341-0.471,5.879-0.807c1.54-0.343,3.869-1.062,5.592-1.951c1.725-0.895,1.809-1.519,1.809-1.519s0.328-0.475-0.392-0.995c-0.719-0.523-1.036-0.382-1.673-1.027c-0.637-0.646,0.557-1.62,0.557-1.62s0.612-0.861,4.021-2.175c3.403-1.313,3.979-0.873,4.153-0.729s0.195,0.615,0.123,0.935c-0.069,0.317-0.494,1.455-0.721,2.053c-0.227,0.594-0.316,1.406,0.605,1.601c0.923,0.194,2.215-0.008,3.428-0.442c2.893-1.033,3.756-2.295,8.534-5.764c0.012-0.008,0.021-0.017,0.03-0.021L90.412,59.954l0.689,0.108c1.978-1.573,3.869-3.571,3.869-3.571s1.258-1.261,1.889-2.356c0.595-1.026,0.027,0.89,0.027,0.89s-0.32,1.516,0.19,2.077c0.405,0.445,1.563-0.795,1.563-0.795s0.688-0.789,0.965-2.061c0.408-1.875,0.185-2.248,0.185-2.248s-0.246-0.389-0.093-0.852c0.154-0.459,1.158-3.047,1.98-4.01l0.502-0.563c0-0.008,0.002-0.02,0.002-0.027l-0.224-0.557l0.304-0.512c0,0-0.279,0.322-1.404,2.177c-1.266,2.087-1.467,3.771-1.467,3.771s-0.119,0.653-0.054,1.034c0.063,0.355,0.188,0.519,0.192,0.622c0.009,0.104-0.073,0.959-0.508,1.773c-0.438,0.814-0.815,1.031-0.815,1.031s-0.756,0.545-0.86,0.157c-0.104-0.39-0.074-0.72-0.035-0.966c0.035-0.248,0.289-1.579,0.252-2.072c-0.035-0.494-0.479-0.098-0.479-0.098s-0.104,0.119-0.298,0.366s-1.288,1.637-1.705,2.125c-0.988,1.157-1.886,1.989-4.292,3.93c-0.007,0.003-0.015,0.011-0.019,0.015L90.412,59.954L90.412,59.954z"/><linearGradient id="SVGID_24_" gradientUnits="userSpaceOnUse" x1="214.5928" y1="-431.356" x2="314.4043" y2="-431.356" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#555555"/><stop offset="1" stop-color="#231F20"/></linearGradient><path style="opacity:.31;fill:url(#SVGID_24_);" d="M1.193,48.543l0.104,0.975c0.235,0.285,0.577,0.677,1.071,1.187c1.084,1.121,1.427,0.416,1.427,0.416s0.253-0.705-0.054-1.985C3.434,47.85,3.488,47.09,4.066,47.11c0.578,0.019,2.258,0.361,2.782,1.752c0,0,0.217,0.649,0.018,1.479c-0.2,0.834-0.162,1.57-0.018,2.295c0.145,0.725,0.759,1.407,1.464,1.971c0.706,0.562,2.746,1.535,4.734,1.66c1.987,0.127,2.601,0.021,2.601,0.021l0.746-0.767l0.134,0.668c0.812-0.09,2.116-0.229,3.62-0.393c2.528-0.271,4.227-0.544,5.798-0.308c1.573,0.235,2.079,1.462,2.079,1.462s0.108,0.314-0.253,0.544c-0.349,0.224-0.749,0.547-0.948,0.89c-0.199,0.346-0.411,1.068,0.16,2.035c0.572,0.963,2.142,1.592,3.478,1.432c1.335-0.155,3.335-0.67,4.52-0.979c1.287-0.337,2.424-0.971,2.572-1.98c0.147-1.008-1.534-2.295-1.534-2.295s-0.812-0.609-0.91-0.75c-0.1-0.139,0.099-0.197,0.099-0.197s0.949-0.229,1.357-0.414c0.404-0.189,1.522-0.646,3.353-1.219s5.608-1.248,5.608-1.248s2.084-0.332,4.685-0.543l0.622-0.702l0.485,0.625c0.409-0.024,0.825-0.046,1.243-0.063c3.572-0.129,5.344-0.554,7.242-0.979c1.897-0.427,4.568-1.978,4.965-2.276c0.396-0.295,1.229-0.66,1.396-1.957c0.168-1.295-1.364-2.157-1.364-2.157s-1.218-0.644-1.475-0.93c-0.258-0.287-0.02-0.562-0.02-0.562s0.689-1.485,2.896-2.354c2.205-0.872,3.689-1.107,4.618-1.208c0.932-0.099,1.245,0.237,1.374,0.396c0.128,0.157,0.128,0.485,0.021,0.821c-0.102,0.308-0.444,1.038-0.645,1.395c-0.197,0.356-0.523,1.216-0.316,1.622c0.208,0.405,0.843,0.593,1.662,0.445c0.821-0.149,2.988-0.761,4.888-1.553c1.9-0.792,5.073-2.345,5.073-2.345s0.009-0.004,0.022-0.012l0.086-0.729l0.729,0.295c1.02-0.562,2.764-1.58,4.01-2.631c1.871-1.573,3.699-3.225,4.166-3.639c0.465-0.417,0.892-0.752,1.307-0.732c0.414,0.021,0.732,0.317,0.988,1.434c0.258,1.118,0.308,2.038,0.426,2.582c0.117,0.543,0.285,1.175,0.931,1.304c0.646,0.129,1.513-0.434,1.838-0.713c0.33-0.276,0.92-1.176,0.882-2.382c0,0,0.068-1.604-0.761-3.127c0,0-0.351-0.614-0.479-0.782c-0.088-0.118-0.155-0.238-0.01-0.525c0.148-0.286,0.467-0.821,1.062-1.156c0.448-0.256,0.88-0.316,1.128-0.396c0,0,0.275-0.067,0.626-0.261l-0.126-0.412l0.289,0.316c0.404-0.239,0.652,0.045,0.652,0.045l-0.392-0.501l0.119-0.484c0,0-0.304-0.163-0.685-0.088c-0.383,0.078-0.42,0.362-1.014,0.458c-0.593,0.096-1.275,0.306-1.945,1.319c-0.67,1.011,0,2.271,0,2.271s0.359,0.592,0.533,0.896c0.172,0.306,1.066,2.215,0.037,3.608c0,0-0.552,0.643-1.525,0.86c-0.86,0.19-0.642-0.816-0.729-1.355c0,0-0.129-2.281-1.237-3.588c-0.976-1.146-2.746,0.888-3.629,1.566c-0.822,0.629-3.228,3.112-6.684,4.925l-0.51,0.892l-0.324-0.472c-1.658,0.827-5.418,2.656-7.87,3.514c0,0-1.875,0.762-2.64,0.782c0,0-0.17,0.006-0.034-0.179c0.133-0.185,0.276-0.322,0.507-0.737c0.23-0.418,0.646-1.357,0.646-2.327c0-0.969-1.119-1.917-2.68-1.748c-1.561,0.167-3.052,0.6-4.849,1.292c-1.796,0.692-3.343,2.159-3.55,3.375c-0.209,1.216,1.105,1.92,1.105,1.92s1.484,0.751,1.674,1.157c0.188,0.406,0.049,0.783,0.049,0.783s-0.129,0.406-0.783,0.782c-0.649,0.377-2.42,1.287-2.42,1.287s-2.207,1.217-5.562,1.512c0,0-3.058,0.26-4.817,0.348c-0.022,0.002-0.046,0.002-0.069,0.003l-0.541,0.53l-0.587-0.449c-1.64,0.136-3.54,0.359-3.54,0.359s-4.29,0.609-8.219,1.822c-3.336,1.027-3.971,1.594-3.971,1.594s-0.711,0.596-0.118,1.453c0,0,0.341,0.539,1.03,1.08c0.685,0.541,1.237,1.057,1.159,1.317c-0.08,0.265-0.29,0.382-0.29,0.382s-0.961,0.856-4.894,1.518c0,0-2.531,0.488-3.31-0.275c-0.778-0.766-0.435-1.279-0.435-1.279s0.052-0.173,0.62-0.527c0,0,0.951-0.596,0.647-1.727c-0.303-1.135-2.129-2.545-4.101-2.533c0,0-2.303,0.006-8.196,0.762c0,0-0.008,0-0.027,0.005l-0.204,0.501l-0.605-0.393c-0.324,0.039-0.713,0.076-1.114,0.107c-1.012,0.07-2.477-0.057-4.3-0.596c-1.824-0.543-2.963-1.535-3.126-2.133c-0.114-0.412,0.035-0.996,0.035-0.996S7.62,50.2,7.405,49.115c-0.22-1.083-0.582-1.934-1.631-2.567c-1.048-0.632-1.643-0.522-1.643-0.522s-0.939-0.144-0.904,1.446c0.037,1.59,0.235,2.256,0.235,2.256s0.181,0.562-0.108,0.635c-0.288,0.072-0.74-0.361-0.74-0.361s-1.021-0.924-1.619-1.688l0.048,0.066l-0.214,0.525c0,0,0.067,0.115,0.266,0.375L1.193,48.543L1.193,48.543z"/><linearGradient id="SVGID_25_" gradientUnits="userSpaceOnUse" x1="214.8965" y1="-410.8818" x2="306.501" y2="-410.8818" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#A0A0A0"/><stop offset=".0769" stop-color="#656767"/><stop offset="1" stop-color="#717375"/></linearGradient><path style="opacity:.34;fill:url(#SVGID_25_);" d="M91.075,11.742l0.183,0.846c0,0-0.563,0.313-1.678,0.613c-1.113,0.3-2.188,0.801-2.188,0.801s-0.89,0.289-0.551,1.013c0.338,0.726,0.838,1.076,0.838,1.076s0.711,0.69,0.736,1.213c0.021,0.526-0.199,0.765-0.764,1.076c-0.563,0.313-1.075,0.375-1.075,0.375s-1.338,0.24-2.001-0.387c-0.663-0.626-0.787-1.663-0.787-1.663s-0.05-0.876-1.148-1.251c-1.102-0.375-2.453,0.425-2.453,0.425s-1.063,0.563-2.2,1.3c-1.14,0.738-3.291,1.64-4.642,2.114l-0.152,0.699l-0.758-0.382c-1.422,0.489-3.271,1.109-3.271,1.109S66.652,21.645,65,21.871c-1.648,0.224-2.016-0.014-2.238-0.238c-0.228-0.224,0.039-1.012,0.039-1.012s0.674-1.376,0.348-2.09c-0.324-0.714-2.451-0.9-2.486-0.9c-0.04,0-2.318-0.265-4.451,0.932c-1.895,1.062-2.143,1.642-2.143,1.642s-0.604,0.938,0.113,1.867c0.807,1.051,1.879,1.146,1.879,1.146s1.021,0.079,1.258,0.38c0.24,0.299,0.076,0.626,0.076,0.626s-0.336,0.925-2.228,1.312c0,0-3.181,0.933-9.113,1.776l-0.582,0.579c-3.743,0.47-8.143,1.363-10.555,1.989c-2.412,0.627-2.553,1.317-2.553,1.317c-0.519,0.813,0.141,1.236,0.141,1.236s0.829,0.283,1.017,1.19c0.19,0.91-0.783,1.629-0.783,1.629s-1.159,0.972-2.898,1.269c-1.739,0.297-2.396,0.35-3.429-0.47c-0.91-0.721-0.298-1.863,0.312-2.301c0.612-0.438,0.909-0.91,0.988-1.112c0.079-0.204,0.032-0.377,0.032-0.377l-0.58-0.534c-2.005-1.33-9.883,0.063-9.883,0.063s0,0.002,0,0l-1.341,0.289l-0.673-0.435c0,0-2.291,0.604-4.876,0.589c-2.712-0.014-1.27-2.128-1.27-2.128s0.638-1.118,0.75-1.764c0,0,0.224-1.745-1.42-1.631c-1.645,0.112-1.968,1.546-1.968,1.546s-0.112,0.801-0.089,1.392c0.021,0.594-0.002,1.847-0.742,2.56c-0.737,0.713-1.529,0.495-1.529,0.495s-1.331-0.582-1.595-0.718c-0.274-0.142-0.517-0.151-0.751-0.066c-0.02,0.007-0.039,0.018-0.057,0.029l-0.175,0.75l0.025-0.623c-0.156,0.176-0.271,0.42-0.271,0.42l0.088,0.327l-0.248,0.565c-0.002,0.012-0.005,0.023-0.006,0.035l0.008,0.003c0,0,0.087-0.196,0.222-0.357l0.182-0.369L1.493,32.94c0.055-0.044,0.112-0.07,0.172-0.074c0.281-0.017,0.629,0.158,0.629,0.158s1.135,0.611,1.642,0.716s0.875-0.065,1.205-0.292c0.527-0.365,1.143-1.121,1.4-1.839c0.229-0.646,0.279-2.394,0.279-2.394l0.004,0.014c0,0,0-0.421-0.011-0.518c-0.012-0.098-0.075-0.553,0.204-0.783c0.278-0.234,0.459-0.347,1.144-0.364c0.68-0.017,0.886,0.38,0.886,0.38S9.28,28.269,9.28,28.48c0,0.21-0.068,0.34-0.068,0.34s-0.371,0.626-0.5,0.934c-0.13,0.307-0.636,1.323-0.489,2.177c0.148,0.852,1.479,1.251,1.479,1.251s1.062,0.25,2.575,0.027l3.12-0.503l0.543-0.624l0.218,0.474c0.805-0.147,2.14-0.369,3.583-0.511c2.326-0.228,4.787-0.262,5.821-0.132c0,0,0.484,0.061,0.405,0.234c-0.062,0.136-0.421,0.415-0.421,0.415s-0.135,0.081-0.654,0.667s-0.671,1.155-0.693,1.661c-0.024,0.505,0.516,1.995,2.415,2.394c1.901,0.397,4.077-0.341,4.077-0.341s1.427-0.314,2.786-1.674c1.41-1.411,0.012-3.108,0.012-3.108s-0.22-0.304-0.647-0.442c0,0-0.187-0.05-0.079-0.17c0.108-0.12,0.37-0.647,1.37-0.905c1-0.257,3.977-1.198,11.065-2.135l0.274-0.617l0.874,0.459c2.708-0.373,4.551-0.694,7.827-1.454c0,0,3.04-0.539,3.675-1.651c0.368-0.65,1.032-1.539-0.045-2.434c0,0-0.125-0.161-0.791-0.312c-0.666-0.151-1.179-0.252-1.738-0.653c-0.563-0.403-0.551-0.869-0.551-0.869s-0.047-0.445,0.862-0.958c0,0,0.851-0.623,2.54-1.158c1.691-0.533,3.648-0.296,3.648-0.296s0.82,0.089,0.685,0.643c-0.14,0.555-0.604,1.482-0.622,1.959c-0.021,0.474,0.012,1.027,0.938,1.414c0.931,0.386,2.267,0.266,2.267,0.266s1.386-0.069,3.647-0.801c2.265-0.731,4.594-1.573,4.594-1.573l-0.094-0.483l0.971,0.173c0.591-0.22,1.406-0.539,2.285-0.936c1.801-0.81,2.656-1.488,3.48-1.958c0,0,1.815-1.118,2.887-1.088c0,0,0.25-0.009,0.272,0.32c0.022,0.329,0.104,0.814,0.218,1.096c0.111,0.281,0.734,1.822,2.729,2.048c1.993,0.228,2.846-1.118,2.846-1.118s0.683-1.049-0.493-2.296c0,0-0.961-1.028-0.99-1.107c0,0-0.104-0.155,0.168-0.233c0.269-0.078,3.152-0.884,4.268-1.398c0,0,0.012-0.005,0.036-0.015l-0.271-0.485l0.535,0.365c0.202-0.101,0.449-0.246,0.544-0.395c0.171-0.271-0.054-0.797-0.054-0.797l0.006-0.007c-0.133-0.184-0.266-0.366-0.4-0.546l-0.606-0.256l-0.06,0.033L91.075,11.742"/><path style="opacity:.1;fill:#232323;" d="M8.12,16.324l-0.291,0.435c0.134-0.023,0.244-0.056,0.244-0.056s0.404-0.066,1.112,0.12c0.917,0.244,2.067-0.496,2.067-0.496s0.872-0.523,1.274-1.381l0.361-1.005c0,0,0.291-0.972,1.105-1.281c0,0,0.317-0.171,0.831-0.177c0.513-0.005,0.392,0.354,0.392,0.354s-0.056,0.233-0.586,0.912c-0.529,0.677-0.671,1.196-0.671,1.196s-0.318,0.722,0.193,0.957c0,0,0.24,0.141,0.939-0.091c0.7-0.233,3.02-0.843,4.438-1.06l0.993-0.506c-0.313-0.23-0.602-0.444-0.602-0.444c-2.388,0.442-4.168,0.995-4.775,1.226c-0.609,0.23-0.62,0.082-0.62,0.082c-0.211-0.248,0.435-1.022,0.435-1.022s0.655-0.894,0.913-1.715c0.259-0.82-0.892-0.707-0.892-0.707c-0.758,0.121-1.303,0.48-1.93,1.236c-0.486,0.586-0.782,1.389-0.893,1.814c-0.071,0.267-0.193,0.515-0.193,0.515s-0.091,0.165-0.45,0.322c-0.416,0.182-1.228,0.396-1.228,0.396s-0.54,0.045-0.931-0.15c-0.24-0.118-0.901,0.05-0.901,0.05l0.091-0.504l-0.082-0.032l-0.683,0.383c-0.115,0.189-0.228,0.379-0.341,0.569c-0.063,0.146-0.179,0.475,0.044,0.51c0.05,0.008,0.113,0.008,0.164,0.008L8.12,16.324L8.12,16.324z"/><path style="opacity:.1;fill:#232323;" d="M13.295,9.19c0,0,0.342-0.271,0.342-0.026c0,0.248-0.333,0.69-0.333,0.69s-0.107,0.134-0.172,0.134C13.068,9.987,13.15,9.516,13.295,9.19L13.295,9.19z"/><path style="fill:#232323;" d="M-16.122-14.641"/><path style="opacity:.1;fill:#232323;" d="M10.595,12.501c0,0-0.388,0.46,0,0.52l0.838-0.828c-0.037-0.037-0.054-0.055-0.157-0.112C11.277,12.081,10.752,12.343,10.595,12.501L10.595,12.501z"/><path style="opacity:.3;fill:#FFF;" d="M77.807,85.745c0,0-1.75,0.806-3.396,1.603c-1.647,0.803-2.25,1.14-2.25,1.14s-0.088,0.049-0.031,0.082c0.056,0.028-0.008,0.063-0.008,0.063c-0.847,0.409-2.703,1.07-2.703,1.07s-0.167,0.057-0.157,0.02c0.006-0.041,0.199-0.105,0.199-0.105s0.381-0.146,0.283-0.217c-0.098-0.072-1.21,0.305-1.21,0.305s-1.949,0.621-2.894,0.887c-0.941,0.269-2.75,0.735-2.75,0.735c-1.201,0.298-3.75,0.798-4.315,0.901c-0.562,0.104-0.417,0.064-0.417,0.064s0.492-0.189-0.411-0.226c-1.146-0.05-2.362,0.112-3.612,0.288c-1.25,0.18-1.178,0.324-1.178,0.324s-0.04,0.154,0.708,0.14c0.752-0.019,0.534,0.046,0.534,0.046c-1.396,0.202-4.2,0.238-4.2,0.238l0.005,0.01c0.456,0.014,0.916,0.018,1.376,0.018c0.608,0,1.218-0.01,1.822-0.031c0.241-0.021,1.483-0.15,1.925-0.244c0.486-0.105-0.093-0.105-0.093-0.105l-0.74-0.023c0,0-0.776-0.026-0.052-0.158c0.729-0.133,1.834-0.192,2.388-0.252c0.83-0.094,0.541,0.105,0.541,0.105l-0.04,0.023c0,0,0.014,0.094,0.528,0.066c0.515-0.024,4.721-0.804,7.069-1.487c2.347-0.688,4.102-1.255,4.102-1.255s0.157-0.055,0.066,0.025c-0.094,0.078-0.463,0.2-0.463,0.2s-0.595,0.3,0.844-0.108c0.066-0.02,0.134-0.039,0.197-0.06c1.234-0.469,2.446-0.983,3.635-1.543c0.029-0.028,0.131-0.146-0.021-0.101c-0.172,0.056,0-0.065,0.187-0.131c0.184-0.066,2.267-1.162,3.363-1.608l0.002,0.003c0.394-0.227,0.781-0.455,1.17-0.691L77.807,85.745L77.807,85.745z"/><linearGradient id="SVGID_26_" gradientUnits="userSpaceOnUse" x1="217.6563" y1="-436.751" x2="217.6563" y2="-436.751" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset=".078" stop-color="#F4F4F4"/><stop offset=".3807" stop-color="#CECECE"/><stop offset=".5396" stop-color="#BFBFBF"/><stop offset=".8357" stop-color="#7C7C7C"/><stop offset=".8996" stop-color="#A8A8A8"/><stop offset=".9093" stop-color="#9A9A9A"/><stop offset=".9327" stop-color="#7D7D7D"/><stop offset=".9558" stop-color="#686868"/><stop offset=".9785" stop-color="#5B5B5B"/><stop offset="1" stop-color="#575757"/></linearGradient><path style="fill:url(#SVGID_26_);" d="M3.893,50.249L3.893,50.249L3.893,50.249z"/><linearGradient id="SVGID_27_" gradientUnits="userSpaceOnUse" x1="214.3262" y1="-436.5107" x2="322.8717" y2="-424.4851" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset=".078" stop-color="#F4F4F4"/><stop offset=".3807" stop-color="#CECECE"/><stop offset=".5396" stop-color="#BFBFBF"/><stop offset=".8357" stop-color="#7C7C7C"/><stop offset=".8996" stop-color="#A8A8A8"/><stop offset=".9093" stop-color="#9A9A9A"/><stop offset=".9327" stop-color="#7D7D7D"/><stop offset=".9558" stop-color="#686868"/><stop offset=".9785" stop-color="#5B5B5B"/><stop offset="1" stop-color="#575757"/></linearGradient><path style="fill:url(#SVGID_27_);" d="M1.193,48.543l0.107,0.98c0.236,0.285,0.579,0.675,1.067,1.181c1.084,1.121,1.428,0.416,1.428,0.416s0.072-0.201,0.092-0.586c-0.042,0.216-0.209,0.403-0.788-0.056c-0.298-0.237-0.688-0.627-1.076-1.049c-0.326-0.326-0.723-0.742-1.021-1.117l0.048,0.065l-0.213,0.526c0,0,0.069,0.115,0.268,0.376L1.193,48.543L1.193,48.543z"/><linearGradient id="SVGID_28_" gradientUnits="userSpaceOnUse" x1="213.8887" y1="-436.4771" x2="336.8819" y2="-422.851" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#FFF"/><stop offset=".078" stop-color="#F4F4F4"/><stop offset=".3807" stop-color="#CECECE"/><stop offset=".5396" stop-color="#BFBFBF"/><stop offset=".8357" stop-color="#7C7C7C"/><stop offset=".8996" stop-color="#A8A8A8"/><stop offset=".9093" stop-color="#9A9A9A"/><stop offset=".9327" stop-color="#7D7D7D"/><stop offset=".9558" stop-color="#686868"/><stop offset=".9785" stop-color="#5B5B5B"/><stop offset="1" stop-color="#575757"/></linearGradient><path style="fill:url(#SVGID_28_);" d="M3.741,49.133c-0.006-0.027-0.013-0.054-0.02-0.078c0.012,0.088,0.028,0.179,0.043,0.272c0,0,0.094,0.394,0.12,0.753C3.87,49.813,3.83,49.498,3.741,49.133z"/><linearGradient id="SVGID_29_" gradientUnits="userSpaceOnUse" x1="411.2539" y1="557.002" x2="507.2363" y2="537.6277" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".4176" stop-color="#FFF"/><stop offset=".6264" stop-color="#F8F9F9"/><stop offset="1" stop-color="#BFC0C2"/></linearGradient><path style="fill:url(#SVGID_29_);" d="M99.696,28.566l0.29,0.316c0.406-0.238,0.654,0.045,0.654,0.045l-0.386-0.494c-0.383,0.082-1.093,0.256-2.233,0.61c0,0-1.353,0.594-1.59,1.532c-0.016,0.332,0.049,0.641,0.116,0.876c0.753,1.429,0.913,1.666,0.913,1.666c0.499,1.091,0.422,1.993,0.25,2.824c-0.188,0.921-1.188,1.668-1.794,1.842c-0.608,0.171-0.953,0-1.14-0.483c-0.188-0.485-0.157-0.845-0.438-2.34c-0.28-1.499-0.653-2.2-1.216-2.372c-0.563-0.173-1.313,0.468-1.749,0.811c-0.438,0.344-2.417,2.152-2.417,2.152s-2.324,2.091-5.743,4.026c-3.417,1.935-7.69,3.418-7.69,3.418s-2.842,1.092-3.525,0.998c-0.688-0.093-0.516-0.718-0.297-1.076c0.219-0.36,0.516-0.937,0.766-1.545c0.313-0.756,0.201-1.654-0.359-1.967c-0.562-0.311-1.248-0.468-3.523,0.094s-3.197,1.076-3.838,1.451c-0.643,0.376-1.576,1.233-1.842,1.716c-0.266,0.484-0.563,0.983,0.126,1.576c0.688,0.594,0.763,0.485,1.56,1.046c0.797,0.562,0.922,0.64,0.969,1.466c0.045,0.827-0.766,1.341-0.766,1.341s-3.123,2.082-6.602,2.777c-2.34,0.469-6.833,0.639-6.833,0.639s-1.327-0.045-5.384,0.547c-4.056,0.594-6.787,1.514-7.738,1.856c-0.952,0.343-2.34,0.81-3.136,1.17c-0.795,0.358-0.375,0.89-0.203,1.015c0.172,0.123,1.185,1.074,1.498,1.354c0.312,0.282,1.466,1.279,0.108,2.108c-1.356,0.826-3.603,1.264-3.603,1.264s-3.121,0.654-4.119,0.234c-1.001-0.422-1.2-0.778-1.452-1.358c-0.313-0.718-0.016-1.263,0.794-1.78c0.77-0.486,0.469-1.199,0.469-1.199c-0.983-1.9-3.058-2.058-4.774-1.936c-2.72,0.198-5.358,0.471-7.425,0.734c-3.059,0.39-4.541-0.063-5.992-0.516c-1.452-0.453-2.997-1.529-3.154-2.498c-0.027-0.097-0.039-0.199-0.042-0.307c-0.078-0.758,0.074-1.146,0.184-1.784c0.108-0.625-0.043-1.532-0.084-1.758c-0.008-0.026-0.016-0.058-0.023-0.085c-0.507-1.304-1.725-1.903-2.668-2.058c-0.953-0.157-0.983,0.857-0.983,0.857s-0.002,0.012-0.006,0.04c0.078-0.208,0.222-0.315,0.444-0.31c0.577,0.02,2.259,0.361,2.781,1.754c0,0,0.218,0.648,0.019,1.479c-0.199,0.832-0.162,1.571-0.019,2.295c0.145,0.725,0.759,1.408,1.465,1.969c0.704,0.562,2.745,1.535,4.734,1.66c1.814,0.117,2.483,0.037,2.587,0.023l0.759-0.768l0.135,0.666c0.81-0.088,2.115-0.229,3.619-0.394c2.529-0.271,4.227-0.541,5.8-0.306c1.572,0.232,2.078,1.463,2.078,1.463s0.107,0.313-0.253,0.542c-0.349,0.226-0.75,0.548-0.947,0.891c-0.2,0.345-0.411,1.066,0.159,2.033c0.572,0.965,2.142,1.595,3.478,1.435c1.336-0.158,3.336-0.672,4.521-0.98c1.286-0.336,2.424-0.969,2.572-1.979c0.148-1.009-1.534-2.297-1.534-2.297s-0.81-0.611-0.909-0.75c-0.1-0.14,0.099-0.197,0.099-0.197s0.95-0.229,1.356-0.416c0.403-0.19,1.523-0.644,3.353-1.217c1.831-0.572,5.609-1.248,5.609-1.248s2.09-0.332,4.694-0.543l0.612-0.705l0.493,0.627c0.406-0.023,0.819-0.045,1.235-0.061c3.572-0.129,5.343-0.555,7.24-0.979c1.897-0.426,4.569-1.979,4.965-2.276c0.396-0.296,1.229-0.662,1.395-1.958c0.17-1.294-1.363-2.157-1.363-2.157s-1.218-0.643-1.476-0.929c-0.256-0.288-0.019-0.562-0.019-0.562s0.689-1.485,2.896-2.355c2.207-0.872,3.69-1.106,4.619-1.207c0.931-0.099,1.247,0.237,1.375,0.395c0.128,0.158,0.128,0.485,0.021,0.821c-0.101,0.308-0.443,1.039-0.644,1.396c-0.199,0.356-0.522,1.216-0.317,1.622c0.211,0.405,0.842,0.592,1.662,0.444c0.822-0.147,2.987-0.761,4.889-1.553c1.897-0.793,5.074-2.344,5.074-2.344s0.01-0.005,0.021-0.013l0.086-0.729l0.729,0.296c1.021-0.562,2.764-1.582,4.01-2.63c1.871-1.574,3.699-3.225,4.166-3.641c0.465-0.415,0.89-0.751,1.305-0.732c0.416,0.021,0.734,0.318,0.99,1.434c0.258,1.119,0.306,2.038,0.426,2.583c0.117,0.542,0.285,1.176,0.929,1.305c0.644,0.128,1.513-0.436,1.841-0.713c0.326-0.277,0.918-1.176,0.879-2.383c0,0,0.068-1.605-0.762-3.127c0,0-0.348-0.614-0.477-0.782c-0.088-0.119-0.155-0.238-0.008-0.523c0.146-0.288,0.465-0.821,1.059-1.157c0.449-0.256,0.881-0.316,1.128-0.396c0,0,0.28-0.069,0.636-0.266L99.696,28.566L99.696,28.566z"/><path style="fill:#FFF;" d="M1.547,32.696l-0.05,0.239c0.053-0.041,0.111-0.068,0.17-0.072c0.281-0.018,0.629,0.158,0.629,0.158s1.135,0.61,1.642,0.716c0.507,0.105,0.875-0.065,1.205-0.292c0.25-0.174,0.521-0.434,0.763-0.737c-0.29,0.29-0.725,0.548-1.365,0.595c0,0-0.571-0.049-1.419-0.587c-0.846-0.537-1.327-0.231-1.729,0.105l0,0l-0.249,0.564c-0.001,0.013-0.003,0.023-0.006,0.036l0.009,0.001c0,0,0.087-0.192,0.217-0.352L1.547,32.696L1.547,32.696z"/><path style="opacity:.73;fill:#FFF;" d="M6.387,31.961c0.059-0.12,0.112-0.238,0.155-0.354c0.05-0.14,0.09-0.334,0.125-0.55c-0.096,0.44-0.223,0.73-0.223,0.73S6.428,31.853,6.387,31.961L6.387,31.961z"/><path style="opacity:.73;fill:#FFF;" d="M6.807,28.654c-0.038,0.439-0.038,0.987-0.038,1.493l0,0c0.04-0.509,0.052-0.935,0.052-0.935l0.004,0.014c0,0,0-0.421-0.011-0.518C6.811,28.695,6.809,28.677,6.807,28.654z"/><linearGradient id="SVGID_30_" gradientUnits="userSpaceOnUse" x1="413.5137" y1="516.4121" x2="417.999" y2="516.4121" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#E2E3E4"/><stop offset=".5055" stop-color="#FFF"/></linearGradient><path style="fill:url(#SVGID_30_);" d="M8.12,16.324l-0.291,0.435c0.087-0.014,0.089-0.007,0.244-0.056c0,0,0.404-0.066,1.112,0.12c0.917,0.244,2.067-0.496,2.067-0.496s0.272-0.164,0.583-0.458c-0.4,0.24-1.385,0.762-2.132,0.585c-0.961-0.229-0.994-0.017-1.336-0.049c-0.292-0.028-0.292-0.11-0.275-0.314c0.002-0.032,0.023-0.054,0.03-0.092c0.05-0.261,0.339-0.689,0.339-0.689l-0.684,0.383c-0.115,0.189-0.227,0.378-0.34,0.569c-0.063,0.146-0.179,0.475,0.044,0.509c0.055,0.009,0.11,0.011,0.163,0.009L8.12,16.324L8.12,16.324z"/><path style="fill:#FFF;" d="M17.019,15.036c-1.027,0.278-1.972,0.734-2.494,0.604c-0.438-0.109-0.084-0.76,0.042-0.965c0.069-0.146,0.167-0.292,0.249-0.406c0.31-0.506,0.833-1.351,0.833-1.351s0,0,0-0.002c0.017-0.032,0.033-0.067,0.049-0.102c0.067-0.18,0.12-0.537-0.472-0.597c-0.799-0.082-1.613,0.619-1.613,0.619s-0.547,0.301-0.838,1.417l0.112-0.313c0,0,0.291-0.973,1.105-1.281c0,0,0.317-0.171,0.831-0.177c0.513-0.005,0.392,0.354,0.392,0.354s-0.056,0.233-0.586,0.912c-0.529,0.677-0.671,1.195-0.671,1.195s-0.319,0.723,0.193,0.957c0,0,0.238,0.141,0.939-0.091c0.7-0.233,3.02-0.843,4.438-1.06l0.993-0.506C19.849,14.299,18.012,14.769,17.019,15.036L17.019,15.036z"/><path style="fill:#FFF;" d="M-16.122-14.641"/><path style="fill:#FFF;" d="M-16.122-14.641"/><path style="opacity:.1;fill:#231F20;" d="M90.578,74.217c0.006-0.004,0.009-0.008,0.014-0.013C90.587,74.21,90.582,74.213,90.578,74.217z"/><path style="opacity:.1;fill:#231F20;" d="M90.821,73.951c0.001-0.002,0.002-0.004,0.003-0.004C90.823,73.947,90.822,73.949,90.821,73.951z"/><path style="opacity:.1;fill:#231F20;" d="M90.738,74.042c0.003-0.004,0.008-0.009,0.011-0.013C90.746,74.033,90.741,74.038,90.738,74.042z"/><path style="opacity:.25;fill:#231F20;" d="M87.9,76.68l-0.164,0.174c-0.646,0.716-0.969,1.007-0.969,1.007l-0.242,0.269l0,0c-0.002,0.006-0.006,0.012-0.012,0.014c0.008,0.002,0.018,0.004,0.041,0.004c0,0,0.229-0.002,0.588-0.219c-0.072,0.041-0.139,0.068-0.181,0.07c-0.177,0.012,0.431-0.538,0.431-0.538s0.588-0.626,0.967-1.125c0.382-0.497,0.138-0.468,0.138-0.468s-0.087-0.021-0.397,0.125C88.125,76.018,88.268,76.223,87.9,76.68L87.9,76.68z"/><path style="opacity:.1;fill:#231F20;" d="M90.657,74.133c0.003-0.006,0.007-0.013,0.013-0.017C90.664,74.121,90.662,74.128,90.657,74.133z"/><path style="opacity:.22;fill:#231F20;" d="M72.945,81.21c0,0,2.215-0.931,3.402-0.79c0,0,0.611,0.059-0.062,0.711c-0.672,0.652-0.892,1.168,0.396,0.752c0,0,0.094-0.033,0.244-0.086c-0.504,0.143-0.734,0.143-0.658,0.033c0.127-0.188,0.461-0.461,0.461-0.461s0.399-0.4,0.399-0.801c0,0,0.128-0.588-1.604-0.225c-1.01,0.209-1.969,0.59-2.588,0.867C72.941,81.211,72.943,81.211,72.945,81.21L72.945,81.21z"/><path style="opacity:.1;fill:#231F20;" d="M72.234,81.555l-0.004,0.002C72.232,81.557,72.234,81.555,72.234,81.555z"/><path style="opacity:.1;fill:#231F20;" d="M88.057,76.014c-0.014,0.008-0.026,0.015-0.043,0.021C88.028,76.027,88.043,76.021,88.057,76.014z"/><path style="opacity:.28;fill:#231F20;" d="M78.305,81.299c1.448-0.521,3.93-1.854,5.023-2.492C82.232,79.442,79.73,80.717,78.305,81.299z"/><path style="opacity:.1;fill:#231F20;" d="M87.512,76.325c0.026-0.017,0.055-0.032,0.08-0.049C87.566,76.293,87.538,76.309,87.512,76.325z"/><path style="opacity:.1;fill:#231F20;" d="M91.618,73.084c0.008-0.011,0.019-0.023,0.026-0.029C91.637,73.061,91.626,73.073,91.618,73.084z"/><path style="opacity:.1;fill:#231F20;" d="M91.434,73.281c0.01-0.012,0.019-0.02,0.023-0.027C91.451,73.264,91.441,73.27,91.434,73.281z"/><path style="opacity:.1;fill:#231F20;" d="M91.521,73.188c0.01-0.012,0.02-0.022,0.029-0.032C91.539,73.165,91.53,73.178,91.521,73.188z"/><path style="opacity:.1;fill:#231F20;" d="M90.9,73.863c0.003-0.006,0.007-0.01,0.012-0.016C90.907,73.854,90.903,73.857,90.9,73.863z"/><path style="opacity:.1;fill:#231F20;" d="M71.246,82.088c-0.014,0.008-0.023,0.018-0.036,0.022C71.221,82.105,71.232,82.096,71.246,82.088z"/><path style="opacity:.1;fill:#231F20;" d="M91.346,73.375c0.008-0.008,0.014-0.015,0.021-0.021C91.359,73.36,91.354,73.367,91.346,73.375z"/><path style="opacity:.1;fill:#231F20;" d="M91.077,73.669c0.006-0.006,0.01-0.011,0.013-0.015C91.087,73.659,91.083,73.663,91.077,73.669z"/><path style="opacity:.1;fill:#231F20;" d="M91.251,73.479c0.007-0.006,0.015-0.012,0.021-0.021C91.266,73.463,91.255,73.473,91.251,73.479z"/><path style="opacity:.1;fill:#231F20;" d="M90.987,73.768c0.004-0.006,0.01-0.012,0.016-0.021C90.997,73.756,90.991,73.762,90.987,73.768z"/><path style="opacity:.1;fill:#231F20;" d="M91.161,73.578c0.006-0.006,0.011-0.014,0.017-0.02C91.172,73.564,91.165,73.572,91.161,73.578z"/><path style="opacity:.1;fill:#231F20;" d="M71.816,81.764c-0.008,0.006-0.02,0.012-0.026,0.017C71.799,81.774,71.809,81.77,71.816,81.764z"/><path style="opacity:.1;fill:#231F20;" d="M72.044,81.646c-0.006,0.004-0.012,0.006-0.019,0.009C72.032,81.652,72.038,81.649,72.044,81.646z"/><path style="opacity:.1;fill:#231F20;" d="M71.305,82.055c-0.011,0.008-0.021,0.014-0.031,0.021C71.283,82.067,71.294,82.063,71.305,82.055z"/><path style="opacity:.1;fill:#231F20;" d="M71.969,81.684c-0.008,0.004-0.015,0.009-0.021,0.014C71.953,81.692,71.961,81.688,71.969,81.684z"/><path style="opacity:.1;fill:#231F20;" d="M72.109,81.613c-0.004,0.005-0.01,0.006-0.016,0.01C72.102,81.619,72.105,81.617,72.109,81.613z"/><path style="opacity:.1;fill:#231F20;" d="M72.008,81.665c-0.007,0.004-0.013,0.007-0.021,0.011C71.994,81.672,72.001,81.669,72.008,81.665z"/><path style="opacity:.1;fill:#231F20;" d="M72.206,81.566c-0.003,0.002-0.005,0.003-0.007,0.004C72.201,81.569,72.203,81.568,72.206,81.566z"/><path style="opacity:.1;fill:#231F20;" d="M72.148,81.594c-0.008,0.004-0.016,0.01-0.024,0.015C72.135,81.604,72.141,81.598,72.148,81.594z"/><path style="opacity:.1;fill:#231F20;" d="M71.928,81.707c-0.01,0.003-0.02,0.01-0.027,0.016C71.908,81.715,71.918,81.711,71.928,81.707z"/><path style="opacity:.1;fill:#231F20;" d="M72.193,81.575c-0.006,0.001-0.01,0.003-0.014,0.004C72.184,81.578,72.189,81.575,72.193,81.575z"/><path style="opacity:.1;fill:#231F20;" d="M72.172,81.585c-0.004,0.003-0.008,0.005-0.015,0.007C72.164,81.59,72.168,81.585,72.172,81.585z"/><path style="opacity:.1;fill:#231F20;" d="M72.079,81.631c-0.008,0.002-0.013,0.004-0.019,0.006C72.066,81.635,72.071,81.633,72.079,81.631z"/><path style="opacity:.1;fill:#231F20;" d="M71.866,81.739c-0.011,0.002-0.021,0.008-0.027,0.013C71.848,81.747,71.857,81.741,71.866,81.739z"/><path style="opacity:.1;fill:#231F20;" d="M71.555,81.906c-0.018,0.012-0.033,0.02-0.052,0.029C71.521,81.924,71.539,81.918,71.555,81.906z"/><path style="opacity:.1;fill:#231F20;" d="M72.219,81.561c0,0.002-0.002,0.002-0.002,0.004C72.217,81.563,72.219,81.563,72.219,81.561z"/><path style="opacity:.1;fill:#231F20;" d="M71.421,81.986c-0.011,0.006-0.022,0.01-0.03,0.02C71.398,81.996,71.41,81.992,71.421,81.986z"/><path style="opacity:.1;fill:#231F20;" d="M71.363,82.02c-0.012,0.005-0.021,0.013-0.032,0.021C71.342,82.032,71.354,82.024,71.363,82.02z"/><path style="opacity:.1;fill:#231F20;" d="M71.482,81.948c-0.014,0.006-0.023,0.015-0.036,0.021C71.458,81.963,71.471,81.956,71.482,81.948z"/><path style="opacity:.1;fill:#231F20;" d="M71.768,81.79c-0.01,0.004-0.018,0.009-0.024,0.017C71.751,81.799,71.758,81.794,71.768,81.79z"/><path style="opacity:.1;fill:#231F20;" d="M91.708,72.984c0.013-0.014,0.024-0.028,0.04-0.042C91.734,72.956,91.723,72.971,91.708,72.984z"/><path style="opacity:.1;fill:#231F20;" d="M71.717,81.818c-0.01,0.004-0.019,0.009-0.027,0.015C71.698,81.827,71.707,81.822,71.717,81.818z"/><path style="opacity:.1;fill:#231F20;" d="M71.665,81.846c-0.011,0.006-0.021,0.014-0.028,0.018C71.645,81.858,71.654,81.852,71.665,81.846z"/><path style="opacity:.1;fill:#231F20;" d="M71.609,81.875c-0.01,0.008-0.021,0.014-0.03,0.02C71.589,81.889,71.602,81.881,71.609,81.875z"/><path style="opacity:.1;fill:#231F20;" d="M92.443,72.197c-0.021,0.021-0.037,0.039-0.055,0.061C92.406,72.238,92.423,72.217,92.443,72.197z"/><path style="opacity:.1;fill:#231F20;" d="M92.359,72.287c-0.021,0.021-0.041,0.044-0.061,0.066C92.318,72.331,92.339,72.309,92.359,72.287z"/><path style="opacity:.1;fill:#231F20;" d="M92.501,72.135c-0.011,0.015-0.021,0.023-0.028,0.033C92.48,72.157,92.49,72.148,92.501,72.135z"/><path style="opacity:.1;fill:#231F20;" d="M91.786,72.899c0.022-0.021,0.042-0.042,0.062-0.063C91.828,72.857,91.807,72.878,91.786,72.899z"/><path style="opacity:.1;fill:#231F20;" d="M92.273,72.379c-0.014,0.016-0.025,0.029-0.041,0.045C92.245,72.409,92.26,72.395,92.273,72.379z"/><path style="opacity:.1;fill:#231F20;" d="M92.579,72.053c-0.013,0.012-0.021,0.021-0.03,0.032C92.559,72.074,92.569,72.063,92.579,72.053z"/><path style="opacity:.1;fill:#231F20;" d="M92.762,71.858c-0.002,0-0.002,0-0.002,0.001C92.76,71.858,92.76,71.858,92.762,71.858z"/><path style="opacity:.1;fill:#231F20;" d="M92.703,71.919c-0.004,0.005-0.01,0.013-0.014,0.017C92.693,71.928,92.699,71.924,92.703,71.919z"/><path style="opacity:.1;fill:#231F20;" d="M87.938,76.074c-0.017,0.008-0.027,0.016-0.043,0.023C87.907,76.09,87.922,76.082,87.938,76.074z"/><path style="opacity:.1;fill:#231F20;" d="M92.648,71.98c-0.012,0.011-0.021,0.021-0.029,0.029C92.629,72,92.637,71.991,92.648,71.98z"/><path style="opacity:.1;fill:#231F20;" d="M87.666,76.229c-0.018,0.013-0.031,0.021-0.051,0.031C87.633,76.25,87.648,76.241,87.666,76.229z"/><path style="opacity:.1;fill:#231F20;" d="M48.204,91.026c0,0-0.001,0-0.003,0.002C48.203,91.026,48.203,91.026,48.204,91.026z"/><path style="opacity:.1;fill:#231F20;" d="M48.073,91.03c-0.007,0-0.013,0-0.021,0C48.06,91.03,48.066,91.03,48.073,91.03z"/><path style="opacity:.1;fill:#231F20;" d="M48.136,91.028c-0.007,0.002-0.013,0.002-0.02,0.002C48.123,91.03,48.129,91.03,48.136,91.028z"/><path style="opacity:.1;fill:#231F20;" d="M48.005,91.032c-0.003,0-0.007,0-0.012,0C47.998,91.032,48.002,91.032,48.005,91.032z"/><path style="opacity:.1;fill:#231F20;" d="M47.94,91.035c-0.004,0-0.009,0-0.015,0C47.93,91.035,47.935,91.035,47.94,91.035z"/><path style="opacity:.1;fill:#231F20;" d="M87.869,76.111c-0.014,0.006-0.021,0.015-0.039,0.021C87.848,76.126,87.857,76.117,87.869,76.111z"/><path style="opacity:.1;fill:#231F20;" d="M87.807,76.146c-0.014,0.009-0.025,0.018-0.041,0.021C87.779,76.164,87.793,76.155,87.807,76.146z"/><path style="opacity:.1;fill:#231F20;" d="M87.738,76.186c-0.016,0.011-0.028,0.018-0.044,0.024C87.71,76.203,87.723,76.196,87.738,76.186z"/><path style="opacity:.1;fill:#231F20;" d="M87.951,76.067c0.02-0.011,0.035-0.021,0.054-0.027C87.986,76.047,87.971,76.057,87.951,76.067z"/><path style="opacity:.1;fill:#231F20;" d="M87.719,77.52c0,0-0.082,0.064-0.193,0.147C87.592,77.621,87.664,77.566,87.719,77.52z"/><path style="opacity:.1;fill:#231F20;" d="M92.205,72.452c-0.021,0.022-0.042,0.046-0.064,0.067C92.163,72.498,92.186,72.475,92.205,72.452z"/><path style="opacity:.1;fill:#231F20;" d="M28.05,87.006c-0.019-0.007-0.037-0.016-0.056-0.021C28.013,86.991,28.031,86.999,28.05,87.006z"/><path style="opacity:.1;fill:#231F20;" d="M71.051,82.217c-0.013,0.008-0.021,0.017-0.037,0.021C71.027,82.23,71.038,82.223,71.051,82.217z"/><path style="opacity:.1;fill:#231F20;" d="M45.854,89.871c-0.024,0-0.049-0.004-0.074-0.004C45.806,89.867,45.831,89.871,45.854,89.871z"/><path style="opacity:.1;fill:#231F20;" d="M27.678,86.883c0.02,0.004,0.039,0.01,0.058,0.019C27.717,86.893,27.696,86.887,27.678,86.883z"/><path style="opacity:.1;fill:#231F20;" d="M27.555,86.844c0.038,0.012,0.078,0.022,0.119,0.037C27.633,86.869,27.593,86.854,27.555,86.844z"/><path style="opacity:.1;fill:#231F20;" d="M27.862,86.941c-0.041-0.014-0.082-0.026-0.123-0.04C27.78,86.913,27.82,86.928,27.862,86.941z"/><path style="opacity:.1;fill:#231F20;" d="M91.88,72.799c0.015-0.016,0.026-0.027,0.04-0.043C91.907,72.771,91.895,72.784,91.88,72.799z"/><path style="opacity:.1;fill:#231F20;" d="M28.058,87.006c0.04,0.016,0.079,0.026,0.116,0.041C28.137,87.033,28.098,87.021,28.058,87.006z"/><path style="opacity:.1;fill:#231F20;" d="M91.977,72.695c0.014-0.016,0.026-0.027,0.041-0.044C92.002,72.668,91.989,72.68,91.977,72.695z"/><path style="opacity:.1;fill:#231F20;" d="M92.057,72.612c0.021-0.022,0.039-0.041,0.061-0.062C92.096,72.571,92.076,72.59,92.057,72.612z"/><path style="opacity:.1;fill:#231F20;" d="M27.991,86.985c-0.021-0.009-0.041-0.017-0.062-0.022C27.95,86.969,27.97,86.977,27.991,86.985z"/><path style="opacity:.1;fill:#231F20;" d="M71.133,82.162c0.021-0.013,0.037-0.021,0.055-0.036C71.17,82.139,71.152,82.149,71.133,82.162z"/><path style="opacity:.1;fill:#231F20;" d="M46.361,89.926c-0.016-0.002-0.035-0.004-0.053-0.008C46.325,89.922,46.345,89.924,46.361,89.926z"/><path style="opacity:.1;fill:#231F20;" d="M71.122,82.17c-0.019,0.012-0.034,0.021-0.049,0.032C71.088,82.191,71.105,82.18,71.122,82.17z"/><path style="opacity:.1;fill:#231F20;" d="M46.439,89.939c-0.017-0.002-0.032-0.006-0.049-0.008C46.407,89.934,46.422,89.938,46.439,89.939z"/><path style="opacity:.1;fill:#231F20;" d="M46.513,89.953c-0.016-0.005-0.031-0.007-0.047-0.011C46.481,89.946,46.497,89.948,46.513,89.953z"/><path style="opacity:.1;fill:#231F20;" d="M46.096,89.891c-0.031-0.002-0.065-0.006-0.1-0.01C46.031,89.885,46.065,89.889,46.096,89.891z"/><path style="opacity:.1;fill:#231F20;" d="M46.278,89.913c-0.02-0.002-0.041-0.004-0.061-0.006C46.237,89.909,46.259,89.911,46.278,89.913z"/><path style="opacity:.1;fill:#231F20;" d="M46.19,89.904c-0.028-0.005-0.054-0.008-0.084-0.012C46.136,89.896,46.163,89.899,46.19,89.904z"/><path style="opacity:.1;fill:#231F20;" d="M45.971,89.881c-0.025-0.005-0.051-0.006-0.079-0.009C45.92,89.875,45.945,89.877,45.971,89.881z"/><path style="opacity:.1;fill:#231F20;" d="M27.926,86.961c-0.02-0.004-0.039-0.011-0.058-0.019C27.888,86.953,27.908,86.957,27.926,86.961z"/><path style="opacity:.1;fill:#231F20;" d="M47.395,90.975c0.001,0.004,0.003,0.004,0.004,0.004C47.398,90.979,47.396,90.979,47.395,90.975z"/><path style="opacity:.1;fill:#231F20;" d="M47.375,90.969c0.001,0,0.002,0,0.003,0C47.378,90.969,47.376,90.969,47.375,90.969z"/><path style="opacity:.1;fill:#231F20;" d="M47.418,90.982L47.418,90.982L47.418,90.982z"/><path style="opacity:.1;fill:#231F20;" d="M47.465,90.996c0.003,0,0.004,0.001,0.006,0.001C47.47,90.997,47.468,90.996,47.465,90.996z"/><path style="opacity:.1;fill:#231F20;" d="M47.442,90.988c0.001,0,0.002,0.002,0.002,0.002L47.442,90.988z"/><path style="opacity:.1;fill:#231F20;" d="M47.342,90.955L47.342,90.955L47.342,90.955z"/><path style="opacity:.1;fill:#231F20;" d="M46.589,89.967c-0.02-0.002-0.036-0.009-0.054-0.013C46.553,89.959,46.57,89.965,46.589,89.967z"/><path style="opacity:.1;fill:#231F20;" d="M46.764,90.012c-0.011-0.004-0.021-0.008-0.033-0.012C46.742,90.006,46.753,90.008,46.764,90.012z"/><path style="opacity:.1;fill:#231F20;" d="M49.049,90.953c-0.01,0.001-0.021,0.002-0.032,0.004C49.028,90.955,49.038,90.954,49.049,90.953z"/><path style="opacity:.1;fill:#231F20;" d="M46.659,89.984c-0.021-0.006-0.039-0.01-0.061-0.014C46.619,89.975,46.639,89.979,46.659,89.984z"/><path style="opacity:.1;fill:#231F20;" d="M47.767,91.028c0.003,0,0.003,0,0.006,0C47.773,91.028,47.77,91.028,47.767,91.028z"/><path style="opacity:.1;fill:#231F20;" d="M47.821,91.03c0.003,0,0.007,0,0.013,0C47.828,91.03,47.824,91.03,47.821,91.03z"/><path style="opacity:.1;fill:#231F20;" d="M45.214,89.855c0.047,0,0.092,0,0.139,0C45.308,89.855,45.261,89.855,45.214,89.855z"/><path style="opacity:.1;fill:#231F20;" d="M47.716,91.026c0.005,0,0.009,0,0.013,0.002C47.727,91.026,47.722,91.026,47.716,91.026z"/><path style="opacity:.36;fill:#231F20;" d="M46.772,90.014c0,0,0.158,0.021,0.059,0.338c-0.1,0.313,0.06,0.451,0.475,0.594l0.023,0.006c0,0,0.001,0,0.002,0c-0.079-0.04-0.074-0.08-0.074-0.08s-0.01-0.078,0.078-0.216c0.087-0.136,0.009-0.369-0.293-0.536C47.044,90.118,46.967,90.07,46.772,90.014L46.772,90.014L46.772,90.014z"/><path style="opacity:.1;fill:#231F20;" d="M47.869,91.032c0.006,0,0.012,0,0.018,0C47.881,91.032,47.875,91.032,47.869,91.032z"/><path style="opacity:.1;fill:#231F20;" d="M47.495,91.002c0.001,0,0.004,0,0.004,0C47.497,91.002,47.496,91.002,47.495,91.002z"/><path style="opacity:.1;fill:#231F20;" d="M47.677,91.024c0.004,0,0.007,0,0.01,0C47.684,91.024,47.681,91.024,47.677,91.024z"/><path style="opacity:.1;fill:#231F20;" d="M47.529,91.006c0.001,0,0.002,0,0.002,0S47.53,91.006,47.529,91.006z"/><path style="opacity:.1;fill:#231F20;" d="M47.559,91.01c0.002,0.002,0.005,0.002,0.008,0.002C47.566,91.012,47.561,91.01,47.559,91.01z"/><path style="opacity:.1;fill:#231F20;" d="M47.594,91.016c0.002,0,0.004,0,0.008,0C47.599,91.016,47.596,91.016,47.594,91.016z"/><path style="opacity:.1;fill:#231F20;" d="M46.711,89.997c-0.011-0.002-0.026-0.007-0.043-0.011C46.685,89.99,46.701,89.995,46.711,89.997z"/><path style="opacity:.1;fill:#231F20;" d="M28.748,87.256c-0.008-0.003-0.018-0.007-0.025-0.01C28.731,87.25,28.739,87.254,28.748,87.256z"/><path style="opacity:.1;fill:#231F20;" d="M28.776,87.27c-0.007-0.002-0.016-0.008-0.024-0.012C28.761,87.262,28.769,87.268,28.776,87.27z"/><path style="opacity:.1;fill:#231F20;" d="M28.681,87.23c-0.008-0.004-0.021-0.006-0.03-0.01C28.66,87.225,28.672,87.227,28.681,87.23z"/><path style="opacity:.1;fill:#231F20;" d="M45.66,89.862c0.026,0,0.052,0.005,0.074,0.005C45.711,89.865,45.686,89.865,45.66,89.862z"/><path style="opacity:.1;fill:#231F20;" d="M28.797,87.275c-0.005-0.002-0.013-0.006-0.021-0.008C28.784,87.271,28.792,87.273,28.797,87.275z"/><path style="opacity:.1;fill:#231F20;" d="M27.38,86.794c0.038,0.011,0.074,0.022,0.112,0.031C27.453,86.816,27.417,86.803,27.38,86.794z"/><path style="opacity:.1;fill:#231F20;" d="M27.492,86.825c0.021,0.004,0.039,0.011,0.058,0.019C27.53,86.836,27.512,86.829,27.492,86.825z"/><path style="opacity:.1;fill:#231F20;" d="M28.814,87.284c-0.003-0.002-0.006-0.005-0.012-0.007C28.808,87.279,28.811,87.282,28.814,87.284z"/><path style="opacity:.1;fill:#231F20;" d="M28.64,87.219c-0.011-0.006-0.021-0.01-0.03-0.014C28.621,87.21,28.629,87.213,28.64,87.219z"/><path style="opacity:.38;fill:#231F20;" d="M27.687,87.239c-0.014-0.013-0.023-0.022-0.03-0.032c-0.263-0.197-0.343-0.418-0.343-0.418l0.009-0.011c0.017,0.007,0.034,0.011,0.052,0.014c-0.291-0.075-0.5-0.104-0.479-0.018c0.015,0.061,0.131,0.153,0.269,0.245c0.174,0.094,0.346,0.187,0.522,0.279V87.239L27.687,87.239z"/><path style="opacity:.1;fill:#231F20;" d="M28.716,87.245c-0.009-0.003-0.018-0.006-0.027-0.01C28.699,87.239,28.708,87.242,28.716,87.245z"/><path style="opacity:.1;fill:#231F20;" d="M28.602,87.202c-0.013-0.004-0.027-0.01-0.042-0.015C28.574,87.192,28.59,87.198,28.602,87.202z"/><path style="opacity:.1;fill:#231F20;" d="M28.841,87.293c0,0-0.006-0.004-0.022-0.009C28.835,87.29,28.841,87.293,28.841,87.293z"/><path style="opacity:.1;fill:#231F20;" d="M28.232,87.068c-0.018-0.006-0.031-0.014-0.047-0.018C28.201,87.055,28.215,87.063,28.232,87.068z"/><path style="opacity:.1;fill:#231F20;" d="M45.534,89.858c0.028,0,0.054,0.002,0.081,0.002C45.587,89.858,45.562,89.858,45.534,89.858z"/><path style="opacity:.1;fill:#231F20;" d="M45.397,89.855c0.029,0,0.06,0,0.089,0C45.457,89.855,45.427,89.855,45.397,89.855z"/><path style="opacity:.1;fill:#231F20;" d="M28.348,87.11c-0.034-0.013-0.07-0.025-0.106-0.039C28.278,87.085,28.314,87.098,28.348,87.11z"/><path style="opacity:.1;fill:#231F20;" d="M28.506,87.168c-0.013-0.005-0.025-0.01-0.037-0.015C28.481,87.158,28.494,87.162,28.506,87.168z"/><path style="opacity:.1;fill:#231F20;" d="M28.401,87.129c-0.013-0.006-0.028-0.011-0.043-0.015C28.373,87.118,28.388,87.123,28.401,87.129z"/><path style="opacity:.1;fill:#231F20;" d="M28.557,87.186c-0.013-0.004-0.025-0.012-0.04-0.017C28.531,87.176,28.544,87.182,28.557,87.186z"/><path style="opacity:.1;fill:#231F20;" d="M28.458,87.15c-0.016-0.008-0.031-0.014-0.047-0.018C28.427,87.137,28.442,87.143,28.458,87.15z"/><path style="opacity:.1;fill:#231F20;" d="M70.02,84.389c0.004,0,0.006,0,0.006,0C70.023,84.389,70.023,84.389,70.02,84.389z"/><path style="opacity:.1;fill:#231F20;" d="M70.789,84.087c-0.001,0.003-0.003,0.005-0.004,0.005C70.786,84.09,70.788,84.088,70.789,84.087z"/><path style="opacity:.1;fill:#231F20;" d="M70.762,84.102c-0.002,0.002-0.004,0.002-0.006,0.004C70.758,84.104,70.76,84.104,70.762,84.102z"/><path style="opacity:.1;fill:#231F20;" d="M70.732,84.116c-0.002,0.002-0.004,0.003-0.006,0.004C70.729,84.119,70.73,84.118,70.732,84.116z"/><path style="opacity:.1;fill:#231F20;" d="M70.697,84.133c-0.001,0-0.002,0-0.002,0.002C70.695,84.133,70.696,84.133,70.697,84.133z"/><path style="opacity:.1;fill:#231F20;" d="M70.417,84.249c0.006-0.001,0.009-0.002,0.011-0.002C70.426,84.247,70.423,84.248,70.417,84.249z"/><path style="opacity:.1;fill:#231F20;" d="M70.389,84.262h0.002H70.389z"/><path style="opacity:.1;fill:#231F20;" d="M70.662,84.146L70.662,84.146L70.662,84.146z"/><path style="opacity:.1;fill:#231F20;" d="M70.316,84.289c0.002-0.002,0.007-0.003,0.009-0.003C70.321,84.286,70.318,84.287,70.316,84.289z"/><path style="opacity:.1;fill:#231F20;" d="M70.285,84.299c0.003,0,0.005-0.002,0.009-0.004C70.29,84.297,70.288,84.299,70.285,84.299z"/><path style="opacity:.1;fill:#231F20;" d="M70.354,84.275c0.002-0.002,0.002-0.002,0.002-0.002S70.354,84.273,70.354,84.275z"/><path style="opacity:.1;fill:#231F20;" d="M48.946,90.965c-0.011,0-0.022,0.004-0.033,0.004C48.924,90.969,48.935,90.965,48.946,90.965z"/><path style="opacity:.1;fill:#231F20;" d="M70.256,84.311c0.002,0,0.004,0,0.006-0.002C70.26,84.311,70.258,84.311,70.256,84.311z"/><path style="opacity:.1;fill:#231F20;" d="M70.78,82.41c0.013-0.009,0.026-0.021,0.042-0.032C70.809,82.389,70.793,82.401,70.78,82.41z"/><path style="opacity:.1;fill:#231F20;" d="M70.956,82.279c0.013-0.008,0.022-0.016,0.033-0.023C70.98,82.264,70.969,82.271,70.956,82.279z"/><path style="opacity:.1;fill:#231F20;" d="M70.898,82.321c0.012-0.009,0.022-0.017,0.033-0.022C70.923,82.305,70.91,82.313,70.898,82.321z"/><path style="opacity:.19;fill:#231F20;" d="M70.903,83.794c0.2,0.064,0.106,0.171-0.087,0.278l0.089-0.033c0,0,0.793-0.436,0.458-0.633c-0.338-0.198-1.129-0.275-0.613-0.969l0.02-0.02c-0.442,0.344-0.756,0.727-0.498,1.021C70.27,83.443,70.387,83.629,70.903,83.794z"/><path style="opacity:.1;fill:#231F20;" d="M70.566,84.191c-0.002,0-0.006,0.002-0.008,0.003C70.561,84.193,70.564,84.191,70.566,84.191z"/><path style="opacity:.1;fill:#231F20;" d="M70.631,84.163c-0.002,0.001-0.004,0.002-0.006,0.003C70.627,84.165,70.629,84.164,70.631,84.163z"/><path style="opacity:.1;fill:#231F20;" d="M70.598,84.176c0,0.002-0.004,0.004-0.006,0.004C70.594,84.18,70.598,84.178,70.598,84.176z"/><path style="opacity:.1;fill:#231F20;" d="M70.493,84.223c-0.003,0-0.003,0-0.007,0.002C70.49,84.223,70.49,84.223,70.493,84.223z"/><path style="opacity:.1;fill:#231F20;" d="M70.459,84.233c-0.002,0-0.004,0.002-0.008,0.004C70.455,84.235,70.457,84.233,70.459,84.233z"/><path style="opacity:.1;fill:#231F20;" d="M70.842,82.363c0.012-0.01,0.024-0.018,0.034-0.025C70.866,82.346,70.854,82.354,70.842,82.363z"/><path style="opacity:.1;fill:#231F20;" d="M48.293,91.024c-0.007,0-0.016,0-0.023,0C48.277,91.024,48.286,91.024,48.293,91.024z"/><path style="opacity:.1;fill:#231F20;" d="M48.444,91.014c-0.004,0-0.011,0-0.017,0C48.434,91.014,48.44,91.014,48.444,91.014z"/><path style="opacity:.1;fill:#231F20;" d="M48.369,91.02c-0.009,0-0.017,0-0.027,0C48.352,91.02,48.359,91.02,48.369,91.02z"/><path style="opacity:.25;fill:#231F20;" d="M50.023,89.904c0,0,0.362,0.225,1.673,0.285c0,0,0.45,0,0.468,0.035c0.016,0.028,0.036,0.056-0.068,0.102l0,0c0.06-0.021,0.793-0.254,0.476-0.391c-0.04-0.019-0.063-0.024-0.074-0.028c-0.006,0-0.013,0-0.019-0.003l0,0c-0.008-0.002-0.016-0.002-0.021-0.004c-0.007,0-0.009-0.001-0.013-0.001c-0.006-0.003-0.014-0.003-0.021-0.005c-0.004,0-0.009,0-0.015-0.002c-0.005,0-0.011-0.002-0.017-0.002c-0.004,0-0.011-0.002-0.017-0.004c-0.005,0-0.012,0-0.015,0c-0.008-0.002-0.014-0.002-0.018-0.004c-0.004,0-0.012,0-0.016-0.002c-0.005,0-0.012,0-0.018,0c-0.002-0.004-0.008-0.004-0.01-0.004c-0.011-0.002-0.015-0.003-0.021-0.003c-0.004,0-0.006-0.001-0.008-0.001c-0.01-0.001-0.021-0.001-0.028-0.002c0,0-0.002,0-0.004-0.002c-0.007,0-0.015,0-0.021,0c-0.005-0.002-0.007-0.002-0.012-0.002s-0.011,0-0.02,0c-0.004,0-0.006,0-0.008,0c-0.008-0.002-0.013-0.002-0.019-0.002c-0.003,0-0.007,0-0.009,0c-0.008,0-0.014-0.002-0.018-0.002c-0.005,0-0.009-0.003-0.012-0.003c-0.006,0-0.014,0-0.021,0c-0.004,0-0.004,0-0.006,0c-0.039-0.004-0.08-0.004-0.128-0.009c-0.002,0-0.004,0-0.004,0c-0.009,0-0.015-0.002-0.022-0.002c-0.002,0-0.007,0-0.011,0c-0.007,0-0.013,0-0.021,0c-0.004-0.002-0.01-0.002-0.014-0.002c-0.006,0-0.013-0.002-0.02-0.002c-0.005,0-0.011,0-0.016-0.002c-0.005,0-0.011,0-0.019,0c-0.01,0-0.02-0.002-0.028-0.004c-0.006,0-0.012,0-0.019,0c-0.008,0-0.018-0.002-0.028-0.002c-0.005,0-0.011-0.002-0.016-0.002c-0.008,0-0.019,0-0.024-0.001c-0.006-0.001-0.013-0.001-0.021-0.001c-0.007-0.002-0.018-0.002-0.026-0.004c-0.005,0-0.013-0.001-0.02-0.001c-0.008-0.001-0.018-0.003-0.026-0.003c-0.007-0.001-0.016-0.001-0.023-0.003c-0.01,0-0.019-0.002-0.027-0.002c-0.007-0.002-0.014-0.002-0.021-0.002c-0.012,0-0.024-0.003-0.035-0.005c-0.007,0-0.014,0-0.02,0c-0.02-0.004-0.037-0.006-0.057-0.006c-0.142-0.019-0.271-0.033-0.378-0.055l-0.187-0.025c0,0-0.47-0.014-0.653-0.316c-0.118-0.197,0.457-0.318,0.457-0.318s0.956-0.193,1.917-0.321c0,0-2.542,0.294-2.777,0.626C49.613,89.737,50.023,89.904,50.023,89.904L50.023,89.904z"/><path style="opacity:.1;fill:#231F20;" d="M69.986,84.401L69.986,84.401L69.986,84.401z"/><path style="opacity:.1;fill:#231F20;" d="M69.989,84.399c0.001,0,0.001,0,0.004,0C69.991,84.399,69.99,84.399,69.989,84.399z"/><path style="opacity:.1;fill:#231F20;" d="M48.839,90.979c-0.007,0-0.015,0.002-0.021,0.002C48.824,90.98,48.831,90.979,48.839,90.979z"/><path style="opacity:.1;fill:#231F20;" d="M48.727,90.988c-0.009,0-0.017,0.002-0.026,0.002C48.71,90.99,48.718,90.988,48.727,90.988z"/><path style="opacity:.1;fill:#231F20;" d="M48.637,90.998c-0.009,0-0.019,0.001-0.029,0.003C48.619,90.999,48.628,90.998,48.637,90.998z"/><path style="opacity:.1;fill:#231F20;" d="M48.55,91.004c-0.009,0-0.018,0.002-0.025,0.004C48.532,91.006,48.54,91.004,48.55,91.004z"/><path style="opacity:.1;fill:#231F20;" d="M70.139,84.35c0.004,0,0.006-0.002,0.01-0.004C70.145,84.348,70.143,84.35,70.139,84.35z"/><path style="opacity:.1;fill:#231F20;" d="M70.116,84.359c0.002-0.002,0.004-0.002,0.007-0.002C70.12,84.357,70.118,84.357,70.116,84.359z"/><path style="opacity:.1;fill:#231F20;" d="M70.193,84.332c0.002,0,0.002-0.002,0.004-0.002C70.195,84.33,70.195,84.332,70.193,84.332z"/><path style="opacity:.1;fill:#231F20;" d="M70.068,84.374c0.003,0,0.004,0,0.007-0.002C70.072,84.374,70.07,84.374,70.068,84.374z"/><path style="opacity:.1;fill:#231F20;" d="M70.163,84.342c0.005,0,0.007-0.002,0.011-0.005C70.17,84.34,70.167,84.342,70.163,84.342z"/><path style="opacity:.1;fill:#231F20;" d="M69.996,84.395c0.002,0,0.002,0,0.004,0C69.998,84.395,69.998,84.395,69.996,84.395z"/><path style="opacity:.1;fill:#231F20;" d="M70.004,84.395c0.002,0,0.006-0.002,0.008-0.002C70.006,84.395,70.006,84.395,70.004,84.395z"/><path style="opacity:.1;fill:#231F20;" d="M72.23,81.559c-0.002,0-0.004,0-0.004,0S72.229,81.559,72.23,81.559z"/><path style="opacity:.1;fill:#231F20;" d="M70.053,84.379c0.002,0,0.002,0,0.004,0C70.053,84.379,70.053,84.379,70.053,84.379z"/><path style="opacity:.1;fill:#231F20;" d="M70.036,84.385c0.001,0,0.003,0,0.004-0.002C70.039,84.385,70.037,84.385,70.036,84.385z"/><linearGradient id="SVGID_31_" gradientUnits="userSpaceOnUse" x1="414.2451" y1="568.2656" x2="509.0055" y2="545.7273" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".4176" stop-color="#FFF"/><stop offset=".6264" stop-color="#F8F9F9"/><stop offset=".9505" stop-color="#B2B4B6"/></linearGradient><path style="fill:url(#SVGID_31_);" d="M7.61,68.141c-0.065-0.062-0.112-0.105-0.139-0.131L7.45,68.021L7.61,68.141L7.61,68.141z"/><linearGradient id="SVGID_32_" gradientUnits="userSpaceOnUse" x1="416.6992" y1="578.5645" x2="511.8228" y2="555.9398" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".4176" stop-color="#FFF"/><stop offset=".6264" stop-color="#F8F9F9"/><stop offset=".9505" stop-color="#B2B4B6"/></linearGradient><path style="opacity:.83;fill:url(#SVGID_32_);" d="M90.412,59.954l0.689,0.108c1.976-1.573,3.869-3.571,3.869-3.571s1.258-1.261,1.889-2.356c0.22-0.381,0.281-0.356,0.271-0.177c0.023-0.09,0.103-0.456-0.038-0.714c-0.094-0.176-0.381,0.288-0.83,0.861c0,0-2.013,2.926-5.798,5.816c-3.786,2.891-4.776,3.771-8.083,5.655c0,0-2.309,1.021-3.914,0.669c-1.246-0.271,0-1.547,0.271-2.699c0.271-1.146,0.063-1.58-0.225-1.807c-0.287-0.225-0.91-0.385-2.142-0.109c0,0-4.709,1.264-6.819,3.307c-1.918,1.854,0.478,2.619,1.021,2.875c0,0,0.78,0.338,0.719,0.672c-0.063,0.336-0.496,0.623-0.733,0.783c-0.239,0.16-3.338,1.977-8.324,2.764c-4.039,0.641-3.26,0.255-7.143,0.654c-3.881,0.399-4.952,0.72-8.068,1.453c-3.116,0.734-4.945,1.537-5.352,2.349c-0.336,0.671,0.479,1.103,0.991,1.407c0.511,0.304,1.423,0.781,1.119,1.293c-0.305,0.512-1.631,1.277-4.874,1.391c-3.243,0.114-4.569-0.336-5.16-1.04c-0.548-0.649-0.08-1.323,0.096-1.946c0,0,0.382-0.814,0.16-1.215c-0.224-0.398-0.737-0.494-1.278-0.559c-0.544-0.064-3.245-0.158-5.337-0.271c-2.372-0.127-5.208-0.211-8.611-0.928c0,0-2.237-0.441-3.69-1.262c-0.096-0.055-0.18-0.107-0.25-0.156c-0.11-0.059-0.194-0.122-0.25-0.209c-0.41-0.432-0.047-0.748-0.186-1.168c-0.121-0.359-0.352-0.878-0.896-1.501c-0.176-0.183-0.428-0.437-0.72-0.713c-0.08-0.069-0.165-0.144-0.254-0.214c-1.276-1.037-1.422-1.149-1.964-1.166c-0.542-0.019-0.235,0.895-0.129,1.246c0.041,0.136,0.139,0.328,0.242,0.508c-0.2-0.364-0.336-0.729-0.257-0.915c0.144-0.337,0.309-0.308,0.309-0.308s0.133-0.053,0.595,0.297c0.463,0.35,1.499,1.078,2.012,1.705c0.512,0.625,0.481,1.18,0.481,1.18s-0.103,0.563,0.451,1.17c0.555,0.604,1.733,1.714,5.859,2.349c0.021,0.005,0.041,0.005,0.06,0.009l0.193-0.549l0.568,0.663c0.006,0,0.01,0.001,0.016,0.002c3.592,0.519,5.544,0.563,5.544,0.563s4.709,0.164,5.982,0.164c1.271,0,1.035,0.664,1.035,0.664s-0.072,0.361-0.225,0.647c-0.153,0.288-0.524,1.365-0.144,1.94c0,0,0.585,1.426,4.382,1.527c0,0,3.324,0.267,5.643-0.688c2.317-0.954,0.224-2.277,0.224-2.277s-0.794-0.483-1.129-0.737c-0.308-0.233-0.184-0.48-0.122-0.646c0.061-0.163,0.297-0.355,0.564-0.492c0.265-0.134,1.241-0.652,5.365-1.722c4.124-1.067,6.587-1.183,6.587-1.183s0.021-0.004,0.062-0.006l0.334-0.656l0.845,0.559c0.732-0.061,1.686-0.129,2.537-0.17c1.691-0.083,4.341-0.475,5.879-0.811c1.539-0.342,3.869-1.059,5.591-1.951c1.724-0.891,1.808-1.519,1.808-1.519s0.328-0.472-0.391-0.995c-0.719-0.521-1.037-0.38-1.672-1.024c-0.638-0.646,0.553-1.619,0.553-1.619s0.615-0.865,4.021-2.177c3.408-1.313,3.98-0.873,4.156-0.728c0.175,0.142,0.195,0.613,0.123,0.933c-0.072,0.316-0.494,1.455-0.721,2.055c-0.227,0.592-0.316,1.402,0.604,1.6c0.924,0.193,2.215-0.009,3.427-0.443c2.893-1.033,3.757-2.295,8.535-5.764c0.011-0.01,0.021-0.016,0.029-0.023L90.412,59.954L90.412,59.954z"/><linearGradient id="SVGID_33_" gradientUnits="userSpaceOnUse" x1="415.4736" y1="573.4199" x2="510.5869" y2="550.7977" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".4176" stop-color="#FFF"/><stop offset=".6264" stop-color="#F8F9F9"/><stop offset=".9505" stop-color="#B2B4B6"/></linearGradient><path style="fill:url(#SVGID_33_);" d="M100.895,47.596c-0.635,1.186-1.164,2.608-1.443,3.5c-0.045,0.213-0.061,0.33-0.061,0.33s-0.119,0.654-0.054,1.036c0.028,0.161,0.069,0.279,0.106,0.375c0.021,0.052,0.039,0.095,0.055,0.134c0.02,0.045,0.031,0.082,0.033,0.111c0.007,0.082-0.044,0.614-0.27,1.23l0,0c0,0,0,0,0,0.002c-0.063,0.176-0.143,0.359-0.24,0.539c-0.024,0.05-0.053,0.095-0.074,0.139c-0.458,0.814-1.098,1.457-1.604,1.532c-0.324,0.049-0.484-0.117-0.557-0.386c0.014,0.369,0.086,0.738,0.289,0.963c0.406,0.441,1.563-0.795,1.563-0.795s0.688-0.789,0.965-2.062c0.406-1.875,0.187-2.248,0.187-2.248s-0.247-0.389-0.093-0.853c0.152-0.461,1.156-3.047,1.979-4.01l0.502-0.562c0-0.009,0.002-0.02,0.002-0.029l-0.211-0.521c-0.129,0.13-0.259,0.284-0.385,0.454C101.405,46.763,101.178,47.129,100.895,47.596L100.895,47.596z"/><linearGradient id="SVGID_34_" gradientUnits="userSpaceOnUse" x1="414.7754" y1="570.4785" x2="509.8697" y2="547.861" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".4176" stop-color="#FFF"/><stop offset=".6264" stop-color="#F8F9F9"/><stop offset=".9505" stop-color="#B2B4B6"/></linearGradient><path style="fill:url(#SVGID_34_);" d="M10.564,70.807L10.564,70.807c-0.146-0.092-0.315-0.229-0.469-0.356c-0.133-0.112-0.641-0.585-1.18-1.086c-0.212-0.194-0.411-0.382-0.589-0.55c-0.277-0.262-0.524-0.493-0.688-0.646l0.107,0.358c0.017,0.028,0.034,0.06,0.052,0.089c0.183,0.29,0.854,1.264,2.153,2.277c1.549,1.213,1.559,0.729,1.559,0.729s0.062-0.4-0.296-0.84c-0.063-0.076-0.131-0.167-0.202-0.27v0.002C11.011,70.516,12.023,71.998,10.564,70.807z"/><linearGradient id="SVGID_35_" gradientUnits="userSpaceOnUse" x1="414.915" y1="571.0664" x2="510.04" y2="548.4415" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".4176" stop-color="#FFF"/><stop offset=".6264" stop-color="#F8F9F9"/><stop offset=".9505" stop-color="#B2B4B6"/></linearGradient><path style="fill:url(#SVGID_35_);" d="M10.678,69.98c0.103,0.186,0.219,0.371,0.333,0.533C11,70.501,10.833,70.253,10.678,69.98z"/><linearGradient id="SVGID_36_" gradientUnits="userSpaceOnUse" x1="416.1035" y1="576.0654" x2="511.2286" y2="553.4405" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".4176" stop-color="#FFF"/><stop offset=".6264" stop-color="#F8F9F9"/><stop offset=".9505" stop-color="#B2B4B6"/></linearGradient><path style="fill:url(#SVGID_36_);" d="M96.887,55.023c0,0,0.227-0.76,0.243-1.066c-0.003,0.014-0.005,0.021-0.005,0.021s-0.513,1.443-0.333,2.16C96.771,55.579,96.887,55.023,96.887,55.023z"/><path style="opacity:.1;fill:#232323;" d="M63.301,4.417l0.728,0.072c1.426-0.402,2.643-0.772,2.643-0.772s1.265-0.41,1.901-0.637c0.635-0.226,1.09-0.313,1.654-0.409c0.565-0.096,1.311-0.14,1.709-0.131c0.4,0.007,0.531,0.122,0.531,0.122s0.166,0.131,0.244,0.27c0.077,0.138,0.74,1.891,2.973,2.005c2.233,0.112,2.263-1.096,2.065-1.464c-0.226-0.427-0.896-0.863-0.896-0.863s-0.899-0.575-1.092-0.847c-0.191-0.27,0.034-0.357,0.104-0.375c0.065-0.017,2.435-0.497,2.729-0.609l0.021-0.021l-0.562-0.171c0,0-0.119,0.134-0.789,0.313c-0.67,0.179-1.235,0.246-1.742,0.313c-0.506,0.066-0.506,0.239-0.506,0.239l-0.086,0.136c-0.025,0.075-0.067,0.321,0.375,0.642c0.528,0.387,1.172,0.75,1.438,1.04s0.586,0.783,0.012,1.137C76.48,4.576,76.27,4.64,75.977,4.671c0.002,0.008,0,0.012,0,0.012c-0.248,0.021-0.457,0.03-0.638,0.03c-0.049,0.002-0.102,0.006-0.155,0.009l-0.017-0.013c-0.506-0.024-0.746-0.142-1.067-0.302c-0.442-0.223-0.758-0.73-0.92-1.087s-0.521-0.662-0.521-0.662c-0.588-0.336-1.695-0.343-2.813-0.15c-1.115,0.193-2.656,0.707-2.925,0.812c-0.268,0.104-1.616,0.551-2.307,0.73c-0.693,0.178-1.222,0.357-1.646,0.47c-0.427,0.111-3.432,1.005-4.556,1.339c-1.126,0.334-1.849,0.46-1.849,0.46c-1.688,0.172-2.193-0.134-2.193-0.134c-0.296-0.124-0.261-0.526-0.261-0.526l0.009-1.147c0,0-0.027-0.433-0.357-0.611c-0.328-0.179-0.779-0.252-1.593-0.29c-0.811-0.038-1.683,0.044-2.093,0.134c-0.408,0.09-1.189,0.313-1.764,0.952c-0.572,0.641-0.481,1.139-0.481,1.139s0.004,0.079,0.01,0.201c0.154,0.245,0.416,0.524,0.862,0.739c1.015,0.485-1.137,1.342-1.137,1.342l0,0c-0.479,0.208-1.191,0.478-2.208,0.777c-2.21,0.647-3.684,0.774-3.684,0.774l0.679,0.254c0,0,5.468-1.016,7.148-2.616c0,0,0.625-0.293,0.021-0.88c-0.606-0.585-0.898-0.761-0.898-0.761s-0.41-0.223,0.02-0.772c0.428-0.546,0.922-0.794,1.352-0.933c0.428-0.135,1.754-0.249,2.925-0.093c0,0,0.491,0.042,0.457,0.407c-0.032,0.365-0.087,0.873-0.077,1.028c0.01,0.157,0.025,0.515,0.399,0.845c0.379,0.332,1.098,0.453,1.098,0.453s1.257,0.228,2.845-0.218c1.586-0.444,3.65-1.141,5.438-1.629L63.301,4.417L63.301,4.417z"/><linearGradient id="SVGID_37_" gradientUnits="userSpaceOnUse" x1="412.6152" y1="535.3994" x2="501.5865" y2="514.8846" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#FFF"/><stop offset=".6538" stop-color="#FFF"/><stop offset="1" stop-color="#CBCCCE"/></linearGradient><path style="fill:url(#SVGID_37_);" d="M91.596,12.992l0.271,0.486c-0.021,0.01-0.034,0.014-0.034,0.014c-1.114,0.515-3.999,1.32-4.271,1.398c-0.271,0.08-0.166,0.234-0.166,0.234c0.029,0.078,0.988,1.106,0.988,1.106c1.178,1.249,0.494,2.296,0.494,2.296s-0.852,1.347-2.844,1.12c-1.993-0.227-2.618-1.767-2.729-2.049c-0.111-0.282-0.197-0.768-0.22-1.095c-0.022-0.33-0.272-0.32-0.272-0.32c-1.069-0.03-2.887,1.089-2.887,1.089c-0.824,0.47-1.682,1.147-3.479,1.958c-0.879,0.396-1.694,0.716-2.287,0.936l-0.967-0.173l0.091,0.482c-0.042,0.013-0.063,0.021-0.063,0.021s-2.268,0.822-4.529,1.553c-2.268,0.732-3.65,0.8-3.65,0.8s-1.336,0.12-2.266-0.266c-0.93-0.386-0.959-0.94-0.939-1.415c0.021-0.476,0.483-1.404,0.623-1.958c0.139-0.555-0.683-0.644-0.683-0.644s-1.958-0.236-3.65,0.296c-1.69,0.535-2.54,1.159-2.54,1.159c-0.91,0.512-0.863,0.957-0.863,0.957s-0.012,0.467,0.551,0.869s1.072,0.505,1.736,0.654c0.668,0.149,0.791,0.311,0.791,0.311c1.08,0.894,0.416,1.785,0.047,2.434c-0.631,1.113-3.674,1.653-3.674,1.653c-3.276,0.758-5.12,1.08-7.827,1.452l-0.876-0.46l-0.276,0.615c-7.089,0.936-10.065,1.877-11.065,2.135c-1,0.257-1.261,0.784-1.369,0.904c-0.108,0.12,0.079,0.171,0.079,0.171c0.427,0.137,0.647,0.442,0.647,0.442s1.399,1.697-0.012,3.108c-1.359,1.36-2.785,1.674-2.785,1.674s-2.177,0.737-4.077,0.341c-1.899-0.399-2.439-1.889-2.416-2.395c0.024-0.505,0.176-1.075,0.694-1.661c0.517-0.585,0.654-0.667,0.654-0.667s0.358-0.279,0.421-0.415c0.079-0.172-0.404-0.233-0.404-0.233c-1.034-0.13-3.496-0.097-5.822,0.131c-1.439,0.14-2.769,0.374-3.578,0.518l-0.223-0.48l-0.543,0.625l-3.12,0.504c-1.514,0.222-2.576-0.028-2.576-0.028s-1.331-0.397-1.479-1.252c-0.147-0.852,0.359-1.87,0.49-2.177c0.13-0.307,0.5-0.934,0.5-0.934s0.068-0.13,0.068-0.34c0-0.211-0.233-0.536-0.233-0.536s-0.205-0.396-0.886-0.38c-0.682,0.018-0.866,0.131-1.144,0.364c-0.044,0.038-0.079,0.081-0.108,0.127c0.021-0.064,0.045-0.117,0.073-0.158c0.21-0.309,0.65-0.668,1.401-0.7c0.748-0.034,1.041,0.228,1.041,0.228c0.719,0.82,0.115,1.845-0.351,2.76c-0.057,0.095-0.155,0.271-0.229,0.483c-0.032,0.076-0.062,0.153-0.087,0.227c-0.358,1.06,0.292,1.565,0.668,1.661c0.376,0.097,1.141,0.57,4.269-0.031c3.13-0.603,3.587-0.731,3.587-0.731s6.145-1.087,8.96-0.425l0.023,0.004c0,0,1.297,0.367,0.331,1.334c-0.966,0.966-1.729,1.617-1.504,2.377c0.223,0.762,1.267,1.903,3.646,1.603c0,0,0.842-0.113,1.105-0.165c1.733-0.336,2.899-1.268,2.899-1.268s0.972-0.721,0.782-1.631c-0.187-0.908-1.017-1.189-1.017-1.189s-0.659-0.424-0.141-1.237c0,0,0.141-0.69,2.553-1.317c2.412-0.626,6.813-1.518,10.555-1.989c3.49-0.408,9.652-1.575,10.89-2.08c1.235-0.508,1.497-1.4,1.521-1.708c0.024-0.31,0.072-0.83-1.14-1.09c-1.213-0.259-1.758-0.655-1.931-0.79c-0.172-0.138-0.545-0.483-0.545-1.275c0-0.791,1.607-1.745,3.392-2.35c1.78-0.606,3.927-0.34,3.927-0.34c1.948,0.167,0.936,1.963,0.936,1.963c-0.074,0.322-0.946,1.785,0.5,2.169c1.541,0.409,4.175-0.347,5.188-0.669c0.829-0.261,3.141-1.074,4.688-1.62c0.352-0.122,0.66-0.231,0.908-0.318c1.656-0.577,3.019-1.219,3.785-1.681c0.771-0.462,2.144-1.297,2.144-1.297s1.351-0.744,1.799-0.808c0.451-0.064,1.619-0.346,1.771,0.771c0.155,1.115,0.631,1.899,1.4,2.271c0.771,0.371,2.064,0.538,3.246-0.231c1.182-0.771,0.359-1.901,0.359-1.901c-0.021-0.028-0.039-0.057-0.062-0.085c-0.151-0.27-0.369-0.518-0.487-0.646c-0.388-0.47-0.736-0.822-0.736-0.822c-0.295-0.436,0.053-0.692,0.425-0.834c0.373-0.141,2.351-0.758,2.351-0.758c1.155-0.383,1.592-0.551,2.053-0.988c0.445-0.419-0.189-1.34-0.239-1.412l0.004-0.002l0.608,0.256c0.136,0.182,0.27,0.362,0.4,0.547l-0.007,0.005c0,0,0.226,0.527,0.054,0.799c-0.095,0.149-0.343,0.293-0.545,0.395L91.596,12.992L91.596,12.992z"/><linearGradient id="SVGID_38_" gradientUnits="userSpaceOnUse" x1="390.042" y1="485.6797" x2="390.042" y2="485.6797" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#FFF"/><stop offset=".6538" stop-color="#FFF"/><stop offset="1" stop-color="#CBCCCE"/></linearGradient><path style="fill:url(#SVGID_38_);" d="M-16.122-14.641"/><path style="opacity:.1;fill:#232323;" d="M57.455,92.28c-0.034-0.042-0.042-0.034-0.012-0.063c0.021-0.021,0.086-0.082,0.115-0.137c0,0-1.17-0.063-2.141,0.077c-0.962,0.137-1.933,0.335-1.933,0.335l0.301,0.146c0,0,0.127-0.055,1.047-0.183c0.921-0.128,1.267-0.128,1.267-0.128s0.808-0.063,0.969-0.063c0.162,0,0.061,0.104,0.061,0.104s-0.078,0.136,0.366,0.124c0,0,0.663-0.027,1.313-0.188C58.809,92.309,57.678,92.544,57.455,92.28z"/><path style="opacity:.1;fill:#232323;" d="M54.469,92.691c0,0,0.146,0.266-2.923,0.394c0,0,1.788,0.052,3.31-0.198C55.963,92.707,54.469,92.691,54.469,92.691L54.469,92.691z"/><path style="opacity:.1;fill:#232323;" d="M13.114,9.856c0,0-0.005,0.096,0.019,0.131c0.024,0.034,0.107,0.112,0.107,0.112s0.328-0.5,0.194-0.438c0,0-0.119,0.187-0.164,0.23c0,0-0.029,0.04-0.088,0.077C13.123,10.006,13.117,9.991,13.114,9.856L13.114,9.856z"/><path style="opacity:.1;fill:#232323;" d="M10.595,12.501c0,0-0.388,0.46,0,0.52l0.528-0.527c0,0,0.139-0.234,0.139-0.398C11.263,12.095,10.752,12.343,10.595,12.501L10.595,12.501z"/><path style="fill:#232323;" d="M-16.122-14.641"/><path style="fill:#6B6B6B;" d="M21.093,23.707c1.227,0.146,1.499-0.132,1.527-0.172c0.294-0.003,1.475-0.034,2.865-0.207c1.685-0.21,3.564-0.891,3.564-0.891s1.554-0.568,2.096-1.18l0.016-0.002c0,0-0.693-0.6-1.057-1.122c0,0-0.286-0.557,0.027-1.035c0.316-0.479,0.836-1.008,2.344-1.643c1.506-0.636,2.356-0.514,2.356-0.514s0.594-0.006,1.007,0.45c0.415,0.458,0.649,1.006,0.649,1.006s0.029,0.38-0.115,0.63c-0.141,0.251-0.155,0.277-0.155,0.277s0.049,0.017,0.378-0.007c0.329-0.021,1.165-0.142,2.67-0.506c1.508-0.363,3.407-0.972,3.407-0.972s4.9-1.578,5.407-1.714c0.507-0.135,1.357-0.436,1.357-0.436l0.027,0.059c0,0,0.405,0.663,0.392,1.269V16.94c0,0-0.021,0.301-0.698,0.818c-0.674,0.517-1.226,0.479-1.678,0.442c-0.452-0.039-0.665-0.071-0.794-0.045l-0.72,0.04c-0.787,0.111-1.224,0.407-1.224,0.407c-1.804,1.065,0.731,9.287,0.731,9.287c-3.742,0.47-8.143,1.363-10.555,1.989c-2.412,0.627-2.553,1.317-2.553,1.317c-0.519,0.813,0.141,1.236,0.141,1.236s0.829,0.283,1.017,1.19c0.19,0.91-0.783,1.629-0.783,1.629s-1.159,0.97-2.898,1.268c-1.738,0.298-2.396,0.35-3.429-0.47c-0.91-0.721-0.297-1.864,0.312-2.301c0.612-0.438,0.909-0.91,0.988-1.113c0.079-0.203,0.032-0.376,0.032-0.376l-0.58-0.534c-2.005-1.33-9.884,0.063-9.884,0.063c-0.213-1.169-0.362-1.171-0.282-3.117c0.051-1.244,0.291-1.752,0.291-1.752l0.058-0.164c0,0,0.448-1.443,1.141-2.44c0,0,0.602-0.172,1.364-0.349C20.616,23.793,21.093,23.707,21.093,23.707L21.093,23.707z"/><linearGradient id="SVGID_39_" gradientUnits="userSpaceOnUse" x1="231.2324" y1="-407.8711" x2="263.6191" y2="-407.8711" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#696969"/><stop offset=".3702" stop-color="#2E2E2E"/><stop offset=".4554" stop-color="#424242"/><stop offset=".6014" stop-color="#303030"/><stop offset=".6947" stop-color="#4A4A4A"/><stop offset="1" stop-color="#666666"/></linearGradient><path style="opacity:.45;fill:url(#SVGID_39_);" d="M49.855,16.94c0,0-4.085,1.326-3.891,1.254c0,0-0.39,0.075-0.686,0.161c-0.294,0.086-0.539,0.247-0.539,0.247s-3.288,1.222-6.438,1.848c-3.148,0.627-2.977-0.361-2.708-0.83c0.232-0.409,0.829-1.112-0.188-1.254c-1.019-0.14-1.788,0.251-2.21,0.439c-0.422,0.189-3.162,1.362-1.251,2.254c0,0,1.423,0.642-0.377,1.755c0,0-1.816,1.16-5.355,1.77c0,0-0.565,0.063-1.88,0.111c-1.316,0.046-2.558,0.213-4.12,0.658c-1.378,0.391-1.992,0.579-2.744,1.065l0.194-0.501l0.2-0.462c1.069-0.533,3.719-1.288,5.717-1.378c1.997-0.089,2.908-0.16,4.721-0.624c2.134-0.546,2.702-1.019,2.93-1.163c0.194-0.123,0.771-0.479,0.493-0.633c-0.359-0.199-0.895-0.729-0.895-0.729c-0.217-0.256-0.39-0.373-0.158-1.046c0.356-1.029,2.196-1.644,2.196-1.644s1.028-0.534,2.334-0.514c1.305,0.021,1.287,0.752,1.287,0.752s0.062,0.34-0.268,0.827c0,0-0.503,0.579-0.049,0.656c0.454,0.081,1.622,0.179,5.48-1.028c3.859-1.207,8.085-2.611,8.085-2.611S49.855,16.66,49.855,16.94L49.855,16.94z"/><linearGradient id="SVGID_40_" gradientUnits="userSpaceOnUse" x1="231.623" y1="-407.063" x2="263.4941" y2="-407.063" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#525252"/><stop offset=".1856" stop-color="#333333"/><stop offset=".354" stop-color="#AEAEAE"/><stop offset=".4199" stop-color="#ADADAD"/><stop offset=".4276" stop-color="#9D9D9D"/><stop offset=".4433" stop-color="#818181"/><stop offset=".4611" stop-color="#6A6A6A"/><stop offset=".4814" stop-color="#585858"/><stop offset=".506" stop-color="#4C4C4C"/><stop offset=".539" stop-color="#444444"/><stop offset=".6166" stop-color="#424242"/><stop offset=".6684" stop-color="#454545"/><stop offset="1" stop-color="#BDBDBD"/></linearGradient><path style="fill:url(#SVGID_40_);" d="M31.145,21.257c-0.541,0.612-2.096,1.18-2.096,1.18s-1.88,0.68-3.564,0.891c-1.608,0.201-2.777,0.209-2.777,0.209l-0.082-0.002c-0.175,0.145-0.483,0.188-0.728,0.21c-0.244,0.023-0.806-0.039-0.806-0.039s-2.156,0.432-2.603,0.616c0,0-0.253,0.392-0.331,0.539c-0.08,0.146-0.299,0.594-0.299,0.594c1.069-0.534,3.718-1.289,5.717-1.379c1.997-0.089,2.908-0.159,4.721-0.624c2.134-0.546,2.702-1.019,2.929-1.163c0.195-0.123,0.771-0.479,0.493-0.633c-0.358-0.199-0.894-0.729-0.894-0.729c-0.217-0.256-0.391-0.373-0.158-1.046c0.356-1.029,2.196-1.644,2.196-1.644s1.028-0.533,2.333-0.514c1.306,0.021,1.287,0.753,1.287,0.753s0.062,0.34-0.269,0.826c0,0-0.503,0.579-0.049,0.657c0.455,0.08,1.622,0.178,5.48-1.028c3.858-1.208,8.085-2.612,8.085-2.612c-0.098-0.29-0.296-0.652-0.296-0.652s-0.85,0.301-1.358,0.436c-0.506,0.136-5.407,1.714-5.407,1.714s-1.9,0.608-3.407,0.972c-1.506,0.364-2.342,0.485-2.671,0.508c-0.329,0.021-0.378,0.006-0.378,0.006s0.013-0.027,0.156-0.279c0.144-0.248,0.115-0.629,0.115-0.629s-0.235-0.548-0.649-1.006c-0.414-0.457-1.007-0.45-1.007-0.45s-0.849-0.121-2.355,0.514c-1.508,0.636-2.029,1.164-2.346,1.643c-0.312,0.478-0.026,1.035-0.026,1.035c0.365,0.521,1.057,1.122,1.057,1.122"/><linearGradient id="SVGID_41_" gradientUnits="userSpaceOnUse" x1="236.917" y1="-417.333" x2="235.8882" y2="-410.5272" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)"><stop offset="0" stop-color="#969696"/><stop offset="1" stop-color="#000"/></linearGradient><path style="opacity:.2;fill:url(#SVGID_41_);" d="M21.606,31.241c0,0-0.064-0.328,0.172-0.939c0.234-0.611,0.908-0.595,1.362-0.503c0.455,0.095,0.846,0.298,1.472-0.124c0.627-0.423,0.47-1.583,0.046-2.852c-0.423-1.267-0.328-2.128-0.328-2.128l-0.608-0.649l-0.237,0.696c0.047,1.316,0.657,3.226,0.829,3.759c0.173,0.533,0.297,0.8-0.735,0.517c-1.034-0.282-1.519,0.125-1.519,0.125c-1.332,0.862-1.082,2.161-1.082,2.161L21.606,31.241z"/><path style="opacity:.5;fill:#141414;" d="M27.498,36.633c-0.264-1.763-0.917-2.749-0.917-2.749c-0.25,0.188-0.513,0.693-0.513,0.693s0.179,0.208,0.471,1.568c0,0,0.141,0.106,0.438,0.279C27.273,36.597,27.498,36.633,27.498,36.633z"/><path style="opacity:.5;fill:#141414;" d="M33.152,32.881c0,0-0.78,0.907-0.378,2.336c0,0,0.454-0.379,0.585-0.68c0,0-0.145-0.458,0.138-1.017C33.5,33.52,33.37,33.1,33.152,32.881L33.152,32.881z"/><linearGradient id="SVGID_42_" gradientUnits="userSpaceOnUse" x1="428.7803" y1="532.0527" x2="429.5303" y2="524.4692" gradientTransform="matrix(1 0 0 1 -406.1641 -500.3203)"><stop offset="0" stop-color="#333333"/><stop offset=".431" stop-color="#000"/><stop offset="1" stop-color="#2E2E2E"/></linearGradient><path style="opacity:.18;fill:url(#SVGID_42_);" d="M21.2,31.253c0.017-1.299,0.471-1.492,0.905-1.818c0.436-0.328,1.326-0.024,1.326-0.024s0.678,0.218,1.046-0.1c0.369-0.319-0.017-1.467-0.217-2.123c-0.202-0.653-0.41-1.599-0.445-2.262c-0.025-0.489-0.091-0.707-0.125-0.789l-0.205,0.604c0.047,1.316,0.657,3.226,0.829,3.759c0.173,0.533,0.297,0.8-0.735,0.517c-1.035-0.282-1.519,0.125-1.519,0.125c-1.332,0.862-1.082,2.162-1.082,2.162l0.259-0.027L21.2,31.253L21.2,31.253z"/><path style="opacity:.3;fill:#505050;" d="M26.239,34.29c0.045,0.06,0.421,0.597,0.736,2.113l0.005,0.025c0.294,0.17,0.519,0.205,0.519,0.205c-0.264-1.763-0.917-2.749-0.917-2.749C26.46,33.977,26.336,34.143,26.239,34.29L26.239,34.29z"/><path style="opacity:.3;fill:#505050;" d="M33.152,32.881c0,0-0.78,0.907-0.378,2.336c0,0,0.125-0.104,0.262-0.248l0.021-0.051c-0.304-1.033,0.283-1.763,0.283-1.763l0.004-0.003C33.291,33.053,33.225,32.957,33.152,32.881z"/><path style="opacity:.88;fill:#231F20;" d="M17.159,8.189h0.117c-0.16,0.481-0.789,1.141-1.068,1.583c-0.156,0.248-0.252,0.572-0.474,0.751c0.038,0.043-0.003,0.003,0.04,0.04c0.088,0.052,0.813-0.139,0.95-0.236c0.082,0.015,0.076,0.011,0.12,0.039c0.042,0.07-0.481,0.991-0.595,1.109v0.04c0.196-0.023,0.502-0.056,0.634-0.16c0.383-0.299,0.47-0.937,0.75-1.346c-0.013-0.066-0.026-0.132-0.04-0.196c-0.222-0.04-0.681,0.02-0.87,0.157h-0.039c0.091-0.473,0.868-1.346,1.146-1.741c0.454-0.647,0.881-1.269,1.345-1.9c0.243-0.331,0.585-0.622,0.831-0.949c0.276-0.367,0.569-0.85,0.949-1.107V4.194h-0.158c-0.186,0.135-0.675,0.218-0.908,0.354c0.032,0.135,0.019,0.101,0.118,0.158c-0.139,0.386-0.598,0.673-0.832,0.991c-0.371,0.5-0.784,0.968-1.147,1.464c-0.123,0.164-0.205,0.421-0.356,0.553c-0.237,0.208-0.913,0.185-1.185,0.396h-0.08c0.056-0.332,0.907-1.392,1.147-1.622v-0.04c-0.408,0.057-0.724,0.273-0.989,0.473c0.044,0.091,0.037,0.073,0.12,0.12c-0.145,0.238-0.361,0.415-0.515,0.633c-0.197,0.275-0.305,0.602-0.514,0.871c0.014,0.04,0.028,0.077,0.04,0.118C15.948,8.641,17.001,8.307,17.159,8.189L17.159,8.189z M51.936,13.534c0.199,0.066,0.396,0.131,0.596,0.197c0.159,0.002,0.327-0.002,0.432-0.04c-0.009-0.654-0.364-0.913-0.593-1.345c-0.113-0.22-0.175-0.523-0.355-0.673c0.069-0.242,0.727-0.308,0.988-0.396c0.643-0.211,1.371-0.422,2.02-0.633c0.305-0.099,0.664-0.077,0.91-0.236c0.146,0.015,0.22,0.029,0.277,0.118c0.143,0.212,0.26,1.667,0.156,2.097c-0.398,1.663-0.896,2.963-1.938,3.958v0.039c0.385-0.062,0.568-0.436,0.83-0.632c1.051-0.794,1.762-1.972,2.137-3.444c0.221-0.865-0.14-1.713,0.199-2.452h-0.039c-0.074-0.188-1.082-0.553-1.388-0.555c-0.164,0.177-0.399,0.416-0.634,0.515c-0.357,0.152-0.838,0.109-1.146,0.315c-0.287-0.024-0.506-0.57-0.315-0.791c-0.011-0.09-0.009-0.112-0.04-0.158c-0.239-0.191-0.85-0.171-1.268-0.158c-0.133,0.125-0.252,0.15-0.314,0.358h-0.039c-0.021,0.076,0.02,0.05,0.039,0.078c0.025,0.016,0.163-0.007,0.236,0.04c0.449,0.047,0.438,0.566,0.675,0.831c-0.027,0.069-0.011,0.04-0.042,0.08c-0.155,0.123-1.301,0.453-1.543,0.515c-0.185,0.046-0.414-0.068-0.553-0.081c-0.336-0.028-0.633,0.16-0.831,0.277c0.107,0.157,0.434,0.118,0.554,0.276C51.368,12.193,51.556,12.913,51.936,13.534L51.936,13.534z M59.807,12.977c0.187,0.093,0.187,0.332,0.278,0.514c0.185,0.371,0.437,0.82,0.554,1.228v0.316c0.092,0.252,0.396,0.284,0.596,0.435c0.156-0.021,0.214-0.061,0.314-0.118c-0.066-0.753-0.525-1.378-0.791-1.979c-0.08-0.188-0.207-0.452-0.236-0.633c-0.021-0.109,0.063-0.169,0-0.276c-0.051-0.123-0.072-0.085-0.156-0.159c-0.059-0.04-0.031-0.016,0-0.078c0.068-0.144,0.213-0.287,0.275-0.436c0.133-0.313,0.127-0.576,0.396-0.751c-0.04-0.41-0.639-0.457-1.107-0.435c-0.057,0.042-0.156,0.064-0.24,0.077c0.05,0.103,0.082,0.124,0.199,0.157c0.113,1.161-0.699,2.225-1.229,2.928c-0.208,0.279-0.556,0.456-0.75,0.754h-0.04v0.038C58.395,14.473,59.54,13.383,59.807,12.977L59.807,12.977z M12.407,22.83c-0.081,0.017-0.076,0.009-0.117,0.039c-0.288,0.148-0.773,1.426-1.346,1.069c-0.292,0.002-0.319-0.055-0.476-0.16c0.02-0.376,0.659-1.063,0.913-1.226c0.031-0.604,0.187-1.252,0.118-1.819c-0.041-0.014-0.08-0.028-0.118-0.039c-0.14-0.046-0.25,0.168-0.357,0.276c-0.29,0.291-0.648,0.597-0.871,0.949c-0.337-0.003-1.414-0.013-1.623,0.119H8.411c0.099-0.256,0.86-1.096,0.633-1.464c-0.013-0.041-0.025-0.08-0.04-0.12c-0.722,0.002-1.592,1.287-1.82,1.82c-0.115,0.266-0.115,0.573-0.276,0.791v0.04c0.54-0.066,1.082-0.133,1.622-0.199c0.205-0.044,0.487,0.052,0.633-0.039h0.554c0.092-0.118,0.184-0.238,0.277-0.356c0.33-0.349,0.768-0.702,1.028-1.106h0.119v0.551c-0.303,0.273-0.773,0.695-0.91,1.108v0.316c-0.203,0.88,0.223,1.329,0.99,1.267c0.5-0.466,1.324-0.848,1.226-1.779C12.405,22.833,12.444,22.873,12.407,22.83L12.407,22.83z M7.819,22.118H7.58c0.109-0.436,0.537-0.935,1.069-0.95v0.197c-0.185,0.239-0.369,0.475-0.554,0.713C7.982,22.076,7.88,22.076,7.819,22.118z M93.044,22.315c-0.164-0.405-0.294-0.722-0.475-1.068c-0.3-0.574-0.613-1.414-1.464-1.425c-0.211,0.179-0.435,0.322-0.555,0.593c-0.777,1.762,0.819,3.747,1.543,4.71c0.256,0.339,0.557,0.712,0.948,0.908c-0.091,1.376-1.269,1.813-2.53,1.267c-0.899-0.386-1.617-1.237-2.179-1.979c-0.188-0.249-0.481-0.457-0.672-0.713c-0.177-0.239-0.304-0.507-0.515-0.713v-0.039h-0.078c0.107,0.426,0.354,0.815,0.514,1.188c0.669,1.538,1.52,2.614,2.811,3.521c0.608,0.428,1.621,1.104,2.494,0.475C94.412,27.942,93.669,23.851,93.044,22.315L93.044,22.315z M92.928,24.216c-0.104,0.1-0.539-0.419-0.635-0.515c-0.441-0.443-1.329-1.221-0.83-1.979h0.197c0.388,0.403,0.746,0.788,0.99,1.344c0.129,0.299,0.152,0.805,0.313,1.069C92.941,24.205,92.958,24.175,92.928,24.216L92.928,24.216z M66.693,32.128v-0.395c0.179-0.801,0.137-1.765,0.314-2.572c0.241-1.088-0.101-2.148,0.99-2.414c0.021-0.106,0.057-0.148,0-0.238c-0.025-0.067-0.009-0.039-0.04-0.079c-0.043-0.031-0.038-0.024-0.116-0.039c-0.305,0.222-1.131,0.373-1.543,0.474c-0.313,0.076-0.639,0.01-0.871,0.158c-0.039,0.013-0.078,0.027-0.119,0.04c0.014,0.079,0.025,0.159,0.041,0.237c0.451,0.147,0.867-0.031,1.067,0.356c0.13,0.252,0.112,1.157,0.039,1.504c-0.251,1.163-0.146,2.491-0.396,3.64c-0.086,0.397,0.022,1.171-0.157,1.463v0.08c-0.241-0.115-0.397-0.426-0.554-0.633c-0.354-0.467-0.875-0.84-1.229-1.305c-0.213-0.281-0.437-0.617-0.712-0.833c0.037-0.761,0.259-1.56,0.438-2.254c0.131-0.522,0.135-1.005,0.395-1.386c0.148-0.217,0.505-0.355,0.751-0.475c-0.002-0.1-0.004-0.146-0.04-0.198c-0.014-0.04-0.023-0.079-0.037-0.119c-0.543,0.081-1.003,0.341-1.505,0.475c-0.454,0.123-0.911,0.092-1.269,0.276c0.012,0.091,0.01,0.112,0.041,0.158c0.014,0.039,0.024,0.08,0.039,0.118c1.391-0.078,1.18,0.678,0.912,1.742c-0.084,0.326-0.029,0.775-0.199,1.028v0.079h-0.039c-0.285-0.433-0.713-0.852-1.067-1.227c-0.146-0.132-0.291-0.264-0.435-0.395c-0.104-0.137-0.16-0.312-0.278-0.436c0.024-0.437,0.38-0.549,0.713-0.672c-0.015-0.183-0.052-0.206-0.118-0.317c-1.031,0.151-1.927,0.73-3.086,0.791v0.041h-0.04c0.004,0.1,0.004,0.146,0.04,0.197v0.079c0.227,0.039,0.564-0.054,0.831,0.04c0.427,0.15,0.81,0.648,1.067,0.99c0.388,0.513,0.996,0.949,1.384,1.463c0.204,0.274,0.434,0.634,0.713,0.832c-0.038,0.696-0.229,1.428-0.396,2.058c-0.086,0.323-0.035,0.735-0.197,0.988c-0.025,0.069-0.01,0.039-0.041,0.08c-0.377-0.718-1.104-1.265-1.582-1.9c-0.918-1.22-1.938-2.319-2.889-3.521c0-0.167,0.01-0.268,0.08-0.356c0.073-0.229,0.359-0.443,0.633-0.476c0.015-0.12,0.033-0.135-0.039-0.238c-0.016-0.038-0.026-0.077-0.041-0.118c-0.803,0.123-1.521,0.497-2.293,0.714c-0.401,0.112-0.928,0.057-1.229,0.276c-0.04,0.013-0.08,0.026-0.117,0.04c0.021,0.152,0.061,0.176,0.117,0.277c0.314-0.005,0.646-0.092,0.949,0c0.793,0.241,1.361,1.137,1.818,1.742c0.201,0.266,0.513,0.483,0.713,0.751c0.849,1.129,1.808,2.146,2.65,3.285c0.328,0.442,0.771,0.825,1.066,1.304c0.179-0.004,0.216-0.025,0.316-0.079c0.213-0.929,0.332-1.866,0.596-2.81c0.119-0.432,0.269-0.942,0.314-1.424c0.327,0.117,0.592,0.607,0.793,0.871c0.618,0.821,1.491,1.502,2.057,2.373c0.164-0.007,0.182-0.026,0.277-0.078C66.352,34.819,66.521,33.473,66.693,32.128L66.693,32.128z M4.297,38.894c-0.013,2.467-0.142,6.269,1.781,6.806c0.7,0.193,1.087-0.271,1.306-0.595c0.786-1.17,0.565-3.446-0.199-4.43c-0.339,0.034-0.825,0.84-0.988,1.106c-0.082-0.016-0.075-0.011-0.119-0.04c-0.091-0.041-0.085-0.066-0.159-0.118c-0.06-0.933,0.127-1.802,0.159-2.691c1.044,0.102,1.941,0.696,3.007,0.751c-0.001-0.185,0-0.434,0.077-0.552c-0.009-0.092-0.007-0.112-0.04-0.16c-0.145-0.115-0.949-0.306-1.186-0.315v-0.04h-0.04c0.146-1.174-0.186-2.082-0.99-2.414c-0.449-0.08-0.897-0.16-1.346-0.239c-0.229-0.083-0.341-0.266-0.514-0.395c-0.058-0.38-0.133-0.806,0.159-1.029c-0.021-0.142-0.032-0.168-0.119-0.238v-0.039h-0.04c-0.133,0.228-0.245,0.493-0.315,0.792c-0.234,0.983,0.309,1.818,0.909,2.018c0.397,0.065,0.792,0.132,1.188,0.197c0.314,0.122,0.453,0.379,0.671,0.595c-0.009,0.512-0.5,0.568-0.91,0.435c-0.64-0.208-1.321-0.353-1.977-0.592c-0.172-0.064-0.333-0.17-0.555-0.199c-0.027,0.25-0.054,0.501-0.08,0.751c0.554,0.171,1.109,0.343,1.662,0.515c-0.023,1.398-0.574,3.074,0.119,4.153c0.084,0.021,0.143,0.037,0.198,0.08c0.78-0.054,0.943-0.68,1.345-1.108c0.342,0.82,0.086,2.253-0.671,2.453c-0.326,0.224-0.803-0.066-0.989-0.237c-0.648-0.599-0.785-1.511-1.027-2.532c-0.083-0.344,0.033-1.042-0.118-1.307c0.006-0.404,0.092-1.134-0.12-1.344v-0.039L4.297,38.894L4.297,38.894z M99.336,45.543c-0.143-0.666,0.055-1.478-0.08-2.097v-0.633c-0.097-0.453-0.059-1.056-0.156-1.502c-0.189-0.882-0.022-1.926-0.355-2.652c-0.197-0.047-0.393-0.084-0.671-0.08c-0.103,0.104-0.179,0.158-0.159,0.278c0.083,0.359,0.547,0.432,0.673,0.792c0.015,0.172,0.026,0.343,0.04,0.514c0.133,0.561,0.111,1.286,0.236,1.86v0.475c0.063,0.289,0.16,1.036,0.078,1.267c-0.139,0.41-0.584,0.78-0.868,1.068c-0.754,0.755-1.64,1.715-2.97,1.859c-0.025,0.068-0.01,0.039-0.041,0.08c0.022,0.494,0.476,0.396,0.793,0.594c0.08-0.014,0.158-0.028,0.236-0.042c0.122-0.074,0.191-0.242,0.276-0.356c0.2-0.261,0.563-0.399,0.751-0.671h0.04c0.002,1.205,0.028,2.561,0.04,3.718h0.117c0.272-1.172,0.252-2.61,0.238-4.039c0.521-0.486,0.853-1.19,1.385-1.66v-0.078h0.041c0.007,1.251,0.037,2.529,0.037,3.797c0,0.407-0.102,1.378,0,1.544v0.237h0.08c0.106-0.425,0.133-1.023,0.236-1.501v-0.674C99.451,47.107,99.45,46.078,99.336,45.543L99.336,45.543z M28.313,48.073c-0.347-0.144-0.776-0.461-0.989-0.751c-0.637-0.875-1.337-2.948-0.87-4.51c0.379-1.266,1.202-2.127,2.532-2.454c0.673-0.163,1.397,0.062,1.821,0.278c1.208,0.622,1.725,1.506,2.096,2.967c0.48,1.887-0.132,3.619-1.385,4.194c0.078,0.764,0.158,1.529,0.237,2.295c0.444-0.013,0.852-0.105,1.227-0.199c0.629-0.155,1.271-0.176,1.86-0.315c0.431-0.104,1.052-0.015,1.384-0.237c0.079-0.17-0.247-1.35-0.315-1.623c-0.057-0.229-0.009-0.461-0.119-0.633v-0.079c-0.091,0.012-0.185,0.025-0.277,0.039c0.018,1.195-0.834,1.032-1.781,1.267c-0.473,0.119-1.049,0.27-1.581,0.276c0-0.17,0-0.343-0.001-0.514c0.045-0.083,0.739-0.386,0.868-0.476c0.461-0.318,0.931-0.826,1.229-1.304c0.202-0.327,0.366-0.764,0.473-1.149c0.138-0.489,0.154-1.17,0.041-1.662c-0.079-0.338-0.048-0.603-0.158-0.91c-0.427-1.187-1.322-2.054-2.453-2.532c-0.513-0.216-1.093-0.224-1.7-0.356c-0.539-0.116-1.509,0.124-1.901,0.238c-1.905,0.562-3.198,1.48-3.799,3.323c-0.236,0.728-0.163,1.736,0.04,2.414c0.467,1.561,1.773,3.02,3.72,3.047v0.039c0.062,0.088,0.06,0.264,0.118,0.355c-0.024,0.067-0.009,0.039-0.04,0.08c-0.164,0.111-0.404,0.061-0.633,0.117c-0.47,0.118-1.986,0.486-2.334,0.158c-0.222-0.072-0.37-0.363-0.396-0.632c-0.099,0.004-0.146,0.004-0.197,0.039h-0.082c0.146,0.767,0.291,1.53,0.435,2.296h0.041v0.04c1.385-0.239,2.77-0.478,4.154-0.713c-0.198-0.728-0.395-1.451-0.593-2.179C28.873,48.139,28.517,48.159,28.313,48.073L28.313,48.073z M96.014,43.682c0.086,0.218,0.254,0.58,0.435,0.712c0.086,0.063,0.132,0.04,0.198,0.119c1.31,0.113,1.842-2.143,1.308-3.442c-0.095-0.225-0.517-0.885-0.911-0.633h-0.08c0.026-0.069,0.01-0.038,0.04-0.08c-0.001-0.188-0.021-0.25-0.077-0.356c-0.08-0.013-0.156-0.026-0.238-0.038c-0.039,0.031-0.01,0.014-0.078,0.038c0.027,0.24,0.111,0.247,0.119,0.514C96.09,41.099,95.545,42.497,96.014,43.682z M96.446,41.585c0.088-0.213,0.265-0.35,0.396-0.515c0.082-0.015,0.075-0.01,0.117-0.04c0.301-0.001,0.385,0.057,0.555,0.159c0.301,0.711,0.346,1.954-0.156,2.494c-0.077,0.085-0.229,0.116-0.315,0.197C96.214,43.817,96.146,42.305,96.446,41.585L96.446,41.585z M78.092,57.168c-0.445-0.273-0.507-1.675-0.673-2.294c-0.327-1.215-0.483-2.489-0.831-3.72c-0.223-0.788-0.523-1.605-0.435-2.572c0.139-0.138,0.231-0.32,0.396-0.436c0.223-0.154,0.58-0.229,0.752-0.436c0.027-0.051-0.019-0.128-0.041-0.238c-0.459,0.074-0.879,0.35-1.267,0.515c-0.792,0.337-1.567,0.536-2.373,0.87c-0.252,0.104-0.515,0.282-0.833,0.315v0.238c0.027,0.014,0.055,0.025,0.08,0.04c0.042,0.045,1.033-0.392,1.346-0.118c0.356,0.125,0.311,0.59,0.514,0.872c-0.061,0.614-0.672,1.558-0.912,2.097c-0.58,1.326-1.17,2.592-1.816,3.836c-0.248,0.477-0.543,1.334-0.871,1.701v0.039c-0.216-0.296-0.199-1.051-0.314-1.462c-0.353-1.235-0.578-2.591-0.951-3.798c-0.068-0.23-0.305-1.279-0.156-1.503c0.051-0.546,0.822-0.785,1.266-0.95c-0.012-0.092-0.024-0.186-0.039-0.277c-0.701,0.105-1.429,0.479-2.058,0.713c-0.595,0.223-1.14,0.313-1.741,0.516c-0.298,0.102-0.636,0.275-0.986,0.314v0.041h-0.041c0.015,0.112,0.025,0.172,0.078,0.237c0.162,0.107,1.03-0.352,1.386-0.077c0.557,0.19,0.573,1.075,0.752,1.66c0.481,1.579,0.728,3.327,1.187,4.947c0.115,0.404,0.391,1.686,0.119,2.018c-0.148,0.439-0.885,0.615-1.306,0.791c0.014,0.08,0.024,0.159,0.036,0.237c0.609-0.09,1.162-0.373,1.707-0.56c1.063-0.354,2.066-0.65,3.089-1.029c-0.017-0.092-0.027-0.186-0.041-0.275c-0.437,0.116-0.773,0.248-1.386,0.236c-0.08-0.068-0.157-0.133-0.235-0.199c-0.067-0.21-0.134-0.422-0.199-0.632c0.043-0.499,0.683-1.421,0.91-1.86c0.673-1.293,1.262-2.6,1.856-3.955c0.229-0.519,0.754-1.275,0.832-1.857c0.184,0.111,0.133,0.438,0.197,0.672c0.135,0.475,0.211,0.98,0.355,1.503c0.281,1,0.391,2.075,0.673,3.126c0.104,0.387,0.261,1.048,0.08,1.464c-0.179,0.404-0.841,0.673-1.267,0.83c0.017,0.084,0.037,0.183,0.08,0.238c0.004,0.007,0.906-0.288,1.064-0.354c1.104-0.471,2.236-0.959,3.361-1.386c-0.015-0.093-0.024-0.187-0.039-0.274C79.117,57.043,78.477,57.407,78.092,57.168L78.092,57.168z M96.803,60.498c-0.143,0.13-0.354,0.163-0.514,0.277c-0.501,0.359-1.025,0.962-1.385,1.463c-0.288,0.402-0.534,0.843-0.791,1.268c-0.112,0.188-0.137,0.402-0.277,0.553v0.08c0.346-0.059,0.549-0.283,0.792-0.436c0.659-0.408,1.249-0.781,1.858-1.225c0.295-0.217,0.515-0.551,0.83-0.754c0.029-0.473,0.125-0.844-0.077-1.188C97.115,60.512,96.975,60.496,96.803,60.498z M96.329,61.921c-0.239,0.177-0.47,0.423-0.712,0.595c-0.208,0.146-0.458,0.224-0.633,0.396h-0.04c0.13-0.408,0.817-1.107,1.146-1.344c0.17-0.124,0.383-0.157,0.557-0.279h0.156c0.036,0.046,0.034,0.044,0.08,0.08C96.846,61.667,96.523,61.774,96.329,61.921L96.329,61.921z M10.825,63.465c-0.166-0.502-0.278-0.99-0.435-1.465c-0.079-0.246-0.062-0.525-0.199-0.713v-0.118c0.269,0.097,0.679,0.087,0.911,0.238h0.201c-0.045-0.206-0.086-0.552-0.201-0.713c-0.12-0.195-0.886-0.197-1.106-0.354c-0.312-0.244-0.607-0.947-0.832-1.307c-0.56-0.887-1.302-1.832-2.137-2.453c-0.443-0.329-0.751-0.671-1.544-0.673c-0.092,0.065-0.185,0.132-0.276,0.198c-0.178,0.789,0.139,2.248,0.592,2.611v0.078c-0.189-0.051-0.393-0.152-0.514-0.275h-0.04c0.007,0.227,0.051,0.522,0.158,0.672c0.046,0.195,0.362,0.354,0.554,0.396c0.248,1.037,0.592,2.101,0.95,3.05c0.289,0.758,0.436,1.48,0.75,2.213c0.155,0.356,0.522,0.617,0.634,0.99h0.117c-0.089-0.334-0.271-0.646-0.394-0.949c-0.364-0.875-0.653-1.804-0.952-2.688C6.868,61.62,6.734,61.057,6.548,60.5c-0.069-0.21-0.049-0.427-0.158-0.595v-0.039c0.269,0.049,0.43,0.188,0.634,0.276c0.461,0.201,0.903,0.277,1.385,0.476c0.353,0.146,0.796,0.347,1.228,0.396c0.048,0.359,0.253,1.301,0.435,1.545v0.117c-0.602-0.412-0.589-1-1.663-0.91c-0.054,0.063-0.128,0.117-0.197,0.158c-0.098,0.244-0.104,0.646,0,0.909c0.257,0.646,1.072,1.991,1.741,2.179c0.257,0.184,0.634-0.043,0.75-0.24c0.242,0.127,0.293,0.682,0.395,0.951c0.212,0.558,0.522,1.289,1.031,1.543v0.041h0.083c-0.066-0.447-0.318-0.851-0.475-1.229C11.387,65.223,11.113,64.324,10.825,63.465L10.825,63.465z M9.678,60.26C9.26,60.23,8.905,60.067,8.57,59.945c-0.894-0.332-1.703-0.615-2.492-0.991c-0.095-0.358-0.76-1.644-0.396-2.095c0.026-0.04,0.053-0.081,0.079-0.12c0.081-0.019,0.077-0.011,0.119-0.039c1.219,0.146,2.442,1.629,3.046,2.452c0.236,0.32,0.43,0.799,0.752,1.029V60.26L9.678,60.26z M10.311,63.701c-0.12,0.146-0.237,0.291-0.356,0.436c-0.105,0.078-0.223,0.109-0.316,0.198c-0.68-0.021-0.704-0.686-0.989-1.108c0.005-0.389,0.152-0.39,0.315-0.594c0.092-0.007,0.112-0.007,0.158-0.037c0.614,0.004,0.753,0.278,1.109,0.515C10.29,63.344,10.327,63.445,10.311,63.701L10.311,63.701z M33.578,69.794c-0.165-0.271-0.49-0.342-0.713-0.554c-0.069-0.023-0.04-0.007-0.079-0.039c0.51-0.264,1.053-0.555,1.583-0.79c0.142,0.158,0.801,0.792,1.029,0.671c0.04-0.012,0.079-0.023,0.118-0.038c-0.013-0.224-0.025-0.448-0.04-0.673c-0.499-0.498-1.234-0.91-2.059-1.066v0.039h-0.039c0.093,0.273,0.398,0.534,0.636,0.672v0.119c-0.469,0.068-0.885,0.295-1.307,0.437c-0.289,0.093-0.638,0.08-0.873,0.235h-0.117c0.171-0.479,0.737-0.871,1.028-1.267c0.576-0.776,1.033-1.728,1.94-2.176c-0.024-0.365-1.076-1.12-1.464-0.871c-0.097,0.051-0.029-0.021-0.079,0.078c-0.059,0.144,0.137,0.321,0.079,0.554c-0.076,0.305-0.831,1.74-1.029,1.9v0.041c-0.408-0.139-0.718-0.523-1.107-0.713c0.069-0.364,0.375-0.644,0.554-0.91c0.453-0.684,0.816-1.335,1.503-1.782c-0.006-0.526-0.855-1.075-1.425-1.065c0.002,0.242,0.125,0.379,0.08,0.592c-0.14,0.646-0.435,1.297-0.672,1.861c-0.156,0.364-0.226,0.799-0.476,1.065c-0.054,0.03-0.492-0.006-0.594-0.077c-0.149-0.002-0.298,0.005-0.394,0.038v0.079c0.666,0.645,1.387,0.865,2.295,1.268c-0.126,0.655-0.786,1.092-1.108,1.584c-0.166,0-0.3-0.011-0.395-0.08c-0.091,0.017-0.098,0.021-0.158,0.041c0.016,0.582,0.5,1.077,0.987,1.188c0.327-0.366,0.737-0.543,1.228-0.751c0.449,0.468,0.578,1.137,0.751,1.897c0.075,0.332-0.047,0.697,0.04,0.988c0.152,0.514,0.426,0.667,0.672,1.027h0.277c0.174-0.93-0.253-1.832-0.475-2.571C33.71,70.43,33.644,70.111,33.578,69.794L33.578,69.794z M96.09,63.108c-0.238,0.202-0.57,0.296-0.83,0.475c-0.4,0.282-0.758,0.659-1.146,0.95c-0.177,0.134-0.435,0.253-0.556,0.436c-0.199,0.299-0.16,0.806-0.396,1.067v0.157c0.314-0.114,0.464-0.483,0.713-0.672c0.307-0.23,0.563-0.536,0.87-0.754c0.192-0.133,0.411-0.207,0.594-0.355c0.125,0.023,0.115,0.037,0.199,0.081c-0.021,1.005-0.549,1.714-0.871,2.454c-0.093,0.215-0.121,0.551-0.276,0.71c-0.074,0.076-0.229,0.094-0.314,0.157c-0.264,0.291-0.528,0.58-0.794,0.873c-0.25,0.344-0.365,0.803-0.632,1.146c-0.002,0.114-0.002,0.216,0.037,0.276c0.041,0.031,0.11,0.059,0.16,0.08c0.51-0.483,1.004-0.887,1.424-1.465c0.658-0.904,0.986-2.047,1.465-3.125c0.3-0.683,0.734-1.354,0.711-2.334c-0.047-0.045-0.084-0.102-0.117-0.158L96.09,63.108L96.09,63.108z M93.32,69.361V69.4h-0.04c0.069-0.475,0.43-0.606,0.596-0.952h0.079C93.904,68.842,93.605,69.194,93.32,69.361L93.32,69.361z M34.171,69.993c-0.08,0.342,0.76,1.106,1.027,1.308c0.133,0.1,0.312,0.328,0.515,0.235c0.104-0.008,0.136-0.019,0.199-0.04c0.046-0.105,0.115-0.24,0.039-0.354C35.93,70.645,34.64,70.088,34.171,69.993z M37.97,73.037c0.067,0.034,0.122,0.021,0.198-0.039c0.139-0.113,0.063-0.313,0.159-0.475c0.222-0.159,0.615-0.118,0.911-0.199c0.809-0.213,1.753-0.198,2.65-0.396c0.425-0.093,1.128,0.16,1.464-0.037c0.04-0.016,0.081-0.026,0.118-0.043c-0.019-0.517-1.009-0.737-1.545-0.588c-0.237,0.066-0.513,0.213-0.751,0.275c-0.185,0.014-0.37,0.027-0.555,0.038c-0.062-0.644-0.38-1.144-0.395-1.817c0.595-0.013,1.341-0.091,1.739-0.316c-0.008-0.2-0.045-0.2-0.118-0.314c-0.453-0.107-1.23-0.126-1.583,0.116c-0.1-0.004-0.147-0.004-0.197-0.039c-0.221-0.28-0.116-0.851-0.316-1.146v-0.158c0.426-0.092,1.122-0.168,1.345-0.475c0.031-0.041,0.014-0.011,0.039-0.078c-0.036-0.035-0.051-0.068-0.079-0.119c-0.619-0.156-0.887-0.049-1.423,0.158c-0.167-0.535,0.034-0.959-0.514-1.108c0.117-0.203,0.506-0.194,0.751-0.276c0.382-0.126,0.817-0.296,1.148-0.474c0.026-0.068,0.007-0.04,0.04-0.08c-0.022-0.2-0.078-0.193-0.159-0.316c-0.571-0.044-1.027,0.011-1.346,0.316h-0.076c0.047-0.295,0.231-0.718,0.394-0.949c0.112-0.162,0.318-0.14,0.396-0.356h0.04V64.1c-0.081-0.104-0.159-0.211-0.238-0.314c-0.186-0.13-0.454-0.143-0.632-0.279c-0.263-0.004-0.515-0.003-0.672,0.079c0.021,0.152,0.089,0.248,0.119,0.356c0.109,0.408-0.284,1.669-0.436,1.859c-0.123,0.154-1.551,0.672-1.939,0.555c-0.092-0.029-0.36-0.164-0.435-0.239c-0.032-0.039-0.015-0.008-0.04-0.077c0.561-0.527,0.965-1.702,1.741-1.939c0.014-0.064,0.027-0.131,0.041-0.196c-0.194-0.2-1.135-1.188-1.622-0.871c-0.04,0.014-0.079,0.022-0.117,0.038c0,0.338,0.168,0.593,0.078,0.949c-0.182,0.711-0.587,1.556-0.95,2.139c-0.218,0.35-0.693,0.729-0.712,1.229c0.646-0.064,0.802-0.731,1.304-0.912c0.146,0.135,0.29,0.267,0.436,0.396c0.207,0.311,0.168,0.778,0.276,1.186c0.185,0.856,0.371,1.715,0.554,2.571c0.025,0.425,0.052,0.845,0.08,1.269C37.246,72.28,37.561,72.945,37.97,73.037L37.97,73.037z M39.233,70.032c0.031,0.368,0.258,1.407,0.436,1.662c0.001,0.024,0.001,0.054,0.001,0.08c-0.477,0.102-0.973,0.239-1.504,0.237c-0.082-0.564-0.352-1.061-0.355-1.662C38.418,70.338,38.731,70.094,39.233,70.032z M36.939,66.75c0.063-0.107,1.113-0.273,1.228-0.199c0.42,0.195,0.27,0.813,0.514,1.188c-0.083,0.194-1.047,0.487-1.345,0.514C37.283,67.834,37.213,66.977,36.939,66.75L36.939,66.75z M38.76,68.253h0.04c0.076,0.36,0.119,0.978,0.317,1.267c-0.142,0.348-1.016,0.317-1.346,0.516c-0.138-0.083-0.32-1.076-0.316-1.346C37.757,68.662,38.541,68.402,38.76,68.253L38.76,68.253z M31.914,70.506c-0.06,0.135-0.053,0.354-0.117,0.514c-0.342,0.84-0.454,1.015,0.079,1.82c0.237,0,0.269-0.037,0.396-0.119C32.429,72.064,32.454,70.814,31.914,70.506L31.914,70.506z M77.023,70.744c-1.154-0.285-2.125,0.285-3.325,0.199c-0.114-0.121-0.2-0.19-0.275-0.356c-0.835,0.024-1.757,1.886-0.909,2.453c0.453,0.308,1.744,0.129,2.295,0c0.306-0.071,0.783-0.139,1.027,0.038c0.332,0.247,0.273,1.182,0.157,1.703c-0.132,0.975-0.265,1.951-0.396,2.929c-0.117,0.593-0.236,1.185-0.356,1.779c0.606-0.003,1.178-0.623,1.349-1.069c0.1-0.258,0.047-0.502,0.119-0.791c0.209-0.83,0.237-1.82,0.436-2.689c0.127-0.563,0.041-1.1,0.156-1.621c0.086-0.393,0.143-1.696,0.041-2.059C77.281,71.059,77.126,70.901,77.023,70.744z M22.857,82.695c-0.135-0.102-0.229-0.283-0.356-0.395c-0.473-0.42-1.029-0.826-1.543-1.188c-0.426-0.298-1.008-0.476-1.387-0.829c-0.01-0.086,0.123-0.296,0.041-0.516c-0.335-0.896-1.589-1.933-2.374-2.412c-0.363-0.225-0.972-0.328-1.305-0.555c-0.246-0.017-0.374-0.025-0.435,0.155c-0.097,0.218,0.209,0.521,0.315,0.675c0.271,0.381,0.581,0.826,0.95,1.104c0.276,0.209,0.591,0.392,0.83,0.635h0.119c-0.154-0.426-0.609-0.657-0.949-0.909c-0.311-0.229-0.449-0.632-0.712-0.909c0.021-0.125,0.035-0.115,0.08-0.199c1.093,0.009,1.802,1.012,2.294,1.662c0.22,0.291,0.571,0.461,0.594,0.951c-0.116,0-0.216,0-0.276-0.041h-0.119c0.188,0.522,0.824,0.479,1.267,0.754c0.888,0.549,1.603,1.409,2.373,2.094c0.262,0.234,0.719,0.466,0.791,0.873c-0.537-0.028-0.917-0.327-1.261-0.555c-0.614-0.4-1.597-1.1-2.019-1.662c-0.08-0.104-0.106-0.263-0.199-0.355c-0.109-0.111-0.261-0.145-0.355-0.275h-0.158c-0.039,0.41,0.407,0.705,0.671,0.948c0.819,0.75,1.696,1.442,2.73,1.979c0.373,0.191,1.053,0.521,1.465,0.275C23.874,83.434,23.227,82.975,22.857,82.695L22.857,82.695z M47.226,85.307c-2.014-1.379-4.985-2.775-8.427-2.689c-0.167,0.104-0.503,0.021-0.711,0.078c-0.288,0.076-0.464,0.223-0.672,0.355c-0.008,0.971,1.446,1.496,2.255,1.698c0.483,0.123,0.909-0.104,1.188-0.198c0.215-0.82-0.776-0.94-1.227-1.347h-0.081v-0.038c3.036-0.119,5.308,0.729,7.043,2.02c0.433,0.322,0.93,0.783,1.148,1.306c0.081,0.194,0.116,0.515,0,0.674c-0.159,0.44-0.685,0.401-1.188,0.515c-1.162,0.267-2.755-0.391-3.285-0.91c-0.108,0.189,0.049,0.48-0.118,0.674c-0.176,0.478-0.788,0.354-1.346,0.474c-0.917,0.199-2.353-0.271-2.888-0.632c-0.149-0.104-0.257-0.286-0.396-0.396c-0.007-0.103-0.018-0.136-0.041-0.199c0.081-0.073,0.177-0.187,0.237-0.275c1.139-0.085,1.718-0.027,2.376,0.596c-0.017,0.078-0.01,0.073-0.041,0.114c-0.074,0.152-0.245,0.17-0.474,0.161v0.074c0.417,0.004,0.593-0.059,0.83-0.197c0.013-0.079,0.027-0.159,0.04-0.236c-0.136-0.141-0.231-0.328-0.396-0.438c-0.65-0.426-1.991-0.641-2.729-0.156c-0.116,0.561,0.232,0.864,0.554,1.105c0.646,0.488,1.191,0.771,2.098,1.029c0.291,0.082,0.55,0.008,0.871,0.076c0.28,0.064,0.765,0.079,1.068,0c0.504-0.128,1.205-0.658,0.632-1.268v-0.037c0.299,0.109,0.544,0.402,0.831,0.556c0.761,0.397,2.021,0.726,3.167,0.476c0.562-0.125,1.143-0.125,1.303-0.635c0.179-0.277-0.068-0.668-0.156-0.826C48.322,86.151,47.836,85.721,47.226,85.307L47.226,85.307z M39.906,83.485c0.14,0.094,0.22,0.291,0.356,0.396c-0.003,0.1-0.004,0.148-0.04,0.199c-0.257,0.697-1.706,0.182-2.058-0.081c-0.11-0.08-0.153-0.248-0.236-0.354c0.015-0.082,0.01-0.076,0.041-0.116c0.108-0.306,0.417-0.203,0.671-0.354C39.142,83.174,39.596,83.274,39.906,83.485z M76.625,83.881h-0.396c-0.262,0.209-0.692,0.236-0.991,0.396c-0.263,0.141-0.581,0.332-0.829,0.515c-0.207,0.148-0.326,0.418-0.516,0.592c0.004,0.197,0.008,0.229,0.16,0.277c0.039,0.029,0.01,0.018,0.075,0.04c0.042-0.047,0.08-0.063,0.12-0.12c0.033-0.023-0.027-0.104-0.04-0.232c0.384-0.386,0.667-0.598,1.228-0.832c0.144-0.059,0.447-0.233,0.634-0.119h0.079c-0.026,0.391-0.916,1.591-1.188,1.781v0.115c0.729-0.188,1.215-1.643,1.702-2.174c-0.013-0.09-0.01-0.111-0.04-0.157L76.625,83.881L76.625,83.881z M73.459,86.809c-0.234,0.209-0.807,0.229-1.066,0.435h-0.041c0.104-0.149,0.291-0.213,0.396-0.354c0.076-0.104,0.107-0.226,0.197-0.315c-0.018-0.081-0.01-0.075-0.039-0.117v-0.08c-1.155-0.212-3.084,0.784-3.68,1.308c-0.155,0.135-0.248,0.336-0.396,0.477c0.003,0.111,0.016,0.168,0.039,0.236c0.701,0.047,2.016-0.383,2.174-0.949c0.031-0.025,0.012-0.002,0-0.04v-0.079c-0.479-0.027-1.124,0.075-1.422,0.355h-0.039c0.26-0.396,1.223-0.746,1.739-0.91c0.172-0.053,0.55-0.149,0.714-0.039c0.037,0.015,0.077,0.025,0.117,0.039c-0.094,0.396-0.657,0.838-1.029,0.949v0.08c0.607-0.141,1.163-0.416,1.7-0.634c0.368-0.149,0.786-0.188,1.108-0.396c0.229-0.149,1.008-1.207,1.068-1.504C74.086,85.409,74.012,86.313,73.459,86.809L73.459,86.809z M70.333,87.6v0.119c-0.075,0.049-0.129,0.156-0.198,0.196c-0.205,0.12-0.479,0.106-0.674,0.238c-0.09-0.011-0.109-0.009-0.156-0.041h-0.039C69.373,87.775,70.025,87.621,70.333,87.6L70.333,87.6z M53.835,91.317c0.015-0.037,0.025-0.078,0.039-0.117c-0.976-0.04-1.953-0.079-2.927-0.119c-0.123,0.082-0.312,0.035-0.475,0.079c-0.202,0.059-0.426,0.15-0.593,0.239c0.026,0.067,0.008,0.038,0.04,0.077c0.238,0.188,1.624,0.199,1.9,0h0.078v-0.077c-0.419-0.134-1.183,0.2-1.503,0h-0.041v-0.041c1.052-0.073,2.23-0.044,3.325-0.04c-0.105,0.072-0.328,0.051-0.436,0.119c-0.039,0.014-0.078,0.027-0.117,0.039v0.08c0.238,0.037,0.475,0.078,0.711,0.117c0.037,0.041-0.004,0.004,0.039,0.037c-0.35,0.233-1.254,0.139-1.581-0.037v-0.08c-0.178-0.082-0.991,0.084-1.148,0.117c-0.133,0.03-0.27-0.014-0.357,0.039c-0.165,0.01-0.181,0.029-0.276,0.079c0.022,0.128,0.035,0.115,0.08,0.198c0.255,0.06,0.696,0.064,0.987,0.156v-0.039h0.04v-0.039c-0.148-0.057-0.559-0.025-0.713-0.115h-0.079c0.132-0.104,1.425-0.278,1.663-0.119c0.067,0.023,0.039,0.007,0.079,0.039c-0.211,0.038-0.424,0.08-0.634,0.117c0.025,0.066,0.009,0.039,0.04,0.078c0.065,0.045,0.193,0.045,0.316,0.039c-0.04,0.074-0.054,0.109-0.119,0.158c0.013,0.023,0.027,0.051,0.04,0.078c0.561,0,1.031-0.057,1.502-0.156c0.28-0.062,0.624,0.052,0.831-0.08h0.317v-0.078c-0.539-0.002-1.885-0.055-2.215,0.158h-0.117c0.033-0.043-0.004-0.004,0.038-0.041c0.155-0.18,0.471-0.09,0.75-0.156c0.44-0.104,1.168-0.284,1.544,0c0.105,0.064,0.04-0.008,0.039,0.117c0.107-0.002,0.181-0.002,0.236-0.036h0.277v-0.081c-0.359-0.088-0.889-0.251-1.188-0.434C54.057,91.488,54.135,91.344,53.835,91.317L53.835,91.317z M13.635,18.359c-0.088,0.32-0.274,0.593-0.395,0.87c-0.268,0.613-0.507,1.225-0.751,1.822c-0.207,0.496-0.335,1.295-0.633,1.699v0.079c0.416-0.074,0.698-0.493,0.949-0.751c0.617-0.634,1.92-2.22,1.9-3.402c-0.062-0.061-0.119-0.162-0.159-0.237C14.3,18.38,13.982,18.353,13.635,18.359z M13.794,20.022c-0.181,0.298-0.281,0.592-0.476,0.871c-0.178,0.255-0.46,0.452-0.633,0.713h-0.041c0.051-0.302,0.214-0.546,0.319-0.792c0.235-0.561,0.396-1.118,0.671-1.621c0.152,0.003,0.268,0.015,0.356,0.078c0.095,0.052,0.028-0.018,0.079,0.08C14.15,19.548,13.89,19.862,13.794,20.022L13.794,20.022z M84.023,7.875c-0.414-0.416-0.729-0.938-1.147-1.346V6.49c-0.205,0.073-0.899,0.688-1.028,0.871c-0.25-0.095-0.391-0.365-0.594-0.514c-0.676-0.508-1.313-1.167-2.49-1.147c-0.148,0.115-0.367,0.118-0.556,0.197c-0.53,0.23-1.083,0.688-1.305,1.227c-0.249,0.602,0.004,1.491,0.196,1.939c0.392,0.904,1.03,1.667,1.582,2.414c0.457,0.615,0.973,1.252,1.819,1.464c0.956,0.238,1.422-0.884,1.781-1.308c0.37-0.435,1.182-0.539,1.464-1.107c0.104-0.207,0.034-0.615-0.039-0.791c-0.18-0.426-1.066-1.622-1.425-1.859c0.024-0.239,0.135-0.247,0.235-0.396c0.248,0.121,0.338,0.471,0.516,0.673c0.227,0.258,0.546,0.396,0.791,0.632c0.378,0.003,0.604-0.094,0.79-0.277h0.041C84.561,8.243,84.212,8.06,84.023,7.875L84.023,7.875z M81.77,12.148c-0.699,0.165-1.047-0.293-1.424-0.673c-0.938-0.935-1.57-2.093-2.298-3.244c-0.247-0.396-0.885-1.134-0.554-1.702h0.156c0.199,0.299,0.539,0.507,0.754,0.792c0.591,0.784,1.313,1.469,1.898,2.255c0.359,0.485,0.758,0.94,1.106,1.424c0.178,0.249,0.315,0.565,0.556,0.751C81.924,11.931,81.848,12.015,81.77,12.148L81.77,12.148z M82.361,9.339c0.32,0.439,0.755,0.688,0.751,1.463c-0.122,0.116-0.157,0.224-0.356,0.276c-0.039,0.032-0.011,0.015-0.078,0.041c-0.56-0.932-1.367-1.711-2.017-2.573c-0.212-0.282-0.541-0.511-0.752-0.791c-0.362-0.48-0.793-0.864-1.188-1.305c-0.113-0.131-0.168-0.257-0.313-0.357c0.033-0.086,0.031-0.057,0.076-0.118c0.672,0.006,0.994,0.458,1.386,0.753C80.837,7.453,81.648,8.354,82.361,9.339L82.361,9.339z"/><radialGradient id="SVGID_43_" cx="251.8086" cy="-408.3613" r="72.7509" gradientTransform="matrix(1 0 0 -1 -213.7637 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#000" stop-opacity="0"/><stop offset=".8022" stop-color="#000" stop-opacity=".08"/><stop offset="1" stop-color="#000" stop-opacity=".3882"/></radialGradient><path style="opacity:.38;fill:url(#SVGID_43_);" d="M49.885,17.037c0.014-0.606-0.392-1.27-0.392-1.27l-0.025-0.058c0,0-0.487-0.949-1.302-1.228c-0.815-0.278-1.478,0.342-1.478,0.342s-0.114,0.131-0.429,0.494c-0.313,0.364-0.507,0.666-1.198,0.938c-0.692,0.271-1.379,0.204-1.743,0.033c-0.364-0.172-0.457-0.537-0.457-0.537s-0.229-0.722-0.313-1.049c-0.086-0.331-0.309-1.694-0.309-1.694s-0.491-2.747-0.534-3.304c0,0,1.475-0.126,3.687-0.775c2.299-0.673,3.043-1.206,3.043-1.206s-0.432-0.156-0.484-0.662c-0.051-0.507-0.089-1.19-0.089-1.19s-0.089-0.5,0.483-1.139c0.571-0.64,1.354-0.863,1.762-0.953c0.41-0.089,1.281-0.17,2.093-0.134c0.812,0.038,1.267,0.112,1.593,0.291c0.328,0.178,0.357,0.61,0.357,0.61l-0.008,1.146c0,0-0.037,0.402,0.261,0.529c0,0,0.505,0.305,2.196,0.133c0,0,0.72-0.126,1.846-0.46c1.125-0.335,4.129-1.229,4.554-1.341c0.425-0.111,0.953-0.291,1.646-0.469c0.691-0.179,2.039-0.626,2.308-0.73c0.271-0.104,1.812-0.618,2.927-0.81c1.115-0.195,2.227-0.186,2.813,0.149c0,0,0.357,0.304,0.521,0.662c0.163,0.358,0.478,0.863,0.923,1.088c0.454,0.227,0.752,0.371,1.875,0.273c0,0,0.022-0.096-0.395-0.37c-0.417-0.277-0.991-0.701-0.991-0.701S74.29,3.4,74.215,3.198c-0.072-0.202-0.043-0.306-0.043-0.306l0.877-1.406c0,0,0-0.172,0.508-0.238c0.506-0.067,1.071-0.134,1.74-0.313c0.67-0.178,0.788-0.312,0.788-0.312l0.58,0.178c0,0,3.546,2.853,4.655,3.583l0.199-0.239c0,0,0.436,0.018,0.826,0.172c0.394,0.154,0.979,0.562,0.979,0.562s1.612,1.31,2.071,2.2l0.223,0.679l-0.102,0.161c0,0,0.918,1.307,2.096,2.602c0,0,1.227,1.664,1.689,2.09c0,0-0.108-0.399-0.201-0.849l0.336-0.226l0.203-0.144l0.617,0.259c3.573,4.811,6.432,10.424,8.141,16.328l-0.12,0.484l0.395,0.501c1.128,4.212,1.728,8.643,1.728,13.211c0,1.122-0.036,2.236-0.107,3.339l-0.304,0.511l0.225,0.555c-2.231,26.1-24.124,46.584-50.801,46.584c-18.502,0-34.702-9.854-43.637-24.6L7.674,68.2l-0.205-0.153c-3.387-5.742-5.682-12.205-6.595-19.103l0.212-0.525L0.75,47.936c-0.213-1.892-0.322-3.812-0.322-5.756c0-2.985,0.255-5.909,0.748-8.755l0.25-0.562l-0.087-0.328c1.157-6.048,3.383-11.716,6.474-16.799l0.684-0.384l0.081,0.032c0,0,0.233-0.169,0.354-0.217l0.076-0.023c0,0,1.179-1.971,1.625-2.601c0,0,0.542-0.348,0.745-0.407c0,0,0.124-0.016,0.189,0.076c0,0,0.496-0.432,1.699-2.054c0.004-0.005,0.007-0.011,0.012-0.017c0,0-0.114-0.076-0.131-0.174c-0.018-0.097,0.108-0.591,0.173-0.717c0.065-0.126,0.108-0.156,0.108-0.156s1.722-2.032,3.151-3.238c0,0,0.26-0.202,0.678-0.25c0,0,1.472-0.613,3.264-2.184c0,0,0.051-0.289,0.478-0.858c0.428-0.57,1.456-1.163,2.222-1.337c0.764-0.174,0.896-0.038,0.896-0.038l0.064,0.065l0.515,0.766c0,0,0.565-0.316,1.413-0.604c0.847-0.289,0.979-0.262,0.979-0.262l0.825,1.336l-0.987,2c0,0-0.644,1.421-1.655,2.185c0,0-0.472,0.284-1.12,0.127c-0.648-0.157-1.072,0.333-1.072,0.333l-0.17,0.14c0,0,0.14-0.024,0.346-0.103c0,0,0.158,0.065,0.274,0.223c0.114,0.158,0.913,1.175,0.913,1.175s0.005,0.837-0.415,1.938c-0.419,1.1-1.467,2.891-1.467,2.891s-0.733,1.424-1.075,2.253c-0.342,0.829-0.515,1.765-0.488,2.262c0,0,0.187,0.062,0.707-0.202c0.655-0.332,1.083,0.027,1.083,0.027s0.719,0.53,1.041,0.881c0.262,0.289,0.802,1.765,0.209,3.224c0,0-0.402,1.008-1.377,1.724c0,0-0.216,0.332-1.529,0.174c-0.368-0.043-0.585-0.276-1.372-0.2c-0.785,0.077-1.231,0.815-1.231,0.815l0.013-0.024c-0.692,0.999-1.154,2.458-1.154,2.458l-0.057,0.165c0,0-0.241,0.509-0.292,1.752c-0.053,1.284,0.284,3.109,0.284,3.109s7.876-1.387,9.88-0.055l0.58,0.532c0,0,0.046,0.174-0.031,0.376c-0.08,0.204-0.375,0.673-0.987,1.113c-0.611,0.438-1.222,1.583-0.313,2.304c1.034,0.818,1.691,0.766,3.43,0.468c1.74-0.297,2.898-1.269,2.898-1.269s0.972-0.72,0.783-1.628c-0.188-0.908-1.017-1.189-1.017-1.189s-0.658-0.423-0.141-1.238c0,0,0.141-0.689,2.553-1.316c2.414-0.626,6.812-1.52,10.556-1.989c0,0-2.539-8.223-0.737-9.289c0,0,0.438-0.296,1.224-0.408l0.721-0.037c0.131-0.027,0.344,0.005,0.796,0.045c0.452,0.038,1.001,0.076,1.678-0.441c0.676-0.519,0.697-0.819,0.697-0.819"/></svg> \ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 103 94"><radialGradient id="a" cx="244.571" cy="-427.139" r="68.687" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".483" stop-color="#EAEAEB"/><stop offset=".945" stop-color="#A9ABAE"/><stop offset="1" stop-color="#999B9E"/></radialGradient><path d="M49.85 17.003c.014-.606-.392-1.27-.392-1.27l-.025-.058s-.487-.949-1.301-1.228c-.815-.278-1.478.342-1.478.342l-.428.494c-.313.364-.507.666-1.198.938-.692.271-1.379.204-1.743.033-.365-.172-.457-.537-.457-.537s-.229-.722-.313-1.049c-.086-.331-.308-1.694-.308-1.694s-.492-2.747-.535-3.304c0 0 1.475-.126 3.686-.775 2.3-.673 3.043-1.206 3.043-1.206s-.432-.156-.484-.662c-.051-.507-.089-1.19-.089-1.19s-.089-.5.483-1.139c.572-.64 1.354-.863 1.763-.953.41-.089 1.281-.17 2.092-.134.813.038 1.266.112 1.594.291.327.178.356.61.356.61l-.009 1.146s-.035.402.262.529c0 0 .505.305 2.197.133 0 0 .719-.126 1.845-.46 1.125-.335 4.129-1.229 4.554-1.341s.953-.291 1.645-.469a34 34 0 0 0 2.309-.73c.27-.104 1.811-.618 2.928-.81 1.114-.195 2.226-.186 2.813.149 0 0 .357.304.521.662.162.358.476.863.92 1.088.457.227.754.371 1.877.273 0 0 .021-.096-.396-.37-.417-.277-.991-.701-.991-.701s-.334-.245-.408-.447c-.072-.202-.043-.306-.043-.306l.877-1.406s0-.172.506-.238c.506-.067 1.074-.134 1.742-.313.67-.178.789-.312.789-.312l.578.178s3.547 2.853 4.655 3.583l.198-.239s.437.018.828.172c.393.154.979.562.979.562s1.613 1.31 2.072 2.2l.222.679-.102.161s.919 1.307 2.096 2.602c0 0 1.229 1.664 1.689 2.09 0 0-.108-.399-.203-.849l.339-.226.2-.144.617.259c3.575 4.811 6.435 10.424 8.144 16.328l-.121.484.396.501a51 51 0 0 1 1.729 13.211q-.001 1.684-.109 3.339l-.304.511.226.555C99.95 72.645 78.057 93.131 51.38 93.131c-18.502 0-34.702-9.854-43.637-24.601l-.102-.365-.205-.151A50.6 50.6 0 0 1 .841 48.91l.212-.524-.336-.482a51 51 0 0 1-.322-5.758c0-2.985.255-5.909.748-8.755l.25-.562-.087-.328A50.6 50.6 0 0 1 7.78 15.7l.684-.384.081.032s.233-.169.354-.217l.076-.023s1.179-1.971 1.625-2.601c0 0 .542-.348.745-.407 0 0 .124-.016.189.076 0 0 .496-.432 1.699-2.054l.012-.017s-.114-.076-.131-.174.108-.591.173-.717.108-.156.108-.156 1.722-2.032 3.151-3.238c0 0 .26-.202.678-.25 0 0 1.472-.613 3.264-2.184 0 0 .051-.289.478-.858.428-.57 1.456-1.163 2.222-1.337.764-.174.896-.038.896-.038l.064.065.515.766s.565-.316 1.413-.604c.847-.289.979-.262.979-.262l.823 1.336-.987 2s-.644 1.421-1.655 2.185c0 0-.472.284-1.12.127s-1.072.333-1.072.333l-.17.14s.14-.024.346-.103c0 0 .158.065.274.223.114.158.913 1.175.913 1.175s.005.837-.415 1.938c-.419 1.1-1.467 2.891-1.467 2.891s-.733 1.424-1.075 2.253-.515 1.765-.488 2.262c0 0 .187.062.707-.202.655-.332 1.083.027 1.083.027s.719.53 1.041.881c.262.289.802 1.765.209 3.224 0 0-.402 1.008-1.377 1.724 0 0-.216.332-1.529.174-.368-.043-.585-.276-1.372-.2-.785.077-1.231.815-1.231.815l.013-.024c-.692.999-1.154 2.458-1.154 2.458l-.057.165s-.241.509-.292 1.752c-.053 1.284.284 3.109.284 3.109s7.876-1.387 9.88-.055l.58.532s.046.174-.031.376c-.08.204-.375.673-.987 1.113-.611.438-1.222 1.583-.313 2.304 1.034.818 1.691.766 3.43.468 1.74-.297 2.898-1.269 2.898-1.269s.972-.72.783-1.628-1.017-1.189-1.017-1.189-.658-.423-.141-1.238c0 0 .141-.689 2.553-1.316 2.414-.626 6.812-1.52 10.557-1.989 0 0-2.539-8.223-.738-9.289 0 0 .438-.296 1.224-.408l.72-.037c.131-.027.343.005.796.045.453.038 1.001.076 1.678-.441.676-.519.697-.819.697-.819" style="fill:url(#a)"/><linearGradient id="c" x1="456.274" x2="502.776" y1="510.16" y2="582.912" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#8A8A8A"/><stop offset=".569" stop-color="#606060"/><stop offset=".591" stop-color="#FFF"/><stop offset=".612" stop-color="#585858"/><stop offset="1" stop-color="#303030"/></linearGradient><path d="m82.447 79.307.451.168q-.049.09-.101.179c-.864 1.573-.936 1.927-1.36 2.253s-.58.539-1.443.695c-.865.156-1.771 1.175-1.771 1.175s-.875.835-.48.866c.396.025 1.177-.609 1.177-.609s.497-.354.625-.255c.125.099-.539.751-.539.751s-1.161 1.176-2.479 1.982l-.396.213S78 85.333 78.895 84.33c0 0 .185-.271-.185.057-.369.325-1.332.821-1.741.821s.016-.563.016-.563.596-.768 1.812-1.758c1.22-.994 2.239-.922 2.239-.922s.227.043.253-.271c.028-.313.312-.863.312-.863s.453-1.032 1.674-2.749c1.218-1.714 1.77-2.195 1.77-2.195s1.588-1.629 2.423-3.259c0 0 .581-1.006-.364-.255-.951.753-2.211 1.7-3.44 2.014-1.233.312-1.349-.836-1.349-.836s-.271-1.884 1.049-3.344c1.188-1.316 2.492-1.273 3.684-1.415 1.188-.144 2.21-1.571 2.21-1.571s.82-.922 1.289-3.797c.218-1.337.067-2.244-.144-2.818l.021-.647-.368-.021a1 1 0 0 0-.135-.153s-.297-.299-.607-.524c-.313-.227-.692-.649-1.063-1.457 0 0-1.019-2.11-.792-5.156.227-3.047 2.762-2.762 2.762-2.762s1.475.143 1.76-.298c.283-.438.553-.993.649-2.223.101-1.233-.396-2.408-.396-2.408s-.186-.609-1.049-.708c-.863-.1-1.051.169-1.051.169s-.255.072-.723 1.09c-.471 1.021-.75 1.488-1.602 1.702-.849.211-2.023.099-2.549-.992-.515-1.072-1.757-3.693-2.351-5.772l.084-.735-.325-.471a11 11 0 0 1-.13-1.236c-.026-.992-.312-2.097-.638-3.2-.326-1.106-1.459-2.972-1.672-3.399-.324-.667-.621-.949-1.021-.893-.396.056-.339.056-.513.056-.168 0-.266.212-.311.425-.042.212-.375 1.315-1.104 1.812-.752.51-1.147.737-2.438.85 0 0-1.487.099-2.661-2.097-1.18-2.198-.879-3.598-.782-4.108.099-.51.539-1.247 1.229-1.388.693-.141 1.119-.184 1.119-.184s1.122-.01 1.603-.071c.551-.071.283-1.006.283-1.006s-.361-2.371-2.348-4.318l-.096-.487-.756-.381c-1.881-2.04-4.354-5.354-4.354-5.354s-1.105-1.048-.17-2.493c0 0 .438-.963 1.742-.792.419.081.457.123.818.199.481.099 1.008.225 1.478-.398 0 0 .438-.792-.271-1.812s-.923-1.742-1.785-1.687c0 0-.397-.055-.793.384-.395.438-1.415.716-2.011.778-.679.071-2.252-.528-3.156-2.082-.513-.874-.752-1.35-.865-1.595l.231-.34.72.08c.186.358.549 1.056.978 1.812.552.978 1.048 1.118 1.373 1.261.325.141 1.049-.071 1.431-.283.385-.213.766-.695 1.43-.738.668-.043 1.629.071 2.311.793s1.531 2.224 1.459 2.932c-.068.708-.111 1.403-1.035 1.699-.921.298-1.303.043-1.884-.084-.581-.128-.864-.072-1.104.211-.242.284-.512.892-.412 1.162.102.27.186.454.75 1.262.566.806 3.474 4.25 4.031 4.766l-.152.698.968.176c.625.724 1.358 1.668 1.687 2.263.493.907.752 2.337.779 3.002.025.666-.299.963-.299.963s-.313.524-2.012.524c-1.517 0-1.614.297-1.614.297s-.47.467-.369 1.615c.103 1.146.616 2.344 1.56 3.37.778.851 2.252-.006 2.748-.295.51-.299.822-1.264.822-1.264s.102-1.217 1.432-1.217c1.377 0 1.969 1.318 1.969 1.318s.963 1.295 1.941 4.121c.481 1.389.566 2.281.566 2.281l.126 1.668-.513.892.732.312c.135.541.348 1.24.686 2.044 0 0 1.008 2.381 1.443 3.286.44.906.896.766 1.264.808 0 0 .85.113 1.16-.282.313-.398.61-1.092.61-1.092s.663-1.812 2.138-1.657 1.84 1.092 2.096 2.168c.256 1.074.313 3.229-.479 4.545-.798 1.318-1.688 1.135-1.688 1.135s-1.813-.17-2.225.213c-.41.382-.623.724-.681 1.613-.058.894.026 2.336.751 4.08.631 1.523 1.146 1.361 1.432 1.728.284.368 1.188 1.204 1.104 3.272-.082 2.067-.791 4.149-1.586 5.439-.793 1.288-1.997 2.053-1.997 2.053s-.338.211-1.076.311c-.735.102-1.784.086-2.534.513-.75.426-.992 1.501-1.063 1.971-.069.468-.112 1.529.921 1.413 1.034-.109 2.577-1.4 2.577-1.4s1.486-1.104 1.685-.752c.199.354-.636 1.784-.636 1.784s-1.035 1.562-1.898 2.523c-.709.791-1.641 1.868-2.431 3.102z" style="opacity:.69;fill:url(#c)"/><linearGradient id="d" x1="425.286" x2="445.786" y1="502.951" y2="598.661" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#A8A9AB"/><stop offset="1" stop-color="#636668"/></linearGradient><path d="M23.441 22.732q-.01.013-.021.025.011-.012.021-.025" style="fill:url(#d)"/><linearGradient id="e" x1="421.068" x2="441.068" y1="504.37" y2="597.743" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#A8A9AB"/><stop offset="1" stop-color="#636668"/></linearGradient><path d="m38.188 89.707.163.01a3 3 0 0 0-.62-.414c-.699-.371-3.731-2.375-4.669-3.009-.936-.633-2.575-1.7-3.297-1.478-.554.172-.475.394-.804.556-.331.157-.687.052-1.504-.384-.818-.434-1.424-.725-3.02-2.239-1.245-1.185 1.595-.118 1.595-.118s.619.262.343-.385c-.277-.646-1.676-2.333-2.994-3.691a20 20 0 0 1-2.435-2.97l-.566-.661.007-.166c-.018-.024-.035-.054-.052-.078 0 0-1.874-3.377-1.676-4.617 0 0 .068-.828 1.241-1.188.817-.251.71.542 3.112.975 0 0 2.07.559 2.611-.945.539-1.505-.567-3.393-.567-3.393s-1.449-2.656-3.244-2.758c-.95-.053-.692.586-2.125.926 0 0-1.913.184-2.519-.963-.734-1.389-1.04-2.969-1.015-4.022.022-1 .054-1.079.119-1.371.045-.206.192-.582.254-1.128l-.134-.667.204-.501a13 13 0 0 0-.021-.83c-.091-1.66-.213-4.221-.437-5.71-.223-1.491-.633-3.798-1.991-3.866 0 0-.671-.051-1.634.885-.884.856-1.684-.708-1.728-1.663-.053-1.121.131-2.254.409-2.795s1.042-.567 1.186-.555c.146.013.555.171 1.043.474.488.305 1.16.305 1.557-.092.395-.394.947-.856 1.173-2.598.224-1.741.224-3.547.013-5.71l-.225-.484 1.339-.289c-.001-.017-.021-.126-.032-.193v-.005l-.007-.049-.001-.007-.009-.057-.001-.003-.009-.062v-.001l-.011-.068-.001-.008-.008-.066-.003-.017-.009-.069-.002-.014-.011-.076v-.005l-.011-.076-.003-.017-.009-.08-.002-.021q-.006-.04-.011-.081l-.002-.019a1 1 0 0 0-.013-.101l-.009-.082-.002-.016q-.003-.046-.01-.09l-.002-.021q-.005-.046-.011-.09l-.002-.022-.01-.093-.002-.019q-.004-.048-.009-.094v-.009q-.004-.048-.01-.1l-.001-.02-.007-.098-.001-.021q-.006-.05-.008-.099l-.001-.02q-.004-.051-.007-.102l-.001-.01-.006-.1-.001-.017-.005-.1-.001-.021-.003-.099-.001-.021-.004-.1v-.014l-.002-.099v-.009l-.001-.101v-.115l.001-.019.001-.095v-.015l.003-.099c.052-1.244.292-1.752.292-1.752l.057-.164s.46-1.459 1.154-2.459l-.013.024s.446-.738 1.231-.814c.785-.079 1.004.156 1.371.2l.115.013.037.004.075.006q.02.002.041.003l.064.004.041.003q.03 0 .058.003h.042l.055.002.038.002h.135l.032-.001.046-.001.03-.002.045-.002.026-.001a1 1 0 0 0 .067-.006l.044-.003.02-.002.045-.008.013-.001.052-.008q.053-.01.098-.021l.002-.002.039-.01.008-.001.028-.009q.006 0 .01-.003l.026-.009.008-.003.021-.009.009-.003q.01-.005.02-.009l.008-.004.019-.007.005-.004.016-.007.006-.004q.006-.003.012-.007.003 0 .005-.003l.012-.008.004-.003.011-.007.002-.003q.005-.003.008-.008h.002l.008-.007.001-.001.006-.006.003-.003.002-.002.003-.005q.004-.003.003-.004c.328-.241.593-.516.797-.775l.04-.05.008-.012.038-.048.007-.011q.018-.026.038-.05l.001-.001q.058-.083.109-.159l.003-.007.03-.044q.003-.006.007-.011l.024-.042q.004-.007.009-.013l.024-.042.001-.002q.025-.042.046-.079l.007-.012q.007-.015.016-.03l.012-.02.014-.024a.1.1 0 0 1 .011-.023l.012-.022.011-.021q.004-.008.01-.018c.066-.13.097-.207.097-.207.594-1.459.052-2.935-.21-3.224-.32-.354-1.041-.883-1.041-.883s-.426-.357-1.08-.025c-.521.264-.711.201-.711.201-.024-.498.149-1.432.491-2.263.341-.829 1.075-2.253 1.075-2.253s1.047-1.792 1.467-2.89c.418-1.102.415-1.94.415-1.94s-.795-1.019-.91-1.177a.7.7 0 0 0-.272-.223 2 2 0 0 1-.345.103l.169-.14s.424-.492 1.073-.334c.648.158 1.119-.126 1.119-.126 1.011-.764 1.654-2.187 1.654-2.187l.988-1.997-.826-1.337s-.131-.028-.979.259c0 0-.773 1.905-1.725 3.087 0 0-.374.552-.664.416a1.5 1.5 0 0 0-.91-.085c-.281.06-1.156.349-1.948 1.413-.79 1.064-.883 1.863-.458 2.101s1.045-.076 1.42-.407c.375-.333.638-.485.757-.47.118.02.093.315.068.41-.026.094-.154 1.364-1.625 3.913-.369.64-.845 1.589-1.069 2.046l.608.447-.999.503c-.266.758-.605 1.945-.471 2.61.204 1.011 1.158 1.011 1.158 1.011s.621.027 1.344-.348c.722-.375.892 1.242.892 1.505 0 .264-.007 1.726-1.02 2.442 0 0-.409.313-.985.313-.579 0-.954-.169-.954-.169s-.984-.272-1.59.083c-.604.358-1.326 1.098-1.897 2.17-.569 1.072-1.045 2.986-1.019 4.397.02 1.111.18 2.162.291 2.879l.667.435-.543.623c.079 1.136.168 3.363.155 4.109-.018.911-.154 2.84-1.115 3.292 0 0-.324.171-.868-.238s-1.132-.426-1.37-.435c-.238-.007-1.285.162-1.692 1.311-.408 1.145-.375 2.688-.29 3.597.086.91.876 2.458 1.872 2.458 0 0 .484.035 1.055-.553.568-.586.902-.637 1.156-.629.255.009.749.272 1.072 2.851.307 2.442.437 4.442.414 6.668l.605.392-.758.768c-.042.199-.089.417-.142.626-.169.682-.187 1.364-.024 2.569.161 1.21.811 3.72 1.754 4.375 1.252.871 2.071.856 2.916.791.842-.067 1.424-.712 1.424-.712s.331-.342.685-.237c.356.104 1.346.66 2.058 2.084.713 1.425.871 2.992-.316 3.272-1.187.272-3.231-.846-3.231-.846s-1.161-.647-2.109.064c-.951.713-.977 1.807-.502 3.15.261.738.782 1.938 1.513 3.188l.721.302-.193.551c.492.748 1.055 1.479 1.678 2.105 0 0 2.466 2.729 3.838 4.457 0 0 .08.157-.158.016-.238-.146-1.266-.621-1.82-.566-.555.054-.45.395-.45.395s.238 1.254 4.01 3.365c0 0 1.359.766 2.216.766 0 0 .277.039.619-.346.346-.381.45-.341.688-.262.237.076.553.249 1.741 1.105 1.188.857 3.496 2.176 4.325 2.731s.793.657.621 1.054c-.171.396.593.619.593.619s1.899.855 2.928.846c1.029-.016 1.464-.119 2.097.012.632.133 1.28.291 1.345.346.066.053-.315.038-.315.038s-2.362-.276-2.494-.21c-.13.066.014.184.99.436v.006q1.868.325 3.782.51c-.489-.061-2.52-.322-3.823-.713 0 0-.131-.078.173-.014.303.065 2.018.225 2.466.157.448-.065-.092-.274-.092-.274s-.897-.425-2.889-.582c0 0-.803-.055-1.503.014-.699.066-1.41-.264-1.41-.264s-1.028-.317-.78-.646a.47.47 0 0 0 .065-.502z" style="opacity:.45;fill:url(#e)"/><linearGradient id="f" x1="444.76" x2="473.842" y1="550.814" y2="550.814" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#231F20"/><stop offset="1" stop-color="#474747"/></linearGradient><path d="m62.342 86.16-.438.646c.096.655-.104.875-.254 1.119-.156.26-.59.592-.375 1.185.218.59 1.687.401 2.535.144.852-.26 1.569-.49 2.134-.693.562-.198.719.086.719.086s.246.175-.574.606c-.821.433-2.336.634-3.055.72-.724.086-.506-.043-1.586.33-1.082.377-.07.707-.07.707 2.435.635 4.188.115 4.188.115l.332-.097q.403-.118.803-.244c-2.021.456-3.326.149-3.739.095-.431-.058-.778-.145-.88-.361-.102-.215.479-.2.479-.2s1.683-.188 3.24-.69c1.557-.506 1.932-.98 1.871-1.341-.057-.358-.848-.332-1.785-.028-.937.305-2.334.75-2.662.821-.334.07-.691.06-.812-.146-.114-.203-.216-.53.146-.905.36-.376.402-.694.402-.694.055-.254.057-.523.021-.8zl.545-.118c-.298-1.124-1.052-2.218-1.279-2.577-.314-.507-.836-.793-2.393-.535-1.556.26-3.386 1.035-3.386 1.035s-1.888.997-3.298.812c-1.413-.188-1.703-1.614-1.688-2.063.015-.447.304-.835 1.039-1.123s2.465-.678 4.985-.808 3.458-1.771 3.458-1.771c.33-.478.922-1.543-.489-2.336-1.41-.791-1.441-.593-2.119-1.107-.678-.52-1.412-1.153-1.701-2.033a4 4 0 0 0-.104-.292l-.849-.558.41-.371c-.34-.67-.693-1.271-.693-1.271s-1.281-1.902-.246-3.703c1.038-1.803 2.736-2.348 2.736-2.348s1.5-.332 2.996.016c1.418.324 2.133-.219 2.133-.219s.865-.374 1.123-2.102c.264-1.729-.014-4.943-2.316-5.578-2.307-.633-3.527.563-3.527.563s-1.24 1.369-1.644 1.57-1.022.563-1.022.563-.867.519-1.453.648c-.393.086-1.791-1.771-1.933-3.201-.133-1.316-.401-2.388-.306-5.096l-.485-.63.537-.533c.101-2.999-.417-5.116-1.188-6.461-.807-1.412-2.119-2.161-2.766-2.478-.648-.318-2.147-.462-3.17-.086-1.023.374-1.239.678-1.613 1.326-.376.648-.836.605-.836.605s-1.427.043-1.888-2.133c-.646-3.049.359-4.035.359-4.035s.318-.476 1.369-.619c1.053-.144 1.73.115 2.537.315.806.202 1.41.116 2.419-.374 1.008-.491 1.442-1.297 1.238-2.739-.195-1.393-.255-1.742-1.483-5.964l-.875-.46.583-.579C44.87 23.032 44.8 20.35 44.8 20.35c-.106-.977.049-1.292.598-1.54.576-.259 1.116-.175 1.934-.123.818.053 1.425-.079 1.847-.316s1.581-.87 1.504-2.162c-.08-1.292-1.109-2.824-1.953-3.351-.843-.528-1.953-.316-2.558.131-.606.45-.845 1.029-1.214 1.214-.369.183-.895.605-1.45.474-.554-.132-.581-1.371-.818-2.77-.153-.907-.271-1.611-.338-1.989l-.678-.254c.044.557.535 3.304.535 3.304s.223 1.364.308 1.692c.086.329.314 1.05.314 1.05s.092.364.456.535c.365.172 1.052.24 1.743-.032.692-.271.886-.572 1.199-.938.315-.364.429-.493.429-.493s.663-.622 1.478-.343c.813.278 1.299 1.228 1.299 1.228l.028.06s.403.661.392 1.269v-.057s-.022.301-.697.818c-.676.519-1.226.479-1.678.442-.454-.04-.666-.072-.797-.045l-.719.038c-.786.111-1.224.408-1.224.408-1.8 1.064.736 9.288.736 9.288l-.276.613s.514 2.052.904 3.378c.388 1.326.562 2.637.62 2.91s.044.762-.317 1.051c-.359.289-1.239.534-1.425.562-.187.029-.535-.042-.996-.201-.462-.158-.922-.187-.922-.187s-1.11-.188-2.291.173c-1.182.359-2.076 1.569-2.148 3.083-.071 1.513-.057 2.278.535 3.617.59 1.34 1.657 2.104 2.463 2.118.808.014 1.469-.403 1.931-1.051.459-.65.59-.751.59-.751.548-.302 1.944-.433 2.651-.172.708.258 2.007 1.073 2.723 2.679.579 1.298.76 2.75.729 5.363l.584.448-.61.703q-.01.368-.026.761c-.143 3.876.72 5.864.72 5.864.491 1.065 1.023 1.83 1.745 2.318.719.489 1.699.156 2.018 0 .315-.158 1.194-.563 1.943-1.037.749-.477.725-.679 1.629-1.515.907-.833 2.076-.604 2.076-.604s1.107.028 1.74 1.313c.637 1.283.509 3.109.347 3.773-.158.662-.444 1.097-1.063.979a19 19 0 0 0-2.019-.231c-.375-.014-1.433-.049-2.394.203-.938.244-2.205.92-3.414 2.883-.938 1.52-.478 3.013-.262 3.603.17.462.635 1.104 1.043 1.896l.756.252-.35.656c.398.963.701 1.493 1.305 2.151.648.705 1.672 1.251 2.881 1.714 1.213.462.662 1.282.662 1.282-.69 1.497-2.75 1.557-3.354 1.628s-1.872.188-3.058.447c-1.182.261-2.291.418-2.954 1.182-.661.764-.402 1.557-.013 2.393.388.834 1.427 1.28 2.853 1.226 1.426-.058 2.35-.476 3.214-.851s2.362-.809 2.81-.937c.445-.129 1.051-.39 1.498.26.482.701.994 1.697 1.229 2.45z" style="opacity:.35;fill:url(#f)"/><path d="M101.566 51.162s.347-3.236.457-4.392q.026-.259.045-.513l-.098-.241c-.459 5.815-.938 7.727-.938 7.727s.013-.037.031-.101q.282-1.227.51-2.48zM91.268 12.579l.328.413.279.5c1.021 1.648 2.846 4.295 2.846 4.295s.739.958.905.968c.164.01-.084-.741-.084-.741s-.271-.979.517.298c.73 1.19 1.207 2.359 1.317 2.72.114.361.042.411.042.411s-.146.072-.146.33c0 .505.496 1.659.496 1.659s1.545 3.926 2.07 5.563c.526 1.641 1.133 4.368 1.133 4.368s.187.804.207 1.174c.021.371-.063.381-.229.186-.164-.196-.329-.072-.329-.072s-.175.072-.175.773c0 .7.085 2.346.217 3.615.152 1.505.616 2.133.616 2.133s.413.618.526-.577c.096-1.028.185-.228.185-.228.196 1.557.062 4.544.03 4.955-.019.218-.032.433-.049.64l.133-.221c.201-2.971.06-5.359.06-5.359s-.144-1.323-.3-1.311c-.155.01-.211.701-.211.701s-.065.467-.156.456c-.088-.011-.369.022-.566-1.412-.199-1.436-.156-2.949-.156-2.949s-.043-.155.048-.189c.09-.034.188.1.188.1s.133.189.287.033c.156-.154.19-.622-.301-3.08-.288-1.454-.711-2.896-1.006-3.832l-.294-.333-.058-.718s-.311-.913-1.033-2.737c-.723-1.824-.846-2.458-.846-2.458s-.045-.2.066-.234c.111-.032.091-.178.091-.178s-.013-.245-.278-.99c-.268-.746-.426-1.281-1.356-2.86-.869-1.468-1.124-1.558-1.124-1.558s-.426-.234-.112.591c.313.823-.075.232-.075.232-.925-1.177-2.838-4.292-2.838-4.292l-.537-.373-.508-1.261-.015.01M1.547 32.696l-.183.37c-.472 2.495-.625 5.135-.62 5.31.01.208-.036.211-.075.178-.042-.035.03-.16-.048-.16-.079 0-.108.211-.108.211L.512 38.6a42 42 0 0 0-.053.861l.016-.003c.068-.098.097-.028.097-.028s-.029.126.097.056.21-1.379.21-1.379.014-2.813.836-6.14c.819-3.327 1.281-4.259 1.281-4.259s.154-.418.138-.083c-.014.333.196.361.196.361.375-.054.821-1.125 1.267-2.493.445-1.363.668-2.589.668-2.7 0-.11-.055-.194-.152-.138-.098.056-.125.014-.125.014-.014-.208.361-1.127.361-1.127 1.253-3.202 3.104-5.694 3.104-5.694l.09-.504c-.164.254-.27.419-.421.661-.056.089-.042.297-.001.32-.201.191-.365.35-.476.456-2.707 4.473-3.059 6.556-3.059 6.556-.017.214.004.311.111.306.065-.003.251-.349.116.354-.09.468-.524 1.708-.693 2.212-.171.505-.358.85-.495.826-.135-.025-.135-.234-.135-.234s-.042-.546-.398.245-.713 1.859-1.425 4.65q-.047.187-.092.38zM4.841 62.626c-.15-.401-.264-.722-.179-.581.085.143.198.432.462.725.263.291.442-.226-.622-3.104s-1.354-3.04-1.402-3.095c-.046-.058-.215-.237-.167.167.045.404.018.656-.51-1.146-.528-1.806-.996-4.844-1.025-5.089-.027-.243-.169-1.778-.396-3.594-.226-1.814-.246-3.743-.207-4.28s-.066-.828-.123-.837c-.056-.008-.094.047-.131.284-.038.234-.01.395-.067.385-.057-.009-.076-.471-.076-.471H.391v.151l.002.519.039.402c.033.597.129.354.135.246.006-.109.03-.329.03-.329s.103-.884.084.02.236 4.563.236 4.563q.028.354.068.729l.063.092-.042.104c.265 2.425.795 5.086.795 5.086.507 2.417 1.11 3.846 1.308 4.25.198.405.236.085.17-.271s.546.688.873 1.674c.332.99.556 1.815.556 1.815s.254.781.142.828-.292-.293-.292-.293-.473-.835-.274-.228c.398 1.231 1.6 3.822 1.6 3.822l1.396 2.471c-.998-1.805-2.298-4.637-2.439-5.015M7.281 67.639q.103.188.202.359zM20.722 2.874c-.212.342-.242.514-.242.514s.112-.118.183-.237c.07-.118.059-.277.059-.277M17.216 5.572c-.417.048-.677.25-.677.25s.35-.061.677-.25M84.005 4.909s.247-.03.347.02c.101.049.066-.158.066-.158s-.287-.406-.322-.556c-.32-.089-.611-.1-.611-.1l-.028.034c-.01.075-.036.188-.012.297-.004.002.472.365.56.463M87.487 7.88l.095-.152-.223-.679q-.007-.017-.021-.036c-.007.066-.049.125-.172.115 0 0-.099-.03-.011.198.064.143.2.373.332.554" style="opacity:.1;fill:#232323"/><path d="M101.566 51.162s.347-3.236.457-4.392q.026-.259.045-.513l-.098-.241c-.459 5.815-.938 7.727-.938 7.727s.013-.037.031-.101q.282-1.227.51-2.48z" style="opacity:.1;fill:#232323"/><linearGradient id="g" x1="266.492" x2="295.964" y1="-395.278" y2="-485.035" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".009" stop-color="#FCFCFC"/><stop offset=".066" stop-color="#EEE"/><stop offset=".134" stop-color="#E5E5E5"/><stop offset=".252" stop-color="#E3E3E3"/><stop offset=".336" stop-color="#8A8A8A"/><stop offset=".442" stop-color="#B8B8B8"/><stop offset="1" stop-color="#3B3B3B"/></linearGradient><path d="M79.003 84.528s.667-.653.539-.752c-.128-.101-.623.256-.623.256s-.073.062-.185.142l.393-.252s-.038.238-.355.555c0 0-.094.094-.258.248-.957.938-2.386 1.998-2.386 1.998l.396-.211c1.32-.809 2.479-1.984 2.479-1.984" style="opacity:.5;fill:url(#g)"/><linearGradient id="h" x1="460.463" x2="509.588" y1="512.556" y2="573.306" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EFF0F0"/><stop offset=".591" stop-color="#F0F1F2"/><stop offset=".599" stop-color="#787878"/><stop offset=".646" stop-color="#EEEFF0"/><stop offset="1" stop-color="#D8D9DB"/></linearGradient><path d="m82.984 39.705.51-.891-.127-1.667s-.085-.893-.566-2.28c-.979-2.828-1.941-4.122-1.941-4.122s-.592-1.318-1.969-1.318c-1.33 0-1.431 1.219-1.431 1.219s-.312.963-.821 1.261c-.5.29-1.972 1.146-2.748.296-.941-1.026-1.461-2.225-1.56-3.372-.101-1.146.367-1.615.367-1.615s.1-.296 1.614-.296c1.703 0 2.014-.525 2.014-.525s.324-.296.297-.963-.284-2.097-.779-3.001c-.324-.596-1.058-1.537-1.684-2.261l-.967-.178.15-.699c-.56-.514-3.465-3.959-4.031-4.766-.564-.808-.65-.993-.75-1.262s.17-.877.412-1.161c.238-.283.521-.341 1.104-.212.58.127.961.381 1.886.084.919-.297.962-.992 1.033-1.699s-.78-2.209-1.458-2.932c-.684-.721-1.645-.836-2.311-.792-.664.042-1.047.523-1.433.737-.382.213-1.103.425-1.429.284s-.823-.284-1.375-1.261c-.43-.76-.794-1.459-.979-1.817l-.713-.076v.012s.633 1.654 1.633 2.811c.998 1.157 2.266.919 2.266.919s.82-.089 1.533-.772c.711-.683 1.761-.148 2.024.04.269.189.853.911 1.478 2.127.621 1.216-.355 2.058-.355 2.058s-.555.535-1.691.088c-1.14-.443-1.813.259-1.986.614-.182.357-.508.99.076 1.73.584.742 3.178 4.273 4.916 5.945 1.74 1.672 2.314 3.047 2.682 4.342.365 1.297.079 1.899-.521 2.018-.604.118-1.148.021-2.086.187-.94.17-1.349.367-1.543 1.653-.199 1.286.562 3.373 1.67 4.361 1.106.989 2.334.386 2.76.228.427-.159 1.352-.653 1.681-2.027.188-.783.851-.721.851-.721s.563-.071.854.117c.287.19.633.525 1.402 1.87.772 1.346 1.453 3.146 1.724 4.738.257 1.592.062 1.818.317 2.947.256 1.128 1.078 3.245 1.466 4.074.383.832.78 1.662.989 2.107.205.445.531.782 1.443.802.908.02 1.273-.228 1.541-.662.27-.435.612-1.088.713-1.316s.467-.911 1.146-1.02c.685-.108 1.762.01 2.106 1.198.313 1.071.76 2.622-.158 4.5-.65 1.334-1.129.859-2.451.948 0 0-1.165-.01-1.781.921-.611.93-.416 2.61-.286 3.877s.988 3.113 1.621 3.563c.636.443.86.849 1.08 1.256.216.404.534 1.205.216 3.313-.313 2.106-.979 3.74-1.867 4.521-.024.021-.05.043-.07.063a4 4 0 0 1-.219.201c-.537.521-.371.543-.889.793-.594.289-.988.207-1.958.365-.97.16-1.583.327-2.088.821-.503.495-1.243 1.409-.979 3.187.148.986 1.318.584 2.229.111-.274.125-.553.221-.798.246-1.033.113-.991-.949-.921-1.415.069-.47.313-1.544 1.063-1.97s1.799-.41 2.533-.512c.738-.101 1.076-.313 1.076-.313s1.205-.766 1.997-2.055c.793-1.289 1.502-3.371 1.587-5.438.084-2.068-.821-2.902-1.104-3.271-.283-.366-.799-.203-1.431-1.729-.724-1.74-.81-3.188-.751-4.079.057-.892.27-1.231.682-1.612.41-.383 2.223-.213 2.223-.213s.893.185 1.686-1.134c.793-1.317.738-3.471.481-4.546-.253-1.076-.623-2.013-2.097-2.168-1.471-.152-2.138 1.66-2.138 1.66s-.297.693-.608 1.092c-.312.395-1.16.285-1.16.285-.37-.044-.821.099-1.264-.81-.438-.906-1.442-3.286-1.442-3.286a14 14 0 0 1-.688-2.055z" style="opacity:.73;fill:url(#h)"/><linearGradient id="i" x1="272.872" x2="302.47" y1="-392.826" y2="-482.965" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="m82.487 79.313.801-.479c.788-1.231 1.72-2.31 2.431-3.103.863-.961 1.896-2.522 1.896-2.522s.835-1.431.638-1.784c-.13-.23-.704.02-1.687.752-3.674 2.746-3.971 1.246-3.971 1.246.422 2.438 4.729-1.633 5.108-1.375-.063.563-.457 1.172-1.25 2.25 0 0-.388.555-.78.953-.369.432-.578.641-.578.641s-.088.09-.125.125a33 33 0 0 0-1.595 2.018c-.019.021-.104.113-.125.143-.295.416-.491.73-.702 1.062-.014.022-.064.011-.076.034a.1.1 0 0 0-.025.037c-.245.39-.373.713-.508.959-.012.029-.021.065-.03.095 0 0-.319.665-.457 1.067-.14.405-.12.547-.623.625-.504.078-.276-.053-1.021.196 0 0-.403.199-.938.571q-.043.032-.082.063a15 15 0 0 0-1.534 1.436q-.076.096-.146.195s-.157.168.051.188c.206.021.633-.01 1.008-.169l.088-.057c-.186.103-.373.174-.513.162-.396-.026.479-.864.479-.864s.906-1.019 1.771-1.175c.862-.156 1.021-.371 1.444-.693.426-.327.494-.682 1.359-2.254.03-.059.064-.115.098-.176z" style="opacity:.53;fill:url(#i)"/><linearGradient id="j" x1="444.694" x2="469.725" y1="510.956" y2="592.07" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".747" stop-color="#F9F9F9"/><stop offset="1" stop-color="#D5D7D8"/></linearGradient><path d="m55.064 72.686.408-.377c-.34-.668-.693-1.269-.693-1.269s-1.282-1.901-.245-3.703c1.036-1.803 2.737-2.348 2.737-2.348s1.5-.332 2.996.017c1.418.323 2.133-.22 2.133-.22s.865-.376 1.123-2.104c.261-1.729-.014-4.94-2.317-5.576-2.306-.633-3.528.563-3.528.563s-1.242 1.369-1.644 1.57c-.404.2-1.024.562-1.024.562s-.865.52-1.453.648c-.39.087-1.788-1.771-1.931-3.2-.133-1.313-.4-2.385-.305-5.084v-.017l-.486-.629.537-.526c.102-3-.418-5.119-1.188-6.463-.805-1.414-2.118-2.163-2.766-2.479-.647-.317-2.146-.461-3.169-.086-1.022.375-1.237.677-1.613 1.325-.376.65-.835.606-.835.606s-1.427.044-1.89-2.132c-.644-3.049.36-4.036.36-4.036s.318-.475 1.369-.619c1.053-.144 1.73.115 2.536.317.807.2 1.41.114 2.42-.374 1.009-.49 1.442-1.298 1.24-2.738-.196-1.397-.249-1.727-1.484-5.966l-.874-.458.582-.579c-1.182-4.271-1.257-6.961-1.257-6.961-.105-.975.049-1.29.598-1.537.576-.261 1.117-.177 1.934-.125.819.052 1.425-.079 1.847-.316.423-.236 1.583-.87 1.503-2.163-.078-1.292-1.108-2.823-1.951-3.35-.844-.528-1.952-.317-2.56.132-.606.447-.843 1.028-1.213 1.212-.368.185-.896.607-1.45.474-.554-.132-.581-1.372-.818-2.77-.155-.915-.276-1.614-.342-1.989l-.674-.254c.043.557.535 3.304.535 3.304l.294 1.624v.02q.008.028.013.05c.019.079.049.18.082.289.114.215.37.456.942.502a2.6 2.6 0 0 0 2.025-.709c.254-.239.86-.911.86-.911s.329-.632 1.253-.494c.922.14 1.238.773 1.403 1.013.167.242 1.57 1.961.672 2.861-.039.039-.093.089-.152.146a3.5 3.5 0 0 1-.446.399c-.675.517-1.226.48-1.678.442-.453-.039-.665-.07-.795-.043l-.72.038c-.787.11-1.224.408-1.224.408-1.8 1.065.735 9.287.735 9.287s.671 2.029.973 2.979c.301.949.496 1.625.791 3.264s-.231 2.092-.525 2.251-.984.568-1.77.604c-.783.034-1.027-.368-2.371-.432-1.345-.065-2.246.345-2.661.906-.417.561-.913 1.862-.675 3.4.237 1.541.504 2.064 1.092 2.748.59.681 1.165.97 1.978.696.792-.266.764-.756 1.173-1.164.517-.519.855-.792 2.063-.821s1.979.288 2.594.784c.619.496 1.934 1.646 2.294 3.356.359 1.713.424 2.268.424 3.676s-.101 2.978-.064 4.381c.036 1.4.187 2.841.577 3.795.386.955.926 1.755 1.4 2.18.475.426.896.438 1.373.252.475-.188 1.511-.771 2.373-1.324.861-.555.797-.99 1.576-1.502a3.36 3.36 0 0 1 2.457-.486c.661.112 1.676.631 2.092 1.889.419 1.258.36 2.676.36 2.676s.035 1.186-.445 1.876c-.48.688-1.272.616-1.625.545-.354-.071-1.094-.136-1.094-.136s-1.451-.165-2.563.094c-1.105.258-2.077 1.085-2.73 1.896-.652.813-.941 1.57-.984 2.158-.043.59.027 1.595.642 2.572.612.979.712 1.432 1.409 2.827.695 1.396 2.15 2.17 2.201 2.206.05.037 1.388.523 1.89.949.505.425.555.826.411 1.208-.145.381-.438 1.094-1.604 1.604-1.166.512-2.591.523-3.496.617-.906.094-2.651.332-3.697.834-1.043.503-.97 1.454-.97 1.454s-.028 1.556 1.337 1.983c1.365.434 2.64 0 3.201-.237.562-.238 1.487-.583 1.487-.583s1.791-.631 2.752-.848c.965-.217 1.533-.323 2.188.832.652 1.158 1.014 1.886 1.078 2.625s-.209 1.148-.461 1.432c-.25.279-.217.46-.217.46-.105.873 1.182.763 1.182.763s.041-.004.11-.018c-.26.021-.499-.021-.59-.178-.116-.202-.217-.531.146-.906.359-.374.402-.693.402-.693.305-1.439-1.038-3.371-1.354-3.875-.315-.503-.836-.791-2.394-.531-1.556.26-3.386 1.037-3.386 1.037s-1.891.995-3.299.809c-1.413-.188-1.701-1.614-1.687-2.063.016-.444.304-.836 1.038-1.122.733-.289 2.464-.679 4.984-.809 2.522-.128 3.458-1.771 3.458-1.771.331-.478.923-1.543-.489-2.338-1.412-.789-1.44-.589-2.116-1.104-.68-.521-1.412-1.153-1.701-2.034a4 4 0 0 0-.108-.291z" style="opacity:.96;fill:url(#j)"/><path d="M92.002 13.363c1.021 1.649 2.844 4.295 2.844 4.295s.256.332.5.605l.01-.011c.011-.375-.051-.571-.06-.621l-.091-.274c-.021-.367.438.095.611.288-.498-.754-.659-.811-.659-.811s-.423-.234-.111.59-.075.233-.075.233c-.924-1.177-2.838-4.293-2.838-4.293l-.553-.383zM101.539 51.352q.02-.094.034-.188h-.009l.013-.089zM100.822 35.679c.088-.033.188.1.188.1s.135.189.289.033c.107-.104.155-.353.025-1.257a1.4 1.4 0 0 1-.137.59c-.139.296-.314.02-.441-.081-.129-.098-.168.07-.168.07l-.004.162c0 .7.087 2.346.217 3.617.063.605.173 1.071.287 1.408l.041.076c.089.148.188.343.307.255.116-.089.274-.582.274-.582l.128-.591c.191.113.291.529.341.962l-.004-.056s-.144-1.324-.3-1.313c-.155.01-.21.701-.21.701s-.066.468-.157.456c-.088-.011-.365.022-.564-1.412-.201-1.436-.158-2.949-.158-2.949s-.044-.155.046-.189M99.696 28.566l.298.341c.479 1.494.996 3.843 1.092 4.264l-.088-.441c-.288-1.454-.711-2.896-1.006-3.832zl-.05-.702-.006-.016s-.312-.913-1.033-2.737c-.725-1.824-.848-2.458-.848-2.458s-.043-.2.066-.234c.109-.032.09-.178.09-.178s-.013-.245-.277-.99c-.182-.503-.312-.911-.662-1.607.281.585.463 1.052.524 1.259l.028.068s.099.148.066.552c-.027.403-.146.452-.146.452l.022.14c.141.538.418 1.187.418 1.187s1.065 2.709 1.748 4.54z" style="opacity:.1;fill:#232323"/><linearGradient id="m" x1="274.534" x2="255.209" y1="-396.158" y2="-490.194" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="M42.958 91.536c.938.177 1.723.358 1.889.396-.333-.11-.952-.279-1.889-.396" style="fill:url(#m)"/><linearGradient id="n" x1="422.559" x2="427.288" y1="518.757" y2="578.177" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset=".22" stop-color="#989A9C"/><stop offset=".253" stop-color="#FFF"/></linearGradient><path d="m20.381 74.92.007-.164-.052-.08s-1.874-3.375-1.676-4.615c0 0 .069-.827 1.241-1.187.817-.25.71.538 3.112.976 0 0 2.07.557 2.611-.946.539-1.507-.566-3.394-.566-3.394s-1.45-2.656-3.244-2.756c-.95-.055-.692.583-2.125.924 0 0-1.913.185-2.519-.963-.733-1.389-1.015-2.968-1.015-4.021 0-1.058.045-1.001.126-1.405.045-.219.186-.548.248-1.09l-.134-.675.204-.499a13 13 0 0 0-.021-.83c-.092-1.661-.211-4.221-.436-5.711-.223-1.491-.633-3.799-1.991-3.865 0 0-.671-.052-1.636.885-.882.856-1.682-.708-1.726-1.663-.052-1.121.131-2.255.409-2.795.277-.541 1.042-.566 1.186-.554.146.012.555.17 1.042.474.489.304 1.161.304 1.558-.092.395-.395.948-.856 1.173-2.598s.225-3.547.013-5.71l-.224-.485 1.339-.288c-.001-.016-.021-.125-.032-.195l-.001-.002q-.002-.024-.007-.052v-.005l-.009-.057-.001-.003-.009-.062v-.001q-.005-.034-.011-.067l-.001-.007-.008-.068-.003-.015a1 1 0 0 0-.011-.083l-.012-.076v-.005l-.012-.076-.002-.018-.009-.079-.003-.021-.01-.081-.003-.02-.009-.087-.003-.013q-.004-.043-.009-.082l-.002-.017-.01-.091-.002-.02q-.005-.047-.011-.09l-.002-.022-.01-.094-.002-.018q-.004-.048-.009-.094l-.001-.009q-.003-.05-.009-.1l-.001-.02-.007-.099-.002-.021-.007-.099-.001-.02q-.004-.05-.007-.101l-.001-.009-.007-.1v-.017l-.005-.1-.001-.022-.005-.098v-.021l-.004-.101v-.013l-.002-.099v-.009l-.001-.102v-.133l.001-.096.001-.014.003-.1c.052-1.243.291-1.751.291-1.751l.058-.166s.46-1.458 1.152-2.458l-.011.024s.446-.738 1.231-.816 1.003.158 1.371.202l.152.017q.038.002.074.006l.042.003.064.004.041.002.058.002q.02.002.04.002l.055.002.039.001.051.001h.034l.05-.001.032-.001.046-.001.03-.001.045-.002.026-.001.044-.004.022-.002.044-.004.019-.002.045-.007.014-.001.052-.008.098-.021q0-.001.002-.002l.039-.01.007-.001.029-.009.01-.004.026-.008.008-.003.021-.009.009-.004q.01-.003.02-.009l.008-.003.019-.007.005-.004q.008-.005.015-.008.003-.002.008-.003l.012-.008q.002 0 .005-.002l.012-.008.004-.003q.005-.003.01-.008.002 0 .002-.002l.011-.008.001-.001.009-.007h.001l.006-.007.003-.002.002-.002.003-.005.004-.004c.328-.241.591-.516.797-.775l.04-.05.008-.012q.02-.023.038-.05.004-.004.007-.01c.012-.018.025-.032.038-.05h.001q.058-.083.109-.159 0-.005.003-.008.016-.021.03-.044l.007-.01.024-.042.009-.013q.013-.021.023-.042l.002-.002.046-.079.006-.013q.008-.016.017-.029l.012-.02.014-.024.01-.023.012-.023q.005-.01.011-.021l.01-.021c.066-.128.097-.205.097-.205.593-1.459.052-2.936-.21-3.225-.32-.353-1.041-.882-1.041-.882s-.288-.241-.751-.144c.349-.049.791.091.966.558.277.734.376 1.335.212 2.33 0 0-.26 1.387-1.384 2.233-1.125.848-1.923.096-2.885.13-.962.032-1.516.701-1.809 1.157s-1.417 2.2-1.319 5.067c.097 2.868.291 4.301.325 5.558.033 1.205.178 3.976-.635 5.278-.815 1.303-1.628.65-2.2.309-.571-.341-1.223-.245-1.744.131-.521.375-.833 1.124-.848 3.324-.016 2.364 1.532 2.606 1.532 2.606s.293.146.945-.537c0 0 .651-.685 1.253-.603.604.082.995.716 1.255 1.808.261 1.092.796 5.621.717 8.668-.034 1.271-.62 1.286-.36 3.617 0 0 .409 3.13 1.401 4.089.995.962 2.378.781 2.706.75.324-.032.7-.26.7-.26s.309-.197.537-.374c.23-.182.522-.428 1.011-.277.489.146 1.645.896 2.557 2.571.915 1.678.496 3.317-.26 3.521-.668.182-.848.229-1.971-.05-1.124-.274-1.451-.567-1.957-.766-.504-.196-1.043-.263-1.547.114-.505.373-1.345 1.057-.343 3.32.961 2.174 1.692 3.797 3.518 5.623a21 21 0 0 1-1.427-1.871z" style="fill:url(#n)"/><linearGradient id="o" x1="237.372" x2="218.847" y1="-388.36" y2="-478.502" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="m22.494 7.387-.05.025z" style="fill:url(#o)"/><linearGradient id="p" x1="259.906" x2="259.899" y1="-479.338" y2="-479.375" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="M46.028 92.85q.195.02.391.041c-.114-.016-.31-.039-.561-.074q.087.016.17.033" style="fill:url(#p)"/><path d="M24.089 5.489c-.649.36-.7-.016-1.141.017-.439.033-1.026.212-1.596 1.043s-.586 1.89.326 1.417c0 0 .436-.428.815-.579.081-.043.24-.126.406-.174l.144-.117s.424-.491 1.073-.333a1.59 1.59 0 0 0 1.119-.129c1.01-.761 1.655-2.184 1.655-2.184l.987-1.998-.826-1.336s-.698 1.489-1.383 2.53c-.682 1.046-.635 1.326-1.579 1.843" style="fill:#9fa2a3"/><path d="M19.871 16.292s-.424 1.89 1.156 1.597l.022-.007c-.062.003-.089-.006-.089-.006-.025-.497.149-1.432.49-2.261s1.075-2.254 1.075-2.254 1.047-1.791 1.467-2.89c.42-1.102.416-1.939.416-1.939s-.8-1.019-.915-1.176-.272-.223-.272-.223l-.146.051c.115-.007.221.021.283.114.213.31-.39 2.036-.39 2.036s-.522 1.238-1.548 3.03c-1.027 1.793-1.549 3.928-1.549 3.928" style="fill:#9fa2a3"/><linearGradient id="q" x1="268.903" x2="249.497" y1="-394.638" y2="-489.072" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="m38.185 89.697.166.02a3 3 0 0 0-.497-.347c.184.113.489.358.312.665-.245.424-.048.457.489.863l.061.033c-.156-.107-.253-.234-.156-.362a.47.47 0 0 0 .065-.499z" style="fill:url(#q)"/><linearGradient id="r" x1="254.456" x2="235.034" y1="-391.599" y2="-486.11" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="M24.437 82.749c-1.245-1.185 1.595-.118 1.595-.118s.619.262.343-.385c-.246-.57-1.373-1.963-2.543-3.219l.144.156s2.346 2.721 2.183 2.966-1.108-.325-1.108-.325-1.401-.539-1.206.13c.143.491 1.059 1.271 1.536 1.649a25 25 0 0 1-.944-.854" style="fill:url(#r)"/><linearGradient id="s" x1="262.651" x2="243.156" y1="-392.969" y2="-487.836" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="M26.977 84.73c.424.256.903.513 1.365.676 0 0 .831.293 1.337-.114.503-.403.503-.601 1.238-.243 0 0 1.388.696 2.382 1.444.98.735 3.557 2.336 4.396 2.791-.764-.417-3.712-2.365-4.633-2.99-.936-.633-2.574-1.698-3.297-1.476-.554.172-.474.396-.804.555-.331.158-.688.055-1.504-.383-.166-.09-.323-.172-.48-.26" style="fill:url(#s)"/><linearGradient id="t" x1="271.548" x2="251.19" y1="-390.957" y2="-490.018" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="M39.903 91.448c.37.104.672.06.787.035-.678.04-1.35-.269-1.35-.269s-.067-.021-.165-.061c.238.115.514.232.728.295" style="fill:url(#t)"/><linearGradient id="u" x1="274.658" x2="255.256" y1="-395.844" y2="-490.257" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset="1" stop-color="#E4E5E6"/></linearGradient><path d="M44.293 92.169s-1.344-.163-1.939-.163c0 0-.037.064.226.158-.021-.021-.031-.049.189 0 .304.064 2.018.225 2.465.158.448-.068-.091-.278-.091-.278s-.088-.041-.267-.102c-.323.259-.583.227-.583.227" style="fill:url(#u)"/><path d="M4.662 62.045c.085.143.198.432.462.725.146.16.266.072.162-.525a5 5 0 0 1-.464-.371c-.113-.013-.263-.297-.263-.297s-.471-.835-.274-.227c.398 1.23 1.6 3.821 1.6 3.821l1.396 2.47c-.999-1.803-2.299-4.633-2.44-5.013-.15-.405-.264-.724-.179-.583M1.547 32.696l.032-.643q.041-.182.087-.36c.712-2.789 1.069-3.858 1.425-4.649.356-.792.398-.245.398-.245s0 .209.136.234c.135.023.324-.32.494-.826.17-.504.604-1.745.693-2.212.135-.704-.051-.358-.115-.354-.108.005-.126-.091-.113-.306 0 0 .382-2.122 3.064-6.563.18-.17.321-.307.47-.449-.055-.052-.033-.265.001-.32q.203-.322.422-.661l-.09.504s-1.85 2.492-3.104 5.694c0 0-.342.835-.359 1.094-.025.154-.104.739.152.582l.065-.048c-.093.484-.295 1.37-.607 2.325-.288.878-.573 1.633-.841 2.078l-.002-.004c-.08.067-.098-.016-.146-.21-.048-.198-.113-.198-.113-.198-.179 0-.324.202-.41.359-.04.056-.089.19-.089.19s-.461.934-1.281 4.26c-.822 3.328-.836 6.14-.836 6.14s-.084 1.309-.21 1.379-.097-.056-.097-.056-.045-.052-.114.045c0 0 .02-.76.044-.875 0 0 .041-.206.119-.206s.006.125.048.16c.039.032.084.03.075-.178-.005-.176.147-2.816.621-5.312zM.392 41.994v-.005s.018.217.042.356l-.003.01c.078.357.187.357.187.357.008-.096.087-.273.183-.458q.012.159-.004.375c-.037.537-.019 2.466.209 4.28.225 1.815.367 3.349.394 3.594.029.245.498 3.283 1.025 5.089.285.967.422 1.344.483 1.424l.008.049s.097.184.348.32c0 0 .111-.097.112-.412q.027.046.057.105c-.083.262-.105.426-.105.426-.042-.043-.06-.031-.046.045.067.357.027.68-.169.272-.198-.403-.8-1.832-1.307-4.251 0 0-.531-2.659-.795-5.084l.042-.105-.064-.091a25 25 0 0 1-.067-.729s-.255-3.657-.237-4.562c.019-.904-.085-.02-.085-.02s-.021.219-.028.329c-.008.109-.103.352-.136-.246.023.26-.044-.801-.044-1.068M24.672 1.974l-.53-.753-.066-.065s-.131-.136-.896.038l-.11.022s.38-.094.168.191-.56.496-1.172 1.15c-.612.655-.411.803-.01.668.401-.138 1.188-.499 2.606-1.243zM23.106 1.21l-.036.006z" style="opacity:.1;fill:#232323"/><path d="M23.637 1.811c.31-.272.429-.484.454-.641l-.015-.014s-.131-.136-.896.038l-.075.015c.09-.015.303-.032.133.198-.212.285-.56.496-1.172 1.151-.612.656-.411.803-.01.667q.159-.055.4-.157c.143-.313.59-.743 1.181-1.257M83.482 4.115l-.2.235s.136.081.208.141q.011.008.021.012l-.07-.056c-.023-.109.004-.223.014-.297zs.055.002.143.011z" style="opacity:.1;fill:#232323"/><path d="M62.559 90.319s1.686-.187 3.239-.691c1.558-.504 1.935-.981 1.874-1.341-.037-.238-.396-.305-.906-.238.271-.021.514.032.354.332-.313.582-.861.782-.861.782s-.267.19-.89.371c-.806.245-1.794.375-2.335.438-.691.082-.521-.033-1.465.291-.023.016-.047.025-.065.043-.289.237 1.071.514 1.071.514s1.302.361 3.257.23l.067-.021q.4-.118.8-.245c-2.021.457-3.324.149-3.737.095-.434-.058-.777-.144-.88-.359s.477-.201.477-.201" style="opacity:.53;fill:#fff"/><path d="m63.301 4.417.717.076c1.429-.405 2.651-.776 2.651-.776s1.265-.41 1.901-.636c.635-.227 1.09-.313 1.656-.41.563-.096 1.309-.14 1.709-.131.398.007.528.122.528.122s.166.131.245.27c.077.138.74 1.891 2.975 2.005 2.231.112 2.261-1.096 2.063-1.464-.226-.427-.896-.863-.896-.863s-.898-.575-1.09-.846.033-.358.104-.376c.066-.018 2.433-.497 2.729-.608l.021-.02-.563-.174s-.119.134-.789.312c-.67.179-1.233.246-1.742.313-.504.067-.504.239-.504.239l-.879 1.406s-.029.104.043.305c.073.202.41.448.41.448s.573.424.99.699.395.373.395.373c-1.123.095-1.418-.048-1.875-.276-.445-.223-.76-.729-.922-1.086s-.521-.663-.521-.663c-.589-.336-1.696-.343-2.813-.15-1.115.194-2.656.707-2.923.812a34 34 0 0 1-2.309.729c-.694.179-1.224.357-1.646.47-.426.11-3.431 1.005-4.557 1.339a19 19 0 0 1-1.848.461c-1.688.171-2.193-.134-2.193-.134-.297-.125-.262-.527-.262-.527l.009-1.147s-.029-.433-.356-.611c-.328-.179-.779-.252-1.593-.29-.811-.038-1.683.044-2.093.134-.408.09-1.19.313-1.764.952-.573.641-.481 1.141-.481 1.141s.035.683.088 1.19c.052.504.484.662.484.662s-.744.532-3.045 1.206c-2.209.648-3.682.774-3.682.774l.678.254s5.468-1.015 7.148-2.616c0 0 .624-.293.02-.88-.606-.585-.897-.761-.897-.761s-.41-.224.019-.771a2.7 2.7 0 0 1 1.352-.933c.429-.138 1.753-.25 2.925-.093 0 0 .491.041.459.408-.034.366-.088.872-.077 1.028.008.158.023.515.398.845.378.332 1.099.453 1.099.453s1.257.228 2.843-.217c1.584-.445 3.642-1.14 5.431-1.629z" style="opacity:.1;fill:#232323"/><path d="M48.462 6.628c.31.207.476.221.5.421.055.339-.56.64-.56.64l-.006-.011s-.431-.157-.484-.664c-.052-.505-.088-1.19-.088-1.19s.001.2.046.26c.134.172.217.294.592.544" style="fill:#616161"/><path d="m82.447 79.307.451.17c1.104-.617 1.496-.809 1.759-.963 1.183-.703 2.592-1.563 2.963-1.855 0 0 .761-.518.116.195s-.969 1.007-.969 1.007-.625.626-.471.782c0 0 .166.246 1.193-.687 1.023-.929 2.15-2.258 2.275-2.44.127-.188.146-.293.146-.293s.107-.215.273-.393c.145-.15 1.377-1.496 1.994-2.121l.006.003q.409-.543.806-1.102c-.358.379-1.724 1.829-2.483 2.684 0 0-.713.763-.938 1.056s-.225.47-.225.47-.117.196-.392.519-1.24 1.186-1.24 1.186-.577.47-.754.478c-.179.011.431-.538.431-.538s.588-.625.967-1.123c.382-.498.137-.47.137-.47s-.186-.049-.986.459-1.367.858-1.367.858-1.722.986-2.814 1.623c-1.096.636-3.6 1.908-5.021 2.492-1.43.588-2.162.715-2.035.527.127-.186.461-.459.461-.459s.399-.4.399-.803c0 0 .128-.586-1.604-.223-1.729.36-3.293 1.213-3.293 1.213s-2.571 1.182-1.965 1.887c0 0 .117.186.635.352.52.166-.92.606-.92.606-1.365.448-2.413.651-3.74.926-1.963.403-3.564.761-4.165.894-.165.035-.253.059-.253.059s-1.212.292-3.229 1.072c-2.015.783-5.972 1.43-5.972 1.43s-2.542.293-2.777.627c-.234.331.177.499.177.499s.362.224 1.671.283c0 0 .451 0 .471.036.018.039.046.068-.235.156-.286.088-.854.314-2.778.558-1.936.245-1.896-.067-1.896-.067s-.01-.076.078-.216c.087-.134.009-.369-.293-.535 0 0-.419-.272-1.829-.262-1.408.009-4.212.017-6.833-.14-2.374-.143-5.59-.551-6.099-.664 0 0-.117-.029-.206-.117-.088-.09-.646-.422-1.164-.733-.517-.313-2.073-.907-2.073-.907s-2.011-.783-1.945-.521c.015.063.13.153.268.246q.526.282 1.06.56l.002-.002s-.743-.402-.538-.402.438.109.438.109 1.213.332 1.966.686c.753.353 1.407.83 1.407.83s.929.549 2.319.732c1.346.182 3.174.389 3.777.448l.594-.272.433.354c1.106.068 2.575.146 2.575.146s2.976.111 4.605-.019c.733-.063.507.317.507.317s-.214.354.206.529c0 0 .771.439 3.343.157 2.573-.286 3.138-.862 3.138-.862s.299-.275-.351-.398c-.513-.1-.513-.051-1.175-.117-.665-.067-.998-.205-.557-.323.441-.114 1.174-.175 1.174-.175s2.249-.313 4.066-.783c0 0 1.938-.458 3.861-1.134a33 33 0 0 1 1.887-.599l.438-.644.644.372.103-.021s2.306-.539 3.274-.703c.966-.168 3.154-.637 4.087-1.086.928-.448 1.396-.805 1.505-1.075.107-.272-.393-.431-.393-.431s-.588-.138-.508-.34c.075-.205.293-.382 1.213-.793.918-.41 2.07-.859 3.227-1.144 1.154-.282.732.194.732.194s-.692.705-.783.979c-.086.273.029.285.119.333.088.05.646.028 1.022-.067.383-.099 3.464-1.271 5.341-2.347q.072-.04.139-.08z" style="opacity:.17;fill:#fff"/><linearGradient id="v" x1="221.183" x2="221.373" y1="-454.565" y2="-454.565" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray"/><stop offset=".087" stop-color="#7A7A7A"/><stop offset=".36" stop-color="#6B6B6B"/><stop offset=".519" stop-color="#686868"/><stop offset=".638" stop-color="#5F5F5F"/><stop offset=".743" stop-color="#4E4E4E"/><stop offset=".841" stop-color="#383838"/><stop offset=".932" stop-color="#1B1B1B"/><stop offset="1"/></linearGradient><path d="m7.432 68.01.178.131c-.105-.099-.167-.155-.167-.155s-.008.003-.024.003q.007.008.013.021" style="opacity:.68;fill:url(#v)"/><linearGradient id="w" x1="221.404" x2="316.025" y1="-449.803" y2="-449.803" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="gray"/><stop offset=".087" stop-color="#7A7A7A"/><stop offset=".382" stop-color="#828282"/><stop offset=".518" stop-color="gray"/><stop offset=".568" stop-color="#797979"/><stop offset=".603" stop-color="#6E6E6E"/><stop offset=".608" stop-color="#6B6B6B"/><stop offset="1" stop-color="#4E4E4E"/></linearGradient><path d="m90.412 59.954-.371-.021c-1.807 1.463-2.342 1.938-3.781 2.955 0 0-1.644 1.228-3.44 2.196-1.804.97-3.919.853-3.919.853s-.573-.062-.295-.477c.275-.415.634-1.425.771-1.938.141-.516.415-1.82-.633-2.235s-3.018.196-3.018.196-4.525 1.205-6.371 3.23c-1.793 1.969-.286 2.846-.286 2.846s.702.49 1.386.73c.645.229.516.436.354.555 0 0-2.021 1.287-4.408 1.974 0 0-3.268 1.001-6.441 1.206-3.154.203-4.495.283-4.495.283l-.399.379-.758-.252c-1.283.154-3.455.463-5.596.979-2.622.64-5.123 1.147-6.903 2.296 0 0-1.333.887-.566 1.746.765.862 1.565 1.23 1.565 1.23s.472.207.464.336c-.009.164-.015.309-.367.512 0 0-1.394.814-4.108.859s-3.911.021-4.707-.695c-.658-.591.165-1.844.165-1.844s.33-.612 0-1.453c-.33-.84-2.218-.854-2.218-.854l-2.615-.134c-3.095-.081-7.182-.427-9.001-.653l-.033-.006-.006.166-.721-.303c-1.139-.221-3.243-.668-4.075-1.084-.759-.38-1.167-.313-1.066-1.102.101-.769-.753-1.836-.753-1.836s-1.188-1.287-2.257-2.086c-1.069-.804-1.523-.564-1.523-.564s-.484.258-.049 1.296c.436 1.04.86 1.403.86 1.403s.208.22.089.279c-.118.06-.484-.219-.789-.478-.253-.21-1.885-1.742-2.456-2.276l.105.356c.019.028.035.062.052.086.184.291.855 1.269 2.155 2.28 1.549 1.213 1.559.729 1.559.729s.061-.399-.297-.84c-.359-.44-.934-1.373-.791-1.715.144-.339.309-.31.309-.31s.133-.051.596.299c.462.351 1.498 1.076 2.011 1.703.513.623.48 1.181.48 1.181s-.102.563.453 1.17c.553.604 1.733 1.714 5.859 2.351l.059.01.193-.551.573.663c3.598.521 5.555.563 5.555.563s4.709.162 5.982.162c1.272 0 1.035.666 1.035.666s-.072.359-.225.646c-.155.287-.524 1.365-.144 1.939 0 0 .585 1.427 4.381 1.527 0 0 3.324.268 5.643-.688 2.319-.954.226-2.275.226-2.275s-.794-.481-1.13-.739c-.308-.234-.184-.481-.121-.646.06-.162.297-.359.563-.492.266-.134 1.239-.654 5.365-1.722 4.124-1.069 6.587-1.183 6.587-1.183l.055-.004.338-.656.854.556c.732-.06 1.681-.129 2.526-.171 1.691-.082 4.341-.471 5.879-.807 1.54-.343 3.869-1.062 5.592-1.951 1.725-.895 1.809-1.519 1.809-1.519s.328-.475-.392-.995c-.719-.523-1.036-.382-1.673-1.027-.637-.646.557-1.62.557-1.62s.612-.861 4.021-2.175c3.403-1.313 3.979-.873 4.153-.729s.195.615.123.935c-.069.317-.494 1.455-.721 2.053-.227.594-.316 1.406.605 1.601.923.194 2.215-.008 3.428-.442 2.893-1.033 3.756-2.295 8.534-5.764q.017-.014.03-.021zl.689.108c1.978-1.573 3.869-3.571 3.869-3.571s1.258-1.261 1.889-2.356c.595-1.026.027.89.027.89s-.32 1.516.19 2.077c.405.445 1.563-.795 1.563-.795s.688-.789.965-2.061c.408-1.875.185-2.248.185-2.248s-.246-.389-.093-.852c.154-.459 1.158-3.047 1.98-4.01l.502-.563.002-.027-.224-.557.304-.512s-.279.322-1.404 2.177c-1.266 2.087-1.467 3.771-1.467 3.771s-.119.653-.054 1.034c.063.355.188.519.192.622.009.104-.073.959-.508 1.773-.438.814-.815 1.031-.815 1.031s-.756.545-.86.157a2.3 2.3 0 0 1-.035-.966c.035-.248.289-1.579.252-2.072-.035-.494-.479-.098-.479-.098s-.104.119-.298.366-1.288 1.637-1.705 2.125c-.988 1.157-1.886 1.989-4.292 3.93-.007.003-.015.011-.019.015z" style="opacity:.43;fill:url(#w)"/><linearGradient id="x" x1="214.593" x2="314.404" y1="-431.356" y2="-431.356" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#555"/><stop offset="1" stop-color="#231F20"/></linearGradient><path d="m1.193 48.543.104.975c.235.285.577.677 1.071 1.187 1.084 1.121 1.427.416 1.427.416s.253-.705-.054-1.985c-.307-1.286-.253-2.046.325-2.026.578.019 2.258.361 2.782 1.752 0 0 .217.649.018 1.479-.2.834-.162 1.57-.018 2.295s.759 1.407 1.464 1.971c.706.562 2.746 1.535 4.734 1.66 1.987.127 2.601.021 2.601.021l.746-.767.134.668c.812-.09 2.116-.229 3.62-.393 2.528-.271 4.227-.544 5.798-.308 1.573.235 2.079 1.462 2.079 1.462s.108.314-.253.544c-.349.224-.749.547-.948.89-.199.346-.411 1.068.16 2.035.572.963 2.142 1.592 3.478 1.432 1.335-.155 3.335-.67 4.52-.979 1.287-.337 2.424-.971 2.572-1.98.147-1.008-1.534-2.295-1.534-2.295s-.812-.609-.91-.75c-.1-.139.099-.197.099-.197s.949-.229 1.357-.414c.404-.189 1.522-.646 3.353-1.219s5.608-1.248 5.608-1.248 2.084-.332 4.685-.543l.622-.702.485.625q.615-.037 1.243-.063c3.572-.129 5.344-.554 7.242-.979 1.897-.427 4.568-1.978 4.965-2.276.396-.295 1.229-.66 1.396-1.957.168-1.295-1.364-2.157-1.364-2.157s-1.218-.644-1.475-.93-.02-.562-.02-.562.689-1.485 2.896-2.354c2.205-.872 3.689-1.107 4.618-1.208.932-.099 1.245.237 1.374.396.128.157.128.485.021.821-.102.308-.444 1.038-.645 1.395-.197.356-.523 1.216-.316 1.622.208.405.843.593 1.662.445.821-.149 2.988-.761 4.888-1.553s5.073-2.345 5.073-2.345l.022-.012.086-.729.729.295c1.02-.562 2.764-1.58 4.01-2.631 1.871-1.573 3.699-3.225 4.166-3.639.465-.417.892-.752 1.307-.732s.732.317.988 1.434c.258 1.118.308 2.038.426 2.582.117.543.285 1.175.931 1.304s1.513-.434 1.838-.713c.33-.276.92-1.176.882-2.382 0 0 .068-1.604-.761-3.127 0 0-.351-.614-.479-.782-.088-.118-.155-.238-.01-.525.148-.286.467-.821 1.062-1.156.448-.256.88-.316 1.128-.396 0 0 .275-.067.626-.261l-.126-.412.289.316c.404-.239.652.045.652.045l-.392-.501.119-.484s-.304-.163-.685-.088c-.383.078-.42.362-1.014.458-.593.096-1.275.306-1.945 1.319-.67 1.011 0 2.271 0 2.271s.359.592.533.896c.172.306 1.066 2.215.037 3.608 0 0-.552.643-1.525.86-.86.19-.642-.816-.729-1.355 0 0-.129-2.281-1.237-3.588-.976-1.146-2.746.888-3.629 1.566-.822.629-3.228 3.112-6.684 4.925l-.51.892-.324-.472c-1.658.827-5.418 2.656-7.87 3.514 0 0-1.875.762-2.64.782 0 0-.17.006-.034-.179.133-.185.276-.322.507-.737.23-.418.646-1.357.646-2.327 0-.969-1.119-1.917-2.68-1.748-1.561.167-3.052.6-4.849 1.292-1.796.692-3.343 2.159-3.55 3.375-.209 1.216 1.105 1.92 1.105 1.92s1.484.751 1.674 1.157c.188.406.049.783.049.783s-.129.406-.783.782c-.649.377-2.42 1.287-2.42 1.287s-2.207 1.217-5.562 1.512c0 0-3.058.26-4.817.348q-.034.002-.069.003l-.541.53-.587-.449c-1.64.136-3.54.359-3.54.359s-4.29.609-8.219 1.822c-3.336 1.027-3.971 1.594-3.971 1.594s-.711.596-.118 1.453c0 0 .341.539 1.03 1.08.685.541 1.237 1.057 1.159 1.317-.08.265-.29.382-.29.382s-.961.856-4.894 1.518c0 0-2.531.488-3.31-.275-.778-.766-.435-1.279-.435-1.279s.052-.173.62-.527c0 0 .951-.596.647-1.727-.303-1.135-2.129-2.545-4.101-2.533 0 0-2.303.006-8.196.762q0-.001-.027.005l-.204.501-.605-.393c-.324.039-.713.076-1.114.107-1.012.07-2.477-.057-4.3-.596-1.824-.543-2.963-1.535-3.126-2.133-.114-.412.035-.996.035-.996s.343-1.316.128-2.401c-.22-1.083-.582-1.934-1.631-2.567-1.048-.632-1.643-.522-1.643-.522s-.939-.144-.904 1.446c.037 1.59.235 2.256.235 2.256s.181.562-.108.635c-.288.072-.74-.361-.74-.361s-1.021-.924-1.619-1.688l.048.066-.214.525s.067.115.266.375z" style="opacity:.31;fill:url(#x)"/><linearGradient id="y" x1="214.897" x2="306.501" y1="-410.882" y2="-410.882" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#A0A0A0"/><stop offset=".077" stop-color="#656767"/><stop offset="1" stop-color="#717375"/></linearGradient><path d="m91.075 11.742.183.846s-.563.313-1.678.613c-1.113.3-2.188.801-2.188.801s-.89.289-.551 1.013c.338.726.838 1.076.838 1.076s.711.69.736 1.213c.021.526-.199.765-.764 1.076-.563.313-1.075.375-1.075.375s-1.338.24-2.001-.387c-.663-.626-.787-1.663-.787-1.663s-.05-.876-1.148-1.251c-1.102-.375-2.453.425-2.453.425s-1.063.563-2.2 1.3c-1.14.738-3.291 1.64-4.642 2.114l-.152.699-.758-.382c-1.422.489-3.271 1.109-3.271 1.109s-2.512.926-4.164 1.152c-1.648.224-2.016-.014-2.238-.238-.228-.224.039-1.012.039-1.012s.674-1.376.348-2.09c-.324-.714-2.451-.9-2.486-.9-.04 0-2.318-.265-4.451.932-1.895 1.062-2.143 1.642-2.143 1.642s-.604.938.113 1.867c.807 1.051 1.879 1.146 1.879 1.146s1.021.079 1.258.38c.24.299.076.626.076.626s-.336.925-2.228 1.312c0 0-3.181.933-9.113 1.776l-.582.579c-3.743.47-8.143 1.363-10.555 1.989s-2.553 1.317-2.553 1.317c-.519.813.141 1.236.141 1.236s.829.283 1.017 1.19c.19.91-.783 1.629-.783 1.629s-1.159.972-2.898 1.269-2.396.35-3.429-.47c-.91-.721-.298-1.863.312-2.301.612-.438.909-.91.988-1.112.079-.204.032-.377.032-.377l-.58-.534c-2.005-1.33-9.883.063-9.883.063s0 .002 0 0l-1.341.289-.673-.435s-2.291.604-4.876.589c-2.712-.014-1.27-2.128-1.27-2.128s.638-1.118.75-1.764c0 0 .224-1.745-1.42-1.631a2.11 2.11 0 0 0-1.968 1.546s-.112.801-.089 1.392c.021.594-.002 1.847-.742 2.56-.737.713-1.529.495-1.529.495s-1.331-.582-1.595-.718c-.274-.142-.517-.151-.751-.066a.3.3 0 0 0-.057.029l-.175.75.025-.623c-.156.176-.271.42-.271.42l.088.327-.248.565q-.004.017-.006.035l.008.003s.087-.196.222-.357l.182-.369-.052.241a.3.3 0 0 1 .172-.074c.281-.017.629.158.629.158s1.135.611 1.642.716.875-.065 1.205-.292c.527-.365 1.143-1.121 1.4-1.839.229-.646.279-2.394.279-2.394l.004.014s0-.421-.011-.518c-.012-.098-.075-.553.204-.783.278-.234.459-.347 1.144-.364.68-.017.886.38.886.38s.233.325.233.536c0 .21-.068.34-.068.34s-.371.626-.5.934c-.13.307-.636 1.323-.489 2.177.148.852 1.479 1.251 1.479 1.251s1.062.25 2.575.027l3.12-.503.543-.624.218.474a45 45 0 0 1 3.583-.511c2.326-.228 4.787-.262 5.821-.132 0 0 .484.061.405.234-.062.136-.421.415-.421.415s-.135.081-.654.667-.671 1.155-.693 1.661c-.024.505.516 1.995 2.415 2.394 1.901.397 4.077-.341 4.077-.341s1.427-.314 2.786-1.674c1.41-1.411.012-3.108.012-3.108s-.22-.304-.647-.442c0 0-.187-.05-.079-.17s.37-.647 1.37-.905c1-.257 3.977-1.198 11.065-2.135l.274-.617.874.459c2.708-.373 4.551-.694 7.827-1.454 0 0 3.04-.539 3.675-1.651.368-.65 1.032-1.539-.045-2.434 0 0-.125-.161-.791-.312s-1.179-.252-1.738-.653c-.563-.403-.551-.869-.551-.869s-.047-.445.862-.958c0 0 .851-.623 2.54-1.158 1.691-.533 3.648-.296 3.648-.296s.82.089.685.643c-.14.555-.604 1.482-.622 1.959-.021.474.012 1.027.938 1.414.931.386 2.267.266 2.267.266s1.386-.069 3.647-.801c2.265-.731 4.594-1.573 4.594-1.573l-.094-.483.971.173c.591-.22 1.406-.539 2.285-.936 1.801-.81 2.656-1.488 3.48-1.958 0 0 1.815-1.118 2.887-1.088 0 0 .25-.009.272.32s.104.814.218 1.096a3.22 3.22 0 0 0 2.729 2.048c1.993.228 2.846-1.118 2.846-1.118s.683-1.049-.493-2.296c0 0-.961-1.028-.99-1.107 0 0-.104-.155.168-.233.269-.078 3.152-.884 4.268-1.398l.036-.015-.271-.485.535.365c.202-.101.449-.246.544-.395.171-.271-.054-.797-.054-.797l.006-.007a48 48 0 0 0-.4-.546l-.606-.256-.06.033z" style="opacity:.34;fill:url(#y)"/><path d="m8.12 16.324-.291.435c.134-.023.244-.056.244-.056s.404-.066 1.112.12c.917.244 2.067-.496 2.067-.496s.872-.523 1.274-1.381l.361-1.005s.291-.972 1.105-1.281c0 0 .317-.171.831-.177.513-.005.392.354.392.354s-.056.233-.586.912c-.529.677-.671 1.196-.671 1.196s-.318.722.193.957c0 0 .24.141.939-.091.7-.233 3.02-.843 4.438-1.06l.993-.506-.602-.444c-2.388.442-4.168.995-4.775 1.226-.609.23-.62.082-.62.082-.211-.248.435-1.022.435-1.022s.655-.894.913-1.715c.259-.82-.892-.707-.892-.707-.758.121-1.303.48-1.93 1.236-.486.586-.782 1.389-.893 1.814-.071.267-.193.515-.193.515s-.091.165-.45.322c-.416.182-1.228.396-1.228.396s-.54.045-.931-.15c-.24-.118-.901.05-.901.05l.091-.504-.082-.032-.683.383q-.172.284-.341.569c-.063.146-.179.475.044.51.05.008.113.008.164.008zM13.295 9.19s.342-.271.342-.026c0 .248-.333.69-.333.69s-.107.134-.172.134c-.064-.001.018-.472.163-.798M10.595 12.501s-.388.46 0 .52l.838-.828c-.037-.037-.054-.055-.157-.112.001 0-.524.262-.681.42" style="opacity:.1;fill:#232323"/><path d="M77.807 85.745s-1.75.806-3.396 1.603c-1.647.803-2.25 1.14-2.25 1.14s-.088.049-.031.082c.056.028-.008.063-.008.063-.847.409-2.703 1.07-2.703 1.07s-.167.057-.157.02c.006-.041.199-.105.199-.105s.381-.146.283-.217-1.21.305-1.21.305-1.949.621-2.894.887c-.941.269-2.75.735-2.75.735-1.201.298-3.75.798-4.315.901-.562.104-.417.064-.417.064s.492-.189-.411-.226c-1.146-.05-2.362.112-3.612.288-1.25.18-1.178.324-1.178.324s-.04.154.708.14c.752-.019.534.046.534.046-1.396.202-4.2.238-4.2.238l.005.01q.685.02 1.376.018c.608 0 1.218-.01 1.822-.031.241-.021 1.483-.15 1.925-.244.486-.105-.093-.105-.093-.105l-.74-.023s-.776-.026-.052-.158c.729-.133 1.834-.192 2.388-.252.83-.094.541.105.541.105l-.04.023s.014.094.528.066c.515-.024 4.721-.804 7.069-1.487 2.347-.688 4.102-1.255 4.102-1.255s.157-.055.066.025c-.094.078-.463.2-.463.2s-.595.3.844-.108q.1-.03.197-.06a51 51 0 0 0 3.635-1.543c.029-.028.131-.146-.021-.101-.172.056 0-.065.187-.131.184-.066 2.267-1.162 3.363-1.608l.002.003c.394-.227.781-.455 1.17-.691z" style="opacity:.3;fill:#fff"/><linearGradient id="z" x1="217.656" x2="217.656" y1="-436.751" y2="-436.751" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".078" stop-color="#F4F4F4"/><stop offset=".381" stop-color="#CECECE"/><stop offset=".54" stop-color="#BFBFBF"/><stop offset=".836" stop-color="#7C7C7C"/><stop offset=".9" stop-color="#A8A8A8"/><stop offset=".909" stop-color="#9A9A9A"/><stop offset=".933" stop-color="#7D7D7D"/><stop offset=".956" stop-color="#686868"/><stop offset=".979" stop-color="#5B5B5B"/><stop offset="1" stop-color="#575757"/></linearGradient><path d="M3.893 50.249" style="fill:url(#z)"/><linearGradient id="A" x1="214.326" x2="322.872" y1="-436.511" y2="-424.485" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".078" stop-color="#F4F4F4"/><stop offset=".381" stop-color="#CECECE"/><stop offset=".54" stop-color="#BFBFBF"/><stop offset=".836" stop-color="#7C7C7C"/><stop offset=".9" stop-color="#A8A8A8"/><stop offset=".909" stop-color="#9A9A9A"/><stop offset=".933" stop-color="#7D7D7D"/><stop offset=".956" stop-color="#686868"/><stop offset=".979" stop-color="#5B5B5B"/><stop offset="1" stop-color="#575757"/></linearGradient><path d="m1.193 48.543.107.98c.236.285.579.675 1.067 1.181 1.084 1.121 1.428.416 1.428.416s.072-.201.092-.586c-.042.216-.209.403-.788-.056-.298-.237-.688-.627-1.076-1.049a14 14 0 0 1-1.021-1.117l.048.065-.213.526s.069.115.268.376z" style="fill:url(#A)"/><linearGradient id="B" x1="213.889" x2="336.882" y1="-436.477" y2="-422.851" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".078" stop-color="#F4F4F4"/><stop offset=".381" stop-color="#CECECE"/><stop offset=".54" stop-color="#BFBFBF"/><stop offset=".836" stop-color="#7C7C7C"/><stop offset=".9" stop-color="#A8A8A8"/><stop offset=".909" stop-color="#9A9A9A"/><stop offset=".933" stop-color="#7D7D7D"/><stop offset=".956" stop-color="#686868"/><stop offset=".979" stop-color="#5B5B5B"/><stop offset="1" stop-color="#575757"/></linearGradient><path d="m3.741 49.133-.02-.078q.02.132.043.272s.094.394.12.753a5 5 0 0 0-.143-.947" style="fill:url(#B)"/><linearGradient id="C" x1="411.254" x2="507.236" y1="557.002" y2="537.628" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".418" stop-color="#FFF"/><stop offset=".626" stop-color="#F8F9F9"/><stop offset="1" stop-color="#BFC0C2"/></linearGradient><path d="m99.696 28.566.29.316c.406-.238.654.045.654.045l-.386-.494c-.383.082-1.093.256-2.233.61 0 0-1.353.594-1.59 1.532-.016.332.049.641.116.876.753 1.429.913 1.666.913 1.666.499 1.091.422 1.993.25 2.824-.188.921-1.188 1.668-1.794 1.842-.608.171-.953 0-1.14-.483-.188-.485-.157-.845-.438-2.34-.28-1.499-.653-2.2-1.216-2.372-.563-.173-1.313.468-1.749.811-.438.344-2.417 2.152-2.417 2.152s-2.324 2.091-5.743 4.026c-3.417 1.935-7.69 3.418-7.69 3.418s-2.842 1.092-3.525.998c-.688-.093-.516-.718-.297-1.076.219-.36.516-.937.766-1.545.313-.756.201-1.654-.359-1.967-.562-.311-1.248-.468-3.523.094s-3.197 1.076-3.838 1.451c-.643.376-1.576 1.233-1.842 1.716-.266.484-.563.983.126 1.576.688.594.763.485 1.56 1.046.797.562.922.64.969 1.466.045.827-.766 1.341-.766 1.341s-3.123 2.082-6.602 2.777c-2.34.469-6.833.639-6.833.639s-1.327-.045-5.384.547c-4.056.594-6.787 1.514-7.738 1.856s-2.34.81-3.136 1.17c-.795.358-.375.89-.203 1.015.172.123 1.185 1.074 1.498 1.354.312.282 1.466 1.279.108 2.108-1.356.826-3.603 1.264-3.603 1.264s-3.121.654-4.119.234c-1.001-.422-1.2-.778-1.452-1.358-.313-.718-.016-1.263.794-1.78.77-.486.469-1.199.469-1.199-.983-1.9-3.058-2.058-4.774-1.936-2.72.198-5.358.471-7.425.734-3.059.39-4.541-.063-5.992-.516-1.452-.453-2.997-1.529-3.154-2.498a1.3 1.3 0 0 1-.042-.307c-.078-.758.074-1.146.184-1.784.108-.625-.043-1.532-.084-1.758l-.023-.085c-.507-1.304-1.725-1.903-2.668-2.058-.953-.157-.983.857-.983.857l-.006.04c.078-.208.222-.315.444-.31.577.02 2.259.361 2.781 1.754 0 0 .218.648.019 1.479s-.162 1.571-.019 2.295c.145.725.759 1.408 1.465 1.969.704.562 2.745 1.535 4.734 1.66 1.814.117 2.483.037 2.587.023l.759-.768.135.666c.81-.088 2.115-.229 3.619-.394 2.529-.271 4.227-.541 5.8-.306 1.572.232 2.078 1.463 2.078 1.463s.107.313-.253.542c-.349.226-.75.548-.947.891-.2.345-.411 1.066.159 2.033.572.965 2.142 1.595 3.478 1.435 1.336-.158 3.336-.672 4.521-.98 1.286-.336 2.424-.969 2.572-1.979.148-1.009-1.534-2.297-1.534-2.297s-.81-.611-.909-.75c-.1-.14.099-.197.099-.197s.95-.229 1.356-.416c.403-.19 1.523-.644 3.353-1.217 1.831-.572 5.609-1.248 5.609-1.248s2.09-.332 4.694-.543l.612-.705.493.627a68 68 0 0 1 1.235-.061c3.572-.129 5.343-.555 7.24-.979 1.897-.426 4.569-1.979 4.965-2.276s1.229-.662 1.395-1.958c.17-1.294-1.363-2.157-1.363-2.157s-1.218-.643-1.476-.929c-.256-.288-.019-.562-.019-.562s.689-1.485 2.896-2.355c2.207-.872 3.69-1.106 4.619-1.207.931-.099 1.247.237 1.375.395s.128.485.021.821c-.101.308-.443 1.039-.644 1.396-.199.356-.522 1.216-.317 1.622.211.405.842.592 1.662.444.822-.147 2.987-.761 4.889-1.553 1.897-.793 5.074-2.344 5.074-2.344s.01-.005.021-.013l.086-.729.729.296c1.021-.562 2.764-1.582 4.01-2.63 1.871-1.574 3.699-3.225 4.166-3.641.465-.415.89-.751 1.305-.732.416.021.734.318.99 1.434.258 1.119.306 2.038.426 2.583.117.542.285 1.176.929 1.305.644.128 1.513-.436 1.841-.713.326-.277.918-1.176.879-2.383 0 0 .068-1.605-.762-3.127 0 0-.348-.614-.477-.782-.088-.119-.155-.238-.008-.523.146-.288.465-.821 1.059-1.157.449-.256.881-.316 1.128-.396 0 0 .28-.069.636-.266z" style="fill:url(#C)"/><path d="m1.547 32.696-.05.239a.3.3 0 0 1 .17-.072c.281-.018.629.158.629.158s1.135.61 1.642.716.875-.065 1.205-.292a3.8 3.8 0 0 0 .763-.737c-.29.29-.725.548-1.365.595 0 0-.571-.049-1.419-.587-.846-.537-1.327-.231-1.729.105l-.249.564-.006.036.009.001s.087-.192.217-.352z" style="fill:#fff"/><path d="M6.387 31.961q.09-.18.155-.354c.05-.14.09-.334.125-.55-.096.44-.223.73-.223.73s-.016.066-.057.174M6.807 28.654c-.038.439-.038.987-.038 1.493.04-.509.052-.935.052-.935l.004.014s0-.421-.011-.518z" style="opacity:.73;fill:#fff"/><linearGradient id="D" x1="413.514" x2="417.999" y1="516.412" y2="516.412" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#E2E3E4"/><stop offset=".505" stop-color="#FFF"/></linearGradient><path d="m8.12 16.324-.291.435c.087-.014.089-.007.244-.056 0 0 .404-.066 1.112.12.917.244 2.067-.496 2.067-.496s.272-.164.583-.458c-.4.24-1.385.762-2.132.585-.961-.229-.994-.017-1.336-.049-.292-.028-.292-.11-.275-.314.002-.032.023-.054.03-.092.05-.261.339-.689.339-.689l-.684.383q-.171.283-.34.569c-.063.146-.179.475.044.509q.083.013.163.009z" style="fill:url(#D)"/><path d="M17.019 15.036c-1.027.278-1.972.734-2.494.604-.438-.109-.084-.76.042-.965.069-.146.167-.292.249-.406.31-.506.833-1.351.833-1.351v-.002q.025-.049.049-.102c.067-.18.12-.537-.472-.597-.799-.082-1.613.619-1.613.619s-.547.301-.838 1.417l.112-.313s.291-.973 1.105-1.281c0 0 .317-.171.831-.177.513-.005.392.354.392.354s-.056.233-.586.912c-.529.677-.671 1.195-.671 1.195s-.319.723.193.957c0 0 .238.141.939-.091.7-.233 3.02-.843 4.438-1.06l.993-.506c-.672.056-2.509.526-3.502.793" style="fill:#fff"/><path d="M90.578 74.217q.008-.006.014-.013zM90.821 73.951l.003-.004zM90.738 74.042l.011-.013z" style="opacity:.1;fill:#231f20"/><path d="m87.9 76.68-.164.174c-.646.716-.969 1.007-.969 1.007l-.242.269q-.003.01-.012.014a.2.2 0 0 0 .041.004s.229-.002.588-.219a.5.5 0 0 1-.181.07c-.177.012.431-.538.431-.538s.588-.626.967-1.125c.382-.497.138-.468.138-.468s-.087-.021-.397.125c.025.025.168.23-.2.687" style="opacity:.25;fill:#231f20"/><path d="M90.657 74.133a.04.04 0 0 1 .013-.017q-.007.009-.013.017" style="opacity:.1;fill:#231f20"/><path d="M72.945 81.21s2.215-.931 3.402-.79c0 0 .611.059-.062.711-.672.652-.892 1.168.396.752l.244-.086c-.504.143-.734.143-.658.033.127-.188.461-.461.461-.461s.399-.4.399-.801c0 0 .128-.588-1.604-.225-1.01.209-1.969.59-2.588.867z" style="opacity:.22;fill:#231f20"/><path d="m72.234 81.555-.004.002zM88.057 76.014q-.02.012-.043.021.021-.011.043-.021" style="opacity:.1;fill:#231f20"/><path d="M78.305 81.299c1.448-.521 3.93-1.854 5.023-2.492-1.096.635-3.598 1.91-5.023 2.492" style="opacity:.28;fill:#231f20"/><path d="M87.512 76.325q.04-.024.08-.049zM91.434 73.281q.016-.017.023-.027c-.006.01-.016.016-.023.027M91.521 73.188l.029-.032q-.016.015-.029.032M90.9 73.863q.004-.008.012-.016-.008.009-.012.016M71.246 82.088c-.014.008-.023.018-.036.022q.016-.009.036-.022M91.346 73.375l.021-.021q-.01.009-.021.021M91.077 73.669l.013-.015q-.004.007-.013.015M91.251 73.479q.011-.008.021-.021zM90.987 73.768l.016-.021zM91.161 73.578l.017-.02zM71.816 81.764l-.026.017q.015-.01.026-.017M72.044 81.646q-.009.005-.019.009zM71.305 82.055l-.031.021c.009-.009.02-.013.031-.021M71.969 81.684l-.021.014q.008-.009.021-.014M72.109 81.613q-.007.006-.016.01a.04.04 0 0 0 .016-.01M72.008 81.665l-.021.011zM72.206 81.566l-.007.004zM72.148 81.594l-.024.015q.015-.008.024-.015M71.928 81.707a.1.1 0 0 0-.027.016q.011-.011.027-.016M72.193 81.575l-.014.004q.008-.003.014-.004M72.172 81.585l-.015.007q.01-.005.015-.007M72.079 81.631l-.019.006zM71.866 81.739a.1.1 0 0 0-.027.013q.013-.009.027-.013M71.555 81.906a.4.4 0 0 1-.052.029c.018-.011.036-.017.052-.029M72.219 81.561l-.002.004zM71.421 81.986q-.017.007-.03.02c.007-.01.019-.014.03-.02M71.363 82.02q-.017.008-.032.021a.2.2 0 0 1 .032-.021M71.482 81.948c-.014.006-.023.015-.036.021zM91.708 72.984q.018-.021.04-.042-.02.022-.04.042M71.665 81.846l-.028.018zM71.609 81.875q-.016.011-.03.02zM92.443 72.197a1 1 0 0 0-.055.061q.026-.03.055-.061M92.359 72.287q-.031.032-.061.066zM92.501 72.135c-.011.015-.021.023-.028.033q.011-.015.028-.033M91.786 72.899l.062-.063zM92.273 72.379q-.019.022-.041.045.02-.022.041-.045M92.762 71.858l-.002.001zM92.703 71.919l-.014.017q.007-.01.014-.017M87.938 76.074c-.017.008-.027.016-.043.023zM92.648 71.98l-.029.029zM48.204 91.026l-.003.002zM48.073 91.03h-.021zM48.136 91.028l-.02.002q.01 0 .02-.002M48.005 91.032h-.012zM47.94 91.035h-.015zM87.869 76.111c-.014.006-.021.015-.039.021.018-.006.027-.015.039-.021M87.807 76.146q-.019.015-.041.021a.1.1 0 0 0 .041-.021M87.951 76.067c.02-.011.035-.021.054-.027-.019.007-.034.017-.054.027M87.719 77.52s-.082.064-.193.147c.066-.046.138-.101.193-.147M92.205 72.452q-.031.034-.064.067a1 1 0 0 0 .064-.067M28.05 87.006q-.028-.012-.056-.021.028.01.056.021M71.051 82.217c-.013.008-.021.017-.037.021q.019-.012.037-.021M45.854 89.871c-.024 0-.049-.004-.074-.004.026 0 .051.004.074.004M27.555 86.844q.057.016.119.037-.062-.02-.119-.037M27.862 86.941l-.123-.04q.06.02.123.04M91.88 72.799l.04-.043zM28.058 87.006c.04.016.079.026.116.041zM91.977 72.695l.041-.044q-.024.023-.041.044M92.057 72.612l.061-.062q-.033.03-.061.062M27.991 86.985a.4.4 0 0 0-.062-.022q.031.01.062.022M71.133 82.162c.021-.013.037-.021.055-.036q-.027.018-.055.036M46.361 89.926q-.025-.002-.053-.008.027.006.053.008M71.122 82.17q-.028.017-.049.032zM46.439 89.939l-.049-.008q.025.006.049.008M46.513 89.953q-.024-.006-.047-.011.023.005.047.011M46.096 89.891q-.047-.003-.1-.01.053.006.1.01M46.278 89.913l-.061-.006zM46.19 89.904l-.084-.012q.044.005.084.012M45.971 89.881q-.037-.006-.079-.009.041.004.079.009M27.926 86.961a.3.3 0 0 1-.058-.019q.03.015.058.019M47.395 90.975q.002.005.004.004-.002.001-.004-.004M47.375 90.969h.003zM47.465 90.996l.006.001zM47.442 90.988l.002.002zM46.589 89.967q-.029-.005-.054-.013.026.009.054.013M46.764 90.012 46.731 90q.017.008.033.012M49.049 90.953l-.032.004zM46.659 89.984l-.061-.014zM47.767 91.028h.006zM47.821 91.03h.013zM45.214 89.855h.139zM47.716 91.026q.007 0 .013.002-.004-.002-.013-.002" style="opacity:.1;fill:#231f20"/><path d="M46.772 90.014s.158.021.059.338c-.1.313.06.451.475.594l.023.006h.002c-.079-.04-.074-.08-.074-.08s-.01-.078.078-.216c.087-.136.009-.369-.293-.536.002-.002-.075-.05-.27-.106" style="opacity:.36;fill:#231f20"/><path d="M47.869 91.032h.018zM47.495 91.002h.004zM47.677 91.024h.01zM47.529 91.006h.002zM47.559 91.01q.003.002.008.002zM47.594 91.016h.008zM46.711 89.997l-.043-.011zM28.776 87.27q-.011-.004-.024-.012.014.008.024.012M28.681 87.23c-.008-.004-.021-.006-.03-.01q.015.006.03.01M45.66 89.862c.026 0 .052.005.074.005q-.035-.002-.074-.005M28.797 87.275l-.021-.008zM27.38 86.794q.056.017.112.031-.058-.016-.112-.031M28.814 87.284q-.004-.003-.012-.007.008.004.012.007M28.64 87.219l-.03-.014z" style="opacity:.1;fill:#231f20"/><path d="M27.687 87.239a.2.2 0 0 1-.03-.032c-.263-.197-.343-.418-.343-.418l.009-.011a.2.2 0 0 0 .052.014c-.291-.075-.5-.104-.479-.018.015.061.131.153.269.245q.26.141.522.279z" style="opacity:.38;fill:#231f20"/><path d="m28.716 87.245-.027-.01zM28.602 87.202l-.042-.015zM28.841 87.293q.001 0-.022-.009zM28.232 87.068c-.018-.006-.031-.014-.047-.018q.023.009.047.018M45.534 89.858l.081.002q-.04-.002-.081-.002M45.397 89.855h.089zM28.348 87.11l-.106-.039zM28.506 87.168l-.037-.015q.019.007.037.015M28.557 87.186q-.018-.008-.04-.017zM70.02 84.389h.006zM70.789 84.087q-.002.005-.004.005zM70.762 84.102l-.006.004zM70.732 84.116l-.006.004zM70.697 84.133q-.002 0-.002.002 0-.002.002-.002M70.417 84.249l.011-.002zM70.389 84.262h.002zM70.316 84.289q.005-.003.009-.003-.006 0-.009.003M70.285 84.299q.004 0 .009-.004-.005.004-.009.004M70.354 84.275l.002-.002q-.001 0-.002.002M48.946 90.965c-.011 0-.022.004-.033.004.011 0 .022-.004.033-.004M70.256 84.311q.003 0 .006-.002-.003.002-.006.002M70.78 82.41l.042-.032zM70.956 82.279l.033-.023zM70.898 82.321q.017-.014.033-.022z" style="opacity:.1;fill:#231f20"/><path d="M70.903 83.794c.2.064.106.171-.087.278l.089-.033s.793-.436.458-.633c-.338-.198-1.129-.275-.613-.969l.02-.02c-.442.344-.756.727-.498 1.021-.002.005.115.191.631.356" style="opacity:.19;fill:#231f20"/><path d="m70.566 84.191-.008.003zM70.631 84.163l-.006.003zM70.598 84.176q-.002.004-.006.004.004 0 .006-.004M70.493 84.223l-.007.002zM70.459 84.233l-.008.004zM70.842 82.363l.034-.025zM48.293 91.024h-.023zM48.444 91.014h-.017zM48.369 91.02h-.027z" style="opacity:.1;fill:#231f20"/><path d="M50.023 89.904s.362.225 1.673.285c0 0 .45 0 .468.035.016.028.036.056-.068.102.06-.021.793-.254.476-.391-.04-.019-.063-.024-.074-.028q-.01 0-.019-.003-.013-.002-.021-.004l-.013-.001q-.01-.003-.021-.005-.006 0-.015-.002l-.017-.002-.017-.004h-.015q-.012-.002-.018-.004-.008 0-.016-.002h-.018q-.005-.005-.01-.004l-.021-.003-.008-.001-.028-.002-.004-.002h-.021q-.006-.002-.012-.002h-.028q-.011-.002-.019-.002h-.009l-.018-.002q-.008-.001-.012-.003h-.027c-.039-.004-.08-.004-.128-.009h-.004l-.022-.002h-.032q-.007-.002-.014-.002l-.02-.002q-.008 0-.016-.002h-.019l-.028-.004h-.019l-.028-.002-.016-.002-.024-.001-.021-.001-.026-.004-.02-.001-.026-.003q-.011 0-.023-.003l-.027-.002q-.01-.002-.021-.002-.018-.001-.035-.005h-.02a.3.3 0 0 0-.057-.006c-.142-.019-.271-.033-.378-.055l-.187-.025s-.47-.014-.653-.316c-.118-.197.457-.318.457-.318s.956-.193 1.917-.321c0 0-2.542.294-2.777.626-.211.34.199.507.199.507" style="opacity:.25;fill:#231f20"/><path d="M69.989 84.399h.004zM48.839 90.979l-.021.002zM48.727 90.988l-.026.002zM70.139 84.35q.005 0 .01-.004-.005.004-.01.004M70.116 84.359q.003-.002.007-.002-.004 0-.007.002M70.193 84.332l.004-.002zM70.068 84.374q.004 0 .007-.002-.004.002-.007.002M70.163 84.342q.006 0 .011-.005-.006.005-.011.005M69.996 84.395H70zM70.004 84.395l.008-.002zM72.23 81.559h-.004zM70.053 84.379h.004zM70.036 84.385q.002 0 .004-.002-.002.002-.004.002" style="opacity:.1;fill:#231f20"/><linearGradient id="E" x1="414.245" x2="509.005" y1="568.266" y2="545.727" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".418" stop-color="#FFF"/><stop offset=".626" stop-color="#F8F9F9"/><stop offset=".951" stop-color="#B2B4B6"/></linearGradient><path d="m7.61 68.141-.139-.131-.021.011z" style="fill:url(#E)"/><linearGradient id="F" x1="416.699" x2="511.823" y1="578.564" y2="555.94" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".418" stop-color="#FFF"/><stop offset=".626" stop-color="#F8F9F9"/><stop offset=".951" stop-color="#B2B4B6"/></linearGradient><path d="m90.412 59.954.689.108c1.976-1.573 3.869-3.571 3.869-3.571s1.258-1.261 1.889-2.356c.22-.381.281-.356.271-.177.023-.09.103-.456-.038-.714-.094-.176-.381.288-.83.861 0 0-2.013 2.926-5.798 5.816-3.786 2.891-4.776 3.771-8.083 5.655 0 0-2.309 1.021-3.914.669-1.246-.271 0-1.547.271-2.699.271-1.146.063-1.58-.225-1.807-.287-.225-.91-.385-2.142-.109 0 0-4.709 1.264-6.819 3.307-1.918 1.854.478 2.619 1.021 2.875 0 0 .78.338.719.672-.063.336-.496.623-.733.783-.239.16-3.338 1.977-8.324 2.764-4.039.641-3.26.255-7.143.654-3.881.399-4.952.72-8.068 1.453s-4.945 1.537-5.352 2.349c-.336.671.479 1.103.991 1.407.511.304 1.423.781 1.119 1.293s-1.631 1.277-4.874 1.391-4.569-.336-5.16-1.04c-.548-.649-.08-1.323.096-1.946 0 0 .382-.814.16-1.215-.224-.398-.737-.494-1.278-.559-.544-.064-3.245-.158-5.337-.271-2.372-.127-5.208-.211-8.611-.928 0 0-2.237-.441-3.69-1.262a3 3 0 0 1-.25-.156.64.64 0 0 1-.25-.209c-.41-.432-.047-.748-.186-1.168-.121-.359-.352-.878-.896-1.501a22 22 0 0 0-.72-.713c-.08-.069-.165-.144-.254-.214-1.276-1.037-1.422-1.149-1.964-1.166-.542-.019-.235.895-.129 1.246.041.136.139.328.242.508-.2-.364-.336-.729-.257-.915.144-.337.309-.308.309-.308s.133-.053.595.297c.463.35 1.499 1.078 2.012 1.705.512.625.481 1.18.481 1.18s-.103.563.451 1.17c.555.604 1.733 1.714 5.859 2.349.021.005.041.005.06.009l.193-.549.568.663.016.002c3.592.519 5.544.563 5.544.563s4.709.164 5.982.164c1.271 0 1.035.664 1.035.664s-.072.361-.225.647c-.153.288-.524 1.365-.144 1.94 0 0 .585 1.426 4.382 1.527 0 0 3.324.267 5.643-.688 2.317-.954.224-2.277.224-2.277s-.794-.483-1.129-.737c-.308-.233-.184-.48-.122-.646.061-.163.297-.355.564-.492.265-.134 1.241-.652 5.365-1.722 4.124-1.067 6.587-1.183 6.587-1.183s.021-.004.062-.006l.334-.656.845.559a77 77 0 0 1 2.537-.17c1.691-.083 4.341-.475 5.879-.811 1.539-.342 3.869-1.059 5.591-1.951 1.724-.891 1.808-1.519 1.808-1.519s.328-.472-.391-.995c-.719-.521-1.037-.38-1.672-1.024-.638-.646.553-1.619.553-1.619s.615-.865 4.021-2.177c3.408-1.313 3.98-.873 4.156-.728.175.142.195.613.123.933-.072.316-.494 1.455-.721 2.055-.227.592-.316 1.402.604 1.6.924.193 2.215-.009 3.427-.443 2.893-1.033 3.757-2.295 8.535-5.764l.029-.023z" style="opacity:.83;fill:url(#F)"/><linearGradient id="G" x1="415.474" x2="510.587" y1="573.42" y2="550.798" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".418" stop-color="#FFF"/><stop offset=".626" stop-color="#F8F9F9"/><stop offset=".951" stop-color="#B2B4B6"/></linearGradient><path d="M100.895 47.596c-.635 1.186-1.164 2.608-1.443 3.5-.045.213-.061.33-.061.33s-.119.654-.054 1.036c.028.161.069.279.106.375l.055.134q.03.068.033.111c.007.082-.044.614-.27 1.23v.002a4 4 0 0 1-.24.539c-.024.05-.053.095-.074.139-.458.814-1.098 1.457-1.604 1.532-.324.049-.484-.117-.557-.386.014.369.086.738.289.963.406.441 1.563-.795 1.563-.795s.688-.789.965-2.062c.406-1.875.187-2.248.187-2.248s-.247-.389-.093-.853c.152-.461 1.156-3.047 1.979-4.01l.502-.562.002-.029-.211-.521q-.195.197-.385.454c-.179.288-.406.654-.689 1.121" style="fill:url(#G)"/><linearGradient id="H" x1="414.775" x2="509.87" y1="570.479" y2="547.861" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".418" stop-color="#FFF"/><stop offset=".626" stop-color="#F8F9F9"/><stop offset=".951" stop-color="#B2B4B6"/></linearGradient><path d="M10.564 70.807a5 5 0 0 1-.469-.356c-.133-.112-.641-.585-1.18-1.086-.212-.194-.411-.382-.589-.55-.277-.262-.524-.493-.688-.646l.107.358.052.089c.183.29.854 1.264 2.153 2.277 1.549 1.213 1.559.729 1.559.729s.062-.4-.296-.84a4 4 0 0 1-.202-.27v.002c0 .002 1.012 1.484-.447.293" style="fill:url(#H)"/><linearGradient id="I" x1="414.915" x2="510.04" y1="571.066" y2="548.442" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".418" stop-color="#FFF"/><stop offset=".626" stop-color="#F8F9F9"/><stop offset=".951" stop-color="#B2B4B6"/></linearGradient><path d="M10.678 69.98" style="fill:url(#I)"/><linearGradient id="J" x1="416.103" x2="511.229" y1="576.065" y2="553.441" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#EDEDEE"/><stop offset=".418" stop-color="#FFF"/><stop offset=".626" stop-color="#F8F9F9"/><stop offset=".951" stop-color="#B2B4B6"/></linearGradient><path d="M96.887 55.023s.227-.76.243-1.066l-.005.021s-.513 1.443-.333 2.16c-.021-.559.095-1.115.095-1.115" style="fill:url(#J)"/><path d="m63.301 4.417.728.072c1.426-.402 2.643-.772 2.643-.772s1.265-.41 1.901-.637c.635-.226 1.09-.313 1.654-.409.565-.096 1.311-.14 1.709-.131.4.007.531.122.531.122s.166.131.244.27c.077.138.74 1.891 2.973 2.005 2.233.112 2.263-1.096 2.065-1.464-.226-.427-.896-.863-.896-.863s-.899-.575-1.092-.847c-.191-.27.034-.357.104-.375.065-.017 2.435-.497 2.729-.609l.021-.021-.562-.171s-.119.134-.789.313-1.235.246-1.742.313c-.506.066-.506.239-.506.239l-.086.136c-.025.075-.067.321.375.642.528.387 1.172.75 1.438 1.04s.586.783.012 1.137a1.7 1.7 0 0 1-.778.264q.001.012 0 .012c-.248.021-.457.03-.638.03l-.155.009-.017-.013c-.506-.024-.746-.142-1.067-.302-.442-.223-.758-.73-.92-1.087s-.521-.662-.521-.662c-.588-.336-1.695-.343-2.813-.15-1.115.193-2.656.707-2.925.812a34 34 0 0 1-2.307.73c-.693.178-1.222.357-1.646.47-.427.111-3.432 1.005-4.556 1.339-1.126.334-1.849.46-1.849.46-1.688.172-2.193-.134-2.193-.134-.296-.124-.261-.526-.261-.526l.009-1.147s-.027-.433-.357-.611c-.328-.179-.779-.252-1.593-.29-.811-.038-1.683.044-2.093.134-.408.09-1.189.313-1.764.952-.572.641-.481 1.139-.481 1.139l.01.201c.154.245.416.524.862.739 1.015.485-1.137 1.342-1.137 1.342-.479.208-1.191.478-2.208.777-2.21.647-3.684.774-3.684.774l.679.254S47.82 8.907 49.5 7.307c0 0 .625-.293.021-.88-.606-.585-.898-.761-.898-.761s-.41-.223.02-.772a2.7 2.7 0 0 1 1.352-.933c.428-.135 1.754-.249 2.925-.093 0 0 .491.042.457.407-.032.365-.087.873-.077 1.028.01.157.025.515.399.845.379.332 1.098.453 1.098.453s1.257.228 2.845-.218c1.586-.444 3.65-1.141 5.438-1.629z" style="opacity:.1;fill:#232323"/><linearGradient id="K" x1="412.615" x2="501.587" y1="535.399" y2="514.885" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#FFF"/><stop offset=".654" stop-color="#FFF"/><stop offset="1" stop-color="#CBCCCE"/></linearGradient><path d="m91.596 12.992.271.486-.034.014c-1.114.515-3.999 1.32-4.271 1.398-.271.08-.166.234-.166.234.029.078.988 1.106.988 1.106 1.178 1.249.494 2.296.494 2.296s-.852 1.347-2.844 1.12a3.23 3.23 0 0 1-2.729-2.049c-.111-.282-.197-.768-.22-1.095-.022-.33-.272-.32-.272-.32-1.069-.03-2.887 1.089-2.887 1.089-.824.47-1.682 1.147-3.479 1.958-.879.396-1.694.716-2.287.936l-.967-.173.091.482-.063.021s-2.268.822-4.529 1.553c-2.268.732-3.65.8-3.65.8s-1.336.12-2.266-.266-.959-.94-.939-1.415.483-1.404.623-1.958c.139-.555-.683-.644-.683-.644s-1.958-.236-3.65.296c-1.69.535-2.54 1.159-2.54 1.159-.91.512-.863.957-.863.957s-.012.467.551.869 1.072.505 1.736.654c.668.149.791.311.791.311 1.08.894.416 1.785.047 2.434-.631 1.113-3.674 1.653-3.674 1.653-3.276.758-5.12 1.08-7.827 1.452l-.876-.46-.276.615c-7.089.936-10.065 1.877-11.065 2.135s-1.261.784-1.369.904.079.171.079.171c.427.137.647.442.647.442s1.399 1.697-.012 3.108c-1.359 1.36-2.785 1.674-2.785 1.674s-2.177.737-4.077.341c-1.899-.399-2.439-1.889-2.416-2.395.024-.505.176-1.075.694-1.661.517-.585.654-.667.654-.667s.358-.279.421-.415c.079-.172-.404-.233-.404-.233-1.034-.13-3.496-.097-5.822.131-1.439.14-2.769.374-3.578.518l-.223-.48-.543.625-3.12.504c-1.514.222-2.576-.028-2.576-.028s-1.331-.397-1.479-1.252c-.147-.852.359-1.87.49-2.177.13-.307.5-.934.5-.934s.068-.13.068-.34-.233-.536-.233-.536-.205-.396-.886-.38c-.682.018-.866.131-1.144.364a.6.6 0 0 0-.108.127.6.6 0 0 1 .073-.158c.21-.309.65-.668 1.401-.7.748-.034 1.041.228 1.041.228.719.82.115 1.845-.351 2.76a2.7 2.7 0 0 0-.229.483 3 3 0 0 0-.087.227c-.358 1.06.292 1.565.668 1.661s1.141.57 4.269-.031c3.13-.603 3.587-.731 3.587-.731s6.145-1.087 8.96-.425l.023.004s1.297.367.331 1.334c-.966.966-1.729 1.617-1.504 2.377.223.762 1.267 1.903 3.646 1.603 0 0 .842-.113 1.105-.165 1.733-.336 2.899-1.268 2.899-1.268s.972-.721.782-1.631c-.187-.908-1.017-1.189-1.017-1.189s-.659-.424-.141-1.237c0 0 .141-.69 2.553-1.317 2.412-.626 6.813-1.518 10.555-1.989 3.49-.408 9.652-1.575 10.89-2.08 1.235-.508 1.497-1.4 1.521-1.708.024-.31.072-.83-1.14-1.09-1.213-.259-1.758-.655-1.931-.79-.172-.138-.545-.483-.545-1.275s1.607-1.745 3.392-2.35c1.78-.606 3.927-.34 3.927-.34 1.948.167.936 1.963.936 1.963-.074.322-.946 1.785.5 2.169 1.541.409 4.175-.347 5.188-.669.829-.261 3.141-1.074 4.688-1.62.352-.122.66-.231.908-.318 1.656-.577 3.019-1.219 3.785-1.681.771-.462 2.144-1.297 2.144-1.297s1.351-.744 1.799-.808c.451-.064 1.619-.346 1.771.771.155 1.115.631 1.899 1.4 2.271a3.36 3.36 0 0 0 3.246-.231c1.182-.771.359-1.901.359-1.901q-.03-.042-.062-.085a3.7 3.7 0 0 0-.487-.646c-.388-.47-.736-.822-.736-.822-.295-.436.053-.692.425-.834.373-.141 2.351-.758 2.351-.758 1.155-.383 1.592-.551 2.053-.988.445-.419-.189-1.34-.239-1.412l.004-.002.608.256q.204.271.4.547l-.007.005s.226.527.054.799c-.095.149-.343.293-.545.395z" style="fill:url(#K)"/><path d="M57.455 92.28c-.034-.042-.042-.034-.012-.063.021-.021.086-.082.115-.137 0 0-1.17-.063-2.141.077-.962.137-1.933.335-1.933.335l.301.146s.127-.055 1.047-.183c.921-.128 1.267-.128 1.267-.128s.808-.063.969-.063c.162 0 .061.104.061.104s-.078.136.366.124c0 0 .663-.027 1.313-.188.001.005-1.13.24-1.353-.024M54.469 92.691s.146.266-2.923.394c0 0 1.788.052 3.31-.198 1.107-.18-.387-.196-.387-.196M13.114 9.856s-.005.096.019.131c.024.034.107.112.107.112s.328-.5.194-.438c0 0-.119.187-.164.23 0 0-.029.04-.088.077-.059.038-.065.023-.068-.112M10.595 12.501s-.388.46 0 .52l.528-.527s.139-.234.139-.398c.001-.001-.51.247-.667.405" style="opacity:.1;fill:#232323"/><path d="M21.093 23.707c1.227.146 1.499-.132 1.527-.172a28 28 0 0 0 2.865-.207c1.685-.21 3.564-.891 3.564-.891s1.554-.568 2.096-1.18l.016-.002s-.693-.6-1.057-1.122c0 0-.286-.557.027-1.035.316-.479.836-1.008 2.344-1.643 1.506-.636 2.356-.514 2.356-.514s.594-.006 1.007.45c.415.458.649 1.006.649 1.006s.029.38-.115.63l-.155.277s.049.017.378-.007c.329-.021 1.165-.142 2.67-.506 1.508-.363 3.407-.972 3.407-.972s4.9-1.578 5.407-1.714 1.357-.436 1.357-.436l.027.059s.405.663.392 1.269v-.057s-.021.301-.698.818c-.674.517-1.226.479-1.678.442-.452-.039-.665-.071-.794-.045l-.72.04c-.787.111-1.224.407-1.224.407-1.804 1.065.731 9.287.731 9.287-3.742.47-8.143 1.363-10.555 1.989s-2.553 1.317-2.553 1.317c-.519.813.141 1.236.141 1.236s.829.283 1.017 1.19c.19.91-.783 1.629-.783 1.629s-1.159.97-2.898 1.268c-1.738.298-2.396.35-3.429-.47-.91-.721-.297-1.864.312-2.301.612-.438.909-.91.988-1.113s.032-.376.032-.376l-.58-.534c-2.005-1.33-9.884.063-9.884.063-.213-1.169-.362-1.171-.282-3.117.051-1.244.291-1.752.291-1.752l.058-.164s.448-1.443 1.141-2.44c0 0 .602-.172 1.364-.349.764-.172 1.241-.258 1.241-.258" style="fill:#6b6b6b"/><linearGradient id="M" x1="231.232" x2="263.619" y1="-407.871" y2="-407.871" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#696969"/><stop offset=".37" stop-color="#2E2E2E"/><stop offset=".455" stop-color="#424242"/><stop offset=".601" stop-color="#303030"/><stop offset=".695" stop-color="#4A4A4A"/><stop offset="1" stop-color="#666"/></linearGradient><path d="M49.855 16.94s-4.085 1.326-3.891 1.254c0 0-.39.075-.686.161-.294.086-.539.247-.539.247s-3.288 1.222-6.438 1.848c-3.148.627-2.977-.361-2.708-.83.232-.409.829-1.112-.188-1.254-1.019-.14-1.788.251-2.21.439-.422.189-3.162 1.362-1.251 2.254 0 0 1.423.642-.377 1.755 0 0-1.816 1.16-5.355 1.77 0 0-.565.063-1.88.111a16.4 16.4 0 0 0-4.12.658c-1.378.391-1.992.579-2.744 1.065l.194-.501.2-.462c1.069-.533 3.719-1.288 5.717-1.378s2.908-.16 4.721-.624c2.134-.546 2.702-1.019 2.93-1.163.194-.123.771-.479.493-.633-.359-.199-.895-.729-.895-.729-.217-.256-.39-.373-.158-1.046.356-1.029 2.196-1.644 2.196-1.644s1.028-.534 2.334-.514c1.305.021 1.287.752 1.287.752s.062.34-.268.827c0 0-.503.579-.049.656.454.081 1.622.179 5.48-1.028s8.085-2.611 8.085-2.611.12.34.12.62" style="opacity:.45;fill:url(#M)"/><linearGradient id="N" x1="231.623" x2="263.494" y1="-407.063" y2="-407.063" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#525252"/><stop offset=".186" stop-color="#333"/><stop offset=".354" stop-color="#AEAEAE"/><stop offset=".42" stop-color="#ADADAD"/><stop offset=".428" stop-color="#9D9D9D"/><stop offset=".443" stop-color="#818181"/><stop offset=".461" stop-color="#6A6A6A"/><stop offset=".481" stop-color="#585858"/><stop offset=".506" stop-color="#4C4C4C"/><stop offset=".539" stop-color="#444"/><stop offset=".617" stop-color="#424242"/><stop offset=".668" stop-color="#454545"/><stop offset="1" stop-color="#BDBDBD"/></linearGradient><path d="M31.145 21.257c-.541.612-2.096 1.18-2.096 1.18s-1.88.68-3.564.891c-1.608.201-2.777.209-2.777.209l-.082-.002c-.175.145-.483.188-.728.21-.244.023-.806-.039-.806-.039s-2.156.432-2.603.616c0 0-.253.392-.331.539-.08.146-.299.594-.299.594 1.069-.534 3.718-1.289 5.717-1.379 1.997-.089 2.908-.159 4.721-.624 2.134-.546 2.702-1.019 2.929-1.163.195-.123.771-.479.493-.633-.358-.199-.894-.729-.894-.729-.217-.256-.391-.373-.158-1.046.356-1.029 2.196-1.644 2.196-1.644s1.028-.533 2.333-.514c1.306.021 1.287.753 1.287.753s.062.34-.269.826c0 0-.503.579-.049.657.455.08 1.622.178 5.48-1.028a575 575 0 0 0 8.085-2.612c-.098-.29-.296-.652-.296-.652s-.85.301-1.358.436c-.506.136-5.407 1.714-5.407 1.714s-1.9.608-3.407.972c-1.506.364-2.342.485-2.671.508-.329.021-.378.006-.378.006s.013-.027.156-.279c.144-.248.115-.629.115-.629s-.235-.548-.649-1.006-1.007-.45-1.007-.45-.849-.121-2.355.514c-1.508.636-2.029 1.164-2.346 1.643-.312.478-.026 1.035-.026 1.035.365.521 1.057 1.122 1.057 1.122" style="fill:url(#N)"/><linearGradient id="O" x1="236.917" x2="235.888" y1="-417.333" y2="-410.527" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#969696"/><stop offset="1"/></linearGradient><path d="M21.606 31.241s-.064-.328.172-.939c.234-.611.908-.595 1.362-.503.455.095.846.298 1.472-.124.627-.423.47-1.583.046-2.852-.423-1.267-.328-2.128-.328-2.128l-.608-.649-.237.696c.047 1.316.657 3.226.829 3.759.173.533.297.8-.735.517-1.034-.282-1.519.125-1.519.125-1.332.862-1.082 2.161-1.082 2.161z" style="opacity:.2;fill:url(#O)"/><path d="M27.498 36.633c-.264-1.763-.917-2.749-.917-2.749-.25.188-.513.693-.513.693s.179.208.471 1.568c0 0 .141.106.438.279.296.173.521.209.521.209M33.152 32.881s-.78.907-.378 2.336c0 0 .454-.379.585-.68 0 0-.145-.458.138-1.017.003 0-.127-.42-.345-.639" style="opacity:.5;fill:#141414"/><linearGradient id="P" x1="428.78" x2="429.53" y1="532.053" y2="524.469" gradientTransform="translate(-406.164 -500.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#333"/><stop offset=".431"/><stop offset="1" stop-color="#2E2E2E"/></linearGradient><path d="M21.2 31.253c.017-1.299.471-1.492.905-1.818.436-.328 1.326-.024 1.326-.024s.678.218 1.046-.1c.369-.319-.017-1.467-.217-2.123-.202-.653-.41-1.599-.445-2.262-.025-.489-.091-.707-.125-.789l-.205.604c.047 1.316.657 3.226.829 3.759.173.533.297.8-.735.517-1.035-.282-1.519.125-1.519.125-1.332.862-1.082 2.162-1.082 2.162l.259-.027z" style="opacity:.18;fill:url(#P)"/><path d="M26.239 34.29c.045.06.421.597.736 2.113l.005.025c.294.17.519.205.519.205-.264-1.763-.917-2.749-.917-2.749-.122.093-.246.259-.343.406M33.152 32.881s-.78.907-.378 2.336c0 0 .125-.104.262-.248l.021-.051a2.03 2.03 0 0 1 .283-1.763l.004-.003a1.3 1.3 0 0 0-.192-.271" style="opacity:.3;fill:#505050"/><path d="M17.159 8.189h.117c-.16.481-.789 1.141-1.068 1.583-.156.248-.252.572-.474.751.038.043-.003.003.04.04.088.052.813-.139.95-.236.082.015.076.011.12.039.042.07-.481.991-.595 1.109v.04c.196-.023.502-.056.634-.16.383-.299.47-.937.75-1.346l-.04-.196c-.222-.04-.681.02-.87.157h-.039c.091-.473.868-1.346 1.146-1.741.454-.647.881-1.269 1.345-1.9.243-.331.585-.622.831-.949.276-.367.569-.85.949-1.107v-.079h-.158c-.186.135-.675.218-.908.354.032.135.019.101.118.158-.139.386-.598.673-.832.991-.371.5-.784.968-1.147 1.464-.123.164-.205.421-.356.553-.237.208-.913.185-1.185.396h-.08c.056-.332.907-1.392 1.147-1.622v-.04c-.408.057-.724.273-.989.473.044.091.037.073.12.12-.145.238-.361.415-.515.633-.197.275-.305.602-.514.871q.021.058.04.118c.252-.022 1.305-.356 1.463-.474m34.777 5.345.596.197c.159.002.327-.002.432-.04-.009-.654-.364-.913-.593-1.345-.113-.22-.175-.523-.355-.673.069-.242.727-.308.988-.396.643-.211 1.371-.422 2.02-.633.305-.099.664-.077.91-.236.146.015.22.029.277.118.143.212.26 1.667.156 2.097-.398 1.663-.896 2.963-1.938 3.958v.039c.385-.062.568-.436.83-.632 1.051-.794 1.762-1.972 2.137-3.444.221-.865-.14-1.713.199-2.452h-.039c-.074-.188-1.082-.553-1.388-.555-.164.177-.399.416-.634.515-.357.152-.838.109-1.146.315-.287-.024-.506-.57-.315-.791-.011-.09-.009-.112-.04-.158-.239-.191-.85-.171-1.268-.158-.133.125-.252.15-.314.358h-.039c-.021.076.02.05.039.078.025.016.163-.007.236.04.449.047.438.566.675.831-.027.069-.011.04-.042.08-.155.123-1.301.453-1.543.515-.185.046-.414-.068-.553-.081-.336-.028-.633.16-.831.277.107.157.434.118.554.276.421.559.609 1.279.989 1.9m7.871-.557c.187.093.187.332.278.514.185.371.437.82.554 1.228v.316c.092.252.396.284.596.435.156-.021.214-.061.314-.118-.066-.753-.525-1.378-.791-1.979-.08-.188-.207-.452-.236-.633-.021-.109.063-.169 0-.276-.051-.123-.072-.085-.156-.159-.059-.04-.031-.016 0-.078.068-.144.213-.287.275-.436.133-.313.127-.576.396-.751-.04-.41-.639-.457-1.107-.435a.6.6 0 0 1-.24.077c.05.103.082.124.199.157.113 1.161-.699 2.225-1.229 2.928-.208.279-.556.456-.75.754h-.04v.038c.525-.086 1.67-1.176 1.937-1.582m-47.4 9.853c-.081.017-.076.009-.117.039-.288.148-.773 1.426-1.346 1.069-.292.002-.319-.055-.476-.16.02-.376.659-1.063.913-1.226.031-.604.187-1.252.118-1.819q-.061-.022-.118-.039c-.14-.046-.25.168-.357.276-.29.291-.648.597-.871.949-.337-.003-1.414-.013-1.623.119h-.119c.099-.256.86-1.096.633-1.464q-.018-.06-.04-.12c-.722.002-1.592 1.287-1.82 1.82-.115.266-.115.573-.276.791v.04l1.622-.199c.205-.044.487.052.633-.039h.554l.277-.356c.33-.349.768-.702 1.028-1.106h.119v.551c-.303.273-.773.695-.91 1.108v.316c-.203.88.223 1.329.99 1.267.5-.466 1.324-.848 1.226-1.779-.042-.035-.003.005-.04-.038m-4.588-.712H7.58c.109-.436.537-.935 1.069-.95v.197l-.554.713c-.113-.002-.215-.002-.276.04m85.225.197a12 12 0 0 0-.475-1.068c-.3-.574-.613-1.414-1.464-1.425-.211.179-.435.322-.555.593-.777 1.762.819 3.747 1.543 4.71.256.339.557.712.948.908-.091 1.376-1.269 1.813-2.53 1.267-.899-.386-1.617-1.237-2.179-1.979-.188-.249-.481-.457-.672-.713-.177-.239-.304-.507-.515-.713v-.039h-.078c.107.426.354.815.514 1.188.669 1.538 1.52 2.614 2.811 3.521.608.428 1.621 1.104 2.494.475 1.526-1.098.783-5.189.158-6.725m-.116 1.901c-.104.1-.539-.419-.635-.515-.441-.443-1.329-1.221-.83-1.979h.197c.388.403.746.788.99 1.344.129.299.152.805.313 1.069-.022.07-.005.04-.035.081m-26.235 7.912v-.395c.179-.801.137-1.765.314-2.572.241-1.088-.101-2.148.99-2.414.021-.106.057-.148 0-.238-.025-.067-.009-.039-.04-.079-.043-.031-.038-.024-.116-.039-.305.222-1.131.373-1.543.474-.313.076-.639.01-.871.158l-.119.04q.019.12.041.237c.451.147.867-.031 1.067.356.13.252.112 1.157.039 1.504-.251 1.163-.146 2.491-.396 3.64-.086.397.022 1.171-.157 1.463v.08c-.241-.115-.397-.426-.554-.633-.354-.467-.875-.84-1.229-1.305-.213-.281-.437-.617-.712-.833.037-.761.259-1.56.438-2.254.131-.522.135-1.005.395-1.386.148-.217.505-.355.751-.475-.002-.1-.004-.146-.04-.198-.014-.04-.023-.079-.037-.119-.543.081-1.003.341-1.505.475-.454.123-.911.092-1.269.276.012.091.01.112.041.158.014.039.024.08.039.118 1.391-.078 1.18.678.912 1.742-.084.326-.029.775-.199 1.028v.079h-.039c-.285-.433-.713-.852-1.067-1.227l-.435-.395c-.104-.137-.16-.312-.278-.436.024-.437.38-.549.713-.672-.015-.183-.052-.206-.118-.317-1.031.151-1.927.73-3.086.791v.041h-.04c.004.1.004.146.04.197v.079c.227.039.564-.054.831.04.427.15.81.648 1.067.99.388.513.996.949 1.384 1.463.204.274.434.634.713.832-.038.696-.229 1.428-.396 2.058-.086.323-.035.735-.197.988-.025.069-.01.039-.041.08-.377-.718-1.104-1.265-1.582-1.9-.918-1.22-1.938-2.319-2.889-3.521 0-.167.01-.268.08-.356.073-.229.359-.443.633-.476.015-.12.033-.135-.039-.238-.016-.038-.026-.077-.041-.118-.803.123-1.521.497-2.293.714-.401.112-.928.057-1.229.276q-.06.02-.117.04c.021.152.061.176.117.277.314-.005.646-.092.949 0 .793.241 1.361 1.137 1.818 1.742.201.266.513.483.713.751.849 1.129 1.808 2.146 2.65 3.285.328.442.771.825 1.066 1.304.179-.004.216-.025.316-.079.213-.929.332-1.866.596-2.81.119-.432.269-.942.314-1.424.327.117.592.607.793.871.618.821 1.491 1.502 2.057 2.373.164-.007.182-.026.277-.078.179-1.342.348-2.688.52-4.033M4.297 38.894c-.013 2.467-.142 6.269 1.781 6.806.7.193 1.087-.271 1.306-.595.786-1.17.565-3.446-.199-4.43-.339.034-.825.84-.988 1.106-.082-.016-.075-.011-.119-.04-.091-.041-.085-.066-.159-.118-.06-.933.127-1.802.159-2.691 1.044.102 1.941.696 3.007.751-.001-.185 0-.434.077-.552-.009-.092-.007-.112-.04-.16-.145-.115-.949-.306-1.186-.315v-.04h-.04c.146-1.174-.186-2.082-.99-2.414l-1.346-.239c-.229-.083-.341-.266-.514-.395-.058-.38-.133-.806.159-1.029-.021-.142-.032-.168-.119-.238v-.039h-.04a2.9 2.9 0 0 0-.315.792c-.234.983.309 1.818.909 2.018l1.188.197c.314.122.453.379.671.595-.009.512-.5.568-.91.435-.64-.208-1.321-.353-1.977-.592-.172-.064-.333-.17-.555-.199l-.08.751 1.662.515c-.023 1.398-.574 3.074.119 4.153a.5.5 0 0 1 .198.08c.78-.054.943-.68 1.345-1.108.342.82.086 2.253-.671 2.453-.326.224-.803-.066-.989-.237-.648-.599-.785-1.511-1.027-2.532-.083-.344.033-1.042-.118-1.307.006-.404.092-1.134-.12-1.344v-.039zm95.039 6.649c-.143-.666.055-1.478-.08-2.097v-.633c-.097-.453-.059-1.056-.156-1.502-.189-.882-.022-1.926-.355-2.652a2.5 2.5 0 0 0-.671-.08c-.103.104-.179.158-.159.278.083.359.547.432.673.792q.02.258.04.514c.133.561.111 1.286.236 1.86v.475c.063.289.16 1.036.078 1.267-.139.41-.584.78-.868 1.068-.754.755-1.64 1.715-2.97 1.859-.025.068-.01.039-.041.08.022.494.476.396.793.594l.236-.042c.122-.074.191-.242.276-.356.2-.261.563-.399.751-.671h.04c.002 1.205.028 2.561.04 3.718h.117c.272-1.172.252-2.61.238-4.039.521-.486.853-1.19 1.385-1.66v-.078h.041c.007 1.251.037 2.529.037 3.797 0 .407-.102 1.378 0 1.544v.237h.08c.106-.425.133-1.023.236-1.501v-.674c.118-.534.117-1.563.003-2.098m-71.023 2.53c-.347-.144-.776-.461-.989-.751-.637-.875-1.337-2.948-.87-4.51.379-1.266 1.202-2.127 2.532-2.454.673-.163 1.397.062 1.821.278 1.208.622 1.725 1.506 2.096 2.967.48 1.887-.132 3.619-1.385 4.194l.237 2.295c.444-.013.852-.105 1.227-.199.629-.155 1.271-.176 1.86-.315.431-.104 1.052-.015 1.384-.237.079-.17-.247-1.35-.315-1.623-.057-.229-.009-.461-.119-.633v-.079q-.138.018-.277.039c.018 1.195-.834 1.032-1.781 1.267-.473.119-1.049.27-1.581.276l-.001-.514c.045-.083.739-.386.868-.476a4.7 4.7 0 0 0 1.229-1.304c.202-.327.366-.764.473-1.149.138-.489.154-1.17.041-1.662-.079-.338-.048-.603-.158-.91-.427-1.187-1.322-2.054-2.453-2.532-.513-.216-1.093-.224-1.7-.356-.539-.116-1.509.124-1.901.238-1.905.562-3.198 1.48-3.799 3.323-.236.728-.163 1.736.04 2.414.467 1.561 1.773 3.02 3.72 3.047v.039c.062.088.06.264.118.355-.024.067-.009.039-.04.08-.164.111-.404.061-.633.117-.47.118-1.986.486-2.334.158-.222-.072-.37-.363-.396-.632-.099.004-.146.004-.197.039h-.082q.219 1.149.435 2.296h.041v.04q2.078-.36 4.154-.713l-.593-2.179c-.112-.168-.468-.148-.672-.234m67.701-4.391c.086.218.254.58.435.712.086.063.132.04.198.119 1.31.113 1.842-2.143 1.308-3.442-.095-.225-.517-.885-.911-.633h-.08c.026-.069.01-.038.04-.08-.001-.188-.021-.25-.077-.356-.08-.013-.156-.026-.238-.038-.039.031-.01.014-.078.038.027.24.111.247.119.514-.64.583-1.185 1.981-.716 3.166m.432-2.097c.088-.213.265-.35.396-.515.082-.015.075-.01.117-.04.301-.001.385.057.555.159.301.711.346 1.954-.156 2.494-.077.085-.229.116-.315.197-.829-.063-.897-1.575-.597-2.295M78.092 57.168c-.445-.273-.507-1.675-.673-2.294-.327-1.215-.483-2.489-.831-3.72-.223-.788-.523-1.605-.435-2.572.139-.138.231-.32.396-.436.223-.154.58-.229.752-.436.027-.051-.019-.128-.041-.238-.459.074-.879.35-1.267.515-.792.337-1.567.536-2.373.87-.252.104-.515.282-.833.315v.238q.041.02.08.04c.042.045 1.033-.392 1.346-.118.356.125.311.59.514.872-.061.614-.672 1.558-.912 2.097a63 63 0 0 1-1.816 3.836c-.248.477-.543 1.334-.871 1.701v.039c-.216-.296-.199-1.051-.314-1.462-.353-1.235-.578-2.591-.951-3.798-.068-.23-.305-1.279-.156-1.503.051-.546.822-.785 1.266-.95q-.017-.14-.039-.277c-.701.105-1.429.479-2.058.713-.595.223-1.14.313-1.741.516-.298.102-.636.275-.986.314v.041h-.041c.015.112.025.172.078.237.162.107 1.03-.352 1.386-.077.557.19.573 1.075.752 1.66.481 1.579.728 3.327 1.187 4.947.115.404.391 1.686.119 2.018-.148.439-.885.615-1.306.791q.02.12.036.237c.609-.09 1.162-.373 1.707-.56 1.063-.354 2.066-.65 3.089-1.029-.017-.092-.027-.186-.041-.275-.437.116-.773.248-1.386.236l-.235-.199q-.101-.316-.199-.632c.043-.499.683-1.421.91-1.86.673-1.293 1.262-2.6 1.856-3.955.229-.519.754-1.275.832-1.857.184.111.133.438.197.672.135.475.211.98.355 1.503.281 1 .391 2.075.673 3.126.104.387.261 1.048.08 1.464-.179.404-.841.673-1.267.83.017.084.037.183.08.238.004.007.906-.288 1.064-.354 1.104-.471 2.236-.959 3.361-1.386-.015-.093-.024-.187-.039-.274-.28.071-.92.435-1.305.196m18.711 3.33c-.143.13-.354.163-.514.277-.501.359-1.025.962-1.385 1.463-.288.402-.534.843-.791 1.268-.112.188-.137.402-.277.553v.08c.346-.059.549-.283.792-.436a29 29 0 0 0 1.858-1.225c.295-.217.515-.551.83-.754.029-.473.125-.844-.077-1.188a2 2 0 0 0-.436-.038m-.474 1.423c-.239.177-.47.423-.712.595-.208.146-.458.224-.633.396h-.04c.13-.408.817-1.107 1.146-1.344.17-.124.383-.157.557-.279h.156c.036.046.034.044.08.08-.037.298-.36.405-.554.552m-85.504 1.544c-.166-.502-.278-.99-.435-1.465-.079-.246-.062-.525-.199-.713v-.118c.269.097.679.087.911.238h.201c-.045-.206-.086-.552-.201-.713-.12-.195-.886-.197-1.106-.354-.312-.244-.607-.947-.832-1.307-.56-.887-1.302-1.832-2.137-2.453-.443-.329-.751-.671-1.544-.673l-.276.198c-.178.789.139 2.248.592 2.611v.078a1.2 1.2 0 0 1-.514-.275h-.04c.007.227.051.522.158.672.046.195.362.354.554.396a26 26 0 0 0 .95 3.05c.289.758.436 1.48.75 2.213.155.356.522.617.634.99h.117c-.089-.334-.271-.646-.394-.949-.364-.875-.653-1.804-.952-2.688-.194-.583-.328-1.146-.514-1.703-.069-.21-.049-.427-.158-.595v-.039c.269.049.43.188.634.276.461.201.903.277 1.385.476.353.146.796.347 1.228.396.048.359.253 1.301.435 1.545v.117c-.602-.412-.589-1-1.663-.91a.8.8 0 0 1-.197.158 1.4 1.4 0 0 0 0 .909c.257.646 1.072 1.991 1.741 2.179.257.184.634-.043.75-.24.242.127.293.682.395.951.212.558.522 1.289 1.031 1.543v.041h.083c-.066-.447-.318-.851-.475-1.229-.35-.855-.624-1.754-.912-2.613M9.678 60.26c-.418-.03-.773-.193-1.108-.315-.894-.332-1.703-.615-2.492-.991-.095-.358-.76-1.644-.396-2.095l.079-.12c.081-.019.077-.011.119-.039 1.219.146 2.442 1.629 3.046 2.452.236.32.43.799.752 1.029zm.633 3.441-.356.436c-.105.078-.223.109-.316.198-.68-.021-.704-.686-.989-1.108.005-.389.152-.39.315-.594.092-.007.112-.007.158-.037.614.004.753.278 1.109.515.058.233.095.334.079.59m23.267 6.093c-.165-.271-.49-.342-.713-.554-.069-.023-.04-.007-.079-.039.51-.264 1.053-.555 1.583-.79.142.158.801.792 1.029.671q.06-.017.118-.038-.018-.336-.04-.673a4.03 4.03 0 0 0-2.059-1.066v.039h-.039c.093.273.398.534.636.672v.119c-.469.068-.885.295-1.307.437-.289.093-.638.08-.873.235h-.117c.171-.479.737-.871 1.028-1.267.576-.776 1.033-1.728 1.94-2.176-.024-.365-1.076-1.12-1.464-.871-.097.051-.029-.021-.079.078-.059.144.137.321.079.554-.076.305-.831 1.74-1.029 1.9v.041c-.408-.139-.718-.523-1.107-.713.069-.364.375-.644.554-.91.453-.684.816-1.335 1.503-1.782-.006-.526-.855-1.075-1.425-1.065.002.242.125.379.08.592-.14.646-.435 1.297-.672 1.861-.156.364-.226.799-.476 1.065-.054.03-.492-.006-.594-.077a1.3 1.3 0 0 0-.394.038v.079c.666.645 1.387.865 2.295 1.268-.126.655-.786 1.092-1.108 1.584-.166 0-.3-.011-.395-.08-.091.017-.098.021-.158.041.016.582.5 1.077.987 1.188.327-.366.737-.543 1.228-.751.449.468.578 1.137.751 1.897.075.332-.047.697.04.988.152.514.426.667.672 1.027h.277c.174-.93-.253-1.832-.475-2.571zm62.512-6.686c-.238.202-.57.296-.83.475-.4.282-.758.659-1.146.95-.177.134-.435.253-.556.436-.199.299-.16.806-.396 1.067v.157c.314-.114.464-.483.713-.672.307-.23.563-.536.87-.754.192-.133.411-.207.594-.355.125.023.115.037.199.081-.021 1.005-.549 1.714-.871 2.454-.093.215-.121.551-.276.71-.074.076-.229.094-.314.157l-.794.873c-.25.344-.365.803-.632 1.146-.002.114-.002.216.037.276.041.031.11.059.16.08.51-.483 1.004-.887 1.424-1.465.658-.904.986-2.047 1.465-3.125.3-.683.734-1.354.711-2.334a.7.7 0 0 1-.117-.158zm-2.77 6.253v.039h-.04c.069-.475.43-.606.596-.952h.079c-.051.394-.35.746-.635.913m-59.149.632c-.08.342.76 1.106 1.027 1.308.133.1.312.328.515.235.104-.008.136-.019.199-.04.046-.105.115-.24.039-.354-.021-.497-1.311-1.054-1.78-1.149m3.799 3.044c.067.034.122.021.198-.039.139-.113.063-.313.159-.475.222-.159.615-.118.911-.199.809-.213 1.753-.198 2.65-.396.425-.093 1.128.16 1.464-.037.04-.016.081-.026.118-.043-.019-.517-1.009-.737-1.545-.588-.237.066-.513.213-.751.275q-.278.021-.555.038c-.062-.644-.38-1.144-.395-1.817.595-.013 1.341-.091 1.739-.316-.008-.2-.045-.2-.118-.314-.453-.107-1.23-.126-1.583.116-.1-.004-.147-.004-.197-.039-.221-.28-.116-.851-.316-1.146v-.158c.426-.092 1.122-.168 1.345-.475.031-.041.014-.011.039-.078-.036-.035-.051-.068-.079-.119-.619-.156-.887-.049-1.423.158-.167-.535.034-.959-.514-1.108.117-.203.506-.194.751-.276a7.6 7.6 0 0 0 1.148-.474c.026-.068.007-.04.04-.08-.022-.2-.078-.193-.159-.316-.571-.044-1.027.011-1.346.316h-.076c.047-.295.231-.718.394-.949.112-.162.318-.14.396-.356h.04V64.1q-.12-.158-.238-.314c-.186-.13-.454-.143-.632-.279-.263-.004-.515-.003-.672.079.021.152.089.248.119.356.109.408-.284 1.669-.436 1.859-.123.154-1.551.672-1.939.555-.092-.029-.36-.164-.435-.239-.032-.039-.015-.008-.04-.077.561-.527.965-1.702 1.741-1.939l.041-.196c-.194-.2-1.135-1.188-1.622-.871-.04.014-.079.022-.117.038 0 .338.168.593.078.949-.182.711-.587 1.556-.95 2.139-.218.35-.693.729-.712 1.229.646-.064.802-.731 1.304-.912q.218.203.436.396c.207.311.168.778.276 1.186q.279 1.285.554 2.571c.025.425.052.845.08 1.269.105.381.42 1.046.829 1.138m1.263-3.005c.031.368.258 1.407.436 1.662l.001.08c-.477.102-.973.239-1.504.237-.082-.564-.352-1.061-.355-1.662.607-.011.92-.255 1.422-.317m-2.294-3.282c.063-.107 1.113-.273 1.228-.199.42.195.27.813.514 1.188-.083.194-1.047.487-1.345.514-.053-.419-.123-1.276-.397-1.503m1.821 1.503h.04c.076.36.119.978.317 1.267-.142.348-1.016.317-1.346.516-.138-.083-.32-1.076-.316-1.346.302-.028 1.086-.288 1.305-.437m-6.846 2.253c-.06.135-.053.354-.117.514-.342.84-.454 1.015.079 1.82.237 0 .269-.037.396-.119.157-.657.182-1.907-.358-2.215m45.109.238c-1.154-.285-2.125.285-3.325.199-.114-.121-.2-.19-.275-.356-.835.024-1.757 1.886-.909 2.453.453.308 1.744.129 2.295 0 .306-.071.783-.139 1.027.038.332.247.273 1.182.157 1.703q-.199 1.462-.396 2.929a400 400 0 0 1-.356 1.779c.606-.003 1.178-.623 1.349-1.069.1-.258.047-.502.119-.791.209-.83.237-1.82.436-2.689.127-.563.041-1.1.156-1.621.086-.393.143-1.696.041-2.059-.061-.201-.216-.359-.319-.516M22.857 82.695c-.135-.102-.229-.283-.356-.395-.473-.42-1.029-.826-1.543-1.188-.426-.298-1.008-.476-1.387-.829-.01-.086.123-.296.041-.516-.335-.896-1.589-1.933-2.374-2.412-.363-.225-.972-.328-1.305-.555-.246-.017-.374-.025-.435.155-.097.218.209.521.315.675.271.381.581.826.95 1.104.276.209.591.392.83.635h.119c-.154-.426-.609-.657-.949-.909-.311-.229-.449-.632-.712-.909.021-.125.035-.115.08-.199 1.093.009 1.802 1.012 2.294 1.662.22.291.571.461.594.951-.116 0-.216 0-.276-.041h-.119c.188.522.824.479 1.267.754.888.549 1.603 1.409 2.373 2.094.262.234.719.466.791.873-.537-.028-.917-.327-1.261-.555-.614-.4-1.597-1.1-2.019-1.662-.08-.104-.106-.263-.199-.355-.109-.111-.261-.145-.355-.275h-.158c-.039.41.407.705.671.948.819.75 1.696 1.442 2.73 1.979.373.191 1.053.521 1.465.275-.055-.566-.702-1.025-1.072-1.305m24.369 2.612c-2.014-1.379-4.985-2.775-8.427-2.689-.167.104-.503.021-.711.078-.288.076-.464.223-.672.355-.008.971 1.446 1.496 2.255 1.698.483.123.909-.104 1.188-.198.215-.82-.776-.94-1.227-1.347h-.081v-.038c3.036-.119 5.308.729 7.043 2.02.433.322.93.783 1.148 1.306.081.194.116.515 0 .674-.159.44-.685.401-1.188.515-1.162.267-2.755-.391-3.285-.91-.108.189.049.48-.118.674-.176.478-.788.354-1.346.474-.917.199-2.353-.271-2.888-.632-.149-.104-.257-.286-.396-.396a.6.6 0 0 0-.041-.199c.081-.073.177-.187.237-.275 1.139-.085 1.718-.027 2.376.596-.017.078-.01.073-.041.114-.074.152-.245.17-.474.161v.074c.417.004.593-.059.83-.197l.04-.236c-.136-.141-.231-.328-.396-.438-.65-.426-1.991-.641-2.729-.156-.116.561.232.864.554 1.105.646.488 1.191.771 2.098 1.029.291.082.55.008.871.076.28.064.765.079 1.068 0 .504-.128 1.205-.658.632-1.268v-.037c.299.109.544.402.831.556.761.397 2.021.726 3.167.476.562-.125 1.143-.125 1.303-.635.179-.277-.068-.668-.156-.826-.369-.66-.855-1.09-1.465-1.504m-7.32-1.822c.14.094.22.291.356.396-.003.1-.004.148-.04.199-.257.697-1.706.182-2.058-.081-.11-.08-.153-.248-.236-.354.015-.082.01-.076.041-.116.108-.306.417-.203.671-.354.502-.001.956.099 1.266.31m36.719.396h-.396c-.262.209-.692.236-.991.396a7 7 0 0 0-.829.515c-.207.148-.326.418-.516.592.004.197.008.229.16.277.039.029.01.018.075.04.042-.047.08-.063.12-.12.033-.023-.027-.104-.04-.232.384-.386.667-.598 1.228-.832.144-.059.447-.233.634-.119h.079c-.026.391-.916 1.591-1.188 1.781v.115c.729-.188 1.215-1.643 1.702-2.174-.013-.09-.01-.111-.04-.157zm-3.166 2.928c-.234.209-.807.229-1.066.435h-.041c.104-.149.291-.213.396-.354.076-.104.107-.226.197-.315-.018-.081-.01-.075-.039-.117v-.08c-1.155-.212-3.084.784-3.68 1.308-.155.135-.248.336-.396.477a.7.7 0 0 0 .039.236c.701.047 2.016-.383 2.174-.949.031-.025.012-.002 0-.04v-.079c-.479-.027-1.124.075-1.422.355h-.039c.26-.396 1.223-.746 1.739-.91.172-.053.55-.149.714-.039.037.015.077.025.117.039-.094.396-.657.838-1.029.949v.08c.607-.141 1.163-.416 1.7-.634.368-.149.786-.188 1.108-.396.229-.149 1.008-1.207 1.068-1.504-.913.138-.987 1.042-1.54 1.538m-3.126.791v.119c-.075.049-.129.156-.198.196-.205.12-.479.106-.674.238-.09-.011-.109-.009-.156-.041h-.039c.107-.337.759-.491 1.067-.512m-16.498 3.717c.015-.037.025-.078.039-.117l-2.927-.119c-.123.082-.312.035-.475.079-.202.059-.426.15-.593.239.026.067.008.038.04.077.238.188 1.624.199 1.9 0h.078v-.077c-.419-.134-1.183.2-1.503 0h-.041v-.041c1.052-.073 2.23-.044 3.325-.04-.105.072-.328.051-.436.119l-.117.039v.08q.357.057.711.117c.037.041-.004.004.039.037-.35.233-1.254.139-1.581-.037v-.08c-.178-.082-.991.084-1.148.117-.133.03-.27-.014-.357.039-.165.01-.181.029-.276.079.022.128.035.115.08.198.255.06.696.064.987.156v-.039h.04v-.039c-.148-.057-.559-.025-.713-.115h-.079c.132-.104 1.425-.278 1.663-.119.067.023.039.007.079.039-.211.038-.424.08-.634.117.025.066.009.039.04.078.065.045.193.045.316.039-.04.074-.054.109-.119.158q.02.036.04.078c.561 0 1.031-.057 1.502-.156.28-.062.624.052.831-.08h.317v-.078c-.539-.002-1.885-.055-2.215.158h-.117c.033-.043-.004-.004.038-.041.155-.18.471-.09.75-.156.44-.104 1.168-.284 1.544 0 .105.064.04-.008.039.117.107-.002.181-.002.236-.036h.277v-.081c-.359-.088-.889-.251-1.188-.434-.17-.104-.092-.248-.392-.275m-40.2-72.958c-.088.32-.274.593-.395.87-.268.613-.507 1.225-.751 1.822-.207.496-.335 1.295-.633 1.699v.079c.416-.074.698-.493.949-.751.617-.634 1.92-2.22 1.9-3.402a1 1 0 0 1-.159-.237 3.8 3.8 0 0 0-.911-.08m.159 1.663c-.181.298-.281.592-.476.871-.178.255-.46.452-.633.713h-.041c.051-.302.214-.546.319-.792.235-.561.396-1.118.671-1.621.152.003.268.015.356.078.095.052.028-.018.079.08.081.197-.179.511-.275.671M84.023 7.875c-.414-.416-.729-.938-1.147-1.346V6.49c-.205.073-.899.688-1.028.871-.25-.095-.391-.365-.594-.514-.676-.508-1.313-1.167-2.49-1.147-.148.115-.367.118-.556.197-.53.23-1.083.688-1.305 1.227-.249.602.004 1.491.196 1.939.392.904 1.03 1.667 1.582 2.414.457.615.973 1.252 1.819 1.464.956.238 1.422-.884 1.781-1.308.37-.435 1.182-.539 1.464-1.107.104-.207.034-.615-.039-.791-.18-.426-1.066-1.622-1.425-1.859.024-.239.135-.247.235-.396.248.121.338.471.516.673.227.258.546.396.791.632.378.003.604-.094.79-.277h.041c-.093-.265-.442-.448-.631-.633m-2.253 4.273c-.699.165-1.047-.293-1.424-.673-.938-.935-1.57-2.093-2.298-3.244-.247-.396-.885-1.134-.554-1.702h.156c.199.299.539.507.754.792.591.784 1.313 1.469 1.898 2.255.359.485.758.94 1.106 1.424.178.249.315.565.556.751-.04.18-.116.264-.194.397m.591-2.809c.32.439.755.688.751 1.463-.122.116-.157.224-.356.276-.039.032-.011.015-.078.041-.56-.932-1.367-1.711-2.017-2.573-.212-.282-.541-.511-.752-.791-.362-.48-.793-.864-1.188-1.305-.113-.131-.168-.257-.313-.357.033-.086.031-.057.076-.118.672.006.994.458 1.386.753.967.725 1.778 1.626 2.491 2.611" style="opacity:.88;fill:#231f20"/><radialGradient id="Q" cx="251.809" cy="-408.361" r="72.751" gradientTransform="matrix(1 0 0 -1 -213.764 -386.502)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-opacity="0"/><stop offset=".802" stop-opacity=".08"/><stop offset="1" stop-opacity=".388"/></radialGradient><path d="M49.885 17.037c.014-.606-.392-1.27-.392-1.27l-.025-.058s-.487-.949-1.302-1.228c-.815-.278-1.478.342-1.478.342l-.429.494c-.313.364-.507.666-1.198.938-.692.271-1.379.204-1.743.033a.9.9 0 0 1-.457-.537s-.229-.722-.313-1.049c-.086-.331-.309-1.694-.309-1.694s-.491-2.747-.534-3.304c0 0 1.475-.126 3.687-.775 2.299-.673 3.043-1.206 3.043-1.206s-.432-.156-.484-.662c-.051-.507-.089-1.19-.089-1.19s-.089-.5.483-1.139c.571-.64 1.354-.863 1.762-.953.41-.089 1.281-.17 2.093-.134.812.038 1.267.112 1.593.291.328.178.357.61.357.61l-.008 1.146s-.037.402.261.529c0 0 .505.305 2.196.133 0 0 .72-.126 1.846-.46 1.125-.335 4.129-1.229 4.554-1.341s.953-.291 1.646-.469a34 34 0 0 0 2.308-.73c.271-.104 1.812-.618 2.927-.81 1.115-.195 2.227-.186 2.813.149 0 0 .357.304.521.662.163.358.478.863.923 1.088.454.227.752.371 1.875.273 0 0 .022-.096-.395-.37-.417-.277-.991-.701-.991-.701s-.336-.245-.411-.447c-.072-.202-.043-.306-.043-.306l.877-1.406s0-.172.508-.238c.506-.067 1.071-.134 1.74-.313.67-.178.788-.312.788-.312l.58.178s3.546 2.853 4.655 3.583l.199-.239s.436.018.826.172c.394.154.979.562.979.562s1.612 1.31 2.071 2.2l.223.679-.102.161s.918 1.307 2.096 2.602c0 0 1.227 1.664 1.689 2.09 0 0-.108-.399-.201-.849l.336-.226.203-.144.617.259c3.573 4.811 6.432 10.424 8.141 16.328l-.12.484.395.501a51 51 0 0 1 1.728 13.211 52 52 0 0 1-.107 3.339l-.304.511.225.555c-2.231 26.1-24.124 46.584-50.801 46.584-18.502 0-34.702-9.854-43.637-24.6l-.102-.364-.205-.153A50.6 50.6 0 0 1 .874 48.944l.212-.525-.336-.483a51 51 0 0 1-.322-5.756c0-2.985.255-5.909.748-8.755l.25-.562-.087-.328a50.6 50.6 0 0 1 6.474-16.799l.684-.384.081.032s.233-.169.354-.217l.076-.023s1.179-1.971 1.625-2.601c0 0 .542-.348.745-.407 0 0 .124-.016.189.076 0 0 .496-.432 1.699-2.054l.012-.017s-.114-.076-.131-.174.108-.591.173-.717.108-.156.108-.156 1.722-2.032 3.151-3.238c0 0 .26-.202.678-.25 0 0 1.472-.613 3.264-2.184 0 0 .051-.289.478-.858.428-.57 1.456-1.163 2.222-1.337.764-.174.896-.038.896-.038l.064.065.515.766s.565-.316 1.413-.604c.847-.289.979-.262.979-.262l.825 1.336-.987 2s-.644 1.421-1.655 2.185c0 0-.472.284-1.12.127s-1.072.333-1.072.333l-.17.14s.14-.024.346-.103c0 0 .158.065.274.223.114.158.913 1.175.913 1.175s.005.837-.415 1.938c-.419 1.1-1.467 2.891-1.467 2.891s-.733 1.424-1.075 2.253-.515 1.765-.488 2.262c0 0 .187.062.707-.202.655-.332 1.083.027 1.083.027s.719.53 1.041.881c.262.289.802 1.765.209 3.224 0 0-.402 1.008-1.377 1.724 0 0-.216.332-1.529.174-.368-.043-.585-.276-1.372-.2-.785.077-1.231.815-1.231.815l.013-.024c-.692.999-1.154 2.458-1.154 2.458l-.057.165s-.241.509-.292 1.752c-.053 1.284.284 3.109.284 3.109s7.876-1.387 9.88-.055l.58.532s.046.174-.031.376c-.08.204-.375.673-.987 1.113-.611.438-1.222 1.583-.313 2.304 1.034.818 1.691.766 3.43.468 1.74-.297 2.898-1.269 2.898-1.269s.972-.72.783-1.628-1.017-1.189-1.017-1.189-.658-.423-.141-1.238c0 0 .141-.689 2.553-1.316 2.414-.626 6.812-1.52 10.556-1.989 0 0-2.539-8.223-.737-9.289 0 0 .438-.296 1.224-.408l.721-.037c.131-.027.344.005.796.045.452.038 1.001.076 1.678-.441.676-.519.697-.819.697-.819" style="opacity:.38;fill:url(#Q)"/></svg> \ No newline at end of file diff --git a/src/assets/images/wolframAlpha-icon.svg b/src/assets/images/wolframAlpha-icon.svg index 343083b7..a81d8033 100644 --- a/src/assets/images/wolframAlpha-icon.svg +++ b/src/assets/images/wolframAlpha-icon.svg @@ -1,40 +1 @@ -<?xml version="1.0" encoding="UTF-8" standalone="no"?> -<svg - class="_3hSt" - viewBox="0 0 20 20" - version="1.1" - id="svg4" - sodipodi:docname="wolframAlpha-icon.svg" - inkscape:version="1.2.2 (b0a8486541, 2022-12-01)" - xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" - xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" - xmlns="http://www.w3.org/2000/svg" - xmlns:svg="http://www.w3.org/2000/svg"> - <defs - id="defs8" /> - <sodipodi:namedview - id="namedview6" - pagecolor="#ffffff" - bordercolor="#666666" - borderopacity="1.0" - inkscape:showpageshadow="2" - inkscape:pageopacity="0.0" - inkscape:pagecheckerboard="0" - inkscape:deskcolor="#d1d1d1" - showgrid="false" - inkscape:zoom="27.506454" - inkscape:cx="2.799343" - inkscape:cy="11.197372" - inkscape:window-width="1888" - inkscape:window-height="1060" - inkscape:window-x="32" - inkscape:window-y="0" - inkscape:window-maximized="1" - inkscape:current-layer="svg4" /> - <path - class="_3n6Q" - d="M 16.606501,10 19.297178,6.9373391 15.341758,6.056979 15.750939,1.9775642 12.031108,3.6266894 9.9976006,0.08045038 7.9516935,3.6266894 4.2318623,1.9775642 4.6286443,6.056979 0.69802279,6.9373391 3.3887006,10 l -2.69067781,3.062661 3.95542041,0.88036 -0.4091814,4.079415 3.7198311,-1.649125 2.0335077,3.546239 2.0459074,-3.546239 3.719831,1.649125 -0.396782,-4.079415 3.95542,-0.88036 z M 13.09746,11.859916 H 6.8977413 V 10.619972 H 13.09746 Z m 0,-2.4798879 H 6.8977413 V 8.1400844 H 13.09746 Z" - fill="#777" - id="path2" - style="fill:#ff7e00;fill-opacity:1;stroke-width:1.23994" /> -</svg> +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="#ff7e00" d="m16.607 10 2.69-3.063-3.955-.88.409-4.08-3.72 1.65L9.998.08 7.952 3.627l-3.72-1.65.397 4.08-3.931.88L3.388 10l-2.69 3.063 3.955.88-.409 4.08 3.72-1.65 2.034 3.547 2.046-3.547 3.72 1.65-.397-4.08 3.955-.88zm-3.51 1.86h-6.2v-1.24h6.2Zm0-2.48h-6.2V8.14h6.2Z"/></svg> \ No newline at end of file diff --git a/src/assets/images/youtube-icon.png b/src/assets/images/youtube-icon.png deleted file mode 100644 index 34824c5a..00000000 --- a/src/assets/images/youtube-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/youtube-icon.svg b/src/assets/images/youtube-icon.svg new file mode 100644 index 00000000..8570ec08 --- /dev/null +++ b/src/assets/images/youtube-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 300 300"><rect width="300" height="300" fill="red" ry="150"/><path fill="#fff" d="M149.938 79.223s-63.22 0-79.086 4.123c-8.496 2.374-15.492 9.37-17.866 17.99-4.123 15.867-4.123 48.727-4.123 48.727s0 32.984 4.123 48.601c2.374 8.62 9.245 15.491 17.866 17.865 15.992 4.248 79.086 4.248 79.086 4.248s63.344 0 79.21-4.123c8.621-2.373 15.492-9.12 17.74-17.865 4.249-15.742 4.249-48.601 4.249-48.601s.125-32.985-4.248-48.852c-2.25-8.62-9.12-15.491-17.74-17.74-15.867-4.373-79.211-4.373-79.211-4.373m-20.116 40.48 52.6 30.36-52.6 30.234z"/></svg> \ No newline at end of file diff --git a/src/assets/images/youtubeMusic-icon.png b/src/assets/images/youtubeMusic-icon.png deleted file mode 100644 index a33df696..00000000 --- a/src/assets/images/youtubeMusic-icon.png +++ /dev/null Binary files differdiff --git a/src/assets/images/youtubeMusic-icon.svg b/src/assets/images/youtubeMusic-icon.svg new file mode 100644 index 00000000..76b052f8 --- /dev/null +++ b/src/assets/images/youtubeMusic-icon.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><circle cx="12" cy="12" r="12" fill="red"/><path fill="#FFF" d="M12 4.65c-4.05 0-7.34 3.28-7.34 7.34 0 4.05 3.28 7.34 7.34 7.34 4.05 0 7.34-3.28 7.34-7.34 0-4.05-3.28-7.34-7.34-7.34m0 13.7c-3.51 0-6.36-2.85-6.36-6.36S8.49 5.63 12 5.63s6.36 2.85 6.36 6.36-2.85 6.36-6.36 6.36"/><path fill="#FFF" d="m9.76 8.38 6.14 3.52-6.14 3.52z"/></svg> \ No newline at end of file diff --git a/src/assets/javascripts/localise.js b/src/assets/javascripts/localise.js deleted file mode 100644 index c0936873..00000000 --- a/src/assets/javascripts/localise.js +++ /dev/null @@ -1,34 +0,0 @@ -window.browser = window.browser || window.chrome - -function localisePage() { - /** - * @param {string} tag - */ - function getMessage(tag) { - return tag.replace(/__MSG_(\w+)__/g, (_match, v1) => { - return v1 ? browser.i18n.getMessage(v1) : null - }) - } - - const elements = document.querySelectorAll("[data-localise]") - for (let i in elements) - if (elements.hasOwnProperty(i)) { - const obj = elements[i] - const tag = obj.getAttribute("data-localise").toString() - const msg = getMessage(tag) - if (msg && msg !== tag) obj.textContent = msg - } - - const placeholders = document.querySelectorAll("[data-localise-placeholder]") - for (let i in placeholders) - if (placeholders.hasOwnProperty(i)) { - const obj = placeholders[i] - const tag = obj.getAttribute("data-localise-placeholder").toString() - const msg = getMessage(tag) - if (msg && msg !== tag) obj.placeholder = msg - } -} - -export default { - localisePage, -} diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js index 0aea56cc..7213380f 100644 --- a/src/assets/javascripts/services.js +++ b/src/assets/javascripts/services.js @@ -5,604 +5,675 @@ window.browser = window.browser || window.chrome let config, options -function init() { - return new Promise(async resolve => { - options = await utils.getOptions() - config = await utils.getConfig() - resolve() - }) +async function init() { + options = await utils.getOptions() + config = await utils.getConfig() } init() browser.storage.onChanged.addListener(init) function all(service, frontend, options, config) { - let instances = [] - if (!frontend) { - for (const frontend in config.services[service].frontends) { - if (options[frontend]) { - instances.push(...options[frontend]) - } - } - } else if (options[frontend]) { - instances = options[frontend] - } - return instances + let instances = [] + if (!frontend) { + for (const frontend in config.services[service].frontends) { + if (options[frontend]) { + instances.push(...options[frontend]) + } + } + } else if (options[frontend]) { + instances = options[frontend] + } + return instances } /** * @param {string} service * @param {URL} url * @param {{}} config + * @param {{}} options * @param {string} frontend */ -function regexArray(service, url, config, frontend) { - let targetList = config.services[service].targets - if (frontend && 'excludeTargets' in config.services[service].frontends[frontend]) { - targetList = targetList.filter(val => - !config.services[service].frontends[frontend].excludeTargets.includes(targetList.indexOf(val)) - ) - } - for (const targetString in targetList) { - const target = new RegExp(targetList[targetString]) - if (target.test(url.href)) return true - } - return false +function regexArray(service, url, config, options, frontend) { + let targetList = config.services[service].targets + if (frontend && "excludeTargets" in config.services[service].frontends[frontend]) { + if (service !== "search" || !options["search"].redirectGoogle) { + targetList = targetList.filter( + val => !config.services[service].frontends[frontend].excludeTargets.includes(targetList.indexOf(val)) + ) + } + } + for (const targetString in targetList) { + const target = new RegExp(targetList[targetString]) + if (target.test(url.href)) return true + } + return false +} + +/** + * @param {URL} url + * @param {string} frontend + * @param {string} randomInstance + * @returns {undefined|string} + */ +function rewrite(url, originUrl, frontend, randomInstance) { + switch (frontend) { + case "hyperpipe": + for (const key of [...url.searchParams.keys()]) if (key !== "q") url.searchParams.delete(key) + return `${randomInstance}${url.pathname}${url.search}`.replace(/\/search\?q=.*/, searchQuery => + searchQuery.replace("?q=", "/") + ) + case "searx": + case "searxng": + for (const key of [...url.searchParams.keys()]) if (key !== "q") url.searchParams.delete(key) + return `${randomInstance}/${url.search}` + case "whoogle": + for (const key of [...url.searchParams.keys()]) if (key !== "q") url.searchParams.delete(key) + return `${randomInstance}/search${url.search}` + case "4get": { + const s = url.searchParams.get("q") + if (s !== null) return `${randomInstance}/web?s=${encodeURIComponent(s)}` + return randomInstance + } + case "librey": + for (const key in url.searchParams.keys()) if (key != "q") url.searchParams.delete(key) + return `${randomInstance}/search.php${url.search}` + case "yattee": + url.searchParams.delete("si") + return url.href.replace(/^https?:\/{2}/, "yattee://") + case "freetube": + url.searchParams.delete("si") + return "freetube://" + url.href + case "freetubePwa": + url.searchParams.delete("si") + return "freetube://" + url.href + case "poketube": { + url.searchParams.delete("si") + if (url.pathname.startsWith("/channel")) { + const reg = /\/channel\/(.*)\/?$/.exec(url.pathname) + if (reg) { + const id = reg[1] + return `${randomInstance}/channel?id=${id}${url.search}` + } + } + if (/\/@[a-z]+\//.exec(url.pathname)) return randomInstance + return `${randomInstance}${url.pathname}${url.search}` + } + case "libMedium": + case "scribe": { + const regex = url.hostname.match(/^(link|cdn-images-\d+|.*)\.medium\.com/) + if (regex && regex.length > 1) { + const subdomain = regex[1] + if (subdomain != "link" || !subdomain.startsWith("cdn-images")) { + return `${randomInstance}/@${subdomain}${url.pathname}${url.search}` + } + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "translite": + case "simplyTranslate": + return `${randomInstance}/${url.search}` + case "send": + case "mozhi": + return randomInstance + case "libreTranslate": + return `${randomInstance}/${url.search.replace("sl", "source").replace("tl", "target").replace("text", "q")}` + case "osm": { + if (originUrl && originUrl.host === "earth.google.com") return randomInstance + + let prefs = { layers: "mapnik" } + + let mapCentre = "#" + const mapCentreData = utils.convertMapCentre(url) + if (mapCentreData.zoom && mapCentreData.lon && mapCentreData.lat) { + mapCentre = `#map=${mapCentreData.zoom}/${mapCentreData.lon}/${mapCentreData.lat}` + } + + if (url.pathname.includes("/embed")) { + // https://www.google.com/maps/embed/v1/place?key=AIzaSyD4iE2xVSpkLLOXoyqT-RuPwURN3ddScAI&q=Eiffel+Tower,Paris+France + const query = utils.getQuery(url) + let { coordinate, boundingbox } = utils.addressToLatLng(query) + prefs.bbox = boundingbox + prefs.marker = coordinate + return `${randomInstance}/export/embed.html?${utils.prefsEncoded(prefs)}` + } + + if (url.pathname.includes("/dir")) { + if (url.searchParams.has("travelmode")) { + const travelModes = { + driving: "fossgis_osrm_car", + walking: "fossgis_osrm_foot", + bicycling: "fossgis_osrm_bike", + transit: "fossgis_osrm_car", // not implemented on OSM, default to car. + } + prefs.engine = travelModes[url.searchParams.get("travelmode")] + } + const regex1 = /\/dir\/([^@/]+)\/([^@/]+)\/@-?\d[0-9.]*,-?\d[0-9.]*,\d{1,2}[.z]/.exec(url.pathname) + const regex2 = /\/dir\/([^@/]+)\//.exec(url.pathname) + if (regex1) { + // https://www.google.com/maps/dir/92+Rue+Moncey,+69003+Lyon,+France/M%C3%A9dip%C3%B4le+Lyon-Villeurbanne/@45.760254,4.8486298,13z?travelmode=bicycling + const origin = utils.addressToLatLng(decodeURIComponent(regex1[1])).coordinate ?? "" + const destination = utils.addressToLatLng(decodeURIComponent(regex1[2])).coordinate ?? "" + prefs.route = `${origin};${destination}` + } else if (regex2) { + // https://www.google.com/maps/dir/92+Rue+Moncey,+69003+Lyon,+France/@45.760254,4.8486298,13z?travelmode=bicycling + const origin = utils.addressToLatLng(decodeURIComponent(regex2[1])).coordinate ?? "" + prefs.route = `${origin};` + } else { + // https://www.google.com/maps/dir/?api=1&origin=Space+Needle+Seattle+WA&destination=Pike+Place+Market+Seattle+WA&travelmode=bicycling + const origin = utils.addressToLatLng(url.searchParams.get("origin")).coordinate ?? "" + const destination = utils.addressToLatLng(url.searchParams.get("destination")).coordinate ?? "" + prefs.route = `${origin};${destination}` + } + return `${randomInstance}/directions?${utils.prefsEncoded(prefs)}${mapCentre}` + } + + const placeRegex = /\/place\/(.*?)\// + if (url.pathname.match(placeRegex)) { + // https://www.google.com/maps/place/H%C3%B4tel+de+Londres+Eiffel/@40.9845265,28.7081268,14z + const query = url.pathname.match(placeRegex)[1] + return `${randomInstance}/search?query=${query}${mapCentre}` + } + + if (url.searchParams.has("ll")) { + // https://maps.google.com/?ll=38.882147,-76.99017 + const [mlat, mlon] = url.searchParams.get("ll").split(",") + return `${randomInstance}/search?query=${mlat}%2C${mlon}` + } + + if (url.searchParams.has("viewpoint")) { + // https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=48.857832,2.295226&heading=-45&pitch=38&fov=80 + const [mlat, mlon] = url.searchParams.get("viewpoint").split(",") + return `${randomInstance}/search?query=${mlat}%2C${mlon}` + } + + const query = utils.getQuery(url) + if (query) return `${randomInstance}/search?query="${query}${mapCentre}&${utils.prefsEncoded(prefs)}` + return `${randomInstance}/${mapCentre}&${utils.prefsEncoded(prefs)}` + } + case "breezeWiki": { + let wiki, + urlpath = "" + if (url.hostname.match(/^[a-zA-Z0-9-]+\.(?:fandom|wikia)\.com/)) { + wiki = url.hostname.match(/^[a-zA-Z0-9-]+(?=\.(?:fandom|wikia)\.com)/) + if (wiki == "www" || !wiki) wiki = "" + else wiki = `/${wiki}` + urlpath = url.pathname + } else { + wiki = url.pathname.match(/(?<=wiki\/w:c:)[a-zA-Z0-9-]+(?=:)/) + if (!wiki) wiki = "" + else { + wiki = "/" + wiki + "/wiki/" + urlpath = url.pathname.match(/(?<=wiki\/w:c:[a-zA-Z0-9-]+:).+/) + } + } + if (url.href.search(/Special:Search\?query/) > -1) { + return `${randomInstance}${wiki}${urlpath}${url.search}` + .replace(/Special:Search\?query/, "search?q") + .replace(/\/wiki/, "") + } + return `${randomInstance}${wiki}${urlpath}${url.search}` + } + case "rimgo": + if (url.href.search(/^https?:\/{2}(?:[im]\.)?stack\./) > -1) + return `${randomInstance}/stack${url.pathname}${url.search}` + return `${randomInstance}${url.pathname}${url.search}` + case "redlib": + case "libreddit": { + const subdomain = url.hostname.match(/^(?:(?:external-)?preview|i)(?=\.redd\.it)/) + if (!subdomain) return `${randomInstance}${url.pathname}${url.search}` + switch (subdomain[0]) { + case "preview": + return `${randomInstance}/preview/pre${url.pathname}${url.search}` + case "external-preview": + return `${randomInstance}/preview/external-pre${url.pathname}${url.search}` + case "i": + return `${randomInstance}/img${url.pathname}` + } + return randomInstance + } + case "teddit": + if (/^(?:(?:external-)?preview|i)\.redd\.it/.test(url.hostname)) { + if (url.search == "") return `${randomInstance}${url.pathname}?teddit_proxy=${url.hostname}` + else return `${randomInstance}${url.pathname}${url.search}&teddit_proxy=${url.hostname}` + } + return `${randomInstance}${url.pathname}${url.search}` + case "eddrit": + if (/^(?:(?:external-)?preview|i)\.redd\.it/.test(url.hostname)) return randomInstance + return `${randomInstance}${url.pathname}${url.search}` + case "neuters": { + const p = url.pathname + if (p.startsWith("/article/") || p.startsWith("/pf/") || p.startsWith("/arc/") || p.startsWith("/resizer/")) { + return randomInstance + } + return `${randomInstance}${p}` + } + case "dumb": + if (url.pathname.endsWith("-lyrics")) return `${randomInstance}${url.pathname}` + return `${randomInstance}${url.pathname}${url.search}` + case "intellectual": + return `${randomInstance}${url.pathname}${url.search}` + case "ruralDictionary": + if (!url.pathname.includes("/define.php") && !url.pathname.includes("/random.php") && url.pathname != "/") + return randomInstance + return `${randomInstance}${url.pathname}${url.search}` + case "anonymousOverflow": { + if (url.hostname == "stackoverflow.com") { + const threadID = /^\/a\/(\d+)\/?/.exec(url.pathname) + if (threadID) return `${randomInstance}/questions/${threadID[1]}${url.search}` + return `${randomInstance}${url.pathname}${url.search}` + } + if (url.pathname == "/" || url.pathname == "") { + // https://stackexchange.com or https://superuser.com + return `${randomInstance}${url.pathname}${url.search}` + } + const regex = url.href.match(/https?:\/{2}(?:([a-zA-Z0-9-]+)\.)?stackexchange\.com\//) + if (regex && regex.length > 1) { + const subdomain = regex[1] + return `${randomInstance}/exchange/${subdomain}${url.pathname}${url.search}` + } + const notExchangeRegex = url.hostname.match( + /(?:[a-zA-Z]+\.)?(?:askubuntu\.com|mathoverflow\.net|serverfault\.com|stackapps\.com|superuser\.com|stackoverflow\.com)/ + ) + if (notExchangeRegex) { + return `${randomInstance}/exchange/${notExchangeRegex[0]}${url.pathname}${url.search}` + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "biblioReads": + return `${randomInstance}${url.pathname}${url.search}` + case "wikiless": { + let hostSplit = url.host.split(".") + // wikiless doesn't have mobile view support yet + if (hostSplit[0] != "wikipedia" && hostSplit[0] != "www") { + if (hostSplit[0] == "m") url.searchParams.append("mobileaction", "toggle_view_mobile") + else url.searchParams.append("lang", hostSplit[0]) + if (hostSplit[1] == "m") url.searchParams.append("mobileaction", "toggle_view_mobile") + } + return `${randomInstance}${url.pathname}${url.search}${url.hash}` + } + case "proxiTok": + if (url.pathname.startsWith("/email")) return randomInstance + return `${randomInstance}${url.pathname}${url.search}` + case "waybackClassic": { + const regex = /^\/\web\/(?:[0-9]+)?\*\/(.*)/.exec(url.pathname) + if (regex) { + const link = regex[1] + return `${randomInstance}/cgi-bin/history.cgi?utf8=✓&q=${encodeURIComponent(link)}` + } + const regex2 = /(^\/\web\/([0-9]+)\/.*)/.exec(url.pathname) + if (regex2) { + let link = regex2[1] + link = link.replace(regex2[2], regex2[2] + "if_") + return `https://web.archive.org${link}` + } + return + } + case "gothub": + if (url.hostname == "gist.github.com") return `${randomInstance}/gist${url.pathname}${url.search}` + if (url.hostname == "raw.githubusercontent.com") return `${randomInstance}/raw${url.pathname}${url.search}` + return `${randomInstance}${url.pathname}${url.search}` + case "mikuInvidious": + if (url.hostname == "bilibili.com" || url.hostname == "www.bilibili.com" || url.hostname == "b23.tv") + return `${randomInstance}${url.pathname}${url.search}` + if (url.hostname == "space.bilibili.com") return `${randomInstance}/space${url.pathname}${url.search}` + case "tent": { + if (url.hostname == "bandcamp.com" && url.pathname == "/search") { + const query = url.searchParams.get("q") + return `${randomInstance}/search.php?query=${encodeURIComponent(query)}` + } + if (url.hostname.endsWith("bandcamp.com")) { + const regex = /^(.*)\.bandcamp\.com/.exec(url.hostname) + const artist = regex[1] + if (url.pathname == "/" || url.pathname == "/music") { + return `${randomInstance}/artist.php?name=${artist}` + } else { + const regex = /^\/(.*)\/(.*)/.exec(url.pathname) + if (regex) { + const type = regex[1] + const name = regex[2] + return `${randomInstance}/release.php?artist=${artist}&type=${type}&name=${name}` + } + } + } + if (url.hostname == "f4.bcbits.com") { + const regex = /\/img\/(.*)/.exec(url.pathname) + const image = regex[1] + return `${randomInstance}/image.php?file=${image}` + } + if (url.hostname == "t4.bcbits.com") { + const regex = /\/stream\/(.*)\/(.*)\/(.*)/.exec(url.pathname) + if (regex) { + const directory = regex[1] + const format = regex[2] + const file = regex[3] + const token = url.searchParams.get("token") + return `${randomInstance}/audio.php/?directory=${directory}&format=${format}&file=${file}&token=${encodeURIComponent(token)}` + } + } + } + case "binternet": + if (url.hostname == "i.pinimg.com") return `${randomInstance}/image_proxy.php?url=${url.href}` + return `${randomInstance}${url.pathname}${url.search}` + case "laboratory": { + let path = url.pathname + if (path == "/") path = "" + return `${randomInstance}/${url.hostname}${path}${url.search}` + } + case "quetre": { + const regex = /([a-z]+)\.quora\.com/.exec(url.hostname) + if (regex) { + const lang = regex[1] + url.searchParams.append("lang", lang) + return `${randomInstance}${url.pathname}${url.search}` + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "liteXiv": + case "pixivFe": { + const regex = /\/[a-z]{1,3}\/(.*)/.exec(url.pathname) + if (regex) { + const path = regex[1] + return `${randomInstance}/${path}${url.search}` + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "invidious": { + url.searchParams.delete("si") + if (url.hostname == "youtu.be" || (url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live"))) { + const watch = url.pathname.substring(url.pathname.lastIndexOf("/") + 1) + return `${randomInstance}/watch?v=${watch}${url.search.replace("?", "&")}` + } + if (url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/redirect?")) return url.href + return `${randomInstance}${url.pathname}${url.search}` + } + case "freetubeMusic": { + if (url.hostname == "youtu.be" || (url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live"))) { + const watch = url.pathname.substring(url.pathname.lastIndexOf("/") + 1) + return `freetube://youtube.com/watch?v=${watch}` + } + return "freetube://" + url.href + } + case "invidiousMusic": { + if (url.hostname == "youtu.be" || (url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live"))) { + const watch = url.pathname.substring(url.pathname.lastIndexOf("/") + 1) + return `${randomInstance}/watch?v=${watch}` + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "materialious": { + url.searchParams.delete("si") + if (url.hostname == "youtu.be" || (url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live"))) { + const watch = url.pathname.substring(url.pathname.lastIndexOf("/") + 1) + return `${randomInstance}/watch/${watch}${url.search.replace("?", "&")}` + } + if (url.hostname.endsWith("youtube.com")) { + if (url.pathname.startsWith("/watch")) { + if (url.searchParams.has("v")) { + const watch = url.searchParams.get("v") + url.searchParams.delete("v") + return `${randomInstance}/watch/${watch}${url.search.replace("?", "&")}` + } + return `${randomInstance}/watch/${url.search.replace("?", "&")}` + } + if (url.pathname.startsWith("/results")) { + if (url.searchParams.has("search_query")) { + const search = url.searchParams.get("search_query") + url.searchParams.delete("search_query") + return `${randomInstance}/search/${search}${url.search.replace("?", "&")}` + } + return `${randomInstance}/search/${url.search.replace("?", "&")}` + } + if (url.pathname.startsWith("/redirect?")) { + return url.href + } + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "libremdb": { + if (url.pathname.startsWith("/Name")) { + for (const [key, value] of url.searchParams.entries()) { + return `${randomInstance}/title/${encodeURIComponent(key)}` + } + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "tuboYoutube": + url.searchParams.delete("si") + if (url.pathname.startsWith("/channel")) return `${randomInstance}/channel?url=${encodeURIComponent(url.href)}` + if (url.pathname.startsWith("/watch")) return `${randomInstance}/stream?url=${encodeURIComponent(url.href)}` + return randomInstance + case "tuboSoundcloud": + if (url.pathname == "/") return `${randomInstance}?kiosk?serviceId=1` + if (url.pathname.match(/^\/[^\/]+(\/$|$)/)) return `${randomInstance}/channel?url=${encodeURIComponent(url.href)}` + if (url.pathname.match(/^\/[^\/]+\/[^\/]+/)) return `${randomInstance}/stream?url=${encodeURIComponent(url.href)}` + return randomInstance + case "twineo": + case "safetwitch": + if (url.hostname.startsWith("clips.")) return `${randomInstance}/clip${url.pathname}${url.search}` + return `${randomInstance}${url.pathname}${url.search}` + + case "tekstoLibre": + return `${randomInstance}/?${url.pathname.slice(1)}` + case "skyview": + if (url.pathname == "/") return randomInstance + return `${randomInstance}?url=${encodeURIComponent(url.href)}` + case "nitter": { + let search = new URLSearchParams(url.search) + + search.delete("ref_src") + search.delete("ref_url") + search.delete("s") // type of device that shared the link + search.delete("t") // some sort of tracking ID + + search = search.toString() + if (search !== "") search = `?${search}` + + if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video") { + try { + const [, id, format, extra] = search.match(/(.*)\?format=(.*)&(.*)/) + const query = encodeURIComponent(`${id}.${format}?${extra}`) + return `${randomInstance}/pic${url.pathname}${query}` + } catch { + return `${randomInstance}/pic${url.pathname}${search}` + } + } + if (url.pathname.split("/").includes("tweets")) + return `${randomInstance}${url.pathname.replace("/tweets", "")}${search}` + if (url.host == "t.co") return `${randomInstance}/t.co${url.pathname}` + return `${randomInstance}${url.pathname}${search}#m` + } + case "priviblur": { + if (url.hostname == "www.tumblr.com") return `${randomInstance}${url.pathname}${url.search}` + if (url.hostname.startsWith("assets")) return `${randomInstance}/tblr/assets${url.pathname}${url.search}` + if (url.hostname.startsWith("static")) return `${randomInstance}/tblr/static${url.pathname}${url.search}` + + const reg = /^([0-9]+)\.media\.tumblr\.com/.exec(url.hostname) // *.media.tumblr.com + if (reg) return `${randomInstance}/tblr/media/${reg[1]}${url.pathname}${url.search}` + + const blogregex = /^(?:www\.)?([a-z\d-]+)\.tumblr\.com/.exec(url.hostname) // <blog>.tumblr.com + if (blogregex) { + const blog_name = blogregex[1] + // Under the <blog>.tumblr.com domain posts are under a /post path + if (url.pathname.startsWith("/post")) + return `${randomInstance}/${blog_name}${url.pathname.slice(5)}${url.search}` + else return `${randomInstance}/${blog_name}${url.pathname}${url.search}` + } + return `${randomInstance}${url.pathname}${url.search}` + } + case "freetar": + if (url.pathname.startsWith("/search.php")) { + url.searchParams.set("search_term", url.searchParams.get("value")) + url.searchParams.delete("value") + url.searchParams.delete("search_type") + return `${randomInstance}/search${url.search}` + } + if (url.pathname.startsWith("/artist")) return + return `${randomInstance}${url.pathname}${url.search}` + case "ratAintTieba": + url.searchParams.delete("ie") + return `${randomInstance}${url.pathname}${url.search}` + case "shoelace": { + const reg = /^\/(?:(?:(?:[^\/])?\/post)|t)\/([^\/])/.exec(url.pathname) + if (reg) return `${randomInstance}/t/${reg[1]}${url.search}` + return `${randomInstance}${url.pathname}${url.search}` + } + case "skunkyArt": { + if (url.pathname.startsWith("/search")) return `${randomInstance}${url.pathname}${url.search}&scope=all` + + const artReg = /^\/.*?\/art\/(.*)\/?/.exec(url.pathname) + if (artReg) return `${randomInstance}/post/art/${artReg[1]}${url.search}` + + const userReg = /^\/([^\/]+)$/.exec(url.pathname) + if (userReg) return `${randomInstance}/user/${userReg[1]}${url.search}` + + const galleryReg = /^\/.*?\/gallery(\/$|$)$/.exec(url.pathname) + if (galleryReg) return `${randomInstance}/user/${userReg[1]}?a=gallery` + + return `${randomInstance}${url.pathname}${url.search}` + } + case "ytify": { + if (url.pathname.startsWith("/watch")) + return `${randomInstance}/?s=${encodeURIComponent(url.searchParams.get("v"))}` + + const channelReg = /\/channel\/([^\/]+)/.exec(url.pathname) + if (channelReg) return `${randomInstance}/list?channel=${channelReg[1]}` + + if (url.pathname.startsWith("/playlist")) + return `${randomInstance}/list?playlists=${encodeURIComponent(url.searchParams.get("list"))}` + return `${randomInstance}${url.pathname}${url.search}` + } + case "koub": + if (url.pathname.startsWith("/view/") || url.pathname.startsWith("/stories/")) { + return `${randomInstance}${url.pathname}${url.search}` + } + const accountReg = /^\/([^\/]+)\/?$/.exec(url.pathname) + if (accountReg) return `${randomInstance}/account${url.pathname}${url.search}` + + case "piped": + case "pipedMaterial": + case "cloudtube": + case "lightTube": + case "viewtube": + url.searchParams.delete("si") + default: + return `${randomInstance}${url.pathname}${url.search}` + } } /** * @param {URL} url * @param {string} type - * @param {URL} initiator + * @param {URL} originUrl + * @param {URL} documentUrl + * @param {boolean} incognito * @param {boolean} forceRedirection + * @returns {string | undefined} */ -async function redirectAsync(url, type, initiator, forceRedirection) { - await init() - return redirect(url, type, initiator, forceRedirection) +function redirect(url, type, originUrl, documentUrl, incognito, forceRedirection) { + if (type != "main_frame" && type != "sub_frame" && type != "image") return + let randomInstance + let frontend + if (!forceRedirection && options.redirectOnlyInIncognito == true && !incognito) return + for (const service in config.services) { + if (!forceRedirection && !options[service].enabled) continue + if (!forceRedirection && options[service].redirectOnlyInIncognito == true && !incognito) continue + + frontend = options[service].frontend + + if ( + config.services[service].frontends[frontend].desktopApp && + type != "main_frame" && + options[service].redirectType != "main_frame" + ) + frontend = options[service].embedFrontend + + if (!regexArray(service, url, config, options, frontend)) { + frontend = null + continue + } + + if (type != "main_frame" && documentUrl && options[service].redirectType == "sub_frame") { + if (regexArray(service, documentUrl, config, options, frontend)) { + return + } + } + + if ( + config.services[service].embeddable && + type != options[service].redirectType && + options[service].redirectType != "both" + ) { + if (options[service].unsupportedUrls == "block") return "CANCEL" + return + } + + let instanceList = options[frontend] + if (instanceList === undefined) break // should not happen if settings are correct + + if (config.services[service].frontends[frontend].localhost && options[service].instance == "localhost") { + randomInstance = `http://${frontend}.localhost:8080` + } else if (instanceList.length === 0) { + return `https://no-instance.libredirect.invalid?frontend=${encodeURIComponent(frontend)}&url=${encodeURIComponent(url.href)}` + } else { + randomInstance = utils.getRandomInstance(instanceList) + } + + if (originUrl && instanceList.includes(originUrl.origin)) { + if (type == "main_frame") return "BYPASSTAB" + else return null + } + break + } + if (!frontend) return + + return rewrite(url, originUrl, frontend, randomInstance) } /** * @param {URL} url * @param {string} type - * @param {URL} initiator + * @param {URL} originUrl + * @param {URL} documentUrl + * @param {boolean} incognito * @param {boolean} forceRedirection - * @returns {string | undefined} + * @returns {Promise<string | undefined>} */ -function redirect(url, type, initiator, forceRedirection, incognito) { - if (type != "main_frame" && type != "sub_frame" && type != "image") return - let randomInstance - let frontend - if (!forceRedirection && options.redirectOnlyInIncognito == true && !incognito) return - for (const service in config.services) { - if (!forceRedirection && !options[service].enabled) continue - - frontend = options[service].frontend - - - if (config.services[service].frontends[frontend].desktopApp && type != "main_frame" && options[service].redirectType != "main_frame") - frontend = options[service].embedFrontend - - - if (!regexArray(service, url, config, frontend)) { - frontend = null - continue - } - - if ( - config.services[service].embeddable && - type != options[service].redirectType && options[service].redirectType != "both" - ) { - if (options[service].unsupportedUrls == 'block') return 'CANCEL' - return - } - - let instanceList = options[frontend] - if (instanceList === undefined) break - if (instanceList.length === 0) return null - - if ( - initiator - && - instanceList.includes(initiator.origin) - ) return "BYPASSTAB" - - randomInstance = utils.getRandomInstance(instanceList) - if (config.services[service].frontends[frontend].localhost && options[service].instance == "localhost") { - randomInstance = `http://${frontend}.localhost:8080` - } - break - } - if (!frontend) return - - switch (frontend) { - case "hyperpipe": { - return `${randomInstance}${url.pathname}${url.search}`.replace(/\/search\?q=.*/, searchQuery => searchQuery.replace("?q=", "/")) - } - case "searx": - case "searxng": - return `${randomInstance}/${url.search}` - case "whoogle": { - return `${randomInstance}/search${url.search}` - } - case "4get": { - const s = url.searchParams.get("q") - if (s !== null) { - return `${randomInstance}/web?s=${encodeURIComponent(s)}` - } - return randomInstance - } - case "librex": { - return `${randomInstance}/search.php${url.search}` - } - case "send": { - return randomInstance - } - case "nitter": { - let search = new URLSearchParams(url.search) - - search.delete("ref_src") - search.delete("ref_url") - search.delete("s") // type of device that shared the link - search.delete("t") // some sort of tracking ID - - search = search.toString() - if (search !== "") search = `?${search}` - - if (url.host.split(".")[0] === "pbs" || url.host.split(".")[0] === "video") { - try { - const [, id, format, extra] = search.match(/(.*)\?format=(.*)&(.*)/) - const query = encodeURIComponent(`${id}.${format}?${extra}`) - return `${randomInstance}/pic${url.pathname}${query}` - } catch { - return `${randomInstance}/pic${url.pathname}${search}` - } - } - if (url.pathname.split("/").includes("tweets")) return `${randomInstance}${url.pathname.replace("/tweets", "")}${search}` - if (url.host == "t.co") return `${randomInstance}/t.co${url.pathname}` - return `${randomInstance}${url.pathname}${search}#m` - } - case "yattee": { - return url.href.replace(/^https?:\/{2}/, "yattee://") - } - case "freetube": { - return 'freetube://' + url.href - } - case "freetubePwa": { - return 'freetube://' + url.href - } - - case "poketube": { - if (url.pathname.startsWith('/channel')) { - const reg = /\/channel\/(.*)\/?$/.exec(url.pathname) - if (reg) { - const id = reg[1] - return `${randomInstance}/channel?id=${id}${url.search}` - } - } - if (/\/@[a-z]+\//.exec(url.pathname)) return randomInstance - return `${randomInstance}${url.pathname}${url.search}` - } - case "libMedium": - case "scribe": { - const regex = url.hostname.match(/^(link|cdn-images-\d+|.*)\.medium\.com/) - if (regex && regex.length > 1) { - const subdomain = regex[1] - if (subdomain != "link" || !subdomain.startsWith("cdn-images")) { - return `${randomInstance}/@${subdomain}${url.pathname}${url.search}` - } - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "simplyTranslate": { - return `${randomInstance}/${url.search}` - } - case "mozhi": { - return `${randomInstance}` - } - case "libreTranslate": { - let search = url.search - .replace("sl", "source") - .replace("tl", "target") - .replace("text", "q") - return `${randomInstance}/${search}` - } - case "osm": { - const dataLatLngRegex = /!3d(-?[0-9]{1,}.[0-9]{1,})!4d(-?[0-9]{1,}.[0-9]{1,})/ - const placeRegex = /\/place\/(.*)\// - function convertMapCentre() { - let [lat, lon, zoom] = [null, null, null] - const reg = url.pathname.match(/@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/) - if (reg) { - [, lon, lat, zoom] = reg - } else if (url.searchParams.has("center")) { - // Set map centre if present - [lat, lon] = url.searchParams.get("center").split(",") - zoom = url.searchParams.get("zoom") ?? "17" - } - return { zoom, lon, lat } - } - if (initiator && initiator.host === "earth.google.com") return randomInstance - const travelModes = { - driving: "fossgis_osrm_car", - walking: "fossgis_osrm_foot", - bicycling: "fossgis_osrm_bike", - transit: "fossgis_osrm_car", // not implemented on OSM, default to car. - } - - function addressToLatLng(address) { - const http = new XMLHttpRequest() - http.open("GET", `https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(address)}&format=json&limit=1`, false) - http.send() - if (http.status == 200) { - const json = JSON.parse(http.responseText)[0] - if (json) { - return { - coordinate: `${json.lat},${json.lon}`, - boundingbox: `${json.boundingbox[2]},${json.boundingbox[1]},${json.boundingbox[3]},${json.boundingbox[0]}` - } - } - return {} - } - } - - let mapCentre = "#" - let prefs = {} - - const mapCentreData = convertMapCentre() - if (mapCentreData.zoom && mapCentreData.lon && mapCentreData.lat) mapCentre = `#map=${mapCentreData.zoom}/${mapCentreData.lon}/${mapCentreData.lat}` - if (url.searchParams.get("layer")) prefs.layers = osmLayers[url.searchParams.get("layer")] - - if (url.pathname.includes("/embed")) { - // Handle Google Maps Embed API - // https://www.google.com/maps/embed/v1/place?key=AIzaSyD4iE2xVSpkLLOXoyqT-RuPwURN3ddScAI&q=Eiffel+Tower,Paris+France - let query = "" - if (url.searchParams.has("q")) query = url.searchParams.get("q") - else if (url.searchParams.has("query")) query = url.searchParams.has("query") - else if (url.searchParams.has("pb")) - try { - query = url.searchParams.get("pb").split(/!2s(.*?)!/)[1] - } catch (error) { - // Unable to find map marker in URL. - console.error(error) - } - - let { coordinate, boundingbox } = addressToLatLng(query) - prefs.bbox = boundingbox - prefs.marker = coordinate - prefs.layers = "mapnik" - let prefsEncoded = new URLSearchParams(prefs).toString() - return `${randomInstance}/export/embed.html?${prefsEncoded}` - } else if (url.pathname.includes("/dir")) { - // Handle Google Maps Directions - if (url.searchParams.has("travelmode")) { - prefs.engine = travelModes[url.searchParams.get("travelmode")] - } - const regex1 = /\/dir\/([^@/]+)\/([^@/]+)\/@-?\d[0-9.]*,-?\d[0-9.]*,\d{1,2}[.z]/.exec(url.pathname) - const regex2 = /\/dir\/([^@/]+)\//.exec(url.pathname) - if (regex1) { - // https://www.google.com/maps/dir/92+Rue+Moncey,+69003+Lyon,+France/M%C3%A9dip%C3%B4le+Lyon-Villeurbanne/@45.760254,4.8486298,13z?travelmode=bicycling - const origin = addressToLatLng(decodeURIComponent(regex1[1])).coordinate ?? '' - const destination = addressToLatLng(decodeURIComponent(regex1[2])).coordinate ?? '' - prefs.route = `${origin};${destination}` - } else if (regex2) { - // https://www.google.com/maps/dir/92+Rue+Moncey,+69003+Lyon,+France/@45.760254,4.8486298,13z?travelmode=bicycling - const origin = addressToLatLng(decodeURIComponent(regex2[1])).coordinate ?? '' - prefs.route = `${origin};` - } else { - // https://www.google.com/maps/dir/?api=1&origin=Space+Needle+Seattle+WA&destination=Pike+Place+Market+Seattle+WA&travelmode=bicycling - const origin = addressToLatLng(url.searchParams.get("origin")).coordinate ?? '' - const destination = addressToLatLng(url.searchParams.get("destination")).coordinate ?? '' - prefs.route = `${origin};${destination}` - } - const prefsEncoded = new URLSearchParams(prefs).toString() - return `${randomInstance}/directions?${prefsEncoded}${mapCentre}` - } else if (url.pathname.includes("data=") && url.pathname.match(dataLatLngRegex)) { - // Get marker from data attribute - // https://www.google.com/maps/place/41%C2%B001'58.2%22N+40%C2%B029'18.2%22E/@41.032833,40.4862063,17z/data=!3m1!4b1!4m6!3m5!1s0x0:0xf64286eaf72fc49d!7e2!8m2!3d41.0328329!4d40.4883948 - let [, mlat, mlon] = url.pathname.match(dataLatLngRegex) - return `${randomInstance}/search?query=${mlat}%2C${mlon}` - } else if (url.searchParams.has("ll")) { - // Get marker from ll param - // https://maps.google.com/?ll=38.882147,-76.99017 - const [mlat, mlon] = url.searchParams.get("ll").split(",") - return `${randomInstance}/search?query=${mlat}%2C${mlon}` - } else if (url.searchParams.has("viewpoint")) { - // Get marker from viewpoint param. - // https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=48.857832,2.295226&heading=-45&pitch=38&fov=80 - const [mlat, mlon] = url.searchParams.get("viewpoint").split(",") - return `${randomInstance}/search?query=${mlat}%2C${mlon}` - } else { - // Use query as search if present. - let query - if (url.searchParams.has("q")) query = url.searchParams.get("q") - else if (url.searchParams.has("query")) query = url.searchParams.get("query") - else if (url.pathname.match(placeRegex)) query = url.pathname.match(placeRegex)[1] - - let prefsEncoded = new URLSearchParams(prefs).toString() - if (query) return `${randomInstance}/search?query="${query}${mapCentre}&${prefsEncoded}` - } - - let prefsEncoded = new URLSearchParams(prefs).toString() - return `${randomInstance}/${mapCentre}&${prefsEncoded}` - } - case "breezeWiki": { - let wiki, urlpath = "" - if (url.hostname.match(/^[a-zA-Z0-9-]+\.(?:fandom|wikia)\.com/)) { - wiki = url.hostname.match(/^[a-zA-Z0-9-]+(?=\.(?:fandom|wikia)\.com)/) - if (wiki == "www" || !wiki) wiki = "" - else wiki = `/${wiki}` - urlpath = url.pathname - } else { - wiki = url.pathname.match(/(?<=wiki\/w:c:)[a-zA-Z0-9-]+(?=:)/) - if (!wiki) wiki = "" - else { - wiki = "/" + wiki + "/wiki/" - urlpath = url.pathname.match(/(?<=wiki\/w:c:[a-zA-Z0-9-]+:).+/) - } - } - if (url.href.search(/Special:Search\?query/) > -1) { - return `${randomInstance}${wiki}${urlpath}${url.search}`.replace(/Special:Search\?query/, "search?q").replace(/\/wiki/, "") - } - return `${randomInstance}${wiki}${urlpath}${url.search}` - } - case "rimgo": { - if (url.href.search(/^https?:\/{2}(?:[im]\.)?stack\./) > -1) { - return `${randomInstance}/stack${url.pathname}${url.search}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "libreddit": { - const subdomain = url.hostname.match(/^(?:(?:external-)?preview|i)(?=\.redd\.it)/) - if (!subdomain) return `${randomInstance}${url.pathname}${url.search}` - switch (subdomain[0]) { - case "preview": - return `${randomInstance}/preview/pre${url.pathname}${url.search}` - case "external-preview": - return `${randomInstance}/preview/external-pre${url.pathname}${url.search}` - case "i": - return `${randomInstance}/img${url.pathname}` - } - return randomInstance - } - case "teddit": { - if (/^(?:(?:external-)?preview|i)\.redd\.it/.test(url.hostname)) { - if (url.search == "") return `${randomInstance}${url.pathname}?teddit_proxy=${url.hostname}` - else return `${randomInstance}${url.pathname}${url.search}&teddit_proxy=${url.hostname}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "neuters": { - const p = url.pathname - if (p.startsWith('/article/') || p.startsWith('/pf/') || p.startsWith('/arc/') || p.startsWith('/resizer/')) { - return randomInstance - } - return `${randomInstance}${p}` - } - case "dumb": { - if (url.pathname.endsWith('-lyrics')) { - return `${randomInstance}${url.pathname}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "intellectual": { - if (url.pathname.endsWith('-lyrics')) { - return `${randomInstance}/lyrics?path=${encodeURIComponent(url.pathname)}` - } - if (url.pathname.startsWith('/artists/')) { - return `${randomInstance}/artist?path=${url.pathname}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "ruralDictionary": { - if (!url.pathname.includes('/define.php') && !url.pathname.includes('/random.php') && url.pathname != '/') return randomInstance - return `${randomInstance}${url.pathname}${url.search}` - } - case "anonymousOverflow": { - if (url.hostname == "stackoverflow.com") { - const threadID = /^\/a\/(\d+)\/?/.exec(url.pathname) - if (threadID) return `${randomInstance}/questions/${threadID[1]}${url.search}` - return `${randomInstance}${url.pathname}${url.search}` - } - const regex = url.href.match(/https?:\/{2}(?:([a-zA-Z0-9-]+)\.)?stackexchange\.com\//) - if (regex && regex.length > 1) { - const subdomain = regex[1] - return `${randomInstance}/exchange/${subdomain}${url.pathname}${url.search}` - } - } - case "biblioReads": { - return `${randomInstance}${url.pathname}${url.search}` - } - case "wikiless": { - let hostSplit = url.host.split(".") - // wikiless doesn't have mobile view support yet - if (hostSplit[0] != "wikipedia" && hostSplit[0] != "www") { - if (hostSplit[0] == "m") url.searchParams.append("mobileaction", "toggle_view_mobile") - else url.searchParams.append("lang", hostSplit[0]) - if (hostSplit[1] == "m") url.searchParams.append("mobileaction", "toggle_view_mobile") - } - return `${randomInstance}${url.pathname}${url.search}${url.hash}` - } - case "proxiTok": { - if (url.pathname.startsWith('/email')) return randomInstance - return `${randomInstance}${url.pathname}${url.search}` - } - case "waybackClassic": { - const regex = /^\/\web\/(?:[0-9]+)?\*\/(.*)/.exec(url.pathname) - if (regex) { - const link = regex[1] - return `${randomInstance}/cgi-bin/history.cgi?utf8=✓&q=${encodeURIComponent(link)}` - } - const regex2 = /(^\/\web\/([0-9]+)\/.*)/.exec(url.pathname) - if (regex2) { - let link = regex2[1] - link = link.replace(regex2[2], regex2[2] + 'if_') - return `https://web.archive.org${link}` - } - return - } - case "gothub": { - if (url.hostname == "gist.github.com") return `${randomInstance}/gist${url.pathname}${url.search}` - return `${randomInstance}${url.pathname}${url.search}` - } - case "mikuInvidious": { - console.log("Hello?") - if (url.hostname == "bilibili.com" || url.hostname == "www.bilibili.com" || url.hostname == 'b23.tv') { - console.log('wewe') - return `${randomInstance}${url.pathname}${url.search}` - } - if (url.hostname == "space.bilibili.com") { - return `${randomInstance}/space${url.pathname}${url.search}` - } - } - case "tent": { - if (url.hostname == 'bandcamp.com' && url.pathname == '/search') { - const query = url.searchParams.get('q') - return `${randomInstance}/search.php?query=${encodeURIComponent(query)}` - } - if (url.hostname.endsWith('bandcamp.com')) { - const regex = /^(.*)\.bandcamp\.com/.exec(url.hostname) - const artist = regex[1] - if (url.pathname == '/') { - return `${randomInstance}/artist.php?name=${artist}` - } else { - const regex = /^\/(.*)\/(.*)/.exec(url.pathname) - if (regex) { - const type = regex[1] - const name = regex[2] - return `${randomInstance}/release.php?artist=${artist}&type=${type}&name=${name}` - } - } - } - if (url.hostname == 'f4.bcbits.com') { - const regex = /\/img\/(.*)/.exec(url.pathname) - const image = regex[1] - return `${randomInstance}/image.php?file=${image}` - } - if (url.hostname == 't4.bcbits.com') { - const regex = /\/stream\/(.*)\/(.*)\/(.*)/.exec(url.pathname) - if (regex) { - const directory = regex[1] - const format = regex[2] - const file = regex[3] - const token = url.searchParams.get('token') - return `${randomInstance}/audio.php/?directory=${directory}&format=${format}&file=${file}&token=${encodeURIComponent(token)}` - } - } - } - case "binternet": { - if (url.hostname == "i.pinimg.com") return `${randomInstance}/image_proxy.php?url=${url.href}` - return randomInstance - } - case "laboratory": { - let path = url.pathname - if (path == "/") path = "" - return `${randomInstance}/${url.hostname}${path}${url.search}` - } - case "quetre": { - const regex = /([a-z]+)\.quora\.com/.exec(url.hostname) - console.log(regex) - if (regex) { - const lang = regex[1] - url.searchParams.append("lang", lang) - return `${randomInstance}${url.pathname}${url.search}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "pixivFe": { - const regex = /\/[a-z]{1,3}\/(.*)/.exec(url.pathname) - if (regex) { - const path = regex[1] - return `${randomInstance}/${path}${url.search}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "invidious": { - if (url.hostname == "youtu.be" || url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live")) { - const watch = url.pathname.substring(url.pathname.lastIndexOf('/') + 1) - return `${randomInstance}/watch?v=${watch}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "invidiousMusic": { - if (url.hostname == "youtu.be" || url.hostname.endsWith("youtube.com") && url.pathname.startsWith("/live")) { - const watch = url.pathname.substring(url.pathname.lastIndexOf('/') + 1) - return `${randomInstance}/watch?v=${watch}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "libremdb": { - if (url.pathname.startsWith("/Name")) { - for (const [key, value] of url.searchParams.entries()) { - return `${randomInstance}/title/${encodeURIComponent(key)}` - } - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "tuboYoutube": { - if (url.pathname.startsWith("/channel")) { - return `${randomInstance}/channel?url=${encodeURIComponent(url.href)}` - } - if (url.pathname.startsWith("/watch")) { - return `${randomInstance}/stream?url=${encodeURIComponent(url.href)}` - } - return `${randomInstance}` - } - case "tuboSoundcloud": { - if (url.pathname == '/') return `${randomInstance}?kiosk?serviceId=1` - if (url.pathname.match(/^\/[^\/]+(\/$|$)/)) { - return `${randomInstance}/channel?url=${encodeURIComponent(url.href)}` - } - if (url.pathname.match(/^\/[^\/]+\/[^\/]+/)) { - return `${randomInstance}/stream?url=${encodeURIComponent(url.href)}` - } - return `${randomInstance}` - } - case "twineo": - case "safetwitch": { - if (url.hostname.startsWith("clips.")) { - return `${randomInstance}/clip${url.pathname}${url.search}` - } - return `${randomInstance}${url.pathname}${url.search}` - } - case "tekstoLibre": { - return `${randomInstance}/?${url.pathname.slice(1)}`; - } - case "skyview": { - if (url.pathname == '/') return randomInstance - return `${randomInstance}?url=${encodeURIComponent(url.href)}` - } - default: { - return `${randomInstance}${url.pathname}${url.search}` - } - } +async function redirectAsync(url, type, originUrl, documentUrl, incognito, forceRedirection) { + await init() + return redirect(url, type, originUrl, documentUrl, incognito, forceRedirection) } /** * @param {URL} url - * @param {*} returnFrontend */ -function computeService(url, returnFrontend) { - return new Promise(async resolve => { - const config = await utils.getConfig() - const options = await utils.getOptions() - for (const service in config.services) { - if (regexArray(service, url, config)) { - resolve(service) - return - } else { - for (const frontend in config.services[service].frontends) { - if (all(service, frontend, options, config).includes(utils.protocolHost(url))) { - if (returnFrontend) - resolve([service, frontend, utils.protocolHost(url)]) - else - resolve(service) - return - } - } - } - } - resolve() - }) +function computeService(url) { + return new Promise(async resolve => { + const config = await utils.getConfig() + const options = await utils.getOptions() + for (const service in config.services) { + if (regexArray(service, url, config, options)) { + resolve(service) + return + } else { + for (const frontend in config.services[service].frontends) { + if (all(service, frontend, options, config).findIndex(instance => url.href.startsWith(instance)) >= 0) { + return resolve(service) + } + } + } + } + resolve() + }) +} +export function computeFrontend(url) { + for (const service in config.services) { + for (const frontend in config.services[service].frontends) { + if (all(service, frontend, options, config).findIndex(instance => url.href.startsWith(instance)) >= 0) { + return { service, frontend } + } + } + } } /** @@ -610,279 +681,299 @@ function computeService(url, returnFrontend) { * @param {string} customService */ function switchInstance(url, customService) { - return new Promise(async resolve => { - let options = await utils.getOptions() - let config = await utils.getConfig() - - const protocolHost = utils.protocolHost(url) - if (customService) { - const instancesList = options[options[customService].frontend] - if (instancesList !== undefined) { - resolve(`${utils.getNextInstance(url.origin, instancesList)}${url.pathname}${url.search}`) - } - } else { - for (const service in config.services) { - let instancesList = options[options[service].frontend] - if (instancesList === undefined) continue - if (!instancesList.includes(protocolHost)) continue - - instancesList.splice(instancesList.indexOf(protocolHost), 1) - if (instancesList.length === 0) { - resolve() - return - } - resolve(`${utils.getNextInstance(url.origin, instancesList)}${url.pathname}${url.search}`) - return - } - } - resolve() - }) + return new Promise(async resolve => { + let options = await utils.getOptions() + let config = await utils.getConfig() + + const protocolHost = utils.protocolHost(url) + if (customService) { + const instancesList = options[options[customService].frontend] + if (instancesList !== undefined) { + const newInstance = utils.getNextInstance(url.origin, instancesList) + if (newInstance) { + return resolve(`${newInstance}${url.pathname}${url.search}`) + } + } + } else { + for (const service in config.services) { + let instancesList = options[options[service].frontend] + if (instancesList === undefined) continue + const index = instancesList.findIndex(instance => url.href.startsWith(instance)) + if (index < 0) continue + instancesList.splice(index, 1) + if (instancesList.length === 0) return resolve() + const newInstance = utils.getNextInstance(url.origin, instancesList) + if (newInstance) { + return resolve(`${newInstance}${url.pathname}${url.search}`) + } + } + } + resolve() + }) } /** * @param {URL} url */ async function reverse(url) { - let options = await utils.getOptions() - let config = await utils.getConfig() - let protocolHost = utils.protocolHost(url) - for (const service in config.services) { - let frontend = options[service].frontend - if (options[frontend] == undefined) continue - if (!options[frontend].includes(protocolHost) && protocolHost != `http://${frontend}.localhost:8080`) continue - switch (service) { - case "youtube": - case "imdb": - case "imgur": - case "tiktok": - case "twitter": - case "reddit": - case "imdb": - case "snopes": - case "urbanDictionary": - case "quora": - case "medium": - return `${config.services[service].url}${url.pathname}${url.search}` - case "fandom": - let regex = url.pathname.match(/^\/([a-zA-Z0-9-]+)\/wiki\/(.*)/) - if (regex) return `https://${regex[1]}.fandom.com/wiki/${regex[2]}` - return - case "wikipedia": { - const lang = url.searchParams.get("lang") - if (lang != null) { - return `https://${lang}.wikipedia.org${url.pathname}${url.search}${url.hash}` - } - return `https://wikipedia.org${url.pathname}${url.search}${url.hash}` - } - case "stackOverflow": { - if (url.pathname.startsWith("/questions/")) { - return `https://stackoverflow.com${url.pathname}${url.search}` - } - if (url.pathname.startsWith("/exchange/")) { - const regex = /\/exchange\/(.*?)(\/.*)/.exec(url.pathname) - if (regex) return `https://${regex[1]}.stackexchange.com${regex[2]}` - } - return - } - case "tekstowo": { - return `${config.services[service].url}/${url.search.slice(1)}` - } - default: - return - } - } - return + let options = await utils.getOptions() + let config = await utils.getConfig() + for (const service in config.services) { + let frontend = options[service].frontend + if (options[frontend] == undefined) continue + if ( + options[frontend].findIndex(instance => url.href.startsWith(instance)) < 0 && + !url.href.startsWith(`http://${frontend}.localhost:8080`) + ) + continue + switch (service) { + case "youtube": + case "imdb": + case "imgur": + case "tiktok": + case "reddit": + case "imdb": + case "snopes": + case "urbanDictionary": + case "quora": + case "twitter": + case "medium": + return `${config.services[service].url}${url.pathname}${url.search}` + case "fandom": { + let regex = url.pathname.match(/^\/([a-zA-Z0-9-]+)\/wiki\/(.*)/) + if (regex) return `https://${regex[1]}.fandom.com/wiki/${regex[2]}` + return + } + case "wikipedia": { + const lang = url.searchParams.get("lang") + if (lang != null) { + return `https://${lang}.wikipedia.org${url.pathname}${url.search}${url.hash}` + } + return `https://wikipedia.org${url.pathname}${url.search}${url.hash}` + } + case "stackOverflow": { + if (url.pathname.startsWith("/questions/")) { + return `https://stackoverflow.com${url.pathname}${url.search}` + } + if (url.pathname.startsWith("/exchange/")) { + const regex = /\/exchange\/(.*?)(\/.*)/.exec(url.pathname) + if (regex) return `https://${regex[1]}.stackexchange.com${regex[2]}` + } + return + } + case "tekstowo": + return `${config.services[service].url}/${url.search.slice(1)}` + case "goodreads": + return `https://goodreads.com${url.pathname}${url.search}` + default: + return + } + } + return } const defaultInstances = { - 'invidious': [ 'https://invidious.vhack.eu' ], // still a little bit flaky, thus not active - 'piped': ['https://pipedapi-libre.kavin.rocks'], - 'pipedMaterial': ['https://piped-material.xn--17b.net'], - 'cloudtube': ['https://tube.cadence.moe'], - 'poketube': ['https://poketube.fun'], - 'proxiTok': ['https://proxitok.pabloferreiro.es'], - 'nitter': ['https://nitter.net'], - 'libreddit': [ 'https://libreddit.vhack.eu' ], - 'teddit': ['https://teddit.net'], - 'scribe': ['https://scribe.rip'], - 'libMedium': ['https://md.vern.cc'], - 'quetre': ['https://quetre.iket.me'], - 'libremdb': ['https://libremdb.iket.me'], - 'simplyTranslate': ['https://simplytranslate.org'], - 'mozhi': ['https://mozhi.aryak.me'], - 'searxng': ['https://search.bus-hit.me'], - '4get': ['https://4get.ca'], - 'rimgo': ['https://rimgo.vern.cc'], - 'hyperpipe': ['https://hyperpipe.surge.sh'], - 'facil': [' https://facilmap.org '], - 'osm': ['https://www.openstreetmap.org'], - 'breezeWiki': ['https://breezewiki.com'], - 'neuters': ['https://neuters.de'], - 'dumb': ['https://dm.vern.cc'], - "intellectual": ['https://intellectual.insprill.net'], - 'ruralDictionary': ['https://rd.vern.cc'], - 'anonymousOverflow': ['https://code.whatever.social'], - 'biblioReads': ['https://biblioreads.ml'], - 'wikiless': ['https://wikiless.org'], - 'suds': ['https://sd.vern.cc'], - 'waybackClassic': ['https://wayback-classic.net'], - 'gothub': ['https://gh.odyssey346.dev'], - 'mikuInvidious': ['https://mikuinv.resrv.org'], - "tent": ['https://tent.sny.sh'], - "wolfreeAlpha": ['https://gqq.gitlab.io', 'https://uqq.gitlab.io'], - "laboratory": ['https://lab.vern.cc'], - 'binternet': ['https://binternet.ahwx.org'], - 'pixivFe': ['https://pixivfe.exozy.me'], - 'indestructables': ['https://indestructables.private.coffee'], - 'destructables': ['https://ds.vern.cc'], - 'safetwitch': ['https://safetwitch.drgns.space'], - 'twineo': ['https://twineo.exozy.me'], - 'proxigram': ['https://proxigram.privacyfrontends.repl.co'], - 'tuboYoutube': ['https://tubo.migalmoreno.com'], - 'tuboSoundcloud': ['https://tubo.migalmoreno.com'], - 'tekstoLibre': ['https://davilarek.github.io/TekstoLibre'], - 'skyview': ['https://skyview.social'], + invidious: ["https://invidious.vhack.eu"], + materialious: ["https://app.materialio.us"], + viewtube: ["https://viewtube.io"], + piped: ["https://pipedapi-libre.kavin.rocks"], + pipedMaterial: ["https://piped-material.xn--17b.net"], + cloudtube: ["https://tube.cadence.moe"], + lightTube: ["https://tube.kuylar.dev"], + poketube: ["https://poketube.fun"], + proxiTok: ["https://proxitok.pabloferreiro.es"], + redlib: ["https://libreddit.vhack.eu"], + eddrit: ["https://eddrit.com"], + scribe: ["https://scribe.rip"], + libMedium: ["https://md.vern.cc"], + quetre: ["https://quetre.iket.me"], + libremdb: ["https://libremdb.iket.me"], + simplyTranslate: ["https://simplytranslate.org"], + translite: ["https://tl.bloat.cat"], + mozhi: ["https://mozhi.aryak.me"], + searxng: ["https://search.bus-hit.me"], + "4get": ["https://4get.ca"], + rimgo: ["https://rimgo.vern.cc"], + hyperpipe: ["https://hyperpipe.surge.sh"], + osm: ["https://www.openstreetmap.org"], + breezeWiki: ["https://breezewiki.com"], + neuters: ["https://neuters.de"], + dumb: ["https://dm.vern.cc"], + intellectual: ["https://intellectual.insprill.net"], + ruralDictionary: ["https://rd.vern.cc"], + anonymousOverflow: ["https://code.whatever.social"], + suds: ["https://sd.vern.cc"], + unfunny: ["https://uf.vern.cc"], + soprano: ["https://sp.vern.cc"], + meme: ["https://mm.vern.cc"], + waybackClassic: ["https://wayback-classic.net"], + tent: ["https://tent.sny.sh"], + wolfreeAlpha: ["https://gqq.gitlab.io", "https://uqq.gitlab.io"], + laboratory: ["https://lab.vern.cc"], + binternet: ["https://bn.bloat.cat"], + pixivFe: ["https://pixivfe.exozy.me"], + liteXiv: ["https://litexiv.exozy.me"], + indestructables: ["https://indestructables.private.coffee"], + destructables: ["https://ds.vern.cc"], + safetwitch: ["https://safetwitch.drgns.space"], + twineo: ["https://twineo.exozy.me"], + proxigram: ["https://ig.opnxng.com"], + tuboYoutube: ["https://tubo.migalmoreno.com"], + tuboSoundcloud: ["https://tubo.migalmoreno.com"], + tekstoLibre: ["https://davilarek.github.io/TekstoLibre"], + skyview: ["https://skyview.social"], + priviblur: ["https://pb.bloat.cat"], + nitter: ["https://nitter.privacydev.net"], + pasted: ["https://pasted.drakeerv.com"], + freetar: ["https://freetar.de"], + ratAintTieba: ["https://rat.fis.land"], + shoelace: ["https://shoelace.mint.lgbt"], + skunkyArt: ["https://skunky.bloat.cat"], + ytify: ["https://ytify.netlify.app"], + nerdsForNerds: ["https://nn.vern.cc"], + koub: ["https://koub.clovius.club"], } -function initDefaults() { - return new Promise(resolve => { - browser.storage.local.clear(async () => { - let config = await utils.getConfig() - let options = {} - for (const service in config.services) { - options[service] = {} - for (const defaultOption in config.services[service].options) { - options[service][defaultOption] = config.services[service].options[defaultOption] - } - for (const frontend in config.services[service].frontends) { - if (config.services[service].frontends[frontend].instanceList) { - options[frontend] = [] - } - } - } - options['exceptions'] = { - url: [], - regex: [], - } - options.theme = "detect" - options.popupServices = ["youtube", "twitter", "tiktok", "imgur", "reddit", "quora", "translate", "maps"] - options.fetchInstances = 'github' - options.redirectOnlyInIncognito = false - - options = { ...options, ...defaultInstances } - - browser.storage.local.set({ options }, - () => resolve() - ) - }) - }) +async function getDefaults() { + let config = await utils.getConfig() + let options = {} + for (const service in config.services) { + options[service] = {} + for (const defaultOption in config.services[service].options) { + options[service][defaultOption] = config.services[service].options[defaultOption] + } + for (const frontend in config.services[service].frontends) { + if (config.services[service].frontends[frontend].instanceList) { + options[frontend] = [] + } + } + } + options.exceptions = { + url: [], + regex: [], + } + options.theme = "detect" + options.popupServices = ["youtube", "tiktok", "imgur", "reddit", "quora", "translate", "maps"] + options.fetchInstances = "github" + options.redirectOnlyInIncognito = false + options = { ...options, ...defaultInstances } + return options } -function upgradeOptions() { - return new Promise(async resolve => { - let options = await utils.getOptions() - - browser.storage.local.clear(() => { - browser.storage.local.set({ options }, () => { - resolve() - }) - }) - }) +function initDefaults() { + return new Promise(resolve => { + browser.storage.local.clear(async () => { + options = await getDefaults() + browser.storage.local.set({ options }, () => resolve()) + }) + }) } -function processUpdate() { - return new Promise(async resolve => { - let config = await utils.getConfig() - let options = await utils.getOptions() - for (const service in config.services) { - if (!options[service]) options[service] = {} - - if (!(options[service].frontend in config.services[service].frontends)) { - options[service] = config.services[service].options - delete options[options[service].frontend] - } - - for (const defaultOption in config.services[service].options) { - if (options[service][defaultOption] === undefined) { - options[service][defaultOption] = config.services[service].options[defaultOption] - } - } - - for (const frontend in config.services[service].frontends) { - if (options[frontend] === undefined && config.services[service].frontends[frontend].instanceList) { - options[frontend] = defaultInstances[frontend] - } - else if (frontend in options && !(frontend in config.services[service].frontends)) { - delete options[frontend] - } - } - - for (const frontend of options.popupServices) { - if (!Object.keys(config.services).includes(frontend)) { - const i = options.popupServices.indexOf(frontend); - if (i > -1) options.popupServices.splice(i, 1); - } - } - } - browser.storage.local.set({ options }, () => { - resolve() - }) - }) +function processUpdate(_options) { + return new Promise(async resolve => { + const config = await utils.getConfig() + let options = _options ?? (await utils.getOptions()) + + const defaults = await getDefaults() + + // Remove any unknown option or subOption + for (const optionName in options) { + if (!(optionName in defaults)) delete options[optionName] + else if (typeof optionName === "object" && optionName !== null) { + for (const subOptionName in options[optionName]) { + if (!(subOptionName in defaults[optionName])) delete options[optionName][subOptionName] + } + } + } + + // Remove any unknwon popupService + options.popupServices = options.popupServices.filter(service => service in config.services) + + // Add missing options + for (const [defaultName, defaultValue] of Object.entries(defaults)) { + if (!(defaultName in options)) { + options[defaultName] = defaultValue + } + } + + for (const [serviceName, serviceValue] of Object.entries(config.services)) { + // Reset service options if selected frontend is deprecated + if (!(options[serviceName].frontend in serviceValue.frontends)) { + options[serviceName] = serviceValue.options + } + + // Add a default service option if it's not present + for (const optionName in serviceValue.options) { + if (!(optionName in options[serviceName])) { + options[serviceName][optionName] = serviceValue.options[optionName] + } + } + } + + browser.storage.local.clear(() => { + browser.storage.local.set({ options }, () => { + resolve(options) + }) + }) + }) } /** * @param {URL} url - * @param {boolean} test */ -async function copyRaw(url, test) { - const newUrl = await reverse(url) - if (newUrl) { - if (!test) { - if (!isChrome) { - navigator.clipboard.writeText(newUrl) - } else { - var copyFrom = document.createElement("textarea"); - copyFrom.textContent = newUrl; - document.body.appendChild(copyFrom); - copyFrom.select() - document.execCommand('copy') - copyFrom.blur(); - document.body.removeChild(copyFrom); - } - } - return newUrl - } +async function copyRaw(url) { + const newUrl = await reverse(url) + if (newUrl) { + if (!isChrome) { + navigator.clipboard.writeText(newUrl) + } else { + var copyFrom = document.createElement("textarea") + copyFrom.textContent = newUrl + document.body.appendChild(copyFrom) + copyFrom.select() + document.execCommand("copy") + copyFrom.blur() + document.body.removeChild(copyFrom) + } + } } /** * @param {URL} url */ function isException(url) { - if (!options.exceptions) return false - let exceptions = options.exceptions - if (exceptions && url) { - if (exceptions.url) { - for (let item of exceptions.url) { - item = new URL(item) - item = item.href - item = item.replace(/^http:\/\//, 'https://') - if (item == url.href) return true - } - } - if (exceptions.regex) for (const item of exceptions.regex) if (new RegExp(item).test(url.href)) return true - } - return false + if (!options.exceptions) return false + let exceptions = options.exceptions + if (exceptions && url) { + if (exceptions.url) { + for (let item of exceptions.url) { + item = new URL(item) + item = item.href.replace(/^http:\/\//, "https://") + if (item == url.href) { + return true + } + } + } + if (exceptions.regex) { + for (const item of exceptions.regex) { + if (new RegExp(item).test(url.href)) { + return true + } + } + } + } + return false } export default { - redirect, - redirectAsync, - computeService, - reverse, - initDefaults, - upgradeOptions, - processUpdate, - copyRaw, - switchInstance, - isException + redirect, + redirectAsync, + computeService, + reverse, + initDefaults, + processUpdate, + copyRaw, + switchInstance, + isException, + computeFrontend, } diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js index fe08e576..e5b8ba46 100644 --- a/src/assets/javascripts/utils.js +++ b/src/assets/javascripts/utils.js @@ -1,11 +1,11 @@ window.browser = window.browser || window.chrome /** - * @param {Array.<T>} instances + * @param {Array.<T>} instances * @returns {T} */ function getRandomInstance(instances) { - return instances[~~(instances.length * Math.random())] + return instances[~~(instances.length * Math.random())] } /** @@ -14,32 +14,24 @@ function getRandomInstance(instances) { * @returns {T} */ function getNextInstance(currentInstanceUrl, instances) { - const currentInstanceIndex = instances.indexOf(currentInstanceUrl); - - if (currentInstanceIndex === -1){ - return getRandomInstance(instances); - } - - const nextInstanceIndex = (currentInstanceIndex + 1) % instances.length; - - return instances[nextInstanceIndex]; -} - -/** - * @param {string} str - */ -function camelCase(str) { - return str.charAt(0).toUpperCase() + str.slice(1) + const currentInstanceIndex = instances.indexOf(currentInstanceUrl) + if (currentInstanceIndex === -1) return getRandomInstance(instances) + const nextInstanceIndex = (currentInstanceIndex + 1) % instances.length + return instances[nextInstanceIndex] } /** * @param {URL} url */ function protocolHost(url) { - if (url.username && url.password) return `${url.protocol}//${url.username}:${url.password}@${url.host}` - if (url.pathname == "/TekstoLibre/" && url.host.endsWith("github.io")) // workaround - return `${url.protocol}//${url.host}${url.pathname.slice(0, -1)}` - return `${url.protocol}//${url.host}` + url.pathname = url.pathname.replace(/\/$/, "") + if (url.username && url.password) return `${url.protocol}//${url.username}:${url.password}@${url.host}${url.pathname}` + + // workaround + if (url.pathname == "/TekstoLibre/" && url.host.endsWith("github.io")) + return `${url.protocol}//${url.host}${url.pathname.slice(0, -1)}` + + return `${url.protocol}//${url.host}${url.pathname}` } /** @@ -64,14 +56,14 @@ function protocolHost(url) { * @returns {Promise<Config>} */ function getConfig() { - return new Promise(resolve => { - fetch("/config.json") - .then(response => response.text()) - .then(json => { - resolve(JSON.parse(json)) - return - }) - }) + return new Promise(resolve => { + fetch("/config.json") + .then(response => response.text()) + .then(json => { + resolve(JSON.parse(json)) + return + }) + }) } /** @@ -83,144 +75,205 @@ function getConfig() { * @returns {Promise<Object.<string, Option | string[]>>} */ function getOptions() { - return new Promise(resolve => - browser.storage.local.get("options", r => { - resolve(r.options) - }) - ) + return new Promise(resolve => browser.storage.local.get("options", r => resolve(r.options))) } function getPingCache() { - return new Promise(resolve => - browser.storage.local.get("pingCache", r => { - resolve(r.pingCache ?? {}) - }) - ) + return new Promise(resolve => browser.storage.local.get("pingCache", r => resolve(r.pingCache ?? {}))) } function getBlacklist(options) { - return new Promise(resolve => { - let url - if (options.fetchInstances == 'github') { - url = 'https://raw.githubusercontent.com/libredirect/instances/main/blacklist.json' - } - else if (options.fetchInstances == 'codeberg') { - url = 'https://codeberg.org/LibRedirect/instances/raw/branch/main/blacklist.json' - } - else { - resolve('disabled') - return - } - const http = new XMLHttpRequest() - http.open("GET", url, true) - http.onreadystatechange = () => { - if (http.status === 200 && http.readyState == XMLHttpRequest.DONE) { - resolve(JSON.parse(http.responseText)) - return - } - } - http.onerror = () => { - resolve() - return - } - http.ontimeout = () => { - resolve() - return - } - http.send(null) - }) + return new Promise(resolve => { + let url + if (options.fetchInstances == "github") + url = "https://raw.githubusercontent.com/libredirect/instances/main/blacklist.json" + else if (options.fetchInstances == "codeberg") + url = "https://codeberg.org/LibRedirect/instances/raw/branch/main/blacklist.json" + else return resolve("disabled") + const http = new XMLHttpRequest() + http.open("GET", url, true) + http.onreadystatechange = () => { + if (http.status === 200 && http.readyState == XMLHttpRequest.DONE) resolve(JSON.parse(http.responseText)) + } + http.onerror = () => resolve() + http.ontimeout = () => resolve() + http.send(null) + }) } function getList(options) { - return new Promise(resolve => { - let url - if (options.fetchInstances == 'github') { - url = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json' - } - else if (options.fetchInstances == 'codeberg') { - url = 'https://codeberg.org/LibRedirect/instances/raw/branch/main/data.json' - } - else { - resolve('disabled') - return - } - const http = new XMLHttpRequest() - http.open("GET", url, true) - http.onreadystatechange = () => { - if (http.status === 200 && http.readyState == XMLHttpRequest.DONE) { - resolve(JSON.parse(http.responseText)) - return - } - } - http.onerror = () => { - resolve() - return - } - http.ontimeout = () => { - resolve() - return - } - http.send(null) - }) + return new Promise(resolve => { + let url + if (options.fetchInstances == "github") + url = "https://raw.githubusercontent.com/libredirect/instances/main/data.json" + else if (options.fetchInstances == "codeberg") + url = "https://codeberg.org/LibRedirect/instances/raw/branch/main/data.json" + else return resolve("disabled") + const http = new XMLHttpRequest() + http.open("GET", url, true) + http.onreadystatechange = () => { + if (http.status === 200 && http.readyState == XMLHttpRequest.DONE) return resolve(JSON.parse(http.responseText)) + } + http.onerror = () => resolve() + http.ontimeout = () => resolve() + http.send(null) + }) } /** * @param {string} href */ function pingOnce(href) { - return new Promise(async resolve => { - let started - let http = new XMLHttpRequest() - http.timeout = 5000 - http.ontimeout = () => resolve(5000) - http.onerror = () => resolve() - http.onreadystatechange = () => { - if (http.readyState == 2) { - if (http.status == 200) { - let ended = new Date().getTime() - http.abort() - resolve(ended - started) - } else { - resolve(5000 + http.status) - } - } - } - http.open("GET", `${href}?_=${new Date().getTime()}`, true) - started = new Date().getTime() - http.send(null) - }) + return new Promise(async resolve => { + let started + let http = new XMLHttpRequest() + http.timeout = 5000 + http.ontimeout = () => resolve(5000) + http.onerror = () => resolve() + http.onreadystatechange = () => { + if (http.readyState == 2) { + if (http.status == 200) { + let ended = new Date().getTime() + http.abort() + resolve(ended - started) + } else { + resolve(5000 + http.status) + } + } + } + http.open("GET", `${href}?_=${new Date().getTime()}`, true) + started = new Date().getTime() + http.send(null) + }) } /** * @param {string} href */ function ping(href) { - return new Promise(async resolve => { - let average = 0 - let time - for (let i = 0; i < 3; i++) { - time = await pingOnce(href) - if (i == 0) continue - if (time >= 5000) { - resolve(time) - return - } - average += time - } - average = parseInt(average / 3) - resolve(average) - }) + return new Promise(async resolve => { + let average = 0 + let time + for (let i = 0; i < 3; i++) { + time = await pingOnce(href) + if (i == 0) continue + if (time >= 5000) { + resolve(time) + return + } + average += time + } + average = parseInt(average / 3) + resolve(average) + }) +} + +function addressToLatLng(address) { + const http = new XMLHttpRequest() + http.open( + "GET", + `https://nominatim.openstreetmap.org/search?q=${encodeURIComponent(address)}&format=json&limit=1`, + false + ) + http.send() + if (http.status == 200) { + const json = JSON.parse(http.responseText)[0] + if (json) { + return { + coordinate: `${json.lat},${json.lon}`, + boundingbox: `${json.boundingbox[2]},${json.boundingbox[1]},${json.boundingbox[3]},${json.boundingbox[0]}`, + } + } + return {} + } +} + +function getQuery(url) { + let query = "" + if (url.searchParams.has("q")) query = url.searchParams.get("q") + else if (url.searchParams.has("query")) query = url.searchParams.has("query") + return query +} +function prefsEncoded(prefs) { + return new URLSearchParams(prefs).toString() +} + +function convertMapCentre(url) { + let [lat, lon, zoom] = [null, null, null] + const reg = url.pathname.match(/@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/) + if (reg) { + ;[, lon, lat, zoom] = reg + } else if (url.searchParams.has("center")) { + // Set map centre if present + ;[lat, lon] = url.searchParams.get("center").split(",") + zoom = url.searchParams.get("zoom") ?? "17" + } + return { zoom, lon, lat } +} + +export function randomInstances(clearnet, n) { + let instances = [] + if (n > clearnet.length) n = clearnet.length + for (let i = 0; i < n; i++) { + const randomNumber = Math.floor(Math.random() * clearnet.length) + const randomInstance = clearnet[randomNumber] + instances.push(randomInstance) + } + return instances +} +export function style(options, window) { + const vars = cssVariables(options, window) + return `--text: ${vars.text}; + --bg-main: ${vars.bgMain}; + --bg-secondary: ${vars.bgSecondary}; + --active: ${vars.active}; + --danger: ${vars.danger}; + --light-grey: ${vars.lightGrey};` +} + +function cssVariables(options, window) { + const dark = { + text: "#fff", + bgMain: "#121212", + bgSecondary: "#202020", + active: "#fbc117", + danger: "#f04141", + lightGrey: "#c3c3c3", + } + + const light = { + text: "black", + bgMain: "white", + bgSecondary: "#e4e4e4", + active: "#fb9817", + danger: "#f04141", + lightGrey: "#c3c3c3", + } + if (options.theme == "dark") { + return dark + } else if (options.theme == "light") { + return light + } else if (window.matchMedia("(prefers-color-scheme: dark)").matches) { + return dark + } else { + return light + } } export default { - getRandomInstance, - getNextInstance, - protocolHost, - getList, - getBlacklist, - camelCase, - getConfig, - getOptions, - getPingCache, - ping, + getRandomInstance, + getNextInstance, + protocolHost, + getList, + getBlacklist, + getConfig, + getOptions, + getPingCache, + ping, + addressToLatLng, + getQuery, + prefsEncoded, + convertMapCentre, + randomInstances, + style, } diff --git a/src/config.json b/src/config.json index 5bd39ee4..713345fa 100644 --- a/src/config.json +++ b/src/config.json @@ -1,999 +1,1360 @@ { - "networks": { - "clearnet": { - "tld": "org", - "name": "Clearnet" - }, - "tor": { - "tld": "onion", - "name": "Tor" - }, - "i2p": { - "tld": "i2p", - "name": "I2P" - }, - "loki": { - "tld": "loki", - "name": "Lokinet" - } - }, - "services": { - "youtube": { - "frontends": { - "invidious": { - "name": "Invidious", - "embeddable": true, - "instanceList": true, - "url": "https://invidious.io/" - }, - "piped": { - "excludeTargets": [ - 2, - 3 - ], - "name": "Piped", - "embeddable": true, - "instanceList": true, - "url": "https://github.com/TeamPiped/Piped" - }, - "pipedMaterial": { - "excludeTargets": [ - 2, - 3 - ], - "name": "Piped-Material", - "embeddable": false, - "instanceList": true, - "url": "https://github.com/mmjee/Piped-Material" - }, - "poketube": { - "excludeTargets": [ - 2, - 3 - ], - "name": "PokeTube", - "embeddable": true, - "instanceList": true, - "url": "https://codeberg.org/Ashley/poketube" - }, - "cloudtube": { - "name": "CloudTube", - "embeddable": false, - "instanceList": true, - "url": "https://sr.ht/~cadence/tube", - "excludeTargets": [ - 2, - 3 - ] - }, - "tuboYoutube": { - "name": "Tubo", - "embeddable": false, - "instanceList": true, - "url": "https://github.com/migalmoreno/tubo", - "excludeTargets": [ - 2, - 3 - ] - }, - "freetube": { - "excludeTargets": [ - 2, - 3 - ], - "name": "FreeTube", - "embeddable": false, - "desktopApp": true, - "instanceList": false, - "url": "https://github.com/FreeTubeApp/FreeTube" - }, - "yattee": { - "excludeTargets": [ - 2, - 3 - ], - "name": "Yattee", - "embeddable": false, - "desktopApp": true, - "instanceList": false, - "url": "https://github.com/yattee/yattee" - }, - "freetubePwa": { - "excludeTargets": [ - 2, - 3 - ], - "name": "FreeTube PWA", - "embeddable": false, - "instanceList": false, - "url": "https://github.com/MarmadileManteater/FreeTubeCordova" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.|m\\.)?youtube.com(\\/|$)(?!iframe_api\\/|redirect\\/)", - "^https?:\\/{2}img\\.youtube.com\\/vi\\/.*\\/..*", - "^https?:\\/{2}(i|s)\\.ytimg.com\\/vi\\/.*\\/..*", - "^https?:\\/{2}(www\\.)?youtube.com\\/watch?v=..*", - "^https?:\\/{2}(www\\.)?youtu\\.be\\/..*", - "^https?:\\/{2}(www\\.)?(youtube|youtube-nocookie)\\.com\\/embed\\/..*" - ], - "name": "YouTube", - "options": { - "enabled": false, - "redirectType": "main_frame", - "frontend": "invidious", - "embedFrontend": "invidious", - "unsupportedUrls": "bypass" - }, - "imageType": "png", - "embeddable": true, - "url": "https://youtube.com" - }, - "youtubeMusic": { - "frontends": { - "hyperpipe": { - "name": "Hyperpipe", - "instanceList": true, - "url": "https://codeberg.org/Hyperpipe/Hyperpipe" - }, - "invidiousMusic": { - "name": "Invidious", - "embeddable": true, - "instanceList": true, - "url": "https://invidious.io/" - } - }, - "targets": [ - "^https?:\\/{2}music\\.youtube\\.com\\/" - ], - "name": "YT Music", - "options": { - "enabled": false, - "frontend": "hyperpipe", - "unsupportedUrls": "bypass" - }, - "imageType": "png", - "url": "https://music.youtube.com" - }, - "twitter": { - "frontends": { - "nitter": { - "name": "Nitter", - "embeddable": true, - "instanceList": true, - "url": "https://github.com/zedeus/nitter", - "localhost": true - } - }, - "targets": [ - "^https?:\\/{2}(www\\.|mobile\\.)?twitter\\.com\\/", - "^https?:\\/{2}(www\\.|mobile\\.)?x\\.com\\/", - "^https?:\\/{2}(pbs\\.|video\\.)twimg\\.com\\/", - "^https?:\\/{2}platform\\.x\\.com/embed\\/", - "^https?:\\/{2}platform\\.twitter\\.com/embed\\/", - "^https?:\\/{2}t\\.co\\/" - ], - "name": "Twitter", - "options": { - "enabled": false, - "redirectType": "main_frame", - "unsupportedUrls": "bypass", - "frontend": "nitter", - "instance": "public" - }, - "imageType": "png", - "embeddable": true, - "url": "https://twitter.com" - }, - "twitch": { - "frontends": { - "safetwitch": { - "name": "SafeTwitch", - "embeddable": true, - "instanceList": true, - "url": "https://codeberg.org/dragongoose/safetwitch", - "localhost": false - }, - "twineo": { - "name": "Twineo", - "embeddable": true, - "instanceList": true, - "url": "https://codeberg.org/CloudyyUw/twineo", - "localhost": false - } - }, - "targets": [ - "^https?:\\/{2}(www\\.|clips\\.)?twitch\\.(tv|com)\\/" - ], - "name": "Twitch", - "options": { - "enabled": false, - "redirectType": "main_frame", - "unsupportedUrls": "bypass", - "frontend": "safetwitch", - "instance": "public" - }, - "imageType": "svg", - "embeddable": true, - "url": "https://twitch.tv" - }, - "tiktok": { - "frontends": { - "proxiTok": { - "name": "ProxiTok", - "instanceList": true, - "url": "https://github.com/pablouser1/ProxiTok", - "localhost": true - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?tiktok\\.com\\/" - ], - "name": "TikTok", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "proxiTok", - "instance": "public" - }, - "imageType": "png", - "url": "https://tiktok.com" - }, - "instagram": { - "frontends": { - "proxigram": { - "name": "Proxigram", - "instanceList": true, - "url": "https://codeberg.org/ThePenguinDev/Proxigram", - "localhost": false - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?instagram\\.com" - ], - "name": "Instagram", - "options": { - "enabled": false, - "frontend": "proxigram", - "unsupportedUrls": "bypass", - "instance": "public" - }, - "imageType": "png", - "url": "https://www.instagram.com" - }, - "reddit": { - "frontends": { - "libreddit": { - "name": "Libreddit", - "instanceList": true, - "url": "https://github.com/spikecodes/libreddit", - "localhost": true - }, - "teddit": { - "name": "Teddit", - "instanceList": true, - "url": "https://codeberg.org/teddit/teddit", - "localhost": true - } - }, - "targets": [ - "^https?:\\/{2}(www\\.|old\\.|np\\.|new\\.|amp\\.)?(reddit|reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad)\\.(com|onion)(?=\\/u(ser)?\\/|\\/r\\/|\\/search|\\/new|\\/?$)", - "^https?:\\/{2}(i|(external-)?preview)\\.redd\\.it" - ], - "name": "Reddit", - "options": { - "enabled": true, - "frontend": "libreddit", - "unsupportedUrls": "bypass", - "instance": "public" - }, - "imageType": "png", - "url": "https://reddit.com" - }, - "imgur": { - "frontends": { - "rimgo": { - "name": "rimgo", - "instanceList": true, - "url": "https://codeberg.org/video-prize-ranch/rimgo", - "localhost": true, - "embeddable": true - } - }, - "targets": [ - "^https?:\\/{2}([im]\\.)?(stack\\.)?imgur\\.(com|io)\\/" - ], - "name": "Imgur", - "options": { - "enabled": false, - "redirectType": "main_frame", - "unsupportedUrls": "bypass", - "frontend": "rimgo", - "instance": "public" - }, - "imageType": "png", - "embeddable": true, - "url": "https://imgur.com" - }, - "pixiv": { - "name": "Pixiv", - "frontends": { - "pixivFe": { - "name": "PixivFE", - "instanceList": true, - "url": "https://codeberg.org/VnPower/pixivfe" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?pixiv\\.net\\/" - ], - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "pixivFe" - }, - "imageType": "svg", - "url": "https://www.pixiv.net" - }, - "soundcloud": { - "frontends": { - "tuboSoundcloud": { - "name": "Tubo", - "embeddable": false, - "instanceList": true, - "url": "https://github.com/migalmoreno/tubo" - } - }, - "targets": [ - "^https?:\\/{2}soundcloud\\.com" - ], - "name": "SoundCloud", - "options": { - "enabled": false, - "redirectType": "main_frame", - "frontend": "tuboSoundcloud", - "unsupportedUrls": "bypass" - }, - "imageType": "svg", - "embeddable": false, - "url": "https://soundcloud.com" - }, - "medium": { - "frontends": { - "scribe": { - "name": "Scribe", - "instanceList": true, - "url": "https://sr.ht/~edwardloveall/Scribe" - }, - "libMedium": { - "name": "LibMedium", - "instanceList": true, - "url": "https://github.com/realaravinth/libmedium" - } - }, - "targets": [ - "^https:\\/{2}([a-zA-Z0-9-]+\\.)?medium\\.com", - "^https?:\\/{2}towardsdatascience\\.com\\/", - "^https?:\\/{2}uxdesign\\.cc\\/", - "^https?:\\/{2}uxplanet\\.org\\/", - "^https?:\\/{2}betterprogramming\\.pub\\/", - "^https?:\\/{2}aninjusticemag\\.com\\/", - "^https?:\\/{2}betterhumans\\.pub\\/", - "^https?:\\/{2}psiloveyou\\.xyz\\/", - "^https?:\\/{2}entrepreneurshandbook\\.co\\/", - "^https?:\\/{2}blog\\.coinbase\\.com\\/", - "^https?:\\/{2}levelup\\.gitconnected\\.com\\/", - "^https?:\\/{2}javascript\\.plainenglish\\.io\\/", - "^https?:\\/{2}blog\\.bitsrc\\.io\\/", - "^https?:\\/{2}itnext\\.io\\/", - "^https?:\\/{2}codeburst\\.io\\/", - "^https?:\\/{2}infosecwriteups\\.com\\/", - "^https?:\\/{2}blog\\.devgenius\\.io\\/", - "^https?:\\/{2}writingcooperative\\.com\\/", - "^https?:\\/{2}proandroiddev\\.com\\/" - ], - "name": "Medium", - "options": { - "frontend": "scribe", - "enabled": false, - "unsupportedUrls": "bypass" - }, - "imageType": "svg", - "url": "https://medium.com" - }, - "quora": { - "frontends": { - "quetre": { - "name": "Quetre", - "instanceList": true, - "url": "https://github.com/zyachel/quetre", - "localhost": true - } - }, - "targets": [ - "^https?:\\/{2}([a-zA-Z0-9-]+\\.)*quora\\.com\\/" - ], - "name": "Quora", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "quetre", - "instance": "public" - }, - "imageType": "png", - "url": "https://quora.com" - }, - "imdb": { - "frontends": { - "libremdb": { - "name": "libremdb", - "instanceList": true, - "url": "https://github.com/zyachel/libremdb", - "localhost": true - } - }, - "targets": [ - "^https?:\\/{2}(www\\.|m\\.)?imdb\\.com" - ], - "name": "IMDb", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "libremdb", - "instance": "public" - }, - "imageType": "svg", - "url": "https://imdb.com" - }, - "fandom": { - "frontends": { - "breezeWiki": { - "name": "BreezeWiki", - "instanceList": true, - "url": "https://breezewiki.com" - } - }, - "targets": [ - "^https?:\\/{2}([a-zA-Z0-9-]+\\.)?(fandom|wikia)\\.com(?=\\/wiki|\\/?$)" - ], - "name": "Fandom", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "instance": "public", - "frontend": "breezeWiki" - }, - "imageType": "svg", - "url": "https://fandom.com" - }, - "pinterest": { - "name": "Pinterest", - "frontends": { - "binternet": { - "name": "Binternet", - "instanceList": true, - "url": "https://github.com/Ahwxorg/Binternet", - "embeddable": true - } - }, - "targets": [ - "^https?:\\/{2}i\\.pinimg\\.com", - "^https?:\\/{2}(www\\.)?pinterest\\.com" - ], - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "redirectType": "main_frame", - "frontend": "binternet" - }, - "imageType": "svg", - "embeddable": true, - "url": "https://pinterest.com" - }, - "search": { - "frontends": { - "searxng": { - "name": "SearXNG", - "instanceList": true, - "url": "https://github.com/searxng/searxng", - "localhost": true - }, - "searx": { - "name": "SearX", - "instanceList": true, - "url": "https://searx.github.io/searx/" - }, - "whoogle": { - "name": "Whoogle", - "instanceList": true, - "url": "https://benbusby.com/projects/whoogle-search/" - }, - "librex": { - "name": "LibreX", - "instanceList": true, - "url": "https://github.com/hnhx/librex" - }, - "4get": { - "name": "4get", - "instanceList": true, - "url": "https://git.lolcat.ca/lolcat/4get" - } - }, - "targets": [ - "^https?:\\/{2}search\\.libredirect\\.invalid" - ], - "name": "Search", - "options": { - "enabled": false, - "frontend": "searxng", - "unsupportedUrls": "bypass", - "instance": "public" - }, - "imageType": "svgMono", - "url": "https://search.libredirect.invalid" - }, - "translate": { - "frontends": { - "simplyTranslate": { - "name": "SimplyTranslate", - "instanceList": true, - "url": "https://git.sr.ht/~metalune/simplytranslate_web", - "localhost": true - }, - "mozhi": { - "name": "Mozhi", - "instanceList": true, - "url": "https://codeberg.org/aryak/mozhi", - "localhost": false - }, - "libreTranslate": { - "name": "LibreTranslate", - "instanceList": true, - "url": "https://github.com/LibreTranslate/LibreTranslate" - } - }, - "targets": [ - "^https?:\\/{2}translate\\.google(\\.[a-z]{2,3}){1,2}\\/", - "^https?:\\/{2}translate\\.libredirect\\.invalid" - ], - "name": "Translate", - "options": { - "enabled": false, - "frontend": "simplyTranslate", - "unsupportedUrls": "bypass", - "instance": "public" - }, - "imageType": "svgMono", - "url": "https://translate.libredirect.invalid" - }, - "maps": { - "frontends": { - "osm": { - "name": "OpenStreetMap", - "instanceList": true, - "embeddable": true, - "url": "https://www.openstreetmap.org/" - } - }, - "targets": [ - "^https?:\\/{2}maps\\.libredirect\\.invalid", - "^https?:\\/{2}(((www|maps)\\.)?(google\\.).*(\\/maps)|maps\\.(google\\.).*)" - ], - "name": "Maps", - "options": { - "redirectType": "main_frame", - "enabled": false, - "frontend": "osm", - "unsupportedUrls": "bypass" - }, - "imageType": "svgMono", - "url": "https://maps.libredirect.invalid" - }, - "sendFiles": { - "frontends": { - "send": { - "name": "Send", - "instanceList": true, - "url": "https://gitlab.com/timvisee/send" - } - }, - "targets": [ - "^https?:\\/{2}send\\.libredirect\\.invalid", - "^https?:\\/{2}send\\.firefox\\.com\\/?$", - "^https?:\\/{2}sendfiles\\.online\\/?$" - ], - "name": "Send Files", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "send" - }, - "imageType": "svgMono", - "url": "https://send.libredirect.invalid" - }, - "textStorage": { - "frontends": { - "privateBin": { - "name": "PrivateBin", - "instanceList": true, - "url": "https://privatebin.info" - } - }, - "targets": [ - "^https?:\\/{2}paste\\.libredirect\\.invalid" - ], - "name": "Paste Text", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "privateBin" - }, - "imageType": "svgMono", - "url": "https://paste.libredirect.invalid" - }, - "reuters": { - "frontends": { - "neuters": { - "name": "Neuters", - "instanceList": true, - "url": "https://github.com/HookedBehemoth/neuters" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?reuters\\.com\\/" - ], - "name": "Reuters", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "neuters" - }, - "imageType": "svg", - "url": "https://reuters.com" - }, - "genius": { - "frontends": { - "dumb": { - "name": "Dumb", - "instanceList": true, - "url": "https://github.com/rramiachraf/dumb", - "localhost": true - }, - "intellectual": { - "name": "Intellectual", - "instanceList": true, - "url": "https://github.com/Insprill/intellectual", - "localhost": false - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?genius\\.com\\/" - ], - "name": "Genius", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "dumb", - "instance": "public" - }, - "imageType": "svg", - "url": "https://genius.com" - }, - "urbanDictionary": { - "frontends": { - "ruralDictionary": { - "name": "Rural Dictionary", - "instanceList": true, - "url": "https://codeberg.org/zortazert/rural-dictionary" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?urbandictionary\\.com\\/" - ], - "name": "Urban Dictionary", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "ruralDictionary" - }, - "imageType": "svg", - "url": "https://urbandictionary.com" - }, - "stackOverflow": { - "frontends": { - "anonymousOverflow": { - "name": "AnonymousOverflow", - "instanceList": true, - "url": "https://github.com/httpjamesm/AnonymousOverflow", - "localhost": true - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?stackoverflow\\.com\\/", - "^https?:\\/{2}([a-zA-Z0-9-]+\\.)?stackexchange\\.com\\/", - "^https?:\\/{2}(www\\.)?superuser\\.com\\/" - ], - "name": "Stack Overflow", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "anonymousOverflow", - "instance": "public" - }, - "imageType": "svgMono", - "url": "https://stackoverflow.com/" - }, - "goodreads": { - "frontends": { - "biblioReads": { - "name": "BiblioReads", - "instanceList": true, - "url": "https://github.com/nesaku/BiblioReads", - "localhost": true - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?goodreads\\.com\\/" - ], - "name": "Goodreads", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "biblioReads", - "instance": "public" - }, - "imageType": "svgMono", - "url": "https://goodreads.com/" - }, - "wikipedia": { - "frontends": { - "wikiless": { - "name": "Wikiless", - "instanceList": true, - "url": "https://wikiless.org" - } - }, - "targets": [ - "^https?:\\/{2}([a-z]+\\.)*wikipedia\\.org\\/?" - ], - "name": "Wikipedia", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "wikiless" - }, - "imageType": "svg", - "url": "https://wikipedia.org" - }, - "snopes": { - "frontends": { - "suds": { - "name": "Suds", - "instanceList": true, - "url": "https://git.vern.cc/cobra/Suds" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?snopes\\.com\\/" - ], - "name": "Snopes", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "suds" - }, - "imageType": "svg", - "url": "https://www.snopes.com" - }, - "waybackMachine": { - "frontends": { - "waybackClassic": { - "name": "Wayback Classic", - "instanceList": true, - "url": "https://github.com/ticky/wayback-classic" - } - }, - "targets": [ - "^https?:\\/{2}web\\.archive\\.org\\/" - ], - "name": "Wayback Machine", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "waybackClassic" - }, - "imageType": "svgMono", - "url": "https://web.archive.org" - }, - "github": { - "frontends": { - "gothub": { - "name": "Gothub", - "instanceList": true, - "url": "https://codeberg.org/gothub/gothub" - } - }, - "targets": [ - "^https?:\\/{2}github\\.com\\/", - "^https?:\\/{2}gist\\.github\\.com\\/[^\\/]+\\/[^\\/]+\\/?" - ], - "name": "GitHub", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "gothub" - }, - "imageType": "svgMono", - "url": "https://github.com" - }, - "bilibili": { - "frontends": { - "mikuInvidious": { - "name": "MikuInvidious", - "instanceList": true, - "url": "https://0xacab.org/johnxina/mikuinvidious" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.|space\\.)?bilibili\\.com\\/", - "^https?:\\/{2}b23\\.tv\\/" - ], - "name": "Bilibili", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "mikuInvidious" - }, - "imageType": "svgMono", - "url": "https://bilibili.com/" - }, - "bandcamp": { - "frontends": { - "tent": { - "name": "Tent", - "instanceList": true, - "url": "https://forgejo.sny.sh/sun/Tent" - } - }, - "targets": [ - "^https?:\\/{2}(.*\\.)?bandcamp\\.com\\/", - "^https?:\\/{2}(f4|t4)\\.bcbits\\.com\\/" - ], - "name": "Bandcamp", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "tent" - }, - "imageType": "svg", - "url": "https://bandcamp.com" - }, - "gitlab": { - "frontends": { - "laboratory": { - "name": "Laboratory", - "instanceList": true, - "url": "https://git.vitali64.duckdns.org/utils/laboratory.git/about/" - } - }, - "targets": [ - "^https?:\\/{2}gitlab\\.com\\/", - "^https?:\\/{2}gitlab\\.freedesktop\\.com\\/", - "^https?:\\/{2}gitlab\\.archlinux\\.com\\/" - ], - "name": "Gitlab", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "laboratory" - }, - "imageType": "svg", - "url": "https://gitlab.com/" - }, - "instructables": { - "name": "Instructables", - "frontends": { - "indestructables": { - "name": "Indestructables", - "instanceList": true, - "url": "https://indestructables.codeberg.page" - }, - "destructables": { - "name": "Destructables", - "instanceList": true, - "url": "https://git.vern.cc/cobra/Destructables" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?instructables\\.com\\/" - ], - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "indestructables" - }, - "imageType": "svg", - "url": "https://www.instructables.com" - }, - "meet": { - "name": "Meet", - "frontends": { - "jitsi": { - "name": "Jitsi", - "instanceList": true, - "url": "https://jitsi.org" - } - }, - "targets": [ - "^https?:\\/{2}meet\\.libredirect\\.invalid\\/" - ], - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "jitsi" - }, - "imageType": "svgMono", - "url": "https://meet.libredirect.invalid" - }, - "wolframAlpha": { - "frontends": { - "wolfreeAlpha": { - "name": "WolfreeAlpha", - "instanceList": true, - "url": "https://git.disroot.org/wolfree" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?wolframalpha\\.com\\/" - ], - "name": "Wolfram Alpha", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "wolfreeAlpha" - }, - "imageType": "svg", - "url": "https://www.wolframalpha.com" - }, - "tekstowo": { - "frontends": { - "tekstoLibre": { - "name": "TekstoLibre", - "instanceList": true, - "url": "https://github.com/Davilarek/TekstoLibre" - } - }, - "targets": [ - "^https?:\\/{2}(www\\.)?tekstowo\\.pl\\/" - ], - "name": "Tekstowo.pl", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "tekstoLibre" - }, - "imageType": "svg", - "url": "https://www.tekstowo.pl" - }, - "bluesky": { - "frontends": { - "skyview": { - "name": "Skyview", - "instanceList": true, - "url": "https://github.com/badlogic/skyview" - } - }, - "targets": [ - "^https?:\\/{2}bsky\\.app\\/" - ], - "name": "Bluesky", - "options": { - "enabled": false, - "unsupportedUrls": "bypass", - "frontend": "skyview" - }, - "imageType": "svg", - "url": "https://bsky.app/" - } - } + "networks": { + "clearnet": { + "tld": "org", + "name": "Clearnet" + }, + "tor": { + "tld": "onion", + "name": "Tor" + }, + "i2p": { + "tld": "i2p", + "name": "I2P" + }, + "loki": { + "tld": "loki", + "name": "Lokinet" + } + }, + "services": { + "youtube": { + "frontends": { + "invidious": { + "name": "Invidious", + "embeddable": true, + "instanceList": true, + "url": "https://invidious.io/" + }, + "materialious": { + "name": "Materialious", + "embeddable": true, + "instanceList": true, + "url": "https://materialio.us/" + }, + "piped": { + "excludeTargets": [ + 2, + 3 + ], + "name": "Piped", + "embeddable": true, + "instanceList": true, + "url": "https://github.com/TeamPiped/Piped" + }, + "pipedMaterial": { + "excludeTargets": [ + 2, + 3 + ], + "name": "Piped-Material", + "embeddable": false, + "instanceList": true, + "url": "https://github.com/mmjee/Piped-Material" + }, + "poketube": { + "excludeTargets": [ + 2, + 3 + ], + "name": "PokeTube", + "embeddable": true, + "instanceList": true, + "url": "https://codeberg.org/Ashley/poketube" + }, + "cloudtube": { + "name": "CloudTube", + "embeddable": false, + "instanceList": true, + "url": "https://sr.ht/~cadence/tube", + "excludeTargets": [ + 2, + 3 + ] + }, + "lightTube": { + "name": "LightTube", + "embeddable": false, + "instanceList": true, + "url": "https://github.com/lighttube-org/LightTube" + }, + "tuboYoutube": { + "name": "Tubo", + "embeddable": false, + "instanceList": true, + "url": "https://git.migalmoreno.com/tubo/about/", + "excludeTargets": [ + 2, + 3 + ] + }, + "freetube": { + "excludeTargets": [ + 2, + 3 + ], + "name": "FreeTube", + "embeddable": false, + "desktopApp": true, + "instanceList": false, + "url": "https://github.com/FreeTubeApp/FreeTube" + }, + "yattee": { + "excludeTargets": [ + 2, + 3 + ], + "name": "Yattee", + "embeddable": false, + "desktopApp": true, + "instanceList": false, + "url": "https://github.com/yattee/yattee" + }, + "freetubePwa": { + "excludeTargets": [ + 2, + 3 + ], + "name": "FreeTube PWA", + "embeddable": false, + "instanceList": false, + "url": "https://github.com/MarmadileManteater/FreeTubeCordova" + }, + "viewtube": { + "name": "ViewTube", + "embeddable": false, + "instanceList": true, + "url": "https://github.com/ViewTube/viewtube" + }, + "ytify": { + "name": "ytify", + "embeddable": false, + "instanceList": true, + "url": "https://github.com/n-ce/ytify/" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.|m\\.)?youtube.com(\\/|$)(?!iframe_api\\/|redirect\\/)", + "^https?:\\/{2}img\\.youtube.com\\/vi\\/.*\\/..*", + "^https?:\\/{2}(i|s)\\.ytimg.com\\/vi\\/.*\\/..*", + "^https?:\\/{2}(www\\.)?youtube.com\\/watch?v=..*", + "^https?:\\/{2}(www\\.)?youtu\\.be\\/..*", + "^https?:\\/{2}(www\\.)?(youtube|youtube-nocookie)\\.com\\/embed\\/..*" + ], + "name": "YouTube", + "options": { + "enabled": true, + "redirectType": "main_frame", + "frontend": "invidious", + "embedFrontend": "invidious", + "unsupportedUrls": "bypass", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "embeddable": true, + "url": "https://youtube.com" + }, + "youtubeMusic": { + "frontends": { + "hyperpipe": { + "name": "Hyperpipe", + "instanceList": true, + "url": "https://codeberg.org/Hyperpipe/Hyperpipe" + }, + "invidiousMusic": { + "name": "Invidious", + "embeddable": true, + "instanceList": true, + "url": "https://invidious.io/" + }, + "freetubeMusic": { + "name": "FreeTube", + "embeddable": false, + "desktopApp": true, + "instanceList": false, + "url": "https://github.com/FreeTubeApp/FreeTube" + } + }, + "targets": [ + "^https?:\\/{2}music\\.youtube\\.com\\/" + ], + "name": "YT Music", + "options": { + "enabled": false, + "frontend": "hyperpipe", + "unsupportedUrls": "bypass", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://music.youtube.com" + }, + "twitter": { + "frontends": { + "nitter": { + "name": "Nitter", + "embeddable": true, + "instanceList": true, + "url": "https://github.com/zedeus/nitter", + "localhost": true + } + }, + "targets": [ + "^https?:\\/{2}(www\\.|mobile\\.)?twitter\\.com\\/", + "^https?:\\/{2}(www\\.|mobile\\.)?x\\.com\\/", + "^https?:\\/{2}(pbs\\.|video\\.)twimg\\.com\\/", + "^https?:\\/{2}platform\\.x\\.com/embed\\/", + "^https?:\\/{2}platform\\.twitter\\.com/embed\\/", + "^https?:\\/{2}t\\.co\\/" + ], + "name": "Twitter", + "options": { + "enabled": false, + "redirectType": "main_frame", + "unsupportedUrls": "bypass", + "frontend": "nitter", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "embeddable": true, + "url": "https://twitter.com" + }, + "bluesky": { + "frontends": { + "skyview": { + "name": "Skyview", + "instanceList": true, + "url": "https://github.com/badlogic/skyview" + } + }, + "targets": [ + "^https?:\\/{2}bsky\\.app\\/" + ], + "name": "Bluesky", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "skyview", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://bsky.app/" + }, + "reddit": { + "frontends": { + "libreddit": { + "name": "Libreddit", + "instanceList": true, + "url": "https://github.com/spikecodes/libreddit", + "localhost": true + }, + "redlib": { + "name": "Redlib", + "instanceList": true, + "url": "https://github.com/redlib-org/redlib", + "localhost": false + }, + "teddit": { + "name": "Teddit", + "instanceList": true, + "url": "https://codeberg.org/teddit/teddit", + "localhost": false + }, + "eddrit": { + "name": "Eddrit", + "instanceList": true, + "url": "https://github.com/corenting/eddrit", + "localhost": false + } + }, + "targets": [ + "^https?:\\/{2}(www\\.|old\\.|np\\.|new\\.|amp\\.)?(reddit|reddittorjg6rue252oqsxryoxengawnmo46qy4kyii5wtqnwfj4ooad)\\.(com|onion)(?=\\/u(ser)?\\/|\\/r\\/|\\/search|\\/new|\\/?$)", + "^https?:\\/{2}(i|(external-)?preview)\\.redd\\.it" + ], + "name": "Reddit", + "options": { + "enabled": false, + "frontend": "redlib", + "unsupportedUrls": "bypass", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://reddit.com" + }, + "tumblr": { + "frontends": { + "priviblur": { + "name": "Priviblur", + "embeddable": true, + "instanceList": true, + "url": "https://github.com/syeopite/priviblur", + "localhost": true + } + }, + "targets": [ + "^https?:\\/{2}(media\\.|assets\\.|static\\.)?tumblr\\.com\\/", + "^https?:\\/{2}[0-9]+\\.media\\.tumblr\\.com\\/", + "^https?:\\/{2}(www\\.)?(.*)\\.tumblr.com\\/" + ], + "name": "Tumblr", + "options": { + "enabled": false, + "redirectType": "main_frame", + "unsupportedUrls": "bypass", + "frontend": "priviblur", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "embeddable": true, + "url": "https://tumblr.com" + }, + "twitch": { + "frontends": { + "safetwitch": { + "name": "SafeTwitch", + "embeddable": true, + "instanceList": true, + "url": "https://codeberg.org/dragongoose/safetwitch", + "localhost": false + }, + "twineo": { + "name": "Twineo", + "embeddable": true, + "instanceList": true, + "url": "https://codeberg.org/CloudyyUw/twineo", + "localhost": false + } + }, + "targets": [ + "^https?:\\/{2}(www\\.|clips\\.)?twitch\\.(tv|com)\\/" + ], + "name": "Twitch", + "options": { + "enabled": false, + "redirectType": "main_frame", + "unsupportedUrls": "bypass", + "frontend": "safetwitch", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "embeddable": true, + "url": "https://twitch.tv" + }, + "tiktok": { + "frontends": { + "proxiTok": { + "name": "ProxiTok", + "instanceList": true, + "url": "https://github.com/pablouser1/ProxiTok", + "localhost": true + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?tiktok\\.com\\/" + ], + "name": "TikTok", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "proxiTok", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://tiktok.com" + }, + "instagram": { + "frontends": { + "proxigram": { + "name": "Proxigram", + "instanceList": true, + "url": "https://codeberg.org/ThePenguinDev/Proxigram", + "localhost": false + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?instagram\\.com" + ], + "name": "Instagram", + "options": { + "enabled": false, + "frontend": "proxigram", + "unsupportedUrls": "bypass", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.instagram.com" + }, + "imdb": { + "frontends": { + "libremdb": { + "name": "libremdb", + "instanceList": true, + "url": "https://github.com/zyachel/libremdb", + "localhost": true + } + }, + "targets": [ + "^https?:\\/{2}(www\\.|m\\.)?imdb\\.com" + ], + "name": "IMDb", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "libremdb", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://imdb.com" + }, + "bilibili": { + "frontends": { + "mikuInvidious": { + "name": "MikuInvidious", + "instanceList": true, + "url": "https://0xacab.org/johnxina/mikuinvidious" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.|space\\.)?bilibili\\.com\\/", + "^https?:\\/{2}b23\\.tv\\/" + ], + "name": "Bilibili", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "mikuInvidious", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://bilibili.com/" + }, + "pixiv": { + "name": "Pixiv", + "frontends": { + "pixivFe": { + "name": "PixivFE", + "instanceList": true, + "url": "https://codeberg.org/VnPower/pixivfe" + }, + "liteXiv": { + "name": "LiteXiv", + "instanceList": true, + "url": "https://codeberg.org/Peaksol/LiteXiv" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?pixiv\\.net\\/" + ], + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "pixivFe", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.pixiv.net" + }, + "fandom": { + "frontends": { + "breezeWiki": { + "name": "BreezeWiki", + "instanceList": true, + "url": "https://breezewiki.com" + } + }, + "targets": [ + "^https?:\\/{2}([a-zA-Z0-9-]+\\.)?(fandom|wikia)\\.com(?=\\/wiki|\\/?$)" + ], + "name": "Fandom", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "instance": "public", + "frontend": "breezeWiki", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://fandom.com" + }, + "imgur": { + "frontends": { + "rimgo": { + "name": "rimgo", + "instanceList": true, + "url": "https://codeberg.org/video-prize-ranch/rimgo", + "localhost": true, + "embeddable": true + } + }, + "targets": [ + "^https?:\\/{2}([im]\\.)?(stack\\.)?imgur\\.(com|io)\\/" + ], + "name": "Imgur", + "options": { + "enabled": false, + "redirectType": "main_frame", + "unsupportedUrls": "bypass", + "frontend": "rimgo", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "embeddable": true, + "url": "https://imgur.com" + }, + "pinterest": { + "name": "Pinterest", + "frontends": { + "binternet": { + "name": "Binternet", + "instanceList": true, + "url": "https://github.com/Ahwxorg/Binternet", + "embeddable": true + } + }, + "targets": [ + "^https?:\\/{2}i\\.pinimg\\.com", + "^https?:\\/{2}(www\\.)?pinterest\\.com" + ], + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "redirectType": "main_frame", + "frontend": "binternet", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "embeddable": true, + "url": "https://pinterest.com" + }, + "soundcloud": { + "frontends": { + "tuboSoundcloud": { + "name": "Tubo", + "embeddable": false, + "instanceList": true, + "url": "https://git.migalmoreno.com/tubo/about/" + } + }, + "targets": [ + "^https?:\\/{2}soundcloud\\.com" + ], + "name": "SoundCloud", + "options": { + "enabled": false, + "redirectType": "main_frame", + "frontend": "tuboSoundcloud", + "unsupportedUrls": "bypass", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "embeddable": false, + "url": "https://soundcloud.com" + }, + "bandcamp": { + "frontends": { + "tent": { + "name": "Tent", + "instanceList": true, + "url": "https://forgejo.sny.sh/sun/Tent" + } + }, + "targets": [ + "^https?:\\/{2}(.*\\.)?bandcamp\\.com\\/", + "^https?:\\/{2}(f4|t4)\\.bcbits\\.com\\/" + ], + "name": "Bandcamp", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "tent", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://bandcamp.com" + }, + "tekstowo": { + "frontends": { + "tekstoLibre": { + "name": "TekstoLibre", + "instanceList": true, + "url": "https://github.com/Davilarek/TekstoLibre" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?tekstowo\\.pl\\/" + ], + "name": "Tekstowo.pl", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "tekstoLibre", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.tekstowo.pl" + }, + "genius": { + "frontends": { + "dumb": { + "name": "Dumb", + "instanceList": true, + "url": "https://github.com/rramiachraf/dumb", + "localhost": true + }, + "intellectual": { + "name": "Intellectual", + "instanceList": true, + "url": "https://github.com/Insprill/intellectual", + "localhost": false + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?genius\\.com\\/" + ], + "name": "Genius", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "dumb", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://genius.com" + }, + "medium": { + "frontends": { + "scribe": { + "name": "Scribe", + "instanceList": true, + "url": "https://sr.ht/~edwardloveall/Scribe" + }, + "libMedium": { + "name": "LibMedium", + "instanceList": true, + "url": "https://github.com/realaravinth/libmedium" + } + }, + "targets": [ + "^https:\\/{2}([a-zA-Z0-9-]+\\.)?medium\\.com", + "^https?:\\/{2}towardsdatascience\\.com\\/", + "^https?:\\/{2}uxdesign\\.cc\\/", + "^https?:\\/{2}uxplanet\\.org\\/", + "^https?:\\/{2}betterprogramming\\.pub\\/", + "^https?:\\/{2}aninjusticemag\\.com\\/", + "^https?:\\/{2}betterhumans\\.pub\\/", + "^https?:\\/{2}psiloveyou\\.xyz\\/", + "^https?:\\/{2}entrepreneurshandbook\\.co\\/", + "^https?:\\/{2}blog\\.coinbase\\.com\\/", + "^https?:\\/{2}levelup\\.gitconnected\\.com\\/", + "^https?:\\/{2}javascript\\.plainenglish\\.io\\/", + "^https?:\\/{2}blog\\.bitsrc\\.io\\/", + "^https?:\\/{2}itnext\\.io\\/", + "^https?:\\/{2}codeburst\\.io\\/", + "^https?:\\/{2}infosecwriteups\\.com\\/", + "^https?:\\/{2}blog\\.devgenius\\.io\\/", + "^https?:\\/{2}writingcooperative\\.com\\/", + "^https?:\\/{2}proandroiddev\\.com\\/" + ], + "name": "Medium", + "options": { + "frontend": "scribe", + "enabled": false, + "unsupportedUrls": "bypass", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://medium.com" + }, + "quora": { + "frontends": { + "quetre": { + "name": "Quetre", + "instanceList": true, + "url": "https://github.com/zyachel/quetre", + "localhost": true + } + }, + "targets": [ + "^https?:\\/{2}([a-zA-Z0-9-]+\\.)*quora\\.com\\/" + ], + "name": "Quora", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "quetre", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://quora.com" + }, + "github": { + "frontends": { + "gothub": { + "name": "Gothub", + "instanceList": true, + "url": "https://codeberg.org/gothub/gothub" + } + }, + "targets": [ + "^https?:\\/{2}github\\.com\\/", + "^https?:\\/{2}gist\\.github\\.com\\/[^\\/]+\\/[^\\/]+\\/?", + "^https?:\\/{2}raw\\.githubusercontent\\.com\\/[^\\/]+\\/[^\\/]+\\/?" + ], + "name": "GitHub", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "gothub", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://github.com" + }, + "gitlab": { + "frontends": { + "laboratory": { + "name": "Laboratory", + "instanceList": true, + "url": "https://git.vitali64.duckdns.org/utils/laboratory.git/about/" + } + }, + "targets": [ + "^https?:\\/{2}gitlab\\.com\\/", + "^https?:\\/{2}gitlab\\.freedesktop\\.com\\/", + "^https?:\\/{2}gitlab\\.archlinux\\.com\\/" + ], + "name": "GitLab", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "laboratory", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://gitlab.com/" + }, + "stackOverflow": { + "frontends": { + "anonymousOverflow": { + "name": "AnonymousOverflow", + "instanceList": true, + "url": "https://github.com/httpjamesm/AnonymousOverflow", + "localhost": true + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?([a-zA-Z]+\\.)?stackoverflow\\.com\\/", + "(?!^https?:\\/{2}(api|data|blog)\\.)^https?:\\/{2}([a-zA-Z0-9-]+\\.)stackexchange\\.com\\/", + "^https?:\\/{2}(www\\.)?([a-zA-Z]+\\.)?(askubuntu\\.com|mathoverflow\\.net|serverfault\\.com|stackapps\\.com|superuser\\.com)\\/" + ], + "name": "Stack Overflow", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "anonymousOverflow", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://stackoverflow.com/" + }, + "reuters": { + "frontends": { + "neuters": { + "name": "Neuters", + "instanceList": true, + "url": "https://github.com/HookedBehemoth/neuters" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?reuters\\.com\\/" + ], + "name": "Reuters", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "neuters", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://reuters.com" + }, + "snopes": { + "frontends": { + "suds": { + "name": "Suds", + "instanceList": true, + "url": "https://git.vern.cc/cobra/Suds" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?snopes\\.com\\/" + ], + "name": "Snopes", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "suds", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.snopes.com" + }, + "ifunny": { + "frontends": { + "unfunny": { + "name": "UNfunny", + "instanceList": true, + "url": "https://git.vern.cc/cobra/UNfunny" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?ifunny\\.co\\/" + ], + "name": "iFunny", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "unfunny", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://ifunny.co" + }, + "tenor": { + "frontends": { + "soprano": { + "name": "Soprano", + "instanceList": true, + "url": "https://git.vern.cc/cobra/Soprano" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?tenor\\.com\\/" + ], + "name": "Tenor", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "soprano", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://tenor.com" + }, + "knowyourmeme": { + "frontends": { + "meme": { + "name": "MeMe", + "instanceList": true, + "url": "https://git.vern.cc/cobra/MeMe" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?knowyourmeme\\.com\\/" + ], + "name": "KnowYourMeme", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "meme", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://knowyourmeme.com" + }, + "urbanDictionary": { + "frontends": { + "ruralDictionary": { + "name": "Rural Dictionary", + "instanceList": true, + "url": "https://codeberg.org/zortazert/rural-dictionary" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?urbandictionary\\.com\\/" + ], + "name": "Urban Dictionary", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "ruralDictionary", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://urbandictionary.com" + }, + "goodreads": { + "frontends": { + "biblioReads": { + "name": "BiblioReads", + "instanceList": true, + "url": "https://github.com/nesaku/BiblioReads", + "localhost": true + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?goodreads\\.com\\/" + ], + "name": "Goodreads", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "biblioReads", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://goodreads.com/" + }, + "wolframAlpha": { + "frontends": { + "wolfreeAlpha": { + "name": "WolfreeAlpha", + "instanceList": true, + "url": "https://git.disroot.org/wolfree" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?wolframalpha\\.com\\/" + ], + "name": "Wolfram Alpha", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "wolfreeAlpha", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.wolframalpha.com" + }, + "instructables": { + "name": "Instructables", + "frontends": { + "indestructables": { + "name": "Indestructables", + "instanceList": true, + "url": "https://indestructables.codeberg.page" + }, + "destructables": { + "name": "Destructables", + "instanceList": true, + "url": "https://git.vern.cc/cobra/Destructables" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?instructables\\.com\\/" + ], + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "indestructables", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.instructables.com" + }, + "wikipedia": { + "frontends": { + "wikiless": { + "name": "Wikiless", + "instanceList": true, + "url": "https://wikiless.org" + } + }, + "targets": [ + "^https?:\\/{2}([a-z]+\\.)*wikipedia\\.org\\/?" + ], + "name": "Wikipedia", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "wikiless", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://wikipedia.org" + }, + "waybackMachine": { + "frontends": { + "waybackClassic": { + "name": "Wayback Classic", + "instanceList": true, + "url": "https://github.com/ticky/wayback-classic" + } + }, + "targets": [ + "^https?:\\/{2}web\\.archive\\.org\\/" + ], + "name": "Wayback Machine", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "waybackClassic", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://web.archive.org" + }, + "pastebin": { + "frontends": { + "pasted": { + "name": "Pasted", + "instanceList": true, + "url": "https://github.com/Dragynfruit/pasted" + } + }, + "targets": [ + "^https?:\\/{2}pastebin\\.com\\/" + ], + "name": "Pastebin", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "pasted", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "embeddable": true, + "url": "https://pastebin.com" + }, + "search": { + "frontends": { + "searxng": { + "name": "SearXNG", + "instanceList": true, + "url": "https://github.com/searxng/searxng", + "localhost": true, + "excludeTargets": [ + 2, + 3 + ] + }, + "searx": { + "name": "SearX", + "instanceList": true, + "url": "https://searx.github.io/searx/", + "excludeTargets": [ + 2, + 3 + ] + }, + "whoogle": { + "name": "Whoogle", + "instanceList": true, + "url": "https://benbusby.com/projects/whoogle-search/", + "excludeTargets": [ + 2, + 3 + ] + }, + "librey": { + "name": "LibreY", + "instanceList": true, + "url": "https://github.com/Ahwxorg/librey/", + "excludeTargets": [ + 2, + 3 + ] + }, + "4get": { + "name": "4get", + "instanceList": true, + "url": "https://git.lolcat.ca/lolcat/4get", + "excludeTargets": [ + 2, + 3 + ] + } + }, + "targets": [ + "^https?:\\/{2}search\\.libredirect\\.invalid", + "^https?:\\/{2}libredirect\\.github\\.io\\/\\?q", + "^https?:\\/{2}(www\\.)?google\\.com", + "^https?:\\/{2}(www\\.)?bing\\.com" + ], + "name": "Search", + "options": { + "enabled": false, + "frontend": "searxng", + "unsupportedUrls": "bypass", + "redirectGoogle": false, + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://search.libredirect.invalid" + }, + "translate": { + "frontends": { + "simplyTranslate": { + "name": "SimplyTranslate", + "instanceList": true, + "url": "https://codeberg.org/ManeraKai/simplytranslate", + "localhost": true + }, + "mozhi": { + "name": "Mozhi", + "instanceList": true, + "url": "https://codeberg.org/aryak/mozhi", + "localhost": false, + "imageType": "svg" + }, + "libreTranslate": { + "name": "LibreTranslate", + "instanceList": true, + "url": "https://github.com/LibreTranslate/LibreTranslate" + }, + "translite": { + "name": "Translite", + "instanceList": true, + "url": "https://codeberg.org/gospodin/translite" + } + }, + "targets": [ + "^https?:\\/{2}translate\\.google(\\.[a-z]{2,3}){1,2}\\/", + "^https?:\\/{2}translate\\.libredirect\\.invalid" + ], + "name": "Translate", + "options": { + "enabled": false, + "frontend": "simplyTranslate", + "unsupportedUrls": "bypass", + "instance": "public", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://translate.libredirect.invalid" + }, + "maps": { + "frontends": { + "osm": { + "name": "OpenStreetMap", + "instanceList": true, + "embeddable": true, + "url": "https://www.openstreetmap.org/" + } + }, + "targets": [ + "^https?:\\/{2}maps\\.libredirect\\.invalid", + "^https?:\\/{2}(((www|maps)\\.)?(google\\.).*(\\/maps)|maps\\.(google\\.).*)" + ], + "name": "Maps", + "options": { + "redirectType": "main_frame", + "enabled": false, + "frontend": "osm", + "unsupportedUrls": "bypass", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://maps.libredirect.invalid" + }, + "meet": { + "name": "Meet", + "frontends": { + "jitsi": { + "name": "Jitsi", + "instanceList": true, + "url": "https://jitsi.org" + } + }, + "targets": [ + "^https?:\\/{2}meet\\.libredirect\\.invalid\\/" + ], + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "jitsi", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://meet.libredirect.invalid" + }, + "sendFiles": { + "frontends": { + "send": { + "name": "Send", + "instanceList": true, + "url": "https://gitlab.com/timvisee/send" + } + }, + "targets": [ + "^https?:\\/{2}send\\.libredirect\\.invalid", + "^https?:\\/{2}send\\.firefox\\.com\\/?$", + "^https?:\\/{2}sendfiles\\.online\\/?$" + ], + "name": "Send Files", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "send", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://send.libredirect.invalid" + }, + "textStorage": { + "frontends": { + "privateBin": { + "name": "PrivateBin", + "instanceList": true, + "url": "https://privatebin.info" + }, + "pasted": { + "name": "Pasted", + "instanceList": true, + "url": "https://github.com/Dragynfruit/pasted" + } + }, + "targets": [ + "^https?:\\/{2}paste\\.libredirect\\.invalid" + ], + "name": "Paste Text", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "privateBin", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://paste.libredirect.invalid" + }, + "ultimateGuitar": { + "frontends": { + "freetar": { + "name": "Freetar", + "instanceList": true, + "url": "https://github.com/kmille/freetar" + } + }, + "targets": [ + "^https?:\\/{2}(tabs\\.|www\\.)?ultimate-guitar\\.com" + ], + "name": "Ultimate Guitar", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "freetar", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.ultimate-guitar.com" + }, + "baiduTieba": { + "frontends": { + "ratAintTieba": { + "name": "Rat Aint Tieba", + "instanceList": true, + "url": "https://0xacab.org/johnxina/rat" + } + }, + "targets": [ + "^https?:\\/{2}tieba\\.baidu\\.com" + ], + "name": "Baidu Tieba", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "ratAintTieba", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://tieba.baidu.com" + }, + "threads": { + "frontends": { + "shoelace": { + "name": "Shoelace", + "instanceList": true, + "url": "https://git.sr.ht/~nixgoat/shoelace" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?threads\\.net" + ], + "name": "Threads", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "shoelace", + "redirectOnlyInIncognito": false + }, + "imageType": "svgMono", + "url": "https://threads.net" + }, + "deviantArt": { + "frontends": { + "skunkyArt": { + "name": "SkunkyArt", + "instanceList": true, + "url": "https://git.sr.ht/~nixgoat/shoelace" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?deviantart\\.com" + ], + "name": "DeviantArt", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "skunkyArt", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://deviantart.com" + }, + "geeksForGeeks": { + "frontends": { + "nerdsForNerds": { + "name": "NerdsforNerds", + "instanceList": true, + "url": "https://git.vern.cc/cobra/NerdsforNerds" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?geeksforgeeks\\.org" + ], + "name": "GeeksforGeeks", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "nerdsForNerds", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://www.geeksforgeeks.org" + }, + "coub": { + "frontends": { + "koub": { + "name": "Koub", + "instanceList": true, + "url": "https://codeberg.org/gospodin/koub" + } + }, + "targets": [ + "^https?:\\/{2}(www\\.)?coub\\.com" + ], + "name": "Coub", + "options": { + "enabled": false, + "unsupportedUrls": "bypass", + "frontend": "koub", + "redirectOnlyInIncognito": false + }, + "imageType": "svg", + "url": "https://coub.com" + } + } } diff --git a/src/manifest.json b/src/manifest.json index 7dcacf95..4de112c0 100644 --- a/src/manifest.json +++ b/src/manifest.json @@ -1,86 +1,86 @@ { - "name": "__MSG_extensionName__", - "description": "__MSG_extensionDescription__", - "version": "2.8.3", - "manifest_version": 2, - "browser_specific_settings": { - "gecko": { + "name": "__MSG_extensionName__", + "description": "__MSG_extensionDescription__", + "version": "2.9.1", + "manifest_version": 2, + "browser_specific_settings": { + "gecko": { "id": "vhack-libredirect@addons.vhack.eu", - "strict_min_version": "89.0" - } - }, - "background": { - "page": "pages/background/background.html", - "persistent": true - }, - "icons": { - "16": "assets/images/libredirect-16.png", - "32": "assets/images/libredirect-32.png", - "48": "assets/images/libredirect-48.png", - "128": "assets/images/libredirect-128.png" - }, - "permissions": [ - "webRequest", - "webRequestBlocking", - "storage", - "clipboardWrite", - "contextMenus", - "<all_urls>" - ], - "optional_permissions": [ - "bookmarks" - ], - "browser_action": { - "default_title": "__MSG_extensionName__", - "browser_style": false, - "default_popup": "pages/popup/popup.html", - "default_icon": { - "16": "assets/images/libredirect-16.png", - "32": "assets/images/libredirect-32.png", - "48": "assets/images/libredirect-48.png", - "128": "assets/images/libredirect-128.png" - } - }, - "options_ui": { - "page": "pages/options/index.html", - "browser_style": false, - "open_in_tab": true - }, - "chrome_settings_overrides": { - "search_provider": { - "name": "__MSG_extensionName__", - "keyword": "@libredirect", - "favicon_url": "https://raw.githubusercontent.com/libredirect/libredirect/master/src/assets/images/libredirect-16.png", - "search_url": "https://search.libredirect.invalid/?q={searchTerms}", - "encoding": "UTF-8", - "is_default": false - } - }, - "commands": { - "switchInstance": { - "suggested_key": { - "default": "Alt+Shift+L" - }, - "description": "__MSG_switchInstance__" - }, - "copyRaw": { - "suggested_key": { - "default": "Alt+Shift+C" - }, - "description": "Copies the original link. Ex: Copies the original twitter link while in the nitter website" - }, - "reverse": { - "suggested_key": { - "default": "Alt+Shift+O" - }, - "description": "Redirect to the original link. Ex: Redirects to the original twitter link while in the nitter website" - }, - "redirect": { - "suggested_key": { - "default": "Alt+Shift+R" - }, - "description": "Redirect link. Ex: Redirects original twitter link to nitter" - } - }, - "default_locale": "en" + "strict_min_version": "89.0" + }, + "gecko_android": { + "strict_min_version": "113.0" + } + }, + "background": { + "page": "pages/background/background.html", + "persistent": true + }, + "icons": { + "16": "assets/images/libredirect-16.png", + "32": "assets/images/libredirect-32.png", + "48": "assets/images/libredirect-48.png", + "64": "assets/images/libredirect-64.png", + "96": "assets/images/libredirect-96.png", + "128": "assets/images/libredirect-128.png" + }, + "permissions": ["webRequest", "webRequestBlocking", "storage", "clipboardWrite", "contextMenus", "<all_urls>"], + "optional_permissions": ["bookmarks"], + "browser_action": { + "default_title": "__MSG_extensionName__", + "browser_style": false, + "default_popup": "pages/popup/index.html", + "default_icon": { + "16": "assets/images/libredirect-16.png", + "32": "assets/images/libredirect-32.png", + "48": "assets/images/libredirect-48.png", + "64": "assets/images/libredirect-64.png", + "96": "assets/images/libredirect-96.png", + "128": "assets/images/libredirect-128.png" + } + }, + "options_ui": { + "page": "pages/options/index.html", + "browser_style": false, + "open_in_tab": true + }, + "chrome_settings_overrides": { + "search_provider": { + "name": "__MSG_extensionName__", + "keyword": "@libredirect", + "favicon_url": "https://raw.githubusercontent.com/libredirect/browser_extension/master/src/assets/images/libredirect.svg", + "search_url": "https://search.libredirect.invalid/?q={searchTerms}", + "encoding": "UTF-8", + "is_default": false + } + }, + "commands": { + "switchInstance": { + "suggested_key": { + "default": "Alt+Shift+L" + }, + "description": "__MSG_switchInstance__" + }, + "copyRaw": { + "suggested_key": { + "default": "Alt+Shift+C" + }, + "description": "Copies the original link. Ex: Copies the original twitter link while in the nitter website" + }, + "reverse": { + "suggested_key": { + "default": "Alt+Shift+O" + }, + "description": "Redirect to the original link. Ex: Redirects to the original twitter link while in the nitter website" + }, + "redirect": { + "suggested_key": { + "default": "Alt+Shift+R" + }, + "description": "Redirect link. Ex: Redirects original twitter link to nitter" + } + }, + "default_locale": "en", + "update_url": "https://raw.githubusercontent.com/libredirect/libredirect/master/src/updates/updates.xml", + "key": "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAroWDSoSRZ1scj+eJRrvnhJbrqXTKnhQuxs6+AJg16sqr0bsMdFV+MSY4i4xnK+K5WOYkBliWXgUyk/wzicoAjOnSJddrL/Md4FuWHI2NVIkrlsLOrYkygi5OLqGPajRH/w8Cdmg7KzEpXe/OnYV0/qS8li8huEdTzdeLdhfbiVl1j3DOr4OJALQ7mPeeNFHFo/oVQ+OkSezWLezA5jUGfhtzPYV6u1TXzX7lCi8E/BbDbwkvvXOMcjXCv08kjdLOY2djCA2a6zr0xAb3q8DlexAMZ8vMof7AQRFtBKhLc9n9VFoipMMdBOVQQj/eIcRILBrmkcZNnJxFKiHNJ+NcZQIDAQAB" } diff --git a/src/pages/background/background.html b/src/pages/background/background.html index 542df18b..787d419e 100644 --- a/src/pages/background/background.html +++ b/src/pages/background/background.html @@ -1,7 +1,7 @@ -<!DOCTYPE html> +<!doctype html> <html> - <head> - <meta charset="utf-8" /> - <script type="module" src="background.js"></script> - </head> + <head> + <meta charset="utf-8" /> + <script type="module" src="background.js"></script> + </head> </html> diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 4b8f1ca2..1fcba190 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -7,338 +7,377 @@ const isChrome = browser.runtime.getBrowserInfo === undefined window.browser = window.browser || window.chrome browser.runtime.onInstalled.addListener(async details => { - if (details.previousVersion != browser.runtime.getManifest().version) { - // ^Used to prevent this running when debugging with auto-reload - if (details.reason == "install") { - if (!(await utils.getOptions())) { - await servicesHelper.initDefaults() - } - browser.runtime.openOptionsPage() - } - else if (details.reason == "update") { - if (details.previousVersion == '2.5.2') { - await servicesHelper.upgradeOptions() - await servicesHelper.processUpdate() - } else { - await servicesHelper.processUpdate() - } - } - } + if (details.previousVersion != browser.runtime.getManifest().version) { + // ^Used to prevent this running when debugging with auto-reload + if (details.reason == "install") { + if (!(await utils.getOptions())) { + await servicesHelper.initDefaults() + } + } else if (details.reason == "update") { + await servicesHelper.processUpdate() + } + } }) +// true to redirect, false to bypass let tabIdRedirects = {} // true == Always redirect, false == Never redirect, null/undefined == follow options for services browser.webRequest.onBeforeRequest.addListener( - details => { - const url = new URL(details.url) - if (new RegExp(/^chrome-extension:\/{2}.*\/instances\/.*.json$/).test(url.href) && details.type == "xmlhttprequest") return - let initiator - try { - if (details.originUrl) initiator = new URL(details.originUrl) - else if (details.initiator && details.initiator !== "null") initiator = new URL(details.initiator) - } catch { - return null - } - if (tabIdRedirects[details.tabId] == false) return null - let newUrl = servicesHelper.redirect(url, details.type, initiator, tabIdRedirects[details.tabId], details.incognito) + details => { + const old_href = details.url + const url = new URL(details.url) + if (new RegExp(/^chrome-extension:\/{2}.*\/instances\/.*.json$/).test(url.href) && details.type == "xmlhttprequest") + return null - if (details.frameAncestors && details.frameAncestors.length > 0 && servicesHelper.isException(new URL(details.frameAncestors[0].url))) newUrl = null + // if url is previously bypassed + if (tabIdRedirects[details.tabId] == false) return null - if (servicesHelper.isException(url)) { - if (details.type == "main_frame") - newUrl = "BYPASSTAB" - else - return null - } + // Bypass embeds from excepted urls + if ( + details.frameAncestors && + details.frameAncestors.length >= 1 && + servicesHelper.isException(new URL(details.frameAncestors[0].url)) + ) + return null - if (!newUrl) { - const match = url.href.match(/^https?:\/{2}.*\.libredirect\.invalid.*/) - if (match) { - browser.tabs.update({ - url: browser.runtime.getURL(`/pages/messages/no_instance.html`) - }); - } - } + if (servicesHelper.isException(url)) { + if (details.type == "main_frame") { + console.log(`Bypassing ${details.tabId} ${url}`) + tabIdRedirects[details.tabId] = false + } + return null + } - if (newUrl) { - if (newUrl === "CANCEL") { - console.log(`Canceled ${url}`) - return { cancel: true } - } - if (newUrl === "BYPASSTAB") { - console.log(`Bypassed ${details.tabId} ${url}`) - if (tabIdRedirects[details.tabId] != false) tabIdRedirects[details.tabId] = false - return null - } - console.info("Redirecting", url.href, "=>", newUrl) - return { redirectUrl: newUrl } - } - return null - }, - { urls: ["<all_urls>"] }, - ["blocking"] -) + let originUrl + let documentUrl + try { + if (details.originUrl) originUrl = new URL(details.originUrl) + if (details.documentUrl) documentUrl = new URL(details.documentUrl) + } catch { + return null + } -browser.tabs.onRemoved.addListener(tabId => { - if (tabIdRedirects[tabId] != undefined) { - delete tabIdRedirects[tabId] - console.log(`Removed tab ${tabId} from tabIdRedirects`) - } -}) + let newUrl = servicesHelper.redirect( + url, + details.type, + originUrl, + documentUrl, + details.incognito, + tabIdRedirects[details.tabId] + ) -browser.commands.onCommand.addListener(async command => { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - const url = new URL(tabs[0].url) - switch (command) { - case "switchInstance": - const newUrl = await servicesHelper.switchInstance(url) - if (newUrl) browser.tabs.update({ url: newUrl }) - break - case "copyRaw": { - servicesHelper.copyRaw(url) - break - } - case "redirect": { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = servicesHelper.redirect(url, "main_frame", null, true) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = true - }) - } - } - }) - break - } - case "reverse": { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = await servicesHelper.reverse(url) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = false - }) - } - } - }) - break - } - } - }) -}) + if ( + (newUrl && newUrl.startsWith("https://no-instance.libredirect.invalid")) || + (!newUrl && url.href.startsWith("https://no-instance.libredirect.invalid")) + ) { + newUrl = newUrl ? new URL(newUrl) : url + const frontend = newUrl.searchParams.get("frontend") + const oldUrl = new URL(newUrl.searchParams.get("url")) + const params = new URLSearchParams({ + message: "no_instance", + url: oldUrl, + frontend: frontend, + }) + browser.tabs.update({ + url: browser.runtime.getURL(`/pages/messages/index.html?${params.toString()}`), + }) + return { cancel: true } + } -browser.contextMenus.create({ id: "settingsTab", title: browser.i18n.getMessage("settings"), contexts: ["browser_action"] }) -browser.contextMenus.create({ id: "switchInstanceTab", title: browser.i18n.getMessage("switchInstance"), contexts: ["browser_action"] }) -browser.contextMenus.create({ id: "copyReverseTab", title: 'Copy Original', contexts: ["browser_action"] }) -browser.contextMenus.create({ id: "redirectTab", title: 'Redirect', contexts: ["browser_action"] }) -browser.contextMenus.create({ id: "reverseTab", title: 'Redirect To Original', contexts: ["browser_action"] }) + if (!newUrl) { + if (url.href.match(/^https?:\/{2}(.*\.)?libredirect\.invalid.*/)) { + const params = new URLSearchParams({ + message: "disabled", + url: url.href, + }) + browser.tabs.update({ + url: browser.runtime.getURL(`/pages/messages/index.html?${params.toString()}`), + }) + return { cancel: true } + } + } -browser.contextMenus.create({ id: "redirectLink", title: 'Redirect', contexts: ["link"] }) -browser.contextMenus.create({ id: "redirectLinkInNewTab", title: 'Redirect In New Tab', contexts: ["link"] }) -browser.contextMenus.create({ id: "reverseLink", title: 'Redirect To Original', contexts: ["link"] }) -browser.contextMenus.create({ id: "reverseLinkInNewTab", title: 'Redirect To Original In New Tab', contexts: ["link"] }) -browser.contextMenus.create({ id: "copyReverseLink", title: 'Copy Original', contexts: ["link"] }) -browser.contextMenus.create({ id: "bypassLink", title: 'Bypass', contexts: ["link"] }) -browser.contextMenus.create({ id: "bypassLinkInNewTab", title: 'Bypass In New Tab', contexts: ["link"] }) + if (newUrl === "CANCEL") { + console.log(`Cancelling ${url}`) + return { cancel: true } + } + if (newUrl === "BYPASSTAB") { + console.log(`Bypassing ${details.tabId} ${url}`) + tabIdRedirects[details.tabId] = false + return null + } + if (newUrl) { + console.log("Redirecting", old_href, "=>", newUrl) + return { redirectUrl: newUrl } + } + return null + }, + { urls: ["<all_urls>"] }, + ["blocking"] +) -if (!isChrome) { - browser.contextMenus.create({ id: "redirectBookmark", title: 'Redirect', contexts: ["bookmark"] }) - browser.contextMenus.create({ id: "redirectBookmarkInNewTab", title: 'Redirect In New Tab', contexts: ["bookmark"] }) - browser.contextMenus.create({ id: "reverseBookmark", title: 'Redirect To Original', contexts: ["bookmark"] }) - browser.contextMenus.create({ id: "reverseBookmarkInNewTab", title: 'Redirect To Original In New Tab', contexts: ["bookmark"] }) - browser.contextMenus.create({ id: "copyReverseBookmark", title: 'Copy Original', contexts: ["bookmark"] }) - browser.contextMenus.create({ id: "bypassBookmark", title: 'Bypass', contexts: ["bookmark"] }) - browser.contextMenus.create({ id: "bypassBookmarkInNewTab", title: 'Bypass In New Tab', contexts: ["bookmark"] }) -} +browser.webRequest.onHeadersReceived.addListener( + details => { + if (details.statusCode >= 501 || details.statusCode == 429 || details.statusCode == 403) { + const url = new URL(details.url) + const { service, frontend } = servicesHelper.computeFrontend(url) + if (!service) return + const params = new URLSearchParams({ + message: "server_error", + code: details.statusCode, + url: url.href, + frontend: frontend, + service: service, + }) + setTimeout(() => { + browser.tabs.update({ + url: browser.runtime.getURL(`/pages/messages/index.html?${params.toString()}`), + }) + }, 2000) + } + }, + { urls: ["<all_urls>"] } +) -browser.contextMenus.onClicked.addListener(async (info) => { - switch (info.menuItemId) { - case 'switchInstanceTab': { - const url = new URL(info.pageUrl) - const newUrl = await servicesHelper.switchInstance(url) - if (newUrl) { - browser.tabs.update({ url: newUrl }) - } - return - } - case 'settingsTab': { - browser.runtime.openOptionsPage() - return - } - case 'copyReverseTab': { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - servicesHelper.copyRaw(url) - } - }) - return - } - case 'reverseTab': { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = await servicesHelper.reverse(url) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = false - }) - } - } - }) - return - } - case 'redirectTab': { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = servicesHelper.redirect(url, "main_frame", null, true) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = true - }) - } - } - }) - return - } +browser.tabs.onRemoved.addListener(tabId => { + if (tabIdRedirects[tabId] != undefined) { + delete tabIdRedirects[tabId] + console.log(`Removed tab ${tabId} from tabIdRedirects`) + } +}) - case 'copyReverseLink': { - const url = new URL(info.linkUrl) - await servicesHelper.copyRaw(url) - return - } - case 'redirectLink': - case 'redirectLinkInNewTab': { - const url = new URL(info.linkUrl) - const newUrl = servicesHelper.redirect(url, "main_frame", null, true) - if (newUrl) { - if (info.menuItemId == "redirectLink") browser.tabs.update({ url: newUrl }) - else browser.tabs.create({ url: newUrl }) - } - return - } - case 'reverseLink': - case 'reverseLinkInNewTab': { - const url = new URL(info.linkUrl) - const newUrl = await servicesHelper.reverse(url) - if (newUrl) { - if (info.menuItemId == "reverseLink") { - browser.tabs.update({ url: newUrl }, tab => { - tabIdRedirects[tab.id] = false - }) - } else { - browser.tabs.create({ url: newUrl }, tab => { - tabIdRedirects[tab.id] = false - }) - } - } - return - } +browser.runtime.getPlatformInfo(r => { + if (r.os != "fuchsia" && r.os != "ios" && r.os != "android") { + browser.commands.onCommand.addListener(async command => { + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + const url = new URL(tabs[0].url) + switch (command) { + case "switchInstance": { + const newUrl = await servicesHelper.switchInstance(url) + if (newUrl) browser.tabs.update({ url: newUrl }) + break + } + case "copyRaw": + servicesHelper.copyRaw(url) + break + case "redirect": + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + const url = new URL(tabs[0].url) + const newUrl = servicesHelper.redirect(url, "main_frame", null, null, false, true) + if (newUrl) { + browser.tabs.update(tabs[0].id, { url: newUrl }, () => { + tabIdRedirects[tabs[0].id] = true + }) + } + } + }) + break + case "reverse": + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + const url = new URL(tabs[0].url) + const newUrl = await servicesHelper.reverse(url) + if (newUrl) { + browser.tabs.update(tabs[0].id, { url: newUrl }, () => { + tabIdRedirects[tabs[0].id] = false + }) + } + } + }) + break + } + }) + }) - case 'bypassLink': - case 'bypassLinkInNewTab': { - const url = new URL(info.linkUrl) - if (info.menuItemId == "bypassLink") { - browser.tabs.update({ url: url.href }, tab => { - tabIdRedirects[tab.id] = false - }) - } else { - browser.tabs.create({ url: url.href }, tab => { - tabIdRedirects[tab.id] = false - }) - } - return - } + browser.contextMenus.create({ + id: "settingsTab", + title: browser.i18n.getMessage("settings"), + contexts: ["browser_action"], + }) + browser.contextMenus.create({ + id: "switchInstanceTab", + title: browser.i18n.getMessage("switchInstance"), + contexts: ["browser_action"], + }) + browser.contextMenus.create({ id: "copyReverseTab", title: "Copy Original", contexts: ["browser_action"] }) + browser.contextMenus.create({ id: "redirectTab", title: "Redirect", contexts: ["browser_action"] }) + browser.contextMenus.create({ id: "reverseTab", title: "Redirect To Original", contexts: ["browser_action"] }) - case 'copyReverseBookmark': { - browser.bookmarks.get(info.bookmarkId, bookmarks => { - const url = new URL(bookmarks[0].url) - servicesHelper.copyRaw(url) - }); - return - } + browser.contextMenus.create({ id: "redirectLink", title: "Redirect", contexts: ["link"] }) + browser.contextMenus.create({ id: "redirectLinkInNewTab", title: "Redirect In New Tab", contexts: ["link"] }) + browser.contextMenus.create({ id: "reverseLink", title: "Redirect To Original", contexts: ["link"] }) + browser.contextMenus.create({ + id: "reverseLinkInNewTab", + title: "Redirect To Original In New Tab", + contexts: ["link"], + }) + browser.contextMenus.create({ id: "copyReverseLink", title: "Copy Original", contexts: ["link"] }) + browser.contextMenus.create({ id: "bypassLink", title: "Bypass", contexts: ["link"] }) + browser.contextMenus.create({ id: "bypassLinkInNewTab", title: "Bypass In New Tab", contexts: ["link"] }) - case 'redirectBookmark': - case 'redirectBookmarkInNewTab': { - browser.bookmarks.get(info.bookmarkId, bookmarks => { - const url = new URL(bookmarks[0].url) - const newUrl = servicesHelper.redirect(url, "main_frame", null, true) - if (newUrl) { - if (info.menuItemId == 'redirectBookmark') browser.tabs.update({ url: newUrl }) - else browser.tabs.create({ url: newUrl }) - } - }) - return - } - case 'reverseBookmark': - case 'reverseBookmarkInNewTab': { - browser.bookmarks.get(info.bookmarkId, async bookmarks => { - const url = new URL(bookmarks[0].url) - const newUrl = await servicesHelper.reverse(url) - if (newUrl) { - if (info.menuItemId == "reverseBookmark") { - browser.tabs.update({ url: newUrl }, tab => { - tabIdRedirects[tab.id] = false - }) - } else { - browser.tabs.create({ url: newUrl }, tab => { - tabIdRedirects[tab.id] = false - }) - } - } - }) - return - } + if (!isChrome) { + browser.contextMenus.create({ id: "redirectBookmark", title: "Redirect", contexts: ["bookmark"] }) + browser.contextMenus.create({ + id: "redirectBookmarkInNewTab", + title: "Redirect In New Tab", + contexts: ["bookmark"], + }) + browser.contextMenus.create({ id: "reverseBookmark", title: "Redirect To Original", contexts: ["bookmark"] }) + browser.contextMenus.create({ + id: "reverseBookmarkInNewTab", + title: "Redirect To Original In New Tab", + contexts: ["bookmark"], + }) + browser.contextMenus.create({ id: "copyReverseBookmark", title: "Copy Original", contexts: ["bookmark"] }) + browser.contextMenus.create({ id: "bypassBookmark", title: "Bypass", contexts: ["bookmark"] }) + browser.contextMenus.create({ id: "bypassBookmarkInNewTab", title: "Bypass In New Tab", contexts: ["bookmark"] }) + } - case 'bypassBookmark': - case 'bypassBookmarkInNewTab': { - browser.bookmarks.get(info.bookmarkId, async bookmarks => { - const url = new URL(bookmarks[0].url) - if (info.menuItemId == "bypassBookmark") { - browser.tabs.update({ url: url.href }, tab => { - tabIdRedirects[tab.id] = false - }) - } else { - browser.tabs.create({ url: url.href }, tab => { - tabIdRedirects[tab.id] = false - }) - } - return - }) - } - } + browser.contextMenus.onClicked.addListener(async info => { + switch (info.menuItemId) { + case "switchInstanceTab": { + const url = new URL(info.pageUrl) + const newUrl = await servicesHelper.switchInstance(url) + if (newUrl) browser.tabs.update({ url: newUrl }) + return + } + case "settingsTab": + browser.runtime.openOptionsPage() + return + case "copyReverseTab": + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + const url = new URL(tabs[0].url) + servicesHelper.copyRaw(url) + } + }) + return + case "reverseTab": + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + const url = new URL(tabs[0].url) + const newUrl = await servicesHelper.reverse(url) + if (newUrl) { + browser.tabs.update(tabs[0].id, { url: newUrl }, () => { + tabIdRedirects[tabs[0].id] = false + }) + } + } + }) + return + case "redirectTab": + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + const url = new URL(tabs[0].url) + const newUrl = servicesHelper.redirect(url, "main_frame", null, null, false, true) + if (newUrl) { + browser.tabs.update(tabs[0].id, { url: newUrl }, () => { + tabIdRedirects[tabs[0].id] = true + }) + } + } + }) + return + case "copyReverseLink": { + const url = new URL(info.linkUrl) + await servicesHelper.copyRaw(url) + return + } + case "redirectLink": + case "redirectLinkInNewTab": { + const url = new URL(info.linkUrl) + const newUrl = servicesHelper.redirect(url, "main_frame", null, null, false, true) + if (newUrl) { + if (info.menuItemId == "redirectLink") browser.tabs.update({ url: newUrl }) + else browser.tabs.create({ url: newUrl }) + } + return + } + case "reverseLink": + case "reverseLinkInNewTab": { + const url = new URL(info.linkUrl) + const newUrl = await servicesHelper.reverse(url) + if (newUrl) { + if (info.menuItemId == "reverseLink") { + browser.tabs.update({ url: newUrl }, tab => { + tabIdRedirects[tab.id] = false + }) + } else { + browser.tabs.create({ url: newUrl }, tab => { + tabIdRedirects[tab.id] = false + }) + } + } + return + } + case "bypassLink": + case "bypassLinkInNewTab": { + const url = new URL(info.linkUrl) + if (info.menuItemId == "bypassLink") { + browser.tabs.update({ url: url.href }, tab => { + tabIdRedirects[tab.id] = false + }) + } else { + browser.tabs.create({ url: url.href }, tab => { + tabIdRedirects[tab.id] = false + }) + } + return + } + case "copyReverseBookmark": + browser.bookmarks.get(info.bookmarkId, bookmarks => { + const url = new URL(bookmarks[0].url) + servicesHelper.copyRaw(url) + }) + return + case "redirectBookmark": + case "redirectBookmarkInNewTab": + browser.bookmarks.get(info.bookmarkId, bookmarks => { + const url = new URL(bookmarks[0].url) + const newUrl = servicesHelper.redirect(url, "main_frame", null, null, false, true) + if (newUrl) { + if (info.menuItemId == "redirectBookmark") browser.tabs.update({ url: newUrl }) + else browser.tabs.create({ url: newUrl }) + } + }) + return + case "reverseBookmark": + case "reverseBookmarkInNewTab": + browser.bookmarks.get(info.bookmarkId, async bookmarks => { + const url = new URL(bookmarks[0].url) + const newUrl = await servicesHelper.reverse(url) + if (newUrl) { + if (info.menuItemId == "reverseBookmark") { + browser.tabs.update({ url: newUrl }, tab => { + tabIdRedirects[tab.id] = false + }) + } else { + browser.tabs.create({ url: newUrl }, tab => { + tabIdRedirects[tab.id] = false + }) + } + } + }) + return + case "bypassBookmark": + case "bypassBookmarkInNewTab": + browser.bookmarks.get(info.bookmarkId, async bookmarks => { + const url = new URL(bookmarks[0].url) + if (info.menuItemId == "bypassBookmark") { + browser.tabs.update({ url: url.href }, tab => (tabIdRedirects[tab.id] = false)) + } else { + browser.tabs.create({ url: url.href }, tab => (tabIdRedirects[tab.id] = false)) + } + return + }) + } + }) + } }) -browser.runtime.onMessage.addListener((request, sender, sendResponse) => { - if (request == "reverseTab") { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = await servicesHelper.reverse(url) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = false - }) - } - } - }) - } - else if (request == "redirectTab") { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = servicesHelper.redirect(url, "main_frame", null, true) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = true - }) - } - } - }) - } -}) \ No newline at end of file +browser.runtime.onMessage.addListener(r => { + if (r.message == "reverse") tabIdRedirects[r.tabId] = false + else if (r.message == "redirect") tabIdRedirects[r.tabId] = true +}) diff --git a/src/pages/components/Button.svelte b/src/pages/components/Button.svelte new file mode 100644 index 00000000..6ae2ba61 --- /dev/null +++ b/src/pages/components/Button.svelte @@ -0,0 +1,35 @@ +<button {...$$restProps} on:click {...$$props}> + <slot></slot> +</button> + +<style> + button { + color: var(--text); + border: none; + text-decoration: none; + cursor: pointer; + font-size: 16px; + font-weight: bold; + transition-duration: 0.1s; + display: inline-flex; + align-items: center; + margin: 7.5px 0; + background-color: var(--bg-secondary); + border-radius: 5px; + padding: 10px; + } + + button:hover:enabled { + color: var(--active); + } + + button:active:enabled { + transform: translateY(1px); + } + + button:disabled { + cursor: not-allowed; + opacity: 0.5; + } + +</style> diff --git a/src/pages/components/Checkbox.svelte b/src/pages/components/Checkbox.svelte new file mode 100644 index 00000000..d42a4f10 --- /dev/null +++ b/src/pages/components/Checkbox.svelte @@ -0,0 +1,52 @@ +<script> + export let checked + export let onChange +</script> + +<input class={document.body.dir} {...$$restProps} bind:checked on:change={onChange} type="checkbox" /> + +<style> + input[type="checkbox"] { + appearance: none; + -moz-appearance: none; + -webkit-appearance: none; + width: 46px; + height: 24px; + background-color: var(--light-grey); + border-radius: 50px; + transition: 0.4s; + cursor: pointer; + } + + input[type="checkbox"]:checked { + background-color: var(--active); + } + + input[type="checkbox"]::before { + content: ""; + display: inline-block; + width: 18px; + height: 18px; + box-sizing: border-box; + position: relative; + top: 3px; + left: 3.5px; + background-color: white; + border-radius: 50%; + transition: 0.3s; + } + + input[type="checkbox"]:checked::before { + left: 24px; + } + + input[type="checkbox"].rtl::before { + left: auto; + right: 3.5px; + } + + input[type="checkbox"].rtl:checked::before { + left: auto; + right: 24px; + } +</style> diff --git a/src/pages/components/Input.svelte b/src/pages/components/Input.svelte new file mode 100644 index 00000000..59e584db --- /dev/null +++ b/src/pages/components/Input.svelte @@ -0,0 +1,46 @@ +<script> + export let value +</script> + +<input + {...$$restProps} + bind:value + on:blur + on:change + on:click + on:contextmenu + on:focus + on:keydown + on:keypress + on:keyup + on:mouseover + on:mouseenter + on:mouseleave + on:paste + on:input +/> + +<style> + input { + font-weight: bold; + box-sizing: border-box; + color: var(--text); + font-size: 16px; + padding: 8px; + background-color: var(--bg-secondary); + border: none; + margin: 0; + width: 400px; + border-radius: 3px; + outline-color: var(--active); + } + + input:focus { + outline-color: var(--active); + } + @media (max-width: 715px) { + input { + width: 200px; + } + } +</style> diff --git a/src/pages/components/Label.svelte b/src/pages/components/Label.svelte new file mode 100644 index 00000000..39930cd1 --- /dev/null +++ b/src/pages/components/Label.svelte @@ -0,0 +1,18 @@ +<span> + <slot></slot> +</span> + +<style> + span { + font-size: 18px; + } + + span :global(a) { + color: var(--text); + text-decoration: none; + } + + span :global(a:hover) { + text-decoration: underline; + } +</style> diff --git a/src/pages/components/Row.svelte b/src/pages/components/Row.svelte new file mode 100644 index 00000000..09246d98 --- /dev/null +++ b/src/pages/components/Row.svelte @@ -0,0 +1,12 @@ +<div {...$$restProps} on:click> + <slot></slot> +</div> + +<style> + div { + justify-content: space-between; + display: flex; + align-items: center; + margin: 20px 0; + } +</style> diff --git a/src/pages/components/Select.svelte b/src/pages/components/Select.svelte new file mode 100644 index 00000000..7829c53e --- /dev/null +++ b/src/pages/components/Select.svelte @@ -0,0 +1,34 @@ +<script> + export let values + export let value + export let onChange + export let ariaLabel +</script> + +<select bind:value on:change={onChange} aria-label={ariaLabel} on:change on:contextmenu on:input> + {#each values as option} + <option value={option.value}>{option.name}</option> + {/each} +</select> + +<style> + select { + font-weight: bold; + box-sizing: border-box; + border-style: solid; + border-color: #767676; + color: var(--text); + font-size: 16px; + padding: 8px; + background-color: var(--bg-secondary); + border: none; + margin: 0; + max-width: 500px; + border-radius: 3px; + } + + select:disabled { + opacity: 0.6; + cursor: not-allowed; + } +</style> diff --git a/src/pages/stylesheets/Inter-VariableFont_slnt,wght.ttf b/src/pages/fonts/Inter-VariableFont_slnt,wght.ttf index 969a990f..969a990f 100644 --- a/src/pages/stylesheets/Inter-VariableFont_slnt,wght.ttf +++ b/src/pages/fonts/Inter-VariableFont_slnt,wght.ttf Binary files differdiff --git a/src/pages/stylesheets/Vazirmatn-VariableFont_wght.ttf b/src/pages/fonts/Vazirmatn-VariableFont_wght.ttf index f4b97c01..f4b97c01 100644 --- a/src/pages/stylesheets/Vazirmatn-VariableFont_wght.ttf +++ b/src/pages/fonts/Vazirmatn-VariableFont_wght.ttf Binary files differdiff --git a/src/pages/fonts/styles.css b/src/pages/fonts/styles.css new file mode 100644 index 00000000..754543b1 --- /dev/null +++ b/src/pages/fonts/styles.css @@ -0,0 +1,13 @@ +@font-face { + font-family: "Inter"; + src: url("Inter-VariableFont_slnt,wght.ttf"); + font-weight: normal; + font-style: normal; +} + +@font-face { + font-family: "Vazirmatn"; + src: url("Vazirmatn-VariableFont_wght.ttf"); + font-weight: normal; + font-style: normal; +} \ No newline at end of file diff --git a/src/pages/icons/AboutIcon.svelte b/src/pages/icons/AboutIcon.svelte new file mode 100644 index 00000000..e113dd68 --- /dev/null +++ b/src/pages/icons/AboutIcon.svelte @@ -0,0 +1,11 @@ +<svg + {...$$props} + xmlns="http://www.w3.org/2000/svg" + height="24px" + viewBox="0 -960 960 960" + width="24px" + fill="currentColor" + ><path + d="M440-280h80v-240h-80v240Zm40-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z" + /></svg +> diff --git a/src/pages/icons/AddIcon.svelte b/src/pages/icons/AddIcon.svelte new file mode 100644 index 00000000..ab26f078 --- /dev/null +++ b/src/pages/icons/AddIcon.svelte @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> + <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" /> +</svg> diff --git a/src/pages/icons/AutoPickIcon.svelte b/src/pages/icons/AutoPickIcon.svelte new file mode 100644 index 00000000..86adfa28 --- /dev/null +++ b/src/pages/icons/AutoPickIcon.svelte @@ -0,0 +1,11 @@ +<svg + {...$$restProps} + xmlns="http://www.w3.org/2000/svg" + height="20px" + viewBox="0 -960 960 960" + width="20px" + fill="currentColor" + ><path + d="M144-144v-178l342-342-54-53 51-51 72 72 110.22-110.22q4.45-4.45 11.11-7.11Q683-816 691-816t15 2.5q7 2.5 12 7.5l87 88q4.55 5.83 7.27 12.64 2.73 6.8 2.73 14.58t-2.66 14.44q-2.67 6.66-7.11 11.1L696-556l72 73-51 51-54-54-341 342H144Zm72-72h76l320-320-75-76-321 320v76Zm424-385 90-91-38-39-91 90 39 40Zm0 0-39-40 39 40Z" + /></svg +> diff --git a/src/pages/icons/CloseIcon.svelte b/src/pages/icons/CloseIcon.svelte new file mode 100644 index 00000000..ddfb29cb --- /dev/null +++ b/src/pages/icons/CloseIcon.svelte @@ -0,0 +1,3 @@ +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="currentColor" + ><path d="m291-240-51-51 189-189-189-189 51-51 189 189 189-189 51 51-189 189 189 189-51 51-189-189-189 189Z" /></svg +> diff --git a/src/pages/icons/CopyIcon.svelte b/src/pages/icons/CopyIcon.svelte new file mode 100644 index 00000000..37c13f98 --- /dev/null +++ b/src/pages/icons/CopyIcon.svelte @@ -0,0 +1,12 @@ +<svg + xmlns="http://www.w3.org/2000/svg" + height="24px" + width="24px" + viewBox="0 0 24 24" + preserveAspectRatio="xMinYMin meet" + fill="currentColor" +> + <path + d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z" + /> +</svg> diff --git a/src/pages/icons/ExportIcon.svelte b/src/pages/icons/ExportIcon.svelte new file mode 100644 index 00000000..d155e5c5 --- /dev/null +++ b/src/pages/icons/ExportIcon.svelte @@ -0,0 +1,12 @@ +<svg + {...$$restProps} + xmlns="http://www.w3.org/2000/svg" + height="24px" + viewBox="0 0 24 24" + width="24px" + fill="currentColor" +> + <path + d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" + /> +</svg> diff --git a/src/pages/icons/GeneralIcon.svelte b/src/pages/icons/GeneralIcon.svelte new file mode 100644 index 00000000..b9429021 --- /dev/null +++ b/src/pages/icons/GeneralIcon.svelte @@ -0,0 +1,13 @@ +<svg + {...$$props} + xmlns="http://www.w3.org/2000/svg" + enable-background="new 0 0 24 24" + height="26px" + viewBox="0 0 24 24" + width="26px" + fill="currentColor" +> + <path + d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z" + ></path> +</svg> diff --git a/src/pages/icons/ImportIcon.svelte b/src/pages/icons/ImportIcon.svelte new file mode 100644 index 00000000..f64d0ff6 --- /dev/null +++ b/src/pages/icons/ImportIcon.svelte @@ -0,0 +1,12 @@ +<svg + {...$$restProps} + xmlns="http://www.w3.org/2000/svg" + height="24px" + viewBox="0 0 24 24" + width="24px" + fill="currentColor" +> + <path + d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z" + /> +</svg> diff --git a/src/pages/icons/PingIcon.svelte b/src/pages/icons/PingIcon.svelte new file mode 100644 index 00000000..34c4a37d --- /dev/null +++ b/src/pages/icons/PingIcon.svelte @@ -0,0 +1,12 @@ +<svg + {...$$restProps} + xmlns="http://www.w3.org/2000/svg" + height="20px" + viewBox="0 0 24 24" + width="20px" + fill="currentColor" +> + <path + d="M10.45 15.5q.6.6 1.55.587.95-.012 1.4-.687L19 7l-8.4 5.6q-.675.45-.712 1.375-.038.925.562 1.525ZM12 4q1.475 0 2.838.412Q16.2 4.825 17.4 5.65l-1.9 1.2q-.825-.425-1.712-.637Q12.9 6 12 6 8.675 6 6.338 8.337 4 10.675 4 14q0 1.05.287 2.075Q4.575 17.1 5.1 18h13.8q.575-.95.838-1.975Q20 15 20 13.9q0-.9-.212-1.75-.213-.85-.638-1.65l1.2-1.9q.75 1.175 1.188 2.5.437 1.325.462 2.75.025 1.425-.325 2.725-.35 1.3-1.025 2.475-.275.45-.75.7-.475.25-1 .25H5.1q-.525 0-1-.25t-.75-.7q-.65-1.125-1-2.387Q2 15.4 2 14q0-2.075.788-3.888.787-1.812 2.15-3.175Q6.3 5.575 8.125 4.787 9.95 4 12 4Zm.175 7.825Z" + /></svg +> diff --git a/src/pages/icons/RedirectIcon.svelte b/src/pages/icons/RedirectIcon.svelte new file mode 100644 index 00000000..9392762a --- /dev/null +++ b/src/pages/icons/RedirectIcon.svelte @@ -0,0 +1,10 @@ +<svg + xmlns="http://www.w3.org/2000/svg" + height="24px" + width="24px" + viewBox="0 0 24 24" + preserveAspectRatio="xMinYMin meet" + fill="currentColor" +> + <path d="M7 20v-9q0-.825.588-1.413Q8.175 9 9 9h8.2l-1.6-1.6L17 6l4 4-4 4-1.4-1.4 1.6-1.6H9v9Z" /> +</svg> diff --git a/src/pages/icons/RedirectToOriginalIcon.svelte b/src/pages/icons/RedirectToOriginalIcon.svelte new file mode 100644 index 00000000..aad5c48e --- /dev/null +++ b/src/pages/icons/RedirectToOriginalIcon.svelte @@ -0,0 +1,13 @@ +<svg + xmlns="http://www.w3.org/2000/svg" + height="24px" + width="24px" + viewBox="0 0 24 24" + preserveAspectRatio="xMinYMin meet" + fill="currentColor" +> + <path + d="M 17,20 V 11 Q 17,10.175 16.412,9.587 15.825,9 15,9 H 6.8 L 8.4,7.4 7,6 3,10 7,14 8.4,12.6 6.8,11 H 15 v 9 z" + id="path2" + /> +</svg> diff --git a/src/pages/icons/ResetIcon.svelte b/src/pages/icons/ResetIcon.svelte new file mode 100644 index 00000000..6daf57e6 --- /dev/null +++ b/src/pages/icons/ResetIcon.svelte @@ -0,0 +1,16 @@ +<svg + xmlns="http://www.w3.org/2000/svg" + enable-background="new 0 0 24 24" + height="24px" + viewBox="0 0 24 24" + width="24px" + fill="currentColor" + {...$$restProps} +> + <path + d="M12,5V2L8,6l4,4V7c3.31,0,6,2.69,6,6c0,2.97-2.17,5.43-5,5.91v2.02c3.95-0.49,7-3.85,7-7.93C20,8.58,16.42,5,12,5z" + /> + <path + d="M6,13c0-1.65,0.67-3.15,1.76-4.24L6.34,7.34C4.9,8.79,4,10.79,4,13c0,4.08,3.05,7.44,7,7.93v-2.02 C8.17,18.43,6,15.97,6,13z" + /> +</svg> diff --git a/src/pages/icons/ServicesIcon.svelte b/src/pages/icons/ServicesIcon.svelte new file mode 100644 index 00000000..ec24259b --- /dev/null +++ b/src/pages/icons/ServicesIcon.svelte @@ -0,0 +1,11 @@ +<svg + {...$$props} + xmlns="http://www.w3.org/2000/svg" + fill="currentColor" + height="24px" + viewBox="0 -960 960 960" + width="24px" + ><path + d="m240-120 240-240 240 240H240ZM80-280v-480q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v480q0 33-23.5 56.5T800-200H680v-80h120v-480H160v480h120v80H160q-33 0-56.5-23.5T80-280Zm400-200Z" + /></svg +> diff --git a/src/pages/icons/SettingsIcon.svelte b/src/pages/icons/SettingsIcon.svelte new file mode 100644 index 00000000..00798289 --- /dev/null +++ b/src/pages/icons/SettingsIcon.svelte @@ -0,0 +1,15 @@ +<svg + {...$$restProps} + xmlns="http://www.w3.org/2000/svg" + height="24px" + width="24px" + viewBox="0 0 24 24" + preserveAspectRatio="xMinYMin meet" + fill="currentColor" + on:click + on:keydown={null} +> + <path + d="m9.25 22-.4-3.2q-.325-.125-.612-.3-.288-.175-.563-.375L4.7 19.375l-2.75-4.75 2.575-1.95Q4.5 12.5 4.5 12.337v-.675q0-.162.025-.337L1.95 9.375l2.75-4.75 2.975 1.25q.275-.2.575-.375.3-.175.6-.3l.4-3.2h5.5l.4 3.2q.325.125.613.3.287.175.562.375l2.975-1.25 2.75 4.75-2.575 1.95q.025.175.025.337v.675q0 .163-.05.338l2.575 1.95-2.75 4.75-2.95-1.25q-.275.2-.575.375-.3.175-.6.3l-.4 3.2Zm2.8-6.5q1.45 0 2.475-1.025Q15.55 13.45 15.55 12q0-1.45-1.025-2.475Q13.5 8.5 12.05 8.5q-1.475 0-2.488 1.025Q8.55 10.55 8.55 12q0 1.45 1.012 2.475Q10.575 15.5 12.05 15.5Z" + /> +</svg> diff --git a/src/pages/icons/SwitchInstanceIcon.svelte b/src/pages/icons/SwitchInstanceIcon.svelte new file mode 100644 index 00000000..6a1f96ac --- /dev/null +++ b/src/pages/icons/SwitchInstanceIcon.svelte @@ -0,0 +1,15 @@ +<svg + {...$$restProps} + xmlns="http://www.w3.org/2000/svg" + height="24px" + width="24px" + viewBox="0 0 24 24" + preserveAspectRatio="xMinYMin meet" + fill="currentColor" + on:click + on:keydown={null} +> + <path + d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z" + /> +</svg> diff --git a/src/pages/messages/index.html b/src/pages/messages/index.html new file mode 100644 index 00000000..8701c152 --- /dev/null +++ b/src/pages/messages/index.html @@ -0,0 +1,14 @@ +<!doctype html> +<html lang="en"> + <head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width,initial-scale=1" /> + <link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg" /> + <title>Settings</title> + <link rel="stylesheet" href="build/bundle.css" /> + <link rel="stylesheet" href="../fonts/styles.css" /> + <script defer src="build/bundle.js"></script> + </head> + + <body></body> +</html> diff --git a/src/pages/messages/no_instance.html b/src/pages/messages/no_instance.html deleted file mode 100644 index 76ec19cf..00000000 --- a/src/pages/messages/no_instance.html +++ /dev/null @@ -1,26 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - -<head> - <meta charset="UTF-8"> - <meta http-equiv="X-UA-Compatible" content="IE=edge"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <link href="../stylesheets/styles.css" rel="stylesheet"> - <title>No instances found</title> - <style> - #body { - display: flex; - justify-content: center; - align-items: center; - height: 100vh; - } - </style> -</head> - -<body> - <div id="body"> - <h1>You have no instance selected for this frontend</h1> - </div> -</body> - -</html> \ No newline at end of file diff --git a/src/pages/messages_src/App.svelte b/src/pages/messages_src/App.svelte new file mode 100644 index 00000000..1c5170dd --- /dev/null +++ b/src/pages/messages_src/App.svelte @@ -0,0 +1,200 @@ +<script> + const browser = window.browser || window.chrome + + import utils from "../../assets/javascripts/utils.js" + import { onDestroy } from "svelte" + import servicesHelper from "../../assets/javascripts/services.js" + import { onMount } from "svelte" + + import { options, config, page } from "./stores" + import Button from "../components/Button.svelte" + import AutoPickIcon from "../icons/AutoPickIcon.svelte" + import SwitchInstanceIcon from "../icons/SwitchInstanceIcon.svelte" + + let _options + const unsubscribeOptions = options.subscribe(val => { + if (val) { + _options = val + browser.storage.local.set({ options: val }) + } + }) + + let _config + const unsubscribeConfig = config.subscribe(val => (_config = val)) + + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + onMount(async () => { + let opts = await utils.getOptions() + if (!opts) { + await servicesHelper.initDefaults() + opts = await utils.getOptions() + } + options.set(opts) + config.set(await utils.getConfig()) + }) + + let _page + page.subscribe(val => (_page = val)) + + let style + $: if (_options) style = utils.style(_options, window) + + let autoPicking = false + + const params = new URLSearchParams(window.location.search) + const oldUrl = new URL(params.get("url")) + + async function autoPick() { + const frontend = params.get("frontend") + autoPicking = true + const redirects = await utils.getList(_options) + const instances = utils.randomInstances(redirects[frontend]["clearnet"], 5) + const pings = await Promise.all([ + ...instances.map(async instance => { + return [instance, await utils.ping(instance)] + }), + ]) + pings.sort((a, b) => a[1] - b[1]) + _options[frontend].push(pings[0][0]) + options.set(_options) + autoPicking = false + } + + async function autoPickInstance() { + await autoPick() + await redirectUrl() + } + + async function enableService() { + const service = await servicesHelper.computeService(oldUrl) + _options[service].enabled = true + options.set(_options) + await redirectUrl() + } + + async function redirectUrl() { + const newUrl = await servicesHelper.redirectAsync(oldUrl, "main_frame", null, null, false, true) + browser.tabs.update({ url: newUrl }) + } + + async function switchInstance() { + const newUrl = await servicesHelper.switchInstance(oldUrl) + browser.tabs.update({ url: newUrl }) + } + + async function removeInstance() { + const service = await servicesHelper.computeService(oldUrl) + const frontend = params.get("frontend") + const i = _options[frontend].findIndex(instance => oldUrl.href.startsWith(instance)) + _options[frontend].splice(i, 1) + options.set(_options) + const newUrl = await servicesHelper.switchInstance(oldUrl, service) + browser.tabs.update({ url: newUrl }) + } + + async function removeAndAutoPickInstance() { + const service = await servicesHelper.computeService(oldUrl) + + const frontend = params.get("frontend") + const i = _options[frontend].findIndex(instance => oldUrl.href.startsWith(instance)) + _options[frontend].splice(i, 1) + options.set(_options) + await autoPick() + const newUrl = await servicesHelper.switchInstance(oldUrl, service) + browser.tabs.update({ url: newUrl }) + } + + async function addAutoPickInstance() { + await autoPick() + const newUrl = await servicesHelper.switchInstance(oldUrl) + browser.tabs.update({ url: newUrl }) + } +</script> + +{#if _options && _config} + <div class="main" dir="auto" {style}> + {#if params.get("message") == "disabled"} + <div> + <h1>You disabled redirections for this service</h1> + <Button on:click={enableService}> + {browser.i18n.getMessage("enable") || "Enable"} + </Button> + </div> + {:else if params.get("message") == "server_error"} + <!-- https://httpstat.us/403 for testing --> + <div> + <h1>Your selected instance gave out an error: {params.get("code")}</h1> + {#if _options[params.get("frontend")].length > 1} + <Button on:click={switchInstance}> + <SwitchInstanceIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("switchInstance") || "Switch Instance"} + </Button> + <Button on:click={removeInstance}> + <SwitchInstanceIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("removeInstance") || "Remove Instance"} + + + {browser.i18n.getMessage("switchInstance") || "Switch Instance"} + </Button> + {:else} + <Button on:click={addAutoPickInstance} disabled={autoPicking}> + <AutoPickIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("autoPickInstance") || "Auto Pick Instance"} + </Button> + <Button on:click={removeAndAutoPickInstance} disabled={autoPicking}> + <AutoPickIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("removeInstance") || "Remove Instance"} + + + {browser.i18n.getMessage("autoPickInstance") || "Auto Pick Instance"} + </Button> + {/if} + </div> + {:else if params.get("message") == "no_instance"} + <div> + <h1>You have no instance selected for this frontend</h1> + <Button on:click={autoPickInstance} disabled={autoPicking}> + <AutoPickIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("autoPickInstance") || "Auto Pick Instance"} + </Button> + </div> + {/if} + </div> +{:else} + <p>Loading...</p> +{/if} + +<style> + :global(body) { + width: 100vw; + height: 100vh; + margin: 0; + padding: 0; + } + + div.main { + height: 100%; + display: grid; + grid-template-columns: 800px; + margin: 0; + padding-top: 50px; + justify-content: center; + font-family: "Inter", sans-serif; + box-sizing: border-box; + font-size: 16px; + background-color: var(--bg-main); + color: var(--text); + overflow: scroll; + } + + :global(.margin) { + margin-right: 10px; + margin-left: 0; + } + :global(.margin_rtl) { + margin-right: 0; + margin-left: 10px; + } +</style> diff --git a/src/pages/messages_src/main.js b/src/pages/messages_src/main.js new file mode 100644 index 00000000..c4012f4a --- /dev/null +++ b/src/pages/messages_src/main.js @@ -0,0 +1,7 @@ +import App from "./App.svelte" + +const app = new App({ + target: document.body, +}) + +export default app diff --git a/src/pages/messages_src/stores.js b/src/pages/messages_src/stores.js new file mode 100644 index 00000000..782f6064 --- /dev/null +++ b/src/pages/messages_src/stores.js @@ -0,0 +1,5 @@ +import { writable } from "svelte/store" + +export const options = writable(null) +export const config = writable(null) +export const page = writable("general") diff --git a/src/pages/options/index.html b/src/pages/options/index.html new file mode 100644 index 00000000..b197d4a7 --- /dev/null +++ b/src/pages/options/index.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset='utf-8'> + <meta name='viewport' content='width=device-width,initial-scale=1'> + <link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg"> + <title>Settings</title> + <link rel='stylesheet' href='build/bundle.css'> + <link rel='stylesheet' href='../fonts/styles.css'> + <script defer src='build/bundle.js'></script> +</head> + +<body> +</body> + +</html> \ No newline at end of file diff --git a/src/pages/options/index.js b/src/pages/options/index.js deleted file mode 100644 index fcc51298..00000000 --- a/src/pages/options/index.js +++ /dev/null @@ -1,399 +0,0 @@ -import utils from "../../assets/javascripts/utils.js" - -let config, - options, - divs = {} - -for (const a of document.getElementById("links").getElementsByTagName("a")) { - if (!a.href.includes("https://")) { - a.addEventListener("click", e => { - const path = a.getAttribute("href").replace("#", "") - loadPage(path) - e.preventDefault() - }) - } -} - -config = await utils.getConfig() -options = await utils.getOptions() - -/** - * @param {string} service - */ -async function changeFrontendsSettings(service) { - options = await utils.getOptions() - const opacityDiv = document.getElementById(`${service}-opacity`) - if (document.getElementById(`${service}-enabled`).checked) { - opacityDiv.style.pointerEvents = 'auto' - opacityDiv.style.opacity = 1 - opacityDiv.style.userSelect = 'auto' - } else { - opacityDiv.style.pointerEvents = 'none' - opacityDiv.style.opacity = 0.4 - opacityDiv.style.userSelect = 'none' - } - for (const frontend in config.services[service].frontends) { - if (config.services[service].frontends[frontend].instanceList) { - const frontendDiv = document.getElementById(frontend) - if (typeof divs[service].frontend !== "undefined") { - if ( - frontend == divs[service].frontend.value - || - (config.services[service].frontends[divs[service].frontend.value].desktopApp && divs[service].embedFrontend && frontend == divs[service].embedFrontend.value) - ) { - frontendDiv.style.display = "" - if (config.services[service].frontends[frontend].localhost === true) { - document.getElementById(`${service}-instance-div`).style.display = "" - - if (options[service].instance == "localhost") { - frontendDiv.style.display = "none" - } - } else { - document.getElementById(`${service}-instance-div`).style.display = "none" - } - } else { - frontendDiv.style.display = "none" - } - } - } - } - if (document.getElementById(`${service}-redirectType`)) { - const frontend = options[service].frontend - if (config.services[service].frontends[frontend].embeddable) { - document.getElementById(`${service}-redirectType`).innerHTML = ` - <option value="both" data-localise="__MSG_both__">both</options> - <option value="sub_frame" data-localise="__MSG_onlyEmbedded__">Only Embedded</option> - <option value="main_frame" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option> - ` - } - else if (config.services[service].frontends[frontend].desktopApp && Object.values(config.services[service].frontends).some(frontend => frontend.embeddable)) { - document.getElementById(`${service}-redirectType`).innerHTML = ` - <option value="both" data-localise="__MSG_both__">both</options> - <option value="main_frame" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option> - ` - if (options[service].redirectType == "sub_frame") { - options[service].redirectType = "main_frame" - browser.storage.local.set({ options }) - } - } else { - document.getElementById(`${service}-redirectType`).innerHTML = - '<option value="main_frame" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option>' - options[service].redirectType = "main_frame" - - browser.storage.local.set({ options }) - } - document.getElementById(`${service}-redirectType`).value = options[service].redirectType - if (config.services[service].frontends[frontend].desktopApp && options[service].redirectType != "main_frame") { - document.getElementById(`${service}-embedFrontend-div`).style.display = '' - document.getElementById(divs[service].embedFrontend.value).style.display = '' - } - else if (config.services[service].frontends[frontend].desktopApp && options[service].redirectType == "main_frame") { - document.getElementById(`${service}-embedFrontend-div`).style.display = 'none' - document.getElementById(divs[service].embedFrontend.value).style.display = 'none' - } else { - document.getElementById(`${service}-embedFrontend-div`).style.display = 'none' - } - } - const frontend_name_element = document.getElementById(`${service}_page`).getElementsByClassName("frontend_name")[0] - frontend_name_element.href = config.services[service].frontends[divs[service].frontend.value].url -} - -/** - * @param {string} path - */ -async function loadPage(path) { - options = await utils.getOptions() - for (const section of document.getElementById("pages").getElementsByTagName("section")) section.style.display = "none" - document.getElementById(`${path}_page`).style.display = "block" - - for (const element of document.getElementsByClassName("title")) { - const a = element.getElementsByTagName('a')[0] - if (a.getAttribute("href") == `#${path}`) { - element.classList.add("selected") - } else { - element.classList.remove("selected") - } - } - - for (const service in config.services) { - if (options[service].enabled) { - document.getElementById(`${service}-link`).style.opacity = 1 - } else { - document.getElementById(`${service}-link`).style.opacity = 0.4 - } - } - - window.history.pushState({ id: "100" }, "Page 2", `/pages/options/index.html#${path}`) - - if (path != 'general') { - const service = path; - - divs[service] = {} - - for (const option in config.services[service].options) { - divs[service][option] = document.getElementById(`${service}-${option}`) - if (typeof config.services[service].options[option] == "boolean") divs[service][option].checked = options[service][option] - else divs[service][option].value = options[service][option] - divs[service][option].addEventListener("change", async () => { - let options = await utils.getOptions() - if (typeof config.services[service].options[option] == "boolean") - options[service][option] = divs[service][option].checked - else - options[service][option] = divs[service][option].value - browser.storage.local.set({ options }) - changeFrontendsSettings(service) - }) - } - - changeFrontendsSettings(service) - - - for (const frontend in config.services[service].frontends) { - if (config.services[service].frontends[frontend].instanceList) { - processCustomInstances(frontend, document) - document.getElementById(`ping-${frontend}`).addEventListener("click", async () => { - document.getElementById(`ping-${frontend}`).getElementsByTagName('x')[0].innerHTML = "Pinging..." - await ping(frontend) - document.getElementById(`ping-${frontend}`).getElementsByTagName('x')[0].innerHTML = "Ping instances" - }) - } - } - - !async function () { - const blacklist = await utils.getBlacklist(options) - const redirects = await utils.getList(options) - - for (const frontend in config.services[service].frontends) { - if (config.services[service].frontends[frontend].instanceList) { - if (redirects == 'disabled' || blacklist == 'disabled') { - document.getElementById(frontend).getElementsByClassName('clearnet')[0].style.display = 'none' - document.getElementById(frontend).getElementsByClassName('ping')[0].style.display = 'none' - } - else if (!redirects || !blacklist) { - document.getElementById(frontend) - .getElementsByClassName('clearnet')[0] - .getElementsByClassName("checklist")[0] - .getElementsByClassName('loading')[0] - .innerHTML = 'Could not fetch instances.' - } - else { - createList(frontend, config.networks, document, redirects, blacklist) - } - } - } - }() - } -} - -async function calcCustomInstances(frontend) { - let options = await utils.getOptions() - let customInstances = options[frontend] - const pingCache = await utils.getPingCache() - - document.getElementById(frontend).getElementsByClassName("custom-checklist")[0].innerHTML = customInstances - .map( - x => { - let time = pingCache[x] - let timeText = "" - if (time) { - const { color, text } = processTime(time) - timeText = `<span class="ping" style="color:${color};">${text}</span>` - } - return `<div> - <x> - <a href="${x}" target="_blank">${x}</a> - ${timeText} - </x> - <button class="add clear-${x}"> - <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> - <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z" /> - </svg> - </button> - </div> - <hr>` - }) - .join("\n") - for (const item of customInstances) { - document.getElementById(frontend).getElementsByClassName(`clear-${item}`)[0].addEventListener("click", async () => { - const index = customInstances.indexOf(item) - if (index > -1) customInstances.splice(index, 1) - options = await utils.getOptions() - options[frontend] = customInstances - browser.storage.local.set({ options }, async () => { - calcCustomInstances(frontend) - const blacklist = await utils.getBlacklist(options) - const redirects = await utils.getList(options) - createList(frontend, config.networks, document, redirects, blacklist) - }) - }) - } -} - -async function processCustomInstances(frontend, document) { - calcCustomInstances(frontend) - document.getElementById(frontend).getElementsByClassName("custom-instance-form")[0].addEventListener("submit", async event => { - event.preventDefault() - let options = await utils.getOptions() - let customInstances = options[frontend] - let frontendCustomInstanceInput = document.getElementById(frontend).getElementsByClassName("custom-instance")[0] - let url - try { - url = new URL(frontendCustomInstanceInput.value) - } catch (error) { - return - } - let protocolHostVar = utils.protocolHost(url) - if (frontendCustomInstanceInput.validity.valid) { - if (!customInstances.includes(protocolHostVar)) { - customInstances.push(protocolHostVar) - options = await utils.getOptions() - options[frontend] = customInstances - browser.storage.local.set({ options }, () => { - frontendCustomInstanceInput.value = "" - calcCustomInstances(frontend) - }) - } - } - }) -} - -/** - * @param {string} frontend - * @param {*} networks - * @param {*} document - * @param {*} redirects - * @param {*} blacklist - */ -async function createList(frontend, networks, document, redirects, blacklist) { - const pingCache = await utils.getPingCache() - const options = await utils.getOptions() - for (const network in networks) { - const checklist = document.getElementById(frontend) - .getElementsByClassName(network)[0] - .getElementsByClassName("checklist")[0] - - if (!redirects[frontend]) { - checklist.innerHTML = '<div class="block block-option">No instances found.</div>' - break - } - - const instances = redirects[frontend][network] - if (!instances || instances.length === 0) continue - - document.getElementById(frontend) - .getElementsByClassName("custom-instance")[0] - .placeholder = redirects[frontend].clearnet[0] - - const sortedInstances = instances.sort((a, b) => blacklist.cloudflare.includes(a) && !blacklist.cloudflare.includes(b)) - - const content = sortedInstances - .map(x => { - const cloudflare = blacklist.cloudflare.includes(x) ? - `<a target="_blank" href="https://libredirect.github.io/docs.html#instances"> - <span style="color:red;">cloudflare</span> - </a>` : "" - - let time = pingCache[x] - let timeText = "" - if (time) { - const { color, text } = processTime(time) - timeText = `<span class="ping" style="color:${color};">${text}</span>` - } - - const chosen = options[frontend].includes(x) ? `<span style="color:grey;">chosen</span>` : "" - - const warnings = [cloudflare, timeText, chosen].join(" ") - return `<div class="frontend"> - <x> - <a href="${x}" target="_blank">${x}</a> - ${warnings} - </x> - <button class="add add-${x}"> - <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor"> - <path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z" /> - </svg> - </button> - </div>` - }) - - checklist.innerHTML = [ - `<div class="block block-option"> - <label>${utils.camelCase(network)}</label> - </div>`, - ...content, - "<br>" - ].join("\n<hr>\n") - - for (const instance of instances) { - checklist.getElementsByClassName(`add-${instance}`)[0] - .addEventListener("click", async () => { - let options = await utils.getOptions() - if (!options[frontend].includes(instance)) { - options[frontend].push(instance) - browser.storage.local.set({ options }, () => { - calcCustomInstances(frontend) - createList(frontend, config.networks, document, redirects, blacklist) - }) - } - }) - } - } -} - -const r = window.location.href.match(/#(.*)/) -if (r) loadPage(r[1]) -else loadPage("general") - -/** - * @param {string} frontend - */ -async function ping(frontend) { - const instanceElements = [ - ...document.getElementById(frontend).getElementsByClassName("custom-checklist")[0].getElementsByTagName('x'), - ...document.getElementById(frontend).getElementsByClassName('clearnet')[0].getElementsByTagName('x') - ] - - let pingCache = await utils.getPingCache() - let redundancyList = {} - for (const element of instanceElements) { - let span = element.getElementsByClassName('ping')[0] - if (!span) span = document.createElement('span') - span.classList = ['ping'] - span.innerHTML = '<span style="color:lightblue">pinging...</span>' - element.appendChild(span) - const href = element.getElementsByTagName('a')[0].href - const innerHTML = element.getElementsByTagName('a')[0].innerHTML - const time = redundancyList[innerHTML] ?? await utils.ping(href) - const { color, text } = processTime(time) - span.innerHTML = `<span style="color:${color};">${text}</span>` - pingCache[innerHTML] = time - redundancyList[innerHTML] = time - - browser.storage.local.set({ pingCache }) - } -} - -/** - * @param {number} time - */ -function processTime(time) { - let text - let color - if (time < 5000) { - text = `${time}ms` - if (time <= 1000) color = "green" - else if (time <= 2000) color = "orange" - } - else if (time >= 5000) { - color = "red" - if (time == 5000) text = "5000ms+" - if (time > 5000) text = `Error: ${time - 5000}` - } - else { - color = "red" - text = 'Server not found' - } - return { - color, text - } -} diff --git a/src/pages/options/index.pug b/src/pages/options/index.pug deleted file mode 100644 index 4e19b087..00000000 --- a/src/pages/options/index.pug +++ /dev/null @@ -1,10 +0,0 @@ -doctype html -html(id="elementToShowWithJavaScript" lang="en") - include /src/pages/widgets/head - body(class="option" dir="auto") - include /src/pages/widgets/links - div#pages - include /src/pages/options/widgets/general - include /src/pages/options/widgets/services - script(type="module" src="./index.js") - \ No newline at end of file diff --git a/src/pages/options/init.js b/src/pages/options/init.js deleted file mode 100644 index f88c9ef9..00000000 --- a/src/pages/options/init.js +++ /dev/null @@ -1,54 +0,0 @@ -window.browser = window.browser || window.chrome - -import localise from "../../assets/javascripts/localise.js" -import utils from "../../assets/javascripts/utils.js" -import servicesHelper from "../../assets/javascripts/services.js" - -if (!(await utils.getOptions())) { - await servicesHelper.initDefaults() -} - -function changeTheme() { - return new Promise(async resolve => { - switch ((await utils.getOptions()).theme) { - case "dark": - document.body.classList.add("dark-theme") - document.body.classList.remove("light-theme") - for (const element of document.body.getElementsByClassName('dark')) { - element.style.display = 'none'; - } - break - case "light": - document.body.classList.add("light-theme") - document.body.classList.remove("dark-theme") - for (const element of document.body.getElementsByClassName('light')) { - element.style.display = 'none'; - } - break - default: - if (matchMedia("(prefers-color-scheme: light)").matches) { - document.body.classList.add("light-theme") - document.body.classList.remove("dark-theme") - for (const element of document.body.getElementsByClassName('light')) { - element.style.display = 'none'; - } - } else { - document.body.classList.add("dark-theme") - document.body.classList.remove("light-theme") - for (const element of document.body.getElementsByClassName('dark')) { - element.style.display = 'none'; - } - } - } - resolve() - }) -} - -changeTheme() -if (["ar", "iw", "ku", "fa", "ur"].includes(browser.i18n.getUILanguage())) { - document.getElementsByTagName("body")[0].classList.add("rtl") - document.getElementsByTagName("body")[0].dir = "rtl" -} -localise.localisePage() - -window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", changeTheme) diff --git a/src/pages/options/widgets/general.js b/src/pages/options/widgets/general.js deleted file mode 100644 index 6f2852a9..00000000 --- a/src/pages/options/widgets/general.js +++ /dev/null @@ -1,219 +0,0 @@ -"use strict" -window.browser = window.browser || window.chrome - -import utils from "../../../assets/javascripts/utils.js" -import servicesHelper from "../../../assets/javascripts/services.js" - -const isChrome = browser.runtime.getBrowserInfo === undefined - -async function setOption(option, type, event) { - let options = await utils.getOptions() - if (type == "select") { - options[option] = event.target.options[event.target.options.selectedIndex].value - } else if (type == "checkbox") { - options[option] = event.target.checked - } else if (type == "range") { - options[option] = event.target.value - } - browser.storage.local.set({ options }) -} - -const exportSettingsElement = document.getElementById("export-settings") -async function exportSettings() { - const options = await utils.getOptions() - options.version = browser.runtime.getManifest().version - let resultString = JSON.stringify(options, null, " ") - exportSettingsElement.href = "data:application/json;base64," + btoa(resultString) - exportSettingsElement.download = `libredirect-settings-v${options.version}.json` - return -} -exportSettings() -document.getElementById("general_page").onclick = exportSettings - -const importSettingsElement = document.getElementById("import-settings") -const importSettingsElementText = document.getElementById("import_settings_text") -importSettingsElement.addEventListener("change", () => { - function importError() { - const oldHTML = importSettingsElementText.innerHTML - importSettingsElementText.innerHTML = '<span style="color:red;">Error!</span>' - setTimeout(() => (importSettingsElementText.innerHTML = oldHTML), 1000) - } - importSettingsElementText.innerHTML = "..." - let file = importSettingsElement.files[0] - const reader = new FileReader() - reader.readAsText(file) - reader.onload = async () => { - const data = JSON.parse(reader.result) - if ( - "theme" in data - && data.version == browser.runtime.getManifest().version - ) { - browser.storage.local.clear(async () => { - browser.storage.local.set({ options: data }, () => { - location.reload() - }) - }) - } else { - console.log("incompatible settings") - importError() - } - } - reader.onerror = error => { - console.log("error", error) - importError() - } -}) - -const exportSettingsSync = document.getElementById("export-settings-sync") -const importSettingsSync = document.getElementById("import-settings-sync") -const importSettingsSyncText = document.getElementById("import_settings_sync_text") - -exportSettingsSync.addEventListener("click", async () => { - let options = await utils.getOptions() - options.version = browser.runtime.getManifest().version - browser.storage.sync.set({ options }, () => location.reload()) -}) - -importSettingsSync.addEventListener("click", () => { - function importError() { - importSettingsSyncText.innerHTML = '<span style="color:red;">Error!</span>' - setTimeout(() => (importSettingsSyncText.innerHTML = oldHTML), 1000) - } - const oldHTML = importSettingsSyncText.innerHTML - importSettingsSyncText.innerHTML = "..." - browser.storage.sync.get({ options }, r => { - const options = r.options - if (options.version == browser.runtime.getManifest().version) { - browser.storage.local.set({ options }, () => location.reload()) - } else { - importError() - } - }) -}) - -const resetSettings = document.getElementById("reset-settings") -resetSettings.addEventListener("click", async () => { - resetSettings.innerHTML = "..." - await servicesHelper.initDefaults() - location.reload() -}) - -const fetchInstancesElement = document.getElementById('fetch-instances') -fetchInstancesElement.addEventListener('change', event => { - setOption('fetchInstances', 'select', event) - location.reload() -}) - -const redirectOnlyInIncognitoElement = document.getElementById('redirectOnlyInIncognito') -redirectOnlyInIncognitoElement.addEventListener('change', event => { - setOption('redirectOnlyInIncognito', 'checkbox', event) -}) - -const bookmarksMenuElement = document.getElementById('bookmarksMenu') -bookmarksMenuElement.addEventListener('change', async event => { - if (event.target.checked) - bookmarksMenuElement.checked = await browser.permissions.request({ - permissions: ["bookmarks"] - }) - else - bookmarksMenuElement.checked = !await browser.permissions.remove({ - permissions: ["bookmarks"] - }) -}) - -let themeElement = document.getElementById("theme") -themeElement.addEventListener("change", event => { - setOption("theme", "select", event) - location.reload() -}) - -let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance") -let instanceTypeElement = document.getElementById("exceptions-custom-instance-type") -let instanceType = "url" - -let config = await utils.getConfig() - -for (const service in config.services) { - document.getElementById(service).addEventListener("change", async event => { - let options = await utils.getOptions() - if (event.target.checked && !options.popupServices.includes(service)) options.popupServices.push(service) - else if (options.popupServices.includes(service)) { - var index = options.popupServices.indexOf(service) - if (index !== -1) options.popupServices.splice(index, 1) - } - browser.storage.local.set({ options }) - }) -} - -let options = await utils.getOptions() -themeElement.value = options.theme -fetchInstancesElement.value = options.fetchInstances -redirectOnlyInIncognitoElement.checked = options.redirectOnlyInIncognito -bookmarksMenuElement.checked = await browser.permissions.contains({ permissions: ["bookmarks"] }) -for (const service in config.services) document.getElementById(service).checked = options.popupServices.includes(service) - -instanceTypeElement.addEventListener("change", event => { - instanceType = event.target.options[instanceTypeElement.selectedIndex].value - if (instanceType == "url") { - nameCustomInstanceInput.setAttribute("type", "url") - nameCustomInstanceInput.setAttribute("placeholder", "https://www.google.com") - } else if (instanceType == "regex") { - nameCustomInstanceInput.setAttribute("type", "text") - nameCustomInstanceInput.setAttribute("placeholder", "https?://(www.|)youtube.com/") - } -}) - -let exceptionsCustomInstances = options.exceptions -function calcExceptionsCustomInstances() { - document.getElementById("exceptions-custom-checklist").innerHTML = [...exceptionsCustomInstances.url, ...exceptionsCustomInstances.regex] - .map( - x => `<div> - ${x} - <button class="add" id="clear-${x}"> - <svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" - fill="currentColor"> - <path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z" /> - </svg> - </button> - </div> - <hr>` - ) - .join("\n") - - for (const x of [...exceptionsCustomInstances.url, ...exceptionsCustomInstances.regex]) { - document.getElementById(`clear-${x}`).addEventListener("click", async () => { - let index - index = exceptionsCustomInstances.url.indexOf(x) - if (index > -1) exceptionsCustomInstances.url.splice(index, 1) - else { - index = exceptionsCustomInstances.regex.indexOf(x) - if (index > -1) exceptionsCustomInstances.regex.splice(index, 1) - } - options = await utils.getOptions() - options.exceptions = exceptionsCustomInstances - browser.storage.local.set({ options }) - calcExceptionsCustomInstances() - }) - } -} -calcExceptionsCustomInstances() -document.getElementById("custom-exceptions-instance-form").addEventListener("submit", async event => { - event.preventDefault() - let val - if (instanceType == "url" && nameCustomInstanceInput.validity.valid) { - val = nameCustomInstanceInput.value - if (!exceptionsCustomInstances.url.includes(val)) exceptionsCustomInstances.url.push(val) - } else if (instanceType == "regex") { - val = nameCustomInstanceInput.value - if (val.trim() != "" && !exceptionsCustomInstances.regex.includes(val)) exceptionsCustomInstances.regex.push(val) - } - if (val) { - options = await utils.getOptions() - options.exceptions = exceptionsCustomInstances - browser.storage.local.set({ options }, () => - nameCustomInstanceInput.value = "" - ) - - } - calcExceptionsCustomInstances() -}) diff --git a/src/pages/options/widgets/general.pug b/src/pages/options/widgets/general.pug deleted file mode 100644 index 70316473..00000000 --- a/src/pages/options/widgets/general.pug +++ /dev/null @@ -1,88 +0,0 @@ -section(class="block-option" id="general_page") - div(class="block block-option") - h1(data-localise="__MSG_general__") General - hr - - div(class="block block-option") - label(data-localise="__MSG_theme__") Theme - select(id="theme" aria-label="select theme") - option(value="detect" data-localise="__MSG_auto__") Auto - option(value="light" data-localise="__MSG_light__") Light - option(value="dark" data-localise="__MSG_dark__") Dark - - div(class="block block-option") - label(data-localise="__MSG_fetchPublicInstances__") Fetch public instances - select(id="fetch-instances" aria-label="Select fetch public instances") - option(value="github") GitHub - option(value="codeberg") Codeberg - option(value="disable" data-localise="__MSG_disable__") Disable - - div(class="block block-option") - label(for='redirectOnlyInIncognito' data-localise="__MSG_redirectOnlyInIncognito__") Redirect Only in Incognito - input(id='redirectOnlyInIncognito' type="checkbox") - - div(class="block block-option") - label(for='bookmarksMenu' data-localise="__MSG_bookmarksMenu__") Bookmarks menu - input(id='bookmarksMenu' type="checkbox") - - div(class="block block-option") - label(data-localise="__MSG_excludeFromRedirecting__") Excluded from redirecting - - form(id="custom-exceptions-instance-form") - div(class="block block-option") - div(class="block" style="padding: 0") - input(id="exceptions-custom-instance" placeholder="https://www.google.com" type="url" aria-label="Add url exception input") - | - select(id="exceptions-custom-instance-type") - option(value="url") URL - option(value="regex") Regex - | - button(class="add" id="exceptions-add-instance" type="submit" aria-label="Add the url exception") - svg(xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor") - path(d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z") - - hr - - div(class="checklist" id="exceptions-custom-checklist") - - div(class="buttons") - label(class="button button-inline" id="import_settings_text" for="import-settings") - svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor") - path(d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z") - | - x(data-localise="__MSG_importSettings__") Import Settings - input(id="import-settings" type="file" style="display: none") - - | - - a(class="button button-inline" id="export-settings") - svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor") - path(d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z") - | - x(data-localise="__MSG_exportSettings__") Export Settings - - | - - button(class="button button-inline" id="export-settings-sync") - svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor") - path(d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z") - | - x() Export Settings to Sync - - | - - button(class="button button-inline" id="import-settings-sync") - svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor") - path(d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z") - | - x(id="import_settings_sync_text") Import Settings from Sync - - | - - button(class="button button-inline" id="reset-settings") - svg(xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor") - path(d="M12,5V2L8,6l4,4V7c3.31,0,6,2.69,6,6c0,2.97-2.17,5.43-5,5.91v2.02c3.95-0.49,7-3.85,7-7.93C20,8.58,16.42,5,12,5z") - path(d="M6,13c0-1.65,0.67-3.15,1.76-4.24L6.34,7.34C4.9,8.79,4,10.79,4,13c0,4.08,3.05,7.44,7,7.93v-2.02 C8.17,18.43,6,15.97,6,13z") - x(data-localise="__MSG_resetSettings__") Reset Settings - - script(type="module" src="./widgets/general.js") \ No newline at end of file diff --git a/src/pages/options/widgets/services.pug b/src/pages/options/widgets/services.pug deleted file mode 100644 index e08bb001..00000000 --- a/src/pages/options/widgets/services.pug +++ /dev/null @@ -1,83 +0,0 @@ -each val, service in services - section(class="block-option" id=service+"_page") - div(class="block block-option") - h1 - a(target="_blank" href=services[service].url)=services[service].name - - hr - - div(class="block block-option") - label(for=`${service}-enabled` data-localise="__MSG_enable__") Enable - input(id=`${service}-enabled` type="checkbox") - - div(class="block block-option") - label(for=service data-localise="__MSG_showInPopup__") Show in popup - input(id=service type="checkbox") - - div(id=service+"-opacity") - - div(class="block block-option") - label(for=`${service}-frontend`) - a(class="frontend_name" target="_blank" data-localise="__MSG_frontend__") Frontend - select(id=`${service}-frontend`) - each val, frontend in services[service].frontends - option(value=frontend)=services[service].frontends[frontend].name - - div(class="block block-option" id=service+"-instance-div") - label(for=`${service}-instance`) Instance Type - select(id=`${service}-instance`) - option(value="localhost") localhost - option(value="public") public instances - - div(class="block block-option") - label(for=`${service}-redirectType` data-localise="__MSG_redirectType__") Redirect Type - select(id=`${service}-redirectType`) - - - div(id=`${service}-embedFrontend-div` class="block block-option") - label(for=`${service}-embedFrontend` data-localise="__MSG_embedFrontend__") Embed Frontend - select(id=`${service}-embedFrontend`) - each val, frontend in services[service].frontends - if services[service].frontends[frontend].embeddable && services[service].frontends[frontend].instanceList - option(value=frontend)=services[service].frontends[frontend].name - - - div(class="block block-option") - label(for=`${service}-unsupportedUrls` data-localise="__MSG_unsupportedIframesHandling__") Unsupported iframes handling - select(id=`${service}-unsupportedUrls`) - option(value="bypass") bypass - option(value="block") block - - if (service == 'search') - div(class="block block-option") - label Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click <a href="https://libredirect.github.io/docs.html#search_engine_chromium">here</a>. - - - each val, frontend in services[service].frontends - if services[service].frontends[frontend].instanceList - div(id=frontend dir="ltr") - hr - div(dir="auto" class="block block-option") - label(data-localise="__MSG_addYourFavoriteInstances__") Add your favorite instances - - form(class="custom-instance-form") - div(class="block block-option") - input(class="custom-instance" type="url" placeholder="https://instance.com" aria-label="Add instance input") - button(class="add add-instance" type="submit" aria-label="Add the instance") - svg(xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor") - path(d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z") - - div(class="checklist custom-checklist") - - div(class="ping block") - button(class="button button-inline" id=`ping-${frontend}`) - svg(xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor") - path(d="M10.45 15.5q.6.6 1.55.587.95-.012 1.4-.687L19 7l-8.4 5.6q-.675.45-.712 1.375-.038.925.562 1.525ZM12 4q1.475 0 2.838.412Q16.2 4.825 17.4 5.65l-1.9 1.2q-.825-.425-1.712-.637Q12.9 6 12 6 8.675 6 6.338 8.337 4 10.675 4 14q0 1.05.287 2.075Q4.575 17.1 5.1 18h13.8q.575-.95.838-1.975Q20 15 20 13.9q0-.9-.212-1.75-.213-.85-.638-1.65l1.2-1.9q.75 1.175 1.188 2.5.437 1.325.462 2.75.025 1.425-.325 2.725-.35 1.3-1.025 2.475-.275.45-.75.7-.475.25-1 .25H5.1q-.525 0-1-.25t-.75-.7q-.65-1.125-1-2.387Q2 15.4 2 14q0-2.075.788-3.888.787-1.812 2.15-3.175Q6.3 5.575 8.125 4.787 9.95 4 12 4Zm.175 7.825Z") - | - x() Ping instances - - each val, network in networks - div(class=network) - div(class="checklist") - if (network == 'clearnet') - div(class="block block-option loading") Loading... \ No newline at end of file diff --git a/src/pages/options_src/App.svelte b/src/pages/options_src/App.svelte new file mode 100644 index 00000000..1c4830bf --- /dev/null +++ b/src/pages/options_src/App.svelte @@ -0,0 +1,101 @@ +<script> + const browser = window.browser || window.chrome + + import General from "./General/General.svelte" + import url from "./url" + import utils from "../../assets/javascripts/utils.js" + import { onDestroy } from "svelte" + import servicesHelper from "../../assets/javascripts/services.js" + import { onMount } from "svelte" + import Sidebar from "./Sidebar.svelte" + import { options, config } from "./stores" + import Services from "./Services/Services.svelte" + + let _options + const unsubscribeOptions = options.subscribe(val => { + if (val) { + _options = val + browser.storage.local.set({ options: val }) + } + }) + + let _config + const unsubscribeConfig = config.subscribe(val => (_config = val)) + + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + onMount(async () => { + let opts = await utils.getOptions() + if (!opts) { + await servicesHelper.initDefaults() + opts = await utils.getOptions() + } + options.set(opts) + config.set(await utils.getConfig()) + }) + + let style + $: if (_options) style = utils.style(_options, window) + + const dir = ["ar", "iw", "ku", "fa", "ur"].includes(browser.i18n.getUILanguage()) ? "rtl" : "ltr" + document.body.dir = dir +</script> + +{#if _options && _config} + <div class={dir} {dir} {style}> + <Sidebar /> + {#if !$url.hash || $url.hash == "#general"} + <General /> + {:else if $url.hash.startsWith("#services")} + <Services /> + {/if} + </div> +{:else} + <p>Loading...</p> +{/if} + +<style> + :global(body) { + width: 100vw; + height: 100vh; + margin: 0; + padding: 0; + } + + div { + height: 100%; + display: grid; + grid-template-columns: min-content 800px; + margin: 0; + padding-top: 50px; + justify-content: center; + font-family: "Inter", sans-serif; + box-sizing: border-box; + font-size: 16px; + background-color: var(--bg-main); + color: var(--text); + overflow: scroll; + } + + @media (max-width: 1250px) { + div { + grid-template-columns: auto; + grid-template-rows: min-content auto; + padding-left: 5vw; + padding-right: 5vw; + } + } + + @media (max-width: 715px) { + div { + font-size: 14px; + grid-template-columns: auto; + grid-template-rows: min-content auto; + padding-left: 5vw; + padding-right: 5vw; + } + } +</style> diff --git a/src/pages/options_src/General/Exceptions.svelte b/src/pages/options_src/General/Exceptions.svelte new file mode 100644 index 00000000..7315877d --- /dev/null +++ b/src/pages/options_src/General/Exceptions.svelte @@ -0,0 +1,110 @@ +<script> + const browser = window.browser || window.chrome + + import Row from "../../components/Row.svelte" + import Select from "../../components/Select.svelte" + import AddIcon from "../../icons/AddIcon.svelte" + import CloseIcon from "../../icons/CloseIcon.svelte" + import Input from "../../components/Input.svelte" + import Label from "../../components/Label.svelte" + import { options, config } from "../stores" + import { onDestroy } from "svelte" + + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + let inputType = "url" + let inputValue = "" + + $: inputPlaceholder = inputType == "url" ? "https://www.google.com" : "https?://(www.|)youtube.com/" + + function removeException(exception) { + let index + index = _options.exceptions.url.indexOf(exception) + if (index > -1) { + _options.exceptions.url.splice(index, 1) + } else { + index = _options.exceptions.regex.indexOf(exception) + if (index > -1) _options.exceptions.regex.splice(index, 1) + } + options.set(_options) + } + + function addException() { + let valid = false + if (inputType == "url" && /^(ftp|http|https):\/\/[^ "]+$/.test(inputValue)) { + valid = true + if (!_options.exceptions.url.includes(inputValue)) { + _options.exceptions.url.push(inputValue) + } + } else if (inputType == "regex") { + valid = true + if (!_options.exceptions.regex.includes(inputValue)) { + _options.exceptions.regex.push(inputValue) + } + } + if (valid) { + options.set(_options) + inputValue = "" + } + } +</script> + +<Row> + <Label>{browser.i18n.getMessage("excludeFromRedirecting") || "Excluded from redirecting"}</Label> +</Row> +<div dir="ltr"> + <Row> + <div> + <Input + placeholder={inputPlaceholder} + aria-label="Add url exception input" + bind:value={inputValue} + on:keydown={e => { + if (e.key === "Enter") addException() + }} + /> + <Select + bind:value={inputType} + values={[ + { value: "url", name: "URL" }, + { value: "regex", name: "Regex" }, + ]} + /> + </div> + <button class="add" on:click={addException} aria-label="Add the url exception"> + <AddIcon /> + </button> + </Row> + <hr /> + <div class="checklist"> + {#each [..._options.exceptions.url, ..._options.exceptions.regex] as exception} + <Row> + {exception} + <button class="add" on:click={() => removeException(exception)}> + <CloseIcon /> + </button> + </Row> + <hr /> + {/each} + </div> +</div> + +<style> + .add { + background-color: transparent; + border: none; + color: var(--text); + padding: 0; + margin: 0; + text-decoration: none; + display: inline-block; + cursor: pointer; + } +</style> diff --git a/src/pages/options_src/General/General.svelte b/src/pages/options_src/General/General.svelte new file mode 100644 index 00000000..b6ed1b46 --- /dev/null +++ b/src/pages/options_src/General/General.svelte @@ -0,0 +1,98 @@ +<script> + const browser = window.browser || window.chrome + + import Exceptions from "./Exceptions.svelte" + import SettingsButtons from "./SettingsButtons.svelte" + import { options } from "../stores" + import { onDestroy } from "svelte" + import Row from "../../components/Row.svelte" + import Label from "../../components/Label.svelte" + import Select from "../../components/Select.svelte" + import Checkbox from "../../components/Checkbox.svelte" + + let _options + const unsubscribe = options.subscribe(val => (_options = val)) + onDestroy(unsubscribe) + + let disableBookmarks = null + browser.runtime.getPlatformInfo(r => { + switch (r.os) { + case "fuchsia": + case "ios": + case "android": + disableBookmarks = true + break + default: + disableBookmarks = false + } + if (!disableBookmarks) { + browser.permissions.contains({ permissions: ["bookmarks"] }, r => (bookmarksPermission = r)) + } + }) + + let bookmarksPermission + $: if (disableBookmarks !== null && disableBookmarks === false) { + if (bookmarksPermission) { + browser.permissions.request({ permissions: ["bookmarks"] }, r => (bookmarksPermission = r)) + } else { + browser.permissions.remove({ permissions: ["bookmarks"] }) + bookmarksPermission = false + } + } +</script> + +<div> + <Row> + <Label>{browser.i18n.getMessage("theme") || "Theme"}</Label> + <Select + values={[ + { value: "detect", name: browser.i18n.getMessage("auto") || "Auto" }, + { value: "light", name: browser.i18n.getMessage("light") || "Light" }, + { value: "dark", name: browser.i18n.getMessage("dark") || "Dark" }, + ]} + value={_options.theme} + onChange={e => { + _options.theme = e.target.options[e.target.options.selectedIndex].value + options.set(_options) + }} + /> + </Row> + + <Row> + <Label>{browser.i18n.getMessage("fetchPublicInstances") || "Fetch public instances"}</Label> + <Select + value={_options.fetchInstances} + values={[ + { value: "github", name: "GitHub" }, + { value: "codeberg", name: "Codeberg" }, + { value: "disable", name: browser.i18n.getMessage("disable") || "Disable" }, + ]} + onChange={e => { + _options.fetchInstances = e.target.options[e.target.options.selectedIndex].value + options.set(_options) + }} + /> + </Row> + + <Row> + <Label>{browser.i18n.getMessage("redirectOnlyInIncognito") || "Redirect Only in Incognito"}</Label> + <Checkbox + checked={_options.redirectOnlyInIncognito} + onChange={e => { + _options.redirectOnlyInIncognito = e.target.checked + options.set(_options) + }} + /> + </Row> + + {#if disableBookmarks === false} + <Row> + <Label>{browser.i18n.getMessage("bookmarksMenu") || "Bookmarks menu"}</Label> + <Checkbox bind:checked={bookmarksPermission} /> + </Row> + {/if} + + <Exceptions /> + + <SettingsButtons /> +</div> diff --git a/src/pages/options_src/General/SettingsButtons.svelte b/src/pages/options_src/General/SettingsButtons.svelte new file mode 100644 index 00000000..4be747fe --- /dev/null +++ b/src/pages/options_src/General/SettingsButtons.svelte @@ -0,0 +1,112 @@ +<script> + const browser = window.browser || window.chrome + + import { onDestroy } from "svelte" + import Button from "../../components/Button.svelte" + import ExportIcon from "../../icons/ExportIcon.svelte" + import ImportIcon from "../../icons/ImportIcon.svelte" + import ResetIcon from "../../icons/ResetIcon.svelte" + import { options } from "../stores" + import servicesHelper from "../../../assets/javascripts/services.js" + import utils from "../../../assets/javascripts/utils.js" + + let _options + const unsubscribe = options.subscribe(val => (_options = val)) + onDestroy(unsubscribe) + + let importSettingsInput + let importSettingsFiles + $: if (importSettingsFiles) { + const reader = new FileReader() + reader.readAsText(importSettingsFiles[0]) + reader.onload = async () => { + let data = JSON.parse(reader.result) + if (data.version != browser.runtime.getManifest().version) { + alert("Importing from a previous version. Be careful") + } + data = await servicesHelper.processUpdate(data) + options.set(data) + } + reader.onerror = error => { + console.log("error", error) + alert("Error!") + } + } + + async function exportSettings() { + _options.version = browser.runtime.getManifest().version + const resultString = JSON.stringify(_options, null, " ") + const anchor = document.createElement("a") + anchor.href = "data:application/json;base64," + btoa(resultString) + anchor.download = `libredirect-settings-v${_options.version}.json` + anchor.click() + } + + async function exportSettingsSync() { + _options.version = browser.runtime.getManifest().version + browser.storage.sync.set({ options: _options }) + } + + async function importSettingsSync() { + browser.storage.sync.get({ options }, async r => { + let data = r.options + if (data.version != browser.runtime.getManifest().version) { + alert("Importing from a previous version. Be careful") + } + data = await servicesHelper.processUpdate(data) + options.set(data) + }) + } + + async function resetSettings() { + browser.storage.local.clear(async () => { + const data = await servicesHelper.initDefaults() + options.set(data) + }) + } +</script> + +<div class="buttons"> + <Button on:click={() => importSettingsInput.click()}> + <ImportIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("importSettings") || "Import Settings"} + </Button> + <input + type="file" + accept=".json" + style="display: none" + bind:this={importSettingsInput} + bind:files={importSettingsFiles} + /> + + <Button on:click={exportSettings}> + <ExportIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("exportSettings") || "Export Settings"} + </Button> + + <Button on:click={exportSettingsSync}> + <ExportIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("exportSettingsToSync") || "Export Settings to Sync"} + </Button> + + <Button on:click={importSettingsSync}> + <ImportIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("importSettingsFromSync") || "Import Settings from Sync"} + </Button> + + <Button on:click={resetSettings}> + <ResetIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("resetSettings") || "Reset Settings"} + </Button> +</div> + +<style> + :global(.margin) { + margin-right: 10px; + margin-left: 0; + } + :global(.margin_rtl) { + margin-right: 0; + margin-left: 10px; + } +</style> diff --git a/src/pages/options_src/Services/FrontendIcon.svelte b/src/pages/options_src/Services/FrontendIcon.svelte new file mode 100644 index 00000000..4b392676 --- /dev/null +++ b/src/pages/options_src/Services/FrontendIcon.svelte @@ -0,0 +1,41 @@ +<script> + import { onDestroy } from "svelte" + export let details + export let selectedService + import { config, options } from "../stores" + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + let theme + $: if (_options) { + if (_options.theme == "dark") { + theme = "dark" + } else if (_options.theme == "light") { + theme = "light" + } else if (window.matchMedia("(prefers-color-scheme: dark)").matches) { + theme = "dark" + } else { + theme = "light" + } + } + $: imageType = _config.services[selectedService].frontends[details.value].imageType +</script> + +{#if imageType} + {#if imageType == "svgMono"} + {#if theme == "dark"} + <img src={`/assets/images/${details.value}-icon-light.svg`} alt={details.label} /> + {:else} + <img src={`/assets/images/${details.value}-icon.svg`} alt={details.label} /> + {/if} + {:else} + <img src={`/assets/images/${details.value}-icon.${imageType}`} alt={details.label} /> + {/if} +{/if} diff --git a/src/pages/options_src/Services/Instances.svelte b/src/pages/options_src/Services/Instances.svelte new file mode 100644 index 00000000..4e5d1e7d --- /dev/null +++ b/src/pages/options_src/Services/Instances.svelte @@ -0,0 +1,261 @@ +<script> + const browser = window.browser || window.chrome + + import Button from "../../components/Button.svelte" + import AddIcon from "../../icons/AddIcon.svelte" + import { options, config } from "../stores" + import PingIcon from "../../icons/PingIcon.svelte" + import AutoPickIcon from "../../icons/AutoPickIcon.svelte" + import Row from "../../components/Row.svelte" + import Input from "../../components/Input.svelte" + import Label from "../../components/Label.svelte" + import CloseIcon from "../../icons/CloseIcon.svelte" + import { onDestroy, onMount } from "svelte" + import utils from "../../../assets/javascripts/utils" + + export let selectedService + export let selectedFrontend + + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + let blacklist + let redirects + + $: serviceConf = _config.services[selectedService] + + let allInstances = [] + + $: { + allInstances = [] + if (_options[selectedFrontend]) allInstances.push(..._options[selectedFrontend]) + if (redirects && redirects[selectedFrontend]) { + allInstances.push(...redirects[selectedFrontend]["clearnet"]) + } + allInstances = [...new Set(allInstances)] + } + + let pingCache + $: { + if (pingCache) browser.storage.local.set({ pingCache }) + } + + function isCustomInstance(instance) { + if (redirects[selectedFrontend]) { + for (const network in redirects[selectedFrontend]) { + if (redirects[selectedFrontend][network].includes(instance)) return false + } + } + return true + } + + async function pingInstances() { + pingCache = {} + for (const instance of allInstances) { + pingCache[instance] = { color: "lightblue", value: "pinging..." } + const time = await utils.ping(instance) + pingCache[instance] = colorTime(time) + } + } + + async function autoPickInstance() { + const instances = utils.randomInstances(redirects[selectedFrontend]["clearnet"], 5) + const myInstancesCache = [] + for (const instance of instances) { + pingCache[instance] = { color: "lightblue", value: "pinging..." } + const time = await utils.ping(instance) + pingCache[instance] = colorTime(time) + myInstancesCache.push([instance, time]) + } + myInstancesCache.sort((a, b) => a[1] - b[1]) + + _options[selectedFrontend].push(myInstancesCache[0][0]) + options.set(_options) + } + + function colorTime(time) { + let value + let color + if (time < 5000) { + value = `${time}ms` + if (time <= 1000) color = "green" + else if (time <= 2000) color = "orange" + } else if (time >= 5000) { + color = "red" + if (time == 5000) value = "5000ms+" + if (time > 5000) value = `Error: ${time - 5000}` + } else { + color = "red" + value = "Server not found" + } + return { color, value } + } + + onMount(async () => { + blacklist = await utils.getBlacklist(_options) + redirects = await utils.getList(_options) + pingCache = await utils.getPingCache() + }) + + let addInstanceValue + function addInstance() { + const instance = utils.protocolHost(new URL(addInstanceValue)) + if (!_options[selectedFrontend].includes(instance)) { + _options[selectedFrontend].push(instance) + addInstanceValue = "" + options.set(_options) + } + } +</script> + +{#if serviceConf.frontends[selectedFrontend].instanceList && redirects && blacklist} + <hr /> + + <div> + <Button on:click={pingInstances}> + <PingIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("pingInstances") || "Ping Instances"} + </Button> + <Button on:click={autoPickInstance}> + <AutoPickIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("autoPickInstance") || "Auto Pick Instance"} + </Button> + </div> + + <Row> + <Label>{browser.i18n.getMessage("addYourFavoriteInstances") || "Add your favorite instances"}</Label> + </Row> + <div dir="ltr"> + <Row> + <Input + bind:value={addInstanceValue} + type="url" + placeholder="https://instance.com" + aria-label="Add instance input" + on:keydown={e => e.key === "Enter" && addInstance()} + /> + <button on:click={addInstance} class="add" aria-label="Add the instance"> + <AddIcon /> + </button> + </Row> + + {#each _options[selectedFrontend] as instance} + <Row> + <span> + <a href={instance} target="_blank" rel="noopener noreferrer">{instance}</a> + {#if isCustomInstance(instance)} + <span style="color:grey">custom</span> + {/if} + {#if pingCache && pingCache[instance]} + <span style="color:{pingCache[instance].color}">{pingCache[instance].value}</span> + {/if} + </span> + <button + class="add" + aria-label="Remove Instance" + on:click={() => { + const index = _options[selectedFrontend].indexOf(instance) + if (index > -1) { + _options[selectedFrontend].splice(index, 1) + options.set(_options) + } + }} + > + <CloseIcon /> + </button> + </Row> + <hr /> + {/each} + + {#if redirects !== "disabled" && blacklist !== "disabled"} + {#if redirects[selectedFrontend] && redirects[selectedFrontend]["clearnet"]} + {#each Object.entries(_config.networks) as [networkName, network]} + {#if redirects[selectedFrontend] && redirects[selectedFrontend][networkName] && redirects[selectedFrontend][networkName].length > 0} + <Row></Row> + <Row><Label>{network.name}</Label></Row> + <hr /> + {#each redirects[selectedFrontend][networkName] as instance} + <Row> + <span> + <a href={instance} target="_blank" rel="noopener noreferrer">{instance}</a> + {#if blacklist.cloudflare.includes(instance)} + <a + href="https://libredirect.github.io/docs.html#instances" + target="_blank" + rel="noopener noreferrer" + style="color:red;" + > + cloudflare + </a> + {/if} + {#if _options[selectedFrontend].includes(instance)} + <span style="color:grey">chosen</span> + {/if} + {#if pingCache && pingCache[instance]} + <span style="color:{pingCache[instance].color}">{pingCache[instance].value}</span> + {/if} + </span> + <button + class="add" + aria-label="Add instance" + on:click={() => { + if (_options[selectedFrontend]) { + if (!_options[selectedFrontend].includes(instance)) { + _options[selectedFrontend].push(instance) + options.set(_options) + } + } + }} + > + <AddIcon /> + </button> + </Row> + <hr /> + {/each} + {/if} + {/each} + {:else} + <Row><Label>No instances found.</Label></Row> + {/if} + {/if} + </div> +{/if} + +<style> + .add { + background-color: transparent; + border: none; + color: var(--text); + padding: 0; + margin: 0; + text-decoration: none; + display: inline-block; + cursor: pointer; + } + + a { + color: var(--text); + text-decoration: none; + word-wrap: anywhere; + } + + a:hover { + text-decoration: underline; + } + + :global(.margin) { + margin-right: 10px; + margin-left: 0; + } + :global(.margin_rtl) { + margin-right: 0; + margin-left: 10px; + } +</style> diff --git a/src/pages/options_src/Services/RedirectType.svelte b/src/pages/options_src/Services/RedirectType.svelte new file mode 100644 index 00000000..69ea2b73 --- /dev/null +++ b/src/pages/options_src/Services/RedirectType.svelte @@ -0,0 +1,102 @@ +<script> + const browser = window.browser || window.chrome + + import { onDestroy } from "svelte" + import SvelteSelect from "svelte-select" + import { options, config } from "../stores" + import Row from "../../components/Row.svelte" + import Label from "../../components/Label.svelte" + import FrontendIcon from "./FrontendIcon.svelte" + import Select from "../../components/Select.svelte" + + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + export let selectedService + + $: serviceConf = _config.services[selectedService] + $: serviceOptions = _options[selectedService] + $: frontendName = _options[selectedService].frontend + + let values + $: if (serviceConf.frontends[frontendName].embeddable) { + values = [ + { value: "both", name: browser.i18n.getMessage("both") || "Both" }, + { value: "sub_frame", name: browser.i18n.getMessage("onlyEmbedded") || "Only Embedded" }, + { value: "main_frame", name: browser.i18n.getMessage("onlyNotEmbedded") || "Only Not Embedded" }, + ] + } else if ( + serviceConf.frontends[frontendName].desktopApp && + Object.values(serviceConf.frontends).some(frontend => frontend.embeddable) + ) { + values = [ + { value: "both", name: browser.i18n.getMessage("both") || "Both" }, + { value: "main_frame", name: browser.i18n.getMessage("onlyNotEmbedded") || "Only Not Embedded" }, + ] + if (serviceOptions.redirectType == "sub_frame") { + serviceOptions.redirectType = "main_frame" + options.set(_options) + } + } else { + values = [{ value: "main_frame", name: browser.i18n.getMessage("onlyNotEmbedded") || "Only Not Embedded" }] + serviceOptions.redirectType = "main_frame" + options.set(_options) + } + + let embeddableFrontends = [] + $: if (serviceConf) { + embeddableFrontends = [] + for (const [frontendId, frontendConf] of Object.entries(serviceConf.frontends)) { + if (frontendConf.embeddable && frontendConf.instanceList) { + embeddableFrontends.push({ + value: frontendId, + label: frontendConf.name, + }) + } + } + } +</script> + +<Row> + <Label>{browser.i18n.getMessage("redirectType") || "Redirect Type"}</Label> + <Select + value={serviceOptions.redirectType} + onChange={e => { + serviceOptions.redirectType = e.target.options[e.target.options.selectedIndex].value + options.set(_options) + }} + {values} + /> +</Row> + +{#if serviceConf.frontends[frontendName].desktopApp && serviceOptions.redirectType != "main_frame"} + <Row> + <Label>{browser.i18n.getMessage("embedFrontend") || "Embed Frontend"}</Label> + <SvelteSelect + clearable={false} + class="svelte_select" + value={serviceOptions.embedFrontend} + on:change={e => { + serviceOptions.embedFrontend = e.detail.value + options.set(_options) + }} + items={embeddableFrontends} + > + <div class="slot" slot="item" let:item> + <FrontendIcon details={item} {selectedService} /> + {item.label} + </div> + <div class="slot" slot="selection" let:selection> + <FrontendIcon details={selection} {selectedService} /> + {selection.label} + </div> + </SvelteSelect> + </Row> +{/if} diff --git a/src/pages/options_src/Services/ServiceIcon.svelte b/src/pages/options_src/Services/ServiceIcon.svelte new file mode 100644 index 00000000..89393cf6 --- /dev/null +++ b/src/pages/options_src/Services/ServiceIcon.svelte @@ -0,0 +1,40 @@ +<script> + import { onDestroy } from "svelte" + export let details + import { config, options } from "../stores" + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + let theme + $: if (_options) { + if (_options.theme == "dark") { + theme = "dark" + } else if (_options.theme == "light") { + theme = "light" + } else if (window.matchMedia("(prefers-color-scheme: dark)").matches) { + theme = "dark" + } else { + theme = "light" + } + } + $: imageType = _config.services[details.value].imageType +</script> + +{#if imageType} + {#if imageType == "svgMono"} + {#if theme == "dark"} + <img src={`/assets/images/${details.value}-icon-light.svg`} alt={details.label} /> + {:else} + <img src={`/assets/images/${details.value}-icon.svg`} alt={details.label} /> + {/if} + {:else} + <img src={`/assets/images/${details.value}-icon.${imageType}`} alt={details.label} /> + {/if} +{/if} diff --git a/src/pages/options_src/Services/Services.svelte b/src/pages/options_src/Services/Services.svelte new file mode 100644 index 00000000..db2977f9 --- /dev/null +++ b/src/pages/options_src/Services/Services.svelte @@ -0,0 +1,260 @@ +<script> + const browser = window.browser || window.chrome + + import url from "../url" + import Row from "../../components/Row.svelte" + import Label from "../../components/Label.svelte" + import Select from "../../components/Select.svelte" + import { options, config } from "../stores" + import RedirectType from "./RedirectType.svelte" + import { onDestroy } from "svelte" + import Instances from "./Instances.svelte" + import SvelteSelect from "svelte-select" + import ServiceIcon from "./ServiceIcon.svelte" + import FrontendIcon from "./FrontendIcon.svelte" + import Checkbox from "../../components/Checkbox.svelte" + + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + let selectedService = $url.hash.startsWith("#services:") ? $url.hash.split(":")[1] : "youtube" + let hideServiceSelection = false + let hideFrontendSelection = false + $: serviceConf = _config.services[selectedService] + $: serviceOptions = _options[selectedService] + $: frontendWebsite = serviceConf.frontends[serviceOptions.frontend].url + $: servicesEntries = Object.entries(_config.services) + $: frontendEntries = Object.entries(serviceConf.frontends) +</script> + +<div> + <Row> + <Label> + <a href={serviceConf.url} style="text-decoration: underline;" target="_blank" rel="noopener noreferrer"> + {browser.i18n.getMessage("service") || "Service"} + </a> + </Label> + <div dir="ltr" on:click={() => (hideServiceSelection = true)} on:keydown={null}> + <SvelteSelect + clearable={false} + class="svelte_select" + value={selectedService} + showChevron + on:change={e => { + selectedService = e.detail.value + window.location.hash = `services:${e.detail.value}` + hideServiceSelection = false + }} + on:pointerup={() => (hideServiceSelection = false)} + on:focus={() => (hideServiceSelection = true)} + on:blur={() => (hideServiceSelection = false)} + items={[ + ...servicesEntries.map(([serviceKey, service]) => { + return { value: serviceKey, label: service.name } + }), + ]} + > + <div class={"slot " + (!_options[item.value].enabled && "disabled")} slot="item" let:item> + <ServiceIcon details={item} /> + {item.label} + </div> + <div + class={"slot " + (!_options[selection.value].enabled && !hideServiceSelection && "disabled")} + slot="selection" + let:selection + > + {#if !hideServiceSelection} + <ServiceIcon details={selection} /> + {selection.label} + {:else} + {browser.i18n.getMessage("searchService") || "Search Service"} + {/if} + </div> + <div style="font-size: 10px;" slot="chevron-icon">🮦</div> + </SvelteSelect> + </div> + </Row> + + <hr /> + + <Row> + <Label>{browser.i18n.getMessage("enable") || "Enable"}</Label> + <Checkbox + checked={serviceOptions.enabled} + onChange={e => { + serviceOptions.enabled = e.target.checked + options.set(_options) + }} + /> + </Row> + + <div style={!serviceOptions.enabled && "pointer-events: none;opacity: 0.4;user-select: none;"}> + <Row> + <Label>{browser.i18n.getMessage("showInPopup") || "Show in popup"}</Label> + <Checkbox + checked={_options.popupServices.includes(selectedService)} + onChange={e => { + if (e.target.checked && !_options.popupServices.includes(selectedService)) { + _options.popupServices.push(selectedService) + } else if (_options.popupServices.includes(selectedService)) { + const index = _options.popupServices.indexOf(selectedService) + if (index !== -1) _options.popupServices.splice(index, 1) + } + options.set(_options) + }} + /> + </Row> + + <Row> + <Label> + <a href={frontendWebsite} style="text-decoration: underline;" target="_blank" rel="noopener noreferrer"> + {browser.i18n.getMessage("frontend") || "Frontend"} + </a> + </Label> + <div dir="ltr" on:click={() => (hideFrontendSelection = true)} on:keydown={null}> + <SvelteSelect + clearable={false} + dir="ltr" + class="svelte_select" + value={serviceOptions.frontend} + showChevron + on:change={e => { + serviceOptions.frontend = e.detail.value + options.set(_options) + hideFrontendSelection = false + }} + on:pointerup={() => (hideServiceSelection = false)} + on:focus={() => (hideFrontendSelection = true)} + on:blur={() => (hideFrontendSelection = false)} + items={[ + ...frontendEntries.map(([frontendId, frontend]) => ({ + value: frontendId, + label: frontend.name, + })), + ]} + > + <div class="slot" slot="item" let:item> + <FrontendIcon details={item} {selectedService} /> + {item.label} + </div> + <div class="slot" slot="selection" let:selection> + {#if !hideFrontendSelection} + <FrontendIcon details={selection} {selectedService} /> + {selection.label} + {:else} + {browser.i18n.getMessage("search_frontend") || "Search Frontend"} + {/if} + </div> + <div style="font-size: 10px;" slot="chevron-icon">🮦</div> + </SvelteSelect> + </div> + </Row> + + <RedirectType {selectedService} /> + + <Row> + <Label>{browser.i18n.getMessage("unsupportedIframesHandling") || "Unsupported embeds handling"}</Label> + <Select + value={serviceOptions.unsupportedUrls} + onChange={e => { + serviceOptions.unsupportedUrls = e.target.options[e.target.options.selectedIndex].value + options.set(_options) + }} + values={[ + { value: "bypass", name: browser.i18n.getMessage("bypass") || "Bypass" }, + { value: "block", name: browser.i18n.getMessage("block") || "Block" }, + ]} + /> + </Row> + + <div style={_options.redirectOnlyInIncognito && "pointer-events: none;opacity: 0.4;user-select: none;"}> + <Row> + <Label>{browser.i18n.getMessage("redirectOnlyInIncognito") || "Redirect Only in Incognito"}</Label> + <Checkbox + checked={serviceOptions.redirectOnlyInIncognito} + onChange={e => { + serviceOptions.redirectOnlyInIncognito = e.target.checked + options.set(_options) + }} + /> + </Row> + </div> + + {#if selectedService == "search"} + <Row> + <Label>{browser.i18n.getMessage("redirectGoogle") || "Redirect Google"}</Label> + <Checkbox + checked={serviceOptions.redirectGoogle} + onChange={e => { + serviceOptions.redirectGoogle = e.target.checked + options.set(_options) + }} + /> + </Row> + <Row> + <Label> + {@html browser.i18n.getMessage("searchHint") || + `Set LibRedirect as Default Search Engine. For how to do in chromium browsers, click + <a + href="https://libredirect.github.io/docs.html#search_engine_chromium" + target="_blank" + rel="noopener noreferrer" + >here + </a>.`} + </Label> + </Row> + {/if} + + <Instances + {selectedService} + selectedFrontend={!serviceConf.frontends[serviceOptions.frontend].desktopApp || + serviceOptions.redirectType == "main_frame" + ? serviceOptions.frontend + : serviceOptions.embedFrontend} + /> + + <Row></Row> + </div> +</div> + +<style> + :global(.svelte_select) { + font-weight: bold; + --item-padding: 0 10px; + --border: none; + --border-hover: none; + --border-focused: none; + --width: 210px; + --background: var(--bg-secondary); + --list-background: var(--bg-secondary); + --item-is-active-bg: grey; + --item-hover-bg: grey; + --item-is-active-color: var(--text); + --list-max-height: 400px; + --padding: 0 0 0 10px; + --item-color: var(--text); + } + :global(.svelte_select .slot) { + display: flex; + justify-content: start; + align-items: center; + } + + :global(.svelte_select img, .svelte_select svg) { + margin-right: 10px; + margin-left: 0; + height: 26px; + width: 26px; + color: var(--text); + } + + :global(.svelte_select .disabled) { + opacity: 0.4; + } +</style> diff --git a/src/pages/options_src/Sidebar.svelte b/src/pages/options_src/Sidebar.svelte new file mode 100644 index 00000000..6b67581a --- /dev/null +++ b/src/pages/options_src/Sidebar.svelte @@ -0,0 +1,69 @@ +<script> + const browser = window.browser || window.chrome + + import url from "./url" + import GeneralIcon from "../icons/GeneralIcon.svelte" + import ServicesIcon from "../icons/ServicesIcon.svelte" + import AboutIcon from "../icons/AboutIcon.svelte" +</script> + +<div> + <a href="#general" style={$url.hash == "#general" && "color: var(--active);"}> + <GeneralIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("general") || "General"} + </a> + <a href="#services" style={$url.hash == "#services" && "color: var(--active);"}> + <ServicesIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("services") || "Services"} + </a> + <a href="https://libredirect.github.io" target="_blank" rel="noopener noreferrer"> + <AboutIcon class="margin margin_{document.body.dir}" /> + {browser.i18n.getMessage("about") || "About"} + </a> +</div> + +<style> + div { + display: flex; + flex-direction: column; + margin: 0 20px; + } + + a { + display: flex; + align-items: center; + font-size: 18px; + text-decoration: none; + color: var(--text); + transition: 0.1s; + margin: 10px; + min-width: max-content; + } + + a:hover { + color: var(--active); + } + + @media (max-width: 1250px) { + div { + flex-direction: row; + justify-content: center; + margin: 0; + } + } + + @media (max-width: 715px) { + a { + margin: 5px; + } + } + + :global(.margin) { + margin-right: 5px; + margin-left: 0; + } + :global(.margin_rtl) { + margin-right: 0; + margin-left: 5px; + } +</style> diff --git a/src/pages/options_src/main.js b/src/pages/options_src/main.js new file mode 100644 index 00000000..c4012f4a --- /dev/null +++ b/src/pages/options_src/main.js @@ -0,0 +1,7 @@ +import App from "./App.svelte" + +const app = new App({ + target: document.body, +}) + +export default app diff --git a/src/pages/options_src/stores.js b/src/pages/options_src/stores.js new file mode 100644 index 00000000..7ae0f8c7 --- /dev/null +++ b/src/pages/options_src/stores.js @@ -0,0 +1,4 @@ +import { writable } from "svelte/store" + +export const options = writable(null) +export const config = writable(null) diff --git a/src/pages/options_src/url.js b/src/pages/options_src/url.js new file mode 100644 index 00000000..010e5b21 --- /dev/null +++ b/src/pages/options_src/url.js @@ -0,0 +1,38 @@ +// https://svelte.dev/repl/5abaac000b164aa1aacc6051d5c4f584?version=3.59.2 + +import { derived, writable } from 'svelte/store' + +export function createUrlStore(ssrUrl) { + // Ideally a bundler constant so that it's tree-shakable + if (typeof window === 'undefined') { + const { subscribe } = writable(ssrUrl) + return { subscribe } + } + + const href = writable(window.location.href) + + const originalPushState = history.pushState + const originalReplaceState = history.replaceState + + const updateHref = () => href.set(window.location.href) + + history.pushState = () => { + originalPushState.apply(this, arguments) + updateHref() + } + + history.replaceState = () => { + originalReplaceState.apply(this, arguments) + updateHref() + } + + window.addEventListener('popstate', updateHref) + window.addEventListener('hashchange', updateHref) + + return { + subscribe: derived(href, ($href) => new URL($href)).subscribe + } +} + +// If you're using in a pure SPA, you can return a store directly and share it everywhere +export default createUrlStore() diff --git a/src/pages/popup/index.html b/src/pages/popup/index.html new file mode 100644 index 00000000..b197d4a7 --- /dev/null +++ b/src/pages/popup/index.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html lang="en"> + +<head> + <meta charset='utf-8'> + <meta name='viewport' content='width=device-width,initial-scale=1'> + <link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg"> + <title>Settings</title> + <link rel='stylesheet' href='build/bundle.css'> + <link rel='stylesheet' href='../fonts/styles.css'> + <script defer src='build/bundle.js'></script> +</head> + +<body> +</body> + +</html> \ No newline at end of file diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js deleted file mode 100644 index 5eeb18c2..00000000 --- a/src/pages/popup/popup.js +++ /dev/null @@ -1,113 +0,0 @@ -"use strict" -window.browser = window.browser || window.chrome - -import servicesHelper from "../../assets/javascripts/services.js" -import utils from "../../assets/javascripts/utils.js" - -document.getElementById("more-options").addEventListener("click", () => browser.runtime.openOptionsPage()) - -const allSites = document.getElementById("all_sites") -const currSite = document.getElementById("current_site") -const currentSiteDivider = document.getElementById("current_site_divider") - -const config = await utils.getConfig() -const divs = {} - -for (const service in config.services) { - divs[service] = {} - - divs[service].all = allSites.getElementsByClassName(service)[0] - divs[service].current = currSite.getElementsByClassName(service)[0] - - divs[service].all_toggle = allSites.getElementsByClassName(`${service}-enabled`)[0] - divs[service].all_toggle.addEventListener("change", async () => { - const options = await utils.getOptions() - options[service].enabled = divs[service].all_toggle.checked - browser.storage.local.set({ options }) - }) - - allSites.getElementsByClassName(`${service}-change_instance`)[0].addEventListener("click", () => { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - browser.tabs.update({ url: await servicesHelper.switchInstance(url, service) }) - } - }) - }) - - divs[service].current_toggle = currSite.getElementsByClassName(`${service}-enabled`)[0] - divs[service].current_toggle.addEventListener("change", async () => { - const options = await utils.getOptions() - options[service].enabled = divs[service].current_toggle.checked - browser.storage.local.set({ options }) - }) - - currSite.getElementsByClassName(`${service}-change_instance`)[0].addEventListener("click", () => { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - browser.tabs.update({ url: await servicesHelper.switchInstance(url, service) }) - } - }) - }) -} - -browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - let url; - - // Set visibility of control buttons - if (tabs[0].url) { - url = new URL(tabs[0].url) - servicesHelper.switchInstance(url).then(r => { - if (r) { - document.getElementById("change_instance_div").style.display = "" - document.getElementById("change_instance").addEventListener("click", async () => - browser.tabs.update({ url: await servicesHelper.switchInstance(url) }) - ) - } - }) - servicesHelper.copyRaw(url, true).then(r => { - if (r) { - document.getElementById("copy_original_div").style.display = "" - document.getElementById("copy_original").addEventListener("click", () => - servicesHelper.copyRaw(url) - ) - } - }) - servicesHelper.reverse(url).then(r => { - if (r) { - document.getElementById("redirect_to_original_div").style.display = "" - document.getElementById("redirect_to_original").addEventListener("click", () => - browser.runtime.sendMessage("reverseTab") - ) - } - }) - servicesHelper.redirectAsync(url, "main_frame", null, true).then(r => { - if (r) { - document.getElementById("redirect_div").style.display = "" - document.getElementById("redirect").addEventListener("click", () => - browser.runtime.sendMessage("redirectTab") - ) - } - }) - } - - const options = await utils.getOptions() - - // Set visibility of all service buttons - for (const service of options.popupServices) { - divs[service].all.classList.remove("hide") - divs[service].all_toggle.checked = options[service].enabled - } - - // Set visibility of current page service button - if (url) { - const service = await servicesHelper.computeService(url) - if (service) { - divs[service].all.classList.add("hide") - divs[service].current.classList.remove("hide") - divs[service].current_toggle.checked = options[service].enabled - currentSiteDivider.style.display = "" - } - } -}) \ No newline at end of file diff --git a/src/pages/popup/popup.pug b/src/pages/popup/popup.pug deleted file mode 100644 index f145fe5d..00000000 --- a/src/pages/popup/popup.pug +++ /dev/null @@ -1,51 +0,0 @@ -doctype html -html(lang="en") - head - meta(charset="UTF-8") - meta(name="viewport" content="width=device-width, initial-scale=1.0") - link(href="../stylesheets/styles.css" rel="stylesheet") - link(href="./style.css" rel="stylesheet") - body(dir="auto") - div(id="current_site") - include /src/pages/popup/switches - div(id="current_site_divider" style="display: none") - hr - - div(id="all_sites") - include /src/pages/popup/switches - - hr - - div(class="block" id="change_instance_div" style="display: none") - button(class="title button bottom-button" id="change_instance") - label(data-localise="__MSG_switchInstance__") Switch Instance - svg(xmlns="http://www.w3.org/2000/svg" height="26px" width="26px" fill="currentColor") - path(d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z") - - div(class="block" id="copy_original_div" title="Copy the original redirected link" style="display: none") - button(class="title button bottom-button" id="copy_original") - label() Copy Original - svg(xmlns="http://www.w3.org/2000/svg" height="24px" width="24px" fill="currentColor") - path(d="M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z") - - div(class="block" id="redirect_div" style="display: none") - button(class="title button bottom-button" id="redirect") - label Redirect - svg(xmlns="http://www.w3.org/2000/svg" height="24" width="24" fill="currentColor") - path(d="M7 20v-9q0-.825.588-1.413Q8.175 9 9 9h8.2l-1.6-1.6L17 6l4 4-4 4-1.4-1.4 1.6-1.6H9v9Z") - - div(class="block" id="redirect_to_original_div" style="display: none") - button(class="title button bottom-button" id="redirect_to_original") - label Redirect To Original - svg(xmlns="http://www.w3.org/2000/svg" height="24px" width="24px" fill="currentColor") - path(d="M 17,20 V 11 Q 17,10.175 16.412,9.587 15.825,9 15,9 H 6.8 L 8.4,7.4 7,6 3,10 7,14 8.4,12.6 6.8,11 H 15 v 9 z" id="path2") - - div(class="block") - button(class="title button bottom-button" id="more-options") - label(data-localise="__MSG_settings__") Settings - svg(xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" width="26px" fill="currentColor") - path(d="m9.25 22-.4-3.2q-.325-.125-.612-.3-.288-.175-.563-.375L4.7 19.375l-2.75-4.75 2.575-1.95Q4.5 12.5 4.5 12.337v-.675q0-.162.025-.337L1.95 9.375l2.75-4.75 2.975 1.25q.275-.2.575-.375.3-.175.6-.3l.4-3.2h5.5l.4 3.2q.325.125.613.3.287.175.562.375l2.975-1.25 2.75 4.75-2.575 1.95q.025.175.025.337v.675q0 .163-.05.338l2.575 1.95-2.75 4.75-2.95-1.25q-.275.2-.575.375-.3.175-.6.3l-.4 3.2Zm2.8-6.5q1.45 0 2.475-1.025Q15.55 13.45 15.55 12q0-1.45-1.025-2.475Q13.5 8.5 12.05 8.5q-1.475 0-2.488 1.025Q8.55 10.55 8.55 12q0 1.45 1.012 2.475Q10.575 15.5 12.05 15.5Z") - - div(class="space") - script(type="module" src="../options/init.js") - script(type="module" src="./popup.js") \ No newline at end of file diff --git a/src/pages/popup/style.css b/src/pages/popup/style.css deleted file mode 100644 index 6c258d75..00000000 --- a/src/pages/popup/style.css +++ /dev/null @@ -1,53 +0,0 @@ -body { - width: 270px; - min-height: auto; -} - -html, -body { - margin: 0; -} - -.hide { - display: none !important; -} - -.button { - display: flex; - margin: 0 auto; - justify-content: space-between; -} - -.button svg { - width: 26px; - height: 26px; -} - -.bottom-button { - width: 100%; -} - -.space { - height: 10px; -} - -input { - height: 23px; - width: 46px; -} - - -div.block label { - margin: 0; - font-size: 18px; - font-weight: bold; - max-width: 180px; -} - -div.block label:hover { - cursor: pointer; -} - -div.block div { - display: flex; -} \ No newline at end of file diff --git a/src/pages/popup/switches.pug b/src/pages/popup/switches.pug deleted file mode 100644 index bea107d2..00000000 --- a/src/pages/popup/switches.pug +++ /dev/null @@ -1,14 +0,0 @@ -each _, service in services - div(class=`${service} block hide`) - a(class="title" href=services[service].url) - if services[service].imageType == 'svgMono' - img(class='dark' src=`/assets/images/${service}-icon.svg`) - img(class='light' src=`/assets/images/${service}-icon-light.svg`) - else - img(src=`/assets/images/${service}-icon.${services[service].imageType}`) - label=services[service].name - div - input(class=`${service}-enabled` type="checkbox" aria-label=`toggle ${services[service].name}`) - button(class=`${service}-change_instance title button` aria-label=`change instance for ${services[service].name}`) - svg(xmlns="http://www.w3.org/2000/svg" height="26px" width="26px" fill="currentColor") - path(d="M12 4V1L8 5l4 4V6c3.31 0 6 2.69 6 6 0 1.01-.25 1.97-.7 2.8l1.46 1.46C19.54 15.03 20 13.57 20 12c0-4.42-3.58-8-8-8zm0 14c-3.31 0-6-2.69-6-6 0-1.01.25-1.97.7-2.8L5.24 7.74C4.46 8.97 4 10.43 4 12c0 4.42 3.58 8 8 8v3l4-4-4-4v3z") \ No newline at end of file diff --git a/src/pages/popup_src/App.svelte b/src/pages/popup_src/App.svelte new file mode 100644 index 00000000..f6699312 --- /dev/null +++ b/src/pages/popup_src/App.svelte @@ -0,0 +1,78 @@ +<script> + const browser = window.browser || window.chrome + + import utils from "../../assets/javascripts/utils.js" + import { onDestroy } from "svelte" + import servicesHelper from "../../assets/javascripts/services.js" + import { onMount } from "svelte" + import Buttons from "./Buttons.svelte" + + import { options, config, page } from "./stores" + + let _options + const unsubscribeOptions = options.subscribe(val => { + if (val) { + _options = val + browser.storage.local.set({ options: val }) + } + }) + + let _config + const unsubscribeConfig = config.subscribe(val => (_config = val)) + + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + onMount(async () => { + let opts = await utils.getOptions() + if (!opts) { + await servicesHelper.initDefaults() + opts = await utils.getOptions() + } + options.set(opts) + config.set(await utils.getConfig()) + }) + + let _page + page.subscribe(val => (_page = val)) + + let style + $: if (_options) style = utils.style(_options, window) +</script> + +{#if _options && _config} + <div class="main" dir="auto" {style}> + <Buttons /> + </div> +{:else} + <p>Loading...</p> +{/if} + +<style> + :global(html, body) { + min-width: 260px; + height: min-content; + min-height: auto; + margin: 0; + padding: 0; + box-sizing: border-box; + } + + :global(body) { + margin-top: -20px; + } + + div { + font-weight: bold; + height: 100%; + margin: 0; + padding: 10px; + padding-top: 20px; + font-family: "Inter", sans-serif; + font-size: 16px; + background-color: var(--bg-main); + color: var(--text); + } +</style> diff --git a/src/pages/popup_src/Buttons.svelte b/src/pages/popup_src/Buttons.svelte new file mode 100644 index 00000000..ab5682dc --- /dev/null +++ b/src/pages/popup_src/Buttons.svelte @@ -0,0 +1,145 @@ +<script> + const browser = window.browser || window.chrome + + import Row from "./components/Row.svelte" + import Label from "../components/Label.svelte" + import CopyIcon from "../icons/CopyIcon.svelte" + import RedirectToOriginalIcon from "../icons/RedirectToOriginalIcon.svelte" + import RedirectIcon from "../icons/RedirectIcon.svelte" + import SwitchInstanceIcon from "../icons/SwitchInstanceIcon.svelte" + import SettingsIcon from "../icons/SettingsIcon.svelte" + import { options, config } from "./stores" + import { onDestroy } from "svelte" + import servicesHelper from "../../assets/javascripts/services" + import Switch from "./components/Switch.svelte" + + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + let url + let switchInstance + let redirectToOriginal + let redirect + let currentService + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + url = new URL(tabs[0].url) + servicesHelper.switchInstance(url).then(r => (switchInstance = r)) + servicesHelper.reverse(url).then(r => (redirectToOriginal = r)) + servicesHelper.redirectAsync(url, "main_frame", null, null, false, true).then(r => (redirect = r)) + servicesHelper.computeService(url).then(r => (currentService = r)) + } + }) +</script> + +<div class={document.body.dir}> + {#if redirect} + <Row + class="interactive" + on:click={() => { + browser.tabs.query({ active: true, currentWindow: true }, tabs => { + browser.runtime.sendMessage({ message: "redirect", tabId: tabs[0].id }, () => { + browser.tabs.update({ url: redirect }) + }) + }) + }} + > + <Label>{browser.i18n.getMessage("redirect") || "Redirect"}</Label> + <RedirectIcon /> + </Row> + {/if} + + {#if switchInstance} + <Row + class="interactive" + on:click={async () => + browser.tabs.update({ url: switchInstance }, () => { + window.close() + })} + > + <Label>{browser.i18n.getMessage("switchInstance") || "Switch Instance"}</Label> + <SwitchInstanceIcon /> + </Row> + {/if} + + {#if redirectToOriginal} + <Row class="interactive" on:click={() => servicesHelper.copyRaw(url)}> + <Label>{browser.i18n.getMessage("copyOriginal") || "Copy Original"}</Label> + <CopyIcon /> + </Row> + <Row + class="interactive" + on:click={() => { + browser.tabs.query({ active: true, currentWindow: true }, tabs => { + browser.runtime.sendMessage({ message: "reverse", tabId: tabs[0].id }, () => { + browser.tabs.update({ url: redirectToOriginal }) + }) + }) + }} + > + <Label>{browser.i18n.getMessage("redirectToOriginal" || "Redirect to Original")}</Label> + <RedirectToOriginalIcon /> + </Row> + {/if} + + {#if redirect || switchInstance || redirectToOriginal} + <hr /> + {/if} + + {#if currentService} + <Switch serviceKey={currentService} {url} /> + <hr /> + {/if} + + {#each _options.popupServices as serviceKey} + {#if currentService !== serviceKey} + <Switch {serviceKey} {url} /> + {/if} + {/each} + + <hr /> + + <Row + class="interactive" + on:click={() => + browser.tabs.create({ url: browser.runtime.getURL("pages/options/index.html") }, () => { + window.close() + })} + > + <Label>{browser.i18n.getMessage("settings")}</Label> + <SettingsIcon /> + </Row> +</div> + +<style> + :global(.interactive) { + transition: 0.1s; + } + :global(.interactive:hover) { + color: var(--active); + cursor: pointer; + } + :global(.interactive:active) { + transform: translateY(1px); + } + + :global(img, svg) { + margin-right: 5px; + margin-left: 0; + height: 26px; + width: 26px; + color: var(--text); + } + + :global(.rtl img, .rtl svg) { + margin-right: 0; + margin-left: 5px; + } +</style> diff --git a/src/pages/popup_src/components/Row.svelte b/src/pages/popup_src/components/Row.svelte new file mode 100644 index 00000000..a4d78f07 --- /dev/null +++ b/src/pages/popup_src/components/Row.svelte @@ -0,0 +1,13 @@ +<div {...$$props} on:click> + <slot></slot> + </div> + + <style> + div { + justify-content: space-between; + display: flex; + align-items: center; + margin: 10px 0; + } + </style> + \ No newline at end of file diff --git a/src/pages/popup_src/components/ServiceIcon.svelte b/src/pages/popup_src/components/ServiceIcon.svelte new file mode 100644 index 00000000..89393cf6 --- /dev/null +++ b/src/pages/popup_src/components/ServiceIcon.svelte @@ -0,0 +1,40 @@ +<script> + import { onDestroy } from "svelte" + export let details + import { config, options } from "../stores" + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + let theme + $: if (_options) { + if (_options.theme == "dark") { + theme = "dark" + } else if (_options.theme == "light") { + theme = "light" + } else if (window.matchMedia("(prefers-color-scheme: dark)").matches) { + theme = "dark" + } else { + theme = "light" + } + } + $: imageType = _config.services[details.value].imageType +</script> + +{#if imageType} + {#if imageType == "svgMono"} + {#if theme == "dark"} + <img src={`/assets/images/${details.value}-icon-light.svg`} alt={details.label} /> + {:else} + <img src={`/assets/images/${details.value}-icon.svg`} alt={details.label} /> + {/if} + {:else} + <img src={`/assets/images/${details.value}-icon.${imageType}`} alt={details.label} /> + {/if} +{/if} diff --git a/src/pages/popup_src/components/Switch.svelte b/src/pages/popup_src/components/Switch.svelte new file mode 100644 index 00000000..98f765b7 --- /dev/null +++ b/src/pages/popup_src/components/Switch.svelte @@ -0,0 +1,81 @@ +<script> + const browser = window.browser || window.chrome + + import Checkbox from "../../components/Checkbox.svelte" + import Label from "../../components/Label.svelte" + import SwitchInstanceIcon from "../../icons/SwitchInstanceIcon.svelte" + import Row from "./Row.svelte" + import ServiceIcon from "./ServiceIcon.svelte" + import { onDestroy } from "svelte" + import servicesHelper from "../../../assets/javascripts/services" + import { options, config } from "../stores" + import SettingsIcon from "../../icons/SettingsIcon.svelte" + + let _options + let _config + + const unsubscribeOptions = options.subscribe(val => (_options = val)) + const unsubscribeConfig = config.subscribe(val => (_config = val)) + onDestroy(() => { + unsubscribeOptions() + unsubscribeConfig() + }) + + export let serviceKey + export let url +</script> + +<Row> + <div + class="interactive margin margin_{document.body.dir}" + on:keydown={null} + on:click={() => + browser.tabs.create({ url: _config.services[serviceKey].url }, () => { + window.close() + })} + > + <ServiceIcon details={{ value: serviceKey, label: _config.services[serviceKey].name }} /> + <Label>{_config.services[serviceKey].name}</Label> + </div> + <div> + <Checkbox + class="margin margin_{document.body.dir}" + label="Enable" + checked={_options[serviceKey].enabled} + onChange={e => { + _options[serviceKey].enabled = e.target.checked + options.set(_options) + }} + /> + <SwitchInstanceIcon + class="interactive" + on:click={async () => + browser.tabs.update({ url: await servicesHelper.switchInstance(url, serviceKey) }, () => { + window.close() + })} + /> + <SettingsIcon + class="interactive" + on:click={() => + browser.tabs.create({ url: browser.runtime.getURL(`pages/options/index.html#services:${serviceKey}`) }, () => { + window.close() + })} + /> + </div> +</Row> + +<style> + div { + display: flex; + align-items: center; + } + + :global(.margin) { + margin-right: 5px; + margin-left: 0; + } + :global(.margin_rtl) { + margin-right: 0; + margin-left: 5px; + } +</style> diff --git a/src/pages/popup_src/main.js b/src/pages/popup_src/main.js new file mode 100644 index 00000000..c4012f4a --- /dev/null +++ b/src/pages/popup_src/main.js @@ -0,0 +1,7 @@ +import App from "./App.svelte" + +const app = new App({ + target: document.body, +}) + +export default app diff --git a/src/pages/popup_src/stores.js b/src/pages/popup_src/stores.js new file mode 100644 index 00000000..782f6064 --- /dev/null +++ b/src/pages/popup_src/stores.js @@ -0,0 +1,5 @@ +import { writable } from "svelte/store" + +export const options = writable(null) +export const config = writable(null) +export const page = writable("general") diff --git a/src/pages/stylesheets/styles.css b/src/pages/stylesheets/styles.css deleted file mode 100644 index 2519a05f..00000000 --- a/src/pages/stylesheets/styles.css +++ /dev/null @@ -1,391 +0,0 @@ -body { - --text: #fff; - --bg-main: #121212; - --bg-secondary: #202020; - --active: #fbc117; - --danger: #f04141; - --light-grey: #c3c3c3; -} - -@font-face { - font-family: "Inter"; - src: url("Inter-VariableFont_slnt,wght.ttf"); - font-weight: normal; - font-style: normal; -} - -@font-face { - font-family: "Vazirmatn"; - src: url("Vazirmatn-VariableFont_wght.ttf"); - font-weight: normal; - font-style: normal; -} - -body { - margin: auto; - padding: 0; - font-family: "Inter"; - font-size: 16px; - background-color: var(--bg-main); - color: var(--text); -} - -body * { - font-family: "Inter"; -} - -body.rtl { - font-family: "Vazirmatn"; -} - -body.rtl * { - font-family: "Vazirmatn"; -} - -div.block input[type="checkbox"] { - appearance: none; - -moz-appearance: none; - -webkit-appearance: none; -} - -.title { - display: flex; - align-items: center; - text-decoration: none; - width: min-content; - color: var(--text); - transition: .1s; -} - -.title:hover { - opacity: 1 !important; -} - -.title:hover a { - color: var(--active); -} - -img, -svg { - margin-right: 10px; - height: 26px; - width: 26px; - color: var(--text); -} - -body.rtl img, -body.rtl svg { - margin-right: 0px; - margin-left: 10px; -} - -input[type="url"], -input[type="text"], -select { - font-weight: bold; - box-sizing: border-box; - border-style: solid; - border-color: #767676; - color: var(--text); - font-size: 16px; - padding: 8px; - background-color: var(--bg-secondary); - border: none; - margin: 0; - max-width: 500px; - border-radius: 3px; -} - -input[type="url"], -input[type="text"] { - width: 400px; - cursor: text; -} - -input:invalid { - color: var(--danger); -} - -.button svg { - height: 18px; - width: 18px; -} - -section.block-option { - width: 750px; - margin: 0 50px; -} - -section.block-option h2 { - margin: 0; -} - -body.option { - display: flex; - padding: 40px; - width: 1160px; -} - -section.links { - display: flex; - flex-wrap: wrap; - flex-direction: column; - width: 350px; - max-height: 930px; -} - -section.links div { - margin: 10px; - width: max-content; -} - -a { - text-decoration: none; - color: var(--text); - transition: 0.1s; -} - -a:hover { - color: var(--active); -} - -section.links a { - display: flex; - align-items: center; - font-size: 18px; - text-decoration: none; - color: white; - transition: 0.1s; -} - -section.links a:hover, -section.links .selected { - opacity: 1 !important; -} - -section.links .selected a { - color: var(--active); -} - -::placeholder { - color: var(--text); - opacity: 0.7; -} - -hr { - height: 2px; - margin: 0 15px; - background-color: rgb(77, 77, 77); - border: none; -} - -div.block { - padding: 0 15px; - justify-content: space-between; - display: flex; - align-items: center; - margin-top: 10px; - margin-bottom: 10px; -} - -div.block-option { - margin: 30px 0; -} - -div.block-option label { - margin-right: 5px; - width: 80%; - min-width: 150px; - font-size: 18px; -} - -div.block-option h1 { - margin: 0; - font-size: 28px; - color: var(--text); -} - -div.block-option div { - text-align: center; -} - -div.block input[type="checkbox"] { - width: 46px; - height: 24px; - background-color: var(--light-grey); - border-radius: 50px; - transition: 0.4s; - cursor: pointer; -} - -div.block input[type="checkbox"]:checked { - background-color: var(--active); -} - -div.block input[type="checkbox"]::before { - content: ""; - display: inline-block; - width: 18px; - height: 18px; - box-sizing: border-box; - position: relative; - top: 2.5px; - left: 3.5px; - background-color: white; - border-radius: 50%; - transition: 0.3s; -} - -body.rtl div.block input[type="checkbox"]::before { - left: auto; - right: 4px; -} - -div.block input[type="checkbox"]:checked::before { - left: 24px; -} - -body.rtl div.block input[type="checkbox"]:checked::before { - left: auto; - right: 24px; -} - -div.buttons { - display: flex; - margin: 0 15px; - margin-bottom: 15px; - margin-top: 15px; - flex-wrap: wrap; - align-items: center; - justify-content: start; -} - -.button { - color: var(--text); - font-size: 16px; - font-weight: bold; - text-decoration: none; - cursor: pointer; - transition-duration: 0.1s; -} - -.button:hover { - color: var(--active); -} - -.button svg { - width: auto; - height: auto; - padding: 0; - margin-right: 5px; -} - -.button:hover svg { - color: var(--active); -} - -.button-inline { - display: inline-flex; - align-items: center; - margin: 7.5px 0; - background-color: var(--bg-secondary); - border-radius: 5px; - padding: 10px; -} - -.button:active { - transform: translateY(1px); -} - -button svg { - color: var(--text); -} - -div.checklist div { - justify-content: space-between; - margin: 5px 15px; - padding: 10px 0; - word-wrap: break-word; - display: flex; -} - -div.checklist a { - text-decoration: none; - color: var(--text); -} - -div.checklist a:hover { - text-decoration: underline; -} - -div.custom-checklist x a { - color: var(--active); -} - -button.add { - background-color: transparent; - border: none; - padding: 0; - margin: 0; - text-decoration: none; - display: inline-block; - cursor: pointer; -} - -body.light-theme { - --text: black; - --bg-main: white; - --bg-secondary: #e4e4e4; - --active: #fb9817; -} - -body.light-theme select { - border: 1px solid black; -} - -body.light-theme a { - color: black; -} - -body.light-theme a:hover { - color: var(--active) -} - -button { - background-color: transparent; - color: var(--text); - border: none; - text-decoration: none; - display: inline-block; - cursor: pointer; - border-radius: 5px; -} - -body div section { - display: none; -} - -select:disabled { - opacity: 0.6; - cursor: not-allowed; -} - -input:disabled { - opacity: 0.6; - cursor: not-allowed; -} - - -@media (max-width: 1250px) { - body.option { - flex-direction: column; - width: 750px; - align-items: center; - } - - section.links { - flex-direction: row; - width: 750px; - padding: 0 55px; - } -} \ No newline at end of file diff --git a/src/pages/widgets/head.pug b/src/pages/widgets/head.pug deleted file mode 100644 index 0c6e9fdb..00000000 --- a/src/pages/widgets/head.pug +++ /dev/null @@ -1,7 +0,0 @@ -head - meta(charset="utf-8") - meta(name="viewport" content="width=device-width, initial-scale=1") - link(rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg") - link(href="../stylesheets/styles.css" rel="stylesheet") - title Settings - script(type="module" src="./init.js") \ No newline at end of file diff --git a/src/pages/widgets/links.pug b/src/pages/widgets/links.pug deleted file mode 100644 index 318c72f9..00000000 --- a/src/pages/widgets/links.pug +++ /dev/null @@ -1,22 +0,0 @@ -section(class="links" id="links") - div(class="title") - a(href="#general") - include /src/assets/images/general-icon.svg - span(data-localise="__MSG_general__") General - - each val, key in services - div(class="title" id=`${key}-link`) - a(href="#"+key) - if services[key].imageType == 'svgMono' - img(class='dark' src=`/assets/images/${key}-icon.svg`) - img(class='light' src=`/assets/images/${key}-icon-light.svg`) - else - img(src=`/assets/images/${key}-icon.${services[key].imageType}`) - span=services[key].name - - div(class="title") - a(target="_blank" href="https://libredirect.github.io") - img(class='dark' src="/assets/images/about-icon.svg") - img(class='light' src="/assets/images/about-icon-light.svg") - - span(data-localise="__MSG_about__") About diff --git a/src/updates/updates.xml b/src/updates/updates.xml new file mode 100644 index 00000000..ea0d5882 --- /dev/null +++ b/src/updates/updates.xml @@ -0,0 +1,6 @@ +<?xml version='1.0' encoding='UTF-8'?> +<gupdate xmlns='http://www.google.com/update2/response' protocol='2.0'> + <app appid='oladmjdebphlnjjcnomfhhbfdldiimaf'> + <updatecheck codebase='https://github.com/libredirect/libredirect/releases/download/v2.9.1/libredirect-2.9.1.crx' version='2.9.1' /> + </app> +</gupdate> diff --git a/test-conditions.md b/test-conditions.md new file mode 100644 index 00000000..998aea09 --- /dev/null +++ b/test-conditions.md @@ -0,0 +1,56 @@ +# Conditions + +- Check redirects +- Redirect Original +- Forcefully change to preferred instance. Load a instance link use the recycle button near frontend in popup menu which forces the site to be loaded in preferred instance. +- Switch Instance +- Copy Original links +- Keyboard Shortcuts + +## Sites + +YouTube - <https://www.youtube.com/watch?v=UsR08cY8k0A> + +YouTube Music (Tested with YouTube turned off) + +Homepage - <https://music.youtube.com> +Page - <https://hyperpipe.surge.sh/channel/UCPC0L1d253x-KuMNwa05TpA> +Explore - <https://hyperpipe.surge.sh/explore/> + +YT Embeds - <https://famiboards.com/threads/nintendo-switch-sports-announced-launches-april-29th-update-main-theme-in-threadmarks.1907/> + +Twitch - <https://www.twitch.tv/pokimane> + +TikTok - <https://www.tiktok.com/@zoecolletti?lang=en> + +Reddit & Imgur `(Embeds)` - <https://www.reddit.com/61ns2w/> + +Medium - <https://zora.medium.com/so-what-if-they-did-thoughts-on-affirmative-action-b714834da28b> + +Quora - <https://www.quora.com/What-is-the-equivalent-weight-of-hydrocloric-acid> + +Pinterest - <https://www.pinterest.com/aldiukstores/aldi-recipes/> + +IMDb - <https://www.imdb.com/title/tt23556786/> **[Check if new URL schemes are supported by the Dev.]** + +Fandom - <https://naruto.fandom.com> + +Genius - <https://genius.com/Doja-cat-demons-lyrics> + +Urbandictionary - <https://urbandictionary.com/define.php?term=Roads> + +Stackoverflow - <https://stackoverflow.com/questions/16330404/how-to-remove-remote-origin-from-a-git-repository> + +Goodreads - <https://www.goodreads.com/book/show/3869.A_Brief_History_of_Time> + +Bandcamp - <https://thorwegian.bandcamp.com/track/just-because> + +Instructables - <https://instructables.com/DIY-Arduino-Obstacle-Avoiding-Car-at-Home/> + +Web archive - <https://web.archive.org/web/20230131222432if_/https://www.dailymail.co.uk/news/article-11687675/Army-spied-lockdown-critics-Sceptics-including-Peter-Hitchens-suspected-watched.html> + +--- + +P.S. I haven't been testing the extension for few releases. So, there is a lot of new and removed frontends. Remove and add them as needed. + +When there is a new PR to this file. Please assign me (IkelAtomig) or request as a reviewer to merge it. |