Merge branch 'master' into 575-theme-add-a-modern-clean-switch-like-theme-as-an-official-theme-in-es-de-to-choose-from

This commit is contained in:
Sophia Hadash 2021-10-23 16:07:51 +02:00
commit d17abd5a56
44 changed files with 809 additions and 988 deletions

View file

@ -17,6 +17,8 @@
* Added the ability to make complementary game system customizations without having to replace the entire bundled es_systems.xml file
* Added support for an optional \<systemsortname\> tag for es_systems.xml that can be used to override the default \<fullname\> systems sorting
* Added menu scroll indicators showing if there are additional entries available below or above what's currently shown on screen
* Improved the layout of the scraper GUIs (single-game scraper and multi-scraper)
* Added horizontal scrolling of long game names to the scraper GUIs
* Improved the gamelist filter screen to not allow filtering of values where there is no actual data to filter, e.g. Favorites for a system with no favorite games
* Grayed out all fields in the gamelist filter screen where there is no data to filter, previously some fields were removed entirely and some could still be used
* Added the ability to filter on blank/unknown values for Genre, Player, Developer, Publisher and Alternative emulator.
@ -25,18 +27,22 @@
* Lowered the minimum supported screen resolution from 640x480 to 224x224 to support arcade cabinet displays such as those running at 384x224 and 224x384
* Expanded the themeable options for "helpsystem" to support custom button graphics, dimmed text and icon colors, upper/lower/camel case and custom spacing
* Made the scrolling speed of ScrollableContainer more consistent across various screen resolutions and display aspect ratios
* Decreased the amount of text that ScrollableContainer renders above and below the starting position as content is scrolled
* Made the game name and description stop scrolling when running the media viewer, the screensaver or when running in the background while a game is launched
* Added notification popups when plugging in or removing controllers
* Changed to loading the default theme set rbsimple-DE instead of the first available theme if the currently configured theme is missing
* Added support for using the left and right trigger buttons in the help prompts
* Removed the "Choose" entry from the help prompts in the gamelist view
* Replaced a number of help prompt hacks with proper solutions
* Changed the "Toggle screensaver" help entry in the system view to simply "Screensaver"
* Changed the font size for the custom collection deletion screen to the same size as for all other menus
* Added support for upscaling bitmap images using linear filtering
* Changed the marquee image upscale filtering from nearest neighbor to linear for the launch screen and the gamelist views
* Moved the Media Viewer and Screensaver settings higher in the UI Settings menu
* Moved the game media directory setting to the top of the Other Settings menu, following the new Alternative Emulators entry
* Added a blinking cursor to TextEditComponent
* Changed the filter description "Text filter (game name)" to "Game name"
* Removed a margin hack from TextComponent and if abbreviated strings end with a space character, that space is now removed
* Added support for multi-select total count and exclusive multi-select to OptionListComponent
* Added support for a maximum name length to OptionListComponent (non-multiselect only) with an abbreviation of the name if it exceeds this value
* Added support for key repeat to OptionListComponent, making it possible to cycle through the options by holding the left or right button
@ -70,6 +76,7 @@
* When scraping in interactive mode, the game counter was not decreased when skipping games, making it impossible to skip the final games in the queue
* When scraping in interactive mode, "No games found" results could be accepted using the "A" button
* When scraping in interactive mode, any refining done using the "Y" button shortcut would not be shown when doing another refine using the "Refine search" button
* Fixed multiple minor rendering issues where graphics would be slightly cut off or incorrectly resized
* Under some circumstances ScrollableContainer (used for the game descriptions) would contain a partially rendered bottom line
* If the TextListComponent height was not evenly dividable by the font height + line spacing, a partial bottom row would get rendered
* The line spacing for TextListComponent was incorrectly calculated for some resolutions such as 2560x1440
@ -86,6 +93,7 @@
* Under some circumstances and at some screen resolutions, the last menu separator line would not get rendered (still an issue at extreme resolutions like 320x240)
* When scrolling in menus, pressing other buttons than "Up" or "Down" did not stop the scrolling which caused all sorts of weird behavior
* With the menu scale-up effect enabled and entering a submenu before the parent menu was completely scaled up, the parent would get stuck at a semi-scaled size
* The custom collection deletion screen had incorrect row heights when running at lower resolutions such as 1280x720
* If there was an abbreviated full system name for the "Gamelist on startup" option, that abbreviation would also get displayed when opening the selector window
* Really long theme set names would not get abbreviated in the UI settings menu, leading to a garbled "Theme set" setting row
* Disabling a collection while its gamelist was displayed would lead to a slide transition from a black screen if a gamelist on startup had been set

View file

@ -48,6 +48,7 @@ This plan is under constant review so expect it to change from time to time. Sti
#### v1.4
* Localization/multi-language support
* Reorganize the menus, possibly adding basic/advanced modes
* Authoring tools to clean up orphaned gamelist entries, media files etc.
* Scrollbar component for the gamelist view which can be used by the themes
* Web proxy support for the scraper

View file

@ -47,6 +47,8 @@ The following operating systems have been tested (all for the x86 architecture u
**Note:** If using a Mac with an ARM CPU (e.g. M1) you need to install the x86 version of RetroArch and any other emulators, or you won't be able to launch any games. This will be fixed whenever a native macOS ARM build of ES-DE is released.
As for display resolutions, the minimum pixel value is 224 and the maximum is 7680. This means that you can run ES-DE at for instance 320x224 all the way up to 7680x4320 (8K UHD). Vertical screen orientation is also supported, as well as ultra-wide resolutions like 3840x1440. Note that there could be some minor visual glitches when running in vertical orientation (this will be fixed in future ES-DE releases) and for the best experience you will probably need to use a customized theme set when running at extreme or unusual resolutions.
The installation procedure is just covered briefly here and may differ a bit for your specific operating system, so in case of problems refer to your system documentation.
**Installing a Linux .deb package**

View file

@ -39,13 +39,6 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
ComponentListRow row;
// This transparent bracket is only added to generate a left margin.
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/graphics/arrow.svg");
bracket->setOpacity(0);
bracket->setSize(bracket->getSize() / 3.0f);
row.addElement(bracket, false);
std::string name = (*it)->getName();
std::shared_ptr<TextComponent> systemText =
std::make_shared<TextComponent>(mWindow, name, Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
@ -94,7 +87,9 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
labelText->setColor(TEXTCOLOR_SCRAPERMARKED);
mCommandRows[name] = labelText;
labelText->setSize(labelSizeX, labelText->getSize().y);
labelText->setSize(mMenu.getSize().x - systemSizeX -
20.0f * Renderer::getScreenHeightModifier(),
systemText->getSize().y);
row.addElement(labelText, false);
row.makeAcceptInputHandler([this, it, labelText] {
@ -157,6 +152,7 @@ void GuiAlternativeEmulators::selectorWindow(SystemData* system)
std::shared_ptr<TextComponent> labelText = std::make_shared<TextComponent>(
mWindow, label, Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_LEFT);
labelText->setSelectable(true);
if (system->getSystemEnvData()->mLaunchCommands.front().second == label)
labelText->setValue(labelText->getValue().append(" [DEFAULT]"));
@ -193,13 +189,6 @@ void GuiAlternativeEmulators::selectorWindow(SystemData* system)
delete s;
});
// This transparent bracket is only added to generate the correct help prompts.
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/graphics/arrow.svg");
bracket->setOpacity(0);
bracket->setSize(bracket->getSize() / 3.0f);
row.addElement(bracket, false);
// Select the row that corresponds to the selected label.
if (selectedLabel == label)
s->addRow(row, true);

View file

@ -177,12 +177,8 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(Window* window, std::st
row.makeAcceptInputHandler(createCollectionCall);
auto themeFolder = std::make_shared<TextComponent>(
mWindow, Utils::String::toUpper(name), Font::get(FONT_SIZE_SMALL), 0x777777FF);
themeFolder->setSelectable(true);
row.addElement(themeFolder, true);
// This transparent bracket is only added to generate the correct help prompts.
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/graphics/arrow.svg");
bracket->setOpacity(0);
row.addElement(bracket, false);
ss->addRow(row);
}
mWindow->pushGui(ss);
@ -287,15 +283,17 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(Window* window, std::st
};
row.makeAcceptInputHandler(deleteCollectionCall);
auto customCollection = std::make_shared<TextComponent>(
mWindow, Utils::String::toUpper(name), Font::get(FONT_SIZE_SMALL), 0x777777FF);
mWindow, Utils::String::toUpper(name), Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
customCollection->setSelectable(true);
row.addElement(customCollection, true);
// This transparent bracket is only added generate the correct help prompts.
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/graphics/arrow.svg");
bracket->setOpacity(0);
row.addElement(bracket, false);
ss->addRow(row);
}
// Make the menu slightly wider to fit the scroll indicators.
glm::vec2 menuSize{ss->getMenuSize()};
glm::vec3 menuPos{ss->getMenuPosition()};
ss->setMenuSize(glm::vec2{menuSize.x * 1.08f, menuSize.y});
menuPos.x = static_cast<float>((Renderer::getScreenWidth()) - ss->getMenuSize().x) / 2.0f;
ss->setMenuPosition(menuPos);
mWindow->pushGui(ss);
});
addRow(row);

View file

@ -23,15 +23,13 @@ GuiGameScraper::GuiGameScraper(Window* window,
std::function<void(const ScraperSearchResult&)> doneFunc)
: GuiComponent(window)
, mClose(false)
, mGrid(window, glm::ivec2{1, 7})
, mGrid(window, glm::ivec2{2, 6})
, mBox(window, ":/graphics/frame.svg")
, mSearchParams(params)
{
addChild(&mBox);
addChild(&mGrid);
// Row 0 is a spacer.
std::string scrapeName;
if (Settings::getInstance()->getBool("ScraperSearchMetadataName")) {
@ -51,21 +49,37 @@ GuiGameScraper::GuiGameScraper(Window* window,
mWindow,
scrapeName +
((mSearchParams.game->getType() == FOLDER) ? " " + ViewController::FOLDER_CHAR : ""),
Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_CENTER);
mGrid.setEntry(mGameName, glm::ivec2{0, 1}, false, true);
// Row 2 is a spacer.
Font::get(FONT_SIZE_LARGE), 0x777777FF, ALIGN_CENTER);
mGameName->setColor(0x555555FF);
mGrid.setEntry(mGameName, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
mSystemName = std::make_shared<TextComponent>(
mWindow, Utils::String::toUpper(mSearchParams.system->getFullName()),
Font::get(FONT_SIZE_SMALL), 0x888888FF, ALIGN_CENTER);
mGrid.setEntry(mSystemName, glm::ivec2{0, 3}, false, true);
mGrid.setEntry(mSystemName, glm::ivec2{0, 2}, false, true, glm::ivec2{2, 1});
// Row 4 is a spacer.
// Row 3 is a spacer.
// GuiScraperSearch.
mSearch = std::make_shared<GuiScraperSearch>(window, GuiScraperSearch::NEVER_AUTO_ACCEPT, 1);
mGrid.setEntry(mSearch, glm::ivec2{0, 5}, true);
mGrid.setEntry(mSearch, glm::ivec2{0, 4}, true, true, glm::ivec2{2, 1});
mResultList = mSearch->getResultList();
// Set up scroll indicators.
mScrollUp = std::make_shared<ImageComponent>(mWindow);
mScrollDown = std::make_shared<ImageComponent>(mWindow);
mScrollIndicator =
std::make_shared<ScrollIndicatorComponent>(mResultList, mScrollUp, mScrollDown);
mScrollUp->setResize(0.0f, mGameName->getFont()->getLetterHeight() / 2.0f);
mScrollUp->setOrigin(0.0f, -0.35f);
mScrollDown->setResize(0.0f, mGameName->getFont()->getLetterHeight() / 2.0f);
mScrollDown->setOrigin(0.0f, 0.35f);
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
// Buttons
std::vector<std::shared_ptr<ButtonComponent>> buttons;
@ -74,6 +88,9 @@ GuiGameScraper::GuiGameScraper(Window* window,
std::make_shared<ButtonComponent>(mWindow, "REFINE SEARCH", "refine search", [&] {
// Refine the search, unless the result has already been accepted.
if (!mSearch->getAcceptedResult()) {
// Copy any search refine that may have been previously entered by opening
// the input screen using the "Y" button shortcut.
mSearchParams.nameOverride = mSearch->getNameOverride();
mSearch->openInputScreen(mSearchParams);
mGrid.resetCursor();
}
@ -92,20 +109,34 @@ GuiGameScraper::GuiGameScraper(Window* window,
}));
mButtonGrid = makeButtonGrid(mWindow, buttons);
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 6}, true, false);
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 5}, true, false, glm::ivec2{2, 1});
mSearch->setAcceptCallback([this, doneFunc](const ScraperSearchResult& result) {
doneFunc(result);
close();
});
mSearch->setCancelCallback([&] { delete this; });
mSearch->setRefineCallback([&] {
mScrollUp->setOpacity(0);
mScrollDown->setOpacity(0);
mResultList->resetScrollIndicatorStatus();
});
// Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is
// the 16:9 reference.
float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth();
setSize(width, Renderer::getScreenHeight() * 0.747f);
float height = (mGameName->getFont()->getLetterHeight() +
static_cast<float>(Renderer::getScreenHeight()) * 0.0637f) +
mSystemName->getFont()->getLetterHeight() +
static_cast<float>(Renderer::getScreenHeight()) * 0.04f +
mButtonGrid->getSize().y + Font::get(FONT_SIZE_MEDIUM)->getHeight() * 8.0f;
// TODO: Temporary hack, see below.
height -= 7.0f * Renderer::getScreenHeightModifier();
setSize(width, height);
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
@ -115,15 +146,31 @@ GuiGameScraper::GuiGameScraper(Window* window,
void GuiGameScraper::onSizeChanged()
{
mGrid.setRowHeightPerc(
0, (mGameName->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
mSize.y / 2.0f);
mGrid.setRowHeightPerc(
1, (mGameName->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
mSize.y / 2.0f);
mGrid.setRowHeightPerc(2, mSystemName->getFont()->getLetterHeight() / mSize.y, false);
mGrid.setRowHeightPerc(3, 0.04f, false);
mGrid.setRowHeightPerc(4, ((Font::get(FONT_SIZE_MEDIUM)->getHeight() * 8.0f)) / mSize.y, false);
// TODO: Replace this temporary hack with a proper solution. There is some kind of rounding
// issue somewhere that causes a small alignment error. This code partly compensates for this
// at higher resolutions than 1920x1080.
if (Renderer::getScreenHeightModifier() > 1.0f)
mSize.y -= 3.0f * Renderer::getScreenHeightModifier();
mGrid.setColWidthPerc(1, 0.04f);
mGrid.setSize(mSize);
mBox.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
mGrid.setRowHeightPerc(0, 0.04f, false);
mGrid.setRowHeightPerc(1, mGameName->getFont()->getLetterHeight() / mSize.y, false);
mGrid.setRowHeightPerc(2, 0.04f, false);
mGrid.setRowHeightPerc(3, mSystemName->getFont()->getLetterHeight() / mSize.y, false);
mGrid.setRowHeightPerc(4, 0.04f, false);
mGrid.setRowHeightPerc(6, mButtonGrid->getSize().y / mSize.y, false);
mGrid.setSize(mSize);
// Add some extra margins to the game name.
const float newSizeX = mSize.x * 0.96f;
mGameName->setSize(newSizeX, mGameName->getSize().y);
mGameName->setPosition((mSize.x - newSizeX) / 2.0f, 0.0f);
}
bool GuiGameScraper::input(InputConfig* config, Input input)

View file

@ -13,6 +13,7 @@
#include "GuiComponent.h"
#include "components/NinePatchComponent.h"
#include "components/ScrollIndicatorComponent.h"
#include "guis/GuiScraperSearch.h"
class GuiGameScraper : public GuiComponent
@ -38,9 +39,13 @@ private:
NinePatchComponent mBox;
std::shared_ptr<TextComponent> mGameName;
std::shared_ptr<ImageComponent> mScrollUp;
std::shared_ptr<ImageComponent> mScrollDown;
std::shared_ptr<ScrollIndicatorComponent> mScrollIndicator;
std::shared_ptr<TextComponent> mSystemName;
std::shared_ptr<GuiScraperSearch> mSearch;
std::shared_ptr<ComponentGrid> mButtonGrid;
std::shared_ptr<ComponentList> mResultList;
ScraperSearchParams mSearchParams;

View file

@ -61,7 +61,7 @@ GuiMenu::GuiMenu(Window* window)
if (isFullUI)
addEntry("OTHER SETTINGS", 0x777777FF, true, [this] { openOtherOptions(); });
// TEMPORARY - disabled for now, will be used in the future.
// TEMPORARY: Disabled for now, will be used in the future.
// if (isFullUI)
// addEntry("UTILITIES", 0x777777FF, true, [this] {
// openUtilitiesMenu(); });
@ -600,8 +600,8 @@ void GuiMenu::openSoundOptions()
{
auto s = new GuiSettings(mWindow, "SOUND SETTINGS");
// TEMPORARY - Hide the volume slider on macOS and BSD Unix until the volume control logic
// has been implemented for these operating systems.
// TODO: Hide the volume slider on macOS and BSD Unix until the volume control logic has been
// implemented for these operating systems.
#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
// System volume.
auto system_volume = std::make_shared<SliderComponent>(mWindow, 0.f, 100.f, 1.f, "%");
@ -1207,11 +1207,6 @@ void GuiMenu::openQuitMenu()
Window* window = mWindow;
HelpStyle style = getHelpStyle();
// This transparent bracket is only neeeded to generate the correct help prompts.
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/graphics/arrow.svg");
bracket->setOpacity(0);
ComponentListRow row;
row.makeAcceptInputHandler([window, this] {
@ -1224,10 +1219,10 @@ void GuiMenu::openQuitMenu()
},
"NO", nullptr));
});
row.addElement(std::make_shared<TextComponent>(window, "QUIT EMULATIONSTATION",
Font::get(FONT_SIZE_MEDIUM), 0x777777FF),
true);
row.addElement(bracket, false);
auto quitText = std::make_shared<TextComponent>(window, "QUIT EMULATIONSTATION",
Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
quitText->setSelectable(true);
row.addElement(quitText, true);
s->addRow(row);
row.elements.clear();
@ -1243,10 +1238,10 @@ void GuiMenu::openQuitMenu()
},
"NO", nullptr));
});
row.addElement(std::make_shared<TextComponent>(window, "REBOOT SYSTEM",
Font::get(FONT_SIZE_MEDIUM), 0x777777FF),
true);
row.addElement(bracket, false);
auto rebootText = std::make_shared<TextComponent>(window, "REBOOT SYSTEM",
Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
rebootText->setSelectable(true);
row.addElement(rebootText, true);
s->addRow(row);
row.elements.clear();
@ -1262,10 +1257,10 @@ void GuiMenu::openQuitMenu()
},
"NO", nullptr));
});
row.addElement(std::make_shared<TextComponent>(window, "POWER OFF SYSTEM",
Font::get(FONT_SIZE_MEDIUM), 0x777777FF),
true);
row.addElement(bracket, false);
auto powerOffText = std::make_shared<TextComponent>(
window, "POWER OFF SYSTEM", Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
powerOffText->setSelectable(true);
row.addElement(powerOffText, true);
s->addRow(row);
mWindow->pushGui(s);

View file

@ -43,7 +43,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
std::function<void()> deleteGameFunc)
: GuiComponent{window}
, mBackground{window, ":/graphics/frame.svg"}
, mGrid{window, glm::ivec2{3, 6}}
, mGrid{window, glm::ivec2{2, 6}}
, mScraperParams{scraperParams}
, mMetaDataDecl{mdd}
, mMetaData{md}
@ -58,7 +58,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
mTitle = std::make_shared<TextComponent>(mWindow, "EDIT METADATA", Font::get(FONT_SIZE_LARGE),
0x555555FF, ALIGN_CENTER);
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{3, 2});
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
// Extract possible subfolders from the path.
std::string folderPath =
@ -80,13 +80,12 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
folderPath + Utils::FileSystem::getFileName(scraperParams.game->getPath()) + " [" +
Utils::String::toUpper(scraperParams.system->getName()) + "]" +
(scraperParams.game->getType() == FOLDER ? " " + ViewController::FOLDER_CHAR : ""),
Font::get(FONT_SIZE_SMALL), 0x777777FF, ALIGN_CENTER, glm::vec3{}, glm::vec2{}, 0x00000000,
0.05f);
Font::get(FONT_SIZE_SMALL), 0x777777FF, ALIGN_CENTER);
mGrid.setEntry(mSubtitle, glm::ivec2{0, 2}, false, true, glm::ivec2{3, 1});
mGrid.setEntry(mSubtitle, glm::ivec2{0, 2}, false, true, glm::ivec2{2, 1});
mList = std::make_shared<ComponentList>(mWindow);
mGrid.setEntry(mList, glm::ivec2{0, 4}, true, true, glm::ivec2{3, 1});
mGrid.setEntry(mList, glm::ivec2{0, 4}, true, true, glm::ivec2{2, 1});
// Set up scroll indicators.
mScrollUp = std::make_shared<ImageComponent>(mWindow);
@ -99,8 +98,8 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
mScrollDown->setOrigin(0.0f, 0.35f);
mGrid.setEntry(mScrollUp, glm::ivec2{2, 0}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollDown, glm::ivec2{2, 1}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
// Populate list.
for (auto iter = mdd.cbegin(); iter != mdd.cend(); iter++) {
@ -265,6 +264,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
std::shared_ptr<TextComponent> labelText =
std::make_shared<TextComponent>(
mWindow, label, Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
labelText->setSelectable(true);
if (scraperParams.system->getAlternativeEmulator() == "" &&
scraperParams.system->getSystemEnvData()
@ -289,14 +289,6 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
delete s;
});
// This transparent bracket is only added to generate the correct help
// prompts.
auto bracket = std::make_shared<ImageComponent>(mWindow);
bracket->setImage(":/graphics/arrow.svg");
bracket->setOpacity(0);
bracket->setSize(bracket->getSize() / 3.0f);
row.addElement(bracket, false);
// Select the row that corresponds to the selected label.
if (selectedLabel == label)
s->addRow(row, true);
@ -314,13 +306,8 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier;
s->setMenuSize(glm::vec2{maxWidth, s->getMenuSize().y});
auto menuSize = s->getMenuSize();
auto menuPos = s->getMenuPosition();
s->setMenuPosition(glm::vec3{(s->getSize().x - menuSize.x) / 2.0f,
(s->getSize().y - menuSize.y) / 3.0f,
menuPos.z});
s->setMenuPosition(glm::vec3{(s->getSize().x - maxWidth) / 2.0f,
mPosition.y, mPosition.z});
mWindow->pushGui(s);
});
}
@ -481,7 +468,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
}
mButtons = makeButtonGrid(mWindow, buttons);
mGrid.setEntry(mButtons, glm::ivec2{0, 5}, true, false, glm::ivec2{3, 1});
mGrid.setEntry(mButtons, glm::ivec2{0, 5}, true, false, glm::ivec2{2, 1});
// Resize + center.
float width =
@ -505,14 +492,18 @@ void GuiMetaDataEd::onSizeChanged()
mGrid.setRowHeightPerc(3, (titleSubtitleSpacing * 1.2f) / mSize.y);
mGrid.setRowHeightPerc(4, ((mList->getRowHeight(0) * 10.0f) + 2.0f) / mSize.y);
mGrid.setColWidthPerc(0, 0.07f);
mGrid.setColWidthPerc(2, 0.07f);
mGrid.setColWidthPerc(1, 0.055f);
mGrid.setSize(mSize);
mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
// Add some extra margins to the file/folder name.
const float newSizeX = mSize.x * 0.96f;
mSubtitle->setSize(newSizeX, mSubtitle->getSize().y);
mSubtitle->setPosition((mSize.x - newSizeX) / 2.0f, mSubtitle->getPosition().y);
}
void GuiMetaDataEd::save()

View file

@ -28,7 +28,7 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
bool approveResults)
: GuiComponent(window)
, mBackground(window, ":/graphics/frame.svg")
, mGrid(window, glm::ivec2{1, 5})
, mGrid(window, glm::ivec2{2, 6})
, mSearchQueue(searches)
, mApproveResults(approveResults)
{
@ -47,15 +47,15 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
// Set up grid.
mTitle = std::make_shared<TextComponent>(mWindow, "SCRAPING IN PROGRESS",
Font::get(FONT_SIZE_LARGE), 0x555555FF, ALIGN_CENTER);
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true);
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
mSystem = std::make_shared<TextComponent>(mWindow, "SYSTEM", Font::get(FONT_SIZE_MEDIUM),
0x777777FF, ALIGN_CENTER);
mGrid.setEntry(mSystem, glm::ivec2{0, 1}, false, true);
mGrid.setEntry(mSystem, glm::ivec2{0, 2}, false, true, glm::ivec2{2, 1});
mSubtitle = std::make_shared<TextComponent>(
mWindow, "subtitle text", Font::get(FONT_SIZE_SMALL), 0x888888FF, ALIGN_CENTER);
mGrid.setEntry(mSubtitle, glm::ivec2{0, 2}, false, true);
mGrid.setEntry(mSubtitle, glm::ivec2{0, 3}, false, true, glm::ivec2{2, 1});
if (mApproveResults && !Settings::getInstance()->getBool("ScraperSemiautomatic"))
mSearchComp = std::make_shared<GuiScraperSearch>(
@ -70,10 +70,34 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
std::bind(&GuiScraperMulti::acceptResult, this, std::placeholders::_1));
mSearchComp->setSkipCallback(std::bind(&GuiScraperMulti::skip, this));
mSearchComp->setCancelCallback(std::bind(&GuiScraperMulti::finish, this));
mGrid.setEntry(mSearchComp, glm::ivec2{0, 3},
mSearchComp->getSearchType() != GuiScraperSearch::ALWAYS_ACCEPT_FIRST_RESULT,
true);
mSearchComp->setRefineCallback([&] {
mScrollUp->setOpacity(0);
mScrollDown->setOpacity(0);
mResultList->resetScrollIndicatorStatus();
});
mGrid.setEntry(mSearchComp, glm::ivec2{0, 4},
mSearchComp->getSearchType() != GuiScraperSearch::ALWAYS_ACCEPT_FIRST_RESULT,
true, glm::ivec2{2, 1});
mResultList = mSearchComp->getResultList();
// Set up scroll indicators.
mScrollUp = std::make_shared<ImageComponent>(mWindow);
mScrollDown = std::make_shared<ImageComponent>(mWindow);
mScrollIndicator =
std::make_shared<ScrollIndicatorComponent>(mResultList, mScrollUp, mScrollDown);
mScrollUp->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
mScrollUp->setOrigin(0.0f, -0.35f);
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
mScrollDown->setOrigin(0.0f, 0.35f);
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
// Buttons.
std::vector<std::shared_ptr<ButtonComponent>> buttons;
if (mApproveResults) {
@ -125,14 +149,23 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
std::bind(&GuiScraperMulti::finish, this)));
mButtonGrid = makeButtonGrid(mWindow, buttons);
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 4}, true, false);
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 5}, true, false, glm::ivec2{2, 1});
// Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is
// the 16:9 reference.
float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth();
setSize(width, Renderer::getScreenHeight() * 0.849f);
float height = (mTitle->getFont()->getLetterHeight() +
static_cast<float>(Renderer::getScreenHeight()) * 0.0637f) +
mSystem->getFont()->getLetterHeight() +
mSubtitle->getFont()->getHeight() * 1.75f + mButtonGrid->getSize().y +
Font::get(FONT_SIZE_MEDIUM)->getHeight() * 7.0f;
// TODO: Temporary hack, see below.
height -= 7.0f * Renderer::getScreenHeightModifier();
setSize(width, height);
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
@ -153,13 +186,26 @@ GuiScraperMulti::~GuiScraperMulti()
void GuiScraperMulti::onSizeChanged()
{
mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
mGrid.setRowHeightPerc(
0, (mTitle->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
mSize.y / 2.0f);
mGrid.setRowHeightPerc(
1, (mTitle->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
mSize.y / 2.0f);
mGrid.setRowHeightPerc(2, (mSystem->getFont()->getLetterHeight()) / mSize.y, false);
mGrid.setRowHeightPerc(3, mSubtitle->getFont()->getHeight() * 1.75f / mSize.y, false);
mGrid.setRowHeightPerc(4, ((Font::get(FONT_SIZE_MEDIUM)->getHeight() * 7.0f)) / mSize.y, false);
// TODO: Replace this temporary hack with a proper solution. There is some kind of rounding
// issue somewhere that causes a small alignment error. This code partly compensates for this
// at higher resolutions than 1920x1080.
if (Renderer::getScreenHeightModifier() > 1.0f)
mSize.y -= 3.0f * Renderer::getScreenHeightModifier();
mGrid.setColWidthPerc(1, 0.04f);
mGrid.setRowHeightPerc(0, mTitle->getFont()->getLetterHeight() * 1.9725f / mSize.y, false);
mGrid.setRowHeightPerc(1, (mSystem->getFont()->getLetterHeight() + 2.0f) / mSize.y, false);
mGrid.setRowHeightPerc(2, mSubtitle->getFont()->getHeight() * 1.75f / mSize.y, false);
mGrid.setRowHeightPerc(4, mButtonGrid->getSize().y / mSize.y, false);
mGrid.setSize(mSize);
mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
}
void GuiScraperMulti::doNextSearch()
@ -189,6 +235,10 @@ void GuiScraperMulti::doNextSearch()
scrapeName = Utils::FileSystem::getFileName(mSearchQueue.front().game->getPath());
}
mScrollUp->setOpacity(0);
mScrollDown->setOpacity(0);
mResultList->resetScrollIndicatorStatus();
// Extract possible subfolders from the path.
std::string folderPath =
Utils::String::replace(Utils::FileSystem::getParent(mSearchQueue.front().game->getPath()),
@ -264,9 +314,6 @@ void GuiScraperMulti::finish()
std::vector<HelpPrompt> GuiScraperMulti::getHelpPrompts()
{
std::vector<HelpPrompt> prompts = mGrid.getHelpPrompts();
// Remove the 'Choose' entry if in fully automatic mode.
if (!mApproveResults)
prompts.pop_back();
return prompts;
}

View file

@ -16,6 +16,7 @@
#include "MetaData.h"
#include "components/ComponentGrid.h"
#include "components/NinePatchComponent.h"
#include "components/ScrollIndicatorComponent.h"
#include "scrapers/Scraper.h"
class GuiScraperSearch;
@ -45,10 +46,14 @@ private:
ComponentGrid mGrid;
std::shared_ptr<TextComponent> mTitle;
std::shared_ptr<ImageComponent> mScrollUp;
std::shared_ptr<ImageComponent> mScrollDown;
std::shared_ptr<ScrollIndicatorComponent> mScrollIndicator;
std::shared_ptr<TextComponent> mSystem;
std::shared_ptr<TextComponent> mSubtitle;
std::shared_ptr<GuiScraperSearch> mSearchComp;
std::shared_ptr<ComponentGrid> mButtonGrid;
std::shared_ptr<ComponentList> mResultList;
std::queue<ScraperSearchParams> mSearchQueue;
std::vector<MetaDataDecl> mMetaDataDecl;

View file

@ -39,7 +39,7 @@
GuiScraperSearch::GuiScraperSearch(Window* window, SearchType type, unsigned int scrapeCount)
: GuiComponent(window)
, mGrid(window, glm::ivec2{4, 3})
, mGrid(window, glm::ivec2{5, 3})
, mSearchType(type)
, mScrapeCount(scrapeCount)
, mRefinedSearch(false)
@ -88,14 +88,11 @@ GuiScraperSearch::GuiScraperSearch(Window* window, SearchType type, unsigned int
mMD_ReleaseDate = std::make_shared<DateTimeEditComponent>(mWindow);
mMD_ReleaseDate->setColor(mdColor);
mMD_ReleaseDate->setUppercase(true);
mMD_Developer = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT,
glm::vec3{}, glm::vec2{}, 0x00000000, 0.02f);
mMD_Publisher = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT,
glm::vec3{}, glm::vec2{}, 0x00000000, 0.02f);
mMD_Genre = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT, glm::vec3{},
glm::vec2{}, 0x00000000, 0.02f);
mMD_Players = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT,
glm::vec3{}, glm::vec2{}, 0x00000000, 0.02f);
mMD_Developer = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT);
mMD_Publisher = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT);
mMD_Genre =
std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT, glm::vec3{});
mMD_Players = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT);
mMD_Filler = std::make_shared<TextComponent>(mWindow, "", font, mdColor);
if (Settings::getInstance()->getString("Scraper") != "thegamesdb")
@ -193,45 +190,47 @@ void GuiScraperSearch::onSizeChanged()
mGrid.setColWidthPerc(1, 0.25f);
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT)
mGrid.setColWidthPerc(2, 0.25f);
mGrid.setColWidthPerc(2, 0.33f);
else
mGrid.setColWidthPerc(2, 0.28f);
mGrid.setColWidthPerc(2, 0.30f);
// Row heights.
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT) // Show name.
mGrid.setRowHeightPerc(0, (mResultName->getFont()->getHeight() * 1.6f) /
mGrid.getSize().y); // Result name.
else
mGrid.setRowHeightPerc(0, 0.0825f); // Hide name but do padding.
mGrid.setRowHeightPerc(0, 0.0725f); // Hide name but do padding.
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT)
mGrid.setRowHeightPerc(2, 0.2f);
else
mGrid.setRowHeightPerc(1, 0.505f);
const float boxartCellScale = 0.9f;
const float thumbnailCellScale = 0.93f;
// Limit thumbnail size using setMaxHeight - we do this instead of letting mGrid
// call setSize because it maintains the aspect ratio.
// We also pad a little so it doesn't rub up against the metadata labels.
mResultThumbnail->setMaxSize(mGrid.getColWidth(1) * boxartCellScale, mGrid.getRowHeight(1));
mResultThumbnail->setMaxSize(mGrid.getColWidth(1) * thumbnailCellScale, mGrid.getRowHeight(1));
// Metadata.
resizeMetadata();
// Small vertical spacer between the metadata fields and the result list.
mGrid.setColWidthPerc(3, 0.004f);
if (mSearchType != ALWAYS_ACCEPT_FIRST_RESULT)
mDescContainer->setSize(mGrid.getColWidth(1) * boxartCellScale + mGrid.getColWidth(2),
mDescContainer->setSize(mGrid.getColWidth(1) * thumbnailCellScale + mGrid.getColWidth(2),
mResultDesc->getFont()->getHeight() * 3.0f);
else
mDescContainer->setSize(mGrid.getColWidth(3) * boxartCellScale,
mResultDesc->getFont()->getHeight() * 6.0f);
mDescContainer->setSize(mGrid.getColWidth(4) * thumbnailCellScale,
mResultDesc->getFont()->getHeight() * 8.0f);
// Make description text wrap at edge of container.
mResultDesc->setSize(mDescContainer->getSize().x, 0.0f);
// Set the width of mResultName to the cell width so that text abbreviation will work correctly.
glm::vec2 resultNameSize{mResultName->getSize()};
mResultName->setSize(mGrid.getColWidth(3), resultNameSize.y);
mResultName->setSize(mGrid.getColWidth(1) + mGrid.getColWidth(2), mResultName->getSize().y);
mGrid.onSizeChanged();
mBusyAnim.setSize(mSize);
@ -289,30 +288,30 @@ void GuiScraperSearch::updateViewStyle()
// Add them back depending on search type.
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT) {
// Show name.
mGrid.setEntry(mResultName, glm::ivec2{1, 0}, false, false, glm::ivec2{2, 1},
mGrid.setEntry(mResultName, glm::ivec2{1, 0}, false, false, glm::ivec2{3, 1},
GridFlags::BORDER_TOP);
// Need a border on the bottom left.
mGrid.setEntry(std::make_shared<GuiComponent>(mWindow), glm::ivec2{0, 2}, false, false,
glm::ivec2{3, 1}, GridFlags::BORDER_BOTTOM);
glm::ivec2{4, 1}, GridFlags::BORDER_BOTTOM);
// Show description on the right.
mGrid.setEntry(mDescContainer, glm::ivec2{3, 0}, false, false, glm::ivec2{1, 3},
GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM);
mGrid.setEntry(mDescContainer, glm::ivec2{4, 0}, false, false, glm::ivec2{1, 3},
GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM | GridFlags::BORDER_LEFT);
// Make description text wrap at edge of container.
mResultDesc->setSize(mDescContainer->getSize().x, 0.0f);
}
else {
// Fake row where name would be.
mGrid.setEntry(std::make_shared<GuiComponent>(mWindow), glm::ivec2{1, 0}, false, true,
glm::ivec2{2, 1}, GridFlags::BORDER_TOP);
glm::ivec2{3, 1}, GridFlags::BORDER_TOP);
// Show result list on the right.
mGrid.setEntry(mResultList, glm::ivec2{3, 0}, true, true, glm::ivec2{1, 3},
mGrid.setEntry(mResultList, glm::ivec2{4, 0}, true, true, glm::ivec2{1, 3},
GridFlags::BORDER_LEFT | GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM);
// Show description under image/info.
mGrid.setEntry(mDescContainer, glm::ivec2{1, 2}, false, false, glm::ivec2{2, 1},
mGrid.setEntry(mDescContainer, glm::ivec2{1, 2}, false, false, glm::ivec2{3, 1},
GridFlags::BORDER_BOTTOM);
// Make description text wrap at edge of container.
mResultDesc->setSize(mDescContainer->getSize().x, 0);
@ -328,6 +327,7 @@ void GuiScraperSearch::search(const ScraperSearchParams& params)
mScrapeResult = {};
mResultList->clear();
mResultList->setLoopRows(false);
mScraperResults.clear();
mMDRetrieveURLsHandle.reset();
mThumbnailReqMap.clear();
@ -356,6 +356,7 @@ void GuiScraperSearch::onSearchDone(const std::vector<ScraperSearchResult>& resu
mResultList->clear();
mScraperResults = results;
mResultList->setLoopRows(true);
auto font = Font::get(FONT_SIZE_MEDIUM);
unsigned int color = 0x777777FF;
@ -390,7 +391,7 @@ void GuiScraperSearch::onSearchDone(const std::vector<ScraperSearchResult>& resu
row.addElement(
std::make_shared<TextComponent>(
mWindow, Utils::String::toUpper(results.at(i).mdl.get("name")), font, color),
true);
false);
row.makeAcceptInputHandler([this, i] { returnResult(mScraperResults.at(i)); });
mResultList->addRow(row);
}
@ -563,9 +564,11 @@ bool GuiScraperSearch::input(InputConfig* config, Input input)
else if (mSearchType == ACCEPT_SINGLE_MATCHES && !mFoundGame)
allowRefine = true;
if (allowRefine)
if (allowRefine) {
mResultList->stopLooping();
openInputScreen(mLastSearch);
}
}
// If multi-scraping, skip game unless the result has already been accepted.
if (mSkipCallback != nullptr && !mAcceptedResult && // Line break.
@ -590,6 +593,7 @@ void GuiScraperSearch::render(const glm::mat4& parentTrans)
void GuiScraperSearch::returnResult(ScraperSearchResult result)
{
mResultList->setLoopRows(false);
mBlockAccept = true;
mAcceptedResult = true;
@ -798,6 +802,8 @@ void GuiScraperSearch::openInputScreen(ScraperSearchParams& params)
stop();
mRefinedSearch = true;
params.nameOverride = name;
if (mRefineCallback != nullptr)
mRefineCallback();
search(params);
};

View file

@ -71,6 +71,10 @@ public:
{
mCancelCallback = cancelCallback;
}
void setRefineCallback(const std::function<void()>& refineCallback)
{
mRefineCallback = refineCallback;
}
bool input(InputConfig* config, Input input) override;
void update(int deltaTime) override;
@ -92,6 +96,8 @@ public:
void onFocusGained() override { mGrid.onFocusGained(); }
void onFocusLost() override { mGrid.onFocusLost(); }
std::shared_ptr<ComponentList>& getResultList() { return mResultList; }
private:
void updateViewStyle();
void updateThumbnail();
@ -152,6 +158,7 @@ private:
std::function<void(const ScraperSearchResult&)> mAcceptCallback;
std::function<void()> mSkipCallback;
std::function<void()> mCancelCallback;
std::function<void()> mRefineCallback;
unsigned int mScrapeCount;
bool mRefinedSearch;
bool mBlockAccept;

View file

@ -232,7 +232,7 @@ bool parseArgs(int argc, char* argv[])
}
int width = atoi(argv[i + 1]);
int height = atoi(argv[i + 2]);
if (width < 224 || height < 224 || width > 7680 || height > 4320 ||
if (width < 224 || height < 224 || width > 7680 || height > 7680 ||
height < width / 4 || width < height / 2) {
std::cerr << "Error: Unsupported resolution " << width << "x" << height
<< " supplied.\n";

View file

@ -493,7 +493,7 @@ void GridGameListView::updateInfoPanel()
if ((comp->isAnimationPlaying(0) && comp->isAnimationReversed(0) != fadingOut) ||
(!comp->isAnimationPlaying(0) && comp->getOpacity() != (fadingOut ? 0 : 255))) {
// TEMPORARY - This does not seem to work, needs to be reviewed later.
// TODO: This does not seem to work, needs to be reviewed later.
// auto func = [comp](float t) {
auto func = [](float t) {
// comp->setOpacity(static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));

View file

@ -181,7 +181,7 @@ void Settings::setDefaults()
mBoolMap["SpecialCharsASCII"] = {false, false};
mBoolMap["ListScrollOverlay"] = {false, false};
mBoolMap["VirtualKeyboard"] = {true, true};
mBoolMap["ScrollIndicators"] = {false, false};
mBoolMap["ScrollIndicators"] = {true, true};
mBoolMap["FavoritesAddButton"] = {true, true};
mBoolMap["RandomAddButton"] = {false, false};
mBoolMap["GamelistFilters"] = {true, true};

View file

@ -8,6 +8,8 @@
#include "components/ComponentList.h"
#include "resources/Font.h"
#define TOTAL_HORIZONTAL_PADDING_PX 20.0f
ComponentList::ComponentList(Window* window)
@ -15,8 +17,14 @@ ComponentList::ComponentList(Window* window)
, mFocused{false}
, mSetupCompleted{false}
, mBottomCameraOffset{false}
, mSingleRowScroll{false}
, mSelectorBarOffset{0.0f}
, mCameraOffset{0.0f}
, mLoopRows{false}
, mLoopScroll{false}
, mLoopOffset{0}
, mLoopOffset2{0}
, mLoopTime{0}
, mScrollIndicatorStatus{SCROLL_NONE}
{
// Adjust the padding relative to the aspect ratio and screen resolution to make it look
@ -63,6 +71,8 @@ bool ComponentList::input(InputConfig* config, Input input)
if (size() == 0)
return false;
mSingleRowScroll = false;
if (input.value &&
(config->isMappedTo("a", input) || config->isMappedLike("lefttrigger", input) ||
config->isMappedLike("righttrigger", input))) {
@ -86,9 +96,11 @@ bool ComponentList::input(InputConfig* config, Input input)
// Input handler didn't consume the input - try to scroll.
if (config->isMappedLike("up", input)) {
mSingleRowScroll = true;
return listInput(input.value != 0 ? -1 : 0);
}
else if (config->isMappedLike("down", input)) {
mSingleRowScroll = true;
return listInput(input.value != 0 ? 1 : 0);
}
else if (config->isMappedLike("leftshoulder", input)) {
@ -115,6 +127,12 @@ bool ComponentList::input(InputConfig* config, Input input)
void ComponentList::update(int deltaTime)
{
if (!mFocused && mLoopRows) {
mLoopOffset = 0;
mLoopOffset2 = 0;
mLoopTime = 0;
}
const float totalHeight = getTotalRowHeight();
// Scroll indicator logic, used by ScrollIndicatorComponent.
@ -142,15 +160,44 @@ void ComponentList::update(int deltaTime)
}
if (scrollIndicatorChanged == true && mScrollIndicatorChangedCallback != nullptr)
mScrollIndicatorChangedCallback(mScrollIndicatorStatus);
mScrollIndicatorChangedCallback(mScrollIndicatorStatus, mSingleRowScroll);
listUpdate(deltaTime);
if (size()) {
float rowWidth{0.0f};
// Update our currently selected row.
for (auto it = mEntries.at(mCursor).data.elements.cbegin();
it != mEntries.at(mCursor).data.elements.cend(); it++)
it != mEntries.at(mCursor).data.elements.cend(); it++) {
it->component->update(deltaTime);
rowWidth += it->component->getSize().x;
}
if (mLoopRows && rowWidth + mHorizontalPadding / 2.0f > mSize.x) {
// Loop the text.
const float speed{
Font::get(FONT_SIZE_MEDIUM)->sizeText("ABCDEFGHIJKLMNOPQRSTUVWXYZ").x * 0.247f};
const float delay{1500.0f};
const float scrollLength{rowWidth};
const float returnLength{speed * 1.5f};
const float scrollTime{(scrollLength * 1000.0f) / speed};
const float returnTime{(returnLength * 1000.0f) / speed};
const int maxTime{static_cast<int>(delay + scrollTime + returnTime)};
mLoopTime += deltaTime;
while (mLoopTime > maxTime)
mLoopTime -= maxTime;
mLoopOffset = static_cast<int>(Utils::Math::loop(delay, scrollTime + returnTime,
static_cast<float>(mLoopTime),
scrollLength + returnLength));
if (mLoopOffset > (scrollLength - (mSize.x - returnLength)))
mLoopOffset2 = static_cast<int>(mLoopOffset - (scrollLength + returnLength));
else if (mLoopOffset2 < 0)
mLoopOffset2 = 0;
}
}
}
@ -158,6 +205,12 @@ void ComponentList::onCursorChanged(const CursorState& state)
{
mSetupCompleted = true;
if (mLoopRows) {
mLoopOffset = 0;
mLoopOffset2 = 0;
mLoopTime = 0;
}
// Update the selector bar position.
// In the future this might be animated.
mSelectorBarOffset = 0;
@ -203,7 +256,9 @@ void ComponentList::updateCameraOffset()
i++;
}
if (mCameraOffset < oldCameraOffset)
if (mCameraOffset < oldCameraOffset &&
(oldCameraOffset > mSelectorBarOffset ||
mScrollIndicatorStatus != ComponentList::SCROLL_NONE))
mBottomCameraOffset = false;
if (mCameraOffset < 0.0f)
@ -226,22 +281,47 @@ void ComponentList::render(const glm::mat4& parentTrans)
dim.x = (trans[0].x * dim.x + trans[3].x) - trans[3].x;
dim.y = (trans[1].y * dim.y + trans[3].y) - trans[3].y;
Renderer::pushClipRect(
glm::ivec2{static_cast<int>(std::round(trans[3].x)),
static_cast<int>(std::round(trans[3].y))},
glm::ivec2{static_cast<int>(std::round(dim.x)), static_cast<int>(std::round(dim.y))});
const int clipRectPosX{static_cast<int>(std::round(trans[3].x))};
const int clipRectPosY{static_cast<int>(std::round(trans[3].y))};
const int clipRectSizeX{static_cast<int>(std::round(dim.x))};
const int clipRectSizeY{static_cast<int>(std::round(dim.y))};
Renderer::pushClipRect(glm::ivec2{clipRectPosX, clipRectPosY},
glm::ivec2{clipRectSizeX, clipRectSizeY});
// Scroll the camera.
trans = glm::translate(trans, glm::vec3{0.0f, -mCameraOffset, 0.0f});
glm::mat4 loopTrans{trans};
// Draw our entries.
std::vector<GuiComponent*> drawAfterCursor;
bool drawAll;
for (size_t i = 0; i < mEntries.size(); i++) {
if (mLoopRows && mFocused && mLoopOffset > 0) {
loopTrans =
glm::translate(trans, glm::vec3{static_cast<float>(-mLoopOffset), 0.0f, 0.0f});
}
auto& entry = mEntries.at(i);
drawAll = !mFocused || i != static_cast<unsigned int>(mCursor);
for (auto it = entry.data.elements.cbegin(); it != entry.data.elements.cend(); it++) {
if (drawAll || it->invert_when_selected) {
auto renderLoopFunc = [&]() {
// Needed to avoid flickering when returning to the start position.
if (mLoopOffset == 0 && mLoopOffset2 == 0)
mLoopScroll = false;
it->component->render(loopTrans);
// Render row again if text is moved far enough for it to repeat.
if (mLoopOffset2 < 0 || mLoopScroll) {
mLoopScroll = true;
loopTrans = glm::translate(
trans, glm::vec3{static_cast<float>(-mLoopOffset2), 0.0f, 0.0f});
it->component->render(loopTrans);
}
};
// For the row where the cursor is at, we want to remove any hue from the
// font or image before inverting, as it would otherwise lead to an ugly
// inverted color (e.g. red inverting to a green hue).
@ -260,15 +340,14 @@ void ComponentList::render(const glm::mat4& parentTrans)
unsigned char byteBlue = origColor >> 8 & 0xFF;
// If it's neutral, just proceed with normal rendering.
if (byteRed == byteGreen && byteGreen == byteBlue) {
it->component->render(trans);
renderLoopFunc();
}
else {
if (isTextComponent)
it->component->setColor(DEFAULT_INVERTED_TEXTCOLOR);
else
it->component->setColorShift(DEFAULT_INVERTED_IMAGECOLOR);
it->component->render(trans);
renderLoopFunc();
// Revert to the original color after rendering.
if (isTextComponent)
it->component->setColor(origColor);

View file

@ -86,6 +86,22 @@ public:
float getTotalRowHeight() const;
float getRowHeight(int row) const { return getRowHeight(mEntries.at(row).data); }
// Horizontal looping for row content that doesn't fit on-screen.
void setLoopRows(bool state) { mLoopRows = state; }
void stopLooping()
{
mLoopOffset = 0;
mLoopOffset2 = 0;
mLoopTime = 0;
}
void resetScrollIndicatorStatus()
{
mScrollIndicatorStatus = SCROLL_NONE;
if (mScrollIndicatorChangedCallback != nullptr)
mScrollIndicatorChangedCallback(mScrollIndicatorStatus, false);
}
void setCursorChangedCallback(const std::function<void(CursorState state)>& callback)
{
mCursorChangedCallback = callback;
@ -95,7 +111,7 @@ public:
return mCursorChangedCallback;
}
void setScrollIndicatorChangedCallback(
const std::function<void(ScrollIndicator state)>& callback)
const std::function<void(ScrollIndicator state, bool singleRowScroll)>& callback)
{
mScrollIndicatorChangedCallback = callback;
}
@ -107,6 +123,7 @@ private:
bool mFocused;
bool mSetupCompleted;
bool mBottomCameraOffset;
bool mSingleRowScroll;
void updateCameraOffset();
void updateElementPosition(const ComponentListRow& row);
@ -118,8 +135,15 @@ private:
float mSelectorBarOffset;
float mCameraOffset;
bool mLoopRows;
bool mLoopScroll;
int mLoopOffset;
int mLoopOffset2;
int mLoopTime;
std::function<void(CursorState state)> mCursorChangedCallback;
std::function<void(ScrollIndicator state)> mScrollIndicatorChangedCallback;
std::function<void(ScrollIndicator state, bool singleRowScroll)>
mScrollIndicatorChangedCallback;
ScrollIndicator mScrollIndicatorStatus;
};

View file

@ -122,7 +122,7 @@ void FlexboxComponent::computeLayout()
newSize = sizeMaxX.x * sizeMaxX.y >= sizeMaxY.x * sizeMaxY.y ? sizeMaxX : sizeMaxY;
if (image.second.getSize() != newSize)
image.second.setResize(newSize.x, newSize.y);
image.second.setResize(std::round(newSize.x), std::round(newSize.y));
// In case maxItemSize needs to be updated.
if (newSize.x != sizeChange.x)
@ -132,9 +132,9 @@ void FlexboxComponent::computeLayout()
}
if (maxItemSize.x != sizeChange.x)
maxItemSize.x = sizeChange.x;
maxItemSize.x = std::round(sizeChange.x);
if (maxItemSize.y != sizeChange.y)
maxItemSize.y = sizeChange.y;
maxItemSize.y = std::round(sizeChange.y);
// Pre-compute layout parameters.
float anchorXStart{anchorX};
@ -166,10 +166,9 @@ void FlexboxComponent::computeLayout()
image.second.setSize(image.second.getSize().x, maxItemSize.y);
}
// TODO: Doesn't work correctly.
// Apply overall container alignment.
if (mAlignment == "right")
x += (mSize.x - size.x * grid.x) - mItemMargin.x;
x += (mSize.x - maxItemSize.x * grid.x - (grid.x - 1) * mItemMargin.x);
// Store final item position.
image.second.setPosition(x, y);
@ -193,5 +192,21 @@ void FlexboxComponent::computeLayout()
}
}
// Apply right-align to the images on the last row, if needed.
if (mAlignment == "right") {
std::vector<ImageComponent*> imagesToAlign;
for (auto& image : mImages) {
if (!image.second.isVisible())
continue;
// Only include images on the last row.
if (image.second.getPosition().y == anchorY)
imagesToAlign.push_back(&image.second);
}
for (auto& moveImage : imagesToAlign) {
float offset = (maxItemSize.x + mItemMargin.x) * (grid.x - imagesToAlign.size());
moveImage->setPosition(moveImage->getPosition().x + offset, moveImage->getPosition().y);
}
}
mLayoutValid = true;
}

View file

@ -63,11 +63,8 @@ void ImageComponent::resize()
else {
// SVG rasterization is determined by height and rasterization is done in terms of pixels.
// If rounding is off enough in the rasterization step (for images with extreme aspect
// ratios), it can cause cutoff when the aspect ratio breaks.
// So we always make sure the resultant height is an integer to make sure cutoff doesn't
// happen, and scale width from that (you'll see this scattered throughout the function).
// It's important to use floorf rather than round for this, as we never want to round up
// since that can lead to the cutoff just described.
// ratios), it can cause cutoff when the aspect ratio breaks. So we always make sure to
// round accordingly to avoid such issues.
if (mTargetIsMax) {
mSize = textureSize;
@ -77,13 +74,11 @@ void ImageComponent::resize()
// This will be mTargetSize.x. We can't exceed it, nor be lower than it.
mSize.x *= resizeScale.x;
// We need to make sure we're not creating an image larger than max size.
mSize.y = std::min(floorf(mSize.y * resizeScale.x), mTargetSize.y);
mSize.y = floorf(std::min(mSize.y * resizeScale.x, mTargetSize.y));
}
else {
// This will be mTargetSize.y(). We can't exceed it.
mSize.y = floorf(mSize.y * resizeScale.y);
// For SVG rasterization, always calculate width from rounded height (see comment
// above). We need to make sure we're not creating an image larger than max size.
mSize.y *= resizeScale.y;
mSize.x = std::min((mSize.y / textureSize.y) * textureSize.x, mTargetSize.x);
}
}
@ -106,9 +101,7 @@ void ImageComponent::resize()
float cropPercent = (mSize.x - mTargetSize.x) / (mSize.x * 2.0f);
crop(cropPercent, 0.0f, cropPercent, 0.0f);
}
// For SVG rasterization, always calculate width from rounded height (see comment
// above). We need to make sure we're not creating an image smaller than min size.
mSize.y = std::max(floorf(mSize.y), mTargetSize.y);
mSize.y = std::max(mSize.y, mTargetSize.y);
mSize.x = std::max((mSize.y / textureSize.y) * textureSize.x, mTargetSize.x);
}
else {
@ -117,23 +110,24 @@ void ImageComponent::resize()
mSize = mTargetSize == glm::vec2{} ? textureSize : mTargetSize;
// If only one component is set, we resize in a way that maintains aspect ratio.
// For SVG rasterization, we always calculate width from rounded height (see
// comment above).
if (!mTargetSize.x && mTargetSize.y) {
mSize.y = floorf(mTargetSize.y);
mSize.y = mTargetSize.y;
mSize.x = (mSize.y / textureSize.y) * textureSize.x;
}
else if (mTargetSize.x && !mTargetSize.y) {
mSize.y = floorf((mTargetSize.x / textureSize.x) * textureSize.y);
mSize.y = (mTargetSize.x / textureSize.x) * textureSize.y;
mSize.x = (mSize.y / textureSize.y) * textureSize.x;
}
}
}
mSize.x = floorf(mSize.x);
mSize.y = floorf(mSize.y);
// mSize.y() should already be rounded.
mTexture->rasterizeAt(static_cast<size_t>(mSize.x), static_cast<size_t>(mSize.y));
// Make sure sub-pixel values are not rounded to zero.
if (mSize.x < 1.0f)
mSize.x = ceilf(mSize.x);
if (mSize.y < 1.0f)
mSize.y = ceilf(mSize.y);
mTexture->rasterizeAt(mSize.x, mSize.y);
onSizeChanged();
}

View file

@ -21,7 +21,7 @@ MenuComponent::MenuComponent(Window* window,
const std::shared_ptr<Font>& titleFont)
: GuiComponent(window)
, mBackground(window)
, mGrid(window, glm::ivec2{3, 4})
, mGrid(window, glm::ivec2{2, 4})
, mNeedsSaving(false)
{
addChild(&mBackground);
@ -34,11 +34,11 @@ MenuComponent::MenuComponent(Window* window,
mTitle->setHorizontalAlignment(ALIGN_CENTER);
mTitle->setColor(0x555555FF);
setTitle(title, titleFont);
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{3, 2});
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
// Set up list which will never change (externally, anyway).
mList = std::make_shared<ComponentList>(mWindow);
mGrid.setEntry(mList, glm::ivec2{0, 2}, true, true, glm::ivec2{3, 1});
mGrid.setEntry(mList, glm::ivec2{0, 2}, true, true, glm::ivec2{2, 1});
// Set up scroll indicators.
mScrollUp = std::make_shared<ImageComponent>(mWindow);
@ -51,8 +51,8 @@ MenuComponent::MenuComponent(Window* window,
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
mScrollDown->setOrigin(0.0f, 0.35f);
mGrid.setEntry(mScrollUp, glm::ivec2{2, 0}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollDown, glm::ivec2{2, 1}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
updateGrid();
updateSize();
@ -103,7 +103,7 @@ void MenuComponent::updateSize()
int i = 0;
while (i < mList->size()) {
// Add the separator height to the row height so that it also gets properly rendered.
float rowHeight = mList->getRowHeight(i) + (1 * Renderer::getScreenHeightModifier());
float rowHeight = mList->getRowHeight(i) + (1.0f * Renderer::getScreenHeightModifier());
if (height + rowHeight < maxHeight)
height += rowHeight;
else
@ -127,8 +127,7 @@ void MenuComponent::onSizeChanged()
mGrid.setRowHeightPerc(1, TITLE_HEIGHT / mSize.y / 2.0f);
mGrid.setRowHeightPerc(3, getButtonGridHeight() / mSize.y);
mGrid.setColWidthPerc(0, 0.07f);
mGrid.setColWidthPerc(2, 0.07f);
mGrid.setColWidthPerc(1, 0.055f);
mGrid.setSize(mSize);
}
@ -152,7 +151,7 @@ void MenuComponent::updateGrid()
if (mButtons.size()) {
mButtonGrid = makeButtonGrid(mWindow, mButtons);
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 3}, true, false, glm::ivec2{3, 1});
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 3}, true, false, glm::ivec2{2, 1});
}
}

View file

@ -102,11 +102,10 @@ void RatingComponent::onSizeChanged()
mSize.x = mSize.y * NUM_RATING_STARS;
if (mSize.y > 0.0f) {
size_t heightPx = static_cast<size_t>(std::round(mSize.y));
if (mFilledTexture)
mFilledTexture->rasterizeAt(heightPx, heightPx);
mFilledTexture->rasterizeAt(mSize.y, mSize.y);
if (mUnfilledTexture)
mUnfilledTexture->rasterizeAt(heightPx, heightPx);
mUnfilledTexture->rasterizeAt(mSize.y, mSize.y);
}
updateVertices();

View file

@ -34,7 +34,7 @@ public:
// If the scroll indicators setting is disabled, then show a permanent down arrow
// symbol when the component list contains more entries than can fit on screen.
componentList.get()->setScrollIndicatorChangedCallback(
[scrollUp, scrollDown](ComponentList::ScrollIndicator state) {
[scrollUp, scrollDown](ComponentList::ScrollIndicator state, bool singleRowScroll) {
if (state == ComponentList::SCROLL_UP ||
state == ComponentList::SCROLL_UP_DOWN ||
state == ComponentList::SCROLL_DOWN) {
@ -46,8 +46,9 @@ public:
// If the scroll indicator setting is enabled, then also show the up and up/down
// combination and switch between these as the list is scrolled.
componentList.get()->setScrollIndicatorChangedCallback(
[this, scrollUp, scrollDown](ComponentList::ScrollIndicator state) {
float fadeInTime{FADE_IN_TIME};
[this, scrollUp, scrollDown](ComponentList::ScrollIndicator state,
bool singleRowScroll) {
float fadeTime{FADE_IN_TIME};
bool upFadeIn = false;
bool upFadeOut = false;
@ -68,7 +69,7 @@ public:
else if (state == ComponentList::SCROLL_UP &&
mPreviousScrollState == ComponentList::SCROLL_DOWN) {
upFadeIn = true;
fadeInTime *= 1.5f;
fadeTime *= 2.0f;
scrollDown->setOpacity(0);
}
else if (state == ComponentList::SCROLL_UP_DOWN &&
@ -95,17 +96,22 @@ public:
else if (state == ComponentList::SCROLL_DOWN &&
mPreviousScrollState == ComponentList::SCROLL_UP) {
downFadeIn = true;
fadeInTime *= 1.5f;
fadeTime *= 2.0f;
scrollUp->setOpacity(0);
}
// If jumping more than one row using the shoulder or trigger buttons, then
// don't fade the indicators.
if (!singleRowScroll)
fadeTime = 0.0f;
if (upFadeIn) {
auto upFadeInFunc = [scrollUp](float t) {
scrollUp->setOpacity(
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
};
scrollUp->setAnimation(
new LambdaAnimation(upFadeInFunc, static_cast<int>(fadeInTime)), 0,
new LambdaAnimation(upFadeInFunc, static_cast<int>(fadeTime)), 0,
nullptr, false);
}
@ -115,7 +121,7 @@ public:
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
};
scrollUp->setAnimation(
new LambdaAnimation(upFadeOutFunc, static_cast<int>(fadeInTime)), 0,
new LambdaAnimation(upFadeOutFunc, static_cast<int>(fadeTime)), 0,
nullptr, true);
}
@ -125,7 +131,7 @@ public:
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
};
scrollDown->setAnimation(
new LambdaAnimation(downFadeInFunc, static_cast<int>(fadeInTime)), 0,
new LambdaAnimation(downFadeInFunc, static_cast<int>(fadeTime)), 0,
nullptr, false);
}
@ -135,7 +141,7 @@ public:
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
};
scrollDown->setAnimation(
new LambdaAnimation(downFadeOutFunc, static_cast<int>(fadeInTime)), 0,
new LambdaAnimation(downFadeOutFunc, static_cast<int>(fadeTime)), 0,
nullptr, true);
}

View file

@ -18,6 +18,7 @@ ScrollableContainer::ScrollableContainer(Window* window)
: GuiComponent{window}
, mScrollPos{0.0f, 0.0f}
, mScrollDir{0.0f, 0.0f}
, mClipSpacing{0.0f}
, mAutoScrollDelay{0}
, mAutoScrollSpeed{0}
, mAutoScrollAccumulator{0}
@ -81,6 +82,13 @@ void ScrollableContainer::update(int deltaTime)
float lineSpacing{mChildren.front()->getLineSpacing()};
float combinedHeight{mChildren.front()->getFont()->getHeight(lineSpacing)};
// Calculate the spacing which will be used to clip the container.
if (lineSpacing > 1.2f && mClipSpacing == 0.0f) {
const float minimumSpacing = mChildren.front()->getFont()->getHeight(1.2f);
const float currentSpacing = mChildren.front()->getFont()->getHeight(lineSpacing);
mClipSpacing = std::round((currentSpacing - minimumSpacing) / 2.0f);
}
// Resize container to font height boundary to avoid rendering a fraction of the last line.
if (!mUpdatedSize && contentSize.y > mSize.y) {
float numLines{mSize.y / combinedHeight};
@ -170,8 +178,13 @@ void ScrollableContainer::render(const glm::mat4& parentTrans)
dimScaled.x = std::fabs(trans[3].x + mSize.x);
dimScaled.y = std::fabs(trans[3].y + mSize.y);
glm::ivec2 clipDim{static_cast<int>(dimScaled.x - trans[3].x),
static_cast<int>(dimScaled.y - trans[3].y)};
glm::ivec2 clipDim{static_cast<int>(ceilf(dimScaled.x - trans[3].x)),
static_cast<int>(ceilf(dimScaled.y - trans[3].y))};
// By effectively clipping the upper and lower boundaries of the container we mostly avoid
// scrolling outside the vertical starting and ending positions.
clipPos.y += static_cast<int>(mClipSpacing);
clipDim.y -= static_cast<int>(mClipSpacing);
Renderer::pushClipRect(clipPos, clipDim);

View file

@ -44,6 +44,7 @@ private:
float mAutoScrollDelayConstant;
float mAutoScrollSpeedConstant;
float mResolutionModifier;
float mClipSpacing;
int mAutoScrollDelay;
int mAutoScrollSpeed;

View file

@ -15,15 +15,16 @@
SliderComponent::SliderComponent(
Window* window, float min, float max, float increment, const std::string& suffix)
: GuiComponent(window)
, mMin(min)
, mMax(max)
, mSingleIncrement(increment)
, mMoveRate(0)
, mKnob(window)
, mSuffix(suffix)
: GuiComponent{window}
, mMin{min}
, mMax{max}
, mSingleIncrement{increment}
, mMoveRate{0.0f}
, mBarHeight{0.0f}
, mKnob{window}
, mSuffix{suffix}
{
assert((min - max) != 0);
assert((min - max) != 0.0f);
// Some sane default value.
mValue = (max + min) / 2.0f;
@ -41,7 +42,7 @@ bool SliderComponent::input(InputConfig* config, Input input)
if (input.value)
setValue(mValue - mSingleIncrement);
mMoveRate = input.value ? -mSingleIncrement : 0;
mMoveRate = input.value ? -mSingleIncrement : 0.0f;
mMoveAccumulator = -MOVE_REPEAT_DELAY;
return true;
}
@ -49,13 +50,13 @@ bool SliderComponent::input(InputConfig* config, Input input)
if (input.value)
setValue(mValue + mSingleIncrement);
mMoveRate = input.value ? mSingleIncrement : 0;
mMoveRate = input.value ? mSingleIncrement : 0.0f;
mMoveAccumulator = -MOVE_REPEAT_DELAY;
return true;
}
}
else {
mMoveRate = 0;
mMoveRate = 0.0f;
}
return GuiComponent::input(config, input);
@ -88,10 +89,9 @@ void SliderComponent::render(const glm::mat4& parentTrans)
mValueCache->metrics.size.x + (4.0f * Renderer::getScreenWidthModifier()) :
0.0f)};
// Render line.
const float lineWidth{2.0f * Renderer::getScreenHeightModifier()};
Renderer::drawRect(mKnob.getSize().x / 2.0f, mSize.y / 2.0f - lineWidth / 2.0f, width,
lineWidth, 0x777777FF, 0x777777FF);
// Render bar.
Renderer::drawRect(mKnob.getSize().x / 2.0f, mSize.y / 2.0f - mBarHeight / 2.0f, width,
mBarHeight, 0x777777FF, 0x777777FF);
// Render knob.
mKnob.render(trans);
@ -143,14 +143,28 @@ void SliderComponent::onValueChanged()
mValueCache->metrics.size.x = textSize.x; // Fudge the width.
}
// Update knob position/size.
mKnob.setResize(0, mSize.y * 0.7f);
float lineLength =
mKnob.setResize(0.0f, std::round(mSize.y * 0.7f));
float barLength =
mSize.x - mKnob.getSize().x -
(mValueCache ? mValueCache->metrics.size.x + (4.0f * Renderer::getScreenWidthModifier()) :
0.0f);
mKnob.setPosition(((mValue - mMin / 2.0f) / mMax) * lineLength + mKnob.getSize().x / 2.0f,
int barHeight = static_cast<int>(std::round(2.0f * Renderer::getScreenHeightModifier()));
// For very low resolutions, make sure the bar height is not rounded to zero.
if (barHeight == 0)
barHeight = 1;
// Resize the knob one pixel if necessary to keep the bar centered.
if (barHeight % 2 == 0 && static_cast<int>(mKnob.getSize().y) % 2 != 0)
mKnob.setResize(mKnob.getSize().x - 1.0f, mKnob.getSize().y - 1.0f);
else if (barHeight == 1 && static_cast<int>(mKnob.getSize().y) % 2 == 0)
mKnob.setResize(mKnob.getSize().x - 1.0f, mKnob.getSize().y - 1);
mBarHeight = static_cast<float>(barHeight);
mKnob.setPosition(((mValue - mMin / 2.0f) / mMax) * barLength + mKnob.getSize().x / 2.0f,
mSize.y / 2.0f);
}

View file

@ -45,6 +45,7 @@ private:
float mValue;
float mSingleIncrement;
float mMoveRate;
float mBarHeight;
int mMoveAccumulator;
ImageComponent mKnob;

View file

@ -49,6 +49,16 @@ void SwitchComponent::render(const glm::mat4& parentTrans)
renderChildren(trans);
}
void SwitchComponent::setResize(float width, float height)
{
// Reposition the switch after resizing to make it centered.
const glm::vec2 oldSize = mImage.getSize();
mImage.setResize(width, height);
const float xDiff = oldSize.x - mImage.getSize().x;
const float yDiff = oldSize.y - mImage.getSize().y;
mImage.setPosition(mImage.getPosition().x + xDiff, mImage.getPosition().y + yDiff / 2.0f);
}
void SwitchComponent::setState(bool state)
{
mState = state;

View file

@ -22,7 +22,7 @@ public:
void render(const glm::mat4& parentTrans) override;
void onSizeChanged() override { mImage.setSize(mSize); }
void setResize(float width, float height) override { mImage.setResize(width, height); }
void setResize(float width, float height) override;
bool getState() const { return mState; }
void setState(bool state);

View file

@ -13,18 +13,18 @@
#include "utils/StringUtil.h"
TextComponent::TextComponent(Window* window)
: GuiComponent(window)
, mFont(Font::get(FONT_SIZE_MEDIUM))
, mColor(0x000000FF)
, mBgColor(0)
, mMargin(0.0f)
, mRenderBackground(false)
, mUppercase(false)
, mAutoCalcExtent(true, true)
, mHorizontalAlignment(ALIGN_LEFT)
, mVerticalAlignment(ALIGN_CENTER)
, mLineSpacing(1.5f)
, mNoTopMargin(false)
: GuiComponent{window}
, mFont{Font::get(FONT_SIZE_MEDIUM)}
, mColor{0x000000FF}
, mBgColor{0}
, mRenderBackground{false}
, mUppercase{false}
, mAutoCalcExtent{1, 1}
, mHorizontalAlignment{ALIGN_LEFT}
, mVerticalAlignment{ALIGN_CENTER}
, mLineSpacing{1.5f}
, mNoTopMargin{false}
, mSelectable{false}
{
}
@ -35,20 +35,19 @@ TextComponent::TextComponent(Window* window,
Alignment align,
glm::vec3 pos,
glm::vec2 size,
unsigned int bgcolor,
float margin)
: GuiComponent(window)
, mFont(nullptr)
, mColor(0x000000FF)
, mBgColor(0)
, mMargin(margin)
, mRenderBackground(false)
, mUppercase(false)
, mAutoCalcExtent(true, true)
, mHorizontalAlignment(align)
, mVerticalAlignment(ALIGN_CENTER)
, mLineSpacing(1.5f)
, mNoTopMargin(false)
unsigned int bgcolor)
: GuiComponent{window}
, mFont{nullptr}
, mColor{0x000000FF}
, mBgColor{0}
, mRenderBackground{false}
, mUppercase{false}
, mAutoCalcExtent{1, 1}
, mHorizontalAlignment{align}
, mVerticalAlignment{ALIGN_CENTER}
, mLineSpacing{1.5f}
, mNoTopMargin{false}
, mSelectable{false}
{
setFont(font);
setColor(color);
@ -236,12 +235,12 @@ void TextComponent::onTextChanged()
// Abbreviate text.
const std::string abbrev = "...";
glm::vec2 abbrevSize{f->sizeText(abbrev)};
// mMargin adds a margin around the text if it's abbreviated.
float marginAdjustedSize = mSize.x - (mSize.x * mMargin);
while (text.size() && size.x + abbrevSize.x > marginAdjustedSize) {
while (text.size() && size.x + abbrevSize.x > mSize.x) {
size_t newSize = Utils::String::prevCursor(text, text.size());
text.erase(newSize, text.size() - newSize);
if (!text.empty() && text.back() == ' ')
text.pop_back();
size = f->sizeText(text);
}
@ -282,6 +281,14 @@ void TextComponent::setNoTopMargin(bool margin)
onTextChanged();
}
std::vector<HelpPrompt> TextComponent::getHelpPrompts()
{
std::vector<HelpPrompt> prompts;
if (mSelectable)
prompts.push_back(HelpPrompt("a", "select"));
return prompts;
}
void TextComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
const std::string& view,
const std::string& element,

View file

@ -32,8 +32,7 @@ public:
Alignment align = ALIGN_LEFT,
glm::vec3 pos = {},
glm::vec2 size = {},
unsigned int bgcolor = 0x00000000,
float margin = 0.0f);
unsigned int bgcolor = 0x00000000);
void setFont(const std::shared_ptr<Font>& font);
void setUppercase(bool uppercase);
@ -60,11 +59,15 @@ public:
unsigned char getOpacity() const override { return mColor & 0x000000FF; }
void setOpacity(unsigned char opacity) override;
void setSelectable(bool status) { mSelectable = status; }
virtual void applyTheme(const std::shared_ptr<ThemeData>& theme,
const std::string& view,
const std::string& element,
unsigned int properties) override;
virtual std::vector<HelpPrompt> getHelpPrompts() override;
unsigned int getColor() const override { return mColor; }
std::shared_ptr<Font> getFont() const override { return mFont; }
Alignment getHorizontalAlignment() { return mHorizontalAlignment; }
@ -85,7 +88,6 @@ private:
unsigned int mBgColor;
unsigned char mColorOpacity;
unsigned char mBgColorOpacity;
float mMargin;
bool mRenderBackground;
bool mUppercase;
@ -95,6 +97,7 @@ private:
Alignment mVerticalAlignment;
float mLineSpacing;
bool mNoTopMargin;
bool mSelectable;
};
#endif // ES_CORE_COMPONENTS_TEXT_COMPONENT_H

View file

@ -24,7 +24,7 @@ struct TextListData {
std::shared_ptr<TextCache> textCache;
};
// A graphical list. Supports multiple colors for rows and scrolling.
// A scrollable text list supporting multiple row colors.
template <typename T> class TextListComponent : public IList<TextListData, T>
{
protected:
@ -108,10 +108,10 @@ protected:
virtual void onCursorChanged(const CursorState& state) override;
private:
int mMarqueeOffset;
int mMarqueeOffset2;
int mMarqueeTime;
bool mMarqueeScroll;
int mLoopOffset;
int mLoopOffset2;
int mLoopTime;
bool mLoopScroll;
Alignment mAlignment;
float mHorizontalMargin;
@ -138,10 +138,10 @@ TextListComponent<T>::TextListComponent(Window* window)
: IList<TextListData, T>(window)
, mSelectorImage(window)
{
mMarqueeOffset = 0;
mMarqueeOffset2 = 0;
mMarqueeTime = 0;
mMarqueeScroll = false;
mLoopOffset = 0;
mLoopOffset2 = 0;
mLoopTime = 0;
mLoopScroll = false;
mHorizontalMargin = 0.0f;
mAlignment = ALIGN_CENTER;
@ -223,8 +223,10 @@ template <typename T> void TextListComponent<T>::render(const glm::mat4& parentT
dim.y = (trans[1].y * dim.y + trans[3].y) - trans[3].y;
Renderer::pushClipRect(
glm::ivec2{static_cast<int>(trans[3].x + mHorizontalMargin), static_cast<int>(trans[3].y)},
glm::ivec2{static_cast<int>(dim.x - mHorizontalMargin * 2.0f), static_cast<int>(dim.y)});
glm::ivec2{static_cast<int>(std::round(trans[3].x + mHorizontalMargin)),
static_cast<int>(std::round(trans[3].y))},
glm::ivec2{static_cast<int>(std::round(dim.x - mHorizontalMargin * 2.0f)),
static_cast<int>(std::round(dim.y))});
for (int i = startEntry; i < listCutoff; i++) {
typename IList<TextListData, T>::Entry& entry = mEntries.at(static_cast<unsigned int>(i));
@ -271,26 +273,26 @@ template <typename T> void TextListComponent<T>::render(const glm::mat4& parentT
// Render text.
glm::mat4 drawTrans{trans};
// Currently selected item text might be scrolling.
if (mCursor == i && mMarqueeOffset > 0)
// Currently selected item text might be looping.
if (mCursor == i && mLoopOffset > 0)
drawTrans = glm::translate(
drawTrans, offset - glm::vec3{static_cast<float>(mMarqueeOffset), 0.0f, 0.0f});
drawTrans, offset - glm::vec3{static_cast<float>(mLoopOffset), 0.0f, 0.0f});
else
drawTrans = glm::translate(drawTrans, offset);
// Needed to avoid flickering when returning to the start position.
if (mMarqueeOffset == 0 && mMarqueeOffset2 == 0)
mMarqueeScroll = false;
if (mLoopOffset == 0 && mLoopOffset2 == 0)
mLoopScroll = false;
Renderer::setMatrix(drawTrans);
font->renderTextCache(entry.data.textCache.get());
// Render currently selected row again if marquee is scrolled far enough for it to repeat.
if ((mCursor == i && mMarqueeOffset2 < 0) || (mCursor == i && mMarqueeScroll)) {
mMarqueeScroll = true;
// Render currently selected row again if text is moved far enough for it to repeat.
if ((mCursor == i && mLoopOffset2 < 0) || (mCursor == i && mLoopScroll)) {
mLoopScroll = true;
drawTrans = trans;
drawTrans = glm::translate(
drawTrans, offset - glm::vec3{static_cast<float>(mMarqueeOffset2), 0.0f, 0.0f});
drawTrans, offset - glm::vec3{static_cast<float>(mLoopOffset2), 0.0f, 0.0f});
Renderer::setMatrix(drawTrans);
font->renderTextCache(entry.data.textCache.get());
}
@ -353,11 +355,11 @@ template <typename T> void TextListComponent<T>::update(int deltaTime)
stopScrolling();
if (!isScrolling() && size() > 0) {
// Always reset the marquee offsets.
mMarqueeOffset = 0;
mMarqueeOffset2 = 0;
// Always reset the loop offsets.
mLoopOffset = 0;
mLoopOffset2 = 0;
// If we're not scrolling and this object's text exceeds our size, then marquee it.
// If we're not scrolling and this object's text exceeds our size, then loop it.
const float textLength = mFont
->sizeText(Utils::String::toUpper(
mEntries.at(static_cast<unsigned int>(mCursor)).name))
@ -374,16 +376,16 @@ template <typename T> void TextListComponent<T>::update(int deltaTime)
const float returnTime = (returnLength * 1000.0f) / speed;
const int maxTime = static_cast<int>(delay + scrollTime + returnTime);
mMarqueeTime += deltaTime;
while (mMarqueeTime > maxTime)
mMarqueeTime -= maxTime;
mLoopTime += deltaTime;
while (mLoopTime > maxTime)
mLoopTime -= maxTime;
mMarqueeOffset = static_cast<int>(Utils::Math::loop(delay, scrollTime + returnTime,
static_cast<float>(mMarqueeTime),
mLoopOffset = static_cast<int>(Utils::Math::loop(delay, scrollTime + returnTime,
static_cast<float>(mLoopTime),
scrollLength + returnLength));
if (mMarqueeOffset > (scrollLength - (limit - returnLength)))
mMarqueeOffset2 = static_cast<int>(mMarqueeOffset - (scrollLength + returnLength));
if (mLoopOffset > (scrollLength - (limit - returnLength)))
mLoopOffset2 = static_cast<int>(mLoopOffset - (scrollLength + returnLength));
}
}
@ -405,9 +407,9 @@ void TextListComponent<T>::add(const std::string& name, const T& obj, unsigned i
template <typename T> void TextListComponent<T>::onCursorChanged(const CursorState& state)
{
mMarqueeOffset = 0;
mMarqueeOffset2 = 0;
mMarqueeTime = 0;
mLoopOffset = 0;
mLoopOffset2 = 0;
mLoopTime = 0;
if (mCursorChangedCallback)
mCursorChangedCallback(state);

View file

@ -567,8 +567,8 @@ void GuiTextEditKeyboardPopup::shiftKeys()
mShift = !mShift;
if (mShift) {
mShiftButton->setFlatColorFocused(0xFF2222FF);
mShiftButton->setFlatColorUnfocused(0xFF2222FF);
mShiftButton->setFlatColorFocused(0xF26767FF);
mShiftButton->setFlatColorUnfocused(0xF26767FF);
}
else {
mShiftButton->setFlatColorFocused(0x878787FF);
@ -600,8 +600,8 @@ void GuiTextEditKeyboardPopup::altKeys()
mAlt = !mAlt;
if (mAlt) {
mAltButton->setFlatColorFocused(0xFF2222FF);
mAltButton->setFlatColorUnfocused(0xFF2222FF);
mAltButton->setFlatColorFocused(0xF26767FF);
mAltButton->setFlatColorUnfocused(0xF26767FF);
}
else {
mAltButton->setFlatColorFocused(0x878787FF);

View file

@ -73,8 +73,8 @@ bool TextureData::initSVGFromMemory(const std::string& fileData)
mSourceHeight = svgImage->height;
}
mWidth = static_cast<size_t>(floorf(floorf(mSourceWidth) * mScaleDuringLoad));
mHeight = static_cast<size_t>(floorf(floorf(mSourceHeight) * mScaleDuringLoad));
mWidth = static_cast<int>(std::round(mSourceWidth * mScaleDuringLoad));
mHeight = static_cast<int>(std::round(mSourceHeight * mScaleDuringLoad));
if (mWidth == 0) {
// Auto scale width to keep aspect ratio.
@ -92,9 +92,8 @@ bool TextureData::initSVGFromMemory(const std::string& fileData)
NSVGrasterizer* rast = nsvgCreateRasterizer();
nsvgRasterize(rast, svgImage, 0, 0, mHeight / svgImage->height, tempVector.data(),
static_cast<int>(mWidth), static_cast<int>(mHeight),
static_cast<int>(mWidth) * 4);
nsvgRasterize(rast, svgImage, 0, 0, mHeight / svgImage->height, tempVector.data(), mWidth,
mHeight, mWidth * 4);
// This is important in order to avoid memory leaks.
nsvgDeleteRasterizer(rast);
@ -148,8 +147,8 @@ bool TextureData::initFromRGBA(const unsigned char* dataRGBA, size_t width, size
mDataRGBA.reserve(width * height * 4);
mDataRGBA.insert(mDataRGBA.begin(), dataRGBA, dataRGBA + (width * height * 4));
mWidth = width;
mHeight = height;
mWidth = static_cast<int>(width);
mHeight = static_cast<int>(height);
return true;
}

View file

@ -72,8 +72,8 @@ private:
std::string mPath;
unsigned int mTextureID;
std::vector<unsigned char> mDataRGBA;
size_t mWidth;
size_t mHeight;
int mWidth;
int mHeight;
float mSourceWidth;
float mSourceHeight;
float mScaleDuringLoad;

View file

@ -194,7 +194,7 @@ std::shared_ptr<TextureResource> TextureResource::get(const std::string& path,
return tex;
}
void TextureResource::rasterizeAt(size_t width, size_t height)
void TextureResource::rasterizeAt(float width, float height)
{
if (mTextureData != nullptr) {
glm::vec2 textureSize = mTextureData.get()->getSize();

View file

@ -44,7 +44,7 @@ public:
// It does unload and re-rasterize the texture though which may cause flickering in some
// situations. An alternative is to set a scaling factor directly when loading the texture
// using get(), by using the scaleDuringLoad parameter (which also works for raster graphics).
void rasterizeAt(size_t width, size_t height);
void rasterizeAt(float width, float height);
glm::vec2 getSourceImageSize() const { return mSourceSize; }
virtual ~TextureResource();

View file

@ -8,8 +8,8 @@
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="80"
height="112"
viewBox="0 0 21.166666 29.633334"
height="92"
viewBox="0 0 21.166666 24.341667"
version="1.1"
id="svg4842"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
@ -23,11 +23,11 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="12.442154"
inkscape:cx="-18.41824"
inkscape:cy="59.681612"
inkscape:zoom="12.066296"
inkscape:cx="11.393424"
inkscape:cy="66.081732"
inkscape:document-units="mm"
inkscape:current-layer="layer2"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="3840"
inkscape:window-height="2065"
@ -59,155 +59,12 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-1.9829021e-4,-266.11715)">
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56896;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5286"
width="21.166666"
height="29.633333"
x="0.0001982902"
y="266.11713" />
<g
id="g16"
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)"
style="fill:#d7d7d7;fill-opacity:1">
<rect
x="3.0257001"
y="2.9029"
width="204.36"
height="288.81"
id="rect14"
style="fill:#d7d7d7;fill-opacity:1;stroke-width:0.26458" />
</g>
<g
id="g20"
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)">
<rect
x="7.7007999"
y="7.7174001"
width="194.89999"
height="279.22"
id="rect18"
style="stroke-width:0.26458" />
</g>
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.0266453"
id="rect22"
height="17.395565"
width="17.540144"
y="271.47574"
x="1.8325089" />
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971"
id="g56-4"
aria-label="CONTENT RATED BY"
transform="matrix(0.09632353,0,0,0.10097609,0.27971034,266.32293)">
<path
inkscape:connector-curvature="0"
id="path28-8"
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path30-0"
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path32-8"
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path34-1"
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path36-0"
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path38-2"
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path40-2"
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path42-9"
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path44-75"
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path46-6"
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path48-4"
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path50-6"
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path52-3"
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path54-7"
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
style="fill:#f0f0f0;fill-opacity:1" />
</g>
<g
id="g5256"
transform="matrix(1.0104997,0,0,1.0207455,-0.11128094,-6.092617)"
style="fill:#f0f0f0;fill-opacity:1">
<path
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
id="path78-4"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.036704" />
<path
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
id="path80-9"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.036704" />
<path
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
id="path82-1"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.0328234" />
<path
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
id="path84-7"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.036704" />
<path
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
id="path86-0"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.0357331" />
</g>
transform="translate(-1.9829021e-4,-271.40882)">
<g
id="g54"
aria-label="CONTENT RATED BY"
transform="matrix(0.09871346,0,0,0.10292059,-29.557342,270.26518)"
style="fill:#ffffff;stroke-width:0.25912">
style="fill:#ffffff;stroke-width:0.25911999">
<path
id="path26"
d="m 17.44,237.05 c 0,6.2189 2.6119,7.5125 6.7911,7.5125 1.0199,0 1.8408,-0.0746 2.8607,-0.27364 l -0.52239,-3.9304 -2.2886,0.17413 c -1.0199,0.0497 -1.6667,-0.52239 -1.6667,-3.4826 0,-2.9602 0.74627,-3.5075 1.6667,-3.4577 l 2.2886,0.14926 0.54726,-3.9055 c -1.0199,-0.22388 -1.8159,-0.42289 -2.8358,-0.42289 -4.204,0 -6.8408,1.791 -6.8408,7.6368 z"
@ -293,12 +150,57 @@
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:Dyuthi;-inkscape-font-specification:Dyuthi;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58329964px;line-height:1.25;font-family:Dyuthi;-inkscape-font-specification:Dyuthi;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
x="19.372959"
y="271.49698"
id="text5145" />
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5286"
width="21.166666"
height="24.341667"
x="0.0001986081"
y="271.40881" />
<g
id="g5222">
id="g16"
transform="matrix(0.10079384,0,0,0.08235571,-2.2547839e-4,271.45845)"
style="fill:#d7d7d7;fill-opacity:1">
<rect
x="3.0257001"
y="2.9029"
width="204.36"
height="288.81"
id="rect14"
style="fill:#d7d7d7;fill-opacity:1;stroke-width:0.26458001" />
</g>
<g
id="g20"
transform="matrix(0.10079384,0,0,0.0816046,-2.2547839e-4,271.5469)"
style="fill:#000000;fill-opacity:1">
<rect
x="7.7007999"
y="7.7174001"
width="194.89999"
height="279.22"
id="rect18"
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
</g>
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
id="rect22"
height="17.205626"
width="17.540144"
y="276.70892"
x="1.8325093" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2"
transform="translate(0,-5.2916667)">
<g
id="g5222"
transform="translate(-0.01924762,-262.81668)">
<g
transform="translate(0.1223722)"
id="g5202">
@ -380,7 +282,7 @@
<path
id="rect5061"
d="m 4.7486749,277.07833 c -0.3682172,0 -0.664559,0.25094 -0.664559,0.56276 v 5.0648 c 0,0.31182 0.2963418,0.56276 0.664559,0.56276 H 16.456487 c 0.368217,0 0.664559,-0.25094 0.664559,-0.56276 v -1.64279 a 0.91714642,0.91714642 0 0 1 -0.698149,-0.88987 0.91714642,0.91714642 0 0 1 0.698149,-0.88935 v -1.64279 c 0,-0.31182 -0.296342,-0.56276 -0.664559,-0.56276 z"
style="opacity:1;fill:#fcfcfd;fill-opacity:1;stroke:#282828;stroke-width:0.274902;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
style="opacity:1;fill:#fcfcfd;fill-opacity:1;stroke:#282828;stroke-width:0.27490199;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
inkscape:connector-curvature="0" />
<rect
rx="0.42198506"
@ -390,42 +292,114 @@
height="4.9067254"
width="5.7913175"
id="rect5019"
style="opacity:1;vector-effect:none;fill:#ffd700;fill-opacity:1;stroke:#282828;stroke-width:0.213968;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" />
</g>
style="opacity:1;vector-effect:none;fill:#ffd700;fill-opacity:1;stroke:#282828;stroke-width:0.21396799;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Layer 2">
aria-label="ALTERNATIVE"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.60125422px;line-height:1.25;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="text4942"
transform="matrix(1.1491297,0,0,1.5857309,-1.3267257,-15.489625)">
<path
d="m 3.9524717,26.040316 q 0,-0.01016 0.012066,-0.07938 0.033659,-0.208938 0.076844,-0.432484 0.043185,-0.22418 0.1117727,-0.555688 0.068588,-0.332142 0.089545,-0.435659 0.1270144,-0.0057 0.3492895,-0.0057 0.2070334,0 0.3619909,0.0057 0.010161,0 0.019052,0.0076 0.00889,0.007 0.010796,0.01778 0.027943,0.141621 0.094626,0.462967 0.067318,0.321347 0.1143129,0.56839 0.04763,0.246408 0.081289,0.467413 -0.1200285,0.0057 -0.221005,0.0057 -0.1619433,0 -0.2489481,-0.0057 -0.010796,-6.35e-4 -0.019687,-0.0076 -0.00826,-0.0076 -0.010161,-0.01778 -0.028578,-0.146067 -0.04636,-0.254029 H 4.4922827 q -0.020322,0.135905 -0.0489,0.279432 -0.1219338,0.0057 -0.2102088,0.0057 -0.1054219,0 -0.2597444,-0.0057 -0.00953,0 -0.015242,-0.0057 -0.00572,-0.0064 -0.00572,-0.01524 z m 0.5823608,-0.588711 h 0.1428912 q -0.015242,-0.104152 -0.04128,-0.296579 -0.026038,-0.193062 -0.037469,-0.273081 -0.012701,0.103517 -0.033659,0.297214 -0.020957,0.193062 -0.030483,0.272446 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4944"
inkscape:connector-curvature="0" />
<path
d="m 5.3655065,25.299187 q 0,-0.35564 0.010161,-0.762086 0.1206636,-0.0057 0.2222751,-0.0057 0.1047869,0 0.2603795,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.010161,0.477574 0.010161,0.736683 0,0.168929 -0.00191,0.329603 h 0.010796 q 0.2318012,0 0.3873938,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.154958 0.00254,0.219735 0,0.09971 -0.00254,0.186711 -0.1206637,0.0057 -0.3746924,0.0057 -0.062872,0 -0.2680003,-0.0044 -0.2044932,-0.0038 -0.2718108,-0.0063 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4946"
inkscape:connector-curvature="0" />
<path
d="m 6.2012611,24.730163 q 0,-0.102247 0.00254,-0.193062 0.1212988,-0.0057 0.5880766,-0.0057 0.3689767,0 0.5245693,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.143526 0.00254,0.215924 0,0.103517 -0.00254,0.190522 -0.04128,0.0019 -0.3073748,0.0044 0.00254,0.137175 0.00254,0.325791 0,0.355641 -0.010161,0.762087 -0.1206636,0.0057 -0.2222751,0.0057 -0.1047869,0 -0.2603795,-0.0057 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 0,-0.117488 0.00254,-0.328332 -0.1460665,-0.0032 -0.2819719,-0.007 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.00254,-0.146067 -0.00254,-0.208304 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4948"
inkscape:connector-curvature="0" />
<path
d="m 7.4485421,25.299187 q 0,-0.35564 0.010161,-0.762086 0.1206637,-0.0057 0.5271097,-0.0057 0.2876875,0 0.4432801,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.154958 0.00254,0.219735 0,0.09971 -0.00254,0.186711 -0.1073272,0.0051 -0.4039057,0.0051 -0.053346,0 -0.096531,-6.35e-4 -0.00127,0.08764 -0.00191,0.133365 0.2273557,0.0013 0.3041994,0.0044 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00191,0.104152 0.00191,0.191157 0,0.07811 -0.00191,0.169564 H 7.9521541 q 6.35e-4,0.04445 0.00191,0.132095 h 0.030483 q 0.3111852,0 0.4496309,0.0051 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.154958 0.00254,0.219735 0,0.09971 -0.00254,0.186711 -0.1206637,0.0057 -0.4356593,0.0057 -0.062872,0 -0.2680003,-0.0044 -0.2044932,-0.0038 -0.2718108,-0.0063 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4950"
inkscape:connector-curvature="0" />
<path
d="m 8.6069129,25.266164 q 0,-0.127015 0.00254,-0.35183 0.00254,-0.224816 0.00254,-0.35183 0.1270144,-0.01969 0.2699055,-0.03112 0.1435263,-0.01207 0.2508534,-0.01207 0.092721,0 0.1555926,0.0032 0.062872,0.0025 0.1352703,0.0127 0.073033,0.0095 0.1200286,0.02794 0.046995,0.01842 0.093991,0.05081 0.046995,0.03239 0.073033,0.07875 0.026673,0.04636 0.043185,0.113678 0.016512,0.06732 0.016512,0.154322 0,0.137811 -0.071128,0.242598 -0.071128,0.104786 -0.1981424,0.164483 0.08637,0.02985 0.1403509,0.121934 0.1263793,0.248313 0.2019528,0.571565 -0.1168532,0.01397 -0.2660951,0.01397 -0.1079622,0 -0.2038581,-0.0064 -0.012066,-6.35e-4 -0.023498,-0.0076 -0.011431,-0.007 -0.015242,-0.01778 -0.123839,-0.375963 -0.1924268,-0.607129 h -0.033659 q 0.00127,0.07113 0.00572,0.291498 0.00508,0.22037 0.00572,0.333413 -0.1041518,0.0044 -0.2229102,0.0044 -0.1073272,0 -0.2597444,-0.0044 -0.010796,0 -0.018417,-0.007 -0.00699,-0.0076 -0.00699,-0.01842 0,-0.117489 -0.00254,-0.379138 -0.00254,-0.26165 -0.00254,-0.390569 z m 0.5004366,-0.142256 h 0.043185 q 0.060332,0 0.097166,-0.02985 0.037469,-0.03048 0.037469,-0.08002 0,-0.06224 -0.025403,-0.09209 -0.025403,-0.03048 -0.09018,-0.03048 -0.033024,0 -0.060967,0.0019 -0.00127,0.148607 -0.00127,0.230532 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4952"
inkscape:connector-curvature="0" />
<path
d="m 9.9380235,25.299187 q 0,-0.35564 0.010161,-0.762086 0.1206635,-0.0057 0.2095735,-0.0057 0.07557,0 0.219735,0.0057 0.01842,6.35e-4 0.02794,0.0254 l 0.26292,0.650314 -0.0089,-0.675717 q 0.121299,-0.0057 0.222275,-0.0057 0.09907,0 0.234977,0.0057 0.0108,6.35e-4 0.01778,0.0083 0.0076,0.007 0.0076,0.01715 0.01016,0.477574 0.01016,0.736683 0,0.355641 -0.01016,0.762087 -0.105422,0.0057 -0.196873,0.0057 -0.108597,0 -0.232436,-0.0057 -0.01905,-6.35e-4 -0.02794,-0.0254 l -0.26292,-0.650314 0.0089,0.675717 q -0.120663,0.0057 -0.209573,0.0057 -0.100342,0 -0.2476786,-0.0057 -0.010796,-6.35e-4 -0.018417,-0.0076 -0.00699,-0.0076 -0.00699,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4954"
inkscape:connector-curvature="0" />
<path
d="m 11.243096,26.040316 q 0,-0.01016 0.01207,-0.07938 0.03366,-0.208938 0.07684,-0.432484 0.04318,-0.22418 0.111773,-0.555688 0.06859,-0.332142 0.08955,-0.435659 0.127014,-0.0057 0.34929,-0.0057 0.207033,0 0.361991,0.0057 0.01016,0 0.01905,0.0076 0.0089,0.007 0.0108,0.01778 0.02794,0.141621 0.09463,0.462967 0.06732,0.321347 0.114313,0.56839 0.04763,0.246408 0.08129,0.467413 -0.120029,0.0057 -0.221005,0.0057 -0.161944,0 -0.248948,-0.0057 -0.0108,-6.35e-4 -0.01969,-0.0076 -0.0083,-0.0076 -0.01016,-0.01778 -0.02858,-0.146067 -0.04636,-0.254029 h -0.235612 q -0.02032,0.135905 -0.0489,0.279432 -0.121934,0.0057 -0.210209,0.0057 -0.105422,0 -0.259744,-0.0057 -0.0095,0 -0.01524,-0.0057 -0.0057,-0.0064 -0.0057,-0.01524 z m 0.582361,-0.588711 h 0.142891 q -0.01524,-0.104152 -0.04128,-0.296579 -0.02604,-0.193062 -0.03747,-0.273081 -0.0127,0.103517 -0.03366,0.297214 -0.02096,0.193062 -0.03048,0.272446 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4956"
inkscape:connector-curvature="0" />
<path
d="m 12.521496,24.730163 q 0,-0.102247 0.0025,-0.193062 0.121299,-0.0057 0.588077,-0.0057 0.368977,0 0.524569,0.0057 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0025,0.143526 0.0025,0.215924 0,0.103517 -0.0025,0.190522 -0.04128,0.0019 -0.307375,0.0044 0.0025,0.137175 0.0025,0.325791 0,0.355641 -0.01016,0.762087 -0.120663,0.0057 -0.222275,0.0057 -0.104787,0 -0.260379,-0.0057 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.01016,-0.477574 -0.01016,-0.736684 0,-0.117488 0.0025,-0.328332 -0.146066,-0.0032 -0.281972,-0.007 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.0025,-0.146067 -0.0025,-0.208304 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4958"
inkscape:connector-curvature="0" />
<path
d="m 13.768777,25.299187 q 0,-0.35564 0.01016,-0.762086 0.120664,-0.0057 0.222276,-0.0057 0.104786,0 0.260379,0.0057 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.01016,0.477574 0.01016,0.736683 0,0.355641 -0.01016,0.762087 -0.120664,0.0057 -0.222275,0.0057 -0.104787,0 -0.26038,-0.0057 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.01016,-0.477574 -0.01016,-0.736684 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4960"
inkscape:connector-curvature="0" />
<path
d="m 14.377811,24.537101 q 0.120028,-0.0057 0.231166,-0.0057 0.161943,0 0.248948,0.0057 0.0108,6.35e-4 0.01969,0.0083 0.0089,0.007 0.0108,0.01715 0.02921,0.147337 0.05906,0.336588 0.03048,0.189252 0.04382,0.285147 0.01397,0.0959 0.04763,0.339764 0.0032,-0.02096 0.01461,-0.107327 0.01207,-0.08637 0.01588,-0.113678 0.0038,-0.02794 0.01461,-0.105422 0.0108,-0.07811 0.01651,-0.114313 0.0057,-0.0362 0.01588,-0.105422 0.01016,-0.06922 0.01778,-0.114313 0.0076,-0.04509 0.01778,-0.104787 0.01016,-0.06033 0.02032,-0.114313 0.01016,-0.05398 0.02096,-0.107327 0.121934,-0.0057 0.197507,-0.0057 0.115583,0 0.269906,0.0057 0.0095,0 0.01524,0.0064 0.0057,0.0057 0.0057,0.01461 0,0.0095 -0.01207,0.08002 -0.0959,0.593157 -0.288323,1.423196 -0.120663,0.0057 -0.323251,0.0057 -0.174645,0 -0.349925,-0.0057 -0.01016,0 -0.01905,-0.007 -0.0083,-0.0076 -0.0108,-0.01842 -0.102247,-0.448361 -0.175915,-0.805906 -0.07367,-0.358181 -0.124474,-0.692864 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4962"
inkscape:connector-curvature="0" />
<path
d="m 15.762903,25.299187 q 0,-0.35564 0.01016,-0.762086 0.120664,-0.0057 0.527109,-0.0057 0.287688,0 0.443281,0.0057 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0025,0.154958 0.0025,0.219735 0,0.09971 -0.0025,0.186711 -0.107327,0.0051 -0.403905,0.0051 -0.05335,0 -0.09653,-6.35e-4 -0.0013,0.08764 -0.0019,0.133365 0.227355,0.0013 0.304199,0.0044 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0019,0.104152 0.0019,0.191157 0,0.07811 -0.0019,0.169564 h -0.329602 q 6.35e-4,0.04445 0.0019,0.132095 h 0.03048 q 0.311186,0 0.449631,0.0051 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0025,0.154958 0.0025,0.219735 0,0.09971 -0.0025,0.186711 -0.120664,0.0057 -0.435659,0.0057 -0.06287,0 -0.268001,-0.0044 -0.204493,-0.0038 -0.27181,-0.0063 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.01016,-0.477574 -0.01016,-0.736684 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="path4964"
inkscape:connector-curvature="0" />
</g>
<g
aria-label="ALT EMU"
transform="scale(1.0680187,0.93631321)"
id="text41"
style="font-size:4.97619px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';display:inline;stroke-width:0.0339285;fill:#f0f0f0;fill-opacity:1">
aria-label="EMULATOR"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.39663363px;line-height:1.25;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;letter-spacing:0px;word-spacing:0px;fill:#f0f0f0;fill-opacity:1;stroke:none;stroke-width:0.10991583"
id="text5082"
transform="matrix(1,0,0,1.1141081,-0.03539297,-1.229734)">
<path
d="m 1.7229501,4.7457954 c 0,0.024881 0.019905,0.03981 0.044786,0.03981 0.1642143,0.00995 0.3383809,0.014928 0.5075714,0.014928 0.1642142,0 0.2537857,-0.00498 0.4130238,-0.014928 0.034833,-0.1791429 0.06469,-0.3632619 0.094548,-0.547381 h 0.4627856 c 0.024881,0.1691905 0.054738,0.338381 0.089571,0.4976191 0.00498,0.029857 0.029857,0.049762 0.054738,0.049762 0.1741666,0.014928 0.3184761,0.014928 0.4876666,0.014928 0.1691904,0 0.2786666,-0.00498 0.4329285,-0.014928 C 4.1662594,3.8202241 3.9323785,2.8050813 3.7432833,1.8496528 3.7383071,1.8247719 3.7134261,1.7998909 3.6885452,1.7998909 3.449688,1.7949147 3.2158071,1.7899385 2.97695,1.7899385 c -0.233881,0 -0.4627857,0 -0.6867143,0.00995 -0.184119,0.9205952 -0.393119,1.8809999 -0.5424047,2.7916426 -0.00995,0.049762 -0.024881,0.1443096 -0.024881,0.1542619 z M 2.8674738,3.5913193 c 0.03981,-0.3732142 0.079619,-0.7464285 0.1244047,-1.1146665 0.049762,0.3732142 0.099524,0.7464285 0.1542619,1.1146665 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
id="path975" />
d="m 1.8968336,8.600587 q 0,-0.6011022 0.017174,-1.2880762 0.2039454,-0.00966 0.8909194,-0.00966 0.4862488,0 0.7492311,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.00429,0.2619088 0.00429,0.3713953 0,0.1685233 -0.00429,0.3155787 -0.181404,0.00859 -0.6826804,0.00859 -0.090165,0 -0.1631563,-0.00107 -0.00215,0.1481288 -0.00322,0.2254134 0.3842761,0.00215 0.5141571,0.00751 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.00322,0.1760371 0.00322,0.3230925 0,0.1320278 -0.00322,0.286597 h -0.557093 q 0.00107,0.075138 0.00322,0.2232665 h 0.051523 q 0.5259645,0 0.759965,0.00859 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.00429,0.2619088 0.00429,0.3713953 0,0.1685233 -0.00429,0.3155787 -0.2039454,0.00966 -0.7363503,0.00966 -0.1062662,0 -0.4529734,-0.00751 -0.3456338,-0.00644 -0.4594139,-0.010734 -0.017174,0 -0.030055,-0.012881 Q 1.9140079,9.8629018 1.9140079,9.8457274 1.8968336,9.038533 1.8968336,8.600587 Z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5084"
inkscape:connector-curvature="0" />
<path
d="m 4.4946808,3.2927479 c 0,0.497619 0.00995,0.9753333 0.019905,1.4430952 0,0.029857 0.019905,0.049762 0.049762,0.049762 0.1642143,0.00995 0.8857619,0.024881 1.0549523,0.024881 0.1642143,0 0.5772381,-0.00498 0.7364762,-0.014929 0,-0.1244047 0,-0.2438333 0,-0.3632618 0,-0.1393334 0,-0.2786667 0,-0.4329286 C 6.3507997,3.974486 6.3308949,3.949605 6.306014,3.949605 6.1368235,3.9446288 5.7138474,3.9396526 5.5446569,3.9396526 h -0.019905 c 0,-0.2089999 0.00498,-0.4229761 0.00498,-0.6469047 0,-0.497619 -0.00995,-0.9753332 -0.019905,-1.4430951 0,-0.024881 -0.024881,-0.049762 -0.049762,-0.049762 -0.1691905,-0.00498 -0.3433572,-0.00995 -0.5125476,-0.00995 -0.1642143,0 -0.2786667,0.00498 -0.4329286,0.00995 -0.014928,0.497619 -0.019905,0.995238 -0.019905,1.492857 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
id="path977" />
d="m 3.8461223,8.600587 q 0,-0.6011022 0.017174,-1.2880762 0.2039455,-0.00966 0.354221,-0.00966 0.1803307,0 0.3713953,0.00966 0.031128,0.00107 0.047229,0.042936 l 0.538846,1.0991583 0.5388453,-1.0991584 q 0.030055,-0.039716 0.052596,-0.041862 0.1341746,-0.010734 0.3016245,-0.010734 0.1803307,0 0.3971569,0.00966 0.018248,0.00107 0.030055,0.013954 0.012881,0.011807 0.012881,0.028982 0.017174,0.8071944 0.017174,1.2451403 0,0.6011023 -0.017174,1.2880763 -0.1846243,0.00966 -0.3327531,0.00966 -0.1341746,0 -0.3971568,-0.00966 -0.017174,0 -0.030055,-0.012881 -0.012881,-0.012881 -0.012881,-0.030055 -0.00322,-0.1202204 -0.00966,-0.3595879 -0.00644,-0.2404409 -0.010734,-0.4357992 -0.00429,-0.1964316 -0.00537,-0.3756889 l -0.489469,0.9993325 -0.047229,0.00859 -0.042936,-0.00859 -0.4658543,-0.9510296 0.015028,1.165709 q -0.2039454,0.00966 -0.354221,0.00966 -0.1556425,0 -0.4186248,-0.00966 -0.017174,0 -0.030055,-0.012881 -0.012879,-0.01288 -0.012879,-0.030055 Q 3.8461223,9.038533 3.8461223,8.600587 Z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5086"
inkscape:connector-curvature="0" />
<path
d="m 6.1318408,2.1780813 c 0,0.1343572 0,0.2687143 0.00498,0.4080476 0,0.029857 0.019905,0.049762 0.049762,0.049762 0.084595,0.00498 0.3234523,0.00995 0.5473809,0.014929 0,0.209 0,0.4130238 0,0.6419285 0,0.497619 0.00995,0.9753333 0.019905,1.4430952 0,0.029857 0.019905,0.049762 0.049762,0.049762 0.1642143,0.00995 0.338381,0.014928 0.5075714,0.014928 0.1642143,0 0.2786667,-0.00498 0.4379048,-0.014928 0.00995,-0.4976191 0.019905,-0.9952381 0.019905,-1.4928571 0,-0.2289047 -0.00498,-0.4329285 -0.00995,-0.6369523 0.2587619,0 0.5225,-0.00498 0.6070952,-0.00995 0,-0.1244047 0,-0.2488095 0,-0.3682381 0,-0.1443095 0,-0.2836428 0,-0.4279523 -0.00498,-0.024881 -0.024881,-0.049762 -0.049762,-0.049762 -0.1691904,-0.00498 -0.8608809,-0.00995 -1.0300713,-0.00995 -0.1642143,0 -0.995238,0.00498 -1.1494999,0.00995 -0.00498,0.1343571 -0.00498,0.2587619 -0.00498,0.3781904 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
id="path979" />
d="m 6.7528808,8.616688 q 0,-0.6172032 0.017174,-1.3041772 0.2039454,-0.00966 0.3756889,-0.00966 0.1771105,0 0.4400927,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.017174,0.8071944 0.017174,1.3911223 0,0.140615 0.00966,0.2286335 0.00966,0.088019 0.033275,0.1341747 0.023615,0.045083 0.052596,0.06011 0.028982,0.015028 0.076211,0.015028 0.06333,0 0.095532,-0.028982 0.032202,-0.028982 0.049376,-0.124514 0.018248,-0.096606 0.018248,-0.2855236 0,-0.7460108 0.017174,-1.4329848 0.2050188,-0.00966 0.3756889,-0.00966 0.1771105,0 0.4400927,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.017174,0.8071944 0.017174,1.2612413 0,0.275863 -0.041862,0.4905424 -0.041863,0.2146793 -0.1202205,0.3660283 -0.078358,0.1502756 -0.197505,0.2501015 -0.1180737,0.099826 -0.265129,0.1492021 -0.1470554,0.049376 -0.3327531,0.059037 -0.1513489,0 -0.2726428,-0.012881 Q 7.5225064,9.906911 7.4087263,9.8779293 7.2949462,9.8489476 7.2080011,9.8006447 7.1210559,9.7512685 7.0448448,9.6793509 6.969707,9.6063599 6.9171105,9.5076074 6.8645141,9.4077815 6.8258718,9.2779005 6.7883029,9.1480194 6.7700552,8.9837897 6.7528808,8.8184866 6.7528808,8.616688 Z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5088"
inkscape:connector-curvature="0" />
<path
d="m 10.067999,3.2927479 c 0,0.497619 0.01,0.9753333 0.0199,1.4430952 0,0.029857 0.0199,0.049762 0.04976,0.049762 0.164215,0.00995 0.885762,0.024881 1.054953,0.024881 0.164214,0 0.696666,-0.00498 0.855904,-0.014929 0,-0.1244047 0,-0.2438333 0,-0.3632618 0,-0.1393334 0,-0.2786667 0,-0.4329286 -0.005,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.169191,-0.00498 -0.711596,-0.00995 -0.880786,-0.00995 h -0.06469 c 0,-0.084595 0,-0.1691904 0,-0.2587618 h 0.646905 c 0,-0.1194286 0,-0.2239286 0,-0.3284286 0,-0.1194286 0,-0.2388571 0,-0.3781904 -0.005,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.129381,0 -0.398095,-0.00498 -0.597143,-0.00498 0,-0.089571 0,-0.1791429 0,-0.2637381 0.0846,0 0.154262,0 0.194072,0 0.164214,0 0.631976,0 0.791214,-0.00995 0,-0.1244047 0,-0.2438333 0,-0.3632619 0,-0.1393333 0,-0.2786666 0,-0.4329285 -0.005,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.16919,-0.00498 -0.701643,-0.00995 -0.870833,-0.00995 -0.164214,0 -0.87581,0.00498 -1.030071,0.00995 -0.01493,0.497619 -0.0199,0.995238 -0.0199,1.492857 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
id="path981" />
d="m 9.1014735,8.600587 q 0,-0.6011022 0.017174,-1.2880762 0.2039454,-0.00966 0.3756889,-0.00966 0.1771105,0 0.4400928,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.017174,0.8071944 0.017174,1.2451403 0,0.2855236 -0.00322,0.557093 h 0.018248 q 0.39179,0 0.654772,0.00966 0.01717,0 0.03006,0.012881 0.01288,0.012881 0.01288,0.030055 0.0043,0.2619088 0.0043,0.3713953 0,0.1685233 -0.0043,0.3155787 -0.203945,0.00966 -0.633304,0.00966 -0.1062648,0 -0.452972,-0.00751 -0.3456338,-0.00644 -0.4594139,-0.010734 -0.017174,0 -0.030055,-0.012881 Q 9.1186478,9.8629018 9.1186478,9.8457274 9.1014735,9.038533 9.1014735,8.600587 Z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5090"
inkscape:connector-curvature="0" />
<path
d="m 12.327182,3.2927479 c 0,0.497619 0.01,0.9753333 0.0199,1.4430952 0,0.029857 0.01991,0.049762 0.04976,0.049762 0.164215,0.00995 0.363262,0.014928 0.482691,0.014928 0.164214,0 0.253786,-0.00498 0.413024,-0.014928 l -0.0199,-1.3485476 0.542405,1.099738 0.04976,0.00995 0.05474,-0.00995 0.567285,-1.1544761 c 0,0.4677619 0.0199,0.915619 0.02986,1.3535238 0,0.029857 0.0199,0.049762 0.04976,0.049762 0.164215,0.00995 0.338381,0.014928 0.45781,0.014928 0.164214,0 0.243833,-0.00498 0.388143,-0.014928 0.01,-0.4976191 0.0199,-0.9952381 0.0199,-1.4928571 0,-0.497619 -0.01,-0.9753332 -0.0199,-1.4430951 0,-0.024881 -0.02488,-0.044786 -0.04976,-0.049762 -0.139334,-0.00498 -0.293596,-0.00995 -0.462786,-0.00995 -0.139333,0 -0.258762,0.00498 -0.348333,0.014929 -0.02488,0 -0.04479,0.024881 -0.05972,0.044786 l -0.627,1.2788809 -0.622023,-1.2788809 c -0.01,-0.019905 -0.02986,-0.044786 -0.05474,-0.049762 -0.149286,-0.00498 -0.263738,-0.00995 -0.432929,-0.00995 -0.164214,0 -0.253786,0.00498 -0.408048,0.00995 -0.01493,0.497619 -0.0199,0.995238 -0.0199,1.492857 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
id="path983" />
d="m 10.706202,9.8532412 q 0,-0.017174 0.02039,-0.1341746 0.05689,-0.3531476 0.129881,-0.7309833 0.07299,-0.3789091 0.188918,-0.9392223 0.115927,-0.5613865 0.151349,-0.7363502 0.214679,-0.00966 0.590368,-0.00966 0.349928,0 0.611837,0.00966 0.01717,0 0.0322,0.012881 0.01503,0.011807 0.01825,0.030055 0.04723,0.2393675 0.159936,0.7825063 0.11378,0.5431388 0.193212,0.9606902 0.08051,0.416478 0.137395,0.7900201 -0.202872,0.00966 -0.373543,0.00966 -0.273716,0 -0.420771,-0.00966 -0.01825,-0.00107 -0.03327,-0.012881 -0.01395,-0.012881 -0.01717,-0.030055 -0.0483,-0.2468813 -0.07836,-0.4293587 h -0.39823 q -0.03435,0.2297069 -0.08265,0.4722946 -0.206092,0.00966 -0.355294,0.00966 -0.178184,0 -0.439019,-0.00966 -0.0161,0 -0.02576,-0.00966 -0.0097,-0.010734 -0.0097,-0.025761 z m 0.984305,-0.9950389 h 0.241514 Q 11.906259,8.6821652 11.86225,8.3569259 11.818241,8.0306133 11.79892,7.8953653 11.777452,8.070329 11.74203,8.397715 11.70661,8.7240277 11.69051,8.8582023 Z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5092"
inkscape:connector-curvature="0" />
<path
d="m 15.696059,3.3126527 c 0,1.2539999 0.447857,1.5227142 1.348547,1.5227142 0.701643,-0.034833 1.109691,-0.442881 1.109691,-1.5227142 0,-0.497619 -0.01,-0.995238 -0.01991,-1.4629999 0,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.16919,-0.00498 -0.343357,-0.00995 -0.512548,-0.00995 -0.164214,0 -0.278666,0.00498 -0.432928,0.00995 -0.01493,0.497619 -0.01991,1.1644285 -0.01991,1.6620475 0,0.4428809 -0.05474,0.5075714 -0.189095,0.5075714 -0.134357,0 -0.199048,-0.06469 -0.199048,-0.5075714 0,-0.497619 -0.01,-1.1445237 -0.0199,-1.6122856 0,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.169191,-0.00498 -0.343357,-0.00995 -0.512548,-0.00995 -0.164214,0 -0.278667,0.00498 -0.432928,0.00995 -0.01493,0.497619 -0.0199,1.0151428 -0.0199,1.5127618 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
id="path985" />
d="m 12.866949,7.6388234 q 0,-0.1728169 0.0043,-0.3263126 0.205019,-0.00966 0.993966,-0.00966 0.623643,0 0.886625,0.00966 0.01717,0 0.03006,0.012881 0.01288,0.012881 0.01288,0.030055 0.0043,0.2425876 0.0043,0.3649549 0,0.1749637 -0.0043,0.3220191 -0.06977,0.00322 -0.519524,0.00751 0.0043,0.2318538 0.0043,0.5506526 0,0.6011023 -0.01717,1.2880763 -0.203945,0.00966 -0.375688,0.00966 -0.177111,0 -0.440093,-0.00966 -0.01717,0 -0.03005,-0.012881 -0.01288,-0.012881 -0.01288,-0.030055 -0.01717,-0.8071944 -0.01717,-1.2451404 0,-0.1985784 0.0043,-0.5549462 -0.246881,-0.00537 -0.476588,-0.011807 -0.01717,0 -0.03006,-0.012881 -0.01288,-0.012881 -0.01288,-0.030055 -0.0043,-0.2468813 -0.0043,-0.3520742 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5094"
inkscape:connector-curvature="0" />
<path
d="m 14.837707,8.5995136 q 0,-0.3123585 0.06762,-0.5560195 0.06762,-0.2447345 0.194284,-0.4078909 0.127735,-0.1631563 0.308065,-0.2522482 0.181404,-0.089092 0.408965,-0.1008993 0.209312,0 0.373542,0.028982 0.164229,0.027908 0.300551,0.092312 0.137395,0.06333 0.234,0.1653031 0.09661,0.1019727 0.163157,0.2479547 0.06762,0.145982 0.09875,0.3402668 0.0322,0.1942849 0.0322,0.4422395 0,0.3123585 -0.0687,0.557093 -0.0687,0.2436611 -0.198579,0.4068174 -0.128807,0.162083 -0.310211,0.2511749 -0.181404,0.088019 -0.410038,0.099826 -0.208239,0 -0.372469,-0.027908 Q 15.495699,9.8575348 15.359378,9.7942044 15.22413,9.730874 15.127524,9.6299746 15.031991,9.5280019 14.965441,9.38202 14.899964,9.236038 14.868835,9.0428265 14.837707,8.8485417 14.837707,8.5995136 Z m 0.897359,0 q 0,0.1502756 0.0097,0.2554685 0.01073,0.1051929 0.02576,0.1663765 0.0161,0.06011 0.04293,0.093386 0.02684,0.033275 0.05367,0.042936 0.02684,0.00966 0.06548,0.00966 0.03864,0 0.0644,-0.00966 0.02576,-0.00966 0.05152,-0.042936 0.02576,-0.033275 0.03972,-0.093386 0.01503,-0.061184 0.02361,-0.1663765 0.0097,-0.1051929 0.0097,-0.2554685 0,-0.124514 -0.0064,-0.2178995 -0.0064,-0.094459 -0.0204,-0.1556426 -0.01395,-0.061184 -0.03005,-0.099826 -0.0161,-0.039716 -0.04186,-0.059037 -0.02469,-0.019321 -0.0483,-0.025761 -0.02254,-0.00751 -0.05474,-0.00751 -0.0322,0 -0.05474,0.00644 -0.02147,0.00644 -0.04401,0.026835 -0.02254,0.019321 -0.03757,0.059037 -0.01395,0.038642 -0.02576,0.1008993 -0.01181,0.061184 -0.01717,0.1545692 -0.0054,0.092312 -0.0054,0.2178995 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5096"
inkscape:connector-curvature="0" />
<path
d="m 17.250702,8.5447704 q 0,-0.2146794 0.0043,-0.5946619 0.0043,-0.3799825 0.0043,-0.5946618 0.214679,-0.033275 0.456193,-0.052596 0.242588,-0.020395 0.423992,-0.020395 0.156716,0 0.262982,0.00537 0.106266,0.00429 0.228634,0.021468 0.12344,0.016101 0.202872,0.047229 0.07943,0.031129 0.158862,0.085872 0.07943,0.054743 0.123441,0.1331012 0.04508,0.078358 0.07299,0.1921381 0.02791,0.11378 0.02791,0.2608354 0,0.2329271 -0.12022,0.4100376 -0.12022,0.1771105 -0.3349,0.2780098 0.145982,0.05045 0.237221,0.2060922 0.213606,0.4196982 0.34134,0.9660572 -0.197505,0.023615 -0.449753,0.023615 -0.182478,0 -0.344561,-0.010734 -0.02039,-0.00107 -0.03972,-0.012881 -0.01932,-0.011807 -0.02576,-0.030055 -0.209312,-0.635451 -0.325239,-1.0261674 h -0.05689 q 0.0021,0.1202204 0.0097,0.4926891 0.0086,0.3724687 0.0097,0.5635334 -0.176037,0.00751 -0.376762,0.00751 -0.181404,0 -0.43902,-0.00751 -0.01825,0 -0.03113,-0.011807 -0.01181,-0.012881 -0.01181,-0.031129 0,-0.1985784 -0.0043,-0.6408179 -0.0043,-0.4422395 -0.0043,-0.6601391 z m 0.845837,-0.2404409 h 0.07299 q 0.101973,0 0.16423,-0.05045 0.06333,-0.051523 0.06333,-0.135248 0,-0.1051929 -0.04294,-0.1556425 -0.04294,-0.051523 -0.152422,-0.051523 -0.05582,0 -0.103046,0.00322 -0.0021,0.2511749 -0.0021,0.3896431 z"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
id="path5098"
inkscape:connector-curvature="0" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 52 KiB

View file

@ -10,8 +10,8 @@
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="80"
height="112"
viewBox="0 0 21.166666 29.633334"
height="92"
viewBox="0 0 21.166666 24.341667"
version="1.1"
id="svg4842"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
@ -25,9 +25,9 @@
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="9.5782066"
inkscape:cx="1.1766084"
inkscape:cy="50.443327"
inkscape:zoom="11.584182"
inkscape:cx="-13.360205"
inkscape:cy="53.651595"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
@ -49,7 +49,7 @@
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
@ -57,17 +57,17 @@
inkscape:label="Layer 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-1.9829021e-4,-266.11715)">
transform="translate(-1.9829021e-4,-271.40882)">
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5286"
width="21.166666"
height="29.633333"
x="0.0001982902"
y="266.11713" />
height="24.341667"
x="0.0001986081"
y="271.40881" />
<g
id="g16"
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)"
transform="matrix(0.10079384,0,0,0.08235571,-2.2531965e-4,271.45843)"
style="fill:#d7d7d7;fill-opacity:1">
<rect
x="3.0257001"
@ -79,132 +79,27 @@
</g>
<g
id="g20"
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)">
transform="matrix(0.10079384,0,0,0.0816046,-2.2531965e-4,271.54688)"
style="fill:#000000;fill-opacity:1">
<rect
x="7.7007999"
y="7.7174001"
width="194.89999"
height="279.22"
id="rect18"
style="stroke-width:0.26458001" />
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
</g>
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
id="rect22"
height="17.395565"
height="17.205626"
width="17.540144"
y="271.47574"
x="1.8325089" />
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
id="g56-4"
aria-label="CONTENT RATED BY"
transform="matrix(0.09632353,0,0,0.10097609,0.27971034,266.32293)">
<path
inkscape:connector-curvature="0"
id="path28-8"
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path30-0"
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path32-8"
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path34-1"
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path36-0"
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path38-2"
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path40-2"
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path42-9"
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path44-75"
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path46-6"
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path48-4"
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path50-6"
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path52-3"
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path54-7"
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
style="fill:#f0f0f0;fill-opacity:1" />
</g>
<g
id="g5256"
transform="matrix(1.0104997,0,0,1.0207455,-0.11128094,-6.092617)"
style="fill:#f0f0f0;fill-opacity:1">
<path
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
id="path78-4"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
id="path80-9"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
id="path82-1"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
<path
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
id="path84-7"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
id="path86-0"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
</g>
y="276.70892"
x="1.8134596" />
<g
id="g68"
aria-label="BROKEN"
transform="matrix(0.1103491,0,0,0.0919063,-2.2531608e-4,266.11696)"
transform="matrix(0.1103491,0,0,0.0919063,-2.2531608e-4,271.40862)"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.35387999">
<path
id="path56"
@ -238,8 +133,8 @@
style="fill:#f0f0f0;fill-opacity:1" />
</g>
<path
style="fill:#ef0000;fill-opacity:1;stroke:#282828;stroke-width:0.222;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 7.6575407,274.70439 c -1.874665,0 -3.397725,1.53959 -3.397725,3.39245 0,0.64602 0.295505,1.19991 0.567407,1.60492 0.271901,0.40498 0.54932,0.67684 0.54932,0.67684 l 5.2260383,5.21817 5.226037,-5.21817 c 0,0 1.116728,-0.98945 1.116728,-2.28176 0,-1.85276 -1.523577,-3.39194 -3.398242,-3.39194 -0.711151,0 -1.346631,0.23624 -1.861385,0.51898 l -0.149862,0.0826 -0.931726,2.56446 h 1.640727 l -1.642277,2.81105 v -1.90671 H 8.9954441 l 0.700216,-3.45539 -0.304375,-0.15683 C 8.9034531,274.91234 8.3154227,274.7049 7.6575407,274.7049 Z"
style="fill:#f80000;fill-opacity:1;stroke:#282828;stroke-width:0.222;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
d="m 7.6384917,280.08465 c -1.874665,0 -3.397725,1.53959 -3.397725,3.39245 0,0.64602 0.295505,1.19991 0.567407,1.60492 0.271901,0.40498 0.54932,0.67684 0.54932,0.67684 l 5.2260383,5.21817 5.226037,-5.21817 c 0,0 1.116728,-0.98945 1.116728,-2.28176 0,-1.85276 -1.523577,-3.39194 -3.398242,-3.39194 -0.711151,0 -1.346631,0.23624 -1.861385,0.51898 l -0.149862,0.0826 -0.931726,2.56446 h 1.640727 l -1.642277,2.81105 v -1.90671 H 8.9763951 l 0.700216,-3.45539 -0.304375,-0.15683 c -0.487832,-0.25072 -1.0758624,-0.45816 -1.7337444,-0.45816 z"
id="path84"
inkscape:connector-curvature="0" />
</g>

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View file

@ -7,10 +7,10 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="80.000008"
height="112"
width="80"
height="92"
version="1.1"
viewBox="0 0 21.166668 29.633334"
viewBox="0 0 21.166666 24.341667"
id="svg92"
sodipodi:docname="badge_completed.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
@ -33,9 +33,9 @@
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="12.442155"
inkscape:cx="-34.776172"
inkscape:cy="67.39851"
inkscape:zoom="9.6754505"
inkscape:cx="14.68785"
inkscape:cy="65.424484"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
@ -54,15 +54,15 @@
</rdf:RDF>
</metadata>
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5286"
width="21.166666"
height="29.633333"
x="-6.884097e-12"
y="-2.3812499e-05" />
height="24.341667"
x="2.2368853e-07"
y="-2.6645353e-15" />
<g
id="g16"
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)"
transform="matrix(0.10079384,0,0,0.08235571,-4.2317622e-4,0.04964061)"
style="fill:#d7d7d7;fill-opacity:1">
<rect
x="3.0257001"
@ -74,133 +74,28 @@
</g>
<g
id="g20"
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)">
transform="matrix(0.10079384,0,0,0.0816046,-4.2317622e-4,0.13809161)"
style="fill:#0e0e0e;fill-opacity:1">
<rect
x="7.7007999"
y="7.7174001"
width="194.89999"
height="279.22"
id="rect18"
style="stroke-width:0.26458001" />
style="stroke-width:0.26458001;fill:#0e0e0e;fill-opacity:1" />
</g>
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
id="rect22"
height="17.395565"
height="17.205626"
width="17.540144"
y="5.3586006"
x="1.8323107" />
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
id="g56-4"
aria-label="CONTENT RATED BY"
transform="matrix(0.09632353,0,0,0.10097609,0.27951205,0.20578757)">
<path
inkscape:connector-curvature="0"
id="path28-8"
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path30-0"
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path32-8"
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path34-1"
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path36-0"
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path38-2"
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path40-2"
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path42-9"
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path44-75"
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path46-6"
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path48-4"
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path50-6"
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path52-3"
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path54-7"
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
style="fill:#f0f0f0;fill-opacity:1" />
</g>
<g
id="g5256"
transform="matrix(1.0104997,0,0,1.0207455,-0.11147923,-272.20975)"
style="fill:#f0f0f0;fill-opacity:1">
<path
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
id="path78-4"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
id="path80-9"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
id="path82-1"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
<path
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
id="path84-7"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
id="path86-0"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
</g>
y="5.3001137"
x="1.8323119" />
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.29527"
id="g74"
aria-label="COMPLETED"
transform="matrix(0.09207517,0,0,0.11015111,-4.2360629e-4,-1.9379813e-4)">
transform="matrix(0.09207517,0,0,0.11015111,-4.2465753e-4,-1.9389228e-4)">
<path
inkscape:connector-curvature="0"
id="path56"
@ -249,7 +144,7 @@
</g>
<path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2df01e;fill-opacity:1;fill-rule:nonzero;stroke:#282828;stroke-width:0.22206067;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="m 15.847809,8.6772534 -0.219108,0.2171871 -0.334863,0.3317137 -6.8259398,6.8163788 -3.109371,-3.103559 -1.719275,1.715831 3.974951,3.968698 0.853695,0.815097 0.853178,-0.815097 8.2444578,-8.230934 z"
d="M 15.847808,8.6772533 15.6287,8.8944404 15.293837,9.2261541 8.4678971,16.042533 l -3.109371,-3.103559 -1.719275,1.715831 3.974951,3.968698 0.853695,0.815097 0.853178,-0.815097 8.2444579,-8.230934 z"
id="path90-9-4"
inkscape:connector-curvature="0" />
</svg>

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 11 KiB

View file

@ -8,9 +8,9 @@
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="80"
height="112"
height="92"
version="1.1"
viewBox="0 0 21.166666 29.633332"
viewBox="0 0 21.166666 24.341666"
id="svg90"
sodipodi:docname="badge_favorite.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
@ -30,9 +30,9 @@
id="namedview92"
showgrid="false"
units="px"
inkscape:zoom="5.4859695"
inkscape:cx="-51.316674"
inkscape:cy="71.543477"
inkscape:zoom="12.442154"
inkscape:cx="-26.425635"
inkscape:cy="40.73358"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
@ -51,15 +51,15 @@
</rdf:RDF>
</metadata>
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5286"
width="21.166666"
height="29.633331"
height="24.341665"
x="-6.884097e-12"
y="-2.3812499e-05" />
y="-2.6253017e-14" />
<g
id="g16"
transform="matrix(0.10079384,0,0,0.10062218,-4.2392733e-4,-2.2129515e-4)"
transform="matrix(0.10079384,0,0,0.08235571,-4.2392733e-4,0.0496411)"
style="fill:#d7d7d7;fill-opacity:1">
<rect
x="3.0257001"
@ -71,32 +71,33 @@
</g>
<g
id="g20"
transform="matrix(0.10079384,0,0,0.10062218,-4.2392733e-4,-2.2129515e-4)">
transform="matrix(0.10079384,0,0,0.0816046,-4.2392733e-4,0.13809204)"
style="fill:#000000;fill-opacity:1">
<rect
x="7.7007999"
y="7.7174001"
width="194.89999"
height="279.22"
id="rect18"
style="stroke-width:0.26458001" />
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
</g>
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
id="rect22"
height="17.395565"
height="17.205626"
width="17.540144"
y="5.3586006"
y="5.3001146"
x="1.8323106" />
<path
style="fill:#ffe431;fill-opacity:1;stroke:#282828;stroke-width:0.22198541;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:#ffe431;fill-opacity:1;stroke:#282828;stroke-width:0.22077018;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
id="path24"
d="m 17.31999,12.594543 -4.709693,-0.49653 -1.927985,-4.3170945 -1.9279846,4.3170945 -4.7096929,0.49653 3.5178058,3.165172 -0.9820949,4.624093 4.1020066,-2.361704 4.102007,2.361704 -0.982095,-4.624093 z" />
d="m 17.240062,12.456484 -4.709693,-0.491108 -1.927985,-4.2699571 -1.9279844,4.2699571 -4.7096929,0.491108 3.5178058,3.130612 -0.9820949,4.573603 4.1020064,-2.335917 4.102007,2.335917 -0.982095,-4.573603 z" />
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.32426"
id="g74"
aria-label="FAVORITE"
transform="matrix(0.10111638,0,0,0.10030019,-4.2392733e-4,-2.2129515e-4)">
transform="matrix(0.10111638,0,0,0.09920503,-4.2392733e-4,-1.9532637e-4)">
<path
inkscape:connector-curvature="0"
id="path58"
@ -138,110 +139,4 @@
d="m 172.49,30.825 c 0,4.7559 0.0951,9.3215 0.19024,13.792 0,0.28535 0.19023,0.47559 0.47559,0.47559 1.5694,0.09512 8.4655,0.2378 10.082,0.2378 1.5694,0 6.6582,-0.04756 8.1801,-0.14268 v -3.4718 -4.1376 c -0.0476,-0.23779 -0.23779,-0.47559 -0.47559,-0.47559 -1.617,-0.04756 -6.8009,-0.09512 -8.4179,-0.09512 h -0.61827 v -2.4731 h 6.1827 v -3.1389 -3.6145 c -0.0476,-0.2378 -0.23779,-0.47559 -0.47559,-0.47559 -1.2365,0 -3.8047,-0.04756 -5.7071,-0.04756 v -2.5206 h 1.8548 c 1.5694,0 6.04,0 7.5619,-0.09512 v -3.4718 -4.1376 c -0.0476,-0.2378 -0.23779,-0.47559 -0.47558,-0.47559 -1.617,-0.04756 -6.7058,-0.09512 -8.3228,-0.09512 -1.5694,0 -8.3704,0.04756 -9.8447,0.09512 -0.14268,4.7559 -0.19024,9.5118 -0.19024,14.268 z"
style="fill:#f0f0f0;fill-opacity:1" />
</g>
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
id="g56-4"
aria-label="CONTENT RATED BY"
transform="matrix(0.09632353,0,0,0.10097609,0.27951205,0.20578756)">
<path
inkscape:connector-curvature="0"
id="path28-8"
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path30-0"
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path32-8"
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path34-1"
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path36-0"
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path38-2"
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path40-2"
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path42-9"
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path44-75"
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path46-6"
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path48-4"
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path50-6"
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path52-3"
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path54-7"
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
style="fill:#f0f0f0;fill-opacity:1" />
</g>
<g
id="g5256"
transform="matrix(1.0104997,0,0,1.0207455,-0.11147923,-272.20974)"
style="fill:#f0f0f0;fill-opacity:1">
<path
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
id="path78-4"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
id="path80-9"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
id="path82-1"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
<path
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
id="path84-7"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
id="path86-0"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
</g>
</svg>

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

View file

@ -7,10 +7,10 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="80.000008"
height="112"
width="80"
height="92"
version="1.1"
viewBox="0 0 21.166668 29.633334"
viewBox="0 0 21.166666 24.341667"
id="svg90"
sodipodi:docname="badge_kidgame.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
@ -33,9 +33,9 @@
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="8.2057888"
inkscape:cx="-57.797153"
inkscape:cy="68.015272"
inkscape:zoom="9.0242459"
inkscape:cx="-20.683876"
inkscape:cy="60.045111"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
@ -54,15 +54,15 @@
</rdf:RDF>
</metadata>
<rect
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
id="rect5286"
width="21.166666"
height="29.633333"
x="-6.884097e-12"
y="-2.3812499e-05" />
height="24.341667"
x="2.2368853e-07"
y="-2.6645353e-15" />
<g
id="g16"
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)"
transform="matrix(0.10079384,0,0,0.08235571,-4.237873e-4,0.04964161)"
style="fill:#d7d7d7;fill-opacity:1">
<rect
x="3.0257001"
@ -74,138 +74,33 @@
</g>
<g
id="g20"
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)">
transform="matrix(0.10079384,0,0,0.0816046,-4.237873e-4,0.13809261)"
style="fill:#000000;fill-opacity:1">
<rect
x="7.7007999"
y="7.7174001"
width="194.89999"
height="279.22"
id="rect18"
style="stroke-width:0.26458001" />
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
</g>
<rect
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
id="rect22"
height="17.395565"
height="17.205626"
width="17.540144"
y="5.3586006"
x="1.8323107" />
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
id="g56-4"
aria-label="CONTENT RATED BY"
transform="matrix(0.09632353,0,0,0.10097609,0.27951205,0.20578757)">
y="5.3001156"
x="1.8132613" />
<path
inkscape:connector-curvature="0"
id="path28-8"
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path30-0"
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path32-8"
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path34-1"
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path36-0"
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path38-2"
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path40-2"
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path42-9"
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path44-75"
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path46-6"
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path48-4"
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path50-6"
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path52-3"
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
style="fill:#f0f0f0;fill-opacity:1" />
<path
inkscape:connector-curvature="0"
id="path54-7"
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
style="fill:#f0f0f0;fill-opacity:1" />
</g>
<g
id="g5256"
transform="matrix(1.0104997,0,0,1.0207455,-0.11147923,-272.20975)"
style="fill:#f0f0f0;fill-opacity:1">
<path
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
id="path78-4"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
id="path80-9"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
id="path82-1"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
<path
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
id="path84-7"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
<path
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
id="path86-0"
inkscape:connector-curvature="0"
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
</g>
<path
style="fill:#3974ff;fill-opacity:1;stroke:#141414;stroke-width:0.22198542;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
style="fill:#3974ff;fill-opacity:1;stroke:#141414;stroke-width:0.21342269;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
inkscape:connector-curvature="0"
id="path24"
d="M 4.0377485,9.2583619 7.4622215,21.291125 17.166592,18.827612 16.262483,15.703927 10.547677,17.184641 10.157055,15.798082 15.87321,14.344771 14.978875,11.218841 9.2784685,12.688144 8.8912025,11.370047 14.612128,9.9380291 13.72988,6.8214421 Z" />
d="M 4.2719194,9.2899832 7.5642988,20.858601 16.894338,18.490114 16.025104,15.486921 10.530737,16.910518 10.155183,15.577444 15.650846,14.180192 14.791009,11.17484 9.310487,12.587467 8.9381592,11.320213 14.438408,9.9434334 13.590192,6.9470637 Z" />
<g
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.31213999"
id="g74"
aria-label="EVERYONE"
transform="matrix(0.09733762,0,0,0.10419427,-4.2360629e-4,-1.9379813e-4)">
transform="matrix(0.09733762,0,0,0.10419427,-4.2465753e-4,-1.9389228e-4)">
<path
inkscape:connector-curvature="0"
id="path58"

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

View file

@ -3,8 +3,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"
id="Layer_1" sodipodi:docname="gen.svg" inkscape:version="0.48.5 r" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="566.932px"
height="90.32px" viewBox="0 0 566.932 90.32" enable-background="new 0 0 566.932 90.32" xml:space="preserve">
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="567.500px"
height="90.32px" viewBox="0 0 567.500 90.32" enable-background="new 0 0 566.932 90.32" xml:space="preserve">
<sodipodi:namedview inkscape:snap-nodes="false" inkscape:snap-global="false" inkscape:current-layer="layer2" inkscape:window-maximized="1" inkscape:window-y="-8" inkscape:window-x="-8" inkscape:window-height="961" inkscape:window-width="1280" inkscape:pageshadow="2" inkscape:pageopacity="0" inkscape:cy="70.422282" inkscape:cx="239.99084" inkscape:zoom="2.8284271" showgrid="false" guidetolerance="10" gridtolerance="10" objecttolerance="10" borderopacity="1" bordercolor="#666666" pagecolor="#ffffff" id="namedview5809">
</sodipodi:namedview>
<g>

Before

Width:  |  Height:  |  Size: 28 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View file

@ -237,8 +237,8 @@ based on: 'recalbox-multi' by the Recalbox community
<alignment>right</alignment>
</text>
<badges name="md_badges">
<pos>0.8125 0.675</pos>
<size>0.15 0.21</size>
<pos>0.815 0.675</pos>
<size>0.13 0.1635</size>
<origin>0 0</origin>
<alignment>left</alignment>
<itemsPerRow>3</itemsPerRow>