This commit is contained in:
2026-08-19 15:08:39 +03:00
parent 478557f3ad
commit a03c54dbe8
5148 changed files with 31553313 additions and 0 deletions

11
hockey_data/__init__.py Normal file
View File

@@ -0,0 +1,11 @@
from .config import HockeySettingsStore
from .database import HockeyDatabase
from .router import create_hockey_router
from .service import HockeyDataService
__all__ = [
"HockeyDataService",
"HockeyDatabase",
"HockeySettingsStore",
"create_hockey_router",
]

2666
hockey_data/agent_bridge.py Normal file

File diff suppressed because it is too large Load Diff

275
hockey_data/auth_bridge.py Normal file
View File

@@ -0,0 +1,275 @@
from __future__ import annotations
import base64
import hashlib
import hmac
import os
import secrets
from dataclasses import dataclass
from datetime import datetime, timedelta
from typing import Protocol
from fastapi import HTTPException, Request, status
from sqlalchemy import create_engine, select, text
from sqlalchemy.engine import Engine
from sqlalchemy.exc import SQLAlchemyError
from .database import HockeyDatabase
from .models import HockeyWebSession
HOCKEY_COOKIE_NAME = "hockey_auth_token"
HOCKEY_SESSION_SECONDS = 4 * 60 * 60
HOCKEY_SESSION_TOUCH_SECONDS = 60
@dataclass(frozen=True, slots=True)
class HockeyUser:
id: str
login: str
display_name: str
is_active: bool = True
is_admin: bool = False
role: str = "operator"
class SharedAuthAdapter(Protocol):
async def current_user(self, request: Request) -> HockeyUser | None:
...
def login(self, username: str, password: str) -> tuple[str, HockeyUser] | None:
...
def logout(self, token: str) -> None:
...
class WFLAuthAdapter:
"""Authenticate against WFL accounts and keep web sessions in hockey DB.
The WFL engine is strictly read-only: no WFL accounts, password hashes or
auth sessions are copied or modified. Only the WFL user id and snapshots
needed for audit/display are stored in the hockey database.
"""
def __init__(self, database_url: str | None, hockey_database: HockeyDatabase) -> None:
self.hockey_database = hockey_database
self.engine: Engine | None = None
if database_url:
self.engine = create_engine(
database_url,
future=True,
pool_pre_ping=True,
)
def login(self, username: str, password: str) -> tuple[str, HockeyUser] | None:
username = username.strip()
if not username or not password:
return None
row = self._wfl_account(username=username)
if row is None or not row["is_active"]:
return None
if not _verify_wfl_password(password, str(row["password_hash"] or "")):
return None
user = _user_from_row(row)
token = secrets.token_urlsafe(48)
now = datetime.utcnow()
with self.hockey_database.session() as session:
session.add(
HockeyWebSession(
token_hash=_token_hash(token),
wfl_user_id=user.id,
login_snapshot=user.login,
role_snapshot=user.role,
created_at=now,
last_activity_at=now,
expires_at=now + timedelta(seconds=HOCKEY_SESSION_SECONDS),
)
)
return token, user
async def current_user(self, request: Request) -> HockeyUser | None:
token = request.cookies.get(HOCKEY_COOKIE_NAME, "").strip()
if not token:
return None
now = datetime.utcnow()
with self.hockey_database.session() as session:
web_session = session.scalar(
select(HockeyWebSession).where(
HockeyWebSession.token_hash == _token_hash(token)
)
)
if (
web_session is None
or web_session.revoked_at is not None
or web_session.expires_at < now
):
return None
wfl_user_id = web_session.wfl_user_id
row = self._wfl_account(user_id=wfl_user_id)
if row is None or not row["is_active"]:
web_session.revoked_at = now
return None
if (
now - web_session.last_activity_at
).total_seconds() >= HOCKEY_SESSION_TOUCH_SECONDS:
web_session.last_activity_at = now
web_session.expires_at = now + timedelta(
seconds=HOCKEY_SESSION_SECONDS
)
return _user_from_row(row)
def logout(self, token: str) -> None:
if not token:
return
with self.hockey_database.session() as session:
web_session = session.scalar(
select(HockeyWebSession).where(
HockeyWebSession.token_hash == _token_hash(token)
)
)
if web_session is not None and web_session.revoked_at is None:
web_session.revoked_at = datetime.utcnow()
def _wfl_account(
self,
*,
username: str | None = None,
user_id: str | None = None,
):
if self.engine is None:
raise HTTPException(
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
detail="WFL_DATABASE_URL is not configured in the hockey .env",
)
where = "u.username = :value" if username is not None else "u.id = :value"
value = username if username is not None else user_id
fields = "u.id, u.username, u.is_active, u.role"
if username is not None:
fields += ", u.password_hash"
try:
with self.engine.connect() as connection:
return connection.execute(
text(
f"""
SELECT {fields}
FROM admin_users AS u
WHERE {where}
LIMIT 1
"""
),
{"value": value},
).mappings().first()
except SQLAlchemyError:
raise HTTPException(
status_code=status.HTTP_503_SERVICE_UNAVAILABLE,
detail="WFL authentication database is unavailable",
)
class LocalBrowserUserAdapter:
"""Explicit development fallback; never enabled in WFL mode."""
def __init__(self) -> None:
self._tokens: dict[str, HockeyUser] = {}
async def current_user(self, request: Request) -> HockeyUser | None:
user_id = request.headers.get("X-Hockey-User", "").strip()
if user_id:
role = request.headers.get("X-Hockey-Role", "operator").strip().lower()
return HockeyUser(
id=user_id,
login=user_id,
display_name=user_id,
is_admin=role == "admin",
role=role,
)
return self._tokens.get(request.cookies.get(HOCKEY_COOKIE_NAME, ""))
def login(self, username: str, password: str) -> tuple[str, HockeyUser] | None:
if not username.strip() or not password:
return None
user = HockeyUser(
id=username.strip(),
login=username.strip(),
display_name=username.strip(),
)
token = secrets.token_urlsafe(32)
self._tokens[token] = user
return token, user
def logout(self, token: str) -> None:
self._tokens.pop(token, None)
def create_auth_adapter(hockey_database: HockeyDatabase) -> SharedAuthAdapter:
mode = os.getenv("HOCKEY_AUTH_MODE", "wfl").strip().lower()
if mode == "dev":
return LocalBrowserUserAdapter()
if mode != "wfl":
raise RuntimeError("HOCKEY_AUTH_MODE must be 'wfl' or 'dev'")
database_url = os.getenv("WFL_DATABASE_URL", "").strip() or None
return WFLAuthAdapter(database_url, hockey_database)
class HockeyAuthDependencies:
def __init__(self, adapter: SharedAuthAdapter) -> None:
self.adapter = adapter
async def optional_user(self, request: Request) -> HockeyUser | None:
return await self.adapter.current_user(request)
async def require_user(self, request: Request) -> HockeyUser:
user = await self.optional_user(request)
if user is None:
raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED,
detail="Hockey authentication required",
)
return user
async def require_admin(self, request: Request) -> HockeyUser:
user = await self.require_user(request)
if not user.is_admin:
raise HTTPException(
status_code=status.HTTP_403_FORBIDDEN,
detail="WFL administrator role required",
)
return user
def _user_from_row(row) -> HockeyUser:
role = str(row["role"] or "operator").strip().lower()
username = str(row["username"] or "").strip()
return HockeyUser(
id=str(row["id"]),
login=username,
display_name=username,
is_active=bool(row["is_active"]),
is_admin=role == "admin",
role=role,
)
def _verify_wfl_password(password: str, stored_hash: str) -> bool:
try:
algorithm, iterations_raw, salt_b64, hash_b64 = stored_hash.split("$", 3)
if algorithm != "pbkdf2_sha256":
return False
iterations = int(iterations_raw)
salt = base64.b64decode(salt_b64)
expected = base64.b64decode(hash_b64)
except Exception:
return False
actual = hashlib.pbkdf2_hmac(
"sha256", password.encode("utf-8"), salt, iterations
)
return hmac.compare_digest(actual, expected)
def _token_hash(token: str) -> str:
return hashlib.sha256(token.encode("utf-8")).hexdigest()

139
hockey_data/auth_router.py Normal file
View File

@@ -0,0 +1,139 @@
from __future__ import annotations
import html
import os
from urllib.parse import parse_qs
from fastapi import APIRouter, HTTPException, Request
from fastapi.responses import HTMLResponse, RedirectResponse
from .auth_bridge import HOCKEY_COOKIE_NAME, HOCKEY_SESSION_SECONDS, HockeyAuthDependencies
def create_hockey_auth_router(auth: HockeyAuthDependencies) -> APIRouter:
router = APIRouter(tags=["Hockey authentication"])
@router.get("/login", response_class=HTMLResponse, include_in_schema=False)
async def login_page(request: Request, reason: str = ""):
if await auth.optional_user(request):
return RedirectResponse("/", status_code=303)
messages = {
"expired": "Сессия завершена. Войдите снова.",
"logout": "Вы вышли из хоккейной панели.",
}
return _login_response(message=messages.get(reason, ""))
@router.post("/login", response_class=HTMLResponse, include_in_schema=False)
async def login_submit(request: Request):
try:
content_length = int(request.headers.get("content-length", "0") or 0)
except ValueError:
content_length = 16_385
if content_length > 16_384:
return _login_response(error="Слишком большой запрос.", status_code=413)
values = parse_qs((await request.body()).decode("utf-8", errors="replace"))
username = (values.get("username") or [""])[0]
password = (values.get("password") or [""])[0]
try:
result = auth.adapter.login(username, password)
except HTTPException as error:
return _login_response(
error=str(error.detail),
username=username,
status_code=error.status_code,
)
if result is None:
return _login_response(
error="Неверный логин или пароль.",
username=username,
status_code=401,
)
token, _user = result
response = RedirectResponse("/", status_code=303)
secure_setting = os.getenv("HOCKEY_COOKIE_SECURE", "").strip().lower()
secure = (
secure_setting in {"1", "true", "yes", "on"}
if secure_setting
else request.url.scheme == "https"
)
response.set_cookie(
HOCKEY_COOKIE_NAME,
token,
httponly=True,
secure=secure,
samesite="lax",
max_age=HOCKEY_SESSION_SECONDS,
path="/",
)
return response
@router.post("/logout", include_in_schema=False)
async def logout(request: Request):
auth.adapter.logout(request.cookies.get(HOCKEY_COOKIE_NAME, ""))
response = RedirectResponse("/login?reason=logout", status_code=303)
response.delete_cookie(HOCKEY_COOKIE_NAME, path="/")
return response
return router
def _login_response(
*,
error: str = "",
message: str = "",
username: str = "",
status_code: int = 200,
) -> HTMLResponse:
error_html = f'<div class="notice error">{html.escape(error)}</div>' if error else ""
message_html = (
f'<div class="notice success">{html.escape(message)}</div>' if message else ""
)
page = f"""<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Вход — Хоккейная панель</title>
<style>
:root {{ color-scheme: dark; font-family: Inter, Segoe UI, Arial, sans-serif; }}
* {{ box-sizing: border-box; }}
body {{ margin: 0; min-height: 100vh; display: grid; place-items: center; color: #eef5ff;
background: radial-gradient(circle at 20% 10%, #173e69 0, transparent 35%),
linear-gradient(145deg, #06101c, #0a1c2f 55%, #07111d); }}
main {{ width: min(430px, calc(100vw - 32px)); padding: 38px; border: 1px solid #31506f;
border-radius: 22px; background: rgba(8, 24, 40, .94); box-shadow: 0 28px 90px #0009; }}
.mark {{ display: inline-flex; padding: 7px 11px; border-radius: 999px; color: #8acbff;
background: #103554; font-size: 12px; font-weight: 800; letter-spacing: .12em; }}
h1 {{ margin: 20px 0 8px; font-size: 29px; }}
p {{ margin: 0 0 26px; color: #9fb2c5; line-height: 1.5; }}
label {{ display: grid; gap: 8px; margin: 16px 0; color: #c9d8e6; font-size: 13px; font-weight: 700; }}
input {{ width: 100%; border: 1px solid #35526d; border-radius: 12px; padding: 13px 14px;
color: white; background: #071421; outline: none; font: inherit; }}
input:focus {{ border-color: #3ea6ff; box-shadow: 0 0 0 3px #168ee633; }}
button {{ width: 100%; margin-top: 12px; border: 0; border-radius: 12px; padding: 14px;
color: #031321; background: linear-gradient(135deg, #61c4ff, #35e0c1); font-weight: 900;
cursor: pointer; }}
.notice {{ margin: 16px 0; border-radius: 10px; padding: 11px 13px; font-size: 13px; }}
.error {{ color: #ffd4d4; background: #5d202b; }} .success {{ color: #caffeb; background: #174c3e; }}
footer {{ margin-top: 23px; color: #71879b; text-align: center; font-size: 12px; }}
</style>
</head>
<body><main>
<span class="mark">STAT2TV · HOCKEY</span>
<h1>Вход в хоккейную панель</h1>
<p>Используйте действующий аккаунт WFL. После входа откроется рабочий интерфейс хоккея.</p>
{message_html}{error_html}
<form method="post" action="/login" autocomplete="on">
<label>Логин<input name="username" value="{html.escape(username)}" autocomplete="username" required autofocus></label>
<label>Пароль<input name="password" type="password" autocomplete="current-password" required></label>
<button type="submit">Войти</button>
</form>
<footer>Аккаунты проверяются в WFL · пароль не сохраняется в хоккейной базе</footer>
</main></body></html>"""
return HTMLResponse(
page,
status_code=status_code,
headers={"Cache-Control": "no-store", "Pragma": "no-cache"},
)

92
hockey_data/client.py Normal file
View File

@@ -0,0 +1,92 @@
from __future__ import annotations
from dataclasses import dataclass
from typing import Any
import httpx
from .config import HockeySettingsStore
class Stat2TVNotFoundError(RuntimeError):
def __init__(self, url: str, status_code: int = 404) -> None:
self.url = url
self.status_code = status_code
super().__init__(f"Stat2TV resource not found: HTTP {status_code}")
@dataclass(slots=True)
class Stat2TVResponse:
content: bytes
status_code: int
content_type: str
auth_mode: str
url: str
class Stat2TVClient:
def __init__(self, settings: HockeySettingsStore) -> None:
self.settings_store = settings
self._working_auth_mode: str | None = None
async def fetch_xml(self, endpoint: str) -> Stat2TVResponse:
settings = self.settings_store.public()
username, password = self.settings_store.credentials()
if not username or not password:
raise RuntimeError(
"Логин и пароль Stat2TV не настроены. "
"Откройте настройки хоккейного модуля."
)
url = settings["base_url"].rstrip("/") + "/" + endpoint.lstrip("/")
requested_mode = settings["auth_mode"]
if requested_mode in {"basic", "digest"}:
modes = [requested_mode]
elif self._working_auth_mode in {"basic", "digest"}:
other = "digest" if self._working_auth_mode == "basic" else "basic"
modes = [self._working_auth_mode, other]
else:
modes = ["basic", "digest"]
last_error: Exception | None = None
for mode in modes:
auth: Any = (
httpx.BasicAuth(username, password)
if mode == "basic"
else httpx.DigestAuth(username, password)
)
try:
async with httpx.AsyncClient(
timeout=float(settings["request_timeout_seconds"]),
verify=bool(settings["verify_ssl"]),
follow_redirects=True,
headers={
"Accept": "application/xml,text/xml,*/*",
"User-Agent": "HockeyControlPanel/20.2",
},
) as client:
response = await client.get(url, auth=auth)
if response.status_code in {401, 403} and requested_mode == "auto":
last_error = RuntimeError(
f"Авторизация {mode} отклонена: HTTP {response.status_code}"
)
continue
if response.status_code in {404, 410}:
raise Stat2TVNotFoundError(str(response.url), response.status_code)
response.raise_for_status()
self._working_auth_mode = mode
return Stat2TVResponse(
content=response.content,
status_code=response.status_code,
content_type=response.headers.get("content-type", ""),
auth_mode=mode,
url=str(response.url),
)
except Stat2TVNotFoundError:
raise
except Exception as error:
last_error = error
if requested_mode != "auto":
break
raise RuntimeError(f"Stat2TV недоступен: {last_error}")

443
hockey_data/config.py Normal file
View File

@@ -0,0 +1,443 @@
from __future__ import annotations
import json
import os
from pathlib import Path
from threading import RLock
from typing import Any
from urllib.parse import urlparse
DEFAULT_STRENGTH_STATE_LABELS: dict[str, dict[str, dict[str, str]]] = {
"regulation": {
"5x5": {"ru": "", "en": ""},
"5x4": {"ru": "PP", "en": "PP"},
"4x4": {"ru": "4 на 4", "en": "4 on 4"},
"5x3": {"ru": "5 на 3", "en": "5 on 3"},
"4x3": {"ru": "4 на 3", "en": "4 on 3"},
"3x3": {"ru": "3 на 3", "en": "3 on 3"},
},
"regular_overtime": {
"3x3": {"ru": "3 на 3", "en": "3 on 3"},
"4x3": {"ru": "4 на 3", "en": "4 on 3"},
"4x4": {"ru": "4 на 4", "en": "4 on 4"},
"5x3": {"ru": "5 на 3", "en": "5 on 3"},
"5x4": {"ru": "5 на 4", "en": "5 on 4"},
"5x5": {"ru": "5 на 5", "en": "5 on 5"},
},
"playoff_overtime": {
"5x5": {"ru": "", "en": ""},
"5x4": {"ru": "PP", "en": "PP"},
"4x4": {"ru": "4 на 4", "en": "4 on 4"},
"5x3": {"ru": "5 на 3", "en": "5 on 3"},
"4x3": {"ru": "4 на 3", "en": "4 on 3"},
"3x3": {"ru": "3 на 3", "en": "3 on 3"},
},
}
DEFAULT_PERIOD_STATUS_LABELS: dict[str, dict[str, dict[str, str]]] = {
"1": {
"compact": {"ru": "1", "en": "1"},
"short": {"ru": "1 ПЕР", "en": "P1"},
"long": {"ru": "1 период", "en": "1st period"},
},
"2": {
"compact": {"ru": "2", "en": "2"},
"short": {"ru": "2 ПЕР", "en": "P2"},
"long": {"ru": "2 период", "en": "2nd period"},
},
"3": {
"compact": {"ru": "3", "en": "3"},
"short": {"ru": "3 ПЕР", "en": "P3"},
"long": {"ru": "3 период", "en": "3rd period"},
},
"ot": {
"compact": {"ru": "ОТ", "en": "OT"},
"short": {"ru": "ОТ", "en": "OT"},
"long": {"ru": "Овертайм", "en": "Overtime"},
},
"ot_numbered": {
"compact": {"ru": "ОТ{n}", "en": "OT{n}"},
"short": {"ru": "ОТ {n}", "en": "OT {n}"},
"long": {"ru": "{n} овертайм", "en": "Overtime {n}"},
},
"so": {
"compact": {"ru": "Б", "en": "SO"},
"short": {"ru": "БУЛ", "en": "SO"},
"long": {"ru": "Буллиты", "en": "Shootout"},
},
"finished": {
"compact": {"ru": "КОН", "en": "FIN"},
"short": {"ru": "ЗАВ", "en": "FINAL"},
"long": {"ru": "Матч завершён", "en": "Final"},
},
}
DEFAULT_SCOREBOARD_TEAM_STATES: dict[str, dict[str, Any]] = {
"home_delayed_penalty": {
"ru": "Отложенный штраф",
"en": "Delayed penalty",
"input": "",
"input_title": "",
"overlay": "2",
"enabled": True,
},
"away_delayed_penalty": {
"ru": "Отложенный штраф",
"en": "Delayed penalty",
"input": "",
"input_title": "",
"overlay": "2",
"enabled": True,
},
"home_empty_net": {
"ru": "Пустые ворота",
"en": "Empty net",
"input": "",
"input_title": "",
"overlay": "3",
"enabled": True,
},
"away_empty_net": {
"ru": "Пустые ворота",
"en": "Empty net",
"input": "",
"input_title": "",
"overlay": "3",
"enabled": True,
},
}
DEFAULT_PUBLIC_SETTINGS: dict[str, Any] = {
"base_url": "https://stat2tv.khl.ru/",
"auth_mode": "auto",
"ui_language": "ru",
"fallback_language": "ru",
"store_ru": True,
"store_en": True,
"sync_interval_seconds": 300,
"request_timeout_seconds": 20,
"verify_ssl": True,
"timezone": "Europe/Moscow",
"auto_sync_on_startup": False,
"games_endpoint_template": "{tournament_id}/schedule-{tournament_id}-live.xml",
"games_auto_discovery": True,
"games_cache_seconds": 300,
"players_endpoint_template": "{tournament_id}/players-{tournament_id}.xml",
"player_countries_endpoint_template": "players-countries.xml",
"referees_endpoint_template": "{tournament_id}/referees-{tournament_id}.xml",
"match_json_endpoint_template": "{tournament_id}/json/{game_id}.json",
"match_json_en_endpoint_template": "{tournament_id}/json_en/{game_id}.json",
"shots_endpoint_template": "shots/shots-{game_id}.json",
"match_directories_cache_seconds": 300,
"standings_endpoint_template": "{tournament_id}/standings-{tournament_id}.xml",
"standings_cache_seconds": 300,
"powerplay_endpoint_template": "{tournament_id}/powerplay-{tournament_id}.xml",
"rank_endpoint_template": "{tournament_id}/rank-{tournament_id}.xml",
"navigation_endpoint_template": "{tournament_id}/navigation-{tournament_id}.xml",
"tournament_statistics_cache_seconds": 300,
"optional_resource_negative_cache_seconds": 86400,
# Operator timer defaults. Values are global, but regular-season and
# playoff overtime are configured separately.
"timer_period_minutes": 20,
"timer_regular_overtime_minutes": 5,
"timer_playoff_overtime_minutes": 20,
"timer_reset_on_period_change": True,
# Strength / power-play graphic rules.
"strength_regulation_skaters": 5,
"strength_regular_overtime_skaters": 3,
"strength_playoff_overtime_skaters": 5,
"strength_min_skaters": 3,
"strength_regulation_display": "pp",
"strength_regular_overtime_display": "numbers",
"strength_playoff_overtime_display": "pp",
"strength_powerplay_label": "PP",
"strength_shorthanded_label": "PK",
"strength_show_shorthanded": False,
"strength_state_labels": DEFAULT_STRENGTH_STATE_LABELS,
"period_status_labels": DEFAULT_PERIOD_STATUS_LABELS,
"scoreboard_team_states": DEFAULT_SCOREBOARD_TEAM_STATES,
}
DEFAULT_SECRET_SETTINGS: dict[str, str] = {
"username": "",
"password": "",
}
class HockeySettingsStore:
"""Public settings and local Stat2TV credentials.
Credentials are kept in a separate local file and are never returned by API.
Environment variables override local values:
STAT2TV_BASE_URL
STAT2TV_LOGIN
STAT2TV_PASSWORD
STAT2TV_AUTH_MODE
STAT2TV_VERIFY_SSL
"""
def __init__(self, settings_dir: Path) -> None:
self.settings_dir = Path(settings_dir)
self.settings_dir.mkdir(parents=True, exist_ok=True)
self.public_file = self.settings_dir / "hockey_api.json"
self.secret_file = self.settings_dir / "stat2tv_credentials.local.json"
self._lock = RLock()
self._ensure_files()
def _ensure_files(self) -> None:
if not self.public_file.exists():
self.public_file.write_text(
json.dumps(DEFAULT_PUBLIC_SETTINGS, ensure_ascii=False, indent=2),
encoding="utf-8",
)
if not self.secret_file.exists():
self.secret_file.write_text(
json.dumps(DEFAULT_SECRET_SETTINGS, ensure_ascii=False, indent=2),
encoding="utf-8",
)
try:
os.chmod(self.secret_file, 0o600)
except OSError:
pass
@staticmethod
def _read_json(path: Path) -> dict[str, Any]:
try:
value = json.loads(path.read_text(encoding="utf-8"))
except (OSError, json.JSONDecodeError, TypeError):
return {}
return value if isinstance(value, dict) else {}
@staticmethod
def _normalise_url(value: str) -> str:
value = (value or "").strip()
if not value:
value = DEFAULT_PUBLIC_SETTINGS["base_url"]
parsed = urlparse(value)
if parsed.scheme not in {"http", "https"} or not parsed.netloc:
raise ValueError("Некорректный адрес Stat2TV")
return value.rstrip("/") + "/"
@staticmethod
def _language(value: Any, fallback: str) -> str:
value = str(value or "").lower().strip()
return value if value in {"ru", "en"} else fallback
def public(self) -> dict[str, Any]:
with self._lock:
raw = {**DEFAULT_PUBLIC_SETTINGS, **self._read_json(self.public_file)}
raw["base_url"] = self._normalise_url(
os.getenv("STAT2TV_BASE_URL", str(raw["base_url"]))
)
raw["auth_mode"] = str(
os.getenv("STAT2TV_AUTH_MODE", raw["auth_mode"])
).lower()
if raw["auth_mode"] not in {"auto", "basic", "digest"}:
raw["auth_mode"] = "auto"
raw["ui_language"] = self._language(raw.get("ui_language"), "ru")
raw["fallback_language"] = self._language(
raw.get("fallback_language"), "ru"
)
raw["store_ru"] = bool(raw.get("store_ru", True))
raw["store_en"] = bool(raw.get("store_en", True))
if not raw["store_ru"] and not raw["store_en"]:
raw["store_ru"] = True
raw["store_en"] = True
for key, low, high, fallback in (
("sync_interval_seconds", 30, 86400, 300),
("request_timeout_seconds", 3, 120, 20),
("games_cache_seconds", 0, 86400, 300),
("match_directories_cache_seconds", 0, 86400, 300),
("standings_cache_seconds", 0, 86400, 300),
("tournament_statistics_cache_seconds", 0, 86400, 300),
("optional_resource_negative_cache_seconds", 300, 604800, 86400),
("timer_period_minutes", 1, 60, 20),
("timer_regular_overtime_minutes", 1, 60, 5),
("timer_playoff_overtime_minutes", 1, 60, 20),
("strength_regulation_skaters", 3, 6, 5),
("strength_regular_overtime_skaters", 3, 6, 3),
("strength_playoff_overtime_skaters", 3, 6, 5),
("strength_min_skaters", 2, 5, 3),
):
try:
value = int(raw.get(key, fallback))
except (TypeError, ValueError):
value = fallback
raw[key] = max(low, min(high, value))
env_verify = os.getenv("STAT2TV_VERIFY_SSL")
if env_verify is not None:
raw["verify_ssl"] = env_verify.strip().lower() in {
"1", "true", "yes", "on"
}
else:
raw["verify_ssl"] = bool(raw.get("verify_ssl", True))
raw["timezone"] = str(raw.get("timezone") or "Europe/Moscow")
raw["auto_sync_on_startup"] = bool(raw.get("auto_sync_on_startup", False))
raw["timer_reset_on_period_change"] = bool(raw.get("timer_reset_on_period_change", True))
raw["strength_show_shorthanded"] = bool(raw.get("strength_show_shorthanded", False))
display_modes = {"pp", "numbers", "pp_numbers"}
for key, fallback in (
("strength_regulation_display", "pp"),
("strength_regular_overtime_display", "numbers"),
("strength_playoff_overtime_display", "pp"),
):
value = str(raw.get(key) or fallback).strip().lower()
raw[key] = value if value in display_modes else fallback
raw["strength_powerplay_label"] = str(raw.get("strength_powerplay_label") or "PP").strip()[:12] or "PP"
raw["strength_shorthanded_label"] = str(raw.get("strength_shorthanded_label") or "PK").strip()[:12] or "PK"
source_labels = raw.get("strength_state_labels")
source_labels = source_labels if isinstance(source_labels, dict) else {}
normalised_labels: dict[str, dict[str, dict[str, str]]] = {}
for phase, defaults in DEFAULT_STRENGTH_STATE_LABELS.items():
phase_source = source_labels.get(phase)
phase_source = phase_source if isinstance(phase_source, dict) else {}
phase_result: dict[str, dict[str, str]] = {}
for state_key, default_labels in defaults.items():
state_source = phase_source.get(state_key)
state_source = state_source if isinstance(state_source, dict) else {}
phase_result[state_key] = {
"ru": str(state_source.get("ru", default_labels["ru"]) or "").strip()[:40],
"en": str(state_source.get("en", default_labels["en"]) or "").strip()[:40],
}
normalised_labels[phase] = phase_result
raw["strength_state_labels"] = normalised_labels
source_period_labels = raw.get("period_status_labels")
source_period_labels = source_period_labels if isinstance(source_period_labels, dict) else {}
normalised_period_labels: dict[str, dict[str, dict[str, str]]] = {}
for period_key, defaults in DEFAULT_PERIOD_STATUS_LABELS.items():
source_period = source_period_labels.get(period_key)
source_period = source_period if isinstance(source_period, dict) else {}
period_result: dict[str, dict[str, str]] = {}
for format_key in ("compact", "short", "long"):
default_format = defaults[format_key]
source_format = source_period.get(format_key)
source_format = source_format if isinstance(source_format, dict) else {}
period_result[format_key] = {
"ru": str(source_format.get("ru", default_format["ru"]) or "").strip()[:64],
"en": str(source_format.get("en", default_format["en"]) or "").strip()[:64],
}
normalised_period_labels[period_key] = period_result
raw["period_status_labels"] = normalised_period_labels
source_team_states = raw.get("scoreboard_team_states")
source_team_states = source_team_states if isinstance(source_team_states, dict) else {}
normalised_team_states: dict[str, dict[str, Any]] = {}
for state_key, defaults in DEFAULT_SCOREBOARD_TEAM_STATES.items():
source = source_team_states.get(state_key)
source = source if isinstance(source, dict) else {}
overlay = str(source.get("overlay") or defaults["overlay"]).strip()
if overlay not in {"1", "2", "3", "4"}:
overlay = str(defaults["overlay"])
normalised_team_states[state_key] = {
"ru": str(source.get("ru", defaults["ru"]) or "").strip()[:48],
"en": str(source.get("en", defaults["en"]) or "").strip()[:48],
"input": str(source.get("input") or "").strip()[:300],
"input_title": str(source.get("input_title") or "").strip()[:300],
"overlay": overlay,
"enabled": bool(source.get("enabled", defaults["enabled"])),
}
raw["scoreboard_team_states"] = normalised_team_states
raw["games_endpoint_template"] = str(
raw.get("games_endpoint_template") or ""
).strip()
raw["games_auto_discovery"] = bool(
raw.get("games_auto_discovery", True)
)
for key in (
"players_endpoint_template",
"player_countries_endpoint_template",
"referees_endpoint_template",
"match_json_endpoint_template",
"match_json_en_endpoint_template",
"shots_endpoint_template",
"standings_endpoint_template",
"powerplay_endpoint_template",
"rank_endpoint_template",
"navigation_endpoint_template",
):
raw[key] = str(
raw.get(key) or DEFAULT_PUBLIC_SETTINGS[key]
).strip()
return raw
def credentials(self) -> tuple[str, str]:
with self._lock:
raw = {**DEFAULT_SECRET_SETTINGS, **self._read_json(self.secret_file)}
username = os.getenv("STAT2TV_LOGIN", str(raw.get("username") or ""))
password = os.getenv("STAT2TV_PASSWORD", str(raw.get("password") or ""))
return username.strip(), password
def status(self) -> dict[str, Any]:
settings = self.public()
username, password = self.credentials()
return {
**settings,
"credentials_configured": bool(username and password),
"username_masked": self.mask_username(username),
}
@staticmethod
def mask_username(username: str) -> str:
if not username:
return ""
if len(username) <= 2:
return "" * len(username)
return f"{username[0]}{'' * max(2, len(username)-2)}{username[-1]}"
def update_public(self, payload: dict[str, Any]) -> dict[str, Any]:
allowed = set(DEFAULT_PUBLIC_SETTINGS)
with self._lock:
current = {**DEFAULT_PUBLIC_SETTINGS, **self._read_json(self.public_file)}
for key in allowed:
if key in payload:
current[key] = payload[key]
current["base_url"] = self._normalise_url(str(current["base_url"]))
current["ui_language"] = self._language(current["ui_language"], "ru")
current["fallback_language"] = self._language(
current["fallback_language"], "ru"
)
self.public_file.write_text(
json.dumps(current, ensure_ascii=False, indent=2),
encoding="utf-8",
)
return self.status()
def update_credentials(
self,
*,
username: str | None,
password: str | None,
clear_password: bool = False,
) -> dict[str, Any]:
with self._lock:
current = {**DEFAULT_SECRET_SETTINGS, **self._read_json(self.secret_file)}
if username is not None:
current["username"] = username.strip()
if clear_password:
current["password"] = ""
elif password not in (None, ""):
current["password"] = str(password)
self.secret_file.write_text(
json.dumps(current, ensure_ascii=False, indent=2),
encoding="utf-8",
)
try:
os.chmod(self.secret_file, 0o600)
except OSError:
pass
return self.status()

364
hockey_data/database.py Normal file
View File

@@ -0,0 +1,364 @@
from __future__ import annotations
import os
from contextlib import contextmanager
from datetime import datetime
from pathlib import Path
from threading import RLock
from typing import Any, Iterator
from sqlalchemy import create_engine, inspect, text
from sqlalchemy.engine import Engine, make_url
from sqlalchemy.exc import SQLAlchemyError
from sqlalchemy.orm import Session, sessionmaker
from .models import (
Base,
Coach,
CoachTournament,
Country,
Game,
GameControlState,
GameTeamStatistic,
GameOfficial,
GameRoster,
OperatorSession,
PenaltyType,
Player,
PlayerTournament,
PlayerSeasonStatistic,
Referee,
RefereeTournament,
ShootoutAttempt,
TournamentStanding,
TournamentStandingRow,
TournamentStatisticResource,
TournamentStatisticRow,
TeamSeasonStatistic,
UserPreference,
VmixAssignment,
VmixDevice,
VmixMappingProfile,
VmixMappingField,
MappingContextVariable,
MappingContextValue,
MappingSqlDataSource,
)
class HockeyDatabase:
"""Remote PostgreSQL database layer with additive schema repair.
The hockey application deliberately has no SQLite fallback. A valid remote
PostgreSQL URL must be supplied through ``HOCKEY_DATABASE_URL``.
"""
def __init__(self, base_dir: Path) -> None:
self.base_dir = Path(base_dir)
self.url = self._required_postgresql_url()
parsed_url = make_url(self.url)
self._target = {
"backend": "postgresql",
"driver": parsed_url.drivername,
"host": parsed_url.host or "",
"port": parsed_url.port or 5432,
"database": parsed_url.database or "",
"remote_only": True,
}
self._schema_lock = RLock()
self._last_schema_report: dict[str, Any] = {
"ok": False,
"repaired": [],
"rebuilt": False,
"error": "not_checked",
**self._target,
}
self.engine: Engine = create_engine(
self.url,
future=True,
hide_parameters=True,
pool_pre_ping=True,
pool_size=self._env_int("HOCKEY_DB_POOL_SIZE", 10, 1, 100),
max_overflow=self._env_int("HOCKEY_DB_MAX_OVERFLOW", 20, 0, 200),
pool_timeout=self._env_int("HOCKEY_DB_POOL_TIMEOUT", 30, 1, 300),
pool_recycle=self._env_int("HOCKEY_DB_POOL_RECYCLE", 1800, 60, 86400),
connect_args={
"connect_timeout": self._env_int(
"HOCKEY_DB_CONNECT_TIMEOUT", 10, 1, 120
),
"application_name": "hockey-control-panel",
},
)
self.SessionFactory = sessionmaker(
bind=self.engine,
autoflush=False,
expire_on_commit=False,
future=True,
)
self._verify_connection()
@staticmethod
def _env_int(name: str, fallback: int, low: int, high: int) -> int:
try:
value = int(os.getenv(name, str(fallback)))
except (TypeError, ValueError):
value = fallback
return max(low, min(high, value))
@staticmethod
def _required_postgresql_url() -> str:
raw = os.getenv("HOCKEY_DATABASE_URL", "").strip()
if not raw:
raise RuntimeError(
"HOCKEY_DATABASE_URL не задан. Хоккейный проект работает только "
"с удалённой PostgreSQL-базой. Создайте .env по примеру .env.example."
)
# Accept common aliases, but always use the psycopg 3 driver installed
# by requirements.txt.
if raw.startswith("postgres://"):
raw = "postgresql+psycopg://" + raw[len("postgres://") :]
elif raw.startswith("postgresql://"):
raw = "postgresql+psycopg://" + raw[len("postgresql://") :]
try:
parsed = make_url(raw)
except Exception as error:
raise RuntimeError("Некорректный HOCKEY_DATABASE_URL") from error
if parsed.get_backend_name() != "postgresql":
raise RuntimeError(
"HOCKEY_DATABASE_URL должен указывать на PostgreSQL. "
"SQLite и локальные файлы базы отключены."
)
if not parsed.host or not parsed.database:
raise RuntimeError(
"В HOCKEY_DATABASE_URL должны быть указаны сервер и имя базы данных."
)
if parsed.drivername != "postgresql+psycopg":
parsed = parsed.set(drivername="postgresql+psycopg")
return parsed.render_as_string(hide_password=False)
def _verify_connection(self) -> None:
try:
with self.engine.connect() as connection:
connection.execute(text("SELECT 1"))
except SQLAlchemyError as error:
target = f"{self._target['host']}:{self._target['port']}/{self._target['database']}"
raise RuntimeError(
"Не удалось подключиться к удалённой хоккейной PostgreSQL-базе "
f"{target}. Проверьте HOCKEY_DATABASE_URL, сеть и права пользователя."
) from error
def create_all(self) -> None:
"""Create missing tables and add newly introduced non-key columns."""
with self._schema_lock:
self._verify_connection()
try:
migrated = self._migrate_operator_session_user_id()
Base.metadata.create_all(self.engine)
repaired = migrated + self._repair_game_table()
for model in (
OperatorSession,
Country,
PenaltyType,
Player,
PlayerTournament,
Coach,
CoachTournament,
GameRoster,
GameControlState,
ShootoutAttempt,
Referee,
RefereeTournament,
GameOfficial,
TournamentStanding,
TournamentStandingRow,
TournamentStatisticResource,
TournamentStatisticRow,
TeamSeasonStatistic,
PlayerSeasonStatistic,
GameTeamStatistic,
UserPreference,
VmixDevice,
VmixAssignment,
VmixMappingProfile,
VmixMappingField,
MappingContextVariable,
MappingContextValue,
MappingSqlDataSource,
):
repaired.extend(self._repair_additive_table(model))
self._validate_game_table()
Base.metadata.create_all(self.engine)
self._last_schema_report = {
"ok": True,
"repaired": repaired,
"rebuilt": False,
"error": "",
**self._target,
}
except Exception as error:
self._last_schema_report = {
"ok": False,
"repaired": [],
"rebuilt": False,
"error": str(error),
**self._target,
}
raise
def _migrate_operator_session_user_id(self) -> list[str]:
"""Rename the legacy browser identity column without losing sessions."""
table_name = OperatorSession.__tablename__
inspector = inspect(self.engine)
if table_name not in inspector.get_table_names():
return []
columns = {column["name"] for column in inspector.get_columns(table_name)}
if "user_id" not in columns:
return []
if "wfl_user_id" in columns:
with self.engine.begin() as connection:
connection.execute(
text(
f'UPDATE "{table_name}" SET "wfl_user_id" = "user_id" '
'WHERE "wfl_user_id" = \'\' '
'AND "user_id" NOT LIKE \'browser-%\''
)
)
connection.execute(
text(
f'UPDATE "{table_name}" SET "status" = \'closed\' '
'WHERE "wfl_user_id" = \'\' OR "user_id" LIKE \'browser-%\''
)
)
connection.execute(
text('DROP INDEX IF EXISTS "ix_hockey_sessions_user_status"')
)
connection.execute(
text(f'ALTER TABLE "{table_name}" DROP COLUMN "user_id"')
)
return [f"{table_name}.dropped_legacy_user_id"]
with self.engine.begin() as connection:
connection.execute(
text(
f'ALTER TABLE "{table_name}" '
'RENAME COLUMN "user_id" TO "wfl_user_id"'
)
)
return [f"{table_name}.user_id->wfl_user_id"]
def schema_status(self) -> dict[str, Any]:
return dict(self._last_schema_report)
def ensure_game_schema(self) -> dict[str, Any]:
self.create_all()
return self.schema_status()
def _repair_game_table(self) -> list[str]:
inspector = inspect(self.engine)
if Game.__tablename__ not in inspector.get_table_names():
Game.__table__.create(self.engine, checkfirst=True)
return ["created:hockey_games"]
existing = {
column["name"] for column in inspector.get_columns(Game.__tablename__)
}
repaired: list[str] = []
with self.engine.begin() as connection:
for column in Game.__table__.columns:
if column.name in existing:
continue
if column.primary_key:
raise RuntimeError(
f"В таблице отсутствует ключевой столбец {column.name}"
)
connection.execute(
text(
f'ALTER TABLE "{Game.__tablename__}" '
f'ADD COLUMN "{column.name}" {self._column_add_ddl(column)}'
)
)
repaired.append(column.name)
return repaired
def _repair_additive_table(self, model: Any) -> list[str]:
table = model.__table__
inspector = inspect(self.engine)
if table.name not in inspector.get_table_names():
table.create(self.engine, checkfirst=True)
return [f"created:{table.name}"]
existing = {column["name"] for column in inspector.get_columns(table.name)}
repaired: list[str] = []
with self.engine.begin() as connection:
for column in table.columns:
if column.name in existing:
continue
if column.primary_key:
raise RuntimeError(
f"Cannot add missing primary key column {table.name}.{column.name}"
)
connection.execute(
text(
f'ALTER TABLE "{table.name}" '
f'ADD COLUMN "{column.name}" {self._column_add_ddl(column)}'
)
)
repaired.append(f"{table.name}.{column.name}")
return repaired
def _column_add_ddl(self, column: Any) -> str:
sql_type = column.type.compile(dialect=self.engine.dialect)
parts = [sql_type]
if not column.nullable:
parts.append("NOT NULL")
default_sql = self._safe_default_sql(column)
if default_sql is not None:
parts.append(f"DEFAULT {default_sql}")
return " ".join(parts)
@staticmethod
def _safe_default_sql(column: Any) -> str | None:
try:
python_type: type[Any] | None = column.type.python_type
except (AttributeError, NotImplementedError):
python_type = None
if column.nullable:
return None
if python_type is bool:
return "FALSE"
if python_type in {int, float}:
return "0"
if python_type is datetime:
return "CURRENT_TIMESTAMP"
return "''"
def _validate_game_table(self) -> None:
inspector = inspect(self.engine)
existing = {
column["name"] for column in inspector.get_columns(Game.__tablename__)
}
expected = {column.name for column in Game.__table__.columns}
missing = sorted(expected - existing)
if missing:
raise RuntimeError(
"Не удалось обновить таблицу hockey_games. "
f"Отсутствуют поля: {', '.join(missing)}"
)
with self.engine.connect() as connection:
connection.execute(text('SELECT * FROM "hockey_games" LIMIT 1'))
@contextmanager
def session(self) -> Iterator[Session]:
session = self.SessionFactory()
try:
yield session
session.commit()
except Exception:
session.rollback()
raise
finally:
session.close()

View File

@@ -0,0 +1,307 @@
{
"version": 1,
"title": "Функции формул vMix JSON — хоккей",
"description": "Справочник функций для вычисляемых колонок хоккейных vMix JSON.",
"categories": [
{
"title": "Поля и сборка строк",
"items": [
{
"name": "get",
"example": "get('player')",
"description": "Взять поле по имени. Если поля нет — пустая строка."
},
{
"name": "val",
"example": "val('total', '-')",
"description": "То же самое, что get()."
},
{
"name": "concat",
"example": "concat(position, '. ', player)",
"description": "Склеить значения без разделителя."
},
{
"name": "join",
"example": "join(' / ', player, club, total)",
"description": "Склеить только заполненные значения через разделитель."
},
{
"name": "tpl",
"example": "tpl('#{position} {player} {total}')",
"description": "Шаблон с подстановкой полей в фигурных скобках."
},
{
"name": "coalesce",
"example": "coalesce(player, name, '-')",
"description": "Первое непустое значение."
}
]
},
{
"title": "Текст",
"items": [
{
"name": "split",
"example": "split(player, ' ', 0)",
"description": "Разбить строку и взять часть по индексу."
},
{
"name": "part",
"example": "part(player, ' ', 1)",
"description": "Короткий вариант split(value, sep, index)."
},
{
"name": "left",
"example": "left(player, 3)",
"description": "Первые N символов."
},
{
"name": "right",
"example": "right(player, 3)",
"description": "Последние N символов."
},
{
"name": "mid",
"example": "mid(player, 2, 4)",
"description": "Фрагмент строки."
},
{
"name": "replace",
"example": "replace(player, ' ', ' ')",
"description": "Обычная замена текста."
},
{
"name": "upper/lower/title/strip",
"example": "upper(country)",
"description": "Регистр и очистка пробелов."
},
{
"name": "swap",
"example": "swap(player)",
"description": "Поменять порядок частей строки: Иван Петров → Петров Иван."
}
]
},
{
"title": "Условия",
"items": [
{
"name": "case / iif",
"example": "case(to_par == 0, 'E', to_par)",
"description": "Если условие истинно — первое значение, иначе второе."
},
{
"name": "empty / filled",
"example": "if_empty(total, '-', total)",
"description": "Проверка пустого/заполненного значения."
},
{
"name": "if_empty",
"example": "if_empty(thru, '—', thru)",
"description": "Если пусто."
},
{
"name": "if_filled",
"example": "if_filled(country, country, '')",
"description": "Если заполнено."
},
{
"name": "if_contains",
"example": "if_contains(status, 'active', 'LIVE', '')",
"description": "Если строка содержит текст."
},
{
"name": "if_not_contains",
"example": "if_not_contains(status, 'active', '', 'LIVE')",
"description": "Если строка не содержит текст."
},
{
"name": "if_equals / if_eq",
"example": "if_eq(to_par, '0', 'E', to_par)",
"description": "Если значение равно ожидаемому."
},
{
"name": "if_field_empty",
"example": "if_field_empty('today', '-', today)",
"description": "Проверить поле по имени."
}
]
},
{
"title": "Поиск и Regex",
"items": [
{
"name": "contains",
"example": "contains(player, 'Иван')",
"description": "True/False: содержит текст."
},
{
"name": "starts / ends",
"example": "starts(player, 'A')",
"description": "Начинается/заканчивается на текст."
},
{
"name": "regex / match",
"example": "regex(player, '^A')",
"description": "Проверка регулярным выражением."
},
{
"name": "if_regex",
"example": "if_regex(player, '^A', 'A', '')",
"description": "Условие по регулярному выражению."
},
{
"name": "re_replace",
"example": "re_replace(title, '(\\d)(?=(\\d{3})+\\b)', '\\1.')",
"description": "Regex-замена."
},
{
"name": "re_replace_first",
"example": "re_replace_first(text, '\\s+', ' ')",
"description": "Заменить только первое совпадение."
},
{
"name": "re_remove",
"example": "re_remove(player, '\\s+')",
"description": "Удалить по regex."
},
{
"name": "re_extract",
"example": "re_extract(player, '#(\\d+)', 1)",
"description": "Достать группу из текста."
},
{
"name": "first_match",
"example": "first_match(title, {'СБ':'Барьеры', 'Бег':'Бег'}, '')",
"description": "Первое совпавшее правило."
}
]
},
{
"title": "Числа, время, даты",
"items": [
{
"name": "number / num",
"example": "number(total, 0)",
"description": "Преобразовать в число."
},
{
"name": "int/float/round/min/max/abs/sum",
"example": "round(number(total), 1)",
"description": "Базовая математика Python."
},
{
"name": "format_thousands",
"example": "format_thousands(10000)",
"description": "10.000."
},
{
"name": "format_distance",
"example": "format_distance('10000')",
"description": "Формат дистанций: 10.000."
},
{
"name": "time_seconds",
"example": "time_seconds('1:02.34')",
"description": "Время в секунды."
},
{
"name": "format_time",
"example": "format_time(62.34, 'auto_tt')",
"description": "Секунды обратно во время."
},
{
"name": "time_diff",
"example": "time_diff(result, leader, 'auto_tt')",
"description": "Разница двух времен."
},
{
"name": "today",
"example": "today('%d.%m.%Y')",
"description": "Сегодняшняя дата."
},
{
"name": "age / age_at",
"example": "age_at(birthDate, today())",
"description": "Возраст по дате рождения."
},
{
"name": "birth_year",
"example": "birth_year(birthDate)",
"description": "Год рождения."
}
]
},
{
"title": "Склейка JSON",
"items": [
{
"name": "match",
"example": "player_id=id",
"description": "Сопоставление ключей: слева поле основного JSON, справа поле подключаемого источника."
},
{
"name": "fields",
"example": "club=club\\ncountry=country",
"description": "Какие поля подтянуть: слева новое имя поля, справа поле источника."
},
{
"name": "multiple",
"example": "first / last / all / count",
"description": "Что делать, если найдено несколько совпадений."
},
{
"name": "source_type",
"example": "scores / tournament / round / vmix_json / url",
"description": "Тип подключаемого источника данных."
}
]
},
{
"title": "Вертикальные вычисления по таблице",
"items": [
{
"name": "max",
"example": "max('total')",
"description": "Максимальное числовое значение колонки по всем строкам текущей таблицы. Для обычных чисел max(1, 2) тоже работает."
},
{
"name": "min",
"example": "min('total')",
"description": "Минимальное числовое значение колонки по всем строкам текущей таблицы."
},
{
"name": "avg / average / mean",
"example": "avg('total')",
"description": "Среднее числовое значение колонки по всем строкам текущей таблицы."
},
{
"name": "values",
"example": "values('total')",
"description": "Список числовых значений колонки по всем строкам. Можно использовать в своих формулах."
},
{
"name": "first_value / first",
"example": "first_value('total')",
"description": "Значение колонки из первой строки таблицы после сортировки/подготовки данных."
},
{
"name": "diff_first / diff_from_first",
"example": "diff_first('total', 2)",
"description": "Разница между значением текущей строки и первой строки: current - first. Второй аргумент — округление."
},
{
"name": "gap_first / gap_from_first",
"example": "gap_first('total', 2)",
"description": "То же, что diff_first(), но сразу форматирует со знаком +/-. Удобно для отставаний."
},
{
"name": "row_index / row_number",
"example": "row_number()",
"description": "Номер текущей строки: row_index() с нуля, row_number() с единицы."
}
]
}
]
}

View File

@@ -0,0 +1,279 @@
{
"version": 1,
"configs": [
{
"key": "scoreboard",
"title": "Верхний счёт",
"description": "Счёт, период, время и численные составы.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/scoreboard.json",
"source_type": "scoreboard",
"root_key": "rows",
"output_mode": "columns",
"default_limit": 1,
"enabled": true,
"columns": [
{
"key": "game_id",
"label": "ID матча",
"source": "game_id",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "home_score",
"label": "Счёт хозяев",
"source": "home_score",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "away_score",
"label": "Счёт гостей",
"source": "away_score",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "period",
"label": "Период",
"source": "period",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "time",
"label": "Время",
"source": "time",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "timer_running",
"label": "Таймер запущен",
"source": "timer_running",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "strength",
"label": "Состав",
"source": "strength",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "strength_state_key",
"label": "Ключ состава",
"source": "strength_state_key",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "strength_state_label",
"label": "Подпись состава",
"source": "strength_state_label",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "home_strength",
"label": "Игроков хозяев",
"source": "home_strength",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "away_strength",
"label": "Игроков гостей",
"source": "away_strength",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "home_powerplay_label",
"label": "Подпись хозяев",
"source": "home_powerplay_label",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "away_powerplay_label",
"label": "Подпись гостей",
"source": "away_powerplay_label",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "status",
"label": "Статус",
"source": "status",
"default": "",
"enabled": true,
"mode": "field"
}
]
},
{
"key": "info",
"title": "Информация о матче",
"description": "Команды, арена, дата, турнир и управление матчем.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/info.json",
"source_type": "info",
"root_key": "rows",
"output_mode": "columns",
"default_limit": 1,
"enabled": true,
"columns": [
{
"key": "game_id",
"label": "ID матча",
"source": "game_id",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "home_team",
"label": "Хозяева",
"source": "home_team",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "away_team",
"label": "Гости",
"source": "away_team",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "arena",
"label": "Арена",
"source": "arena",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "date",
"label": "Дата",
"source": "date",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "start_time",
"label": "Время начала",
"source": "start_time",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "tournament_title",
"label": "Турнир",
"source": "tournament.title",
"default": "",
"enabled": true,
"mode": "field"
},
{
"key": "period",
"label": "Период",
"source": "control.current_period",
"default": "",
"enabled": true,
"mode": "field"
}
]
},
{
"key": "home_lineup",
"title": "Состав хозяев",
"description": "Все игроки левой команды.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/home_lineup.json",
"source_type": "home_lineup",
"root_key": "rows",
"output_mode": "all",
"default_limit": 0,
"enabled": true,
"columns": []
},
{
"key": "away_lineup",
"title": "Состав гостей",
"description": "Все игроки правой команды.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/away_lineup.json",
"source_type": "away_lineup",
"root_key": "rows",
"output_mode": "all",
"default_limit": 0,
"enabled": true,
"columns": []
},
{
"key": "penalties",
"title": "Активные удаления",
"description": "Текущие удаления обеих команд.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/penalties.json",
"source_type": "penalties",
"root_key": "rows",
"output_mode": "all",
"default_limit": 0,
"enabled": true,
"columns": []
},
{
"key": "officials",
"title": "Судьи",
"description": "Судьи выбранного матча.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/officials.json",
"source_type": "officials",
"root_key": "rows",
"output_mode": "all",
"default_limit": 0,
"enabled": true,
"columns": []
},
{
"key": "events",
"title": "События матча",
"description": "Play-by-play и события выбранного матча.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/events.json",
"source_type": "events",
"root_key": "rows",
"output_mode": "all",
"default_limit": 0,
"enabled": true,
"columns": []
},
{
"key": "full_match",
"title": "Полный матч",
"description": "Сессия, турнир, матч и состояние управления одним объектом.",
"endpoint": "/vmix/hockey/channel/{channel}/{language}/custom/full_match.json",
"source_type": "full_match",
"root_key": "rows",
"output_mode": "all",
"default_limit": 1,
"enabled": true,
"columns": []
}
]
}

View File

@@ -0,0 +1,320 @@
from __future__ import annotations
# Generated from ISO 3166 data. Kept local so the app has no runtime package dependency.
ISO3_TO_ISO2: dict[str, str] = {
'ABW': 'AW',
'AFG': 'AF',
'AGO': 'AO',
'AIA': 'AI',
'ALA': 'AX',
'ALB': 'AL',
'AND': 'AD',
'ARE': 'AE',
'ARG': 'AR',
'ARM': 'AM',
'ASM': 'AS',
'ATA': 'AQ',
'ATF': 'TF',
'ATG': 'AG',
'AUS': 'AU',
'AUT': 'AT',
'AZE': 'AZ',
'BDI': 'BI',
'BEL': 'BE',
'BEN': 'BJ',
'BES': 'BQ',
'BFA': 'BF',
'BGD': 'BD',
'BGR': 'BG',
'BHR': 'BH',
'BHS': 'BS',
'BIH': 'BA',
'BLM': 'BL',
'BLR': 'BY',
'BLZ': 'BZ',
'BMU': 'BM',
'BOL': 'BO',
'BRA': 'BR',
'BRB': 'BB',
'BRN': 'BN',
'BTN': 'BT',
'BVT': 'BV',
'BWA': 'BW',
'CAF': 'CF',
'CAN': 'CA',
'CCK': 'CC',
'CHE': 'CH',
'CHL': 'CL',
'CHN': 'CN',
'CIV': 'CI',
'CMR': 'CM',
'COD': 'CD',
'COG': 'CG',
'COK': 'CK',
'COL': 'CO',
'COM': 'KM',
'CPV': 'CV',
'CRI': 'CR',
'CUB': 'CU',
'CUW': 'CW',
'CXR': 'CX',
'CYM': 'KY',
'CYP': 'CY',
'CZE': 'CZ',
'DEU': 'DE',
'DJI': 'DJ',
'DMA': 'DM',
'DNK': 'DK',
'DOM': 'DO',
'DZA': 'DZ',
'ECU': 'EC',
'EGY': 'EG',
'ERI': 'ER',
'ESH': 'EH',
'ESP': 'ES',
'EST': 'EE',
'ETH': 'ET',
'FIN': 'FI',
'FJI': 'FJ',
'FLK': 'FK',
'FRA': 'FR',
'FRO': 'FO',
'FSM': 'FM',
'GAB': 'GA',
'GBR': 'GB',
'GEO': 'GE',
'GGY': 'GG',
'GHA': 'GH',
'GIB': 'GI',
'GIN': 'GN',
'GLP': 'GP',
'GMB': 'GM',
'GNB': 'GW',
'GNQ': 'GQ',
'GRC': 'GR',
'GRD': 'GD',
'GRL': 'GL',
'GTM': 'GT',
'GUF': 'GF',
'GUM': 'GU',
'GUY': 'GY',
'HKG': 'HK',
'HMD': 'HM',
'HND': 'HN',
'HRV': 'HR',
'HTI': 'HT',
'HUN': 'HU',
'IDN': 'ID',
'IMN': 'IM',
'IND': 'IN',
'IOT': 'IO',
'IRL': 'IE',
'IRN': 'IR',
'IRQ': 'IQ',
'ISL': 'IS',
'ISR': 'IL',
'ITA': 'IT',
'JAM': 'JM',
'JEY': 'JE',
'JOR': 'JO',
'JPN': 'JP',
'KAZ': 'KZ',
'KEN': 'KE',
'KGZ': 'KG',
'KHM': 'KH',
'KIR': 'KI',
'KNA': 'KN',
'KOR': 'KR',
'KWT': 'KW',
'LAO': 'LA',
'LBN': 'LB',
'LBR': 'LR',
'LBY': 'LY',
'LCA': 'LC',
'LIE': 'LI',
'LKA': 'LK',
'LSO': 'LS',
'LTU': 'LT',
'LUX': 'LU',
'LVA': 'LV',
'MAC': 'MO',
'MAF': 'MF',
'MAR': 'MA',
'MCO': 'MC',
'MDA': 'MD',
'MDG': 'MG',
'MDV': 'MV',
'MEX': 'MX',
'MHL': 'MH',
'MKD': 'MK',
'MLI': 'ML',
'MLT': 'MT',
'MMR': 'MM',
'MNE': 'ME',
'MNG': 'MN',
'MNP': 'MP',
'MOZ': 'MZ',
'MRT': 'MR',
'MSR': 'MS',
'MTQ': 'MQ',
'MUS': 'MU',
'MWI': 'MW',
'MYS': 'MY',
'MYT': 'YT',
'NAM': 'NA',
'NCL': 'NC',
'NER': 'NE',
'NFK': 'NF',
'NGA': 'NG',
'NIC': 'NI',
'NIU': 'NU',
'NLD': 'NL',
'NOR': 'NO',
'NPL': 'NP',
'NRU': 'NR',
'NZL': 'NZ',
'OMN': 'OM',
'PAK': 'PK',
'PAN': 'PA',
'PCN': 'PN',
'PER': 'PE',
'PHL': 'PH',
'PLW': 'PW',
'PNG': 'PG',
'POL': 'PL',
'PRI': 'PR',
'PRK': 'KP',
'PRT': 'PT',
'PRY': 'PY',
'PSE': 'PS',
'PYF': 'PF',
'QAT': 'QA',
'REU': 'RE',
'ROU': 'RO',
'RUS': 'RU',
'RWA': 'RW',
'SAU': 'SA',
'SDN': 'SD',
'SEN': 'SN',
'SGP': 'SG',
'SGS': 'GS',
'SHN': 'SH',
'SJM': 'SJ',
'SLB': 'SB',
'SLE': 'SL',
'SLV': 'SV',
'SMR': 'SM',
'SOM': 'SO',
'SPM': 'PM',
'SRB': 'RS',
'SSD': 'SS',
'STP': 'ST',
'SUR': 'SR',
'SVK': 'SK',
'SVN': 'SI',
'SWE': 'SE',
'SWZ': 'SZ',
'SXM': 'SX',
'SYC': 'SC',
'SYR': 'SY',
'TCA': 'TC',
'TCD': 'TD',
'TGO': 'TG',
'THA': 'TH',
'TJK': 'TJ',
'TKL': 'TK',
'TKM': 'TM',
'TLS': 'TL',
'TON': 'TO',
'TTO': 'TT',
'TUN': 'TN',
'TUR': 'TR',
'TUV': 'TV',
'TWN': 'TW',
'TZA': 'TZ',
'UGA': 'UG',
'UKR': 'UA',
'UMI': 'UM',
'URY': 'UY',
'USA': 'US',
'UZB': 'UZ',
'VAT': 'VA',
'VCT': 'VC',
'VEN': 'VE',
'VGB': 'VG',
'VIR': 'VI',
'VNM': 'VN',
'VUT': 'VU',
'WLF': 'WF',
'WSM': 'WS',
'YEM': 'YE',
'ZAF': 'ZA',
'ZMB': 'ZM',
'ZWE': 'ZW',
}
def iso2_from_code(value: str) -> str:
code = "".join(character for character in str(value or "").upper() if character.isalpha())
if len(code) == 2:
return code
if len(code) == 3:
return ISO3_TO_ISO2.get(code, "")
return ""
ISO2_TO_ISO3: dict[str, str] = {iso2: iso3 for iso3, iso2 in ISO3_TO_ISO2.items()}
def iso3_from_code(value: str) -> str:
code = "".join(character for character in str(value or "").upper() if character.isalpha())
if len(code) == 3 and code in ISO3_TO_ISO2:
return code
if len(code) == 2:
return ISO2_TO_ISO3.get(code, "")
return ""
# Numeric country identifiers used by the KHL Stat2TV players-countries feed.
# The XML contains one Player per row and does not carry ISO codes, so the
# identifier has to be translated before local SVG flags can be selected.
KHL_COUNTRY_ID_TO_ISO3: dict[str, str] = {
"1": "RUS",
"2": "CZE",
"3": "SVK",
"4": "LVA",
"5": "BLR",
"6": "KAZ",
"7": "USA",
"8": "CAN",
"9": "UKR",
"10": "EST",
"11": "LTU",
"12": "SWE",
"13": "FIN",
"14": "AUT",
"15": "DEU",
"16": "DNK",
"17": "NOR",
"18": "CHE",
"19": "HUN",
"20": "SVN",
"21": "JPN",
"22": "POL",
"23": "GBR",
"24": "MDA",
"25": "HRV",
"26": "KOR",
"27": "BGR",
"28": "ITA",
"29": "FRA",
"30": "BEL",
"31": "CHN",
"32": "ISR",
"33": "UZB",
"43": "NLD",
}
def khl_country_codes(country_id: str) -> tuple[str, str]:
iso3 = KHL_COUNTRY_ID_TO_ISO3.get(str(country_id or "").strip(), "")
return iso2_from_code(iso3), iso3

View File

@@ -0,0 +1,71 @@
from __future__ import annotations
from typing import Any
LEAGUE_LABELS: dict[str, dict[str, str]] = {
"khl": {"ru": "КХЛ", "en": "KHL"},
"vhl": {"ru": "ВХЛ", "en": "VHL"},
"vhlb": {"ru": "Первенство ВХЛ", "en": "VHL Tournament"},
"mhl": {"ru": "МХЛ", "en": "MHL"},
"mhlb": {"ru": "НМХЛ / Первенство МХЛ", "en": "NMHL / MHL Tournament"},
"whl": {"ru": "ЖХЛ", "en": "WHL"},
"fhr": {"ru": "ФХР", "en": "FHR"},
"hist": {"ru": "Исторические турниры", "en": "Historical tournaments"},
"histb": {"ru": "Исторические лиги", "en": "Historical leagues"},
}
STAGE_LABELS: dict[str, dict[str, str]] = {
"regular": {"ru": "Регулярный чемпионат", "en": "Regular season"},
"playoff": {"ru": "Плей-офф", "en": "Playoffs"},
"playout": {"ru": "Плей-аут", "en": "Playout"},
"cup": {"ru": "Кубок", "en": "Cup"},
"other": {"ru": "Другой этап", "en": "Other stage"},
}
def normalise_language(value: str | None, fallback: str = "ru") -> str:
value = str(value or "").lower().strip()
return value if value in {"ru", "en"} else fallback
def choose_text(
ru: str | None,
en: str | None,
*,
language: str,
fallback_language: str = "ru",
) -> str:
language = normalise_language(language)
fallback_language = normalise_language(fallback_language)
values = {"ru": str(ru or "").strip(), "en": str(en or "").strip()}
return (
values.get(language)
or values.get(fallback_language)
or values["ru"]
or values["en"]
)
def league_label(level: str, language: str) -> str:
language = normalise_language(language)
return LEAGUE_LABELS.get(level, {}).get(language) or level.upper() or ""
def stage_key(season_part: str, round_code: str = "") -> str:
value = str(season_part or "").lower()
if value in {"regular", "playoff", "playout"}:
return value
if str(round_code or "").lower() in {"c", "s", "n"}:
return "cup"
return "other"
def stage_label(season_part: str, round_code: str, language: str) -> str:
key = stage_key(season_part, round_code)
language = normalise_language(language)
return STAGE_LABELS[key][language]
def bilingual(ru: Any, en: Any) -> dict[str, str]:
return {"ru": str(ru or ""), "en": str(en or "")}

View File

@@ -0,0 +1,966 @@
from __future__ import annotations
import json
import re
from datetime import datetime
from typing import Any
from fastapi import HTTPException
from sqlalchemy import and_, delete, select, text
from sqlalchemy.exc import SQLAlchemyError
from .auth_bridge import HockeyUser
from .database import HockeyDatabase
from .localization import stage_key
from .service import HockeyDataService
from .models import (
Game,
GameControlState,
Tournament,
MappingContextValue,
MappingContextVariable,
MappingSqlDataSource,
VmixDevice,
)
_KEY_RE = re.compile(r"^[A-Za-z][A-Za-z0-9_.-]{0,127}$")
_SOURCE_CODE_RE = re.compile(r"^[A-Za-z][A-Za-z0-9_]{0,99}$")
_PARAM_RE = re.compile(r"(?<!:):([A-Za-z][A-Za-z0-9_]*)")
_LANG_SUFFIX_RE = re.compile(r"^(?P<base>.+)_(?P<lang>RUS|ENG)$", re.IGNORECASE)
_DANGEROUS_SQL_RE = re.compile(
r"\b(insert|update|delete|drop|alter|create|truncate|grant|revoke|copy|call|do|execute|"
r"vacuum|analyze|reindex|refresh|lock|set|reset|listen|notify|unlisten|prepare|deallocate|discard)\b",
re.IGNORECASE,
)
_DANGEROUS_FUNCTION_RE = re.compile(
r"\b(pg_sleep|pg_read_file|pg_read_binary_file|pg_ls_dir|lo_import|lo_export|dblink|"
r"pg_terminate_backend|pg_cancel_backend)\s*\(",
re.IGNORECASE,
)
def _utcnow() -> datetime:
return datetime.utcnow()
DEFAULT_CONTEXT_VARIABLES: tuple[dict[str, Any], ...] = (
{"key": "game_id", "label": "Текущий матч", "category": "Система", "entity_type": "match", "scope": "match", "source_type": "system"},
{"key": "tournament_id", "label": "Текущий турнир", "category": "Система", "entity_type": "tournament", "scope": "match", "source_type": "system"},
{"key": "team1_id", "label": "Команда 1 / хозяева", "category": "Система", "entity_type": "team", "scope": "match", "source_type": "system"},
{"key": "team2_id", "label": "Команда 2 / гости", "category": "Система", "entity_type": "team", "scope": "match", "source_type": "system"},
{"key": "account_id", "label": "Аккаунт оператора", "category": "Система", "entity_type": "account", "scope": "account", "source_type": "system"},
{"key": "device_id", "label": "Активный Agent", "category": "Система", "entity_type": "device", "scope": "session", "source_type": "system"},
{"key": "assignment_id", "label": "Текущее назначение Agent", "category": "Система", "entity_type": "assignment", "scope": "session", "source_type": "system"},
{"key": "active_tab", "label": "Активная вкладка интерфейса", "category": "Система", "entity_type": "tab", "scope": "session", "source_type": "selection"},
{"key": "selected_team_id", "label": "Выбранная команда", "category": "Выделенные", "entity_type": "team", "scope": "match", "source_type": "selection"},
{"key": "selected_player_id", "label": "Выбранный игрок", "category": "Выделенные", "entity_type": "player", "scope": "match", "source_type": "selection"},
{"key": "selected_player_team_id", "label": "Команда выбранного игрока", "category": "Выделенные", "entity_type": "team", "scope": "match", "source_type": "selection"},
{"key": "player_team1_id", "label": "Выбранный игрок команды 1", "category": "Выделенные", "entity_type": "player", "scope": "match", "source_type": "selection"},
{"key": "player_team2_id", "label": "Выбранный игрок команды 2", "category": "Выделенные", "entity_type": "player", "scope": "match", "source_type": "selection"},
{"key": "selected_goalkeeper_id", "label": "Выбранный вратарь", "category": "Выделенные", "entity_type": "player", "scope": "match", "source_type": "selection"},
{"key": "selected_coach_id", "label": "Выбранный тренер", "category": "Выделенные", "entity_type": "coach", "scope": "match", "source_type": "selection"},
{"key": "selected_referee_id", "label": "Выбранный судья", "category": "Выделенные", "entity_type": "referee", "scope": "match", "source_type": "selection"},
{"key": "selected_goal_id", "label": "Выбранный гол", "category": "Выделенные", "entity_type": "goal", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_id", "label": "Выбранное удаление", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_player_id", "label": "Игрок выбранного удаления", "category": "Выделенные", "entity_type": "player", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_team_id", "label": "Команда выбранного удаления", "category": "Выделенные", "entity_type": "team", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_infraction_id", "label": "Нарушение выбранного удаления", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_preset_id", "label": "Длительность выбранного удаления", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_side", "label": "Сторона выбранного удаления", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_event_time", "label": "Время события выбранного удаления", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_status", "label": "Статус выбранного удаления", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_remaining_ms", "label": "Остаток выбранного удаления, мс", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_penalty_duration_ms", "label": "Длительность выбранного удаления, мс", "category": "Выделенные", "entity_type": "penalty", "scope": "match", "source_type": "selection"},
{"key": "selected_event_id", "label": "Выбранное событие", "category": "Выделенные", "entity_type": "event", "scope": "match", "source_type": "selection"},
{"key": "selected_stat_player_id", "label": "Игрок для статистики", "category": "Выделенные", "entity_type": "player", "scope": "match", "source_type": "selection"},
{"key": "selected_stat_team_id", "label": "Команда для статистики", "category": "Выделенные", "entity_type": "team", "scope": "match", "source_type": "selection"},
{"key": "highlighted_game_id", "label": "Выделенный матч", "category": "Дополнительные", "entity_type": "match", "scope": "session", "source_type": "manual"},
{"key": "compare_player1_id", "label": "Игрок сравнения 1", "category": "Сравнение", "entity_type": "player", "scope": "session", "source_type": "manual"},
{"key": "compare_player2_id", "label": "Игрок сравнения 2", "category": "Сравнение", "entity_type": "player", "scope": "session", "source_type": "manual"},
{"key": "compare_team1_id", "label": "Команда сравнения 1", "category": "Сравнение", "entity_type": "team", "scope": "session", "source_type": "manual"},
{"key": "compare_team2_id", "label": "Команда сравнения 2", "category": "Сравнение", "entity_type": "team", "scope": "session", "source_type": "manual"},
)
DEFAULT_SQL_SOURCES: tuple[dict[str, Any], ...] = (
{
"code": "game",
"name": "Матч и команды",
"category": "Матч",
"description": "Основные данные текущего матча. Параметр :game_id берётся из контекста.",
"sql_text": """SELECT
g.external_id AS \"id\",
g.tournament_external_id AS \"tournament_id\",
CAST(g.game_date AS TEXT) AS \"date\",
g.start_time AS \"time\",
g.status AS \"status\",
g.arena_ru AS \"venue\",
g.home_team_external_id AS \"home.id\",
g.home_team_name_ru AS \"home.name\",
g.home_team_short_ru AS \"home.short_name\",
g.home_team_city_ru AS \"home.city\",
g.home_score AS \"home.score\",
g.away_team_external_id AS \"away.id\",
g.away_team_name_ru AS \"away.name\",
g.away_team_short_ru AS \"away.short_name\",
g.away_team_city_ru AS \"away.city\",
g.away_score AS \"away.score\"
FROM hockey_games g
WHERE g.external_id = :game_id
LIMIT 1""",
"field_metadata": {
"id": {"label": "ID матча"}, "tournament_id": {"label": "ID турнира"},
"date": {"label": "Дата"}, "time": {"label": "Время начала"}, "status": {"label": "Статус"}, "venue": {"label": "Арена / площадка"},
"home.id": {"label": "ID команды", "category": "Хозяева"}, "home.name": {"label": "Название команды", "category": "Хозяева"},
"home.short_name": {"label": "Короткое название", "category": "Хозяева"}, "home.city": {"label": "Город", "category": "Хозяева"}, "home.score": {"label": "Счёт", "category": "Хозяева", "kind": "number"}, "home.logo": {"label": "Логотип", "category": "Хозяева", "kind": "image"},
"away.id": {"label": "ID команды", "category": "Гости"}, "away.name": {"label": "Название команды", "category": "Гости"},
"away.short_name": {"label": "Короткое название", "category": "Гости"}, "away.city": {"label": "Город", "category": "Гости"}, "away.score": {"label": "Счёт", "category": "Гости", "kind": "number"}, "away.logo": {"label": "Логотип", "category": "Гости", "kind": "image"},
},
},
{
"code": "tournament",
"name": "Турнир",
"category": "Турнир",
"description": "Данные выбранного турнира.",
"sql_text": """SELECT
t.external_id AS \"id\",
t.name_ru AS \"name\",
t.common_name_ru AS \"common_name\",
t.season AS \"season\",
t.season_part AS \"stage\",
t.level AS \"level\"
FROM hockey_tournaments t
WHERE t.external_id = :tournament_id
LIMIT 1""",
"field_metadata": {"id": {"label": "ID турнира"}, "name": {"label": "Название турнира"}, "common_name": {"label": "Короткое название"}, "season": {"label": "Сезон"}, "stage": {"label": "Этап"}, "level": {"label": "Лига"}},
},
{
"code": "selected_player",
"name": "Выбранный игрок",
"category": "Выбранный игрок",
"description": "Карточка игрока по :selected_player_id. До выбора игрока источник возвращает пустой результат.",
"sql_text": """SELECT
p.external_id AS \"id\",
p.full_name_ru AS \"full_name\",
p.last_name_ru AS \"last_name\",
p.first_name_ru AS \"first_name\",
COALESCE(pt.jersey_number, '') AS \"number\",
p.position_ru AS \"position\",
p.photo_url AS \"photo\",
COALESCE(pt.club_external_id, '') AS \"team_id\",
COALESCE(pt.team_name_ru, '') AS \"team_name\"
FROM hockey_players p
LEFT JOIN hockey_player_tournaments pt
ON pt.player_id = p.id AND pt.tournament_external_id = :tournament_id
WHERE p.external_id = :selected_player_id
ORDER BY pt.active DESC
LIMIT 1""",
"field_metadata": {"id": {"label": "ID игрока"}, "full_name": {"label": "Фамилия + Имя"}, "last_name": {"label": "Фамилия"}, "first_name": {"label": "Имя"}, "number": {"label": "Номер"}, "position": {"label": "Амплуа"}, "photo": {"label": "Фото", "kind": "image"}, "team_id": {"label": "ID команды"}, "team_name": {"label": "Команда"}},
},
{
"code": "highlighted_game",
"name": "Выделенный матч",
"category": "Выделенный матч",
"description": "Любой дополнительный матч по пользовательской переменной :highlighted_game_id.",
"sql_text": """SELECT
g.external_id AS \"id\",
CAST(g.game_date AS TEXT) AS \"date\",
g.start_time AS \"time\",
g.home_team_name_ru AS \"home.name\",
g.home_score AS \"home.score\",
g.away_team_name_ru AS \"away.name\",
g.away_score AS \"away.score\"
FROM hockey_games g
WHERE g.external_id = :highlighted_game_id
LIMIT 1""",
"field_metadata": {},
},
)
class MappingDataService:
"""Dynamic context variables and read-only SQL data sources for vMix mapping."""
def __init__(self, database: HockeyDatabase, settings: Any | None = None) -> None:
self.database = database
self.settings = settings
def _current_language(self, supplied: dict[str, Any] | None = None) -> str:
supplied = supplied or {}
raw = str(supplied.get("ui_language") or supplied.get("language") or "").strip().lower()
if raw not in {"ru", "en"} and self.settings is not None:
try:
raw = str(self.settings.public().get("ui_language") or "ru").strip().lower()
except Exception:
raw = "ru"
return raw if raw in {"ru", "en"} else "ru"
def ensure_defaults(self) -> None:
now = _utcnow()
with self.database.session() as session:
existing_vars = {row.key for row in session.scalars(select(MappingContextVariable))}
for index, item in enumerate(DEFAULT_CONTEXT_VARIABLES):
if item["key"] in existing_vars:
continue
session.add(MappingContextVariable(
key=item["key"], label=item["label"], category=item.get("category", "Контекст"),
description=item.get("description", ""), value_type=item.get("value_type", "id"),
entity_type=item.get("entity_type", ""), scope=item.get("scope", "match"),
source_type=item.get("source_type", "manual"), default_value=item.get("default_value", ""),
is_system=item.get("source_type") == "system", enabled=True, sort_order=index,
created_by="system", updated_by="system", created_at=now, updated_at=now,
))
existing_sources = {row.code for row in session.scalars(select(MappingSqlDataSource))}
for index, item in enumerate(DEFAULT_SQL_SOURCES):
if item["code"] in existing_sources:
continue
session.add(MappingSqlDataSource(
code=item["code"], name=item["name"], category=item.get("category", "Данные"),
description=item.get("description", ""), sql_text=item["sql_text"],
field_metadata_json=json.dumps(item.get("field_metadata", {}), ensure_ascii=False),
enabled=True, sort_order=index, created_by="system", updated_by="system",
created_at=now, updated_at=now,
))
@staticmethod
def _variable_payload(row: MappingContextVariable) -> dict[str, Any]:
return {
"id": row.id, "key": row.key, "label": row.label, "category": row.category,
"description": row.description, "value_type": row.value_type, "entity_type": row.entity_type,
"scope": row.scope, "source_type": row.source_type, "default_value": row.default_value,
"is_system": bool(row.is_system), "enabled": bool(row.enabled), "sort_order": row.sort_order,
}
@staticmethod
def _source_payload(row: MappingSqlDataSource, *, include_sql: bool = True) -> dict[str, Any]:
try:
metadata = json.loads(row.field_metadata_json or "{}")
except Exception:
metadata = {}
result = {
"id": row.id, "code": row.code, "name": row.name, "category": row.category,
"description": row.description, "enabled": bool(row.enabled),
"auto_refresh_enabled": bool(getattr(row, "auto_refresh_enabled", False)),
"refresh_interval_ms": max(1000, int(getattr(row, "refresh_interval_ms", 1000) or 1000)),
"sort_order": row.sort_order,
"field_metadata": metadata if isinstance(metadata, dict) else {},
}
if include_sql:
result["sql_text"] = row.sql_text
return result
def list_variables(self) -> dict[str, Any]:
self.ensure_defaults()
with self.database.session() as session:
rows = list(session.scalars(select(MappingContextVariable).order_by(MappingContextVariable.sort_order, MappingContextVariable.id)))
return {"variables": [self._variable_payload(row) for row in rows]}
def create_variable(self, payload: Any, user: HockeyUser) -> dict[str, Any]:
self.ensure_defaults()
key = str(payload.key or "").strip()
if not _KEY_RE.fullmatch(key):
raise HTTPException(status_code=422, detail="Ключ: латиница/цифры/._-, начинаться должен с буквы")
if str(payload.source_type or "manual") == "system":
raise HTTPException(status_code=422, detail="Пользовательская переменная не может иметь источник SYSTEM")
now = _utcnow()
with self.database.session() as session:
if session.scalar(select(MappingContextVariable).where(MappingContextVariable.key == key)) is not None:
raise HTTPException(status_code=409, detail="Переменная с таким ключом уже существует")
row = MappingContextVariable(
key=key, label=str(payload.label or key)[:200], category=str(payload.category or "Пользовательские")[:100],
description=str(payload.description or "")[:4000], value_type=str(payload.value_type or "id")[:32],
entity_type=str(payload.entity_type or "")[:32], scope=str(payload.scope or "match")[:32],
source_type=str(payload.source_type or "manual")[:32], default_value=str(payload.default_value or "")[:4000],
is_system=False, enabled=bool(payload.enabled), sort_order=int(payload.sort_order or 1000),
created_by=user.login, updated_by=user.login, created_at=now, updated_at=now,
)
session.add(row); session.flush(); result = self._variable_payload(row)
return result
def update_variable(self, variable_id: int, payload: Any, user: HockeyUser) -> dict[str, Any]:
self.ensure_defaults()
with self.database.session() as session:
row = session.get(MappingContextVariable, variable_id)
if row is None:
raise HTTPException(status_code=404, detail="Переменная не найдена")
if row.is_system:
# System keys are part of the runtime contract; labels can be edited but the technical contract cannot.
row.label = str(payload.label or row.label)[:200]
row.category = str(payload.category or row.category)[:100]
row.description = str(payload.description or row.description)[:4000]
row.enabled = bool(payload.enabled)
else:
key = str(payload.key or row.key).strip()
if not _KEY_RE.fullmatch(key):
raise HTTPException(status_code=422, detail="Некорректный ключ переменной")
duplicate = session.scalar(select(MappingContextVariable).where(and_(MappingContextVariable.key == key, MappingContextVariable.id != row.id)))
if duplicate is not None:
raise HTTPException(status_code=409, detail="Переменная с таким ключом уже существует")
row.key = key
row.label = str(payload.label or key)[:200]
row.category = str(payload.category or "Пользовательские")[:100]
row.description = str(payload.description or "")[:4000]
row.value_type = str(payload.value_type or "id")[:32]
row.entity_type = str(payload.entity_type or "")[:32]
row.scope = str(payload.scope or "match")[:32]
row.source_type = str(payload.source_type or "manual")[:32]
row.default_value = str(payload.default_value or "")[:4000]
row.enabled = bool(payload.enabled)
row.sort_order = int(payload.sort_order or row.sort_order or 1000)
row.updated_by = user.login; row.updated_at = _utcnow(); session.flush(); result = self._variable_payload(row)
return result
def delete_variable(self, variable_id: int) -> dict[str, Any]:
self.ensure_defaults()
with self.database.session() as session:
row = session.get(MappingContextVariable, variable_id)
if row is None:
raise HTTPException(status_code=404, detail="Переменная не найдена")
if row.is_system:
raise HTTPException(status_code=409, detail="Системную переменную удалить нельзя")
session.execute(delete(MappingContextValue).where(MappingContextValue.variable_id == variable_id))
session.delete(row)
return {"ok": True, "id": variable_id}
def list_sources(self) -> dict[str, Any]:
self.ensure_defaults()
with self.database.session() as session:
rows = list(session.scalars(select(MappingSqlDataSource).order_by(MappingSqlDataSource.sort_order, MappingSqlDataSource.id)))
return {"sources": [self._source_payload(row) for row in rows]}
def create_source(self, payload: Any, user: HockeyUser) -> dict[str, Any]:
self.ensure_defaults()
code = str(payload.code or "").strip()
if not _SOURCE_CODE_RE.fullmatch(code):
raise HTTPException(status_code=422, detail="Код источника: латиница, цифры и _, начинаться должен с буквы")
sql_text = str(payload.sql_text or "").strip()
self.validate_sql(sql_text)
now = _utcnow()
with self.database.session() as session:
if session.scalar(select(MappingSqlDataSource).where(MappingSqlDataSource.code == code)) is not None:
raise HTTPException(status_code=409, detail="SQL-источник с таким кодом уже существует")
row = MappingSqlDataSource(
code=code, name=str(payload.name or code)[:200], category=str(payload.category or "Данные")[:100],
description=str(payload.description or "")[:4000], sql_text=sql_text,
field_metadata_json=json.dumps(payload.field_metadata or {}, ensure_ascii=False),
enabled=bool(payload.enabled),
auto_refresh_enabled=bool(getattr(payload, "auto_refresh_enabled", False)),
refresh_interval_ms=max(1000, min(3600000, int(getattr(payload, "refresh_interval_ms", 1000) or 1000))),
sort_order=int(payload.sort_order or 1000),
created_by=user.login, updated_by=user.login, created_at=now, updated_at=now,
)
session.add(row); session.flush(); result = self._source_payload(row)
return result
def update_source(self, source_id: int, payload: Any, user: HockeyUser) -> dict[str, Any]:
self.ensure_defaults()
sql_text = str(payload.sql_text or "").strip(); self.validate_sql(sql_text)
with self.database.session() as session:
row = session.get(MappingSqlDataSource, source_id)
if row is None: raise HTTPException(status_code=404, detail="SQL-источник не найден")
code = str(payload.code or row.code).strip()
if not _SOURCE_CODE_RE.fullmatch(code): raise HTTPException(status_code=422, detail="Некорректный код источника")
duplicate = session.scalar(select(MappingSqlDataSource).where(and_(MappingSqlDataSource.code == code, MappingSqlDataSource.id != row.id)))
if duplicate is not None: raise HTTPException(status_code=409, detail="SQL-источник с таким кодом уже существует")
row.code=code; row.name=str(payload.name or code)[:200]; row.category=str(payload.category or "Данные")[:100]
row.description=str(payload.description or "")[:4000]; row.sql_text=sql_text
row.field_metadata_json=json.dumps(payload.field_metadata or {}, ensure_ascii=False)
row.enabled=bool(payload.enabled)
row.auto_refresh_enabled=bool(getattr(payload, "auto_refresh_enabled", False))
row.refresh_interval_ms=max(1000, min(3600000, int(getattr(payload, "refresh_interval_ms", 1000) or 1000)))
row.sort_order=int(payload.sort_order or row.sort_order or 1000)
row.updated_by=user.login; row.updated_at=_utcnow(); session.flush(); result=self._source_payload(row)
return result
def delete_source(self, source_id: int) -> dict[str, Any]:
self.ensure_defaults()
with self.database.session() as session:
row=session.get(MappingSqlDataSource, source_id)
if row is None: raise HTTPException(status_code=404, detail="SQL-источник не найден")
session.delete(row)
return {"ok": True, "id": source_id}
@staticmethod
def _normalise_sql(sql_text: str) -> str:
"""Remove SQL comments outside quoted strings and allow one trailing semicolon.
The stored editor text is not changed; normalisation happens only for validation/execution.
Multiple statements remain forbidden.
"""
source = str(sql_text or "")
out: list[str] = []
i = 0
quote = ""
while i < len(source):
ch = source[i]
nxt = source[i + 1] if i + 1 < len(source) else ""
if quote:
out.append(ch)
if ch == quote:
if nxt == quote:
out.append(nxt); i += 2; continue
quote = ""
i += 1
continue
if ch in {"'", '"'}:
quote = ch; out.append(ch); i += 1; continue
if ch == "-" and nxt == "-":
i += 2
while i < len(source) and source[i] not in "\r\n": i += 1
out.append("\n")
continue
if ch == "/" and nxt == "*":
end = source.find("*/", i + 2)
if end < 0:
raise HTTPException(status_code=422, detail="Незакрытый SQL-комментарий")
out.append(" "); i = end + 2; continue
out.append(ch); i += 1
sql = "".join(out).strip()
if not sql:
raise HTTPException(status_code=422, detail="SQL пуст")
if sql.endswith(";"):
sql = sql[:-1].rstrip()
# A semicolon that remains outside comments/quotes means more than one statement.
quote = ""; i = 0
while i < len(sql):
ch = sql[i]; nxt = sql[i + 1] if i + 1 < len(sql) else ""
if quote:
if ch == quote:
if nxt == quote: i += 2; continue
quote = ""
i += 1; continue
if ch in {"'", '"'}: quote = ch
elif ch == ";":
raise HTTPException(status_code=422, detail="Разрешён только один read-only SELECT")
i += 1
return sql
@classmethod
def validate_sql(cls, sql_text: str) -> set[str]:
sql = cls._normalise_sql(sql_text)
if not re.match(r"^(select|with)\b", sql, re.IGNORECASE):
raise HTTPException(status_code=422, detail="Разрешены только SELECT / WITH ... SELECT")
if _DANGEROUS_SQL_RE.search(sql) or _DANGEROUS_FUNCTION_RE.search(sql):
raise HTTPException(status_code=422, detail="В SQL обнаружена запрещённая операция")
return cls._find_context_params(sql)
@staticmethod
def _find_context_params(sql: str) -> set[str]:
"""Find :context parameters only in SQL code, never inside quoted strings/identifiers.
This keeps PostgreSQL formats such as 'HH24:MI:SS' and casts such as
value::text from being mistaken for Mapping context variables.
"""
params: set[str] = set()
i = 0
quote = ""
while i < len(sql):
ch = sql[i]
nxt = sql[i + 1] if i + 1 < len(sql) else ""
if quote:
if ch == quote:
if nxt == quote:
i += 2
continue
quote = ""
i += 1
continue
if ch in {"'", '"'}:
quote = ch
i += 1
continue
if ch == ":":
# PostgreSQL cast operator :: is not a bind parameter.
prev = sql[i - 1] if i > 0 else ""
if prev == ":" or nxt == ":" or not (nxt.isalpha()):
i += 1
continue
j = i + 2
while j < len(sql) and (sql[j].isalnum() or sql[j] == "_"):
j += 1
params.add(sql[i + 1:j])
i = j
continue
i += 1
return params
@staticmethod
def _scope_key(variable: MappingContextVariable, user: HockeyUser, context: dict[str, str]) -> str:
scope = (variable.scope or "match").lower()
game_id = context.get("game_id", "")
token = context.get("session_token", "")
if scope == "global": return "global"
if scope == "account": return f"account:{user.id}"
if scope in {"session", "temporary"}: return f"session:{token or user.id}"
return f"match:{game_id or '-'}:account:{user.id}"
def resolve_context(self, user: HockeyUser, supplied: dict[str, Any] | None = None) -> tuple[dict[str, str], list[dict[str, Any]]]:
self.ensure_defaults()
supplied = supplied or {}
context: dict[str, str] = {str(k): str(v) for k, v in supplied.items() if v is not None and str(v) != ""}
context.setdefault("account_id", str(user.id))
context.setdefault("ui_language", self._current_language(supplied))
game_id = context.get("game_id", "")
if game_id:
with self.database.session() as session:
game = session.scalar(select(Game).where(Game.external_id == game_id))
if game is not None:
context.setdefault("tournament_id", game.tournament_external_id or "")
context.setdefault("team1_id", game.home_team_external_id or "")
context.setdefault("team2_id", game.away_team_external_id or "")
if not context.get("device_id"):
with self.database.session() as session:
device = session.scalar(select(VmixDevice).where(and_(VmixDevice.wfl_user_id == user.id, VmixDevice.is_active_for_account.is_(True))))
if device is not None:
context["device_id"] = device.device_uuid
if device.current_assignment_key: context["assignment_id"] = device.current_assignment_key
if not context.get("game_id") and device.current_match_external_id: context["game_id"] = device.current_match_external_id
# Parameterised lower-panel controls are match-scoped system context.
# SQL bind names cannot contain dots, therefore panel.stat_period.value
# becomes :panel_stat_period_value while Mapping keeps the dotted key.
runtime_variable_payloads: list[dict[str, Any]] = []
resolved_game_id = str(context.get("game_id") or "").strip()
if resolved_game_id:
with self.database.session() as session:
game = session.scalar(select(Game).where(Game.external_id == resolved_game_id))
if game is not None:
context.setdefault("tournament_id", game.tournament_external_id or "")
context.setdefault("team1_id", game.home_team_external_id or "")
context.setdefault("team2_id", game.away_team_external_id or "")
control = session.scalar(select(GameControlState).where(GameControlState.game_external_id == resolved_game_id))
if control is not None:
runtime_values = HockeyDataService._runtime_values_from_row(control)
for raw_key, raw_value in runtime_values.items():
sql_key = re.sub(r"[^A-Za-z0-9_]+", "_", str(raw_key)).strip("_")[:120]
if not sql_key or not re.match(r"^[A-Za-z]", sql_key):
sql_key = f"panel_{sql_key}"[:120]
context.setdefault(sql_key, str(raw_value))
runtime_variable_payloads.append({
"key": sql_key,
"label": str(raw_key),
"category": "Нижняя панель",
"description": f"Runtime-параметр нижней панели: {raw_key}",
"scope": "match",
"source_type": "system",
"is_system": True,
"value": str(raw_value),
})
with self.database.session() as session:
variables = list(session.scalars(select(MappingContextVariable).where(MappingContextVariable.enabled.is_(True)).order_by(MappingContextVariable.sort_order, MappingContextVariable.id)))
for variable in variables:
if variable.source_type == "system":
continue
scope_key = self._scope_key(variable, user, context)
value = session.scalar(select(MappingContextValue).where(and_(MappingContextValue.variable_id == variable.id, MappingContextValue.scope_key == scope_key)))
if value is not None and value.value_text != "" and variable.key not in context: context[variable.key] = value.value_text
elif variable.default_value and variable.key not in context: context[variable.key] = variable.default_value
payload = []
for variable in variables:
item = self._variable_payload(variable); item["value"] = context.get(variable.key, ""); payload.append(item)
payload.extend(runtime_variable_payloads)
return context, payload
def set_context_value(self, key: str, value: Any, user: HockeyUser, supplied: dict[str, Any] | None = None) -> dict[str, Any]:
self.ensure_defaults()
context, _ = self.resolve_context(user, supplied)
with self.database.session() as session:
variable = session.scalar(select(MappingContextVariable).where(MappingContextVariable.key == key))
if variable is None: raise HTTPException(status_code=404, detail="Переменная не найдена")
if variable.source_type == "system" or variable.is_system:
raise HTTPException(status_code=409, detail="Системная переменная задаётся программой")
scope_key = self._scope_key(variable, user, context)
row = session.scalar(select(MappingContextValue).where(and_(MappingContextValue.variable_id == variable.id, MappingContextValue.scope_key == scope_key)))
if row is None:
row = MappingContextValue(variable_id=variable.id, scope_key=scope_key, wfl_user_id=user.id,
operator_session_token=context.get("session_token", ""), game_external_id=context.get("game_id", ""),
value_text=str(value if value is not None else ""), updated_by=user.login, updated_at=_utcnow())
session.add(row)
else:
row.value_text=str(value if value is not None else ""); row.updated_by=user.login; row.updated_at=_utcnow()
session.flush()
return {"ok": True, "key": key, "value": str(value if value is not None else ""), "scope_key": scope_key}
@staticmethod
def _pretty_label(column: str) -> str:
leaf = str(column).split(".")[-1].replace("_", " ").strip()
return leaf[:1].upper() + leaf[1:] if leaf else str(column)
@staticmethod
def _infer_kind(column: str, value: Any) -> str:
name = column.lower()
if any(token in name for token in ("photo", "logo", "image", "source")): return "image"
if isinstance(value, (int, float)): return "number"
return "text"
def _run_source(self, source: MappingSqlDataSource, context: dict[str, str], *, max_rows: int = 25) -> dict[str, Any]:
params = self.validate_sql(source.sql_text)
sql_text = self._normalise_sql(source.sql_text)
missing = sorted(name for name in params if not context.get(name))
if missing:
return {"ok": True, "skipped": True, "missing": missing, "columns": [], "rows": [], "row_count": 0}
bound = {name: context.get(name, "") for name in params}
try:
with self.database.engine.connect() as connection:
transaction = connection.begin()
try:
if connection.dialect.name == "postgresql":
connection.execute(text("SET TRANSACTION READ ONLY"))
connection.execute(text("SET LOCAL statement_timeout = '2000ms'"))
result = connection.execute(text(sql_text), bound)
columns = list(result.keys())
rows = [dict(row) for row in result.mappings().fetchmany(max_rows)]
finally:
transaction.rollback()
except SQLAlchemyError as error:
return {"ok": False, "error": str(error).splitlines()[0][:500], "columns": [], "rows": [], "row_count": 0}
serial_rows = []
for row in rows:
serial_rows.append({key: (value.isoformat() if hasattr(value, "isoformat") else value) for key, value in row.items()})
return {"ok": True, "skipped": False, "columns": columns, "rows": serial_rows, "row_count": len(serial_rows)}
def preview_sql(self, sql_text: str, user: HockeyUser, supplied: dict[str, Any] | None = None) -> dict[str, Any]:
self.ensure_defaults(); context, variables = self.resolve_context(user, supplied)
class _PreviewSource:
pass
source = _PreviewSource()
source.sql_text = str(sql_text or "")
result = self._run_source(source, context, max_rows=250)
return {"context": context, "variables": variables, **result}
def preview_source(self, source_id: int, user: HockeyUser, supplied: dict[str, Any] | None = None) -> dict[str, Any]:
self.ensure_defaults(); context, variables = self.resolve_context(user, supplied)
with self.database.session() as session:
source = session.get(MappingSqlDataSource, source_id)
if source is None: raise HTTPException(status_code=404, detail="SQL-источник не найден")
payload = self._source_payload(source)
result = self._run_source(source, context, max_rows=250)
return {"source": payload, "context": context, "variables": variables, **result}
@staticmethod
def _table_row_label(row: dict[str, Any], index: int) -> str:
preferred = (
"full_name", "name", "title", "team_name", "player_name", "last_name",
"id", "external_id", "number",
)
for key in preferred:
value = row.get(key)
if value not in (None, ""):
text_value = str(value)
if len(text_value) > 46:
text_value = text_value[:43] + ""
return f"Строка {index} · {text_value}"
for value in row.values():
if value not in (None, ""):
text_value = str(value)
if len(text_value) > 46:
text_value = text_value[:43] + ""
return f"Строка {index} · {text_value}"
return f"Строка {index}"
@staticmethod
def _language_pairs(columns: list[str]) -> dict[str, dict[str, str]]:
pairs: dict[str, dict[str, str]] = {}
for column in columns:
match = _LANG_SUFFIX_RE.match(str(column))
if not match:
continue
base = match.group("base")
lang = match.group("lang").upper()
canonical = base.casefold()
entry = pairs.setdefault(canonical, {"base": base})
entry[lang] = str(column)
return {key: value for key, value in pairs.items() if value.get("RUS") and value.get("ENG")}
@staticmethod
def _localized_value(row: dict[str, Any], pair: dict[str, str], language: str) -> tuple[Any, str]:
primary = pair.get("RUS" if language == "ru" else "ENG", "")
fallback = pair.get("ENG" if language == "ru" else "RUS", "")
value = row.get(primary, "") if primary else ""
if value in (None, "") and fallback:
value = row.get(fallback, "")
primary = fallback
return value, primary
def _live_control_items(self, context: dict[str, str], language: str) -> list[dict[str, Any]]:
game_id = str(context.get("game_id") or "").strip()
if not game_id:
return []
settings = self.settings.public() if self.settings is not None else {}
with self.database.session() as session:
game = session.scalar(select(Game).where(Game.external_id == game_id))
if game is None:
return []
tournament = session.scalar(
select(Tournament).where(Tournament.external_id == game.tournament_external_id)
)
control = session.scalar(
select(GameControlState).where(GameControlState.game_external_id == game_id)
)
current_period = str(getattr(control, "current_period", "1") or "1")
stage = stage_key(
str(getattr(tournament, "season_part", "") or ""),
str(getattr(tournament, "round_code", "") or ""),
) if tournament is not None else "other"
timer_state = (
HockeyDataService._timer_state_from_row(control)
if control is not None else HockeyDataService._default_game_timer_state()
)
strength = HockeyDataService._strength_payload(
settings,
stage=stage,
current_period=current_period,
timer_state=timer_state,
language=language,
)
flags = HockeyDataService._runtime_flags_from_row(control) if control is not None else {}
period_status = HockeyDataService._period_status_payload(
settings,
current_period=current_period,
language=language,
)
result: list[dict[str, Any]] = []
period_fields = (
("key", "Ключ периода", "text"),
("number", "Номер периода / овертайма", "number"),
("label", "Статус периода · основной", "text"),
("compact", "Статус периода · компактный", "text"),
("short", "Статус периода · короткий", "text"),
("long", "Статус периода · полный", "text"),
("ru", "Статус периода · RU", "text"),
("en", "Статус периода · EN", "text"),
)
for key, label, kind in period_fields:
result.append({
"key": f"period.{key}",
"label": label,
"category": "Матч · Период",
"value": period_status.get(key, ""),
"kind": kind,
"source_code": "live_control",
"description": "Настраиваемая подпись текущего периода из раздела «Таймеры и численные составы».",
})
formats = period_status.get("formats") if isinstance(period_status.get("formats"), dict) else {}
for fmt in ("compact", "short", "long"):
fmt_values = formats.get(fmt) if isinstance(formats.get(fmt), dict) else {}
for lang in ("ru", "en"):
result.append({
"key": f"period.{lang}.{fmt}",
"label": f"{fmt.upper()} · {lang.upper()}",
"category": "Матч · Период · Форматы",
"value": fmt_values.get(lang, ""),
"kind": "text",
"source_code": "live_control",
"description": "Конкретный языковой вариант статуса периода, не зависящий от языка Mapping.",
})
strength_fields = (
("state_key", "Состояние", "text"),
("state_label", "Подпись численного состава", "text"),
("strength_label", "Численный состав HOME×AWAY", "text"),
("advantage_numbers", "Состав большинства", "text"),
("home_label", "Подпись HOME", "text"),
("away_label", "Подпись AWAY", "text"),
("home_skaters", "Игроков HOME", "number"),
("away_skaters", "Игроков AWAY", "number"),
("home_penalties", "Удалений HOME", "number"),
("away_penalties", "Удалений AWAY", "number"),
("advantage_side", "Сторона большинства", "text"),
)
for key, label, kind in strength_fields:
result.append({
"key": f"strength.{key}",
"label": label,
"category": "Матч · Численный состав",
"value": strength.get(key, ""),
"kind": kind,
"source_code": "live_control",
"description": "Рассчитано из текущих удалений с подписями из настроек «Таймеры и численные составы».",
})
for key, value in flags.items():
result.append({
"key": f"match_flag.{key}",
"label": key,
"category": "Матч · Флаги оператора",
"value": "1" if value else "0",
"kind": "text",
"source_code": "live_control",
"description": "Текущее состояние операторской кнопки матча.",
})
runtime_values = HockeyDataService._runtime_values_from_row(control) if control is not None else {}
for key, value in runtime_values.items():
mapping_key = str(key)
if mapping_key.startswith("panel."):
result.append({
"key": mapping_key,
"label": mapping_key,
"category": "Нижняя панель · Параметры",
"value": value,
"kind": "text",
"source_code": "live_control",
"description": "Выбранное значение параметризованной кнопки нижней панели.",
})
return result
def data_catalog(
self,
user: HockeyUser,
supplied: dict[str, Any] | None = None,
*,
source_codes: set[str] | None = None,
) -> dict[str, Any]:
self.ensure_defaults()
language = self._current_language(supplied)
context, variables = self.resolve_context(user, {**(supplied or {}), "ui_language": language})
items: list[dict[str, Any]] = []
tables: list[dict[str, Any]] = []
# Context variables are usable directly as mapping values too.
items.extend(self._live_control_items(context, language))
for variable in variables:
items.append({
"key": f"context.{variable['key']}", "label": variable["label"], "category": f"Контекст · {variable['category']}",
"value": variable.get("value", ""), "kind": "text", "source_code": "context", "variable_key": variable["key"],
"description": variable.get("description", ""),
})
source_results = []
with self.database.session() as session:
sources = list(session.scalars(select(MappingSqlDataSource).where(MappingSqlDataSource.enabled.is_(True)).order_by(MappingSqlDataSource.sort_order, MappingSqlDataSource.id)))
if source_codes is not None:
wanted = {str(code) for code in source_codes}
sources = [source for source in sources if source.code in wanted]
for source in sources:
payload = self._source_payload(source)
# Mapping may address a concrete row/cell, therefore the catalog keeps a
# larger read-only window than the compact SQL preview. 250 rows covers
# rosters, standings and most hockey tables without changing the SQL.
result = self._run_source(source, context, max_rows=250)
source_results.append({"id": source.id, "code": source.code, "name": source.name, "ok": result.get("ok"), "skipped": result.get("skipped", False), "missing": result.get("missing", []), "row_count": result.get("row_count", 0), "error": result.get("error", "")})
rows = result.get("rows") or []
columns = [str(value) for value in (result.get("columns") or [])]
metadata = payload.get("field_metadata", {})
metadata = metadata if isinstance(metadata, dict) else {}
first = rows[0] if rows else {}
language_pairs = self._language_pairs(columns)
paired_raw = {name for pair in language_pairs.values() for name in (pair.get("RUS", ""), pair.get("ENG", "")) if name}
# Raw SQL columns remain available for explicit mappings, even when they
# participate in an automatic _RUS/_ENG pair.
raw_column_info: dict[str, dict[str, Any]] = {}
for column in columns:
meta = metadata.get(column, {}) if isinstance(metadata.get(column, {}), dict) else {}
value = first.get(column, "")
info = {
"key": column,
"label": str(meta.get("label") or self._pretty_label(column)),
"kind": str(meta.get("kind") or self._infer_kind(column, value)),
"description": str(meta.get("description") or ""),
"localized": False,
}
raw_column_info[column] = info
items.append({
"key": f"{source.code}.{column}", "label": info["label"],
"category": str(meta.get("category") or source.category or source.name), "value": value,
"kind": info["kind"], "source_code": source.code, "source_name": source.name,
"column": column, "row_index": 1, "description": info["description"] or source.description or "",
"language_explicit": True if column in paired_raw else False,
})
# Visible table columns collapse paired Foo_RUS/Foo_ENG columns into one
# virtual Foo column. A saved mapping points at source.Foo and is resolved
# according to the current UI language every time it is applied.
visible_columns: list[dict[str, Any]] = []
seen_pair_bases: set[str] = set()
for column in columns:
match = _LANG_SUFFIX_RE.match(column)
pair = language_pairs.get(match.group("base").casefold()) if match else None
if pair:
base = str(pair["base"])
canonical = base.casefold()
if canonical in seen_pair_bases:
continue
seen_pair_bases.add(canonical)
chosen_value, chosen_column = self._localized_value(first, pair, language)
base_meta = metadata.get(base, {}) if isinstance(metadata.get(base, {}), dict) else {}
chosen_meta = metadata.get(chosen_column, {}) if isinstance(metadata.get(chosen_column, {}), dict) else {}
meta = {**chosen_meta, **base_meta}
kind = str(meta.get("kind") or self._infer_kind(base, chosen_value))
label = str(meta.get("label") or self._pretty_label(base))
description = str(meta.get("description") or f"Автовыбор языка: {pair['RUS']} / {pair['ENG']}")
info = {
"key": base, "label": label, "kind": kind, "description": description,
"localized": True, "language": language,
"rus_column": pair["RUS"], "eng_column": pair["ENG"], "resolved_column": chosen_column,
}
visible_columns.append(info)
items.append({
"key": f"{source.code}.{base}", "label": label,
"category": str(meta.get("category") or source.category or source.name),
"value": chosen_value, "kind": kind, "source_code": source.code, "source_name": source.name,
"column": base, "row_index": 1, "description": description,
"localized": True, "language": language,
"rus_column": pair["RUS"], "eng_column": pair["ENG"], "resolved_column": chosen_column,
})
else:
visible_columns.append(raw_column_info[column])
table_rows = []
for row_index, row in enumerate(rows, start=1):
row_label = self._table_row_label(row, row_index)
# Add virtual localized values to the row payload used by the preview/search.
row_values = dict(row)
for pair in language_pairs.values():
base = str(pair["base"])
chosen_value, _ = self._localized_value(row, pair, language)
row_values[base] = chosen_value
table_rows.append({"index": row_index, "label": row_label, "values": row_values})
# Raw cell keys remain supported for explicit language selection.
for column in columns:
info = raw_column_info[column]
value = row.get(column, "")
items.append({
"key": f"{source.code}.row.{row_index}.{column}", "label": info["label"],
"category": f"{source.name} · {row_label}", "value": value, "kind": info["kind"],
"source_code": source.code, "source_name": source.name, "column": column,
"row_index": row_index, "row_label": row_label, "table_cell": True,
"description": info.get("description") or source.description or "",
"language_explicit": True if column in paired_raw else False,
})
# And expose one virtual cell for every paired language column.
for pair in language_pairs.values():
base = str(pair["base"])
chosen_value, chosen_column = self._localized_value(row, pair, language)
base_meta = metadata.get(base, {}) if isinstance(metadata.get(base, {}), dict) else {}
chosen_meta = metadata.get(chosen_column, {}) if isinstance(metadata.get(chosen_column, {}), dict) else {}
meta = {**chosen_meta, **base_meta}
kind = str(meta.get("kind") or self._infer_kind(base, chosen_value))
label = str(meta.get("label") or self._pretty_label(base))
description = str(meta.get("description") or f"Автовыбор языка: {pair['RUS']} / {pair['ENG']}")
items.append({
"key": f"{source.code}.row.{row_index}.{base}", "label": label,
"category": f"{source.name} · {row_label}", "value": chosen_value, "kind": kind,
"source_code": source.code, "source_name": source.name, "column": base,
"row_index": row_index, "row_label": row_label, "table_cell": True,
"description": description, "localized": True, "language": language,
"rus_column": pair["RUS"], "eng_column": pair["ENG"], "resolved_column": chosen_column,
})
tables.append({
"id": source.id, "code": source.code, "name": source.name,
"category": source.category, "description": source.description,
"columns": visible_columns, "raw_columns": [raw_column_info[column] for column in columns],
"rows": table_rows, "row_count": len(table_rows), "ok": result.get("ok", False),
"skipped": result.get("skipped", False), "missing": result.get("missing", []),
"error": result.get("error", ""), "language": language,
"localized_pairs": [
{"base": pair["base"], "rus": pair["RUS"], "eng": pair["ENG"]}
for pair in language_pairs.values()
],
})
game_label = context.get("game_id", "") or "Матч не выбран"
return {
"context": context, "variables": variables, "items": items, "tables": tables,
"sources": source_results, "game_label": game_label, "language": language,
}

View File

@@ -0,0 +1,622 @@
from __future__ import annotations
import json
from dataclasses import dataclass, field
from datetime import date
from typing import Any
from xml.etree import ElementTree as ET
from .match_parser import local_name, parse_date_value
from .iso_country_codes import iso2_from_code, iso3_from_code, khl_country_codes
def _json_object(content: bytes | str) -> dict[str, Any]:
text = (
content.decode("utf-8-sig")
if isinstance(content, bytes)
else str(content).lstrip("\ufeff")
)
value = json.loads(text)
if not isinstance(value, dict):
raise ValueError("Карточка матча Stat2TV должна быть JSON-объектом")
return value
def _raw_json(value: Any) -> str:
return json.dumps(value, ensure_ascii=False, separators=(",", ":"))
def _text(value: Any) -> str:
return str(value or "").strip()
def _truthy(value: Any) -> bool:
return _text(value).lower() in {"1", "true", "yes", "y", "on"}
def _node_values(node: ET.Element) -> dict[str, str]:
values = {local_name(str(key)).lower(): _text(value) for key, value in node.attrib.items()}
for child in list(node):
key = local_name(child.tag).lower()
text = _text(child.text)
if text and key not in values:
values[key] = text
for attr_key, attr_value in child.attrib.items():
compound = f"{key}_{local_name(str(attr_key)).lower()}"
values.setdefault(compound, _text(attr_value))
return values
def _first(values: dict[str, str], *keys: str) -> str:
for key in keys:
value = _text(values.get(key.lower()))
if value:
return value
return ""
def _integer(value: Any) -> int:
text = _text(value).replace(",", ".")
if not text:
return 0
try:
return max(0, int(round(float(text))))
except (TypeError, ValueError):
digits = "".join(character for character in text if character.isdigit())
return int(digits) if digits else 0
def country_flag_emoji(code: str) -> str:
value = iso2_from_code(_text(code))
if len(value) != 2:
return ""
return "".join(chr(127397 + ord(character)) for character in value)
def _split_full_name(value: str) -> tuple[str, str]:
parts = [part for part in _text(value).split() if part]
if not parts:
return "", ""
return parts[0], " ".join(parts[1:])
def canonical_player_role(value: Any) -> str:
role = _text(value).lower()
if role in {"g", "в", "вр", "goalie", "goalkeeper"}:
return "goalkeeper"
if role in {"d", "з", "защ", "defender", "defence", "defense"}:
return "defender"
if role in {"f", "н", "нап", "forward"}:
return "forward"
return role
def player_position_labels(role: str) -> tuple[str, str]:
return {
"goalkeeper": ("ВР", "G"),
"defender": ("ЗАЩ", "D"),
"forward": ("НАП", "F"),
}.get(role, (role.upper(), role.upper()))
def canonical_captain_role(value: Any) -> str:
role = _text(value).lower()
if role in {"к", "c", "captain"}:
return "captain"
if role in {"а", "a", "assistant", "alternate"}:
return "assistant"
return ""
@dataclass(slots=True)
class ParsedPlayerProfile:
external_id: str
first_name_ru: str = ""
first_name_en: str = ""
last_name_ru: str = ""
last_name_en: str = ""
full_name_ru: str = ""
full_name_en: str = ""
position_ru: str = ""
position_en: str = ""
birth_date: date | None = None
height_cm: int = 0
weight_kg: int = 0
stick: str = ""
country_external_id: str = ""
country_code: str = ""
active: bool = True
photo_url: str = ""
raw_payload: str = ""
@dataclass(slots=True)
class ParsedRefereeProfile:
external_id: str
first_name_ru: str = ""
first_name_en: str = ""
last_name_ru: str = ""
last_name_en: str = ""
full_name_ru: str = ""
full_name_en: str = ""
position_code: str = ""
number: str = ""
active: bool = True
birth_date: date | None = None
country_ru: str = ""
country_en: str = ""
country_code: str = ""
town_ru: str = ""
town_en: str = ""
raw_payload: str = ""
@dataclass(slots=True)
class ParsedCountry:
external_id: str
iso2: str = ""
iso3: str = ""
name_ru: str = ""
name_en: str = ""
flag_emoji: str = ""
active: bool = True
raw_payload: str = ""
@dataclass(slots=True)
class ParsedCountries:
countries: dict[str, ParsedCountry] = field(default_factory=dict)
player_country: dict[str, str] = field(default_factory=dict)
@dataclass(slots=True)
class ParsedCoachProfile:
external_id: str
first_name_ru: str = ""
first_name_en: str = ""
last_name_ru: str = ""
last_name_en: str = ""
full_name_ru: str = ""
full_name_en: str = ""
birth_date: date | None = None
country_external_id: str = ""
country_code: str = ""
photo_url: str = ""
active: bool = True
team_external_id: str = ""
team_name_ru: str = ""
team_name_en: str = ""
role_ru: str = "Главный тренер"
role_en: str = "Head coach"
raw_payload: str = ""
@dataclass(slots=True)
class ParsedRosterEntry:
player_external_id: str
team_external_id: str
team_entry_external_id: str
side: str
number: str
role: str
position_ru: str
position_en: str
line_number: str
captain_role: str
lineup_status: str
name_ru: str
name_en: str
raw_payload: str
@dataclass(slots=True)
class ParsedOfficialAssignment:
referee_external_id: str
role: str
slot: int
number: str
name_ru: str
name_en: str
raw_payload: str
@dataclass(slots=True)
class ParsedMatchDetails:
game_external_id: str
game_ru: dict[str, Any]
game_en: dict[str, Any]
teams_ru: dict[str, Any]
teams_en: dict[str, Any]
rosters: list[ParsedRosterEntry] = field(default_factory=list)
officials: list[ParsedOfficialAssignment] = field(default_factory=list)
def parse_players_xml(content: bytes | str) -> dict[str, ParsedPlayerProfile]:
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
result: dict[str, ParsedPlayerProfile] = {}
for node in root.iter():
tag = local_name(node.tag).lower()
if tag not in {"playerstats", "player", "playerstat", "athlete"}:
continue
values = _node_values(node)
external_id = _first(values, "id", "playerid", "player_id", "idplayer")
if not external_id:
continue
role = canonical_player_role(_first(values, "pos", "position", "role", "amplua"))
position_ru, position_en = player_position_labels(role)
full_name_ru = _first(values, "name", "fullname", "full_name", "fio")
full_name_en = _first(values, "nameen", "name_en", "fullnameen", "full_name_en")
last_name_ru, first_name_ru = _split_full_name(full_name_ru)
last_name_en, first_name_en = _split_full_name(full_name_en)
raw_country_code = _first(
values, "countrycode", "country_code", "iso2", "iso3", "countryiso2",
"nationalitycode", "nationality_code",
).upper()
country_code = iso2_from_code(raw_country_code) or raw_country_code
country_external_id = _first(
values, "countryid", "country_id", "idcountry", "nationalityid",
"nationality_id", "country",
)
result[external_id] = ParsedPlayerProfile(
external_id=external_id,
first_name_ru=_first(values, "firstname", "first_name", "namefirst") or first_name_ru,
first_name_en=_first(values, "firstnameen", "firstname_en", "first_name_en") or first_name_en,
last_name_ru=_first(values, "lastname", "last_name", "namelast") or last_name_ru,
last_name_en=_first(values, "lastnameen", "lastname_en", "last_name_en") or last_name_en,
full_name_ru=full_name_ru,
full_name_en=full_name_en,
position_ru=_first(values, "positionru", "position_ru", "posname") or position_ru,
position_en=_first(values, "positionen", "position_en", "posnameen") or position_en,
birth_date=parse_date_value(_first(values, "birthdate", "birth_date", "birthday", "datebirth", "dob")),
height_cm=_integer(_first(values, "height", "heightcm", "height_cm", "rost")),
weight_kg=_integer(_first(values, "weight", "weightkg", "weight_kg", "ves")),
stick=_first(values, "stick", "grip", "shoots", "shoot", "hand", "catch"),
country_external_id=country_external_id,
country_code=country_code,
active=not _first(values, "isactive", "active") or _truthy(_first(values, "isactive", "active")),
photo_url=_first(values, "photo", "photourl", "photo_url", "image", "imageurl"),
raw_payload=_raw_json(values),
)
return result
def parse_coaches_xml(content: bytes | str) -> dict[str, ParsedCoachProfile]:
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
result: dict[str, ParsedCoachProfile] = {}
for node in root.iter():
tag = local_name(node.tag).lower()
if tag not in {"coach", "trainer", "headcoach", "coachstats"}:
continue
values = _node_values(node)
external_id = _first(values, "id", "coachid", "coach_id", "idcoach")
full_name_ru = _first(values, "name", "fullname", "full_name", "fio")
full_name_en = _first(values, "nameen", "name_en", "fullnameen", "full_name_en")
if not external_id:
external_id = _first(values, "teamid", "clubid", "club_id") + ":" + (full_name_ru or full_name_en)
external_id = external_id.strip(":")
if not external_id or not (full_name_ru or full_name_en):
continue
last_name_ru, first_name_ru = _split_full_name(full_name_ru)
last_name_en, first_name_en = _split_full_name(full_name_en)
result[external_id] = ParsedCoachProfile(
external_id=external_id[:64],
first_name_ru=_first(values, "firstname", "first_name") or first_name_ru,
first_name_en=_first(values, "firstnameen", "first_name_en") or first_name_en,
last_name_ru=_first(values, "lastname", "last_name") or last_name_ru,
last_name_en=_first(values, "lastnameen", "last_name_en") or last_name_en,
full_name_ru=full_name_ru,
full_name_en=full_name_en,
birth_date=parse_date_value(_first(values, "birthdate", "birth_date", "birthday", "dob")),
country_external_id=_first(values, "countryid", "country_id", "idcountry", "country"),
country_code=(iso2_from_code(_first(values, "countrycode", "country_code", "iso2", "iso3")) or _first(values, "countrycode", "country_code", "iso2", "iso3").upper()),
photo_url=_first(values, "photo", "photourl", "photo_url"),
active=not _first(values, "isactive", "active") or _truthy(_first(values, "isactive", "active")),
team_external_id=_first(values, "clubid", "club_id", "teamid", "team_id"),
team_name_ru=_first(values, "teamname", "clubname", "team_name", "club_name"),
team_name_en=_first(values, "teamnameen", "clubnameen", "team_name_en", "club_name_en"),
role_ru=_first(values, "roleru", "role_ru", "positionru") or "Главный тренер",
role_en=_first(values, "roleen", "role_en", "positionen") or "Head coach",
raw_payload=_raw_json(values),
)
return result
def parse_player_countries_xml(content: bytes | str) -> ParsedCountries:
"""Parse the global player-country feed across known Stat2TV XML layouts.
The feed has appeared both as a flat player mapping and as nested country/player
groups. We collect bilingual labels from ``label xml:lang`` nodes, recognise
ISO-2/ISO-3 aliases, and create minimal country records for mapping-only codes.
"""
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
parsed = ParsedCountries()
# Current Stat2TV layout:
# <Players><Player id="..." country_id="1"
# country_name="Россия" country_name_en="Russia"/></Players>
# It is a player-country mapping, not a standalone country directory. Build
# the directory while walking those rows so names and flags are not lost.
for player_node in root.iter():
if local_name(player_node.tag).lower() != "player":
continue
values = _node_values(player_node)
player_id = _first(values, "playerid", "player_id", "idplayer", "personid", "person_id", "id")
country_id = _first(values, "countryid", "country_id", "idcountry", "cid")
if not player_id or not country_id or country_id == "0":
continue
name_ru = _first(values, "countryname", "country_name", "countrynameru", "country_name_ru")
name_en = _first(values, "countrynameen", "country_name_en")
raw_code = _first(values, "countrycode", "country_code", "iso", "iso2", "iso3")
iso2 = iso2_from_code(raw_code)
iso3 = iso3_from_code(raw_code)
if not iso2 and not iso3:
iso2, iso3 = khl_country_codes(country_id)
parsed.player_country[player_id] = country_id
existing = parsed.countries.get(country_id)
parsed.countries[country_id] = ParsedCountry(
external_id=country_id[:64],
iso2=(iso2 or (existing.iso2 if existing else ""))[:2],
iso3=(iso3 or (existing.iso3 if existing else ""))[:3],
name_ru=name_ru or (existing.name_ru if existing else ""),
name_en=name_en or (existing.name_en if existing else ""),
flag_emoji=country_flag_emoji(iso2 or (existing.iso2 if existing else "")),
active=True,
raw_payload=_raw_json(values),
)
def labels(node: ET.Element) -> tuple[str, str]:
ru = en = ""
for child in node.iter():
if local_name(child.tag).lower() not in {"label", "name", "countryname"}:
continue
text = (child.text or "").strip()
lang = (child.attrib.get("{http://www.w3.org/XML/1998/namespace}lang") or child.attrib.get("lang") or "").lower()
if lang.startswith("ru") and text: ru = ru or text
elif lang.startswith("en") and text: en = en or text
return ru, en
def country_parts(values: dict[str, str], node: ET.Element) -> tuple[str, str, str, str, str]:
raw_country = _first(values, "country", "countrycode", "country_code", "iso", "iso2", "iso3", "code")
iso2 = _first(values, "iso2", "alpha2", "code2", "countryiso2").upper()
iso3 = _first(values, "iso3", "alpha3", "code3", "countryiso3").upper()
if not iso2 and len(raw_country) == 2 and raw_country.isalpha(): iso2 = raw_country.upper()
if not iso3 and len(raw_country) == 3 and raw_country.isalpha(): iso3 = raw_country.upper()
if not iso2 and iso3: iso2 = iso2_from_code(iso3)
label_ru, label_en = labels(node)
name_ru = _first(values, "nameru", "name_ru", "countryname", "country_name", "name") or label_ru
name_en = _first(values, "nameen", "name_en", "countrynameen", "country_name_en") or label_en
external_id = _first(values, "countryid", "country_id", "idcountry", "cid") or iso3 or iso2 or raw_country
return external_id, iso2, iso3, name_ru, name_en
country_stack: list[str] = []
def walk(node: ET.Element, inherited_country: str = "") -> None:
tag = local_name(node.tag).lower()
values = _node_values(node)
external_id, iso2, iso3, name_ru, name_en = country_parts(values, node)
explicit_country = _first(values, "countryid", "country_id", "idcountry", "country", "countrycode", "country_code", "iso2", "iso3")
looks_country = tag in {"country", "nation", "nationality", "countryitem", "country_item"}
if tag == "item" and (iso2 or iso3) and (name_ru or name_en): looks_country = True
current_country = inherited_country
if looks_country:
external_id = _first(values, "countryid", "country_id", "idcountry", "cid", "id") or external_id
if looks_country and external_id:
current_country = external_id
parsed.countries[external_id] = ParsedCountry(
external_id=external_id[:64], iso2=iso2[:2], iso3=iso3[:3],
name_ru=name_ru, name_en=name_en, flag_emoji=country_flag_emoji(iso2),
active=not _first(values, "isactive", "active") or _truthy(_first(values, "isactive", "active")),
raw_payload=_raw_json(values),
)
player_id = _first(values, "playerid", "player_id", "idplayer", "personid", "person_id")
if tag in {"player", "playercountry", "player_country", "person"} and not player_id:
player_id = _first(values, "id")
if tag == "item" and not looks_country and not player_id and (explicit_country or inherited_country):
player_id = _first(values, "id")
mapping = explicit_country or current_country
if player_id and mapping and str(mapping).strip() != "0":
parsed.player_country[player_id] = mapping
for child in list(node):
walk(child, current_country)
walk(root)
# Resolve aliases and create records for codes that only occur in mappings.
alias: dict[str, str] = {}
for key, country in parsed.countries.items():
for code in (key, country.iso2, country.iso3):
if code: alias[str(code).upper()] = key
for player_id, mapping in list(parsed.player_country.items()):
if str(mapping).strip() == "0":
parsed.player_country.pop(player_id, None)
continue
canonical = alias.get(str(mapping).upper(), mapping)
parsed.player_country[player_id] = canonical
if canonical in parsed.countries: continue
code = str(mapping).upper()
iso2 = iso2_from_code(code)
iso3 = code if len(code) == 3 and code.isalpha() else ""
if not iso2 and not iso3:
iso2, iso3 = khl_country_codes(str(canonical))
parsed.countries[canonical] = ParsedCountry(
external_id=str(canonical)[:64], iso2=iso2, iso3=iso3,
flag_emoji=country_flag_emoji(iso2), raw_payload=_raw_json({"code": mapping}),
)
return parsed
def parse_referees_xml(content: bytes | str) -> dict[str, ParsedRefereeProfile]:
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
result: dict[str, ParsedRefereeProfile] = {}
for node in root.iter():
if local_name(node.tag).lower() not in {"referee", "official"}:
continue
attrs = _node_values(node)
external_id = _first(attrs, "id", "refereeid", "referee_id", "idofficial")
if not external_id:
continue
full_name_ru = attrs.get("name", "")
full_name_en = attrs.get("nameen", "")
last_name_ru, first_name_ru = _split_full_name(full_name_ru)
last_name_en, first_name_en = _split_full_name(full_name_en)
result[external_id] = ParsedRefereeProfile(
external_id=external_id,
first_name_ru=attrs.get("firstname") or first_name_ru,
first_name_en=attrs.get("firstnameen") or first_name_en,
last_name_ru=attrs.get("lastname") or last_name_ru,
last_name_en=attrs.get("lastnameen") or last_name_en,
full_name_ru=full_name_ru,
full_name_en=full_name_en,
position_code=attrs.get("pos") or attrs.get("lastpos", ""),
number=attrs.get("jn", ""),
active=_truthy(attrs.get("isactive", "Y")),
birth_date=parse_date_value(attrs.get("birthdate", "")),
country_ru=_first(attrs, "country", "countryru", "country_ru"),
country_en=_first(attrs, "countryen", "country_en"),
country_code=(iso2_from_code(_first(attrs, "countrycode", "country_code", "iso2", "iso3")) or _first(attrs, "countrycode", "country_code", "iso2", "iso3").upper()),
town_ru=attrs.get("town", ""),
town_en=attrs.get("townen", ""),
raw_payload=_raw_json(attrs),
)
return result
def parse_match_details_json(
content_ru: bytes | str,
content_en: bytes | str | None = None,
*,
expected_game_id: str = "",
) -> ParsedMatchDetails:
data_ru = _json_object(content_ru)
data_en = _json_object(content_en) if content_en else data_ru
game_ru = data_ru.get("game") if isinstance(data_ru.get("game"), dict) else {}
game_en = data_en.get("game") if isinstance(data_en.get("game"), dict) else {}
game_id = _text(game_ru.get("idschedule") or game_en.get("idschedule"))
if not game_id:
raise ValueError("В карточке Stat2TV отсутствует id матча")
if expected_game_id and game_id != _text(expected_game_id):
raise ValueError(
f"Stat2TV вернул карточку матча {game_id} вместо {expected_game_id}"
)
players_ru = data_ru.get("players") if isinstance(data_ru.get("players"), dict) else {}
players_en = data_en.get("players") if isinstance(data_en.get("players"), dict) else {}
rosters: list[ParsedRosterEntry] = []
for source_side, side in (("A", "home"), ("B", "away")):
rows_ru = players_ru.get(source_side) if isinstance(players_ru.get(source_side), dict) else {}
rows_en = players_en.get(source_side) if isinstance(players_en.get(source_side), dict) else {}
numbers = list(dict.fromkeys([*rows_ru.keys(), *rows_en.keys()]))
suffix = "A" if source_side == "A" else "B"
team_external_id = _text(game_ru.get(f"idclub{suffix}") or game_en.get(f"idclub{suffix}"))
team_entry_external_id = _text(game_ru.get(f"idteam{suffix}") or game_en.get(f"idteam{suffix}"))
for number in numbers:
row_ru = rows_ru.get(number) if isinstance(rows_ru.get(number), dict) else {}
row_en = rows_en.get(number) if isinstance(rows_en.get(number), dict) else {}
player_id = _text(row_ru.get("id") or row_en.get("id"))
if not player_id:
continue
role = canonical_player_role(row_en.get("ps") or row_ru.get("ps"))
position_ru, position_en = player_position_labels(role)
played = row_ru.get("pig", row_en.get("pig", 0))
rosters.append(
ParsedRosterEntry(
player_external_id=player_id,
team_external_id=team_external_id,
team_entry_external_id=team_entry_external_id,
side=side,
number=_text(number),
role=role,
position_ru=position_ru,
position_en=position_en,
line_number=_text(row_ru.get("line") or row_en.get("line")),
captain_role=canonical_captain_role(
row_ru.get("ca") or row_en.get("ca")
),
lineup_status="active" if _truthy(played) else "reserve",
name_ru=_text(row_ru.get("name") or row_en.get("name")),
name_en=_text(row_en.get("name") or row_ru.get("name")),
raw_payload=_raw_json({"ru": row_ru, "en": row_en}),
)
)
officials: list[ParsedOfficialAssignment] = []
for prefix, role, slot in (
("mref1", "head", 1),
("mref2", "head", 2),
("lref1", "linesman", 1),
("lref2", "linesman", 2),
):
referee_id = _text(game_ru.get(f"{prefix}_id") or game_en.get(f"{prefix}_id"))
if not referee_id:
continue
officials.append(
ParsedOfficialAssignment(
referee_external_id=referee_id,
role=role,
slot=slot,
number=_text(game_ru.get(f"{prefix}_num") or game_en.get(f"{prefix}_num")),
name_ru=_text(game_ru.get(prefix) or game_en.get(prefix)),
name_en=_text(game_en.get(prefix) or game_ru.get(prefix)),
raw_payload=_raw_json(
{
"id": referee_id,
"role": role,
"slot": slot,
"number": game_ru.get(f"{prefix}_num") or game_en.get(f"{prefix}_num"),
"name_ru": game_ru.get(prefix),
"name_en": game_en.get(prefix),
}
),
)
)
teams_ru = data_ru.get("teams") if isinstance(data_ru.get("teams"), dict) else {}
teams_en = data_en.get("teams") if isinstance(data_en.get("teams"), dict) else {}
return ParsedMatchDetails(
game_external_id=game_id,
game_ru=game_ru,
game_en=game_en,
teams_ru=teams_ru,
teams_en=teams_en,
rosters=rosters,
officials=officials,
)
def fallback_player_profile(entry: ParsedRosterEntry) -> ParsedPlayerProfile:
last_name_ru, first_name_ru = _split_full_name(entry.name_ru)
last_name_en, first_name_en = _split_full_name(entry.name_en)
return ParsedPlayerProfile(
external_id=entry.player_external_id,
first_name_ru=first_name_ru,
first_name_en=first_name_en,
last_name_ru=last_name_ru,
last_name_en=last_name_en,
full_name_ru=entry.name_ru,
full_name_en=entry.name_en,
position_ru=entry.position_ru,
position_en=entry.position_en,
raw_payload=entry.raw_payload,
)
def fallback_referee_profile(
assignment: ParsedOfficialAssignment,
) -> ParsedRefereeProfile:
last_name_ru, first_name_ru = _split_full_name(assignment.name_ru)
last_name_en, first_name_en = _split_full_name(assignment.name_en)
return ParsedRefereeProfile(
external_id=assignment.referee_external_id,
first_name_ru=first_name_ru,
first_name_en=first_name_en,
last_name_ru=last_name_ru,
last_name_en=last_name_en,
full_name_ru=assignment.name_ru,
full_name_en=assignment.name_en,
number=assignment.number,
raw_payload=assignment.raw_payload,
)

726
hockey_data/match_parser.py Normal file
View File

@@ -0,0 +1,726 @@
from __future__ import annotations
import hashlib
import re
import unicodedata
from dataclasses import dataclass, field
from datetime import date, datetime
from typing import Any
from xml.etree import ElementTree as ET
def local_name(tag: str) -> str:
return str(tag or "").split("}")[-1].split(":")[-1]
def normalise_key(value: str) -> str:
return re.sub(r"[^a-z0-9]+", "", local_name(value).lower())
def text_value(node: ET.Element | None) -> str:
if node is None:
return ""
return " ".join(part.strip() for part in node.itertext() if part.strip()).strip()
def first_value(values: dict[str, str], aliases: tuple[str, ...]) -> str:
for alias in aliases:
value = values.get(normalise_key(alias), "").strip()
if value:
return value
return ""
def safe_int(value: Any, default: int = 0) -> int:
match = re.search(r"-?\d+", str(value or ""))
try:
return int(match.group(0)) if match else default
except (TypeError, ValueError):
return default
_RU_MONTHS = {
"январь": 1, "января": 1,
"февраль": 2, "февраля": 2,
"март": 3, "марта": 3,
"апрель": 4, "апреля": 4,
"май": 5, "мая": 5,
"июнь": 6, "июня": 6,
"июль": 7, "июля": 7,
"август": 8, "августа": 8,
"сентябрь": 9, "сентября": 9,
"октябрь": 10, "октября": 10,
"ноябрь": 11, "ноября": 11,
"декабрь": 12, "декабря": 12,
}
_EN_MONTHS = {
"january": 1, "jan": 1,
"february": 2, "feb": 2,
"march": 3, "mar": 3,
"april": 4, "apr": 4,
"may": 5,
"june": 6, "jun": 6,
"july": 7, "jul": 7,
"august": 8, "aug": 8,
"september": 9, "sep": 9, "sept": 9,
"october": 10, "oct": 10,
"november": 11, "nov": 11,
"december": 12, "dec": 12,
}
def parse_date_value(value: str) -> date | None:
# KHL/Stat2TV sometimes uses non-breaking/thin spaces and other Unicode
# punctuation in localized dates. Normalize that input first so values like
# "16 августа 2026, Вс" are parsed consistently on every OS/locale.
value = unicodedata.normalize("NFKC", str(value or ""))
value = value.replace("\u00a0", " ").replace("\u202f", " ").strip()
value = re.sub(r"\s+", " ", value)
if not value or value == "0000-00-00":
return None
iso_match = re.search(r"(\d{4})[-/.](\d{1,2})[-/.](\d{1,2})", value)
if iso_match:
try:
return date(
int(iso_match.group(1)),
int(iso_match.group(2)),
int(iso_match.group(3)),
)
except ValueError:
pass
numeric_match = re.search(r"(\d{1,2})[./-](\d{1,2})[./-](\d{4})", value)
if numeric_match:
try:
return date(
int(numeric_match.group(3)),
int(numeric_match.group(2)),
int(numeric_match.group(1)),
)
except ValueError:
pass
# Stat2TV/KHL detail cards may return a localized human-readable value,
# e.g. "16 августа 2026, Вс 13:00:00". Parse it without relying on
# the PostgreSQL/OS locale so game_date always remains a real DATE.
word_month_match = re.search(
r"\b(\d{1,2})\s+([A-Za-zА-Яа-яЁё]+)\s+(\d{4})\b",
value,
)
if word_month_match:
month_name = word_month_match.group(2).casefold().strip(".,")
month = _RU_MONTHS.get(month_name) or _EN_MONTHS.get(month_name)
if month:
try:
return date(
int(word_month_match.group(3)),
month,
int(word_month_match.group(1)),
)
except ValueError:
pass
english_month_match = re.search(
r"\b([A-Za-z]+)\s+(\d{1,2}),?\s+(\d{4})\b",
value,
)
if english_month_match:
month = _EN_MONTHS.get(english_month_match.group(1).casefold())
if month:
try:
return date(
int(english_month_match.group(3)),
month,
int(english_month_match.group(2)),
)
except ValueError:
pass
for fmt in (
"%Y%m%d",
"%d%m%Y",
"%Y-%m-%dT%H:%M:%S",
"%Y-%m-%d %H:%M:%S",
):
try:
return datetime.strptime(value[:19], fmt).date()
except ValueError:
continue
return None
def parse_time_value(value: str) -> str:
value = str(value or "").strip()
match = re.search(r"(?:T|\s|^)([0-2]?\d):([0-5]\d)(?::[0-5]\d)?", value)
if not match:
match = re.search(r"\b([0-2]?\d)[.-]([0-5]\d)\b", value)
if not match:
return value if re.fullmatch(r"\d{1,2}:\d{2}", value) else ""
return f"{int(match.group(1)):02d}:{match.group(2)}"
@dataclass(slots=True)
class ParsedGame:
external_id: str
tournament_external_id: str
tournament_type: str = ""
game_number: str = ""
round_number: str = ""
round_name_ru: str = ""
round_name_en: str = ""
day_of_week: str = ""
changes: int = 0
game_date: date | None = None
start_time: str = ""
start_datetime_raw: str = ""
status: str = "scheduled"
approved: bool = False
arena_external_id: str = ""
arena_ru: str = ""
arena_en: str = ""
arena_city_ru: str = ""
arena_city_en: str = ""
home_team_external_id: str = ""
away_team_external_id: str = ""
home_entry_external_id: str = ""
away_entry_external_id: str = ""
home_team_name_ru: str = ""
home_team_name_en: str = ""
home_team_short_ru: str = ""
home_team_short_en: str = ""
away_team_name_ru: str = ""
away_team_name_en: str = ""
away_team_short_ru: str = ""
away_team_short_en: str = ""
home_team_city_ru: str = ""
home_team_city_en: str = ""
away_team_city_ru: str = ""
away_team_city_en: str = ""
home_score: int = 0
away_score: int = 0
score_raw: str = ""
overtime_type: str = ""
period_1_score: str = ""
period_2_score: str = ""
period_3_score: str = ""
period_4_score: str = ""
series_score: str = ""
attendance: int = 0
temporary_value: str = ""
period_scores: str = ""
raw_xml: str = ""
@dataclass(slots=True)
class MatchParseResult:
games: list[ParsedGame] = field(default_factory=list)
root_tag: str = ""
item_tag: str = ""
fields: list[str] = field(default_factory=list)
candidate_nodes: int = 0
confidence: float = 0.0
sample: dict[str, Any] = field(default_factory=dict)
ID_ALIASES = (
"id", "gameId", "game_id", "matchId", "match_id", "eventId",
"event_id", "uid", "gameUid", "game_id_khl",
)
TOURNAMENT_ALIASES = (
"tournamentId", "tournament_id", "competitionId", "championshipId",
"seasonId", "stageId",
)
DATE_ALIASES = (
"date", "gameDate", "game_date", "startDate", "start_date",
"eventDate", "scheduledDate", "datetime", "dateTime",
"startDateTime", "start_datetime", "dt",
)
TIME_ALIASES = (
"time", "gameTime", "startTime", "start_time", "eventTime",
"scheduledTime", "beginTime", "datetime", "dateTime", "startDateTime",
)
STATUS_ALIASES = (
"status", "gameStatus", "state", "phase", "resultType", "finished",
)
NUMBER_ALIASES = (
"number", "gameNumber", "game_number", "matchNumber", "num", "n",
)
ARENA_RU_ALIASES = (
"arena", "arenaName", "arenaRu", "stadium", "venue", "place",
"rink", "location",
)
ARENA_EN_ALIASES = (
"arenaEn", "arenaNameEn", "stadiumEn", "venueEn", "placeEn",
)
HOME_ID_ALIASES = (
"homeTeamId", "home_id", "team1Id", "teamAId", "hostId",
"firstTeamId", "teamHomeId",
)
AWAY_ID_ALIASES = (
"awayTeamId", "away_id", "team2Id", "teamBId", "guestId",
"secondTeamId", "teamAwayId",
)
HOME_RU_ALIASES = (
"homeTeam", "homeTeamName", "homeName", "team1", "team1Name",
"teamA", "host", "hostName", "firstTeam", "teamHome",
)
HOME_EN_ALIASES = (
"homeTeamEn", "homeTeamNameEn", "homeNameEn", "team1En",
"team1NameEn", "teamAEn", "hostEn", "firstTeamEn",
)
AWAY_RU_ALIASES = (
"awayTeam", "awayTeamName", "awayName", "team2", "team2Name",
"teamB", "guest", "guestName", "secondTeam", "teamAway",
)
AWAY_EN_ALIASES = (
"awayTeamEn", "awayTeamNameEn", "awayNameEn", "team2En",
"team2NameEn", "teamBEn", "guestEn", "secondTeamEn",
)
HOME_CITY_RU_ALIASES = ("homeCity", "team1City", "hostCity", "homeTeamCity")
HOME_CITY_EN_ALIASES = ("homeCityEn", "team1CityEn", "hostCityEn")
AWAY_CITY_RU_ALIASES = ("awayCity", "team2City", "guestCity", "awayTeamCity")
AWAY_CITY_EN_ALIASES = ("awayCityEn", "team2CityEn", "guestCityEn")
HOME_SCORE_ALIASES = (
"homeScore", "scoreHome", "score1", "team1Score", "goals1",
"hostScore", "firstScore",
)
AWAY_SCORE_ALIASES = (
"awayScore", "scoreAway", "score2", "team2Score", "goals2",
"guestScore", "secondScore",
)
PERIOD_SCORE_ALIASES = (
"periodScores", "periodScore", "scoreByPeriods", "periods", "sets",
)
def flatten_node(node: ET.Element) -> dict[str, str]:
values: dict[str, str] = {}
for key, value in node.attrib.items():
if value is not None:
values.setdefault(normalise_key(key), str(value).strip())
for child in list(node):
child_key = normalise_key(child.tag)
value = text_value(child)
if value:
values.setdefault(child_key, value)
for key, attr_value in child.attrib.items():
attr_key = normalise_key(f"{local_name(child.tag)}_{key}")
values.setdefault(attr_key, str(attr_value).strip())
values.setdefault(normalise_key(key), str(attr_value).strip())
for grandchild in list(child):
grand_key = normalise_key(
f"{local_name(child.tag)}_{local_name(grandchild.tag)}"
)
grand_value = text_value(grandchild)
if grand_value:
values.setdefault(grand_key, grand_value)
values.setdefault(normalise_key(grandchild.tag), grand_value)
for key, attr_value in grandchild.attrib.items():
values.setdefault(
normalise_key(
f"{local_name(child.tag)}_{local_name(grandchild.tag)}_{key}"
),
str(attr_value).strip(),
)
return values
def nested_team(node: ET.Element, side: str) -> dict[str, str]:
side_names = {
"home": {
"home", "hometeam", "team1", "teama", "host", "firstteam",
},
"away": {
"away", "awayteam", "team2", "teamb", "guest", "secondteam",
},
}[side]
for child in node.iter():
if child is node:
continue
if normalise_key(child.tag) not in side_names:
continue
attrs = {normalise_key(k): str(v).strip() for k, v in child.attrib.items()}
flat = flatten_node(child)
merged = {**flat, **attrs}
return {
"id": first_value(merged, ("id", "teamId", "clubId", "externalId")),
"name_ru": first_value(
merged, ("name", "nameRu", "title", "teamName", "shortName")
) or text_value(child),
"name_en": first_value(
merged, ("nameEn", "titleEn", "teamNameEn", "shortNameEn")
),
"city_ru": first_value(merged, ("city", "cityRu", "town")),
"city_en": first_value(merged, ("cityEn", "townEn")),
"score": first_value(merged, ("score", "goals", "result")),
}
return {}
def looks_like_game_node(node: ET.Element, values: dict[str, str]) -> bool:
tag = normalise_key(node.tag)
if tag in {"game", "match", "event", "fixture", "calendaritem"}:
return True
has_date = bool(first_value(values, DATE_ALIASES))
has_home = bool(
first_value(values, HOME_RU_ALIASES + HOME_ID_ALIASES)
or nested_team(node, "home")
)
has_away = bool(
first_value(values, AWAY_RU_ALIASES + AWAY_ID_ALIASES)
or nested_team(node, "away")
)
return has_date and has_home and has_away
def parse_score_pair(value: str) -> tuple[int, int]:
match = re.fullmatch(r"\s*(\d+)\s*:\s*(\d+)\s*", str(value or ""))
if not match:
return 0, 0
return int(match.group(1)), int(match.group(2))
def truthy(value: Any) -> bool:
return str(value or "").strip().lower() in {
"1", "true", "yes", "on", "approved",
}
def derive_schedule_status(attrs: dict[str, str]) -> str:
approved = truthy(attrs.get("approved"))
score = str(attrs.get("score") or "").strip()
temporary = str(attrs.get("temp") or "").strip()
if approved:
return "finished"
if temporary or re.fullmatch(r"\s*\d+\s*:\s*\d+\s*", score):
return "live"
return "scheduled"
def parsed_schedule_game(
node: ET.Element,
*,
tournament_external_id: str,
tournament_type: str,
) -> ParsedGame | None:
attrs = {str(key): str(value or "") for key, value in node.attrib.items()}
external_id = attrs.get("id", "").strip()
if not external_id:
return None
score_raw = attrs.get("score", "").strip()
home_score, away_score = parse_score_pair(score_raw)
period_values = [
attrs.get("scP1", "").strip(),
attrs.get("scP2", "").strip(),
attrs.get("scP3", "").strip(),
attrs.get("scP4", "").strip(),
]
return ParsedGame(
external_id=external_id,
tournament_external_id=(
attrs.get("tnId", "").strip() or tournament_external_id
),
tournament_type=tournament_type,
game_number=attrs.get("number", "").strip(),
round_number=attrs.get("round", "").strip(),
round_name_ru=attrs.get("roundname", "").strip(),
round_name_en=attrs.get("roundname_en", "").strip(),
day_of_week=attrs.get("dayofweek", "").strip(),
changes=safe_int(attrs.get("changes")),
game_date=parse_date_value(attrs.get("date", "")),
start_time=parse_time_value(attrs.get("time", "")),
start_datetime_raw=(
f"{attrs.get('date', '').strip()} "
f"{attrs.get('time', '').strip()}"
).strip(),
status=derive_schedule_status(attrs),
approved=truthy(attrs.get("approved")),
arena_external_id=attrs.get("arenaid", "").strip(),
arena_ru=attrs.get("arena", "").strip(),
arena_en=attrs.get("arena_en", "").strip(),
arena_city_ru=attrs.get("arena_city", "").strip(),
arena_city_en=attrs.get("arena_city_en", "").strip(),
home_team_external_id=attrs.get("teama", "").strip(),
away_team_external_id=attrs.get("teamb", "").strip(),
home_entry_external_id=attrs.get("homeId", "").strip(),
away_entry_external_id=attrs.get("visitorId", "").strip(),
home_team_name_ru=attrs.get("homeName", "").strip(),
home_team_name_en=attrs.get("homeName_en", "").strip(),
home_team_short_ru=attrs.get("homeName_l3", "").strip(),
home_team_short_en=attrs.get("homeName_l3_en", "").strip(),
away_team_name_ru=attrs.get("visitorName", "").strip(),
away_team_name_en=attrs.get("visitorName_en", "").strip(),
away_team_short_ru=attrs.get("visitorName_l3", "").strip(),
away_team_short_en=attrs.get("visitorName_l3_en", "").strip(),
home_team_city_ru=attrs.get("homeCity", "").strip(),
home_team_city_en=attrs.get("homeCity_en", "").strip(),
away_team_city_ru=attrs.get("visitorCity", "").strip(),
away_team_city_en=attrs.get("visitorCity_en", "").strip(),
home_score=home_score,
away_score=away_score,
score_raw=score_raw,
overtime_type=attrs.get("ots", "").strip(),
period_1_score=period_values[0],
period_2_score=period_values[1],
period_3_score=period_values[2],
period_4_score=period_values[3],
series_score=attrs.get("sscore", "").strip(),
attendance=safe_int(attrs.get("attendance")),
temporary_value=attrs.get("temp", "").strip(),
period_scores="|".join(period_values),
raw_xml=ET.tostring(node, encoding="unicode"),
)
def parse_stat2tv_schedule(
root: ET.Element,
*,
tournament_external_id: str,
) -> MatchParseResult:
result = MatchParseResult(root_tag=local_name(root.tag), item_tag="Game")
tournament_id = str(
root.attrib.get("tournamentId") or tournament_external_id
).strip()
tournament_type = str(
root.attrib.get("tournamentType") or ""
).strip().lower()
field_names: set[str] = set()
for node in root.findall("./Game"):
field_names.update(str(key) for key in node.attrib)
game = parsed_schedule_game(
node,
tournament_external_id=tournament_id,
tournament_type=tournament_type,
)
if game is not None:
result.games.append(game)
result.candidate_nodes = len(result.games)
result.fields = sorted(field_names)
result.confidence = 1.0 if result.games else 0.0
if result.games:
sample = result.games[0]
result.sample = {
"external_id": sample.external_id,
"date": sample.game_date.isoformat() if sample.game_date else None,
"time": sample.start_time,
"home": sample.home_team_name_ru or sample.home_team_name_en,
"away": sample.away_team_name_ru or sample.away_team_name_en,
"status": sample.status,
"approved": sample.approved,
"score": sample.score_raw,
"series_score": sample.series_score,
"tournament_type": sample.tournament_type,
}
return result
def parse_stat2tv_game_by_id(
content: bytes | str,
*,
tournament_external_id: str,
game_external_id: str,
) -> ParsedGame | None:
"""Parse only one game from a Stat2TV schedule response."""
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
if normalise_key(root.tag) != "schedule":
result = parse_games_xml(
raw,
tournament_external_id=tournament_external_id,
)
return next(
(
game for game in result.games
if str(game.external_id) == str(game_external_id)
),
None,
)
tournament_id = str(
root.attrib.get("tournamentId") or tournament_external_id
).strip()
tournament_type = str(
root.attrib.get("tournamentType") or ""
).strip().lower()
node = root.find(f"./Game[@id='{str(game_external_id)}']")
if node is None:
return None
return parsed_schedule_game(
node,
tournament_external_id=tournament_id,
tournament_type=tournament_type,
)
def parse_games_xml(
content: bytes | str,
*,
tournament_external_id: str,
) -> MatchParseResult:
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
if (
normalise_key(root.tag) == "schedule"
and root.findall("./Game")
):
return parse_stat2tv_schedule(
root,
tournament_external_id=tournament_external_id,
)
result = MatchParseResult(root_tag=local_name(root.tag))
nodes: list[tuple[ET.Element, dict[str, str]]] = []
for node in root.iter():
if node is root:
continue
values = flatten_node(node)
if looks_like_game_node(node, values):
nodes.append((node, values))
# Avoid parsing nested team/event nodes as games when their parent is already a game.
node_ids = {id(node) for node, _ in nodes}
filtered_nodes: list[tuple[ET.Element, dict[str, str]]] = []
for node, values in nodes:
parent_is_candidate = False
for parent, _ in nodes:
if parent is node:
continue
if any(child is node for child in parent.iter()):
parent_is_candidate = True
break
if not parent_is_candidate:
filtered_nodes.append((node, values))
if not filtered_nodes:
filtered_nodes = nodes
result.candidate_nodes = len(filtered_nodes)
seen: set[str] = set()
field_names: set[str] = set()
for index, (node, values) in enumerate(filtered_nodes, start=1):
field_names.update(values.keys())
home_nested = nested_team(node, "home")
away_nested = nested_team(node, "away")
raw_datetime = first_value(values, DATE_ALIASES)
raw_time = first_value(values, TIME_ALIASES)
game_date = parse_date_value(raw_datetime)
start_time = parse_time_value(raw_time or raw_datetime)
external_id = first_value(values, ID_ALIASES)
if not external_id:
material = (
f"{tournament_external_id}|{raw_datetime}|"
f"{first_value(values, HOME_RU_ALIASES)}|"
f"{first_value(values, AWAY_RU_ALIASES)}|{index}"
)
external_id = "auto-" + hashlib.sha1(
material.encode("utf-8", errors="ignore")
).hexdigest()[:20]
if external_id in seen:
continue
seen.add(external_id)
game = ParsedGame(
external_id=external_id,
tournament_external_id=(
first_value(values, TOURNAMENT_ALIASES)
or tournament_external_id
),
game_number=first_value(values, NUMBER_ALIASES),
game_date=game_date,
start_time=start_time,
start_datetime_raw=raw_datetime or raw_time,
status=first_value(values, STATUS_ALIASES),
arena_ru=first_value(values, ARENA_RU_ALIASES),
arena_en=first_value(values, ARENA_EN_ALIASES),
home_team_external_id=(
first_value(values, HOME_ID_ALIASES)
or home_nested.get("id", "")
),
away_team_external_id=(
first_value(values, AWAY_ID_ALIASES)
or away_nested.get("id", "")
),
home_team_name_ru=(
first_value(values, HOME_RU_ALIASES)
or home_nested.get("name_ru", "")
),
home_team_name_en=(
first_value(values, HOME_EN_ALIASES)
or home_nested.get("name_en", "")
),
away_team_name_ru=(
first_value(values, AWAY_RU_ALIASES)
or away_nested.get("name_ru", "")
),
away_team_name_en=(
first_value(values, AWAY_EN_ALIASES)
or away_nested.get("name_en", "")
),
home_team_city_ru=(
first_value(values, HOME_CITY_RU_ALIASES)
or home_nested.get("city_ru", "")
),
home_team_city_en=(
first_value(values, HOME_CITY_EN_ALIASES)
or home_nested.get("city_en", "")
),
away_team_city_ru=(
first_value(values, AWAY_CITY_RU_ALIASES)
or away_nested.get("city_ru", "")
),
away_team_city_en=(
first_value(values, AWAY_CITY_EN_ALIASES)
or away_nested.get("city_en", "")
),
home_score=safe_int(
first_value(values, HOME_SCORE_ALIASES)
or home_nested.get("score", "")
),
away_score=safe_int(
first_value(values, AWAY_SCORE_ALIASES)
or away_nested.get("score", "")
),
period_scores=first_value(values, PERIOD_SCORE_ALIASES),
raw_xml=ET.tostring(node, encoding="unicode"),
)
result.games.append(game)
if result.games:
result.item_tag = local_name(filtered_nodes[0][0].tag)
complete = sum(
1 for game in result.games
if game.game_date and game.home_team_name_ru and game.away_team_name_ru
)
result.confidence = round(complete / max(1, len(result.games)), 3)
sample_game = result.games[0]
result.sample = {
"external_id": sample_game.external_id,
"date": sample_game.game_date.isoformat() if sample_game.game_date else None,
"time": sample_game.start_time,
"home": sample_game.home_team_name_ru or sample_game.home_team_name_en,
"away": sample_game.away_team_name_ru or sample_game.away_team_name_en,
"status": sample_game.status,
}
result.fields = sorted(field_names)
return result

View File

@@ -0,0 +1,644 @@
from __future__ import annotations
import re
from collections.abc import Iterable, Mapping
from typing import Any
def _key(value: Any) -> str:
return "".join(ch for ch in str(value or "").casefold() if ch.isalnum())
def _text(value: Any) -> str:
if value is None:
return ""
if isinstance(value, bool):
return "1" if value else "0"
return str(value).strip()
def _number(value: Any) -> float | None:
if value is None or isinstance(value, bool):
return None
text = _text(value).replace(",", ".")
if not text:
return None
try:
return float(text)
except (TypeError, ValueError):
return None
def _truthy(value: Any) -> bool:
return _text(value).casefold() in {"1", "true", "yes", "y", "on", "goal", "гол"}
def _mapping(value: Any) -> dict[str, Any]:
return dict(value) if isinstance(value, Mapping) else {}
def _lowered(row: Mapping[str, Any]) -> dict[str, Any]:
return {_key(key): value for key, value in row.items()}
def _first(row: Mapping[str, Any], aliases: Iterable[str]) -> Any:
lowered = _lowered(row)
for alias in aliases:
normalized = _key(alias)
if normalized in lowered and lowered[normalized] not in (None, ""):
return lowered[normalized]
return None
def _identity(value: Any) -> tuple[str, str, str]:
if isinstance(value, Mapping):
value_map = _mapping(value)
identifier = _text(_first(value_map, ("id", "external_id", "player_id", "team_id", "club_id")))
name = _text(_first(value_map, ("name", "fullname", "full_name", "title", "team", "player")))
number = _text(_first(value_map, ("number", "jersey", "jersey_number", "num", "pn")))
return identifier, name, number
return "", _text(value), ""
def _period_from_key(value: Any) -> str:
text = _text(value).casefold()
normalized = _key(text)
if normalized.isdigit():
return str(int(normalized))
if normalized in {"ot", "overtime", "extra", "extratime", "ovt", "допвремя", "от"}:
return "4"
if normalized in {"so", "shootout", "bullits", "bullit", "буллиты", "б"}:
return "5"
for prefix in ("period", "per", "p", "time", "segment"):
if normalized.startswith(prefix) and normalized[len(prefix):].isdigit():
return str(int(normalized[len(prefix):]))
return ""
def _side_from_key(value: Any) -> str:
normalized = _key(value)
if normalized in {"a", "home", "host", "left", "teama", "clubа", "хозяева"}:
return "home"
if normalized in {"b", "away", "guest", "visitor", "right", "teamb", "гости"}:
return "away"
return ""
def _normalised_values(values: Iterable[Any]) -> set[str]:
return {_key(value) for value in values if _text(value)}
def _side_for_identity(
*,
explicit_side: str,
team_id: str,
team_name: str,
home_ids: set[str],
away_ids: set[str],
home_names: set[str],
away_names: set[str],
) -> str:
if explicit_side in {"home", "away"}:
return explicit_side
candidate_id = _key(team_id)
candidate_name = _key(team_name)
if candidate_id and candidate_id in home_ids:
return "home"
if candidate_id and candidate_id in away_ids:
return "away"
if candidate_name and candidate_name in home_names:
return "home"
if candidate_name and candidate_name in away_names:
return "away"
return ""
def _find_container(data: Mapping[str, Any], aliases: Iterable[str]) -> Any:
lowered = _lowered(data)
for alias in aliases:
if _key(alias) in lowered:
return lowered[_key(alias)]
for wrapper in ("data", "result", "statistics", "stats", "match", "game_data"):
nested = lowered.get(_key(wrapper))
if isinstance(nested, Mapping):
found = _find_container(nested, aliases)
if found is not None:
return found
return None
def _looks_like_event(row: Mapping[str, Any]) -> bool:
keys = set(_lowered(row))
type_keys = {_key(value) for value in ("event", "type", "event_type", "code", "action", "kind", "description", "text")}
person_keys = {_key(value) for value in ("player", "player_id", "scorer", "author", "team", "team_id", "club", "pn", "pname")}
return bool(keys & type_keys and (keys & person_keys or "time" in keys or "moscowtime" in keys))
def _looks_like_shot(row: Mapping[str, Any]) -> bool:
keys = set(_lowered(row))
x_keys = {_key(value) for value in ("x", "coord_x", "x_coord", "pos_x", "point_x", "shot_x", "sx")}
y_keys = {_key(value) for value in ("y", "coord_y", "y_coord", "pos_y", "point_y", "shot_y", "sy")}
if keys & x_keys and keys & y_keys:
return True
coords = _text(_first(row, ("coords", "coordinate", "coordinates", "point", "position", "location")))
if re.fullmatch(r"\s*-?\d+(?:[.,]\d+)?\s*[xх,:;]\s*-?\d+(?:[.,]\d+)?\s*", coords, re.I):
return True
for nested_key in ("coordinate", "coordinates", "coords", "point", "position", "location"):
nested = _first(row, (nested_key,))
if isinstance(nested, Mapping):
nested_keys = set(_lowered(nested))
if nested_keys & x_keys and nested_keys & y_keys:
return True
if isinstance(nested, (list, tuple)) and len(nested) >= 2:
return _number(nested[0]) is not None and _number(nested[1]) is not None
return False
def _flatten_rows(
value: Any,
*,
kind: str,
inherited_period: str = "",
inherited_side: str = "",
) -> Iterable[tuple[dict[str, Any], str, str]]:
checker = _looks_like_event if kind == "event" else _looks_like_shot
if isinstance(value, list):
for item in value:
yield from _flatten_rows(item, kind=kind, inherited_period=inherited_period, inherited_side=inherited_side)
return
if not isinstance(value, Mapping):
return
row = _mapping(value)
if checker(row):
yield row, inherited_period, inherited_side
return
for key, child in row.items():
next_period = _period_from_key(key) or inherited_period
next_side = _side_from_key(key) or inherited_side
if isinstance(child, (Mapping, list)):
yield from _flatten_rows(child, kind=kind, inherited_period=next_period, inherited_side=next_side)
def _period_sort(value: str) -> tuple[int, str]:
number = _number(value)
return (int(number) if number is not None else 999, str(value))
def _game_seconds(value: Any) -> int | None:
match = re.fullmatch(r"\s*(\d{1,3}):(\d{2})\s*", _text(value))
if not match:
return None
return int(match.group(1)) * 60 + int(match.group(2))
def _infer_period(event_time: str, code: str, status: str = "") -> str:
normalized_status = _key(status)
normalized_code = _key(code)
if normalized_code == "bu" or "shootout" in normalized_status or "буллит" in normalized_status:
return "5"
seconds = _game_seconds(event_time)
if seconds is None:
return ""
if seconds < 20 * 60:
return "1"
if seconds < 40 * 60:
return "2"
if seconds < 60 * 60:
return "3"
if seconds < 65 * 60:
return "4"
return "5"
PENALTY_RU = {
"tripping": "Подножка",
"slashing": "Удар клюшкой",
"boarding": "Толчок на борт",
"roughing": "Грубость",
"hooking": "Задержка соперника клюшкой",
"holding": "Задержка соперника",
"interference": "Блокировка",
"too many players on the ice": "Нарушение численного состава",
"delay of game": "Задержка игры",
"high-sticking": "Игра высоко поднятой клюшкой",
"cross-checking": "Толчок клюшкой",
"charging": "Неправильная атака",
"elbowing": "Удар локтем",
}
def _translated_penalty_reason(value: Any, language: str) -> str:
text = _text(value)
if language == "en" or not text:
return text
return PENALTY_RU.get(text.casefold(), text)
def _translate_common_text(value: Any, language: str) -> str:
text = _text(value)
if language == "en" or not text:
return text
exact = {
"Commercial break": "Рекламная пауза",
"The last minute of the period": "Последняя минута периода",
"The last 2 minutes of the third period": "Последние 2 минуты третьего периода",
}
if text in exact:
return exact[text]
replacements = [
(r"^Team (.+) is playing in full strength$", r"Команда \1 играет в полном составе"),
(r"^Delayed penalty for (.+)$", r"Отложенный штраф у команды \1"),
(r"^Icing\. A face-off in the defensive zone of (.+)$", r"Проброс. Вбрасывание в зоне защиты команды \1"),
(r"^Offside against the (.+)\. A face-off in the neutral zone$", r"Положение «вне игры» у команды \1. Вбрасывание в средней зоне"),
(r"^(\d+) on (\d+) play$", r"Игра \1 на \2"),
]
for pattern, replacement in replacements:
if re.match(pattern, text, re.I):
return re.sub(pattern, replacement, text, flags=re.I)
return text
def _event_label(code: str, description: str, language: str) -> str:
normalized = _key(code or description)
labels = {
"go": ("Гол", "Goal"),
"goal": ("Гол", "Goal"),
"g": ("Гол", "Goal"),
"score": ("Гол", "Goal"),
"pn": ("Удаление", "Penalty"),
"penalty": ("Удаление", "Penalty"),
"pen": ("Удаление", "Penalty"),
"bu": ("Буллит", "Shootout attempt"),
"shot": ("Бросок", "Shot"),
"faceoff": ("Вбрасывание", "Faceoff"),
"hit": ("Силовой приём", "Hit"),
"to": ("Тайм-аут", "Timeout"),
"timeout": ("Тайм-аут", "Timeout"),
"ga": ("Ход матча", "Game state"),
"periodstart": ("Начало периода", "Period start"),
"periodend": ("Конец периода", "Period end"),
"gc": ("Замена вратаря", "Goalie change"),
"goaliechange": ("Замена вратаря", "Goalie change"),
"co": ("Комментарий", "Comment"),
"ce": ("Событие", "Event"),
}
if normalized in labels:
return labels[normalized][1 if language == "en" else 0]
return description or code or ("Событие" if language != "en" else "Event")
def _period_title(period: str, language: str) -> str:
if period == "0":
return "игры" if language != "en" else "game"
if period == "4":
return "овертайма" if language != "en" else "overtime"
if period == "5":
return "серии буллитов" if language != "en" else "shootout"
return f"{period} периода" if language != "en" else f"period {period}"
def _event_content(row: Mapping[str, Any], code: str, period: str, language: str) -> tuple[str, str, str]:
normalized = _key(code)
team = _text(_first(row, ("team_name", "club_name", "team_title", "team")))
player_number = _text(_first(row, ("pn", "player_number", "number", "jersey")))
player_name = _text(_first(row, ("pname", "player_name", "fullname", "full_name", "scorer_name")))
player = " ".join(part for part in ((f"{player_number}" if player_number else ""), player_name) if part)
if normalized in {"go", "goal", "score"}:
status = _text(_first(row, ("status", "pmStatus", "strength")))
assists = []
for index in (1, 2):
number = _text(_first(row, (f"assist{index}pn", f"assist{index}_number")))
name = _text(_first(row, (f"assist{index}pname", f"assist{index}_name")))
if number or name:
assists.append(" ".join(part for part in ((f"{number}" if number else ""), name) if part))
title = "Гол" if language != "en" else "Goal"
description = " · ".join(part for part in (team, player, status) if part)
if assists:
description += (" · ассистенты: " if language != "en" else " · assists: ") + ", ".join(assists)
return title, description, "goal"
if normalized in {"pn", "penalty", "pen"}:
minutes = _text(_first(row, ("penalty_time", "minutes", "duration")))
reason = _translated_penalty_reason(_first(row, ("penalty_reason", "reason", "description")), language)
team_penalty = player_number in {"", "0"} or _key(player_name) in {"teampenalty", "командныйштраф"}
title = "Командное удаление" if team_penalty and language != "en" else "Team penalty" if team_penalty else "Удаление" if language != "en" else "Penalty"
description = " · ".join(part for part in (team, "" if team_penalty else player, f"{minutes} мин" if minutes and language != "en" else f"{minutes} min" if minutes else "", reason) if part)
return title, description, "penalty"
if normalized == "bu":
skater = _text(_first(row, ("skater", "player", "pname")))
goalie = _text(_first(row, ("goalie", "goalkeeper")))
result = _text(_first(row, ("result", "status")))
if language != "en":
result = {"Goal": "Гол", "Saved": "Отражён", "Missed": "Мимо"}.get(result, result)
title = "Послематчевый буллит" if language != "en" else "Shootout attempt"
description = " · ".join(part for part in (team, skater, goalie, result) if part)
return title, description, "shootout"
if normalized == "ga":
status = _key(_first(row, ("status",)))
start = _text(_first(row, ("key",))) in {"0", "start"} or status.startswith("start")
title = ("Начало " if start else "Окончание ") + _period_title(period, language)
if language == "en":
title = ("Start of " if start else "End of ") + _period_title(period, language)
return title, "", "period"
if normalized == "gc":
goalie_a = _text(_first(row, ("gkA", "goalieA")))
goalie_b = _text(_first(row, ("gkB", "goalieB")))
title = "Изменение вратаря" if language != "en" else "Goalie change"
description = " · ".join(part for part in (goalie_a, goalie_b) if part) or team
return title, description, "goalie"
if normalized == "to":
return ("Тайм-аут" if language != "en" else "Timeout"), team, "timeout"
raw_text = _first(row, ("description", "desc", "text", "title", "event_name", "name"))
description = _translate_common_text(raw_text, language)
if normalized == "co":
return ("Комментарий" if language != "en" else "Comment"), description, "comment"
return _event_label(code, description, language), description, "info"
def _period_from_event_text(value: Any) -> str:
text = _text(value).casefold()
if "овертайм" in text or "overtime" in text:
return "4"
if "буллит" in text or "shootout" in text:
return "5"
match = re.search(r"(?:статистика|statistics).*?([123])(?:-|\s)*(?:го|st|nd|rd|th)?\s*(?:период|period)", text, re.I)
return match.group(1) if match else ""
def parse_match_events(
data: Mapping[str, Any],
*,
language: str = "ru",
home_ids: Iterable[Any] = (),
away_ids: Iterable[Any] = (),
home_names: Iterable[Any] = (),
away_names: Iterable[Any] = (),
) -> dict[str, Any]:
container = _find_container(data, ("events", "game_events", "match_events", "timeline", "play_by_play", "playbyplay"))
if container is None:
return {"available": False, "segments": [], "types": [], "items": []}
home_id_keys = _normalised_values(home_ids)
away_id_keys = _normalised_values(away_ids)
home_name_keys = _normalised_values(home_names)
away_name_keys = _normalised_values(away_names)
items: list[dict[str, Any]] = []
seen: set[tuple[str, ...]] = set()
context_period = ""
for source_index, (row, inherited_period, inherited_side) in enumerate(_flatten_rows(container, kind="event")):
event_time = _text(_first(row, ("time", "clock", "event_time", "game_time", "tm", "timecode")))
# Stat2TV records may contain both `code="pn"` and `type="Penalty"`.
# The compact event code is authoritative; choosing `type` first caused
# real penalties to be normalised as generic/other events in some feeds.
explicit_code = _text(_first(row, ("code", "event_code", "action_code", "kind_code")))
raw_type = _text(_first(row, ("type", "event_type", "event", "action", "kind", "action_type")))
code = explicit_code or raw_type
status = _text(_first(row, ("status", "pmStatus")))
period = _text(_first(row, ("period", "period_id", "period_number", "num_period", "p"))) or inherited_period
period_text = _first(row, ("description", "desc", "text", "title", "event_name", "name"))
text_period = _period_from_event_text(period_text)
if not text_period and _key(code) == "co" and "статистика матча" in _text(period_text).casefold():
text_period = "0"
inherited_context = "" if _key(code) == "co" else context_period
period = _period_from_key(period) or period or text_period or _infer_period(event_time, code, status) or inherited_context
if period and _key(code) != "co":
context_period = period
score = _text(_first(row, ("score", "score_value", "current_score")))
team_value = _first(row, ("team", "club", "team_info", "club_info"))
team_id, team_name, _ = _identity(team_value)
team_id = team_id or _text(_first(row, ("team_id", "id_team", "club_id", "id_club")))
team_name = team_name or _text(_first(row, ("team_name", "club_name", "team_title")))
player_value = _first(row, ("player", "athlete", "scorer", "author", "participant"))
player_id, player_name, player_number = _identity(player_value)
player_id = player_id or _text(_first(row, ("player_id", "id_player", "athlete_id", "scorer_id")))
player_name = player_name or _text(_first(row, ("pname", "player_name", "fullname", "full_name", "scorer_name", "author_name")))
player_number = player_number or _text(_first(row, ("pn", "player_number", "number", "jersey", "jersey_number")))
explicit_side = _side_from_key(_first(row, ("side", "team_side", "team"))) or inherited_side
side = _side_for_identity(
explicit_side=explicit_side,
team_id=team_id,
team_name=team_name,
home_ids=home_id_keys,
away_ids=away_id_keys,
home_names=home_name_keys,
away_names=away_name_keys,
)
title, description, category = _event_content(row, code, period, language)
penalty_reason = ""
penalty_minutes = ""
team_penalty = False
if category == "penalty":
penalty_reason = _translated_penalty_reason(
_first(row, ("penalty_reason", "reason", "description")),
language,
)
penalty_minutes = _text(_first(row, ("penalty_time", "minutes", "duration")))
team_penalty = player_number in {"", "0"} or _key(player_name) in {
"teampenalty",
"командныйштраф",
}
if not any((event_time, code, title, description, player_name, team_name, score)):
continue
signature = (period, event_time, code, description, team_id, team_name, player_id, player_name, player_number, score)
if signature in seen:
continue
seen.add(signature)
seconds = _game_seconds(event_time)
if _key(code) == "ga":
start = _text(_first(row, ("key",))) in {"0", "start"} or _key(status).startswith("start")
starts = {"0": -1, "1": 0, "2": 1200, "3": 2400, "4": 3600, "5": 3900}
ends = {"0": 4100, "1": 1200, "2": 2400, "3": 3600, "4": 3900, "5": 4000}
seconds = (starts if start else ends).get(period, seconds if seconds is not None else -1)
if seconds is None:
boundary = {"1": 1200, "2": 2400, "3": 3600, "4": 3900, "5": 4000, "0": 4100}.get(period, -1)
seconds = boundary - source_index / 1000 if boundary >= 0 else -source_index
items.append({
"id": _text(_first(row, ("id", "event_id", "external_id"))) or str(len(items) + 1),
"period": period,
"time": event_time,
"moscow_time": _text(_first(row, ("moscowtime", "created_at", "timestamp"))),
"code": code,
"type": raw_type or code,
"category": category,
"label": _event_label(code, description, language),
"title": title,
"description": description,
"score": score,
"side": side,
"team_id": team_id,
"team_name": team_name,
"player_id": player_id,
"player_name": player_name,
"player_number": player_number,
"penalty_reason": penalty_reason,
"penalty_minutes": penalty_minutes,
"team_penalty": team_penalty,
"sort_seconds": seconds,
"source_index": source_index,
})
if not items:
return {"available": False, "segments": [], "types": [], "items": []}
periods = sorted({item["period"] for item in items if item["period"] not in {"", "0"}}, key=_period_sort)
categories = [category for category in ("goal", "penalty", "shootout", "period", "timeout", "goalie", "comment", "info") if any(item["category"] == category for item in items)]
return {
"available": True,
"segments": ["all", *periods],
"types": ["all", *categories],
"items": items,
"count": len(items),
}
def _shot_coordinates(row: Mapping[str, Any]) -> tuple[float | None, float | None, str]:
x = _number(_first(row, ("x", "coord_x", "x_coord", "pos_x", "point_x", "shot_x", "sx")))
y = _number(_first(row, ("y", "coord_y", "y_coord", "pos_y", "point_y", "shot_y", "sy")))
if x is not None and y is not None:
return x, y, "xy"
for nested_key in ("coordinate", "coordinates", "coords", "point", "position", "location"):
nested = _first(row, (nested_key,))
if isinstance(nested, Mapping):
x = _number(_first(nested, ("x", "coord_x", "x_coord", "pos_x")))
y = _number(_first(nested, ("y", "coord_y", "y_coord", "pos_y")))
if x is not None and y is not None:
return x, y, "xy"
if isinstance(nested, (list, tuple)) and len(nested) >= 2:
x = _number(nested[0])
y = _number(nested[1])
if x is not None and y is not None:
return x, y, "array"
if isinstance(nested, str):
match = re.fullmatch(r"\s*(-?\d+(?:[.,]\d+)?)\s*[xх,:;]\s*(-?\d+(?:[.,]\d+)?)\s*", nested, re.I)
if match:
return float(match.group(1).replace(",", ".")), float(match.group(2).replace(",", ".")), "khl1000x500"
return None, None, ""
def parse_shots_map(
data: Mapping[str, Any],
*,
language: str = "ru",
home_ids: Iterable[Any] = (),
away_ids: Iterable[Any] = (),
home_names: Iterable[Any] = (),
away_names: Iterable[Any] = (),
) -> dict[str, Any]:
container = _find_container(data, ("shots_map", "shotsmap", "shot_map", "shotmap", "shot_coordinates", "shotcoordinates"))
if container is None:
return {"available": False, "segments": [], "players": [], "items": []}
home_id_keys = _normalised_values(home_ids)
away_id_keys = _normalised_values(away_ids)
home_name_keys = _normalised_values(home_names)
away_name_keys = _normalised_values(away_names)
items: list[dict[str, Any]] = []
seen: set[tuple[Any, ...]] = set()
for row, inherited_period, inherited_side in _flatten_rows(container, kind="shot"):
x, y, coordinate_system = _shot_coordinates(row)
if x is None or y is None:
continue
period = _text(_first(row, ("period", "period_id", "period_number", "num_period", "p"))) or inherited_period
period = _period_from_key(period) or period
event_time = _text(_first(row, ("time", "clock", "event_time", "game_time", "tm")))
stime = _number(_first(row, ("stime", "seconds", "game_seconds")))
team_value = _first(row, ("team", "club", "team_info", "club_info"))
team_id, team_name, _ = _identity(team_value)
team_id = team_id or _text(_first(row, ("team_id", "id_team", "club_id", "id_club")))
team_name = team_name or _text(_first(row, ("team_name", "club_name", "team_title")))
player_value = _first(row, ("player", "athlete", "shooter", "author"))
player_id, player_name, player_number = _identity(player_value)
player_id = player_id or _text(_first(row, ("player_id", "id_player", "athlete_id", "shooter_id")))
player_name = player_name or _text(_first(row, ("player_name", "fullname", "full_name", "shooter_name", "author_name")))
player_number = player_number or _text(_first(row, ("pn", "player_number", "number", "jersey", "jersey_number")))
explicit_side = _side_from_key(_first(row, ("side", "team_side", "team"))) or inherited_side
side = _side_for_identity(
explicit_side=explicit_side,
team_id=team_id,
team_name=team_name,
home_ids=home_id_keys,
away_ids=away_id_keys,
home_names=home_name_keys,
away_names=away_name_keys,
)
result_raw = _first(row, ("result", "shot_result", "outcome", "event", "type", "shot_type", "status"))
result = _text(result_raw)
numeric_result = _number(result_raw)
normalized_result = _key(result)
goal = numeric_result == 1 or _truthy(_first(row, ("goal", "is_goal", "scored", "g"))) or any(marker in normalized_result for marker in ("goal", "score", "гол"))
on_target_value = _first(row, ("on_target", "is_on_target", "sog", "target"))
on_target = numeric_result in {1, 2} or (_truthy(on_target_value) if on_target_value not in (None, "") else (goal or any(marker in normalized_result for marker in ("save", "saved", "ontarget", "sog", "вствор"))))
blocked = numeric_result == 4 or any(marker in normalized_result for marker in ("block", "blocked", "блок"))
missed = numeric_result == 3 or any(marker in normalized_result for marker in ("miss", "wide", "мимо"))
if goal:
result_label = "Goal" if language == "en" else "Гол"
elif blocked:
result_label = "Blocked" if language == "en" else "Заблокирован"
elif missed:
result_label = "Missed" if language == "en" else "Мимо"
elif on_target:
result_label = "On target" if language == "en" else "В створ"
else:
result_label = result or ("Shot" if language == "en" else "Бросок")
signature = (period, event_time, round(x, 5), round(y, 5), side, player_number, result)
if signature in seen:
continue
seen.add(signature)
items.append({
"id": _text(_first(row, ("id", "shot_id", "event_id", "external_id"))) or str(len(items) + 1),
"period": period,
"time": event_time,
"sort_seconds": int(stime) if stime is not None else (_game_seconds(event_time) or 0),
"x": x,
"y": y,
"coordinate_system": coordinate_system,
"rink_width": 1000 if coordinate_system == "khl1000x500" else None,
"rink_height": 500 if coordinate_system == "khl1000x500" else None,
"attacking_left": _text(_first(row, ("leftAB", "left_team", "attack_left"))),
"side": side,
"team_id": team_id,
"team_name": team_name,
"player_id": player_id,
"player_name": player_name,
"player_number": player_number,
"result": result,
"result_code": int(numeric_result) if numeric_result is not None else None,
"result_label": result_label,
"goal": goal,
"on_target": on_target,
"blocked": blocked,
"missed": missed,
})
if not items:
return {"available": False, "segments": [], "players": [], "items": []}
periods = sorted({item["period"] for item in items if item["period"]}, key=_period_sort)
player_map: dict[str, dict[str, Any]] = {}
for item in items:
identifier = item["player_id"] or f"{item['side']}:{item['player_number']}" or _key(item["player_name"])
if not identifier:
continue
player_map.setdefault(identifier, {
"id": item["player_id"],
"name": item["player_name"],
"number": item["player_number"],
"side": item["side"],
"team_id": item["team_id"],
"team_name": item["team_name"],
})
players = sorted(player_map.values(), key=lambda item: (0 if item.get("side") == "home" else 1, _key(item.get("name")), _key(item.get("number"))))
return {
"available": True,
"segments": ["all", *periods],
"players": players,
"items": items,
"count": len(items),
"coordinate_system": "khl1000x500" if any(item.get("coordinate_system") == "khl1000x500" for item in items) else "auto",
"rink_width": 1000,
"rink_height": 500,
}

1184
hockey_data/models.py Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,94 @@
from __future__ import annotations
from typing import Any
from xml.etree import ElementTree as ET
XML_LANG = "{http://www.w3.org/XML/1998/namespace}lang"
def _text(value: Any) -> str:
return str(value or "").strip()
def _labels(node: ET.Element) -> dict[str, dict[str, str]]:
result = {
"ru": {"label": "", "description": "", "short": ""},
"en": {"label": "", "description": "", "short": ""},
}
for label in node.findall("./label"):
language = _text(label.attrib.get(XML_LANG) or label.attrib.get("lang") or "ru").lower()
if language not in result:
continue
result[language] = {
"label": _text(label.text),
"description": _text(label.attrib.get("description")),
"short": _text(label.attrib.get("short")),
}
return result
def _merge_entry(target: dict[str, Any], source: dict[str, Any]) -> None:
for language in ("ru", "en"):
current = target.setdefault(language, {"label": "", "description": "", "short": ""})
incoming = source.get(language, {})
for key in ("label", "description", "short"):
if not current.get(key) and incoming.get(key):
current[key] = incoming[key]
def parse_navigation_labels_xml(content: bytes | str) -> dict[str, Any]:
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
columns: dict[str, dict[str, Any]] = {}
by_section: dict[str, dict[str, dict[str, Any]]] = {}
sections: dict[str, dict[str, Any]] = {}
for item in root.findall(".//list//item[@section]"):
section = _text(item.attrib.get("section"))
if section:
entry = _labels(item)
target = sections.setdefault(section, {})
_merge_entry(target, entry)
for columns_node in root.findall(".//columns"):
section_names = [part for part in _text(columns_node.attrib.get("sections")).split() if part]
for index, cell in enumerate(columns_node.findall("./cell")):
ref = _text(cell.attrib.get("ref"))
labels = _labels(cell)
if not ref:
ru = labels.get("ru", {}).get("label", "").casefold()
en = labels.get("en", {}).get("label", "").casefold()
if ru in {"игрок", "хоккеист"} or en == "player":
ref = "player"
elif ru in {"клуб", "команда"} or en == "team":
ref = "team"
elif ru == "" or en in {"", "no.", "number"}:
ref = "number"
elif index == 0:
ref = "rank"
else:
continue
entry = {
**labels,
"datatype": _text(cell.attrib.get("datatype")),
"sortable": _text(cell.attrib.get("sortable")),
"default": _text(cell.attrib.get("default")),
}
global_entry = columns.setdefault(ref, {})
_merge_entry(global_entry, entry)
for key in ("datatype", "sortable", "default"):
if not global_entry.get(key) and entry.get(key):
global_entry[key] = entry[key]
for section in section_names:
section_entry = by_section.setdefault(section, {}).setdefault(ref, {})
_merge_entry(section_entry, entry)
for key in ("datatype", "sortable", "default"):
if not section_entry.get(key) and entry.get(key):
section_entry[key] = entry[key]
return {
"available": bool(columns or sections),
"columns": columns,
"columns_by_section": by_section,
"sections": sections,
}

62
hockey_data/parser.py Normal file
View File

@@ -0,0 +1,62 @@
from __future__ import annotations
from dataclasses import dataclass
from datetime import date
from xml.etree import ElementTree as ET
@dataclass(slots=True)
class ParsedTournament:
external_id: str
level: str
name_ru: str
name_en: str
common_name_ru: str
common_name_en: str
season_part: str
season: str
start_date: date | None
end_date: date | None
round_code: str
game_id_supported: bool
raw_xml: str
def parse_date(value: str | None) -> date | None:
value = str(value or "").strip()
if not value or value == "0000-00-00":
return None
try:
return date.fromisoformat(value)
except ValueError:
return None
def parse_tournaments_xml(content: bytes | str) -> list[ParsedTournament]:
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
result: list[ParsedTournament] = []
for node in root.findall(".//Tournament"):
attrs = node.attrib
external_id = str(attrs.get("id") or "").strip()
if not external_id:
continue
result.append(
ParsedTournament(
external_id=external_id,
level=str(attrs.get("level") or "").strip().lower(),
name_ru=str(attrs.get("name") or "").strip(),
name_en=str(attrs.get("nameEn") or "").strip(),
common_name_ru=str(attrs.get("nameCommon") or "").strip(),
common_name_en=str(attrs.get("nameCommonEn") or "").strip(),
season_part=str(attrs.get("seasonPart") or "").strip().lower(),
season=str(attrs.get("season") or "").strip(),
start_date=parse_date(attrs.get("startDate")),
end_date=parse_date(attrs.get("endDate")),
round_code=str(attrs.get("round") or "").strip().lower(),
game_id_supported=str(attrs.get("gameid") or "").lower()
in {"true", "1", "yes"},
raw_xml=ET.tostring(node, encoding="unicode"),
)
)
return result

1150
hockey_data/router.py Normal file

File diff suppressed because it is too large Load Diff

6862
hockey_data/service.py Normal file

File diff suppressed because it is too large Load Diff

184
hockey_data/shots_parser.py Normal file
View File

@@ -0,0 +1,184 @@
from __future__ import annotations
import json
from dataclasses import dataclass
from typing import Any, Iterable
@dataclass(slots=True)
class ParsedShots:
home: int
away: int
strategy: str
def _json_value(content: bytes | str) -> Any:
text = content.decode("utf-8-sig") if isinstance(content, bytes) else str(content).lstrip("\ufeff")
return json.loads(text)
def _key(value: Any) -> str:
return "".join(ch for ch in str(value or "").casefold() if ch.isalnum())
def _number(value: Any) -> int | None:
if isinstance(value, bool) or value is None or value == "":
return None
try:
number = float(str(value).replace(",", "."))
except (TypeError, ValueError):
return None
if number < 0:
return None
return int(number)
def _dict_numeric_count(row: Any) -> int | None:
if isinstance(row, list):
return len(row)
if not isinstance(row, dict):
return _number(row)
preferred = (
"shots", "shot_count", "shots_count", "total_shots", "total",
"count", "attempts", "shotattempts", "shot_attempts", "value",
)
lowered = {_key(k): v for k, v in row.items()}
for candidate in preferred:
value = lowered.get(_key(candidate))
number = _number(value)
if number is not None:
return number
return None
def _side_value(root: Any, aliases: Iterable[str]) -> int | None:
if not isinstance(root, dict):
return None
lowered = {_key(k): v for k, v in root.items()}
for alias in aliases:
if _key(alias) not in lowered:
continue
raw_value = lowered[_key(alias)]
number = _dict_numeric_count(raw_value)
if number is None and isinstance(raw_value, dict) and raw_value:
keys = [str(key).strip() for key in raw_value]
if all(key.isdigit() for key in keys):
number = len(raw_value)
if number is not None:
return number
return None
def _row_team_values(row: dict[str, Any]) -> list[str]:
values: list[str] = []
for key, value in row.items():
norm = _key(key)
if norm in {
"team", "teamid", "idteam", "club", "clubid", "idclub",
"side", "teamside", "teamname", "clubname", "teamtitle",
}:
if isinstance(value, dict):
values.extend(str(item) for item in value.values() if not isinstance(item, (dict, list)))
else:
values.append(str(value))
return values
def _matches_team(row: dict[str, Any], ids: set[str], names: set[str], side_aliases: set[str]) -> bool:
candidates = {_key(value) for value in _row_team_values(row) if value not in (None, "")}
return bool(candidates & ids or candidates & names or candidates & side_aliases)
def _walk_lists(value: Any) -> Iterable[list[Any]]:
if isinstance(value, list):
yield value
for item in value:
yield from _walk_lists(item)
elif isinstance(value, dict):
for item in value.values():
yield from _walk_lists(item)
def parse_shots_json(
content: bytes | str,
*,
home_ids: Iterable[Any] = (),
away_ids: Iterable[Any] = (),
home_names: Iterable[Any] = (),
away_names: Iterable[Any] = (),
) -> ParsedShots:
"""Extract home/away shot attempts from multiple Stat2TV JSON shapes.
The optional endpoint differs between leagues. Some feeds expose totals by
side, some expose a teams list, while others expose one object per shot.
This parser deliberately accepts all three forms and returns no value when
the payload cannot be mapped unambiguously.
"""
data = _json_value(content)
containers: list[Any] = [data]
if isinstance(data, dict):
for key in ("data", "result", "statistics", "stats", "shots", "totals"):
value = data.get(key)
if isinstance(value, (dict, list)):
containers.append(value)
for root in containers:
home = _side_value(root, ("home", "teamA", "A", "left", "host", "homeTeam"))
away = _side_value(root, ("away", "teamB", "B", "right", "visitor", "guest", "awayTeam"))
if home is not None and away is not None:
return ParsedShots(home=home, away=away, strategy="direct-sides")
home_id_keys = {_key(value) for value in home_ids if str(value or "").strip()}
away_id_keys = {_key(value) for value in away_ids if str(value or "").strip()}
home_name_keys = {_key(value) for value in home_names if str(value or "").strip()}
away_name_keys = {_key(value) for value in away_names if str(value or "").strip()}
home_side_aliases = {_key(value) for value in ("home", "A", "left", "host")}
away_side_aliases = {_key(value) for value in ("away", "B", "right", "visitor", "guest")}
# Team-total rows.
for rows in _walk_lists(data):
mapped_home: int | None = None
mapped_away: int | None = None
for item in rows:
if not isinstance(item, dict):
continue
count = _dict_numeric_count(item)
if count is None:
continue
if _matches_team(item, home_id_keys, home_name_keys, home_side_aliases):
mapped_home = count
elif _matches_team(item, away_id_keys, away_name_keys, away_side_aliases):
mapped_away = count
if mapped_home is not None and mapped_away is not None:
return ParsedShots(home=mapped_home, away=mapped_away, strategy="team-totals")
# Event rows: each mapped row is one shot unless it explicitly carries a
# count greater than one.
for rows in _walk_lists(data):
home_count = 0
away_count = 0
mapped = 0
for item in rows:
if not isinstance(item, dict):
continue
multiplier = _dict_numeric_count(item)
# Event payloads commonly include a generic id/value; those are not
# totals. Count one record unless a shot-specific count is present.
specific_count = None
lowered = {_key(k): v for k, v in item.items()}
for key in ("shotcount", "shotscount", "attempts", "shotattempts"):
specific_count = _number(lowered.get(key))
if specific_count is not None:
break
amount = specific_count if specific_count is not None else 1
if _matches_team(item, home_id_keys, home_name_keys, home_side_aliases):
home_count += amount
mapped += 1
elif _matches_team(item, away_id_keys, away_name_keys, away_side_aliases):
away_count += amount
mapped += 1
if mapped and home_count + away_count:
return ParsedShots(home=home_count, away=away_count, strategy="shot-events")
raise ValueError("Не удалось определить броски хозяев и гостей в shots JSON")

View File

@@ -0,0 +1,134 @@
from __future__ import annotations
from typing import Any
from xml.etree import ElementTree as ET
from .match_parser import local_name, safe_int
def _text(value: Any) -> str:
return str(value or "").strip()
def _team_payload(node: ET.Element, language: str) -> dict[str, Any]:
attrs = {str(key): _text(value) for key, value in node.attrib.items()}
name_ru = attrs.get("name", "")
name_en = attrs.get("nameen", "")
return {
"id": attrs.get("id", ""),
"entry_id": attrs.get("id", ""),
"club_id": attrs.get("clubid", ""),
"name": name_en if language == "en" and name_en else name_ru or name_en,
"names": {"ru": name_ru, "en": name_en},
"rank": safe_int(attrs.get("rank")),
"games": safe_int(attrs.get("gp")),
"wins": safe_int(attrs.get("w")),
"overtime_wins": safe_int(attrs.get("otw")),
"shootout_wins": safe_int(attrs.get("sow")),
"shootout_losses": safe_int(attrs.get("sol")),
"overtime_losses": safe_int(attrs.get("otl")),
"losses": safe_int(attrs.get("l")),
"points": safe_int(attrs.get("pts")),
"points_pct": attrs.get("pts_pct", ""),
"goals_for": safe_int(attrs.get("gf")),
"goals_against": safe_int(attrs.get("ga")),
"penalty_minutes": safe_int(attrs.get("pim")),
"opponent_penalty_minutes": safe_int(attrs.get("pima")),
"playoffs_in": attrs.get("playoffs_in", "").upper() == "Y",
"playoffs_out": attrs.get("playoffs_out", "").upper() == "Y",
"highlighted": False,
"side": "",
}
def _group_payload(
node: ET.Element,
*,
language: str,
fallback_id: str,
) -> dict[str, Any]:
attrs = {str(key): _text(value) for key, value in node.attrib.items()}
name_ru = attrs.get("name", "")
name_en = attrs.get("name_en", "")
teams = [
_team_payload(child, language)
for child in list(node)
if local_name(child.tag).lower() == "team"
]
return {
"id": attrs.get("item") or attrs.get("id") or fallback_id,
"name": name_en if language == "en" and name_en else name_ru or name_en,
"names": {"ru": name_ru, "en": name_en},
"standings_type": attrs.get("standings_type", ""),
"conference": attrs.get("conference", ""),
"playoff_places": safe_int(attrs.get("in_playoff")),
"teams": teams,
}
def parse_standings_xml(
content: bytes | str,
*,
language: str = "ru",
) -> dict[str, Any]:
raw = content.encode("utf-8") if isinstance(content, str) else content
root = ET.fromstring(raw)
if local_name(root.tag).lower() != "standings":
raise ValueError("Stat2TV вернул неизвестный формат турнирной таблицы")
league_groups: list[dict[str, Any]] = []
conference_groups: list[dict[str, Any]] = []
division_groups: list[dict[str, Any]] = []
for child in list(root):
child_tag = local_name(child.tag).lower()
if child_tag == "league":
league_groups.append(
_group_payload(child, language=language, fallback_id="league")
)
elif child_tag == "conferences":
conference_groups.extend(
_group_payload(
group,
language=language,
fallback_id=f"conference-{index}",
)
for index, group in enumerate(list(child), start=1)
if local_name(group.tag).lower() == "conference"
)
elif child_tag == "divisions":
division_groups.extend(
_group_payload(
group,
language=language,
fallback_id=f"division-{index}",
)
for index, group in enumerate(list(child), start=1)
if local_name(group.tag).lower() == "division"
)
variants = [
{
"id": "league",
"label": "League" if language == "en" else "Общая",
"groups": league_groups,
},
{
"id": "conferences",
"label": "Conferences" if language == "en" else "Конференции",
"groups": conference_groups,
},
{
"id": "divisions",
"label": "Divisions" if language == "en" else "Дивизионы",
"groups": division_groups,
},
]
variants = [variant for variant in variants if variant["groups"]]
return {
"tournament_id": _text(root.attrib.get("idtournament")),
"generated_at": _text(root.attrib.get("genDate")),
"order": _text(root.attrib.get("order")),
"available": bool(variants),
"variants": variants,
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,190 @@
.hockey-agent-ui {
position: relative;
z-index: 45;
flex: 0 0 auto;
font-family: Inter, "Segoe UI", Arial, sans-serif;
}
.hockey-agent-chip {
width: 35px;
height: 35px;
min-width: 35px;
display: grid;
place-items: center;
padding: 0;
border: 1px solid #334b64;
border-radius: 10px;
color: #dce8f5;
background: rgba(8, 18, 30, .96);
box-shadow: none;
backdrop-filter: blur(12px);
cursor: pointer;
}
.hockey-agent-dot,
.hockey-agent-status-light {
width: 9px;
height: 9px;
border-radius: 50%;
background: #6c7e91;
box-shadow: 0 0 0 3px rgba(108, 126, 145, .12);
}
.hockey-agent-ui.has-active .hockey-agent-dot,
.hockey-agent-status-light.online {
background: #53d8a8;
box-shadow: 0 0 9px rgba(83, 216, 168, .68);
}
.hockey-agent-ui.has-vmix .hockey-agent-dot {
background: #72f0c4;
box-shadow: 0 0 12px rgba(114, 240, 196, .75);
}
.hockey-agent-ui.is-offline .hockey-agent-dot,
.hockey-agent-status-light.offline {
background: #ff6c7f;
box-shadow: 0 0 8px rgba(255, 108, 127, .5);
}
.hockey-agent-panel {
position: absolute;
right: 0;
top: calc(100% + 9px);
bottom: auto;
width: min(440px, calc(100vw - 28px));
max-height: min(650px, calc(100vh - 90px));
overflow: auto;
border: 1px solid #304961;
border-radius: 16px;
color: #dce8f5;
background: rgba(7, 16, 27, .985);
box-shadow: 0 26px 80px rgba(0, 0, 0, .55);
backdrop-filter: blur(18px);
}
.hockey-agent-panel > header {
position: sticky;
z-index: 2;
top: 0;
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
padding: 15px 16px 12px;
border-bottom: 1px solid #22384d;
background: rgba(7, 16, 27, .98);
}
.hockey-agent-panel > header div { display: grid; gap: 1px; }
.hockey-agent-panel > header small { color: #58cda8; font-size: 8px; font-weight: 950; letter-spacing: .14em; }
.hockey-agent-panel > header strong { font-size: 16px; }
.hockey-agent-panel button.icon { width: 30px; height: 30px; padding: 0; border: 1px solid #314961; border-radius: 9px; color: #9db0c4; background: #0d1b2a; font-size: 20px; cursor: pointer; }
.hockey-agent-current-match {
margin: 12px 14px 0;
padding: 9px 11px;
border: 1px solid #243c53;
border-radius: 10px;
color: #758ba2;
background: #0b1928;
font-size: 10px;
}
.hockey-agent-current-match b { color: #dce9f6; }
.hockey-agent-notice {
margin: 10px 14px 0;
padding: 9px 11px;
border-radius: 9px;
color: #bff9e6;
background: #123b31;
font-size: 10px;
}
.hockey-agent-notice.error { color: #ffd2d9; background: #4a2028; }
.hockey-agent-list { display: grid; gap: 9px; padding: 12px 14px 14px; }
.hockey-agent-empty { padding: 28px 18px; border: 1px dashed #2b4359; border-radius: 12px; color: #6f8398; text-align: center; font-size: 11px; line-height: 1.6; }
.hockey-agent-device {
display: grid;
gap: 10px;
padding: 12px;
border: 1px solid #263e55;
border-radius: 12px;
background: #0a1826;
}
.hockey-agent-device.is-active { border-color: #397f6b; box-shadow: inset 0 0 0 1px rgba(83, 216, 168, .08); }
.hockey-agent-device.is-offline { opacity: .72; }
.hockey-agent-device-title { display: grid; grid-template-columns: 10px 1fr; align-items: center; gap: 9px; min-width: 0; }
.hockey-agent-device-title div { min-width: 0; display: grid; gap: 2px; }
.hockey-agent-device-title strong { overflow: hidden; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.hockey-agent-device-title code { overflow: hidden; color: #687f96; font: 8px ui-monospace, SFMono-Regular, Consolas, monospace; text-overflow: ellipsis; white-space: nowrap; }
.hockey-agent-device-grid { display: flex; flex-wrap: wrap; gap: 5px 12px; color: #70869d; font-size: 8px; text-transform: uppercase; }
.hockey-agent-device-grid b { color: #becddd; font-weight: 900; }
.hockey-agent-device-grid b.ok { color: #6ee2bd; }
.hockey-agent-device-grid b.warn { color: #ff9b82; }
.hockey-agent-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.hockey-agent-actions button {
padding: 7px 10px;
border: 0;
border-radius: 8px;
color: #061820;
background: #66d8b6;
font-size: 9px;
font-weight: 900;
cursor: pointer;
}
.hockey-agent-actions button.secondary { color: #c8d8e8; background: #20364a; }
.hockey-agent-actions button.danger { color: #ffbec8; background: #47232c; }
.hockey-agent-actions button:disabled { opacity: .45; cursor: default; }
.hockey-agent-badge { padding: 6px 8px; border-radius: 8px; color: #9eb0c2; background: #1b2d3f; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.hockey-agent-badge.active { color: #87e8c9; background: #143b32; }
.hockey-agent-badge.busy { color: #e7b6be; background: #3c252c; }
.hockey-agent-panel > footer { padding: 0 14px 14px; color: #60758a; font-size: 8px; line-height: 1.45; }
.hockey-agent-test {
display: grid;
gap: 8px;
padding: 10px;
border: 1px solid #2c475f;
border-radius: 10px;
background: #081522;
}
.hockey-agent-test-title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.hockey-agent-test-title strong { color: #dce9f6; font-size: 10px; }
.hockey-agent-test-title small { color: #64d8b6; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.hockey-agent-test label { display: grid; gap: 4px; color: #70869d; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.hockey-agent-test input {
width: 100%;
box-sizing: border-box;
padding: 8px 9px;
border: 1px solid #2b4358;
border-radius: 8px;
outline: none;
color: #e5eef7;
background: #0d1d2c;
font: 10px ui-monospace, SFMono-Regular, Consolas, monospace;
}
.hockey-agent-test input:focus { border-color: #5ac9aa; box-shadow: 0 0 0 2px rgba(90, 201, 170, .08); }
.hockey-agent-test > button {
justify-self: start;
padding: 8px 11px;
border: 0;
border-radius: 8px;
color: #061820;
background: #66d8b6;
font-size: 9px;
font-weight: 950;
cursor: pointer;
}
.hockey-agent-test > small { color: #60758a; font-size: 8px; line-height: 1.4; }
/* BUILD 2026.08.18.22 — browser-local Agent target */
.hockey-agent-device.is-selected-here {
outline: 2px solid rgba(110, 226, 189, .42);
outline-offset: 1px;
}

View File

@@ -0,0 +1,350 @@
(() => {
"use strict";
const boot = window.UI_BUILDER_BOOT || {};
if (boot.mode !== "runtime") return;
const selectedDeviceStorage = "hockey.vmix.selected_device";
const state = {
devices: [],
activeDeviceId: "",
activeDeviceIds: [],
selectedDeviceId: localStorage.getItem(selectedDeviceStorage) || "",
root: null,
panelOpen: false,
loading: false,
timer: null,
message: "",
messageError: false,
testOpenDeviceId: "",
testCommand: { input: "", selectedName: "", value: "" },
};
const esc = (value) => String(value ?? "")
.replaceAll("&", "&amp;")
.replaceAll("<", "&lt;")
.replaceAll(">", "&gt;")
.replaceAll('"', "&quot;")
.replaceAll("'", "&#039;");
async function api(path, options = {}) {
const response = await fetch(path, {
cache: "no-store",
credentials: "same-origin",
...options,
headers: {
...(options.body ? { "Content-Type": "application/json" } : {}),
...(options.headers || {}),
},
});
let payload = {};
try { payload = await response.json(); } catch (_) {}
if (!response.ok) {
const detail = typeof payload.detail === "string"
? payload.detail
: payload.detail?.message || `HTTP ${response.status}`;
throw new Error(detail);
}
return payload;
}
function runtimeData() {
return window.UIBuilderRuntime?.getData?.() || {};
}
function currentGameId() {
const data = runtimeData();
return String(data.hockey?.selected_game?.external_id || data.hockey?.selected_game?.id || "").trim();
}
function currentSessionToken() {
return String(runtimeData().hockey?.operator_session?.token || "").trim();
}
function activeDevices() {
return state.devices.filter((item) => item.paired_to_me && item.active_for_account);
}
function selectedDevice() {
return state.devices.find((item) => (
item.device_id === state.selectedDeviceId
&& item.paired_to_me
&& item.active_for_account
)) || null;
}
function selectLocalDevice(deviceId) {
state.selectedDeviceId = String(deviceId || "").trim();
if (state.selectedDeviceId) localStorage.setItem(selectedDeviceStorage, state.selectedDeviceId);
else localStorage.removeItem(selectedDeviceStorage);
window.dispatchEvent(new CustomEvent("hockey:agent-selected", {
detail: { device_id: state.selectedDeviceId },
}));
}
async function bindSelectedDevice(deviceId) {
selectLocalDevice(deviceId);
const token = currentSessionToken();
if (!token) return null;
return api(`/api/hockey/agents/devices/${encodeURIComponent(deviceId)}/select-session`, {
method: "POST",
body: JSON.stringify({ session_token: token }),
});
}
function setMessage(text, error = false) {
state.message = text || "";
state.messageError = error;
render();
if (text) setTimeout(() => {
if (state.message === text) {
state.message = "";
render();
}
}, 3500);
}
function ensureRoot() {
if (state.root?.isConnected) return state.root;
const root = document.createElement("section");
root.className = "hockey-agent-ui";
root.innerHTML = `
<button class="hockey-agent-chip" type="button" data-agent-toggle aria-expanded="false" aria-label="vMix Agent" title="vMix Agent">
<span class="hockey-agent-dot"></span>
</button>
<div class="hockey-agent-panel" data-agent-panel hidden></div>
`;
const toolbar = document.querySelector(".runtime-topbar .runtime-actions");
if (toolbar) toolbar.prepend(root);
else document.body.appendChild(root);
root.querySelector("[data-agent-toggle]")?.addEventListener("click", () => {
state.panelOpen = !state.panelOpen;
render();
});
root.addEventListener("click", onClick);
root.addEventListener("input", (event) => {
const field = event.target.closest("[data-agent-test-field]");
if (!field) return;
const key = field.dataset.agentTestField;
if (key === "input") state.testCommand.input = field.value;
if (key === "selectedName") state.testCommand.selectedName = field.value;
if (key === "value") state.testCommand.value = field.value;
});
state.root = root;
return root;
}
async function onClick(event) {
const button = event.target.closest("button[data-agent-action]");
if (!button || state.loading) return;
const action = button.dataset.agentAction;
const deviceId = button.dataset.deviceId || "";
if (!deviceId) return;
state.loading = true;
render();
try {
if (action === "pair") {
await api(`/api/hockey/agents/devices/${encodeURIComponent(deviceId)}/pair`, {
method: "POST",
body: JSON.stringify({ make_active: true }),
});
await bindSelectedDevice(deviceId);
setMessage("Agent прикреплён и выбран для этой панели");
} else if (action === "activate") {
await api(`/api/hockey/agents/devices/${encodeURIComponent(deviceId)}/activate`, { method: "POST" });
await bindSelectedDevice(deviceId);
setMessage("Agent включён и выбран для этой панели");
} else if (action === "select") {
await bindSelectedDevice(deviceId);
setMessage("Эта панель теперь управляет выбранным Agent");
} else if (action === "deactivate") {
await api(`/api/hockey/agents/devices/${encodeURIComponent(deviceId)}/deactivate`, { method: "POST" });
if (state.selectedDeviceId === deviceId) selectLocalDevice("");
setMessage("Получение данных для Agent остановлено");
} else if (action === "test-toggle") {
state.testOpenDeviceId = state.testOpenDeviceId === deviceId ? "" : deviceId;
} else if (action === "test-set-text") {
const input = state.testCommand.input.trim();
const selectedName = state.testCommand.selectedName.trim();
if (!input || !selectedName) throw new Error("Заполните Input и имя текстового поля");
const result = await api(`/api/hockey/agents/devices/${encodeURIComponent(deviceId)}/test-set-text`, {
method: "POST",
body: JSON.stringify({ input, selected_name: selectedName, value: state.testCommand.value }),
});
setMessage(`SetText выполнен · матч ${result.match_id}`);
} else if (action === "unpair") {
if (!window.confirm("Отвязать этот agent от вашего аккаунта?")) return;
await api(`/api/hockey/agents/devices/${encodeURIComponent(deviceId)}/pair`, { method: "DELETE" });
if (state.testOpenDeviceId === deviceId) state.testOpenDeviceId = "";
if (state.selectedDeviceId === deviceId) selectLocalDevice("");
setMessage("Agent отвязан");
}
await load(true);
} catch (error) {
setMessage(error.message || "Ошибка Agent", true);
} finally {
state.loading = false;
render();
}
}
async function load(force = false) {
if (state.loading && !force) return;
try {
const payload = await api("/api/hockey/agents/devices");
state.devices = Array.isArray(payload.devices) ? payload.devices : [];
state.activeDeviceId = String(payload.active_device_id || "");
state.activeDeviceIds = Array.isArray(payload.active_device_ids)
? payload.active_device_ids.map(String)
: (state.activeDeviceId ? [state.activeDeviceId] : []);
const selectedStillValid = state.devices.some((item) => (
item.device_id === state.selectedDeviceId
&& item.paired_to_me
&& item.active_for_account
));
if (!selectedStillValid) {
const mine = activeDevices();
if (mine.length === 1) selectLocalDevice(mine[0].device_id);
else if (state.selectedDeviceId) selectLocalDevice("");
}
const editingTest = Boolean(state.root?.querySelector("[data-agent-test-form]")?.contains(document.activeElement));
if (!editingTest) render();
} catch (error) {
if (!String(error.message || "").includes("401")) console.warn("Could not load vMix agents", error);
}
}
function deviceCard(item) {
const online = Boolean(item.online);
const vmix = Boolean(item.vmix_connected);
const mine = Boolean(item.paired_to_me);
const active = Boolean(item.active_for_account);
const selectedHere = state.selectedDeviceId === item.device_id;
const free = item.pair_state === "free";
const busy = item.pair_state === "busy";
const currentMatch = String(item.current_match_id || "");
let actions = "";
if (free && online) {
actions = `<button type="button" data-agent-action="pair" data-device-id="${esc(item.device_id)}">Прикрепить</button>`;
} else if (mine) {
const canTest = active && selectedHere && online && vmix && currentMatch;
actions = `
${active
? '<span class="hockey-agent-badge active">Получает данные</span>'
: `<button type="button" data-agent-action="activate" data-device-id="${esc(item.device_id)}">Включить</button>`}
${active
? (selectedHere
? '<span class="hockey-agent-badge active">Эта панель</span>'
: `<button type="button" data-agent-action="select" data-device-id="${esc(item.device_id)}">Использовать здесь</button>`)
: ""}
${canTest ? `<button class="secondary" type="button" data-agent-action="test-toggle" data-device-id="${esc(item.device_id)}">${state.testOpenDeviceId === item.device_id ? "Скрыть тест" : "Тест SetText"}</button>` : ""}
${active ? `<button class="secondary" type="button" data-agent-action="deactivate" data-device-id="${esc(item.device_id)}">Не получать</button>` : ""}
<button class="danger" type="button" data-agent-action="unpair" data-device-id="${esc(item.device_id)}">Отвязать</button>
`;
} else if (busy) {
actions = '<span class="hockey-agent-badge busy">Занято другим оператором</span>';
}
const testForm = state.testOpenDeviceId === item.device_id ? `
<div class="hockey-agent-test" data-agent-test-form>
<div class="hockey-agent-test-title"><strong>Тест Web → Agent → vMix</strong><small>SetText</small></div>
<label>Input <input data-agent-test-field="input" value="${esc(state.testCommand.input)}" placeholder="например Scorebug"></label>
<label>Поле <input data-agent-test-field="selectedName" value="${esc(state.testCommand.selectedName)}" placeholder="например HomeTeam.Text"></label>
<label>Текст <input data-agent-test-field="value" value="${esc(state.testCommand.value)}" placeholder="TEST FROM WEB"></label>
<button type="button" data-agent-action="test-set-text" data-device-id="${esc(item.device_id)}">Отправить SetText</button>
<small>Тест выполняется только на этом Agent и его текущем матче.</small>
</div>` : "";
return `
<article class="hockey-agent-device ${online ? "is-online" : "is-offline"} ${active ? "is-active" : ""} ${selectedHere ? "is-selected-here" : ""}">
<div class="hockey-agent-device-title">
<span class="hockey-agent-status-light ${online ? "online" : "offline"}"></span>
<div><strong>${esc(item.name || item.hostname || item.device_id)}</strong><code>${esc(item.device_id)}</code></div>
</div>
<div class="hockey-agent-device-grid">
<span>Agent <b>${online ? "ONLINE" : "OFFLINE"}</b></span>
<span>vMix <b class="${vmix ? "ok" : "warn"}">${vmix ? "CONNECTED" : "NO CONNECTION"}</b></span>
${currentMatch ? `<span>Матч <b>${esc(currentMatch)}</b></span>` : ""}
${item.mapping ? `<span>Mapping <b class="ok">${esc(item.mapping.name)} · v${esc(item.mapping.version)}</b></span>` : (item.project_fingerprint ? `<span>Mapping <b class="warn">НЕ НАСТРОЕН</b></span>` : "")}
${item.project_input_count ? `<span>vMix структура <b>${esc(item.project_input_count)} Inputs · ${esc(item.project_field_count || 0)} полей</b></span>` : ""}
${item.agent_version ? `<span>Версия <b>${esc(item.agent_version)}</b></span>` : ""}
</div>
<div class="hockey-agent-actions">${actions}</div>
${testForm}
</article>
`;
}
function render() {
const root = ensureRoot();
const chip = root.querySelector("[data-agent-toggle]");
const panel = root.querySelector("[data-agent-panel]");
if (!chip || !panel) return;
const active = activeDevices();
const selected = selectedDevice();
const freeOnline = state.devices.filter((item) => item.online && item.pair_state === "free").length;
root.classList.toggle("has-active", Boolean(selected?.online));
root.classList.toggle("has-vmix", Boolean(selected?.online && selected?.vmix_connected));
root.classList.toggle("is-offline", Boolean(selected && !selected.online));
let chipTitle = "vMix Agent · не подключён";
if (selected) {
const name = selected.name || selected.hostname || "Agent";
const vmixState = selected.vmix_connected ? "vMix подключён" : "vMix не подключён";
chipTitle = `${name} · ${vmixState}${selected.current_match_id ? ` · матч ${selected.current_match_id}` : ""}`;
} else if (active.length > 1) {
chipTitle = `vMix Agent · ${active.length} активных · выберите устройство`;
} else if (freeOnline) {
chipTitle = `vMix Agent · ${freeOnline} свободных устройств`;
}
chip.title = chipTitle;
chip.setAttribute("aria-label", chipTitle);
chip.setAttribute("aria-expanded", state.panelOpen ? "true" : "false");
panel.hidden = !state.panelOpen;
if (!state.panelOpen) return;
const gameId = currentGameId();
const cards = state.devices.length
? state.devices.map(deviceCard).join("")
: `<div class="hockey-agent-empty">Активных agent.exe пока нет.<br>Запустите agent.exe на компьютере с vMix.</div>`;
panel.innerHTML = `
<header>
<div><small>VMIX BRIDGE</small><strong>Устройства</strong></div>
<button type="button" class="icon" data-agent-close aria-label="Закрыть">×</button>
</header>
<div class="hockey-agent-current-match">Web матч: <b>${esc(gameId || "не выбран")}</b></div>
${state.message ? `<div class="hockey-agent-notice ${state.messageError ? "error" : ""}">${esc(state.message)}</div>` : ""}
<div class="hockey-agent-list">${cards}</div>
<footer>Активных Agent может быть несколько. F1, Space, таймеры и другие команды идут только в Agent с меткой «Эта панель».</footer>
`;
panel.querySelector("[data-agent-close]")?.addEventListener("click", () => {
state.panelOpen = false;
render();
});
}
window.HockeyAgentRuntime = {
currentDeviceId: () => String(state.selectedDeviceId || ""),
selectDevice: (deviceId) => { selectLocalDevice(deviceId); render(); },
getDevices: () => state.devices.slice(),
};
window.addEventListener("hockey:game-selected", () => {
setTimeout(() => load(true), 300);
setTimeout(() => load(true), 1300);
});
window.addEventListener("focus", () => load(true));
document.addEventListener("visibilitychange", () => {
if (!document.hidden) load(true);
});
ensureRoot();
load(true);
state.timer = window.setInterval(() => {
if (!document.hidden) load();
}, 3000);
})();

View File

@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2013 Panayiotis Lipiridis
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
of the Software, and to permit persons to whom the Software is furnished to do
so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,150 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ad" viewBox="0 0 640 480">
<path fill="#d0103a" d="M0 0h640v480H0z"/>
<path fill="#fedf00" d="M0 0h435.2v480H0z"/>
<path fill="#0018a8" d="M0 0h204.8v480H0z"/>
<path fill="#c7b37f" d="M300.4 136.6c7.7 0 10.9 6.6 18.6 6.6 4.7 0 7.5-1.5 11.7-3.9 2.9-1.6 4.7-2.5 8-2.5 3.4 0 5.5 1 7.3 4 1 1.6 1.8 4.9 1.3 6.7a40 40 0 0 1-2.7 8.3c-.7 1.6-1.3 2.5-1.3 4.2 0 4.1 5.6 5.5 9.4 5.6.8 0 7.7 0 12-4.2-2.3-.1-4.9-2-4.9-4.3 0-2.6 1.8-4.3 4.3-5.1.5-.1 1.3.3 1.7 0 .7-.3.4-1 1-1.4 1.2-1 2-1.6 3.6-1.6q1.3-.1 2.5.7.5.7 1 .8c1.2 0 1.8-.8 3-.8a5 5 0 0 1 2.3.6c.6.3.6 1.5 1.4 1.5.4 0 2.4-.9 3.5-.9 2.2 0 3.4.8 4.8 2.5.4.5.6 1.4 1 1.4a6 6 0 0 1 4.8 3c.3.4.7 1.4 1.1 1.5.6.3 1 .2 1.7.7a6 6 0 0 1 2.8 4.8q-.1 1.2-.5 2.2c-1.8 6.5-6.3 8.6-10.8 14.3-2 2.4-3.5 4.3-3.5 7.4 0 .7 1 2.1 1.3 2.7-.2-1.4.5-3.2 2-3.3a4 4 0 0 1 4 3.6l-.3 1.8a10 10 0 0 1 4-1.4h1.9c3.3 0 7 1.9 9.3 3.8a21 21 0 0 1 7.3 16.8c-.8 5.2-.3 14.8-13.8 18.6 2.5 1 4.2 3 4.2 5.2a4.5 4.5 0 0 1-4.4 4.7 4 4 0 0 1-3.5-1.4c-2.8 2.8-3.3 5.7-3.3 9.7 0 2.4.4 3.8 1.4 6s1.8 3.5 3.7 5.1q1.3-2.4 4-2.6 2.7-.1 3.9 2.2c.2.5 0 .9.3 1.4.3.6.8.7 1.1 1.3.5 1 0 1.8.5 2.7.3.7.9.8 1.2 1.4.4 1 .5 1.6.5 2.7 0 3-2.7 5.2-5.7 5.2-1 0-1.4-.4-2.3-.3 1.7 1.7 3 2.5 4.3 4.5a18 18 0 0 1 3 10.3 22 22 0 0 1-2.8 11.2 20 20 0 0 1-7 8.5 35 35 0 0 1-16 6.4 74 74 0 0 1-11 1.4l-14.1.8c-7.2.4-12.2 1.5-17.3 6.6 2.4 1.7 4 3.5 4 6.4q-.2 4.7-4.7 6.2c-.7.2-1.2 0-1.9.4s-.7 1.3-1.4 1.7a6 6 0 0 1-3.8 1 8 8 0 0 1-6.4-2.5c-2.2 1.8-3 3.4-5.5 4.9-.8.4-1.2 1-2.1 1-1.5 0-2.2-1-3.4-1.8a23 23 0 0 1-4.4-4c-2.3 1.3-3.6 2.4-6.3 2.4a7 7 0 0 1-4-1c-.6-.5-.8-1.2-1.5-1.6s-1.3-.3-2.1-.7c-3-1.3-5-3.5-5-6.8 0-2.9 1.8-4.7 4.4-6-5-5-10-5.8-17-6.2l-14-.8c-4.4-.3-6.8-.7-11-1.4-3.3-.5-5.2-.7-8.2-2.1-10.2-4.8-16.8-11.3-18-22.5-.2-1-.2-1.5-.2-2.5 0-5.8 2.3-9.4 6.4-13.5-1-.3-1.7 0-2.8-.3-2.5-1-4.4-2.7-4.4-5.5q-.1-1.4.5-2.6c.4-.6 1-.7 1.2-1.4.2-1 0-1.6.4-2.5.3-.5.8-.6 1-1.2 1-1.9 2-3.4 4.1-3.4q2.7.1 3.8 2.5c1.8-.8 2.2-2.1 3.2-3.7a16 16 0 0 0 1.4-13.3c-.4-1.5-.6-2.5-1.8-3.7q-1.4 1.4-3.4 1.4c-2.9 0-5-2.5-5-5.3a5 5 0 0 1 3-4.6c-1.6-1.4-3-1.5-4.7-2.6-2.6-1.6-3.5-3.4-5.2-6-1.2-1.6-1.5-2.8-2-4.7a19 19 0 0 1-1-7.8c.6-5 1.5-8 4.6-11.9 1.8-2.3 3-3.7 5.8-4.9 2.3-1 3.7-1.7 6.2-1.7l2 .1a7 7 0 0 1 2.8.8c.4.2 1.1.9 1.1.4s-.3-.8-.3-1.3c0-2 1.5-4 3.6-4 1.5 0 2.1 1.4 2.9 2.7q.6-1 .7-2.3c0-3.4-1.9-5.2-4-7.9-4.7-5.8-10.5-8.5-10.5-16q0-3.2 3-4.9c.5-.3 1.3 0 1.8-.3s.4-1 .7-1.4q.7-.9 1.6-1.6c1-1 2-.6 3.1-1.5q.8-.7 1.2-1.4c1.3-1.6 2.5-2.4 4.6-2.4q1.3-.1 2.5.4l1 .5q.5-.5 1.5-1.1a4 4 0 0 1 2.2-.6c1.1 0 1.8.6 3 .6l.8-.6c1-.7 1.5-1 2.7-1s1.8.3 2.8 1c1 .5 1 1.3 2 1.8l1.5.4c2.6.9 4.5 2.6 4.5 5.3q.1 2.1-1.4 3.5c-.9.7-1.7.6-2.8 1a16 16 0 0 0 11.3 3.5c4.2 0 9.3-1.7 9.3-5.9 0-2-1-3-1.8-4.8a19 19 0 0 1-2.1-8.5c0-2.8.3-4.5 1.9-6.7s3.6-2.9 6.5-2.9"/>
<g fill="none" stroke="#703d29">
<path stroke-linejoin="round" stroke-width=".7" d="M272.4 159a4 4 0 0 0 2.4 2.4c.8.3 2.7.2 3.8-1.4 1-1.2 1-2.8.6-4a5 5 0 0 0-1.7-2.2z"/>
<path stroke-linecap="round" stroke-width=".7" d="M401 236.1c-1.2-2.9-4.3-1.6-4.4 0-.5 3.7 2.7 4.8 5 4.2a4 4 0 0 0 2.5-2q1-1.6.4-3.7l-.8-1.6-1.3-1.2q-1.2-.7-3.4-.6c-5.5 0-10.4 6.5-12 13.4-.6 2.2-1.3 7.3-.3 12a22 22 0 0 0 5.9 11.3 26 26 0 0 0 9.9 5.8 8 8 0 0 0 4 .1c3.2-.7 4.7-3.8 3-7-1.3-2.5-5.3-4-7.2-.6q-.3.5-.4 1.5c0 .9.4 2 1 2.4 1.5.9 3.8.6 3.7-2"/>
<path stroke-width=".8" d="M383.8 274a11 11 0 0 1 6.6-3.7q4.4-.4 8.2 2a19 19 0 0 1 10.8 17c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14-7.1 3-18 3.6-25.7 4-10.4.3-20 .7-25.5 7.6"/>
<g stroke-width=".7">
<path d="M386.4 285.7q-.4-1.5.8-3.3c1.2-1.6 3.7-2.1 6-1a7 7 0 0 1 2.5 2.2l1.1 1.6q1 1.7 1 2.5c2.5 7-1.4 14.5-6.5 17.6-4 2.4-8.7 3.4-14.4 4-2.5.4-4 .3-6.5.5h-16.8c-2.9.3-5 .4-7.6.8q-2.4.3-5.4 1-.9 0-1.8.4l-1.2.3q-5.5 1.6-9.8 4.2-1.3.7-2.5 1.7l-1.3 1.2c-2 2-3.9 4-4.4 6.7v1.6c0 1.8 1.4 4.3 5.4 5m5.5-170c.8 1.4 1.3 2.3.8 3.9q-.9 2.7-3.6 2.8c-4 0-6.3-4.8-4.5-7.8 3.2-5.3 9.3-2.3 15 .3-.3-1.3-.8-1.8-.7-3.5.1-4.2 3.2-6 4.5-10 .7-2.3 1-4.3-.7-6q-2.2-1.8-5.1-.6c-3.8 1.5-8.5 5.9-16.6 6-8.2-.1-12.8-4.5-16.7-6q-3-1.2-5.1.7c-1.7 1.6-1.4 3.6-.7 6 1.3 3.8 4.4 5.7 4.5 10 0 1.6-.4 2-.7 3.4 5.7-2.6 12-5.9 15-.3 1.7 3.2-.5 7.7-4.5 7.7q-2.7 0-3.6-2.7-.5-2.2.8-4"/>
<path stroke-linecap="round" d="M314.6 159.9a5 5 0 0 1 2.4 5c-.2 2.5-.8 3.1-2.8 4.5m2.4-3.8q0 2.2-2.3 3.1"/>
</g>
<path fill="#c7b37f" stroke="none" d="m276.7 153.3.7.5.8.8.5 1 .2.8v1.9l-.2.8-.5.6-.6.6-.9.5-1 .2-1 .2-1-.5-.9-.6-.5-.8-.4-1v-.4z"/>
<path stroke-linecap="round" stroke-width=".7" d="M275.2 157.2c-.3-1.7-2.2-2-3-1-1.1 1.5-.3 4 2 4.7a4 4 0 0 0 3.9-1.4c1-1.3.9-2.8.5-4a5 5 0 0 0-1.7-2.2c-2.7-2-7.1-1.6-8.6 2-1.8 4.4 2.2 7.8 6 10.3 4.6 3.2 10 3.8 14 3.8 9.2-.1 16.2-4.5 20.7-7q1.7-.9 2.7.2a2 2 0 0 1-.3 2.7"/>
<path stroke-width=".7" d="m248 281.2-2 .7-2 1.6-1 1.3-1.1 2-.5 1.5-.4 1.8-.2 1.4m19-10.1-.1 1.8-.3 1.2-1 2.2-1.3 1.8-1.5 1.2-1.1.5-1.6.4"/>
<path stroke-width=".8" d="M319.7 329.1c-.3 1.7-1.9 3.6-5.3 4.2l-.6.2"/>
<path stroke-width=".9" d="M404.2 276.2a18 18 0 0 1 5.6 13.5c0 3.6-1 7.5-2 9.4-.8 1.7-3 9-15.3 14a85 85 0 0 1-25.6 4c-10.3.3-19.8.7-25.4 7.3"/>
<path stroke-width=".6" d="M387.5 282.9c.8-1 3.5-2.4 5.8-1.1a6 6 0 0 1 2.3 2"/>
<path stroke-width=".9" d="m401.6 273.8 1.4.5a7 7 0 0 0 4 0c2.8-.8 4.6-3.4 3.2-6.9a6 6 0 0 0-1.8-2.1"/>
<path stroke-linecap="round" stroke-width=".7" d="M240.3 199.8c-2 1.1-3.3 1.4-4.8 3.1a28 28 0 0 0-2.6 6.8m46-51.7q-.1 2.7-3 3.2"/>
<path stroke-width=".6" d="M397.1 192a19 19 0 0 1 18.6 19.8c0 16-9.9 18.5-13.8 19.6"/>
<path stroke-width=".7" d="M398.4 192c8.1-.3 16.5 5.7 16.9 20.7.3 11.7-8 17-12 18"/>
<path stroke-width=".6" d="m393.8 248.4.1-1.6.6-2.5.7-2 .9-1.6 1-1.3m7.8-3.4v1.5l-.5 1-.7 1.1-.8.6-1.2.5h-1.1l-.8-.1m-14.3-52.8.3-1.7.8-1.6 1-1.5 1.6-2.2 1.4-1.4 2-2.2 2-1.9 1.1-1.3 1.5-1.9 1.4-2 .8-1.7.5-2.2.1-2.7-.2-.8m-12.3 128.2 1.6-.4 1.2-.6.7-.7.5-.8.3-1.2v-.9m-158.2-12.1h2.7l1.6-.6m5-36.5-.2 1.4-.4.6-.4.6-.7.5-.7.3-1 .1h-.6m9.9-15.5-.3 2.1-.5 1-.8 1.2-1.2.9-1.2.6-2.3.5m15.3-39.7-.5 1.3-.5 1-.8 1-1 1-1.2.5-1.1.3-.6-.1m.3-6.2v1"/>
<g stroke-width=".6">
<path stroke-linecap="round" d="M254.3 224a7 7 0 0 1-2.1 1.4m150.5 44.8.5.2c1.4.8 4.2-.2 3.4-2.4"/>
<path d="M397.8 239.6c1 1.3 2.9 1.7 4.4 1.3a4 4 0 0 0 2.5-2q1-1.6.4-3.7l-.9-1.6-1.3-1.5-.4-.2m6.4 34 .1-.7a4 4 0 0 0-1.3-3l-.8-.8m.4.5c0-1.8-1.5-3.2-3.4-3.5m-4.2 2.8-1.3-1a16 16 0 0 1-4.3-10.7c0-4.2 1.6-8.4 3.6-10M341.2 324l1.8-1.6 1.2-1 2.3-1.4 2.2-1 1.6-.5 3-.6 3.6-.6m-29.5 19.4a17 17 0 0 1-7.6 6.1 18 18 0 0 1-7.6-6.1"/>
<path stroke-linecap="round" d="M314.4 332.6a10 10 0 0 1-2.2 4.2"/>
<path d="m314.7 330.5-.4 2.2M312 337l-1 1-1.7.9-2 .6m-5.6-177.8c.3-.8.5-1.4.5-2.6-.1-4.2-3.2-6.1-4.5-10-.7-2.3-1-4.3.7-6q2.2-2 5-.6c4 1.5 8.6 5.8 16.7 6-8.1-.2-12.8-4.5-16.6-6-2-.8-3.8-1-5.3.5-1.7 1.6-1.2 3.8-.5 6.1 1.3 3.9 4.2 5.8 4.3 10q-.1 1.6-.5 2.6M320 148c8-.4 14.9-5.8 17.1-6.3 2-.4 3-.2 4.5 1.1-1.4-1.3-3-1.2-5-.5-3.8 1.5-8.4 5.8-16.6 6m79.6 112.9a16 16 0 0 1-6.2-12.4c0-4.1 1.7-8.4 3.6-10m-70 97.6c-1.3 2-4.3 5-7.6 6.2a18 18 0 0 1-7.6-6.2"/>
<path stroke-linecap="round" d="m306.7 163.7 2.3-1.3c1-.6 2.3-.5 2.9.2s.7 2-.2 2.8"/>
<path d="M294.7 169.3c5.5-1.2 10-3.6 13.4-5.5M340.3 328c.5.3.8 1 .8 1l.3.8c.3 1.5-.7 2.4-2 2.6-1.7.2-3-.8-3.5-2M294.4 169c5.5-1.1 10-3.6 13.4-5.5m97.6 106.9c-1 .4-1.6.3-3-.2l-1.8-1a21 21 0 0 1-8.4-9 19 19 0 0 1-1.7-4.6 12 12 0 0 1-.5-3.3 26 26 0 0 1 4.7-15.3c1.1-1.6 2.1-2.5 4.2-2.6m-143.7-39.3a7 7 0 0 1 2.7 5.7c0 3.1-2.6 8.2-9 10a8 8 0 0 1-6.3-.8"/>
<path d="M256.3 205.6q1.6 1 1.6 3.3 0 1.6-1.9 3.7a12 12 0 0 1-8.8 4q-3 .1-6-1.7a9 9 0 0 1-3.8-5.4"/>
<path d="M256.2 212.3q1.8 1.8 1.7 4.6.1 3.9-3.7 7-.8.8-2 1.5m129.5-22.1v3.5m-.3-4.4v5m.3-15.8v6.6m-.3-8v8.9m-1.9 82a19 19 0 0 1-4.2 5.6 20 20 0 0 1-5.8 4.1 25 25 0 0 1-6.6 2.2 33 33 0 0 1-6.8.9c-2.5 0-3.9 0-6.4-.2s-4-.6-6.7-.8c-2.2-.2-3.4-.4-5.6-.3a28 28 0 0 0-11 1.8c-2.6 1-5.7 3-6.3 3.8a22 22 0 0 0-6.4-3.8 22 22 0 0 0-5.1-1.4c-2.3-.4-3.5-.4-5.8-.4s-3.4.1-5.6.3c-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.4.2a33 33 0 0 1-13.4-3 20 20 0 0 1-6.4-4.8m42.1 53.4 1.8-.2m30.3-2.4 1.8-.1 1.7-.7 1.2-.8 1.7-2 .3-.6.3-1.7v-.8m47-136.7c.7-2.6-.2-5.4-2.8-5.3m-132 46.5a8 8 0 0 1-3.5 4.7m3.6-46.7a7 7 0 0 1-3.6 4c-1.9.8-4 0-5.2-.8"/>
<path stroke-linecap="round" d="M243.8 202.4c1.5.8 3.1-.4 2.8-2.4a3 3 0 0 0-2.5-2.2"/>
<path d="M250.2 286.6q.3.5.8.8c.7.2 1.2.4 1.9-.5.8-1.1.3-2.8-.5-3.9a5 5 0 0 0-5.8-1q-1.2.6-2.6 2.2l-1.1 1.6q-1 1.7-1.1 2.4c-2 5.9.4 12 4.1 15.7"/>
<path stroke-linecap="round" d="m340.2 327.8.7.8.2.9c.3 1.5-.7 2.4-2 2.6-1.6.2-2.8-.8-3.3-2"/>
<path d="M389.4 154.8a7.4 7.4 0 0 1 6.3 7c0 4.4-1.5 6-3.8 9.2-2.5 3.4-10.7 9.6-10.7 16.7q-.2 6.4 4.3 8.4c2 1 4.3 0 5.4-1 2.6-2.4 1.5-6.5-1.2-7-3.2-.6-3.9 4.6-.7 4.3m17.9 69a4 4 0 0 0-3.6-3 3.7 3.7 0 0 0-3.7 3.7q0 1.6 1 2.6"/>
<path d="M383.9 195.1a7 7 0 0 0-2.7 5.7c0 3.1 2.6 8.2 9 10 2.4.7 4.8.6 6.2-.3m-156-10.3a9 9 0 0 0-4.8 3.5 17 17 0 0 0-2.2 12.7 16 16 0 0 0 2.3 5.6l1 1.2 1.2 1m64 92c4.9 2.1 8.4 3.7 11.4 8.5a10 10 0 0 1 1.2 4.9c0 2.7-1 5.7-3.3 7.6a8 8 0 0 1-6.7 2c-1.9-.2-3.7-1.6-4-2.6M254 224.1c2.7 2.2 3.9 4.2 3.9 7.5a8 8 0 0 1-4 7.5"/>
<path stroke-linecap="round" d="M251.5 236.4c4 5.1 6.3 8.1 6.4 14.1.1 5.7-1.7 9.6-5 13.7"/>
<path d="M329.8 169.3a4 4 0 0 0 1.5-2.2q.8-2.2-.2-4 1.3 2 .7 4c-.1 1-.8 1.5-1.6 2.3m51.5 86.1v16.2l-.1 2.5-.3 1.7"/>
<path d="M381.4 254v19.9l-.5 2.6m.5-43v14.6m.3-13.4v11.8m0-26.8v8.8m-.3-9.9v11m.3-19v3.5m-.3-4.2v5m-1.8 65.2-.4.7a19 19 0 0 1-4.1 5.7 20 20 0 0 1-5.9 4 25 25 0 0 1-6.5 2.2c-2.7.6-4.2.8-6.9.9-2.5 0-3.9 0-6.3-.2-2.7-.2-4.1-.5-6.8-.8-2.2-.2-3.4-.3-5.6-.3s-3.5 0-5.7.4a22 22 0 0 0-5.2 1.4c-2.7 1.1-5.7 3-6.4 3.8-.6-.8-3.7-2.7-6.3-3.8a22 22 0 0 0-5.2-1.4c-2.2-.4-3.5-.4-5.8-.4s-3.4.1-5.6.3c-2.6.3-4 .6-6.7.8-2.5.2-3.9.3-6.3.2a33 33 0 0 1-13.5-3 20 20 0 0 1-5.8-4.1l-2.5-2.8m-2-3.2a10 10 0 0 1-2.3 7.7c-.8.9-2.6 2.6-5 2.6-3.7 0-4.8-2.5-5-3.2"/>
<path d="M255.6 278.9q1 1 1.9 2.5c1 1.8.6 4.8-.1 6.2l-.3.4m-20.3 18q3.3 3.8 10.9 7.1c7.1 3 18.1 3.6 25.7 4 10 .3 19.3.7 25 7m17.3-4a12 12 0 0 1 4 5.5m-7.3 11.5-.7.7a8 8 0 0 1-6.6 2c-2-.2-3.8-1.6-4.3-2.6m-5.4-2.9.3.4a8 8 0 0 0 5.1 2.4m27 0a18 18 0 0 1-7.7 6.1 18 18 0 0 1-7.6-6.1l-.3-.5m15.6.4.7.7a8 8 0 0 0 6.7 2 6 6 0 0 0 4-2.5l.5-.7"/>
<path d="m339 336.6-.7 1.2-1.1 1-1.7.7h-1.6"/>
<path d="M343 325.3a8 8 0 0 1 2.4 2.9q.4 1 .5 2.3a6 6 0 0 1-1.5 4.2 8 8 0 0 1-5.4 2.4h-.4m.2-.2a7 7 0 0 1-5.2-2.2m63.7-67.9a24 24 0 0 1-4.8-6.4 19 19 0 0 1-1.7-4.5 12 12 0 0 1-.5-3.3 26 26 0 0 1 4.6-15.3c.7-.8 1.4-1.8 2.1-2.2m-1.3-75.9c2.5.2 4.8 3 4.8 5.7 0 3.8-1.3 5.5-4.4 9.3-2.6 3.2-10.6 9-10.3 14.5q.1 1.6 1.1 2.8m-3.2 3.5a7 7 0 0 0 2 1.4 5 5 0 0 0 4.3-.3M369 153a6 6 0 0 1 2.2 2.6c1.8 4.5-2.2 7.9-6 10.4a21 21 0 0 1-8.3 3.3"/>
<path d="M364.6 161.6a4 4 0 0 1-3.1-1.5l-.7-1m-15 4.9-1.2-1q-1.7-1.4-.8-4.4c.6-1.9 3.7-7.2 3.8-10.9.2-5.6-2-9-5.3-10.2"/>
<path stroke-linecap="round" d="m347.3 146.5-.1 2-.6 2.2-1 3-1 1.9-.8 1.9-.4 1.3-.2 1 .1.9m38 126.3.6.8c.7 1 3.2 3 5.5 3 3.7 0 4.6-2.6 4.7-3.2.5-2.9-.5-3.6-2-4.5 0 0-.8-.4-1.9-.2"/>
<path d="M237 274.4a7 7 0 0 1-3.7 0c-2.9-.9-5.2-3.6-4-7m13.4-31.8q.4.5.4 1c.4 3.8-2.8 4.8-5 4.2a6 6 0 0 1-3-2.3 5 5 0 0 1-.7-2.3m22-23.6q.9.7 1.3 1.7m-1.1-8.5q.8.7 1.1 1.3"/>
<path stroke-linecap="round" d="M257.9 210.5a9 9 0 0 1-1.6 2.4 12 12 0 0 1-8.8 4q-3 .1-6-1.7a10 10 0 0 1-4-5.6"/>
<path d="M255.4 195.3a8 8 0 0 1 2.4 3.4"/>
<path stroke-linecap="round" d="M257.8 203.2c-.9 3-3.5 6.6-8.6 7.9-2.4.6-5.6-.2-6.6-1"/>
<path d="M240 202.6c.3 2.6 2 4.6 5.4 4.6 4.7.1 7.6-6.7 3.4-11.5"/>
<path stroke-linecap="round" d="M229.4 225.5q1 1.3 2.4 2.4a17 17 0 0 0 6 3.3m5.2.5c4.2-.5 6.6-3.7 6-7.3-.3-2.8-2.8-5-4.6-5.1"/>
<path d="M249.8 188.1c1.9 0 3 1.6 2.9 3"/>
<path stroke-linecap="round" d="M249.4 163a12 12 0 0 0 5 5.9m144.2 31c1.7 2.3.6 7-4 7a5 5 0 0 1-4.5-2.5"/>
<path d="M381.7 169.1V185"/>
<path stroke-linecap="round" d="M243.8 202.3c1.4 1 3.3-.7 2.5-2.6-.5-1.2-2.2-2.6-4.7-.9-2.8 1.9-2 7.8 3.2 7.9 4.7 0 7.6-6.8 3.4-11.6-4-4.6-11.3-3.6-16 .2A21 21 0 0 0 225 207a23 23 0 0 0 0 9.2 21 21 0 0 0 3 7.5l1.3 1.7c.8.8 1 1.2 2 2a15 15 0 0 0 10.4 3.7c4.6-.2 7.3-3.4 6.8-7.3-.4-3.8-4.2-5.7-6.7-3.9-1.7 1.2-2.3 4.9.7 5.8 1.6.5 3.1-1.7 2-3M374 150.9q4-2.2 6.3 1a10 10 0 0 1 1.6 7.2 9 9 0 0 1-3.5 5.8"/>
<path stroke-linecap="round" d="M380.5 152c3.1-2 6.5-1.1 8.3 1.6 1.3 2 1.7 3.6 1.6 6.1a11 11 0 0 1-5.7 9.2"/>
<path d="M395 159.2c2.6.2 4.6 2.5 4.6 5.1 0 3.8-1 5.5-4 9.3-2.7 3.3-10.6 9-10.4 14.6 0 2.1 1.8 4 3.3 4.2"/>
<path stroke-linecap="round" d="M395.4 202.3c-1.5 1-3.3-.6-2.5-2.4.5-1.2 2.2-2.8 4.7-1.1 2.7 1.9 2 7.8-3.3 7.9-4.7 0-8-6.6-3.4-11.6 4-4.6 11.7-3.7 16.5.1 2 1.6 6.1 6 7 12 1 7 .9 15.6-6.4 21-3 2.1-7 3.1-10.6 3-4.6-.2-7.3-3.5-6.8-7.4.5-3.8 4-5.4 6.7-3.9s2.3 5.4-.7 5.8c-1.7.2-3.1-1.7-2-3"/>
<path d="M392.9 199.9c.8-3.5 3.7-3.8 6.2-3.8 6.5.1 11.1 8 11.2 15.5 0 9.5-4 15.2-11 15.5-1.9 0-5-.8-5-3"/>
<path stroke-linecap="square" d="M397 198.3c6.9 1.6 9.3 7.8 9.3 13.8 0 4.9-.5 11.6-10 13.9"/>
<path d="M408.4 265.3a3.9 3.9 0 1 0-6.3 2.4"/>
<path stroke-linecap="round" d="M394.4 259.4c1.4 2 3 4.1 6.3 6m-1.3 10.5c-3.2-2.2-9.5-5-15-2.2a8 8 0 0 0-4.4 4.4 10 10 0 0 0 1.8 9.5c.9 1 2.7 2.6 5 2.7 3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.1-.7-.3-2.8-.2-3.2 1.3q-.3.9.2 2"/>
<path stroke-linecap="round" d="M340.5 328.4c1 2.2-.2 3.2-1.6 3.4-2.2.3-3.3-1.4-3.4-3a4.4 4.4 0 0 1 4.3-4.7c2.3 0 4.1 1.5 5 3.5q.5 1 .5 2.4a6 6 0 0 1-1.4 4.1 8 8 0 0 1-5.4 2.5c-4.2.1-7.5-3.8-7.5-7.8 0-7.7 11.4-12 16-13a84 84 0 0 1 17.9-2.4c3.5-.1 6.2 0 10.1-.5 3.5-.3 5.4-.5 9-1.3a27 27 0 0 0 12.6-6.4c2.9-2.7 4.5-4.5 5.9-8.2a17 17 0 0 0-1.3-13.9 14 14 0 0 0-10.3-6.8c-3.7-.5-7 1.1-9 4.8-1 1.8-.6 4.8.1 6.2a6 6 0 0 0 4.8 3c3.8 0 4.7-2.6 4.8-3.2.4-2.8-1.2-3.9-2-4.2-.7-.2-2.8-.1-3.2 1.4q-.3.9.2 2"/>
<path stroke-linecap="round" d="M337.2 316.2c-4.8 2.1-8.4 3.7-11.4 8.5a10 10 0 0 0-1.2 4.9c0 2.7 1.1 5.7 3.3 7.6a8 8 0 0 0 6.7 2c2-.2 3.7-1.6 4-2.6"/>
<path d="M385.1 224.1c-2.3.8-3.9 4.2-3.9 7.5a8 8 0 0 0 4 7.5"/>
<path stroke-linecap="round" d="M387.6 236.4c-4 5.1-6.3 8.1-6.4 14.1 0 5.7 1.7 9.6 5.1 13.7"/>
<path d="m365.9 152 .3-.5c1.7-2.4 4.7-3.1 6.9-1.5 2.6 2 3.3 5.4 2.6 9q-.9 3.3-4 5.5"/>
<path stroke-linecap="round" d="M265.1 150.8q-3.9-1.9-6.3 1a9 9 0 0 0-1.6 7.2c.6 2.7 1.4 3.8 3.5 5.8"/>
<path d="M258.6 152a6 6 0 0 0-8.3 1.6 9 9 0 0 0-1.6 6.1c.2 4.2 2.8 7.6 5.8 9.2"/>
<path d="M249.7 154.8a7 7 0 0 0-6 6.6c0 4.5 1 6.3 3.5 9.6 2.5 3.4 10.7 9.6 10.7 16.7q.2 6.4-4.3 8.4c-2 1-4.3 0-5.4-1-2.6-2.4-1.5-6.5 1.2-7 3.3-.6 3.9 4.6.7 4.3"/>
<path d="M244 159.2c-2.5.2-5 2.3-5 5 0 3.8 1.5 5.6 4.6 9.4 2.6 3.3 10.1 9 9.9 14.5 0 2-1.5 4.6-2.9 4.3"/>
<path stroke-linecap="round" d="M238 236.1c1.3-2.9 4.4-1.6 4.6 0 .4 3.7-2.8 4.8-5.1 4.2a4 4 0 0 1-2.5-2 5 5 0 0 1-.4-3.7l.9-1.6 1.2-1.2q1.3-.7 3.4-.6c5.5 0 10.4 6.5 12 13.4.6 2.2 1.3 7.3.3 12a22 22 0 0 1-5.8 11.3 26 26 0 0 1-10 5.8 7 7 0 0 1-3.9.1c-2.8-.9-4.6-3.5-3.2-7 1.2-2.6 5.4-4 7.3-.6q.3.5.4 1.5c0 .9-.4 2-1 2.4-1.4.9-3.7.6-3.6-2"/>
<path d="M233.8 270.4c1 .4 1.6.3 2.9-.2l1.8-1c2.6-1.5 5.6-3.8 8.4-9.1a19 19 0 0 0 1.7-4.5q.4-1.6.6-3.3a26 26 0 0 0-4.8-15.3c-1.1-1.6-2-2.5-4.2-2.6m-9.5 31a3.9 3.9 0 1 1 6.3 2.3"/>
<path d="M232.2 261.4a4 4 0 0 1 3.7-3 3.7 3.7 0 0 1 3.6 3.7 4 4 0 0 1-1 2.6"/>
<path d="M239.4 261.3a16 16 0 0 0 6.2-12.4c0-4.1-1.6-8.4-3.6-10"/>
<path stroke-linecap="round" d="M244.7 259.4a17 17 0 0 1-6.3 6"/>
<path d="M254.6 273.7q-1.4-3.2-5.8-3.5-4.3-.3-8.2 1.9a19 19 0 0 0-10.8 17 25 25 0 0 0 2 9.5c.9 1.6 3 9 15.3 14a86 86 0 0 0 25.7 3.9c10.4.4 20 .8 25.6 7.6"/>
<path stroke-linecap="round" d="M239.7 275.9c3.3-2.2 9.5-5 15.1-2.2a8 8 0 0 1 4.3 4.4 10 10 0 0 1-1.8 9.5c-.9 1-2.7 2.6-5 2.7-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4q.4.9-.2 2"/>
<path d="M252.7 285.7q.6-1.6-.8-3.3a5 5 0 0 0-6-1q-1.1.6-2.4 2.2-.7.7-1.2 1.6-1 1.7-1 2.5c-2.5 7 1.5 14.4 6.5 17.6 4.4 2.8 8.8 3.6 14.4 4 2.5.3 4 .3 6.5.5h16.8c3 .3 5.1.4 7.6.8q2.5.3 5.4 1 .9 0 1.8.4l1.2.3q5.5 1.6 9.8 4.2 1.3.7 2.5 1.7l1.3 1.2c2 2 4 4 4.4 6.7v1.6c0 1.8-1.4 4.3-5.3 5"/>
<path d="M298.6 328.4c-1 2.2.2 3.2 1.6 3.4 2.2.3 3.3-1.4 3.5-3a4.4 4.4 0 0 0-4.4-4.7 6 6 0 0 0-5 3.5 7 7 0 0 0-.5 2.4 6 6 0 0 0 1.4 4.1 8 8 0 0 0 5.4 2.5c4.2.1 7.5-3.8 7.5-7.8 0-7.7-11.4-12-16-13a84 84 0 0 0-17.9-2.4c-3.5-.1-6.2 0-10.1-.5-3.5-.3-5.4-.5-9-1.3a27 27 0 0 1-12.5-6.4 17 17 0 0 1-4.7-22 14 14 0 0 1 10.3-6.9q5.9-.7 9 4.8c1 1.8.6 4.8-.1 6.2a6 6 0 0 1-4.8 3c-3.8 0-4.7-2.6-4.8-3.2-.4-2.8 1.2-3.9 2-4.2.7-.2 2.8-.1 3.2 1.4q.3.9-.2 2"/>
<path stroke-linecap="round" d="m273.3 152-.4-.5c-1.7-2.4-4.7-3.1-6.9-1.5-2.6 2-3.3 5.4-2.5 9a9 9 0 0 0 4 5.5"/>
<path d="M366.8 159.6c-4 4.4-8.1 5.8-14.1 6-2 0-5.5-.6-7.6-2.1-1.3-1-2.8-2.6-1.9-5.5.6-1.9 3.7-7.2 3.8-10.9.3-5.6-1.9-8.7-5.3-9.9-6.2-2.2-13 4-17 5.4-2.1.7-3.2.8-5.1.8-2 0-3-.1-5.2-.8-4-1.4-10.7-7.6-17-5.4-3.4 1.2-5.5 4.3-5.3 10 .1 3.6 3.2 9 3.8 10.8 1 2.9-.5 4.5-1.9 5.5-2 1.5-5.7 2.1-7.5 2-6-.1-10.1-1.5-14.1-5.9"/>
<path stroke-linecap="round" d="M297.3 314.4c.8.3.2-.2 5.3 2a22 22 0 0 1 11.3 8.9 11 11 0 0 1 .9 7.3"/>
<path d="M297.7 336a8 8 0 0 0 3.2.9c4.2.1 7.5-3.8 7.5-7.8 0-2.8-1.5-5.2-3.6-7"/>
<path stroke-linecap="round" d="M298.6 328.4c-1 2.3.4 3.5 1.8 3.7 2.2.2 3.4-1.4 3.6-3a5 5 0 0 0-2.2-4.2"/>
<path d="M390.1 154.8c3.2 0 6 3.6 6 7.2 0 4.3-2.2 6.9-3.9 8.8q-1.9 2.3-4.4 4.7"/>
<path stroke-linecap="round" d="M386.3 151.4a9 9 0 0 1 2.8 2.4c1.3 2 1.7 3.7 1.6 6.2-.2 4.2-3.2 7.1-6 9m-4.7-17.6.6.7c1.9 2.2 2 5.4 1.6 7.2a8 8 0 0 1-3.8 5.4m-5-14.4c2.6 2 3.4 5.4 2.5 9q-1 3.6-4.2 5.2m11.1 41.1c.3 1 .9 1.3 1.5 2a14 14 0 0 0 6.2 3.5q3.7.9 6.3-.9m-163 54q2 .1 3.3 2.3.3.4.4 1.5 0 1.5-1 2.2c-1.5 1-4 .5-4-2"/>
<path d="M241.5 231.3c5 1 9.7 6.9 11.2 13.3.6 2.3 1.3 7.3.3 12a22 22 0 0 1-6 11.4l-2.1 1.9-1 .7m-8-12.1c2 0 3.8 1.9 3.8 4a4 4 0 0 1-1 2.6"/>
<path d="M234.6 260.7c2.1 0 4.1 2 4.1 4.2a4 4 0 0 1-1.4 3"/>
<path stroke-linecap="round" d="M254 239.5a18 18 0 0 1 3.8 7.7m0 8.5a17 17 0 0 1-1.5 4 18 18 0 0 1-3.6 4.7"/>
<path d="M254.3 224.3q2.7 2.2 3.5 4.8"/>
<path stroke-linecap="round" d="M257.9 219.5a10 10 0 0 1-3.4 4.6m-9.2-17.2 2.2-.6 1.3-1 .8-1.1.7-1.8.3-1.5"/>
<path d="m241 199.3-2.5.8a9 9 0 0 0-3.5 3 17 17 0 0 0-2.2 12.7 16 16 0 0 0 2.3 5.6l1 1.4c1.4 1.3 2.6 2 4.6 1.7"/>
<path stroke-linecap="round" d="M253 189.8c-.3 1.3-1 2.9-3 2.7"/>
<path d="M245.7 198.5c-2-1.9-6-2.4-10.1.2L234 200l-1.4 1.6a18 18 0 0 0-2.4 5c-.7 3-.7 5.6-.6 6.3q0 1.5.3 2.7 1 4.2 2.3 6.2c.9 1.5 3 5 7.7 5.4 1.8.1 4.8-.7 5-3"/>
<path stroke-linecap="round" d="M363.8 157c.3-1.6 2.3-1.9 3-1 1.2 1.6.4 4.2-2 4.9a4 4 0 0 1-3.8-1.4c-1-1.3-.9-2.8-.5-4q.4-1.2 1.7-2.2c2.7-2 7.1-1.6 8.6 2 1.8 4.4-2.2 7.8-6 10.3-4.6 3.2-10 3.8-14 3.7-9.2 0-16.1-4.4-20.7-7q-1.7-.7-2.7.3a2 2 0 0 0 .3 2.7"/>
<path stroke-linecap="round" d="M365.6 155.5c1 0 1.2.4 1.5.8 1.2 1.5.3 4.1-2 4.9m17.8 51.5c-3.5 3.8-.2 10.3 2.4 11.8.9.7 1.3.3 2 .7"/>
<path d="M383.1 205.4q-1.5 1-1.6 3.3a5 5 0 0 0 1.4 4 14 14 0 0 0 9.3 3.7q3 .1 6-1.7a9 9 0 0 0 3.8-5.4m-20.8 61.8-.2 2.5a19 19 0 0 1-2 7 19 19 0 0 1-4.2 5.6 20 20 0 0 1-5.9 4 25 25 0 0 1-6.5 2.3 44 44 0 0 1-13.2.6c-2.7-.2-4.1-.5-6.8-.8-2.2-.1-3.4-.3-5.6-.3a28 28 0 0 0-10.9 1.9c-2.7 1-5.7 3-6.4 3.8-.6-.9-3.7-2.8-6.3-3.8a22 22 0 0 0-5.2-1.5c-2.2-.4-3.5-.4-5.8-.4s-3.4.2-5.6.4c-2.6.2-4 .6-6.7.7-2.5.2-3.9.3-6.3.2a33 33 0 0 1-7-.8 25 25 0 0 1-6.5-2.2 20 20 0 0 1-5.8-4.1 19 19 0 0 1-4.2-5.7 19 19 0 0 1-2-6.9c-.2-1-.2-2.5-.2-2.5V169.3h123.2z"/>
</g>
<g fill="#c7b37f" stroke="#c7b37f">
<path stroke-width=".3" d="M248 285.6a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0zM232.5 268q.2-2.1 1.8-2.3c1.6-.2 1.7 1 1.7 2.3q-.2 2-1.7 2.2-1.6-.2-1.8-2.2z"/>
<path stroke="none" d="M241.3 223.6q.2-1.7 1.7-1.8 1.6.2 1.7 1.8c.1 1.6-.7 1.8-1.7 1.8s-1.7-.8-1.7-1.8M272 158c0-1 .5-2 1.4-2q1.5 0 1.8 1.6c0 1-.5 2-1.4 2q-1.4 0-1.8-1.6"/>
</g>
<g stroke="#c7b37f" stroke-linecap="round" stroke-width=".6">
<path d="M239.3 234q-.6.1-.8.5-.4.3-.6.9l-.2 1.2m4.7 26.7 1-1 .6-1 .5-1 .7-1.3m-1.3 14-1.5.7-1.1.6-1.3.8-1.2 1m15-37.9-.8-.8-1-.8-.9-.8"/>
<path stroke-linecap="butt" d="m254.2 225-1.2.5-1.5.3"/>
<path d="m237.4 208.4.5 1.5q.3 1 .9 1.7a8 8 0 0 0 2.6 2.7l1.5.8m-1-5.8 1.3.6a7 7 0 0 0 3 .6l1.8-.1m7.2-40.7-2-1.2q-1.2-.7-2-1.5l-1.1-1.3-.8-1.3m7.5-4.6.6 1.7 1.4 2c1 1 1.7 1.3 2.8 2.2m1.4-6 .7 1.6.8 1.2 1.3 1.3q1 .7 2 1.1"/>
</g>
<path fill="#703d29" stroke-width=".2" d="M333.3 151.6c0-1.7-1.7-1.8-2.4-1.8-1.8 0-2.3 1.1-4.6 2.3a12 12 0 0 1-6.7 2 12 12 0 0 1-6.7-2c-2.3-1.2-2.7-2.3-4.6-2.3a2.3 2.3 0 0 0-2.2 2.4v.9l.3.2q0-1 .5-1.7a2 2 0 0 1 1.6-.8c1.8 0 2.5 1.2 4.8 2.4 3 1.6 4.2 1.9 6.7 2a12 12 0 0 0 6.8-2c2.3-1.2 3-2.5 4.8-2.5q.9 0 1.3 1v.9l.2.1z"/>
</g>
<g fill="#703d29">
<path d="M264.4 294c.5-.5.9-.3 1-.6q0-.2-.3-.3l-.9-.2-.8-.4h-.5c-.1.4 1 .4.6 1.4l-.8 1.2-2.6 3-.2.1v-4.3l.1-1.8c.2-.4.8 0 .9-.4q0-.2-.3-.3t-1.1-.3l-1-.5h-.6l.1.3q.5.2.5 1v7.4q0 .7.2.7l.4-.3z"/>
<path d="M267.5 295.2c.3-1.1 1-.4 1-.8q.1-.2-.2-.3l-1.3-.4-1.2-.4h-.4c-.1.5 1.1.5.8 1.5l-1.7 5.5c-.3 1-1 .6-1.1 1v.1l1.2.4 1.6.5h.3c.2-.4-1.2-.3-.7-1.7zm3.7 1q.3-.7.9-.4 1.6.6 1 2.5c-.2.6-.4 1.2-2 .8q-.6-.1-.6-.5l.7-2.3zm-2.8 5c-.5 1.4-1.2.8-1.3 1.2q0 .2.3.3l1.6.4.8.3h.4c.1-.5-1-.3-.7-1.5l.6-2q0-.6.6-.3.8.1.8.8l.3 2q.1 1.4 1 2 1 .1 1.4-.4l-.2-.2h-.3s-.3 0-.3-.3l-.7-3.6q.1-.2.8-.3a2 2 0 0 0 1-1.3c.1-.5.4-2.2-1.8-2.9l-2.1-.5-1.2-.4h-.3c-.1.5 1.1.4.7 1.7zm8.4 2.5c-.4 1.4-1.4.5-1.5 1q0 .3.3.3l1.5.3 1.4.4q.4.2.6-.1c0-.3-1.3-.3-1-1.8l1.3-5.2q0-.8.6-.5l1 .2c1.1.3.5 1.5 1 1.6q.2-.1.2-.6l.1-1v-.4l-3.3-.7-3.2-.8q-.2 0-.2.2l-.5 1.5q-.2.3 0 .4c.5.1.5-1.5 1.7-1.2l.9.2q.6 0 .4.8zm12.7-3.3c.4-.6.8-.5.9-.7q0-.2-.4-.3h-.9l-.9-.3q-.3-.1-.4.1c-.1.4 1 .2.8 1.3q0 .3-.6 1.3l-2 3.3-.3.2v-.2l-.7-4-.1-1.8c0-.5.7-.2.7-.5q.1-.2-.4-.3l-1.1-.1q-.6 0-1-.3-.4-.1-.6.1l.1.2q.7.2.7.9l1.3 7.3.3.7.4-.3zm.6 6.8q0 .3.2.5l1.7.7c1.4.2 2.6-.7 2.8-2.2.3-1.5-.3-2.1-1.4-2.9-1.3-.9-1.8-1.1-1.7-2q.3-1 1.4-1c1.8.3 1.6 2.6 1.8 2.6q.4 0 .3-.4l.2-1.6v-.4h-.6c-.4 0-.7-.5-1.6-.7q-2-.1-2.5 2-.1 1.6 1.2 2.4c1.6 1.1 2.2 1.4 2 2.4q-.3 1.5-1.7 1.3c-1.2-.2-1.6-1.4-1.8-2.6q0-.3-.2-.3-.2.1-.2.5v1.7zm15.8-4.5c.3-.7.8-.6.8-.9q0-.2-.4-.2h-.9l-.9-.1q-.3 0-.4.2c0 .4 1 0 1 1.1q0 .3-.5 1.4l-1.8 3.5-.1.3-.1-.3-1.1-4-.3-1.6c0-.5.7-.3.7-.6q.1-.2-.4-.2h-1.2l-1-.2q-.4-.1-.6.1l.2.2q.6.2.7.8l2.1 7.1.4.7q.2.1.3-.4z"/>
<path d="M307.6 308.5c0 1.2-1 1-1 1.5q0 .2.3.1h2.2l.4-.1c0-.6-1.4.2-1.4-2v-4.2l.1-.1.2.1 5.1 6.3.3.1.2-.3v-6.7c0-1.3 1-1 1-1.3l-.3-.2h-2.3q-.2 0-.2.2c0 .4 1.3.2 1.3 1.3v4l-.1.4-.4-.3-4.2-5.3q-.1-.4-.4-.3h-1.8l-.2.1c0 .6 1.2-.2 1.2 2.1zM318 303c0-1.1.8-.7.8-1.1q.1-.2-.4-.2h-2.6s-.3 0-.3.2c0 .4 1.1 0 1.1 1.2v5.7c0 1.1-.8.8-.8 1.2l.2.2h2.8q.3 0 .3-.2c0-.4-1.2.2-1.2-1.3zm4.5 5.5c0 1.5-1.2 1-1.2 1.4q0 .3.4.2h3q.5 0 .5-.3c0-.3-1.4 0-1.4-1.4V303q-.1-.7.5-.6h1c1.2-.1.8 1.2 1.3 1.2q.2-.1.1-.6l-.1-1q0-.3-.2-.4l-3.3.1h-3.3l-.2.3-.1 1.6.1.4c.5 0 .2-1.6 1.4-1.6h.9q.5-.1.6.6v5.6zm6.3-2.2h-.4l.1-.5.7-2.2v-.2l.2.1 1 2.1.2.4q0 .3-.4.2zm1.8.5c.3 0 .3 0 .8 1l.2.8c0 .7-.7.6-.7 1q0 .2.4 0h1.2l1.3-.1q.4 0 .4-.2c0-.4-.6 0-1-.7l-3.4-7-.3-.4q-.2 0-.3.4L327 309c-.2.7-.8.7-.7 1h2.3q.4 0 .5-.3c.1-.3-1.2 0-1.3-.9l.2-1q.3-1 .6-.8l2.1-.2zm8.3-5c-.1-.8 0-.8 1.2-1 2-.2 1.4 1.3 2 1.2q.2-.1 0-.6l-.1-1.1q0-.2-.3-.2-1.4 0-2.4.3l-2.8.4q-.3 0-.3.2c.1.5 1.3 0 1.4 1l.7 5.5c.2 1.5-.7 1-.6 1.5h.2l1.4-.1 1.2-.1q.5 0 .5-.3c0-.3-1.2.1-1.4-1.2l-.2-1.7q-.2-1 .3-1h.8c1.1-.2 1 1.1 1.3 1q.4-.2.1-.5l-.3-2.1q-.1-.4-.2-.3c-.3 0-.1 1.1-1 1.2l-.7.1q-.6.2-.6-.5zm4 2.8c.4 2.3 2.1 3.7 4.2 3.3 3.4-.7 3.5-3.6 3.2-5.3-.5-2.5-2.3-3.7-4.4-3.3-2.5.5-3.5 2.7-3 5.3m1.1-1c-.3-1.6 0-3.4 1.7-3.7 1.4-.3 3 .8 3.4 3.4.3 2 0 3.6-1.8 4s-3-2-3.3-3.6zm8.3-4.1q0-.9.6-.9 1.6-.2 2.1 1.6c.2.7.3 1.4-1.3 1.8q-.5.1-.8-.2l-.5-2.3zm0 5.7c.4 1.4-.5 1.3-.5 1.6q.2.3.4.1l1.6-.4 1-.2q.3 0 .2-.2c0-.4-1 .3-1.3-1l-.5-2c0-.4-.2-.4.4-.5q.6-.3 1.1.3l1.3 1.6c.5.6 1 1.3 1.8 1.1q.9-.2 1-.9l-.2-.1-.3.1s-.3.1-.4 0l-2.4-2.9.5-.6q.4-.6.2-1.6c-.1-.5-.7-2.1-3-1.6l-2.1.6-1.2.2q-.3 0-.2.2c0 .5 1.1-.2 1.4 1zm8.7-2c.3 1.4-1 1.2-.9 1.6q.1.3.5.2l1.4-.5 1.5-.3q.5.1.4-.4c0-.3-1.3.4-1.7-1l-1.3-5.3q-.2-.7.3-.7l1-.2c1.1-.4 1.1 1 1.5.9s0-.5 0-.7l-.4-1s0-.3-.2-.2l-3.2.9-3.2.7v.3l.1 1.6q0 .4.3.4c.5-.1-.3-1.6 1-1.9l.8-.2q.6-.2.7.5zm5.5-7.3c-.3-1 .6-.9.4-1.3h-.3l-1.4.4-1.2.3s-.3 0-.3.2c.1.4 1.2-.2 1.5.8l1.6 5.6c.2 1-.6 1-.5 1.3q0 .2.2.1l1.1-.3 1.6-.4q.4 0 .3-.3c-.1-.3-1.1.5-1.5-.9zm2.3 2.7c.7 2.3 2.6 3.4 4.7 2.7 3.2-1.1 3-4.1 2.4-5.7-.8-2.4-2.8-3.3-4.8-2.7-2.4.9-3.2 3.2-2.3 5.7m1-1c-.6-1.7-.6-3.5 1.1-4 1.3-.5 3 .4 3.9 2.9.6 1.8.5 3.6-1.2 4.2-1.8.6-3.2-1.5-3.8-3.2zm7.6-5.5q-.2-.9.4-1 1.7-.3 2.4 1.4c.2.6.4 1.3-1.1 1.9q-.6.2-.8 0zm.8 5.6c.6 1.4-.4 1.4-.2 1.7q0 .3.4.1l1.5-.7.9-.2q.3-.1.2-.3c-.2-.4-1 .4-1.4-.8l-.8-1.9q-.4-.5.3-.7.6-.3 1.1.3l1.6 1.4c.5.5 1.1 1.1 2 .8.3-.2.9-.7.7-1l-.2-.1-.2.2h-.5l-2.8-2.5.4-.7a2 2 0 0 0 0-1.6c-.1-.6-1-2-3.1-1.2l-2 .9-1.2.4-.2.2c.2.4 1.1-.4 1.6.8l2 5z"/>
</g>
<g fill="#fedf00" transform="matrix(.64 0 0 .64 0 16)">
<path fill="#d52b1e" d="M412.7 249.3h82.1v82h-82.1z"/>
<path id="ad-a" fill="#fff" d="M451.2 313.8s0 3-.8 5.3c-1 2.7-1 2.7-1.9 4a13 13 0 0 1-3.8 4q-3 1.9-6 1.6c-5.4-.4-8-6.4-9.2-11.2-1.3-5.1-5-8-7.5-6q-2 1.7-.3 4.6a9 9 0 0 0 4.1 2.8l-2.9 3.7s-6.3-.8-7.5-7.4c-.5-2.5.7-7.1 4.9-8.5 5.3-1.8 8.6 2 10.3 5.2 2.2 4.4 3.2 12.4 9.4 11.2 3.4-.7 5-5.6 5-7.9l2.4-2.6 3.7 1.2z"/>
<use xlink:href="#ad-a" width="100%" height="100%" transform="matrix(-1 0 0 1 907.5 0)"/>
<path d="m461.1 279 10.8-11.7s1.6-1.3 1.6-3.4l-2.2.4-.5-1.2-.1-1.1 3-.7V260l.3-1.3-3.2.2.3-1.4.5-1 1.9-.4h1.9c1.8-3.4 9.2-6.4 14.4-1 3.8 4 3 11.2-2 13.2a6 6 0 0 1-6.8-1.1l2-4c2.7 1.7 5-.3 4.8-2.4-.2-2.7-2-4.3-4.3-4.5q-3.5-.1-5 3c-.6 1.3-.3 2.2-.5 3.6-.2 1.5 0 2.3-.5 3.8a9 9 0 0 1-2.4 3.6l-11 12-43 46.4-3.2-3z"/>
<path fill="#fff" d="M429.5 283s2.7 13.4 11.9 33.5c4.7-1.7 7.4-2.8 12.4-2.8s7.6 1 12.3 2.8A171 171 0 0 0 478 283l-24.2-31z"/>
<path d="m456.1 262.4 16.8 21.7s-2.2 10.5-9 26.3c-2.7-.6-5-1.1-7.8-1.3zm-4.7 0-16.8 21.7s2.2 10.5 9 26.3c2.7-.6 5-1.1 7.8-1.3z"/>
</g>
<g fill="#d52b1e">
<path fill="#fedf00" d="M322.3 175.5h52.6V228h-52.6z"/>
<path d="M329.7 175.5h7.8V228h-7.8zm15 0h7.8V228h-7.8zm15 0h7.9V228h-7.9z"/>
</g>
<g fill="#d52b1e" stroke="#d52b1e" stroke-width=".5">
<path fill="#fedf00" stroke="none" d="M264.3 273.5q.1 1.6 1.4 4.3c1 1.5.6 1.4 2.7 3.8a15 15 0 0 0 4 2.9 33 33 0 0 0 15 2.6q4-.2 6.6-.7a71 71 0 0 1 11-.6q2.2 0 4.7.6c3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4z"/>
<path stroke-width=".3" d="m270.4 283.1 2.5 1.5 3.4 1.2v-52.2h-5.9zm29.2 2.4v-51.9h-5.8v52.8l5.8-.7zm11.7-51.9h-5.8v52.1l5.8 1zm-23.4 0V287s-3.8.2-5.8 0v-53.4z"/>
</g>
<g transform="matrix(.64 0 0 .64 0 16)">
<path fill="#fedf00" d="M585.5 402.4a21 21 0 0 1-2.2 6.6c-1.5 2.3-1 2.3-4.3 6a26 26 0 0 1-13 7 52 52 0 0 1-16.6 1.6q-6.3-.4-10.3-1c-3.8-.6-6.7-.9-11-1h-6.2a83 83 0 0 0-18.3 4.2V340h82.2v58.5z"/>
<g id="ad-b">
<path fill="#d52b1e" d="m524.6 347-.6.2-.8.8q-.5.5-1.2.8l-.6.5c-.3.3 0 .6-.3 1q-.1.5-.6 1t-1 1l-1.2 1-.3.1h-.6l-.8.8.3.6.8 1.4q.2.6.5.8.7.3 1.3.1l2 .5 1.5.8q.6.4 1.3.5h1.8v.3l2 1-.1.4q-.2.5-.1.8 1 2.9 1.5 3.2.8.4 1.1 1.5l-.3.3q-1 .8-1.7 1.8c-.7 1.2-1.2 1.2-.3 2.8l1.5 2.4.8 2q.3 1 .3 2l1 .3.7-.6.6-1.2v-1q-.3-.2-.2-.7c0-.4.5-.3.7-.6.3-.5-.4-.8-.7-1.1-.6-.7-1.4-.9-1.6-1.9q-.1-.3.4-.7l2-1.8q.4.2 1 .1l1.3.4h1.6l.1.6c.1 1-.1 3 .2 3.5l.3.6.2.6v2l-.2 1.7q0 .6-.5 1t-1 .7v1l1.1.5 1.3.3.7-.3.1-.6.5-.5.9-.1q.2-.3 0-.8 0-.8-.3-1.6l-.1-2.8q0-.8.2-1.5c.1-1 .4-1.4.6-2.2l.4-2.5a24 24 0 0 0 10.1-.6q1.2 1 2.7 1.6v1q0 .4.2.7l.3.3q.4 0 .7-.2t.2-.7v-.7h1.8v1.1q.2.4.5.4h.6q.3-.4.3-1v-.7l1-.4v.9l-.3.9c-.2.6-.5.8-.8 1.4q-.4.8-1 1.5l-.6.7-.6.9-.9 1c-.7.6-1.2.2-2 .9l-.3 1 1.4.6 1.3.2.4-.2q0-.5.3-.8t.7-.4q.6 0 1-.2.4-.6.7-1.5a13 13 0 0 1 3-3.9l1.7-1.4q.4-.4.5-1l-.2-.6-.2-1c1.5.7 1 .7 1.2 1.4.3.6 0 1 .1 1.7.1.8.5 1.1.5 1.9q0 1.1-.3 2.3 0 1-.5 2a4 4 0 0 1-1.1 1.5l-.6.5-.1 1 1.1.4 1.6.4.4-.3c.2-.7 0-1.7.4-1.7q.6 0 .8-.3v-.7l.7-4.5.4-1.9.4-1.7c.7-2-.2-2.3-1-3.6q-.7-.9-.7-1.5v-5.7l.4-.2c1.2-.7 1.7-.9 2.4-2.5l.3-1.5v-1l-.4-1-.6-.8c-.7-1-1.7-1.1-2.7-1.5-1.5-.5-2.5-.4-4-.5-1.8-.2-2.7-.2-4.4 0-2 0-3.1.4-5.1.7l-4.9.4c-2.3 0-4.4-.5-5.8-.4-2.4.2-2.5.8-6.2 1.1l-3.8.2-2.2-.7c.9-.3 1.1-.5 1.5-1s.2-.7.6-1.1l.7-1-.9-.4h-1l-1.2.3-.8.6-2.2-1.2a9 9 0 0 0-3-.9zm2 11.8"/>
<g fill="none" stroke="#fedf00" stroke-linecap="round">
<path d="m568.8 359.5-.8.3q-1.2.5-2.6.5c-2.6.2-4.3-1.1-7-.9-1.4.1-2 1.2-3.5 1.6l-1.7.2.5-1s-1.2.3-2 .3l-1.6-.2 1-1-1.3-.2-1-.7 1.7-.3c1.5-.4 2-1.2 3.9-1.4 1.1 0 3 0 7.6.8 3 .5 4.4.2 5.5-.3q1-.5 1.1-1.8 0-1.2-.8-1.8l-1.1-.4"/>
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M524.8 350.6q-.7 0-1.3.3-.6.5-1 1.1.7.3 1.2.3t.8-.5q.4-.5.4-1.2z"/>
<path d="m536 363.8 1 2.3c.2.8 0 1.2.2 2v1.6m6.8-7-.3 1.3-1 3.5v.7m-11-4c.9.2.6 3.3 1.9 4"/>
<path stroke-linecap="butt" d="m560.1 369.8.4-.3a8 8 0 0 0 2.7-1.8"/>
<path d="M552.4 368c3.5-.9 5.9-2.6 7.6-2.9m-4-1.5h.8c1.5-.3 1.7.6 2.7 1.2 1.9 1 2.1 2.3 4.3 3.4l.4.1.8.4"/>
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M517.7 354.5h.7l.8-.2q.4 0 .7.2.2 0 .3.3t.1.5q0 .3-.6.4-.3 0-.5-.3v-.4a1 1 0 0 1-.9 0z"/>
</g>
<path fill="#0065bd" d="m525.1 364.2-2-.9 1-.5.5-1.3q.1-1 .7-1.4t1.1-.1q.7.1.9.7 0 .8-.3 1.5l-.2 1.4q0 .6.4 1l-2-.4zm-1 1a.6.6 0 1 1 .7.5.6.6 0 0 1-.7-.6zm-1.7-16.6h-.2l-.6-1.2-.3-1.2v-2q0-.5-.2-.9c0-.2-.4-.3-.3-.4h.4q.5 0 1 .4t.6 1l.4 1.5.3.8.5.6-.7.8zm3.6 10.6 2.2 1a9 9 0 0 0 3.5-3.8c.9-1.8 1-2.7 1.4-4.4l-1.8-.5h-.4c-.5 1.8-.7 2.7-1.6 4.2q-1.2 2-2.6 3zm5 18.2.8-1.3 1.4-1.1h.4a9 9 0 0 1-.5 2.8l-.4 1-.5.5c-.5-.8-1.3-1.3-1.3-2zm33 1.8 1.4.6 1.5.9v.5l-1.5.2h-2.3l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9.8-2 1.4.5 1.5 1v.4a9 9 0 0 1-2.7.3l-1-.1-.7-.3c.6-.7.9-1.7 1.5-1.8m-17.4 2.1 1.5.5 1.5 1v.5a9 9 0 0 1-2.8.2h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8m-9-29.8q-1-.6-.6-1.6l.6-.4q.2-.4 0-.8l-.1-1-.2-1q-.1-.8.4-1.6.5-.5.8-.6.2.3 0 .8 0 .6.3 1.2l.7 1.3.4 1.4-.2 1.2-.6.8-.8.4z"/>
</g>
<use xlink:href="#ad-b" width="100%" height="100%" y="36.6"/>
</g>
<path fill="none" stroke="#703d29" stroke-width=".5" d="M264.1 175.5h52.6V228h-52.6zm58.2 0h52.6V228h-52.6zm-58 98q.1 1.6 1.4 4.3c1 1.5.6 1.4 2.7 3.8a15 15 0 0 0 4 2.9 33 33 0 0 0 15 2.6q4-.2 6.6-.7a71 71 0 0 1 11-.6q2.2 0 4.7.6c3.5.7 7 2 7 2v-54.7h-52.6V271l.2 2.4zm110.4 0a13 13 0 0 1-1.4 4.3c-1 1.5-.6 1.4-2.7 3.8a15 15 0 0 1-4 2.9c-1.3.7-2.3 1-4.4 1.6a33 33 0 0 1-10.6 1q-4-.3-6.5-.7l-7.2-.6H334q-2.2 0-4.7.6c-3.5.7-7 2-7 2v-54.8H375v37.5l-.2 2.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ae" viewBox="0 0 640 480">
<path fill="#00732f" d="M0 0h640v160H0z"/>
<path fill="#fff" d="M0 160h640v160H0z"/>
<path fill="#000001" d="M0 320h640v160H0z"/>
<path fill="red" d="M0 0h220v480H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 266 B

View File

@@ -0,0 +1,81 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-af" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#000001" d="M0 0h640v480H0z"/>
<path fill="#090" d="M426.7 0H640v480H426.7z"/>
<path fill="#bf0000" d="M213.3 0h213.4v480H213.3z"/>
</g>
<g fill="#fff" fill-rule="evenodd" stroke="#bd6b00" stroke-width=".5" transform="translate(1 27.3)scale(1.06346)">
<path d="M319.5 225.8h8.3c0 3.2 2 6.6 4.5 8.5h-16c2.5-2.2 3.2-5 3.2-8.5z"/>
<path stroke="none" d="m266.7 178.5 4.6 5 57 .2 4.6-5-14.6-.3-7-5h-23l-6.6 5.1z"/>
<path d="M290 172.7h19.7c2.6-1.4 3.5-5.9 3.5-8.4 0-7.4-5.3-11-10.5-11.2q-1.4-.1-1.9-1.3c-.5-1.6-.4-2.7-1-2.6-.4 0-.3 1-.7 2.4q-.6 1.3-2 1.6c-6.4.3-10.6 5-10.5 11.1.1 4 .6 6.4 3.4 8.4z"/>
<path stroke="none" d="M257.7 242.8H342l-7.5-6.1h-69.4z"/>
<path d="m296.4 219.7 1.5 4.6h3.5l-2.8-4.6zm-2 4.6 1 4.6h4l-1.5-4.6zm7 0 2.8 4.6h5.9l-4.6-4.6zm-34.5 10.4c3.1-2.9 5.1-5.3 5.1-8.8h7.6q0 3 1.8 3h7.7v-4.5h-5.6v-24.7c-.2-8.8 10.6-13.8 15-13.8h-26.3v-.8h55.3v.8H301c7.9 0 15.5 7.5 15.6 13.8v7h-1l-.1-6.9c0-6.9-8.7-13.3-15.7-13.1-6 .1-15.4 5.9-15.3 13v2.2l14.3.1-.1 2.5 2.2 1.4 4.5 1.4v3.8l3.2.9v3.7l3.8 1.7v3.8l2.5 1.5-.1 3.9 3.3 2.3h-7.8l4.9 5.5h-7.3l-3.6-5.5h-4.7l2.1 5.4h-5l-1.3-5.4h-6.2v5.8H267zm22.2-15v4.6h5.3l-1-4.6H289z"/>
<path fill="none" d="M289.4 211.7h3.3v7.6h-3.3z"/>
<path fill="none" d="M284.7 219.8h3.2v-5.6c0-2.4 2.2-4.9 3.2-5 1.2 0 2.9 2.3 3 4.8v5.8h3.4v-14.4h-12.8zm25.6 3.3h4v3.2h-4zm-2.4-5.3h4v3.1h-4zm-3.9-5.4h4v3.1h-4zm-3.3-4.5h4v3.1h-4z"/>
<path fill="none" d="m298 219.8 4.2.2 7.3 6.4v-3.8l-2.5-1.8v-3l-3.6-2v-3.3l-3.5-1.2V207l-1.7-1.5z"/>
<path d="M315.4 210.3h1v7.1h-1z"/>
<g id="af-a">
<path d="M257.3 186.5c-1.2-2-2.7 2.8-7.8 6.3-2.3 1.6-4 5.9-4 8.7v5.8c-.1 1.1-1.4 3.8-.5 4.5 2.2 1.6 5.1 5.4 6.4 6.7 1.2 1 2.2-5.3 3-8 1-3 .6-6.7 3.2-9.4 1.8-2 6.4-3.8 6-4.6z"/>
<path fill="#bf0000" d="M257 201.9a10 10 0 0 0-1.6-2.6 6 6 0 0 0-2.4-1.8 5 5 0 0 1-2.4-1.5l-.8-1.5v-2l-.3.3c-2.3 1.6-4 5.9-4 8.7v2.3q.2.8.6 1.3l1.1.8 2.7.7a7 7 0 0 1 2.6 2 11 11 0 0 1 1.8 2.6l.2-.8c.8-2.7.7-5.9 2.6-8.5z"/>
<path fill="none" d="M249.8 192.4c-.5 3.3 1.4 4.5 3.2 5.1 1.8.7 3.3 2.6 4 4.4m-11.7 1.5c.8 3 2.8 2.6 4.6 3.2s3.7 3 4.5 4.8"/>
<path d="m255.6 184.5 1-.6 17.7 29.9-1 .6z"/>
<path d="M257.5 183.3a2 2 0 1 1-4 0 2 2 0 1 1 4 0zm15.2-24h7.2v1.6h-7.2zm0 3.1h7.2v13.8h-7.2zm-.4-5h8c.2-2.7-2.5-5.6-4-5.6-1.6.1-4.1 3-4 5.6z"/>
<path fill="#bd6b00" stroke="none" d="M292.6 155.8c-1.5.6-2.7 2.3-3.4 4.3s-1 4.3-.6 6.1q.1 1 .5 1.5.3.5.6.5.5 0 .7-.3l.2-.8q-.2-3 .3-5.4a8 8 0 0 1 3-4.4q.4-.3.5-.7l-.3-.7q-.7-.5-1.5-.1m.2.4q.6-.2 1 .1l.1.2-.3.4a8 8 0 0 0-3.1 4.6 17 17 0 0 0-.3 5.6l-.2.6s0 .1-.2 0l-.4-.3-.4-1.2q-.4-2.9.7-6 1.1-2.9 3-4z"/>
<path fill="#bd6b00" stroke="none" d="M295.2 157.7q-2.3 1.2-3 4.2a14 14 0 0 0-.3 5.9q.5 2 1.6 2 .5.2.8-.3t.2-1q-.6-2.5-.3-5.1.4-2.6 2.2-4.1.5-.4.5-.8l-.2-.6q-.7-.5-1.5-.2m.2.5q.6-.2 1 0l.1.3-.3.4a7 7 0 0 0-2.4 4.4q-.4 2.8.2 5.2v.8l-.5.1c-.3 0-1-.5-1.2-1.7-.3-1.7-.2-3.9.3-5.7q.8-2.9 2.8-3.8"/>
<path d="M272.3 187.4h8v11h-8zm.5 17.4h7.7v2.4h-7.7zm-.2 4.1h8v8.7h-8zm-.6 10.5h8.7v4.9H272zm1.1-16.6h7l1.4-2.4h-9.6zm9.4-8.6.1-6h4.8a17 17 0 0 0-4.9 6z"/>
<path fill="none" d="M273.6 196.7c0 1.3 1.5.8 1.5.1v-5.6c0-1 2.4-.8 2.4-.1v6c0 1 1.7.9 1.6 0v-7c0-2.2-5.5-2.1-5.5-.1zm0 13.3h5.7v7h-5.7z"/>
<path d="M277.2 213h2v1h-2zm-3.5 0h2v1h-2zm2-3h1.5v3h-1.5zm0 4h1.5v3.1h-1.5zM244 139c.4 5.5-1.4 8.6-4.3 8.1-.8-3 1-5.1 4.3-8.1zm-6.5 12.3c-2.6-1.3-.7-11.5.3-15.8.7 5.5 2 13.3-.3 15.8z"/>
<path d="M238.4 151.8c4.4 1.5 8-3.2 9.1-8.7-3.6 5-9.5 5-9 8.7zm-3.3 5.1c-3.4-.9-1.4-11.7-.7-16 .7 4.5 3.1 14.5.7 16zm1.2-.3c.2-3.7 3.9-2.7 6.5-4.7-.5 2-2 5.2-6.5 4.7zm-4.2 5c-3.4-1-1.4-12.6-1.6-17.4 1 4.2 4.2 16.3 1.6 17.4zm1.6-.5c2.8.9 6.5-1 6.8-4.3-2.5 1.7-6.3.4-6.8 4.3z"/>
<path d="M229.5 166.7c-3.2.3-1.8-9.6-1.8-18.8 1.2 8.6 4.5 16.5 1.8 18.8z"/>
<path d="M230.7 166.3c2.2 1 6.1-.7 7.2-4.4-4 1.7-6.6 0-7.2 4.4zm25.6-22.2c-.6 4.9-2.6 7.7-5.5 7.2-.8-3 1.6-5 5.5-7.2zm-7.8 12.4c4.9.7 6.6-3 10-7.9-4.7 3.4-10.2 4-10 8z"/>
<path d="M247 156c-2.6-3.2 0-7.3 2-10.7-.4 5.1 1.3 8-2 10.7zm-1 5.3c-.4-3.2 5-3.9 7.4-5.6-.9 1.8-2 6.7-7.5 5.6z"/>
<path d="M244.8 161.3c-3.7-.4-2.2-6.7.5-10.1-1.1 4.8 2 8.1-.5 10.1z"/>
<path d="M242 166.6c-4.2-2-1.5-7.2 0-10.3-.6 4.1 2.8 7.2 0 10.2z"/>
<path d="M242.8 166c2.2 3 6.5-.8 7.4-5.2-3.7 3.1-6.5 2.6-7.4 5.3zm-9.6 20.3c-.4-4.3 2.8-12 .5-16.2-.3-.6.7-2.1 1.4-1.2 1 1.5 2 5.7 2.5 4.1s.5-4.6 2-5.2c1-.3 2.3-.6 1.9 1-.4 1.4-1.2 3.4-.3 3.5.5 0 2-2 3.3-3 1-.8 2.6.6 1 1.8-4.8 4-9.5 5.9-12.3 15.2zm-8.7 64.5c-.6 0-1.3-.3-.6.6 5.7 7 7.3 9 15.6 8 8.3-1.1 10.3-3.4 16.2-6.7a15 15 0 0 1 11.2-1c1.6.5 2.6.5 1.4-.7s-2.5-2.7-4-3.8a18 18 0 0 0-12.7-2.7c-6 1-11.1 4.9-17.2 6.4a25 25 0 0 1-9.9 0zm47.8 12.5c1 .2 1.7 2.2 2.3.9.8-2.3.2-4-.8-3.9-1.2.3-3.1 3-1.5 3z"/>
<path stroke="none" d="M220.6 183q-1.8-2 1-1.9c1.4 0 4.2 1 5.3.1 1-.7.5-3.7 1-5 .2-.9.7-2 2-.2 3.6 5.8 8 12.8 10 19.6 1 3.8 0 9.8-3.4 13.8 0-3.4-1.2-5.7-2.7-8.6-2-3.7-9.1-14-13.2-17.9z"/>
<path d="M235.5 213.4c4 0 4.7-5.3 4.7-6.8-2 .4-5.4 3.7-4.7 6.8zm34.5 51.9c2.8.6 2.7-6.2-.2-9.1 1.3 4.4-2 8.4.1 9zm-1.2-.1c.2 3.2-8-.4-10-3 4.8 2.1 9.8.4 10 3zm-3.5-4.6c.3 3.1-7 .3-9.3-2.1 4.9 1.6 9-.5 9.3 2zm1.3.4c2.9.7 2.4-6.4-.4-8.8 1.4 4.7-1.8 8.1.4 8.8zm-3-4.3c2.9.7 1.2-5.4-.9-7.8.4 4.4-1 7.5 1 7.8zm-1.5 0c.3 3.2-5.4.8-7.6-2.3 4.8 1.5 7.3-.3 7.6 2.3zm-1.5-2.5c1.8-1.3-.1-4.8-3.7-4.6.4 2.1 1.6 5.9 3.7 4.6zm14 14.7c.1 3.2-8 1.6-10.6-1.8 5.2 1 10.3-.8 10.5 1.8zm-32.4-5.8c.3 3.2-8.6-.4-10.8-3.4 4.7 1.6 10.5.8 10.8 3.4zm5.4 1.3c1.9-1.3-1.9-4.7-5-5.5.4 2.1 3 6.8 5 5.6zm.6 2.3c.2 2.9-9.5 1.3-12-1.4 8.3 1.5 11.7-1.1 12 1.4z"/>
<path d="M252.8 268.6c1 2.7-8.3 2-11.6.5 5.3 0 10.8-2.4 11.6-.5z"/>
<path d="M257.1 270.6c1 2.4-7.6 2.4-11.8 1 5.6 0 10.8-3.4 11.8-1zm6.3 1.3c1.6 2.9-7.6 3.1-10.5 1.7 5.2-.7 9.2-4 10.5-1.7zm-10.7-4.9c-2.9 1.8-2.7-3.6-5-7.3 3.6 3.3 7 5.6 5 7.3z"/>
<path d="M257.9 269c-2.4 2.1-4.4-5.3-6.6-9.5 3.6 4 8.8 7.7 6.6 9.4zm6.8 2c-2 2.4-8-7-10.2-12 3.3 3.9 11.8 10 10.2 12zm-5.8 7.2c-1 3.6-16.2-3.4-18-7.1 8.8 4.6 18.2 3.6 18 7zm-48.7-73.8c-.4-.5-1.4 0-1.2 1.1.3 1.5 2.5 9.2 6.3 11.8 2.7 2 17 5.1 23.4 6.5q5.3 1 8.9 5.3a94 94 0 0 0-3-9.8c-1.2-3-4.4-6.2-7.8-6.3-6.1-.3-14.1-.8-20-3.3a16 16 0 0 1-6.7-5.3z"/>
<path d="M245.5 234.9c2 1.4 4.1-3.7 1.7-8.6-.1 4.7-3.8 6.3-1.7 8.6z"/>
<path d="M247.4 239.6c2.7.8 3.5-4 1.8-7.8.3 4.1-4.3 6.6-1.8 7.8z"/>
<path d="M249.5 243.4c2.6 1.3 3.5-3.6 1.7-7.1.2 4.5-3.7 5.9-1.7 7z"/>
<path d="M248.4 243.7c-1 3-7-2.7-8-5.8 3.7 3.7 8.7 3.2 8 5.7z"/>
<path d="M245.7 239c-1.2 3-8.7-5-10.4-8.7 3.7 3.7 11.2 6.5 10.4 8.6z"/>
<path d="M244.2 234.3c-1.2 3.5-9.3-5.8-11.7-9.1 4 3.6 12.6 6.6 11.7 9.1zm-.3-3.4c3-.6-.1-3-3.7-6.9-.1 4.1.5 7 3.7 6.9z"/>
<path d="M239 228.5c1.3-1.3-1.1-1.9-4.1-5.3-.5 2.3 2.8 6.5 4.2 5.3zm14 15.2c1.6 1 2.6-2.3.7-5.2-.5 3.2-2.1 4-.7 5.2zm-34.2-20.3c-3.3 2-8.6-6-10-9.3 2.9 3.8 10.6 7.2 10 9.3z"/>
<path d="M221.7 228c-1.9 2-7.7-3.5-9.7-6.3 3 2.7 10.5 3 9.7 6.3z"/>
<path d="M224.8 232.2c-.6 2.8-9-3.5-11-6.5 3.6 3.5 11.6 3.2 11 6.5z"/>
<path d="M223.5 235.3c-1.3 2.5-8.2-3.8-9.9-7 4.3 3.6 11 4.5 10 7zM220 223c2.1-2.3 1.2-3.4-.4-7-.8 3.7-2.1 5.2.4 7zm2.9 4.3c4 .2 0-4.6-1-8.7.4 4.6-1 8.3 1 8.7z"/>
<path d="M225.4 231.1c2.7-.6 2-4.5-.2-9.2.5 5.1-2.3 8 .2 9.2zm-1 7.7c-1 3-8.8-4-10-6.8 4 3.4 10.7 4.5 10 6.8z"/>
<path d="M229.1 243.6c-1.1 3-9.3-3.2-11.8-6.6 4.9 4 12.4 3.6 11.8 6.6z"/>
<path d="M233.9 248.5c-1.3 4.3-9.9-2.6-12.4-6 5.4 4.2 13 3 12.4 6zm-8-11c2.3 1.1 3.2-5.4 1.9-10.1 0 5-4.7 8.8-2 10z"/>
<path d="M229.8 242.7c2.8.8 2-6.3-.5-11-.3 4.7-2.3 9 .5 11zm5 4.9c3 .1 1-6.1-1.6-9.6.4 4.5-1 9 1.6 9.6zm-5.5 2.6c-1 1.6-3.2-1.3-7-3.5 3.4 1 7.4 2 7 3.5zm-1.8-52.7c3-2.2.7-6.2 0-10-1 3.6-3.4 8.4 0 10zm0 5.3c-4.5-.5-3.8-6.1-4-9.7 1.4 4.9 5 5.7 4 9.8zm.6-.7c3.7-.2 3.5-4.4 3.7-8.6-1.9 3.9-4 4.5-3.7 8.6z"/>
<path d="M228 207.3c-3 .3-4.4-2.6-5-7 2.7 4.1 5.1 2.8 5 7zm1-.3c3.7.5 3-3.8 3-7-1.2 3-4.2 4-3 7z"/>
<path d="M223.2 205.2c.3 2.8 2.1 7.6 5 6.5 1.1-3.4-2.6-4.1-5-6.5z"/>
<path d="M229 212c-1.2-2.4 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 7zm-11.9-29.2c2.3-2.4.3-6.4-.4-10.2-1 3.6-2.5 8.4.4 10.2zm0 4.6c-4 .5-5-7.7-5.5-11.3 1.4 4.9 6 7 5.5 11.4zm.8 0c2.8-1.5 2.2-4.7 3-7-1.8 2.9-3.6 3.3-3 7z"/>
<path d="M217 192.8c-4.1.3-6.6-8.8-6.8-12.4 1.3 4.9 7.4 7.5 6.9 12.4zm.9-.2c4-.9 3.5-3.5 2.9-7.6-1.3 4.2-3.5 3.3-2.9 7.6z"/>
<path d="M217 198c-4.6.8-4.3-6.6-8-11.9 3.2 4 9 9 8 11.9zm1-.3c3.6.2 4-5.1 3.8-7.3-.9 2.2-5 4.2-3.7 7.4z"/>
<path d="M209.8 192.3c1.7 5.7 4.2 11.4 7.2 11 1.5-3.3-2.9-3.7-7.2-11z"/>
<path d="M218.1 202.4c-1.2-2.5 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 6.9zm-7.1-3.6c2.5 5.1 3.6 11 7 10.1 1.3-4-3.8-4.8-7-10.1z"/>
<path d="M218.7 208c-1.5-2.8 2.7-3.7 3.8-7.4.5 4.8 0 8.3-3.8 7.3zm7.2-34.5c2.4.6 5-2.1 4.1-6.2-2.8.6-4 3.2-4.1 6.2zm-7.9-2.1c.2 1.2 1.7 1.3 1.2-.4a5 5 0 0 1 0-3.4 8 8 0 0 0 0-4.6c-.4-1-1.8-.4-1.2.4s.7 2.8.2 3.7q-.7 2.2-.2 4.3zm22.9 16c-1 1.3-2.9.4-1.4-1.5 1.2-1.5 3-2.8 3-4.4.2-2 1.3-5 2.4-6.1s2.4.4 1.2 1.2c-1.3.8-2.2 4.4-2.1 5.8-.1 2-2 3.5-3.1 5zm-3-2.3c-1 1.4-2.4.5-1.6-1.7.7-1.5.8-3.5 1.6-4.6 1.2-1.7 3-3.1 4.1-4.2 1.2-1 2 0 1 1a27 27 0 0 0-3.3 4c-1.4 2.2-.8 4-1.8 5.5zm-15.7-7.2c-.1 2 1.5 2.4 1.4-.4 0-3-2.2-5.8-1-10.3.8-2.2.8-6.3.4-8.4s-2-.8-1.3.9c.6 2-.1 5.6-.6 7.5-1.5 5.4 1.2 8 1 10.7zm4.3-11c-.2 1.9-1.8 2-1.3-.5q.6-2.9 0-5.3c-.6-2.1-.4-5.7 0-7.2.5-1.6 2-.7 1.4.5a10 10 0 0 0-.3 5.9c.6 2 .5 4.8.2 6.7zM210.9 204c.8.9 2 .3 1-1-1-1-.7-1.2-1.3-2.4-.6-1.4-.5-2.1-1.2-3-.7-1-1.6 0-1 .7.8 1 .6 1.6 1 2.5 1 1.5.7 2.3 1.5 3.2zm20.4 24.6a9 9 0 0 1 4.4 6.7 16 16 0 0 0 2 7.1c-2-.5-3-3.7-3.3-6.8-.3-3.2-2-4.5-3-7zm5.1 5.9c1.7 3.1 4 4.3 4.2 6.6.2 2.7.4 2.8 1.1 5.4-2-.5-2.5-.7-3-4.7-.3-2.8-2.6-4.7-2.3-7.3z"/>
<path stroke="none" d="M289 263.3c1 1.8 2 4.5 4 4 0-1.3-2.1-2.3-4-4m3 .6c3.7 1.6 7 1.2 7.5 3.6-3.6.4-5-1-7.6-3.6zm-16.1-12.7a14 14 0 0 1 5 7.7 29 29 0 0 0 3.6 7.8 13 13 0 0 1-5.3-7.4c-.7-3-1.6-5.3-3.3-8zm3.1 0c2.8 2.2 5.4 4.8 6.2 7.9.8 2.9 1.3 5.1 3.2 8-3-1.9-4.1-4.7-5-7.8-.7-3-2.5-5.2-4.4-8zm9.2 7.3a1 1 0 0 1 .7-1.2l2.6-.8c1-.3 1.6.4 1.6.9v2q0 .9-.7.9-1.2 0-2.4.7-1 .5-1.5-.5zm10.6 0q0-1-.6-1.2a5 5 0 0 0-2.4-.4q-1.3 0-1.1.6v2.1c0 .8 0 .8.4 1q1.3-.1 2.5.6.9.4 1.1-.6z"/>
</g>
<use xlink:href="#af-a" width="100%" height="100%" x="-600" transform="scale(-1 1)"/>
<g stroke="none">
<path d="M328.5 286.6q-.1 1.8 1 3.1a19 19 0 0 0-13.8 1.1c-1.8.8-4-1-1.9-2.7 3-2.3 9.7-1 14.7-1.5m-57.5 0a7 7 0 0 1-.4 3c4.4-1.7 9.1-.2 13.6 1.6 3 1.3 3.3-1 2.8-1.7a7 7 0 0 0-5-2.9zm3.8-21.7q-2-.7-4 1.4c-4.3 4.2-9.4 8.3-13.5 11.6-1.5 1.3-3 3.7 3.4 6 .3.2 5 2 8 2 1.3 0 1.3 1.8 1 2.3-.5 1-.1 1.4-1.1 2.3-1.1 1 0 2.1 1 1.3 3.6-3.2 9.6-1.1 15.3.7 1.4.4 3.8.3 3.8-1.6s1.5-3.4 2.4-3.5c2.4.4 14 .5 17.5.1 2-.3 2.2 2.9 3.3 4 .8.9 3.7 1.1 5.8.2 4-1.8 10-1.8 12.5 0 1 .7 1.9 0 1.3-.7-.8-1-.7-1.6-1.1-2.4-1-2-.2-2.4.8-2.5 11-1.5 14.6-5.2 11.2-8.3-4.4-3.8-9.2-7.7-13.4-12.2-1.2-1.2-2-1.7-4.3-.7a67 67 0 0 1-25.3 5.9 76 76 0 0 1-24.6-5.8z"/>
<path fill="#bd6b00" d="m326.6 265.5-1.6.4c-9 3.2-17.2 5.4-25.7 5.4-8.3 0-17-2.4-24.9-5.6a2 2 0 0 0-1.5 0q-.8.2-1.3.7a116 116 0 0 1-11.8 10.3c-.7.5-.6 1.8.5 2.2 8.3 3 16.4 8.5 39.6 8.3 23.5-.2 31.8-5.6 39.2-8.1q.8-.3 1.3-1l.1-.8-.6-.8c-4.3-3.5-8.8-6.3-11.8-10.4q-.5-.7-1.5-.5zm0 .5q.9 0 1.1.3c3 4.3 7.7 7 11.9 10.5l.4.7v.4q-.3.5-1 .7c-7.6 2.6-15.7 8-39 8.2-23.2.2-31.2-5.3-39.5-8.3-.8-.4-.7-1.2-.4-1.4q6.4-4.9 11.8-10.4l1.1-.6h1.2a68 68 0 0 0 25 5.6c8.7 0 17-2.2 26-5.3l1.5-.4z"/>
<path d="M269.7 114.6c0-1.4 2-1.5 1.8.4-.3 2.3 4.5 8.3 4.9 12 .3 2.5-1.5 4.6-3.2 6a7 7 0 0 1-6.8.5c-.9-.8-1.7-3.3-1-4.3.2-.3 1.3 3.7 3.7 3.7 3.3 0 6-2.5 6-4.7.2-3.8-5.3-9.8-5.4-13.6m9.5 9.4c.6-.4 1.4 1.3.8 1.7s-1.5-1.3-.8-1.8zm1.5-3.5c-.3.2-.8 0-.7-.2a12 12 0 0 1 3.6-3.3c.4-.2 1 .4.8.7a11 11 0 0 1-3.7 2.8m12.6-10c.3-.6 2.1-1.3 2.6-1.7.4-.5.6.4.4.7-.3.7-1.9 1.7-2.6 1.8q-.6-.1-.4-.7zm4.3.3a8 8 0 0 1 2.5-3.4c.5-.3 1.3 0 1.1.4a9 9 0 0 1-2.9 3.3c-.3.3-.8 0-.7-.3m-3.7 2.7q-.3.5.1.8 1 .3 2 0c.6-.4.3-2.9-.5-1.6-.6.8-1 .6-1.6.8m-7.3 5.6c-1.3-1 .4-2.4 1.7-1.4 2.7 2-4 9.8-7.6 13.4-.7.7-1.3-1-.4-1.9a34 34 0 0 0 6.7-7.6c.4-.5.7-1.6-.4-2.5m15.3-6.6c.1-1-1.6 0-1.6-1.3 0-.7 1.9-1.2 2.7-.4 1.3 1.4.3 3.7-2 3.9-1.8 0-5 2.7-4.5 3.2.5.7 5.4 1.1 8.3.7 1.8-.3 1.4 1.3-.4 1.5s-3.2 0-4.8.6c-2 .5-2.8 3-3.9 4-.2.2-.8-.8-.6-1.2.8-1.2 2-3 3.4-3.6.8-.3-2.4-.4-3.4-.7-.8-.2-.6-1.3-.3-1.9.4-.8 3.4-3.9 4.7-3.8 1.1 0 2.3-.3 2.4-1m5 .2 1.5-1.8c.3-.3.9 0 .8.8-.1.7-1 1.2-1.5 1.7-.5.3-1-.4-.7-.7zm6.5-2.3c.9 0 1 1.6.2 1.8-.6.2-1-1.7-.2-1.8m-2.1 5c0 1.5.7 1.4 2 1.3s2.4 0 2.4-1.2c0-1.3-.7-2.5-1-1.6-.1.8-.3 2.2-.8 1.6-.4-.5-.2-.6-1 .2-.5.5-.5-.2-.8-.6-.2-.3-.8.2-.8.4zm-9.2 7.2c-.3 1.9 0 4.5.9 4.5 1.2 0 3.6-4 4.8-6.2.7-1.2 1.8-1.4 1.3-.1-.7 1.9-.6 6 0 7.2.4.6 3-.6 3.4-1.5.8-1.7.1-4.8.4-6.7.1-1.2 1.3-1.5 1.2-.3l-.1 7.5c0 1 2.9 2.4 3.3-.6.2-1.8 1.2-3.7 0-5.7-.8-1.3 1.1-1.2 2.1.6.7 1.2-.6 3.2-.5 4.7 0 2.4-1.8 3.8-3.1 3.8-1.2 0-2-1.5-3-1.5s-2.2 1.7-3 1.6c-3.6-.2-1.7-5.3-2.8-5.4-1.2 0-2.5 5-4 4.9-1.4-.2-3-4.2-2.3-5.8.5-1.6 1.5-2 1.4-1m16.9-8c-1.7-1 0-3.7.9-2.8 1.6 2 3.2 6.5 4.4 6.9.7.2.6-3.4 1.1-5 .4-1.3 1.8-.9 1.6.7-.1.5-2 6.4-1.8 6.6a47 47 0 0 1 3.3 7.8c.3 1.2-1.1.4-1.3.2-.9-1.4-2.4-6.5-2.4-6.2l-1.7 7.7c-.2 1-1.7.8-1.3-1 .3-1.4 2.3-8.3 2.2-8.6a17 17 0 0 0-5-6.3"/>
<path d="M322 131.2c-.4 0-1.2 1 1.2 1.5 3.1.6 6.6-.5 7.6-3.6 1.3-3.7 2-7.2 2.7-8.5.8-1.5 1.8-1.4 1-3.6-.5-1.7-1.5-1.2-1.7-.3-.5 2.3-2.6 10-3.3 11.3q-1.8 3.8-7.5 3.2"/>
<path d="M328.4 119c-.4-.7-1.2 0-1 .7a1 1 0 0 0 1.2 1c.7 0 2.2.1 2.2-1 0-.8-.7-1.5-1.1-.6q-.8 1.1-1.3 0zm.7-3c-.2.2 0 1.1.3 1a7 7 0 0 0 3.3-.8c.2-.2.1-.7-.2-.7-1 0-2.6 0-3.4.5m8.8 2.3c.8-1.2 2.8-1.3 2 .4l-6.3 12.3c-.8 1.4-1.4.7-.8-.4.7-1.4 4.9-12 5.1-12.3"/>
<path d="M330.2 133c-.2-.8-1.5-2-1.3.2.2 3.8 5.5 2.6 7 1.3s.3 4.3 2.2 4.9c1 .3 3-1.1 4-2.4 2.7-3.5 4.5-8.6 7-12 1-1.4-.5-2.4-1-1.3-2.4 3.8-5.2 11.6-8.3 13.6-2.5 1.6-1.7-2-1.8-3.2-.1-.8-1.1-2-2.4-.9a6 6 0 0 1-3.7 1.2c-.7 0-1.4 0-1.7-1.4"/>
<path d="M339.6 126c0-.3-1.1-.4-1 .7 0 .8 1 1 1.1 1 1.5-1.2-.3-.6-.1-1.8zm-2.3 4.4c-.3 0-.6 1 .2 1.1l3.9-.2c.4 0 .6-.9-.4-.8-1.2 0-2.7-.3-3.7 0zm-62-16.6c.5 0 1.6 1.4 1.5 1.9 0 .2-1.2 0-1.5-.3s-.2-1.6 0-1.6m-5.3 10.4c-1 .6.2 1.7 1 1.2 2.8-1.9 7-3.8 8-7.5.3-1.2 1.4-3.1 2.5-3.5 1-.5 2.6 1.9 3.6 0 .6-1 2.7.7 3.2-.4.6-1.3.3-2 .3-3.4 0-.8-.7-1-1.2.3l-.1 1.6q-.4.4-1 .2c-.2-.2 0-.7-.6-1q-.4-.1-.8.2c-.7 1.3-1 2.5-2.1 1-.9-1-1.4-3.1-2-.3-.2 1-1.7 2.4-2.6 2.4-1.1 0-.8-3-3.2-2.5-1.3.3-1.2 2.7-1 3.5.3 1.3 4 .4 3.7 1.2-.6 2.7-4.4 5.4-7.7 7m-22.7 13.2c-.1.5.5 1.7 1.1 1.8.6 0 1-1.3.8-1.8-.2-.3-1.8-.3-1.9 0m3.3 4.9c-.4-.4-1.6.7-.6 1.5.5.5 2.5 1.1 3 .2.8-1.2-.7-5.5 0-6 .5-.5 2.8 2.8 4 3 2.7.4 2-4.6 5-4.2 1.9.2 2.1-2.2 1.8-3.8-.2-1.5-2.6-3.6-3.7-4.6-1.4-1.2-2.1 1-1.2 1.6 1.2 1 3.3 2.9 3.6 4.1.1.6-1.4 1.8-2 1.5-1.4-.8-2.6-4-3.8-4.7-.4-.2-1.4.3-1 1.3.6 1.1 3 2.7 3.1 3.9.1 1-1 3.2-1.8 3.2s-3-2.7-3.7-4c-.4-.5-1.5-.5-1.7.4a22 22 0 0 0 .5 5.5c.2 1.6-.9 1.7-1.5 1.1m-4-8.6c-.4.4.8 1.2 1 1 .4-.4 2.1-2.3 1.8-3-.3-.6-2.6-2-3-1.3-.7 1.1 2.2 1.7 1.7 2zm4.1-8.4s.8 2.5 1.4 1.4c.4-.7-1.4-1.4-1.4-1.4m1.2 4c-.2 0-1 .7-.5 1 .8.4 2.9.8 2.4-.7-.3-.9 3.2 0 2.3-2.4a4 4 0 0 0-1.7-1.7c-.4 0-1.5.5-.8.9.5.2 2 1.1 1.5 1.7-.7.6-1.1-.3-1.9-.1-.4 0-.1 1.2-.4 1.5 0 .2-.7-.4-.9-.3zm5.5-9.5a4 4 0 0 0-1.2 2q.1.5.5.5a3 3 0 0 0 1.2-1.9c0-.3-.2-.8-.5-.6m2.8-.3c-.8-1 1-2.6 1.7-.5.5 1.3 5.5 7.9 6.5 10.1.8 1.5 0 2.1-.9 1-2.5-3.2-4.6-7.2-7.3-10.6m5.2.1c.9-1 2.7-3 2.2-4s-1.5-1-1.7-.7c-1 1.3.8 1 .5 1.4q-.8 1.3-1.3 2.6c-.1.3.1.9.3.7m77.8 3.2c-.7-.5.6-3 1.5-2 2.3 2.7 3.4 11.6 4.1 18.3 0 0-1 .9-1 .7 0-3.5-1.5-14.4-4.6-17m-53.1-8.6c-.8-1.8 1.1-2.4 1.4-1.2 1.3 5.8 4.5 10.2 7 14.1.7 1.2 0 2-1.7.8-1.2-.8-2.5-3.9-3-4-1.2-.2-3.8 5-9.1 3.5-1.4-.4-1.3-4.5-1.4-6.3 0-.9 1-1 1 0 0 1.7 0 5.2 2.1 5.4 1.8 0 5.6-2.4 6.4-4.4s-1.9-5.9-2.7-8z"/>
<path d="M344.6 138.4c.4-1.2 6.1-10.8 6.9-12.9.4-1 2 1.8.4 3.3-1.4 1.2-5.5 8-6.3 10.4-.4 1-1.4.5-1-.8"/>
<path d="M354.3 129.3c1-4 3.6.6 1.3 2.8-3.4 3.4-4.5 9.9-10 10.9-1.4.3-4-.7-4.8-1.3-.3-.2.2-1.6 1.1-.9 1.3 1 4.1 1.3 5.6.1a25 25 0 0 0 6.8-11.6m-57 12.7c-.3.3-1 .3-1.1.7-.3 1.4 0 2.2-.3 3.6s-1.3 1.4-1.2.3c0-1.4 1.3-3.5.4-3.6-.6-.1-1-.9-.4-1.3q1.5-.9 2.4-.4.5.3.2.7"/>
<path d="M296.5 140c-1.4 1.4-2.8 1.9-4.1 3.5-.6.6-.5 1.5-.9 2.4-.3.9-1.4 1-1.7.9-.5-.4-.4-2-1-1.2s-.9 2-1.7 2-2-1.5-1.3-1.5c2.3-.3 2.2-2 3-2.2 1-.1 1 1.5 1.7 1.2.4-.2.7-2.1 1.2-2.6 1.5-1.6 2.7-2.4 4.3-3.6.7-.6 1.3.5.5 1.2zm5.3 5c-1.2.2-1 1.7-.6 1.8.5.3 1.4.4 1.7-1.3.2-.7.3 3.5 1.8 1.9 1-1 3.1.2 4-1 .7-.9 1-1.5.4-2.7-.2-.3-1-.2-1 .7s-.5 1.7-1.3 1.6c-.4-.1.2-1.9-.2-2.4h-.7c-.3.4.3 2.2-.6 2.4-1.2.2-.6-1.2-1-1.4-1.7-.8-1.8.2-2.5.3zm9-3c.9-.2.6-.2 2-1.3.5-.4.6.8.5 1.3 0 .7-1 .2-1.3.9-.4.9-.2 3-.4 3.8 0 .4-.8.4-.8 0-.2-1 .1-2 0-3.3 0-.4-.5-1.1 0-1.3zm-5-2.5-.2 2.3c0 .5 1 .2 1 .1 0-.8.2-2 0-2.3q-.5-.3-.8-.1"/>
<path d="m299.5 130.2-1.4 5.6-2-3.8v3.9l-4.4-5.2 1.5 5.6-4-3.4 2.2 3.8-7-4.5 4.4 5.2-5.6-2.8 4 3.4-9-3.4 8.7 4.3a29 29 0 0 1 12.6-2.6q7.5.1 12.5 2.6l8.8-4.3-9 3.4 4-3.4-5.5 2.8 4.3-5.2-7 4.5 2.2-3.8-4 3.3 1.5-5.5-4.3 5.2V132l-2 3.8z"/>
</g>
</g>
<path fill="#fff" d="m311.3 295-.3 2.6h-.4l-.1-1.8-.5-1.6-.5-1.3-1-1.4.8-2.2a7 7 0 0 1 1.5 2.4 9 9 0 0 1 .5 3.2m7-4.2q0 1-.5 1.5-.3.5-1.3.7l.4 1.5v2l-.1 1.3h-.4l-.1-1.3-.2-1-.4-1-.7-1.4-1-1.7.6-2 1 1q.4.3 1 .3 1.2 0 1.2-1.3h.4v1.4m6.4 4.8-.5 2.1q-.6 0-.8-.7l-.4-1.3-.1-1.7-1 .2a2 2 0 0 1-1.3-.4 1 1 0 0 1-.5-1q0-1.4.7-2.3.8-1 1.5-1.1.7 0 1 .4l.3.9v2q0 1.3.3 1.9 0 .4.8 1m-2-3.5q0-.9-.8-.8l-.6.1q-.2.1-.2.3 0 .5 1 .5zm8.7 3-.3 2.6q-.8-.5-1.4-2l-1.3-4.1-1.8 5.5-.8.7v-2.5q.9-1 1-1.5l.8-1.7.5-2.7h.4l.9 2.7q.3 1 .9 1.6l1 1.4"/>
<path fill="#bf0000" d="M350.8 319.4q.6.6.7 1.2l.4 1.6-.8.1-1-1.5-1.1-1.2-1.7-1.5-2-1.7q-.6-.3-.6-.5l-.3-.8-.2-1.6 2.7 2.2 2.5 2.2zm-9.5-5.8-.2 2H338l.3-2zm8.4 8.9-7.6 2.3-1.3-2 6.5-2-.7-.8-.9-.6a1 1 0 0 1-.4 1l-1 .6a3 3 0 0 1-1.8 0 2 2 0 0 1-1.3-.7 4 4 0 0 1-.7-2.2q0-1.5.9-1.8 1.1-.3 3 .7a8 8 0 0 1 3 2.4zm-5.8-4-.8-.3h-.6l-.5.3v.6l.5.2h.6l.4-.3zm-8-1.6-.5 2-3.2-.3.5-2zm7.5 7.7-1.7.4H340l-1.5-.4q-.5.8-1.5 1.2l-1.6.6-1.2.3-1-2 1.1-.3 1.3-.4.9-.5-1-.5h-.9l-.2.3h-.5q-.8-1.2-.3-2c.5-.8.9-.8 2-1a7 7 0 0 1 2.6-.2q1.2.1 1.5.9.2.3.2.7l-.4 1.2h1.1l1.7-.3zm-8 1.8-1.6.3a3 3 0 0 1-2.2-.4 6 6 0 0 1-1.7-2.6l-.8-2.2a2 2 0 0 0-.8-1l-.9-.5.6-2.1q.9.4 1.4 1l1 1.7.5 1.5 1.1 2.2q.5.4 1 .3l1.7-.2zm-7-7.5-1 1.9-3-.7 1-1.9zm1.8 8.4-7.5.7-.4-2 6.2-.7-.6-.8-1-.6.5-2q1 .6 1.6 1.3.5.8.8 2.1zm-6 1-2.2-.2-1.7-.5-1.3.4h-3.7l-1.2-.3q-.4-.3-.8-1a4 4 0 0 1-1.5 1l-1.7.1h-1.7l.2-2.1h1.7q1.2.1 2.1-.4a2 2 0 0 0 1.3-1.8l.7.1-.1 1.3q0 .4.3.7.4.3 1 .3h1.5q1.5 0 2-.2.9-.2 1-1.1l.1-.4s.3 0 .5-.2l.5-.2v.7l-.3 1.1 2 .5q.1-.3-.1-.7l-.3-.6.1-.3.3-.2 1-.9.5 1v1zm-11.3-8.7-2 1.3-1.3-.9-1.4 1-1.9-1 1.8-1.3 1.5.8 1.5-1 1.8 1m-3 8.2-7.3-1.2.8-2 6.2 1q0-.6-.2-1l-.5-.8 1.6-1.7q.6.8.7 1.6t-.5 2.1zm-6.1-1-1.6-.3q-1.3-.3-1.5-1.2-.3-.9.8-2.8l1.2-2q.4-.7.3-1.2l-.3-.7 2.2-1.6q.4.8.3 1.4 0 .8-.7 1.8l-.8 1.4a6 6 0 0 0-.9 2.2q0 .6.5.7l1.6.4zm-3.8-8-2.5 1.1-1.8-1.7 2.6-1zm-1 6.6-1.6 1.4-1.7.6-2.4-.1-2.8-.7a8 8 0 0 1-3.4-2q-.9-1.2 0-2.2a7 7 0 0 1 2-1.6q1.1-.7 3.8-1.6l.4.5-2.8 1.2q-.8.4-1.3 1t.2 1.6a11 11 0 0 0 6.3 2.2q1.8 0 2.3-.7.4-.4.5-1l.2-1.6 2.5-1.5-.1 1.5a4 4 0 0 1-1 1.6z"/>
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ag" viewBox="0 0 640 480">
<defs>
<clipPath id="ag-a">
<path fill-opacity=".7" d="M-79.7 0H603v512H-79.7z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#ag-a)" transform="translate(74.7)scale(.9375)">
<path fill="#fff" d="M-79.7 0H603v512H-79.7z"/>
<path fill="#000001" d="M-79.6 0H603v204.8H-79.7z"/>
<path fill="#0072c6" d="M21.3 203.2h480v112h-480z"/>
<path fill="#ce1126" d="M603 .1V512H261.6L603 0zM-79.7.1V512h341.3L-79.7 0z"/>
<path fill="#fcd116" d="M440.4 203.3 364 184l64.9-49-79.7 11.4 41-69.5-70.7 41L332.3 37l-47.9 63.8-19.3-74-21.7 76.3-47.8-65 13.7 83.2L138.5 78l41 69.5-77.4-12.5 63.8 47.8L86 203.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 743 B

View File

@@ -0,0 +1,29 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ai" viewBox="0 0 640 480">
<defs>
<path id="ai-b" fill="#f90" d="M271 87c1.5 3.6 6.5 7.6 7.8 9.6-1.7 2-2 1.8-1.8 5.4 3-3.1 3-3.5 5-3 4.2 4.2.8 13.3-2.8 15.3-3.4 2.1-2.8 0-8 2.6 2.3 2 5.1-.3 7.4.3 1.2 1.5-.6 4.1.4 6.7 2-.2 1.8-4.3 2.2-5.8 1.5-5.4 10.4-9.1 10.8-14.1 1.9-.9 3.7-.3 6 1-1.1-4.6-4.9-4.6-5.9-6-2.4-3.7-4.5-7.8-9.6-9-3.8-.7-3.5.3-6-1.4-1.6-1.2-6.3-3.4-5.5-1.6"/>
</defs>
<clipPath id="ai-a">
<path d="M0 0v120h373.3v120H320zm320 0H160v280H0v-40z"/>
</clipPath>
<path fill="#012169" d="M0 0h640v480H0z"/>
<path stroke="#fff" stroke-width="50" d="m0 0 320 240m0-240L0 240"/>
<path stroke="#c8102e" stroke-width="30" d="m0 0 320 240m0-240L0 240" clip-path="url(#ai-a)"/>
<path stroke="#fff" stroke-width="75" d="M160 0v280M0 120h373.3"/>
<path stroke="#c8102e" stroke-width="50" d="M160 0v280M0 120h373.3"/>
<path fill="#012169" d="M0 240h320V0h106.7v320H0z"/>
<path fill="#fff" d="M424 191.8c0 90.4 9.7 121.5 29.3 142.5a179 179 0 0 0 35 30 180 180 0 0 0 35-30c19.5-21 29.3-52.1 29.3-142.5-14.2 6.5-22.3 9.7-34 9.5a78 78 0 0 1-30.3-9.5 78 78 0 0 1-30.3 9.5c-11.7.2-19.8-3-34-9.5"/>
<g transform="matrix(1.96 0 0 2.002 -40.8 62.9)">
<use xlink:href="#ai-b"/>
<circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/>
</g>
<g transform="matrix(-.916 -1.77 1.733 -.935 563.4 829)">
<use xlink:href="#ai-b"/>
<circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/>
</g>
<g transform="matrix(-1.01 1.716 -1.68 -1.031 925.4 -103.2)">
<use xlink:href="#ai-b"/>
<circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/>
</g>
<path fill="#9cf" d="M440 315.1a78 78 0 0 0 13.3 19.2 179 179 0 0 0 35 30 180 180 0 0 0 35-30 78 78 0 0 0 13.2-19.2z"/>
<path fill="#fdc301" d="M421.2 188.2c0 94.2 10.2 126.6 30.6 148.5a187 187 0 0 0 36.5 31.1 186 186 0 0 0 36.4-31.1c20.4-21.9 30.6-54.3 30.6-148.5-14.8 6.8-23.3 10.1-35.5 10-11-.3-22.6-5.7-31.5-10-9 4.3-20.6 9.7-31.5 10-12.3.1-20.7-3.2-35.6-10m4 5c14 6.5 22 9.6 33.5 9.4a76 76 0 0 0 29.6-9.4c8.4 4 19.3 9.2 29.6 9.4 11.5.2 19.4-3 33.4-9.4 0 89-9.6 119.6-28.8 140.2a176 176 0 0 1-34.2 29.4 176 176 0 0 1-34.3-29.4c-19.2-20.6-28.7-51.3-28.7-140.2z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-al" viewBox="0 0 640 480">
<path fill="red" d="M0 0h640v480H0z"/>
<path id="al-a" fill="#000001" d="M272 93.3c-4.6 0-12.3 1.5-12.2 5-13-2.1-14.3 3.2-13.5 8q2-2.9 3.9-3.1 2.5-.3 5.4 1.4a22 22 0 0 1 4.8 4.1c-4.6 1.1-8.2.4-11.8-.2a17 17 0 0 1-5.7-2.4c-1.5-1-2-2-4.3-4.3-2.7-2.8-5.6-2-4.7 2.3 2.1 4 5.6 5.8 10 6.6 2.1.3 5.3 1 8.9 1s7.6-.5 9.8 0c-1.3.8-2.8 2.3-5.8 2.8s-7.5-1.8-10.3-2.4c.3 2.3 3.3 4.5 9.1 5.7 9.6 2 17.5 3.6 22.8 6.5a37 37 0 0 1 10.9 9.2c4.7 5.5 5 9.8 5.2 10.8 1 8.8-2.1 13.8-7.9 15.4-2.8.7-8-.7-9.8-2.9-2-2.2-3.7-6-3.2-12 .5-2.2 3.1-8.3.9-9.5a274 274 0 0 0-32.3-15.1c-2.5-1-4.5 2.4-5.3 3.8a50 50 0 0 1-36-23.7c-4.2-7.6-11.3 0-10.1 7.3 1.9 8 8 13.8 15.4 18s17 8.2 26.5 8c5.2 1 5.1 7.6-1 8.9-12.1 0-21.8-.2-30.9-9-6.9-6.3-10.7 1.2-8.8 5.4 3.4 13.1 22.1 16.8 41 12.6 7.4-1.2 3 6.6 1 6.7-8 5.7-22.1 11.2-34.6 0-5.7-4.4-9.6-.8-7.4 5.5 5.5 16.5 26.7 13 41.2 5 3.7-2.1 7.1 2.7 2.6 6.4-18.1 12.6-27.1 12.8-35.3 8-10.2-4.1-11 7.2-5 11 6.7 4 23.8 1 36.4-7 5.4-4 5.6 2.3 2.2 4.8-14.9 12.9-20.8 16.3-36.3 14.2-7.7-.6-7.6 8.9-1.6 12.6 8.3 5.1 24.5-3.3 37-13.8 5.3-2.8 6.2 1.8 3.6 7.3a54 54 0 0 1-21.8 18c-7 2.7-13.6 2.3-18.3.7-5.8-2-6.5 4-3.3 9.4 1.9 3.3 9.8 4.3 18.4 1.3s17.8-10.2 24.1-18.5c5.5-4.9 4.9 1.6 2.3 6.2-12.6 20-24.2 27.4-39.5 26.2-6.7-1.2-8.3 4-4 9 7.6 6.2 17 6 25.4-.2 7.3-7 21.4-22.4 28.8-30.6 5.2-4.1 6.9 0 5.3 8.4-1.4 4.8-4.8 10-14.3 13.6-6.5 3.7-1.6 8.8 3.2 9 2.7 0 8.1-3.2 12.3-7.8 5.4-6.2 5.8-10.3 8.8-19.9 2.8-4.6 7.9-2.4 7.9 2.4-2.5 9.6-4.5 11.3-9.5 15.2-4.7 4.5 3.3 6 6 4.1 7.8-5.2 10.6-12 13.2-18.2 2-4.4 7.4-2.3 4.8 5-6 17.4-16 24.2-33.3 27.8-1.7.3-2.8 1.3-2.2 3.3l7 7c-10.7 3.2-19.4 5-30.2 8l-14.8-9.8c-1.3-3.2-2-8.2-9.8-4.7-5.2-2.4-7.7-1.5-10.6 1 4.2 0 6 1.2 7.7 3.1 2.2 5.7 7.2 6.3 12.3 4.7 3.3 2.7 5 4.9 8.4 7.7l-16.7-.5c-6-6.3-10.6-6-14.8-1-3.3.5-4.6.5-6.8 4.4 3.4-1.4 5.6-1.8 7.1-.3 6.3 3.7 10.4 2.9 13.5 0l17.5 1.1c-2.2 2-5.2 3-7.5 4.8-9-2.6-13.8 1-15.4 8.3a17 17 0 0 0-1.2 9.3q1.1-4.6 4.9-7c8 2 11-1.3 11.5-6.1 4-3.2 9.8-3.9 13.7-7.1 4.6 1.4 6.8 2.3 11.4 3.8q2.4 7.5 11.3 5.6c7 .2 5.8 3.2 6.4 5.5 2-3.3 1.9-6.6-2.5-9.6-1.6-4.3-5.2-6.3-9.8-3.8-4.4-1.2-5.5-3-9.9-4.3 11-3.5 18.8-4.3 29.8-7.8l7.7 6.8q2.3 1.5 3.8 0c6.9-10 10-18.7 16.3-25.3 2.5-2.8 5.6-6.4 9-7.3 1.7-.5 3.8-.2 5.2 1.3 1.3 1.4 2.4 4.1 2 8.2-.7 5.7-2.1 7.6-3.7 11s-3.6 5.6-5.7 8.3c-4 5.3-9.4 8.4-12.6 10.5-6.4 4.1-9 2.3-14 2-6.4.7-8 3.8-2.8 8.1 4.8 2.6 9.2 2.9 12.8 2.2 3-.6 6.6-4.5 9.2-6.6 2.8-3.3 7.6.6 4.3 4.5-5.9 7-11.7 11.6-19 11.5-7.7 1-6.2 5.3-1.2 7.4 9.2 3.7 17.4-3.3 21.6-8 3.2-3.5 5.5-3.6 5 1.9-3.3 9.9-7.6 13.7-14.8 14.2-5.8-.6-5.9 4-1.6 7 9.6 6.6 16.6-4.8 19.9-11.6 2.3-6.2 5.9-3.3 6.3 1.8 0 6.9-3 12.4-11.3 19.4 6.3 10.1 13.7 20.4 20 30.5l19.2-214L320 139c-2-1.8-8.8-9.8-10.5-11-.7-.6-1-1-.1-1.4s3-.8 4.5-1c-4-4.1-7.6-5.4-15.3-7.6 1.9-.8 3.7-.4 9.3-.6a30 30 0 0 0-13.5-10.2c4.2-3 5-3.2 9.2-6.7a86 86 0 0 1-19.5-3.8 37 37 0 0 0-12-3.4zm.8 8.4c3.8 0 6.1 1.3 6.1 2.9s-2.3 2.9-6.1 2.9-6.2-1.5-6.2-3c0-1.6 2.4-2.8 6.2-2.8"/>
<use xlink:href="#al-a" width="100%" height="100%" transform="matrix(-1 0 0 1 640 0)"/>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-am" viewBox="0 0 640 480">
<path fill="#d90012" d="M0 0h640v160H0z"/>
<path fill="#0033a0" d="M0 160h640v160H0z"/>
<path fill="#f2a800" d="M0 320h640v160H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 228 B

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ao" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="red" d="M0 0h640v243.6H0z"/>
<path fill="#000001" d="M0 236.4h640V480H0z"/>
</g>
<path fill="#ffec00" fill-rule="evenodd" d="M228.7 148.2c165.2 43.3 59 255.6-71.3 167.2l-8.8 13.6c76.7 54.6 152.6 10.6 174-46.4 22.2-58.8-7.6-141.5-92.6-150z"/>
<path fill="#ffec00" fill-rule="evenodd" d="m170 330.8 21.7 10.1-10.2 21.8-21.7-10.2zm149-99.5h24v24h-24zm-11.7-38.9 22.3-8.6 8.7 22.3-22.3 8.7zm-26-29.1 17.1-16.9 16.9 17-17 16.9zm-26.2-39.8 22.4 8.4-8.5 22.4-22.4-8.4zM316 270l22.3 8.9-9 22.2-22.2-8.9zm-69.9 70 22-9.3 9.5 22-22 9.4zm-39.5 2.8h24v24h-24zm41.3-116-20.3-15-20.3 14.6 8-23-20.3-15h24.5l8.5-22.6 7.8 22.7 24.7-.3-19.6 15.3z"/>
<path fill="#fe0" fill-rule="evenodd" d="M336 346.4c-1.2.4-6.2 12.4-9.7 18.2l3.7 1c13.6 4.8 20.4 9.2 26.2 17.5a8 8 0 0 0 10.2.7s2.8-1 6.4-5c3-4.5 2.2-8-1.4-11.1-11-8-22.9-14-35.4-21.3"/>
<path fill="#000001" fill-rule="evenodd" d="M365.3 372.8a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.6 0zm-21.4-13.6a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0m10.9 7a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0"/>
<path fill="#fe0" fill-rule="evenodd" d="M324.5 363.7c-42.6-24.3-87.3-50.5-130-74.8-18.7-11.7-19.6-33.4-7-49.9 1.2-2.3 2.8-1.8 3.4-.5 1.5 8 6 16.3 11.4 21.5A5288 5288 0 0 1 334 345.6c-3.4 5.8-6 12.3-9.5 18z"/>
<path fill="#ffec00" fill-rule="evenodd" d="m297.2 305.5 17.8 16-16 17.8-17.8-16z"/>
<path fill="none" stroke="#000" stroke-width="3" d="m331.5 348.8-125-75.5m109.6 58.1L274 304.1m18.2 42.7L249.3 322"/>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-aq" viewBox="0 0 640 480">
<path fill="#3a7dce" d="M0 0h640v480H0z"/>
<path fill="#fff" d="M157.7 230.8c-3.5-7.8-3.5-7.8-3.5-15.6-1.8 0-2 .3-3 0-1.1-.3-1.5 7.2-4.8 5.8-.5-.8 2.4-6.2-.7-8.5-1-.7.2-5.2-.2-7.2 0 0-4 2.4-7-5.8-1.5-2.2-3.5 2-3.5 2s.9 2.4-.7 3c-2.2-1.8-3.9-.8-6.7-3.4s.6-5.4-4.8-7.5c3.5-9.8 3.5-7.9 12.2-11.8-5.2-4-5.2-4-8.7-9.8-5.2-2-7-4-12.2-7.8-7-9.9-10.5-29.5-10.5-43.2 4.4-4.6 10.5 15.7 19.2 21.6l12.2 5.9c7 3.9 8.7 7.8 14 11.7l15.6 6c7 5.8 10.5 13.6 15.7 15.6 5.7 0 6.8-3.7 8.6-3.9 10.3-.6 15.5-2 17.5-5.5 2.1-2.8 7 1.6 21-4.3l-1.7-7.9s3.7-3.4 8.7-2c-.1-3.5-.5-13 4.5-17.4-3-3.5 1.8-9 2-10.7-1.4-8.6 1.4-8.7 2-11.3.6-2.5-2.4-1.7-1.6-5.2.9-3.5 6-4.3 6.6-7.2.7-2.9-1.1-14.3-1.3-16.8 9.4-2.8 12.4-11.4 15.7-7.8C264 70 265.8 66 276.3 66c1.4-3.6-3.9-6.7-1.8-7.9 3.5-.5 6.1-.2 10.2 5.7 1.3 2 1.6-2.7 2.9-3.2s4.4-.5 4.9-2.8c.5-2.4 1.2-5.6 3-9.5 1.4-3.2 2.5 1.3 3.8 7.5 7.4.3 24 2.1 31 4.3 5.2 1.5 8.7-1.5 13.7-2.2 3.7 4.2 7.2 1 9.2 10 2.7 4.8 7.3.4 8.3 1.8 5.8 18.1 25.8 5.9 27.4 6.2 2.5 0 5.6 8 7.7 7.9 3.2-.6 2.3-3.1 5.2-2.1-.8 6.8 5.6 14.6 5.6 19.7 0 0 1.5.9 3-.6 1.4-1.6 2.7-5.4 4-5.3 3 .5 22 6 25.8 7.9 1.7 3.5 3.3 5.3 6.8 4.7 2.8 2.1.8 5 2.4 5.1 3.5-2 4.7-4 8.2-2.1 3.5 2 7 5.9 8.7 9.8 0 2-1.8 9.8 0 21.6.9 3.9 9.7 32.3 9.7 35.2 0 4-2.7 6-4.5 9.9 7 5.9 0 15.7-3.5 21.6 26.2 5.9 14 17.6 34.9 11.7-5.2 13.8-3.4 12.7 1.8 26.4-10.4 7.8-.2 10.2-7.1 20-.5.7 4.1 8.6 10.5 8.6-1.7 15.6-7 9.8-5.2 33.3-13.7-.3-8.2 17.6-17.4 15.7.5 11.2 5.2 12.2 3.4 23.5-7 2-7 2-10.4 7.9l-5.2-2c-1.8 9.8-5.3 11.8 0 21.6 0 0-6.8.2-8.8 0-.1 3.4 3 4.3 3.5 7.8-.2 1.4-9.9 7.6-17.4 7.9-2 4.8 5.2 10 4.8 12.4-8.2 1.8-11.8 13-11.8 13s4.2 2 3.5 4c-2.2-1.8-3.5-2-7-2-1.7.5-6 0-10 7.7-4.5 1.6-6.6 1-10 6-1.5-4.7-3.7.1-6.3 2-2.7 1.8-6.2 6.5-6.7 6.3.1-1.4 1.6-6.3 1.6-6.3L399 437c-.7.1-.5-5.7-2.2-5.5s-6.4 7.3-8 7.5-2.1-2.2-3.5-2-4 7.5-5 7.7c-1 .1-5-4.5-8.3-3.8-17.1 6.8-19.9-13.4-22.5-2-3.6-2.2-3-1-6.7.1-2.3.7-2.5-3.4-4.6-3.4-4.1.2-4 4.6-6.2 3.3-1.8-9.2-13-7.6-14-11.5s4.8-4 6.6-6.8c1.4-4-1.5-5.6 4.3-9.4 7.5-5.7 6.8-19.8 4.9-25.3 0 0-5.9-17.7-7-17.7-3.5-1-3.5 6.5-8.6 8.6-10.5 4-29-9.9-32.2-9.9-2.9 0-16.5 3.6-16-4-2 7.4-9.5 1.7-10 1.7-7 0-4.3 6.1-9 5.9-2.1-.8-23.6-2.3-23.6-2.3v4l-26.1-11.8c-10.5-4-5.3-13.7-22.7-7.8v-11.8h-8.7c3.5-23.6 0-11.8-1.8-33.4l-7 2c-7-10.6 9.8-8.6-5.2-15.7 0 0 .3-11.7-3.5-7.8-.7.5 1.8 5.8 1.8 5.8-14-2-17.4-5.8-17.4-21.5 0 0 11.4 1.8 10.4 0-1.6-3-3.7-22-3.4-23.4-.1-2.6 10.7-9 8.6-15.2 1.4-.6 5.3-.7 5.3-.7"/>
<path fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="2.5" d="M595.5 297.6q-.9 2 .1 3.6c1.1-1.7.2-2.4 0-3.6zm-476-149.4s-3-.4-2.4 2.3c1-2 2.3-2.2 2.4-2.3zm-.3-6.4c-1.7 0-3.8-.2-3 2.5 1-2.1 3-2.4 3-2.5zm12.7 36.3s2.6-.2 2 2.5c-1-2-2-2.4-2-2.5z" transform="scale(.86021 .96774)"/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@@ -0,0 +1,32 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ar" viewBox="0 0 640 480">
<path fill="#74acdf" d="M0 0h640v480H0z"/>
<path fill="#fff" d="M0 160h640v160H0z"/>
<g id="ar-c" transform="translate(-64)scale(.96)">
<path id="ar-a" fill="#f6b40e" stroke="#85340a" stroke-width="1.1" d="m396.8 251.3 28.5 62s.5 1.2 1.3.9c.8-.4.3-1.6.3-1.6l-23.7-64m-.7 24.2c-.4 9.4 5.4 14.6 4.7 23s3.8 13.2 5 16.5c1 3.3-1.2 5.2-.3 5.7 1 .5 3-2.1 2.4-6.8s-4.2-6-3.4-16.3-4.2-12.7-3-22"/>
<use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(22.5 400 250)"/>
<use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(45 400 250)"/>
<use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(67.5 400 250)"/>
<path id="ar-b" fill="#85340a" d="M404.3 274.4c.5 9 5.6 13 4.6 21.3 2.2-6.5-3.1-11.6-2.8-21.2m-7.7-23.8 19.5 42.6-16.3-43.9"/>
<use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(22.5 400 250)"/>
<use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(45 400 250)"/>
<use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(67.5 400 250)"/>
</g>
<use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(90 320 240)"/>
<use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(180 320 240)"/>
<use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(-90 320 240)"/>
<circle cx="320" cy="240" r="26.7" fill="#f6b40e" stroke="#85340a" stroke-width="1.4"/>
<path id="ar-h" fill="#843511" stroke-width="1" d="M329 234.3c-1.7 0-3.5.8-4.5 2.4 2 1.9 6.6 2 9.7-.2a7 7 0 0 0-5.1-2.2zm0 .4c1.8 0 3.5.8 3.7 1.6-2 2.3-5.3 2-7.4.4q1.6-2 3.8-2z"/>
<use xlink:href="#ar-d" width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)"/>
<use xlink:href="#ar-e" width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)"/>
<use xlink:href="#ar-f" width="100%" height="100%" transform="translate(18.1)"/>
<use xlink:href="#ar-g" width="100%" height="100%" transform="matrix(-1 0 0 1 640.2 0)"/>
<path fill="#85340a" d="M316 243.7a1.8 1.8 0 1 0 1.8 2.9 4 4 0 0 0 2.2.6h.2q1 0 2.3-.6.5.7 1.5.7a1.8 1.8 0 0 0 .3-3.6q.8.3.8 1.2a1.2 1.2 0 0 1-2.4 0 3 3 0 0 1-2.6 1.7 3 3 0 0 1-2.5-1.7q-.1 1.1-1.3 1.2-1-.1-1.2-1.2c-.2-1.1.3-1 .8-1.2zm2 5.4c-2.1 0-3 2-4.8 3.1 1-.4 1.8-1.2 3.3-2s2.6.2 3.5.2 2-1 3.5-.2l3.3 2c-1.9-1.2-2.7-3-4.8-3q-.7 0-2 .6z"/>
<path fill="#85340a" d="M317.2 251.6q-1.1 0-3.4.6c3.7-.8 4.5.5 6.2.5 1.6 0 2.5-1.3 6.1-.5-4-1.2-4.9-.4-6.1-.4-.8 0-1.4-.3-2.8-.2"/>
<path fill="#85340a" d="M314 252.2h-.8c4.3.5 2.3 3 6.8 3s2.5-2.5 6.8-3c-4.5-.4-3.1 2.3-6.8 2.3-3.5 0-2.4-2.3-6-2.3"/>
<path fill="#85340a" d="M323.7 258.9a3.7 3.7 0 0 0-7.4 0 3.8 3.8 0 0 1 7.4 0"/>
<path id="ar-e" fill="#85340a" stroke-width="1" d="M303.4 234.3c4.7-4.1 10.7-4.8 14-1.7a8 8 0 0 1 1.5 3.4q.6 3.6-2.1 7.5l.8.4q2.4-4.7 1.6-9.4l-.6-2.3c-4.5-3.7-10.7-4-15.2 2z"/>
<path id="ar-d" fill="#85340a" stroke-width="1" d="M310.8 233c2.7 0 3.3.6 4.5 1.7 1.2 1 1.9.8 2 1 .3.2 0 .8-.3.6q-.7-.2-2.5-1.6c-1.8-1.4-2.5-1-3.7-1-3.7 0-5.7 3-6.1 2.8-.5-.2 2-3.5 6.1-3.5"/>
<use xlink:href="#ar-h" width="100%" height="100%" transform="translate(-18.4)"/>
<circle id="ar-f" cx="310.9" cy="236.3" r="1.8" fill="#85340a" stroke-width="1"/>
<path id="ar-g" fill="#85340a" stroke-width="1" d="M305.9 237.5c3.5 2.7 7 2.5 9 1.3 2-1.3 2-1.7 1.6-1.7s-.8.4-2.4 1.3c-1.7.8-4.1.8-8.2-.9"/>
</svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View File

@@ -0,0 +1,109 @@
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.0" id="flag-icons-arab" viewBox="0 0 640 480">
<path fill="#006233" d="M0 0v480h640V0Z" class="arab-fil0 arab-str0"/>
<g fill="#fff" fill-rule="evenodd" stroke="#fff">
<path stroke-width=".4" d="M1071.9 2779.7c-25.9 38.9-7.2 64.2 19.5 66 17.6 1.3 54.2-24.9 54.1-55.7l-10-5.6c5.6 15.8-.2 20.8-12.1 31.6-23.5 21.3-71.5 22.8-51.5-36.3z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path d="M1277.2 2881.7c145.8 4.1 192.2-137 102.2-257.8l-8.9 13.3c5.8 56.3 14.2 111.8 15 169.5-17.6 20.7-43.2 13-48.3-10 .3-31.2-9.9-57.6-22.8-82.8l-7.2 13.3c8.4 20.7 17.5 44 19.4 69.5-41.6 49.9-87.6 60-70.5-5.6-32.9 57.5 16.9 98 73.3 9.5 12.1 60.4 58.9 22.9 61.7 9.9 5.1-39.6 2.5-103.4-7.8-153.8 40.6 70.3 42 121 20.4 154.9-24 37.7-76.2 55.3-126.5 70.1z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path d="M1359.9 2722.2c-31.2 2.3-47.2-4.1-30.3-27.2 16.7-22.6 32.3-4.6 36.5 25.6 3.9 28.3-54.8 64.4-75.1 64.4-30.7 0-44.9-39.5-16.6-75-36.4 103.6 78.6 43.5 85.5 12.2zm-21.6-24c-3.8-.2-6.6 6.5-4.7 7.8 5.5 3.8 14.2 1.5 15.1-.4 1.9-4.2-5.1-7.2-10.4-7.4z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path d="M1190.5 2771.1c-30 59-.1 83.4 38.4 76.6 22.4-4.1 50.8-20 67.2-41.7.3-47.8-.4-95.2-4.6-141.5 15-17.9-1.3-17.8-7-37-2.6 11.2-8.9 23.3-2.8 32q6.6 70 6.6 142.2c-30.2 24.3-52.9 33.3-69.1 33.1-33.5-.3-40.7-28.5-28.7-63.7z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path d="M1251.8 2786.7c-.5-44.5-1.2-95-5.2-126.1 15.6-17.3-.8-17.7-5.9-37.1-3 11-9.6 23-3.8 31.9 2.6 47.6 5.1 95.2 5.6 142.8 3.6-2.3 7.7-3.2 9.3-11.5z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path stroke-width=".4" d="M1135.4 2784.6c-3.8-4.8-6.5-10.2-9.6-14.9-.5-6.7 4-12.9 4.6-16.3 5.1 7.9 8.1 13.9 12.2 17.8m5.4 3.1c7.5 3 16.7 3 25.2 3.2 32.8.6 67.3-4.8 63.6 39.6a66 66 0 0 1-65.2 61.9c-41.7-.4-77.3-46.4-13-131.1 6.2-1 14.3.7 21 1.3 11.5.9 23.3-.2 36.8-11-1.6-27.9-1.6-54.3-5-79.5-5.8-8.9.8-20.8 3.8-31.9 5.1 19.4 21.4 19.8 5.9 37.2 3.7 28 4.1 56.5 4.1 73.5-7.8 11.9-13.9 24.5-36.7 29.3-23.3-3.4-33.8-36-58.1-25.2 6.7-29.4 68.4-36.1 74.6-12.9-4.1 24.2-61.7 14.5-77 92.7-4.7 24.1 20.7 46.3 46.8 44.5 25.5-1.7 52.7-19.4 55.4-49.2 2.1-24.9-33-22-47.7-21.7-21.4.5-34.9-2.8-43-7.5m21.9-53.9c3.8-3.6 17.1-6.1 21.9-.3q-5.5 3.5-10 8.1c-5-2.6-8.3-5.2-11.9-7.8z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path d="M1194 2650.9a49 49 0 0 1 5.3 21c-2.2 10.4-11.1 20.1-20.3 20.4-5.7.2-12.1-1.4-16.6-10.3-.5-1.1-2.9-3.7-5.2-2.5-10.1 16.6-17.6 23.6-26.7 23.5-18.2-.3-12.8-16.5-29.6-21.5-7-.2-18.5 6.9-24.4 20.8-22.4 63.5-42.8-.2-34.1-29.8 1.3 28.3 8.1 45.1 15.1 44.6 5.1-.5 9.6-12.3 16.1-24.7 5-9.5 17-26.6 29.7-26.6 11.6.3 4.3 21.6 27.5 21.3 11.2-.2 21.5-8.8 31.9-26 2.3-.4 2.9 3.7 3.4 5.1 1.6 5.9 11.8 22.1 25.6 7.3-.7-3.2-.4-8.5-3.9-9.6z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path stroke-width=".4" d="M1266.9 2598.3c-12.3 6.1-21.3.5-26.4-4.9 8.9-1.8 15.8-5 17.8-12-4-9-13.5-12.9-26.9-13-17.9.5-27.1 7.7-28.2 17.6 8.3.3 15.8-2 19 6-14.7 7.2-32 9.8-50.8 9.7-30.8 1.6-35.3-12.3-43.4-24.5-.6-.8-3.3-2.1-4.7-1.9-9.5 0-16.5 33.2-27.2 33.1-10.7-1.4-8.3-21.4-11.4-32.8-2.6 17.9 3.3 84.5 36.4 12.2 1-2.4 2.4-1.7 3.3.3 8.9 20.2 27 27.2 46.5 28.2 16.3.9 37.1-6.2 59.4-18.8 5.9 6.5 10.6 13.9 23 15.3 14.5.7 30-9.8 33.5-22.8 1.8-6.7 2.1-19.9-5-20.1-9.9-.3-17.1 23.7-14.8 45.3.2-.3 1.3-5.4 1.3-5.4m-43.8-28.8c6.5-3 12.8-4.4 17.8 2.2a27 27 0 0 0-8.4 4c-2.8-2.2-6.6-3.3-9.4-6.2zm47.8 14.9c1.6-7.1 2.5-12.8 8.3-16.5 1.2 7.5 1.4 11.7-8.3 16.5zm39 11c-1.9-6.1-3.8-11.4-4.4-18-1.4-13.4 10.1-21 20.5-19.9 10.7 1.1 17.8 5.1 28 8.6 8 2.7 18.8 4.8 29.1 7.7 5.8 2.6 0 9.4-1.5 10.3-25.8 10.1-44.1 26.1-60.5 26.8q-14.6.7-26.4-19c-.5-25.4-1.4-55.2-3.9-73.9 3.8-3.8 4.6-6.6 6.4-9.7 2 24.7 2.8 50.7 3.3 76.9 2.1 4.5 4.7 8.3 9.4 10.2zm16.5 2c-13.8 3.9-12.1-7.8-13.4-15-1.5-8.4-.5-17.9 10.2-15.5 13.9 3.7 26.6 8.6 38.9 13.8z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path stroke-width=".4" d="m1314.3 2621.3 1.9 9.3h1.5l-.6-8.7" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="m1094.2 2718.5 7-7.2 8.1 6.9-7.5 6.7zm17.8-2.4 7.1-7.2 8.1 6.9-7.5 6.7zm-49.5-74.6 7.1-7.2 8.1 6.9-7.5 6.7zm3.2 21.2 7.1-7.2 8 6.9-7.5 6.7zm128.5 35.5 6.5-5.3 6 6.5-6.8 4.8zm-85.8-135.7 4.6-4.7 5.3 4.5-4.9 4.4zm11.7-1.5 4.6-4.8 5.3 4.6-4.9 4.3zm245.6 53.7-4.4 3.7-4.2-4.3 4.6-3.4z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path stroke-width=".4" d="m1158.7 2747.4-.5 7.9 12.6 1.2 10.1-7.6z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
<path d="m1265.2 2599.8 3.7-.8-.4 10.3-2.3.9z" transform="matrix(.36355 0 0 .3308 -130 -670.9)"/>
</g>
<path fill="#fff" d="M320 326.3c51.6 0 93.6-38.2 93.6-85.2a82 82 0 0 0-32.6-64.4 70 70 0 0 1 19.2 48c0 40.8-35.9 73.9-80.2 73.9s-80.2-33.1-80.2-74c0-18.3 7.2-35.1 19.2-48a82 82 0 0 0-32.6 64.6c0 46.9 42 85.1 93.6 85.1" class="arab-fil2"/>
<g fill="#fff" stroke="#000" stroke-width="8">
<path d="M-54 1623c-88 44-198 32-291-28-4-2-6 1-2 12 10 29 18 52-12 95-13 19 2 22 24 20 112-11 222-36 275-57zm-2 52c-35 14-95 31-162 43-27 4-26 21 22 27 49 5 112-30 150-61z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M0 1579c12 0 34-5 56-8 41-7 11 56-56 56v21c68 0 139-74 124-107-21-48-79-7-124-7s-103-41-124 7c-15 33 56 107 124 107v-21c-67 0-97-63-56-56 22 3 44 8 56 8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M54 1623c88 44 198 32 291-28 4-2 6 1 2 12-10 29-18 52 12 95 13 19-2 22-24 20-112-11-222-36-275-57zm2 52c35 14 94 31 162 43 27 4 26 21-22 27-49 5-112-30-150-61z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M3 1665c2 17 5 54 28 38 31-21 38-37 38-67 0-19-23-47-69-47s-69 28-69 47c0 30 7 46 38 67 23 16 25-21 28-38 1-6 6-4 6 0z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
</g>
<g fill="#fff" stroke="#000" stroke-width="8">
<path d="M-29 384c-13-74-122-79-139-91-20-13-17 0-10 20 20 52 88 73 119 79 25 4 33 6 30-8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M4 386c11-76-97-112-110-129-15-18-17-7-10 14 13 45 60 98 88 112 23 12 30 17 32 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M93 430c10-91-78-105-101-134-15-18-16-8-11 13 10 46 54 100 81 117 21 13 30 18 31 4z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M66 410c-91-59-155-26-181-29-25-3-33 13 10 37 53 29 127 25 156 14 30-12 21-18 15-22zm137 40c-28-98-93-82-112-94s-21-9-17 13c8 39 75 82 108 95 12 4 27 10 21-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M190 467c-78-63-139-16-163-23-18-5-10 7-3 12 50 35 112 54 160 32 19-8 20-10 6-21zm169 64c1-62-127-88-154-126-16-23-30-11-22 26 12 48 100 101 148 111 29 6 28-4 28-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M355 542c-81-73-149-49-174-56-25-6-35 9 4 39 48 36 122 43 153 36s23-14 17-19zm145 107c-23-106-96-128-114-148-17-20-35-14-20 34 18 57 77 107 108 119 30 13 28 3 26-5z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M499 663c-59-95-136-92-160-105-23-14-39-2-8 39 36 50 110 78 144 80s28-7 24-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M575 776c34-108-44-148-52-166-9-18-18-18-23 1-22 77 49 152 60 167 11 14 13 7 15-2z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M559 806c-27-121-98-114-114-131-17-17-19-5-16 17 8 59 79 99 111 119 10 6 22 13 19-5zm68 142c49-114-9-191-27-208-18-16-29-23-23 0 8 35-20 125 23 191 14 22 16 43 27 17z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M601 971c11-70-29-134-72-159-25-15-26-11-26 10 2 65 63 119 81 149 17 28 16 7 17 0z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M590 1153c-36-132 39-208 62-223 22-16 36-22 26 3-15 37 1 140-56 205-18 22-25 45-32 15z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M598 1124c30-115-35-180-55-193-19-13-31-18-22 3 12 32-1 122 49 178 16 19 22 38 28 12z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M561 1070c-54 58-55 143-31 193 15 29 17 27 31 6 38-61 15-149 17-188 1-37-11-17-17-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M650 1162c0 80-49 145-101 165-30 11-30 8-26-16 14-90 83-123 108-152 24-28 19-5 19 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M464 1400c88-80 41-136 45-188 2-28-9-21-19-11-56 55-59 153-47 191 5 17 13 15 21 8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M582 1348c-29 88-106 142-171 145-38 2-37-1-24-27 49-94 136-105 175-129 36-22 23 2 20 11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M343 1513c114-57 91-152 112-176 15-17-3-15-12-9-67 39-121 101-122 167 0 25 2 28 22 18z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M187 1619c144 23 211-86 253-96 22-5 6-14-5-15-96-11-218 34-255 84-15 20-15 24 7 27z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M333 1448c-29 95-137 173-218 179-38 3-38-1-24-26 65-118 178-138 218-168 34-26 27 6 24 15zM29 384c13-74 122-79 139-91 20-13 17 0 10 20-20 52-88 73-119 79-25 4-33 6-30-8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-4 386c-11-76 97-112 110-129 15-18 17-7 10 14-13 45-60 98-88 112-23 12-30 17-32 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-93 430c-10-91 78-105 101-134 15-18 16-8 11 13-10 46-54 100-81 117-21 13-30 18-31 4z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-66 410c91-59 155-26 181-29 25-3 33 13-10 37-53 29-127 25-156 14-30-12-21-18-15-22zm-137 40c28-98 93-82 112-94s21-9 17 13c-8 39-75 82-108 95-12 4-27 10-21-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-190 467c78-63 139-16 163-23 18-5 10 7 3 12-50 35-112 54-160 32-19-8-20-10-6-21zm-169 64c-1-62 127-88 154-126 16-23 30-11 22 26-12 48-100 101-148 111-29 6-28-4-28-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-355 542c81-73 149-49 174-56 25-6 35 9-4 39-48 36-122 43-153 36s-23-14-17-19zm-145 107c23-106 96-128 114-148 17-20 35-14 20 34-18 57-77 107-108 119-30 13-28 3-26-5z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-499 663c59-95 136-92 160-105 23-14 39-2 8 39-36 50-110 78-144 80s-28-7-24-14z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-575 776c-34-108 44-148 52-166 9-18 18-18 23 1 22 77-49 152-60 167-11 14-13 7-15-2z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-559 806c27-121 98-114 114-131 17-17 19-5 16 17-8 59-79 99-111 119-10 6-22 13-19-5zm-68 142c-49-114 9-191 27-208 18-16 29-23 23 0-8 35 20 125-23 191-14 22-16 43-27 17z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-601 971c-11-70 29-134 72-159 25-15 26-11 26 10-2 65-63 119-81 149-17 28-16 7-17 0z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-590 1153c36-132-39-208-62-223-22-16-36-22-26 3 15 37-1 140 56 205 18 22 24 45 32 15z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-598 1124c-30-115 35-180 55-193 19-13 31-18 22 3-12 32 1 122-49 178-16 19-22 38-28 12z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-561 1070c54 58 55 143 31 193-15 29-17 27-31 6-38-61-15-149-17-188-1-37 11-17 17-11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-650 1162c0 80 49 145 101 165 30 11 30 8 26-16-14-90-83-123-108-152-24-28-19-5-19 3z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-464 1400c-88-80-41-136-45-188-2-28 9-21 19-11 56 55 59 153 47 191-5 17-13 15-21 8z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-582 1348c29 88 106 142 171 145 38 2 37-1 24-27-49-94-136-105-175-129-36-22-23 2-20 11z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-343 1513c-114-57-91-152-112-176-15-17 3-15 12-9 67 39 121 101 122 167 0 25-2 28-22 18z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-187 1619c-144 23-211-86-253-96-22-5-6-14 5-15 96-11 218 34 255 84 15 20 15 24-7 27z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
<path d="M-333 1448c29 95 137 173 218 179 38 3 38-1 24-26-65-118-178-138-218-168-34-26-27 6-24 15z" class="arab-fil2 arab-str2" transform="matrix(.23458 0 0 .21345 320 27.3)"/>
</g>
<path fill="#006233" d="M359.6 128.9c-4.4-3-20.8-1.3-23.9-3.3 5.9 4.5 19 1.3 24 3.3zm39.7 7.6c-3.5-5.7-24.4-9.6-27.5-14.7 5.5 9.8 21.6 8.5 27.5 14.7m-3 6.6c-7.8-6.8-25.8-4-31.3-8 12.7 10.4 19.7 2.3 31.2 8zM351 112.8c4.9 2.4 11 4.7 14 10.3-3.5-4.3-9.8-6-15-9.6q.5-.1 1-.7m77 44c-3.1-6.4-14-13.4-14.9-15.8 3 8.3 12 10.3 14.8 15.8zm2.7 11.3c-9.4-13.4-24.1-12-30-17 4.5 4.9 21.4 8 30 17m21.8 20.7c.7-14.3-11-19.6-11.4-27.7-.3 9.6 12 22.6 11.4 27.7m-5.8 7.7c-2.4-12.4-18.3-13.2-21.1-20.5 0 6.8 18.7 13.9 21 20.5zm13.1-7c8.5 9.4 2.6 23.7 6.1 34.1-4.2-7.7-2.1-26.9-6-34.1zm-13.8 40c12.6 12.5 7.5 26.3 12.6 32.3-6.3-8.3-5.4-24.5-12.6-32.2zm26.3 1.8c-10.9 10.9-4.3 27.3-10 35 6.4-6.6 5.5-27 10-35m-13.7 0c-1.4-12.6-14.3-19.2-15.4-26-1.5 6.8 12.4 17.5 15.4 26m-6.5 30c2 8.8-5.7 27.6-3.3 33.4-5.2-10 4.4-29 3.3-33.3zm16.6 20.1c-5.1 15.6-15.5 14.6-18.7 24 2.3-9 16-17.1 18.7-24m-33.5 7.3c-6.8 10.5-1.2 22.4-6.8 29.9 8-7.5 3.7-21.4 6.8-29.9m16.4 28.6c-8.2 13.9-25.1 12.6-31.9 22.6 6.8-12.6 27.7-14.7 32-22.6zm-29.8-1.7c-14.5 9.2-10 18.8-21.1 29 13.8-10.2 12.7-21.5 21.1-29m-6.8 37.2c-14-.5-34.2 16.2-46.4 14.9 12.2 2.4 34.7-12.6 46.4-15zm-22.7-15c-1 13-37.6 21.4-41.5 30.1 4.4-11.5 36.6-20 41.5-30zm-82.8-240c-4.7-3.7-10.4-6.7-12-10.3 1.2 4.7 5.8 8 10.5 11.3.5-.2 1-.9 1.5-1.1zm-8 3.7c-7.3-3.2-15.7-3-19.5-7.4 2.4 4.4 10.3 6.1 17.1 8.5q1.2-.7 2.4-1zm-21.1 27.3c4.4-3 20.8-1.2 23.9-3.2-5.9 4.5-19 1.3-24 3.2zm-39.7 7.7c3.5-5.7 24.4-9.6 27.5-14.7-5.4 9.8-21.6 8.5-27.5 14.7m3 6.6c7.8-6.8 25.9-4 31.3-8-12.7 10.4-19.7 2.3-31.2 8zm31.3-20c4.4-8.6 17-9.6 20.4-14.8-5 7.7-15.7 9-20.4 14.8m36-7.5c13-5.5 25.7-.8 31.8-3.4-7.5 3.6-25.4 1.9-31.7 3.4zm-98.9 41.2c3-6.4 13.8-13.5 14.8-15.8-3 8.3-12 10.3-14.8 15.8m-2.8 11.3c9.4-13.4 24.1-12 30-17-4.4 4.9-21.3 8-30 17m-21.8 20.7c-.7-14.3 11-19.6 11.5-27.7.2 9.6-12 22.6-11.5 27.7m5.8 7.7c2.4-12.4 18.3-13.2 21.1-20.5 0 6.8-18.7 13.9-21 20.5zm-13.1-7c-8.4 9.4-2.6 23.6-6 34.1 4.1-7.7 2-26.9 6-34.1m13.8 40c-12.6 12.5-7.5 26.3-12.6 32.3 6.3-8.3 5.4-24.5 12.6-32.2zm-26.2 1.8c10.8 10.9 4.2 27.3 9.8 35-6.3-6.6-5.4-27-9.8-35m13.6 0c1.4-12.6 14.3-19.2 15.4-26 1.5 6.8-12.4 17.5-15.4 26m6.5 30c-2 8.8 5.7 27.6 3.3 33.4 5.2-10-4.4-29-3.3-33.3zm-16.6 20.1c5.2 15.6 15.5 14.6 18.8 24-2.4-9-16-17.1-18.8-24m33.5 7.3c6.8 10.5 1.2 22.4 6.8 29.9-8-7.5-3.7-21.4-6.8-29.9m-16.4 28.6c8.2 13.9 25.1 12.6 32 22.6-6.9-12.6-27.8-14.7-32-22.6m29.8-1.7c14.5 9.2 10.1 18.8 21.1 29-13.8-10.2-12.6-21.5-21.1-29m6.8 37.1c14-.4 34.3 16.3 46.4 15-12.1 2.3-34.7-12.6-46.4-15m22.8-15c.9 13.1 37.5 21.4 41.5 30.2-4.5-11.5-36.6-20-41.6-30.1zM301 116c2.8-11.5 17-13.6 18.8-20.5-.7 7.3-17.4 15.4-18.8 20.5m41.5-28.6c-2 8.8-17.3 13.7-19.4 20.3.7-9 16.4-14 19.4-20.3m-12 20.8c7.3-10.7 22.3-8 27.5-14.1-3.8 7.2-22.3 7.4-27.5 14z" class="arab-fil0"/>
<path fill="none" stroke="#f7c608" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.8" d="M429.8 240c0 55.5-49.3 100.4-110.3 100.4-60.9 0-110.3-44.9-110.3-100.3 0-55.5 49.4-100.4 110.3-100.4 61 0 110.3 45 110.3 100.4z"/>
<path fill="#f7c608" d="m298 340.5-.5 1.2q-.5 1.3-2.1 1.2l-8-1.9 2.6-7.7 8 1.7q1.5.4 1 1.8l-.2 1m-19-4.8.4-1.2q.5-1.4 2-1l7.8 2.5-2.5 7.7q-4.2-1-7.9-2.3c-.8-.4-1-2-.7-2.9"/>
<path fill="#006233" d="m296.4 339.8-.3.9q-.5 1-1.7.8l-6.6-1.6 1.8-5.6c2.4.7 4.9 1.2 6.6 1.5q1.3.4 1 1.4l-.2.7m-15.8-4 .3-1q.4-.8 1.6-.6 2.8 1 6.5 2l-1.8 5.6-6.5-1.9c-.7-.4-1-1.5-.7-2.1"/>
<path fill="#f7c608" d="m267.7 330.8-.7 1q-.9 1.2-2.4.7c-2-1.2-4.7-2.5-7-3.9l4.8-6.8 7.1 3.7q1.2.8.5 2l-.6 1m-16.7-9.6.7-1q1-1.2 2.3-.5 2.8 2 6.7 4.4l-4.9 6.8-6.7-4.2c-.7-.7-.4-2.3 0-3"/>
<path fill="#006233" d="m266.5 329.7-.6.8q-.6.8-1.9.3c-1.6-1-3.8-2-5.8-3.2l3.5-4.9c2 1.3 4.3 2.4 5.9 3.1q1 .6.5 1.6l-.5.6m-13.8-7.9.5-.8q.7-.8 1.8-.2l5.6 3.6-3.5 4.9q-3.1-1.7-5.6-3.5c-.6-.5-.5-1.7-.1-2.2"/>
<path fill="#f7c608" d="m241.8 313.7-1 .8q-1.3.8-2.6 0c-1.5-1.6-3.7-3.5-5.5-5.5l6.7-5.3c2 2.1 4.2 4 5.7 5.4q1 1-.1 2l-.9.8m-13-13.4 1-.9q1.2-.8 2.3.2a73 73 0 0 0 5 6l-6.7 5.2q-2.9-3-5.2-5.8c-.5-.8.3-2.2 1-2.8"/>
<path fill="#006233" d="m240.9 312.4-.8.6q-.8.6-1.9-.2l-4.6-4.6 4.9-3.8 4.7 4.5q.7 1 0 1.7l-.7.5m-10.8-11.2.7-.6q1-.6 1.8.2 1.8 2.3 4.3 5l-4.9 3.7-4.3-4.8c-.4-.6.1-1.7.6-2.1"/>
<path fill="#f7c608" d="m222.2 290.7-1.3.5q-1.3.4-2.4-.6l-3.6-6.8 8.1-3.3c1.3 2.5 2.7 5 3.8 6.6q.5 1.3-.8 2l-1 .4m-8.4-16.2 1.2-.6q1.5-.4 2.2.8a71 71 0 0 0 3 7l-8 3.3a60 60 0 0 1-3.3-6.8c-.2-1 1-2.1 1.9-2.5"/>
<path fill="#006233" d="m221.7 289.2-.9.3q-1 .4-1.8-.6l-3-5.6 5.8-2.4 3.2 5.5q.4 1.2-.5 1.6l-.8.3m-7-13.5 1-.3q1-.4 1.6.6l2.5 5.8-5.7 2.4-2.7-5.7c-.2-.7.6-1.6 1.2-1.9"/>
<path fill="#f7c608" d="m210.5 263.5-1.4.2a2 2 0 0 1-2-1.2l-1.5-7.4 8.8-1.1a64 64 0 0 0 1.7 7.3q0 1.4-1.4 1.7l-1.2.2m-3-17.7 1.4-.2q1.5-.1 1.8 1.2.1 3.3.7 7.5l-8.8 1.1-1-7.4c.2-.9 1.7-1.7 2.6-1.8"/>
<path fill="#006233" d="m210.5 262-1 .1q-1 .1-1.5-1l-1.1-6.2 6.3-.8 1.3 6.1q.1 1.1-1 1.4l-.8.1m-2.5-14.7 1-.2q1.2 0 1.3 1.1.2 2.8.7 6.2l-6.3.8q-.6-3.1-.8-6.1c0-.7 1.1-1.4 1.8-1.5"/>
<path fill="#f7c608" d="m207.7 234.5-1.4-.2q-1.5-.2-1.6-1.7c.3-2 .5-4.8 1-7.4l8.7 1.2a65 65 0 0 0-.7 7.4q-.3 1.4-1.8 1.3l-1.2-.2m2.6-17.7 1.4.1q1.4.4 1.4 1.7a69 69 0 0 0-1.7 7.4l-8.8-1.2q.6-3.8 1.4-7.4c.4-.8 2.1-1.2 3-1"/>
<path fill="#006233" d="M208.2 233h-1q-1-.4-1.1-1.5l.8-6.1 6.3.8-.6 6.2q-.2 1.1-1.4 1h-.8m2.1-14.9 1 .2q1.1.2 1 1.4-.7 2.6-1.3 6l-6.3-.7 1.1-6.2c.3-.7 1.5-1 2.2-1"/>
<path fill="#f7c608" d="m214 206-1.3-.6q-1.3-.5-1-2c1-2 2-4.6 3.2-6.9l8 3.4a70 70 0 0 0-3 7q-.6 1.1-2 .7l-1.2-.5m8-16.4 1.3.6q1.3.6.8 2l-3.8 6.6-8.1-3.4q1.7-3.6 3.6-6.7c.6-.7 2.4-.7 3.2-.3"/>
<path fill="#006233" d="m215 204.7-1-.4c-.6-.2-.8-1-.6-1.6l2.6-5.7 5.8 2.4-2.5 5.8q-.6 1-1.6.6l-.8-.3m6.7-13.6.9.4q1 .4.5 1.6l-3.2 5.5-5.7-2.4q1.4-3.1 3-5.6c.4-.6 1.7-.7 2.3-.4"/>
<path fill="#f7c608" d="m228.9 180.2-1.1-.9q-1-.9-.4-2.2c1.6-1.6 3.4-3.9 5.2-5.8l6.8 5.3a72 72 0 0 0-5 6 2 2 0 0 1-2.4 0l-.9-.6m12.8-13.7 1 .8q1.2 1 .2 2.2l-5.7 5.3-6.8-5.3q2.8-3 5.6-5.5c.8-.5 2.5 0 3.2.5"/>
<path fill="#006233" d="m230.2 179.2-.8-.6q-.7-.7-.1-1.7l4.3-4.9 4.8 3.8-4.2 5q-.8.8-1.8.2l-.6-.5m10.6-11.4.8.6q.7.7 0 1.6l-4.8 4.6-4.8-3.8q2.3-2.6 4.6-4.6c.7-.5 2-.2 2.4.2"/>
<path fill="#f7c608" d="m251 159.2-.7-1q-.7-1.2.4-2.3c2-1.1 4.4-2.8 6.8-4.2l4.8 6.8a78 78 0 0 0-6.7 4.4 2 2 0 0 1-2.2-.4l-.7-1m16.5-9.8.7 1q.8 1.4-.4 2.1-3.3 1.5-7.2 3.7l-4.8-6.8q3.5-2.2 7-3.9c1-.2 2.4.7 2.9 1.4"/>
<path fill="#006233" d="m252.7 158.6-.6-.7q-.4-1 .4-1.7l5.7-3.5 3.4 4.8-5.5 3.7q-1.1.6-1.8-.3l-.5-.6m13.7-8.2.6.8q.4.9-.5 1.5l-6 3.1-3.4-4.8 5.8-3.3c.8-.2 1.9.4 2.3.9"/>
<path fill="#f7c608" d="m279 144.9-.5-1.3q-.2-1.3 1-2l7.9-2.3 2.5 7.7a83 83 0 0 0-7.8 2.6q-1.4.3-2-1l-.3-1m18.8-5.4.4 1.3q.3 1.3-1 1.8l-8.1 1.7-2.5-7.7a85 85 0 0 1 8-2c.9 0 2 1.3 2.3 2"/>
<path fill="#006233" d="m280.6 144.7-.3-1q-.1-.8 1-1.4l6.5-2 1.8 5.6-6.5 2q-1.2.4-1.6-.6l-.3-.7m15.7-4.4.3.9q.3 1-1 1.4-3 .5-6.6 1.4l-1.8-5.5 6.6-1.6c.8-.1 1.6.8 1.8 1.4"/>
<path fill="#f7c608" d="M310 138.2v-1.3q.2-1.3 1.7-1.7l8.2-.2v8.1a84 84 0 0 0-8.2.4q-1.6 0-1.6-1.5v-1m19.7-.2v1.2q-.1 1.4-1.7 1.5l-8.2-.4V135q4.3 0 8.2.2c1 .2 1.7 1.7 1.7 2.6"/>
<path fill="#006233" d="M311.8 138.5v-1q0-.9 1.3-1.2l6.9-.1v5.8q-4 0-6.9.3-1.2-.1-1.3-1v-.9m16.3-.1v.9q0 1-1.3 1l-6.8-.2v-5.8l6.8.1c.8.2 1.3 1.2 1.3 1.9"/>
<path fill="#f7c608" d="m340 139.6.3-1.2q.5-1.2 2.1-1.2l8 1.8-2.5 7.8-8-1.6q-1.4-.5-1.1-1.9l.3-1m19 4.7-.4 1.2q-.5 1.4-2 1l-7.8-2.4 2.5-7.8q4.1 1 7.8 2.3c.8.4 1 2 .8 2.8"/>
<path fill="#006233" d="m341.5 140.3.2-.9q.5-1 1.7-.8l6.6 1.5-1.7 5.6-6.7-1.4q-1.1-.4-1-1.4l.3-.7m15.8 4-.3.8q-.4 1-1.6.7l-6.5-2 1.7-5.6q3.5.9 6.6 1.9c.7.3 1 1.5.7 2"/>
<path fill="#f7c608" d="m370.2 149.1.7-1q.9-1.2 2.4-.7c2 1.1 4.7 2.4 7.1 3.8l-4.7 6.9a81 81 0 0 0-7.3-3.6q-1.2-.9-.5-2.1l.7-1m16.8 9.5-.8 1a2 2 0 0 1-2.2.5l-6.7-4.3 4.7-6.9q3.7 2 6.8 4.2c.7.6.4 2.2-.1 3"/>
<path fill="#006233" d="m371.5 150.2.5-.8q.6-.7 1.9-.4l5.8 3.2-3.4 5-6-3.1q-1-.6-.4-1.6l.4-.7m14 7.9-.6.8q-.6.8-1.8.2l-5.6-3.6 3.4-4.9 5.7 3.4c.6.6.5 1.7.1 2.3"/>
<path fill="#f7c608" d="m396.3 166 1-.9q1.2-.8 2.5 0l5.6 5.5-6.6 5.3a75 75 0 0 0-5.8-5.3q-1-1 .1-2l.9-.8m13.2 13.3-1 .9a2 2 0 0 1-2.4-.2 72 72 0 0 0-5-5.9l6.7-5.3 5.2 5.7c.4.8-.3 2.3-1 2.8"/>
<path fill="#006233" d="m397.2 167.3.7-.6q.8-.5 2 .1l4.6 4.6-4.8 3.8-4.8-4.5q-.8-.9 0-1.6l.7-.5m11 11-.8.7q-.9.6-1.8-.2l-4.3-4.9 4.8-3.8 4.4 4.7c.4.7-.1 1.8-.6 2.2"/>
<path fill="#f7c608" d="m416.1 188.9 1.3-.6q1.4-.4 2.4.7l3.7 6.6-8.1 3.5q-2-4-4-6.6-.5-1.3.9-2l1-.5m8.6 16.2-1.3.5c-.8.4-1.8 0-2.1-.7a71 71 0 0 0-3.1-7l8-3.4 3.3 6.9c.2.9-1 2-1.8 2.4"/>
<path fill="#006233" d="m416.6 190.4.9-.4q1-.4 1.8.6l3 5.5-5.8 2.5-3.2-5.5q-.4-1 .5-1.6l.8-.3m7 13.5-.8.3q-1 .4-1.7-.6-1-2.6-2.6-5.8l5.8-2.5 2.8 5.7c.1.8-.7 1.7-1.3 2"/>
<path fill="#f7c608" d="m428 215.9 1.4-.2a2 2 0 0 1 2.1 1.2l1.5 7.3-8.8 1.3a65 65 0 0 0-1.7-7.3q-.1-1.4 1.4-1.7l1.1-.2m3.2 17.7-1.4.2q-1.5.1-1.8-1.3l-.8-7.4 8.8-1.3 1 7.5c0 .9-1.6 1.7-2.5 1.8"/>
<path fill="#006233" d="m428 217.4 1-.1q1.1 0 1.5 1l1.2 6.1-6.3 1-1.3-6.2q-.2-1.2 1-1.3l.8-.2m2.6 14.7-1 .2q-1.1 0-1.4-1l-.7-6.3 6.3-.9q.7 3.3.9 6.2c0 .7-1.1 1.4-1.8 1.5"/>
<path fill="#f7c608" d="m431.1 244.9 1.4.1q1.5.3 1.7 1.8l-.9 7.4-8.8-1.1c.4-2.7.6-5.5.6-7.5.1-.8 1-1.4 1.9-1.2l1.1.1m-2.4 17.8-1.4-.2q-1.5-.2-1.4-1.7 1-3.1 1.6-7.3l8.8 1q-.6 4-1.3 7.4c-.4.9-2.1 1.3-3 1.2"/>
<path fill="#006233" d="M430.6 246.4h1q1 .4 1.2 1.5l-.8 6.2-6.3-.8.6-6.2q.1-1.1 1.3-1.1h.9m-2 14.9-1-.1q-1.1-.2-1-1.4.7-2.7 1.2-6.1l6.3.8-1 6c-.3.8-1.6 1.2-2.2 1"/>
<path fill="#f7c608" d="m425.1 273.5 1.3.5q1.3.7 1 2l-3 7-8.2-3.3a66 66 0 0 0 3-7q.6-1.2 2-.8l1.2.4m-7.9 16.5-1.2-.5q-1.4-.7-.9-2 1.9-2.8 3.8-6.6l8.1 3.3-3.5 6.7c-.6.7-2.4.7-3.3.3"/>
<path fill="#006233" d="m424.2 274.8 1 .3q.7.5.6 1.7l-2.6 5.7-5.9-2.3 2.5-5.8q.6-1 1.6-.8l.8.4m-6.5 13.6-1-.3q-1-.6-.4-1.6l3-5.5 5.9 2.3-3 5.6c-.5.6-1.8.7-2.4.4"/>
<path fill="#f7c608" d="m410.5 299.4 1.1.8q1 1 .4 2.3c-1.6 1.6-3.4 3.8-5.2 5.8L400 303c2-2 3.8-4.3 5-6q1-.9 2.3-.1l.9.7m-12.6 13.8-1-.8q-1.2-1-.3-2.1 2.6-2.2 5.7-5.5l6.8 5.3-5.5 5.6c-.8.5-2.5 0-3.2-.6"/>
<path fill="#006233" d="m409.2 300.4.8.6q.7.6.1 1.7l-4.3 4.8-4.9-3.7q2.6-2.8 4.2-5 .9-.8 1.8-.2l.6.5m-10.4 11.5-.8-.6q-.8-.7 0-1.7l4.6-4.5 5 3.7q-2.4 2.6-4.7 4.7c-.6.4-1.8.1-2.4-.3"/>
<path fill="#f7c608" d="m388.5 320.5.7 1q.7 1.3-.3 2.3l-6.7 4.3-5-6.8a78 78 0 0 0 6.7-4.4 2 2 0 0 1 2.2.4l.7.9m-16.4 10-.7-1q-.8-1.3.4-2.2l7.2-3.7 4.8 6.8-7 4c-.9.2-2.3-.7-2.9-1.4"/>
<path fill="#006233" d="m386.9 321.1.5.8q.5.8-.4 1.7l-5.6 3.5-3.5-4.8 5.6-3.7q1-.6 1.7.2l.5.7m-13.6 8.3-.6-.8q-.4-.9.5-1.6l6-3.1 3.4 4.8q-3 1.9-5.8 3.3c-.7.3-1.9-.3-2.2-.8"/>
<path fill="#f7c608" d="m360.8 335.1.4 1.2q.3 1.4-1 2l-7.8 2.5-2.6-7.8a75 75 0 0 0 7.7-2.6q1.5-.2 2 1l.4 1m-18.8 5.5-.4-1.3q-.3-1.4 1-1.8 3.6-.6 8-1.8l2.7 7.8-8 2c-1 0-2-1.3-2.3-2"/>
<path fill="#006233" d="m359 335.3.4.9q.2 1-1 1.5l-6.4 2-1.9-5.6 6.4-2q1.3-.4 1.7.6l.2.7m-15.6 4.5-.3-.9q-.2-1 1-1.4l6.6-1.5 1.9 5.6-6.6 1.6c-.8 0-1.7-.8-2-1.4"/>
<path fill="#f7c608" d="M329.7 342v1.3q-.1 1.4-1.6 1.7c-2.4 0-5.4.3-8.2.3l-.1-8.1a82 82 0 0 0 8.2-.5q1.6 0 1.6 1.5v1m-19.6.4v-1.2q0-1.4 1.6-1.5l8.2.3v8.1l-8.2-.1c-.9-.2-1.6-1.7-1.6-2.6"/>
<path fill="#006233" d="M328 341.8v.9q-.1.9-1.4 1.2l-6.8.2v-5.7q4-.1 6.8-.4 1.2 0 1.4 1v.8m-16.4.3v-1q0-.9 1.3-1 3 .3 6.9.2v5.8H313c-.8-.2-1.4-1.3-1.4-1.9"/>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,72 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-as" viewBox="0 0 640 480">
<path fill="#006" d="M0 0h640v480H0Z"/>
<path fill="#bd1021" d="m-.6 240 640-240v480Z"/>
<path fill="#fff" d="m59.7 240 580-214.3v428.6"/>
<path d="M474 270.4c5.1.3 5 5.4 5 5.4l18 .4c2.3-6.3 4.8-5.6 9.2-2.4a33 33 0 0 0 8.7 4.2c1.7-9 14.5-7.2 14.5-7.2 5.6-13 6-12.9 2.7-14.5a11 11 0 0 1-4.6-4.5c-3-3.7-4.6-9.1-5-12.4s-4.2 1.6-5 .6c-.6-1-6.3-.4-6.3-.4 1.4 1.5-3.4.6-3.4.6.5.4 0 1.7 0 1.7-.4-.6-4.1-1.2-4.1-1.2l-1.1 1.6c-2-.8-6-.7-6-.7a20 20 0 0 0-10.9 2.8c-1.6.9-7.4 3.8-12.3 8.5-4.7 4.6-7.4 4-7.4 4-1.4 5.2-12.8 11.5-12.8 11.5-1.8 1.6-7.6 2.4-10.5 0s0-6.9 0-6.9c1.2-2 2.2-1.9 2.3-9 .1-4.7 5-8.5 10-14 6.3-6.8 15-18 15-18 0 3.4 1.8 4 1.8 4 1.7-3.5 4.2-6.3 4.2-6.3q.3.4.5.4l3-3.6c-.5-.3-6 0-11 4.4s-8.4 3-8.4 3c-3.5-1.2-3.8-4-3.8-4-2.5-10.9 7.4-18.7 7.4-18.7-13.4-3.2-3.7-20.3 13-27.5s16.4-10.5 16.4-10.5a13 13 0 0 1 1.8 3c.1 0 1.4-1.9 11-6.1 9.6-4.3 14.2-8 14.2-8 1.2 2.4 1 4 1 4 26.3-9.1 52-30.2 52-30.2.8 1.7.5 4.4.5 4.4 4.2-4 19.7-13.2 19.7-13.2a9 9 0 0 1-4.6 8.2l.8 2.3a360 360 0 0 0 14.4-9.5c4.3 3.7.4 9.8.4 9.8 1.6-.3 2.6-1.6 2.6-1.6 1.2 6.4-5.9 12-5.9 12 1.3 0 3.3-1.3 3.3-1.3-1.3 7-14.4 14.6-14.4 14.6 1.9 1.8 0 4-1.6 5-1.5 1-4.3 3.3-3.4 4.2s6.7-3.2 6.7-3.2c1 2.9-6.5 8.6-6.5 8.6 5.2.7 19.6-5.9 19.6-5.9-1.1 5.6-6.6 10-13.3 12.5s-6.4 3-6.4 3c1.2.8 10.5-1.8 10.5-1.8-2.8 6.2-12.5 10.5-12.5 10.5 2.7 2.3 6.3-.4 10-2.9a58 58 0 0 1 14-6.4c5.3-1.9 9.2-.5 9.2-.5a12 12 0 0 1 8.4.6c8.7.7 9.6 3.9 9.6 3.9 1 .2 1.7.6 4 2.3 2.1 1.6 2 6.6 2 9.2-.2 2.4-.9 2.4-1.3 3q-.5 1.2-.5 2.5c0 1-2.2 6.9-15.7 6.9h-20.3c-1.2 0-2.5.7-2.5.7-5.7 2.8-2.7-2-9.4 3.6s-10.2 4.6-10.2 4.6A90 90 0 0 1 568 221c-4 2.6-3.3 2.3.3 3.8s8.8 0 8.8 0c-3.4 2.3-1 3.4-1 3.4 4.4-2.7 7.2-1.7 7.2-1.7 1.4 3.9-3.8 10-3.8 10 2 .3 5.8 0 5.8 0-1 2.7-4.6 5.6-7.4 6.4-2.7 1-2.3 1.3-1.4 3 .7 1.6.1 3.3.1 3.3-4.8-3.3-5-.4-5-.4-.5 4-.4 9.6-.4 9.6-3.4-1.7-3.5.5-3.5.5-1 3.6-5.1 7.7-5.1 7.7-.2-2.2-2.2-2.8-2.2-2.8-2.2 4.2-6.1 6.7-6.1 6.7-.5 3.5.5 8.6.5 8.6-2.6-.6-3.5-.6-4 0-.3.7.6 1 .6 1l33.4.8c.5 0 2.5.3 2.5 3.8 0 3.7-3 3.9-3 3.9l-36.4-.9s.1 1-1.8 2-1.2-1.1-1.7 3.4-7.8-.4-7.8-.4c-1.2 1.8-4 4-4 4-1.7-5-3.4-6.4-6-2.2s4.8 3.6 4.8 3.6 42.8-6.3 45.1-6.5 4.9-.1 6 3.1-5.3 3.8-5.3 3.8l-44 4.8c-.9 2.6-4.5 2.4-4.5 2.4.3 2.5-2.3 4-3.6 5-1.4.8-5.6.5-5.6.5-5 3.4-7.6.7-7.6.7-3.3 1.4-5.4.8-8.1-.4-2.8-1.2-2.5-4.5-2.5-4.5l-27.8 3a7 7 0 0 0-2.2 1.2c1 1.3-2 4.3-2 4.3.9.5 2.5 2.1 2.7 5.5.2 3.7-4.5 4.3-2.2 7 2.3 2.5 6.7.3 11.5-2s9.5-2 11.5-2 7.8 1.6 11.4 2.8 4.8.4 5-1.4 1.9-2.3 1.9-2.3c-.5 1.8.5 2.6.5 2.6a11 11 0 0 0 3.7-1.3c-.2 1.4-2 2.2-2 2.2-3.4 2.3 1.4 1.5 1.4 1.5a44 44 0 0 1 15.4-1.5 123 123 0 0 1 14.3 5.2c.4-1.2.1-4 .1-4 3 .8 4.2 2.5 4.2 2.5 1.2-1.2.4-3.4.4-3.4 9.7 5.5-2 8-5.1 9s-3 2.3-3 2.3a28 28 0 0 1 6.4-1.3c2.2-.2 1.4 0 6.5-1 5.2-1 7.8 1.2 7.8 1.2-4.3.2-5.5 1.5-5.5 1.5 2.6 1.7 0 3.4 0 3.4-3.8-5-7.2.1-7.2.1a15 15 0 0 1 6.4 1.4l5.4 2.7c3.6 1.6 2.9.6 5.6 1.6 2.8 1 1.7 3.7 1.7 3.7a7 7 0 0 0-3.7-3c-.2 3-3.1 3.5-3.1 3.5 3.6-4-4.1-5.8-7.8-5.7-3.6 0-6.3 2.4-6.3 2.4 7.3 6.9 12.3 4.6 12.3 4.6-.9 2.5-6.9 1.5-6.9 1.5 2.8 2.2 2.5 3.6 2.5 3.6-1.5-1.4-4-.7-9.2-4-5.2-3.5-9.9-2.3-9.9-2.3 5.2 5.3-1.8 8.6-1.8 8.6-2.6 1.6 1 3.5 1 3.5-3.2.6-3.6-2.6-3.6-2.6-1.7-.4-4.2 1.6-4.2 1.6.2-3.2 4.6-1.6 4.6-5 .2-3.5-4-6.2-16.3-4.5s-16-2.2-16-2.2c-1 0-1.2 1-1.2 1 2 2 2.9 2.8 2.6 4.2-.4 1.3.6 1.8.6 1.8-2.3-.2-2.4-2.8-2.4-2.8 0 1.1-.5 1.2-1.3 2.3s0 2.7 0 2.7c-1-.8-2.7-1.8-1-4.3 1.2-1.8-2.7-4.2-2.7-4.2-1.5-1.5-5.6 0-5.6 0a15 15 0 0 1-13.3-3.7c-1 0-2.9-.6-2.9-.6-8.9 4-16.7-4.6-16.7-4.6-6.7 1.3-9.8-2-11.8-5.2a12 12 0 0 0-5.2-5c-2.6-1.6-5.2-6.2-2.6-8.7 2-2.1 1.5-2.6 1.5-2.6-3.5-5.9 6.1-7.7 6.3-9.2.3-2 2.3-3.3 4.5-3.4s2.2 0 3.7-1.4c1.3-1.5 4 .3 4 .3.7-.4 5.5-4.1 9.7-2.2 4.3 1.9 7.9.6 7.9.6 3-.7 28-4 28-4 1.5-2.5 2.7-5.4 9.6-7s12-6 12-6c-1.2-1.2-3.2-1.2-4.2-1.3-1.1 0-3.2-2-3.2-2-1.3.6-2 .3-11 5.8-8.1 5-8.3-4.8-8.3-4.8H479c-.3 3.7-3 5.2-3 5.2l-6.5.3c-3.6-1.8-3.6-8.2-3.6-8.2-19.4.3-30.1 7.2-30.1 7.2-22-11.2-39.2-13.8-39.2-13.8a122 122 0 0 0 40.8-10.2 63 63 0 0 0 28.5 9c.5-5.4 4.1-6.7 4.1-6.7z"/>
<path fill="#ffc221" d="M442.3 314.6c-5.5 3.2-4.5 5-4 6s.5 2-1 3.6c-1.5 1.5-1.4 2-1.4 2 .3 5.4 4 6.6 5.7 8 1.4 1 3.6 4.5 3.6 4.5 2.9 4.1 5.9 4.2 8.1 4.2 2.3 0 2-.3 1-1.3l-3.4-2.7a18 18 0 0 1 5.9 4.1c5.6 6.2 10.8 5.4 13.1 5.2s2-1.7 2-1.7l-2.4-.4c-8.5-.8-11-6.4-11-6.4a24 24 0 0 0 15.6 6c2.4-.1 2.3.6 1.7.8l-2.4-.2c-1.1 0-1.1.3-.9.8q.6.5 2.7.4c1.4 0 .3.1 3.8 2.8 3.6 2.8 12.3.5 12.3.5-5.7-1.3-6.4-4-6.4-4-7.7 1-10.8-3.6-10.8-3.6a33 33 0 0 0-5.6-3.5 9 9 0 0 1-5-5.8c1.3 1.8 3.7 3.8 6.7 4.6s3.8 1.2 3.8 1.2a4 4 0 0 1-2.3-.2c-3-1-1.3.3-1.3.3 3.4 2.7 4.3 2.5 4.3 2.5 8.6.9 4.3-2.6 4.3-2.6 6.2 1.5 7.2-.8 7.2-.8 1.3 2.7 6 1.7 6 1.7-6.2 3-1.5 2.1-1.5 2.1 6.3-1.1 7.6.5 7.6.5 1.6 1.5 3.4 1.4 3.4 1.4s1.2 0 3.5.4c2.4.5 6.2 2.5 9.6 2.2 3.5-.5 4 .6 4 .6-.6-.3-2.2-.5-4.8.7-2.7 1.3-7.4 1.6-14.2 0s-7.4-1.3-7.4-1.3a9 9 0 0 1 3.4 4c.3 1.2 1.5 1.2 1.5 1.2.5-1.5 2.5-2.1 2.5-2.1a27 27 0 0 0 5 2.8c.4-.7 0-1.3 0-1.3 2.6 2.5 5.6 1.7 5.6 1.7.8-.5.6-2 .6-2 1 0 1.2.6 2 1.2.7.4 3 .1 3 .1-.8-.4-1.5-1.7-1.5-1.7 3.5-2.3 11-1.3 11-1.3 5.3 1 4.7 4.5 4.7 4.5a10 10 0 0 1 2.5 2.1c.5-1.2 0-2.5 0-2.5 2.6 1.2 3 4 3 4 3-3.2-2.7-6.8-2.7-6.8 2.7-.4 5.7-.2 7.5 0a14 14 0 0 1 6.6 3.1c2.1 1.7 5.9 2.5 5.9 2.5-.1-.7-2.2-2-2.7-2.2s-.6-.9-.6-.9c1.9.4 3.1.2 3.1.2-6.4-4-8.1-5.9-8.1-5.9 2.4.3 3.8-1.2 3.8-1.2-5.1 0-5.4-1.2-5.4-1.2.7.1 3.1.7 6.2.1s7.2 0 7.2 0c-2.2-3.6-10.7-3-13.5-2.8s-3.8-.2-3.8-.2c.4-.2.9-.6 3-.7 2.2 0 4.3.2 6.8-1.6 2.3-1.6 5.7-1 5.7-1-.8-1.6-4.7-2.2-8 0-3.5 2.1-6.5 1.5-6.5 1.5 5.3-.8 6.9-2.7 6.9-2.7-1.6-.4-2.5.1-5.8.8-3.2.6-4-.5-4-.5 3.5-2.1 6-3 6-3-3-.6-5.8-2-5.8-2-3.2 3-5.6 4.6-11.7 1.6-6-3.2-9.2-2.8-9.2-2.8a14 14 0 0 1 14.8.6c4 2.3 5 .4 5 .4-1.2-.7-1-1.5-1-1.5 9.6 4.9 13.8 2 15.9.5s-1-3.4-1-3.4c-.2 3-4 4.6-7.2 3.5-3-1-6-2.4-10.4-4.3s-10-.8-15.1.2c-5.2 1.1-5.9.6-6.4.2s-.7-1.7-3.4-.6c-2.6 1.1-8.8-1.8-12.6-2.7s-10.1-.5-15.5 2.5c-5.4 3.1-8.2 2.3-9.8 1.6-1.6-.8-2.7-2.8-.9-4.6s2-2.3 1.8-5c-.2-2.6-2.8-4.2-2.8-4.2 2.4-2.5 3-3 2.2-4-.8-1.2.4-1.2 1.8-1.8s.8-.7.5-1.5-1.2-.6-1.2-.6c-3.1.1-4.9-.8-4.9-.8-5.2-2.4-10.1 2.3-10.1 2.3-3-2.3-3.7-.7-4.2-.2q-.8.9-3 1c-1.2.2-3.1.7-3.8 1.9 0 0-.6 1 .1 2 0 0 .8 1.2-.6 2.7-1.5 1.5-2 1.8-1.5 3.3q.6 2-.3 3.3s-.7-.7-.5-1.7q.3-1.5 0-2s-1.5 1.4-1.8 2.4c0 0-.6-1.6 1.6-3.7q3.1-2.9 2.4-4c-.4-.6-2 .4-2.3.6z"/>
<path d="M448.4 338s-2.7-2-2.4-4.9c.3-2.7.3-3 0-3.7 0 0-.5.3-.4 1.4s-.2 2.1-.3 2.3c0 0-1.3-2.3-2-2.8 0 0 .6-2.4-.2-3.4q-1-1.5-2.4-.8c-1.2.4-2.1 1.5 2 4.8 0 0 1.5 1.3 2.5 3.9s2.8 3 3.1 3.2zm13-7.8s-.1-1.5 1.3-4.3a6 6 0 0 0 .3-5.6c-.3-.8-.6-.5.9-1.7 1.7-1.5-.7-3.4 2.3-6 0 0 1.8-1.6 2.3-2.3 0 0-3 1.6-5.2 2.5-2 .8-9.6 4.6-8 7.1 1.8 2.5 1.6 2.7 1.3 3.8 0 0-4.6-2.5-3-6.4 0 0 .8-1.5 2.7-3.4 1.8-1.6.8.4 4.3-1.7 0 0 2.7-1.6 4.3-3.9 0 0-2 1.2-2.6 1.4 0 0-4 .8-5.8 2.5-1.6 1.7-5.1 4.7-4 8 0 0-4-.4-5-4.7 0 0-7.6 9.4 8.4 13.8 0 0 3 .8 5.6 1z"/>
<path fill="#ffc221" d="M531.6 299c6-1 40.4-6.2 43.6-6.5 3.4-.3 4.7-.8 5.9 2 1.3 3-4.8 3.1-4.8 3.1l-41.1 4.7c-2 .2-2.5-.6-2.5-.6l-1.5-2s-.5-.6.4-.8z"/>
<path fill="#5a3719" d="M447.3 317.7s-4.4 9.3 13 11.6q-.1-.1.8-2.5c.8-1.5 2.3-4.5.8-6.4s1.2-.9 1.5-3.4c.5-2.5-.2-2.2 1-3.8 0 0-5.4 2-7.6 4.5-2 2.4 2.9 4.2 0 6.9 0 0-2.5-1-4-3.6 0 0-3.3 0-5.5-3.3"/>
<path d="M464.5 329.2s4.3 3.7 9.4 3.6c5.1-.3 7.4-1.6 8.7-3.6 0 0 1 1.5 1 2.6 0 0 4.4-3.7 12-.5s5.4 2.3 7.1 2.5c0 0-3.3-.5-10.7 2.9-7.7 3.5-27.7 2.3-27.6-7.5z"/>
<path fill="#5a3719" d="M457.3 312.6s1.9.3 3.8-1.9c0 0-2.6.5-3.8 2zM442.6 330s-3.6-2.8-1.3-3.4c0 0 1.7-.3 1.3 3.4"/>
<path d="M521.2 347.8s2-3.5 7.5-3.5 6.1 2.6 13.1 3c0 0-8.4 2.4-14.2.3-3-1.1-5.8-.2-6.4.2"/>
<path fill="#5a3719" d="M466.3 331.7s8.4 5 15.7-.5q.2 0 1.2 2s5.6-5.4 15.5.4c0 0-1.2-.1-5.9 1.8-6.1 2.7-21.4 4.5-26.5-3.8z"/>
<path d="M498.3 336.7s8 1 14.7.6c4.1-.2 8.6-1 6.4.4-2.3 1.3-1.1 1.5 8.4.7 9.4-1-.1 1.7 6.4 2.6 0 0-15.9 8-35.9-4.3"/>
<path fill="#5a3719" d="M519.2 331.7s4.6-1.7 9 .3c4.3 2 3.6 2.2 6.5 2.5 0 0-2 2.9-6.7.6s-6-2.8-8.8-3.4m5.2 14.3s4.6-2.3 9.6 0c.6.4 2 1 3.3 1.2 0 0-3.8 1.3-7.8 0-1.7-.5-3-.9-5.1-1.2m-22.7-8.2s10.3 1 15.8-.1c0 0-6.4 3 9.7 1.7 0 0 3.5-.4 3 .1-.3.5-.6 1 1.2 1.5 0 0-12 5.4-29.7-3.2"/>
<path d="M450.7 329.2s.2.7 2.4 1.7a9 9 0 0 1 4 3.9 6 6 0 0 0 3.5 2.9s-8 1.7-11.6-2.6c0 0-2.7-3 1.6-6"/>
<path fill="#5a3719" d="M513.7 347.6s-3.1-.2-7.5-1.7c-4.3-1.5-5.4-.2-7.9-2-2.4-1.9-7.3-.7-8.2-.6-1 .1-3.6 0-.3-2.1 0 0-2.6 0-3.6-1.4 0 0-1.2 1.2-5.6.8 0 0 2 3-6 2.1a10 10 0 0 0 11.1 3c0 .2-.5 2.5 3 3.5 3.8.9 4.5 1.6 6.4 2.3 0 0 .3-1.5-4.6-5 0 0 2.6-.2 6.4.7s12.2 3.1 16.8.4m2 3.7s.8 1.8 3.2 1.4a17 17 0 0 1 10.2.8s.7-3.2-7-3.4c0 0-4.8.2-6.4 1.2m-65.2-21s-3 2.5-.3 5c2.4 2.3 6.2 2.1 8 2 0 0-1-.6-2-2-1-1.5-1-2.5-3-3.4-2.1-.9-2.3-1.1-2.7-1.6m-3-12.6s-4.6 9.3 13 11.6q-.2-.1.7-2.5c.6-1.5 2.1-4.5.8-6.4-1.6-1.9 1.1-.9 1.5-3.4s-.3-2.2 1-3.8c0 0-5.5 2-7.7 4.5-2 2.4 2.9 4.2 0 6.9 0 0-2.5-1-4-3.6 0 0-3.3 0-5.5-3.3z"/>
<path d="M493.3 339.3s3.7-.6 13 2.9c9.4 3.4 13.3 2.6 14.6 2.5 0 0-5.2 2.8-13.4-.8-7.2-3.2-7.6-2-14.2-4.6"/>
<path fill="#ffc221" d="M551.8 337.2s2 0 3.4.5c0 0 .7-.7 2.7-1 0 0-1.3-1.2-6.1.5m-6.4-5.2s2.1 0 2.8-1.2c0 0-1.1-1.3-2.8-2 0 0 .4 1.6 0 3.2m-71.7-23.8s-.5-1 1.8-1.4l31.3-4.5s1.5 0 1.7 1c.3 1.1-.1 1.9-7.2 2.7l-25.6 3.2s-1.9.3-2-1"/>
<path fill="#ffc221" d="M502 306.9s0 4.1 4.2 4.7c4 .6 5.5-.2 6.5-2.3.3-.7 1.6-5-.2-5.3q-1.4-.2-2.9.3c-1.4.7-2.7 1.4-2.3 2 1 1.6 1.2 2 1 2-1.2.3-1.8-.6-2-1.2-.3-.8.5-1.2-2.2-.8q-1.9 0-2 .6zm17.5-3.2c2 .3 1.9 4.8-.6 6.9-2.8 2.2-5.4 1.3-5.4 1.3-1.4-.5-1.2-.4-.1-2 1-1.5 1.5-3.6.9-5q-.2-.8 1-1s2-.4 4.2-.2"/>
<path fill="#ffc221" d="M521.3 304.1s1.6 2-.4 5.5c0 0-.8 1 1.1.9 1.8-.2 6.1-2.2 5.7-4.8 0 0-.2-.6-1.3-.6s-.2-.5.3-.8c.4 0 1.9-.6-1.9-3 0 0-.6-.6-1.3-.3-.6.2-2.6 1-2.6 2.2q.2.9.4 1z"/>
<path fill="#ffc221" d="M525.4 300.9s3 2.1 3 2.8-.3 1.5.5 1.3c.8 0 4-.7 3-2.8q-1-3-3.2-3.4c-1.5-.6-1.9.1-3.2 1.1 0 0-.9.6-.1 1m-16.1 3s.5-1.5-2.2-2.2c0 0 1.1-1 3.4-.4 2.2.4 2 2 2 2.1 0 0-1.8 0-3.2.5m5.8-.4s3-.5 4.5-.4c0 0-1.6-3.3-5.7-2.3 0 0 1.5 1.8 1.2 2.7m5.3-.8s0-1.1 2.6-2.1c0 0-1.2-1.2-3-1-2 0-2.5.7-2.5.7s2.3.8 2.9 2.4m1-3.6s1.7.4 2.7 1.3c0 0 1.5-1.7 2.8-2 0 0-2.5-1.4-5.5.7"/>
<path fill="#5a3719" d="M435.8 290.9s7.2-6.2 11.2-5.4 2 .2 6.4-.5 9-1.1 10.8-.9c0 0-5.4-3.8-14.9-3.7 0 0-6.6 2.3-11.3 5.3 0 0-8.9-4.9-18-2 0 0 9.9 3.7 15.8 7.2"/>
<path fill="#ffc221" d="m512.2 301.4 1.2-.2s2 2.5.6 2.5c-1.2 0-.8-.3-1-1a2 2 0 0 0-.8-1.3m-9 .2s-.8 1 .6.8c1.7-.3 1.4 0 3.1-1.3 0 0 1.2-1.1 3.2-.4 0 0 1.8.6 3.2-.1 1.4-.8 1.7-.7 2.5-.6s.8.2 1.7-.6c1-.7 2.8-.1 3.9-1s2.5-.2 0-2c0 0-.5-.5-.5-1 0 0 1 .4 1.8 1 .8.8 2 .5 2.2.4 0 0 .2-2.3 2.3-4.3 2.3-2 2.3-2.2 1-2.2s-3.5-.6-4.3 0-7.2 4.8-11 5.5-7.3 1.8-9.7 5.8m-101.3-23.4s11.7 3 14.3 4.2c0 0 .6-1.9-4.7-3.4 0 0 12.9-.4 26.4 5.8 0 0 6.6-5.6 27.7-3.9 0 0 0-1.8.2-3.3 0 0-14.8-.4-28.4-8.7 0 0-12.3 6-35.5 9.3m64.7 5.6c-.7-11.8 3.8-13 3.8-13s2.1 0 4.4.5c0 0-3.6 4.3-2.6 12.8 0 0 .4 1.3-2.7 1.3s-2.9-1.5-2.9-1.5z"/>
<path fill="#5a3719" d="M469.8 291.7s-2.3-2.3-2.5-4.9c0 0 0-.6 2.2-.6s2.5-.2 3 1.1 2 4 2.3 4.3z"/>
<path fill="#ffc221" d="m474.5 285.7-.2-4.5c.1-6.6 1.2-6 1.7-5.2h2.3s-1.7-7.4-3.7-3a19 19 0 0 0-1.5 10.4q.1 3 .6 4z"/>
<path fill="#5a3719" d="M500.2 285.7s4.3.8-2.3 2.3c0 0 .3 8.2 8.2 2.5 0 0 4.7-3 8-4.2 0 0 1.6-.6 1.4-1.8 0 0 .2-1.5-1.5-1.1 0 0-1.4 0-2.3-.3 0 0-1-1.2-1.6-.8-.6.5-2.1.2-.9 1.7 1.2 1.4 1.5 1 2 .6s3.1-1.4.9.7-4.2-1.2-5-1.8zm-22 1h-2s-1 1.6-1.7-1l-.7 1.6s2.3 8.8 4.4-.6"/>
<path fill="#ffc221" d="M475.4 276.6s-1 5.8.3 9.2l21.1.5s-.2-4 0-9.7H494s-.5 4.6 0 7.5h-.5s-.4-4 0-7.5H491s-.4 4.3 0 7.5h-.5s-.4-3.7 0-7.5H488s-.5 3.9 0 7.5h-.6s-.5-3.9 0-7.5h-2.7s-.6 3.6 0 7.5h-.5s-.6-3.6 0-7.5h-2.7s-.6 4.2 0 7.5h-.6s-.4-4 .1-7.5h-2.5s-.7 3.5 0 7.5h-.7s-.4-3 .2-7.5zm22.3 10.4s-.5-10.2 1.4-13c2-2.6 2.5-2 5.8 0 3.4 2.2 7.7 4.5 8.5 4.8.6.3 1.6.5 1.6 2.4s.3 2.4-2.6 0a9 9 0 0 0-2.7-1.8c-2.6-.9.6.5 1.5 1.9.8 1 1.5 1-.6 1.5a219 219 0 0 0-12.9 4.2"/>
<path d="M505 279.6s-1.5-1.8.5-2.3 2.1 3 2.5 5.1c.3 2.2-2.5-2.1-2.8-2.7zm-2.7 9s-2.3.9-.7 1.6c1.4.7 5.5-2.7 4.2-2.5-1.6.3-3.5 1-3.5 1zm3-3s2-.3 1.6.5c-.3 1-1 .4-1.4.2s-1.6-.7-.1-.8z"/>
<path fill="#ffc221" d="M516 282.8s.6 4 4 5c0 0 2 .4 1.5-1.3 0 0-.3-1.5-.6-2-.3-.7-1.6-1-1.8-1.1-.2 0-.3-.5.6-.2 1 .3 1 .4 1-.3s-.6-.4-1.4-.8c-.4-.2 0-.4.3-.3.4 0 1.3.3 1.3-1 0 0 .1-.8-.9-.8-1.1 0-1-.6-.7-.7s1.5.8 1.9-.6-1.6-.5-1.4-1.2c.3-.8 1.7.3 1.7-.5.2-.8 1.3-1.1-.6-1.4-.9-.1 0-.6 1-.4s1.6-1.2 2.3-1.6 4.2-2.6-.6-1.9-6.1 3-6.3 3.5a13 13 0 0 0-1.3 7.6"/>
<path fill="#ffc221" d="M527 285.8q1-.1 1.4.5c.8 1.6-1 1-2 2.2s-1 1-2.4.5-2-2.5-2-2.5q0-1 1.2-.6s2.3.2 3.9 0zm-5-.8s0 .4.9.5c.7 0 3 .3 4.5-.1 0 0 .4-.1.2-1 0 0 0-.7-1.2-.4-1.3.2-3 0-3.7-.1q-1-.4-.8 1zm-.2-2.9s-.1 1.3 1.1 1.4c1.3.2 2.9.2 3.5 0 .5 0 1.4-.2 1.5-1 0-.7.2-1.2-1.3-.8s-3.4 0-3.6 0c-.1 0-1.2-.3-1.2.4m.5-2.5s-.3.6-.2 1.2q0 .7 2.5.7c2.5 0 3-.2 3.2-.7.1-.7.5-1.3-.7-1-1.3.1-3 .2-3.6 0q-1-.5-1.2-.2"/>
<path fill="#5a3719" d="M582.1 286s0 1 .9 2.2l-45.2-1.3s.6-.4.8-2.2z"/>
<path fill="#ffc221" d="M522.7 277.8s-.4 1.1.4 1.4q1.2.4 4 .1s1 0 1.3-1 .3-.4-2.3-.8c0 0-.8-.3 1.5-.3 0 0 1.4 0 1.5-.2.3-.2 2-1.7-.3-1.5-2.3 0-1.1-.5 0-.5s1.6.3 2 0 0-.2-.7-.8-.1-.5.3-.1q.6.6 1.3 0c.7-.6-.4-1.2 0-1 .3 0 .6.8 2 0 1.6-.7 3.5-.3 4 0 .6.5 2.2 1 3.1 0 1-.8-1.1-1.7-.3-1.8 1-.1 1.6.2 1.9-.5.4-.8-1.4-1.4.3-1.8s.2-5-.3-5.5c0 0-1.9 1.1-3.8 4.3-2.1 3.3-3.3 5.2-6 4.2-3.9-1.5-6 .6-6.5 1-1 .6 2 .8.2.9-1.7 0-1.7.2-1.8.4q-.2.4.3.6c.3 0 .9.6-.1.6s-1.8-.3-1.5.9l.6.3c.6 0 .8.8-.3.8q-1 0-.8.3m4.1 11.3s-.7.5.3.6c1.2 0 1.7.3 2.1-.3s1.8-.4.8-1.2-1.6-.3-3.2 1z"/>
<path fill="#ffc221" d="M531.5 275.5s3.8-3.5 6.9-1.2c3.2 2.5 3.4 2.8 3.5 2.9 0 0 .4.3-.4 1-.9.8 0 .8.9.3s1 0 1.4.5c.5.5 1.1.8-.3.8h-4.6s-2.1.2-1-.7c1-.9.8-1.9.3-2-.6 0 0 .6-.3 1q-.6.6-1.9.7-2 .3-.2 1c1.1.4-.2.7-.8.7s-3.5.2-.5.6-.3.3 2 1.5c2.4 1.4.6 4.3-.3 4.6 0 0-1 .5.2.4 1.3-.2 2-.3 1 .4-.8.6-2.6 2.9-5 1.2 0 0-1.2-.6.8-.7s-1.6-.5-2.3-1c-.5-.3-3-2.7-1.5-2.5 1.6.4 1-.5.1-.8s-1-1.6 0-1.4 2 .9 3 .8q1.2 0-1.2-.8c-1.7-.6-2.4-.7-2-2 .4-1.5 2.3.5 1.8-.6-.4-1-2-.5-1.2-1.9s1-.8 1.5-.6c.3.1 1 0-.1-.8-.8-.5 0-1.3.2-1.4"/>
<path d="M534.2 276.5s0-.5.8-.4c.6 0 .4-.2.6-.4.2 0 1.9.5.3 1-.6.3-1.6.2-1.6-.2z"/>
<path fill="#ffc221" d="M537.9 280.5s-1.3.6-.2 2c1 1 1 1.5 1 2.2-.1.8 43.4 1.3 43.4 1.3s0-2.9 1.8-4.5z"/>
<path fill="#5a3719" d="M582.8 285.2s.2-2.4 1.6-3.1c.7-.5 1.6-.3 2 1.6.6 2.7-1.7 5.1-2.7 4s-.8-2.5-.8-2.5z"/>
<path fill="#7b3c20" d="M532.9 295.4s2.9-2.5 3.4-3.6c0 0 7.8 5.6 7.3.4l.2-2.6s2.9.3 3.3-2l-7.3-.3s-.8-.1-2 1.1c-1 1.2-3.4 2.5-5.5 1.4 0 0-1-.8-1.9 0-1 .5-1 .7-.2 1.5s2.4 2.9 2.7 4zm16.8-15.4-4.3-.2s-1.5-2.2-4.6-4.6c0 0-.9-.4.8-1.8q2.5-2.3 2.3-3.5c0-.6 0-1.7.6-1 .6.8 5 4.9 5.8 3.7q.8-1.6.7-2.1c.2-.4.3-1.5 1-.3s1 .8 1.1 3.8c0 0 0 3 .5 4 0 0-5.6-1.7-3.8 2zm-18.6-9.2s3.3 2 5-.6c1.5-2.5 2.6-2.8 1.4-5.3-1.2-2.3 0-3.4.9-4.4s1.8-.8 1.8-4.6c.2-3.9 2.8-5 4-6.3s4.2-3-.4-3.7c-4.4-.8-13.4-3-15.7-6.5s-3.3-1.5-3.3-1.3-.8 2.7 1.5 7.3 4.2 7.6 6.5 9 4.2 2.3 3 5.4-3 8.6-4.7 11"/>
<path fill="#5a3719" d="M543.2 261s.6 8 6.3 10.8c0 0 1.3-3 .8-6.1 0 0 1.9.1 2.4 1 0 0 0-2.3-2.6-3.2-2.7-.7-1.4-6-.4-6.5s.6-1.7 0-2.6-.8-2.3 1.4-1.7 2-.6.5-1.7c-1.3-1.1-1.3-2.5.7-2.5s5-1.9 3.2-2.4c-2-.6-2.5-1.3 0-2 2.7-.8 4-1.7 2-2-2-.2-3.3-.9-1.4-1.2s-.3-2.3-2.5-2.3c-2.3-.2-7 .7-3.3-2.3s-5.4-.8-1.6-2.8-1.3-1.1-2-1.1-.7 0-.4-1-.5-1.6-1.7-.9c-1 .6-1 .6-1-.7 0-1.5-1.3-.4-2.1 0-.9.3-3 1.9-3.9 1-.7-.9-1.2-1.7-3.8-.2s-2 .2-2-.5 1-3.4-2.4-.5-.7-3-3.5-1-3 2.4-3.5 1.5c-.5-1-1-1.7-4 .3-3.1 1.9-.8-1.3-.5-2 .5-.6 1.8-5-.9-1.6 0 0-1.3 2.4-4.2-1.9 0 0-3 4.3-3.9 2.4-.8-2-1.5-2-2.6-.8-1 1.2-.2-.1-.7-1.2s-.7-2.9-5.8.8 1.8 1-2.1 2.7-13.5 7-4.8 5.9c8.7-1.3-4.2 3.3-1.2 4.2 3 .8 2 3.5 13.4.3 11.2-3 9.4-.4 15.2-3 5.8-2.4-1.4.9 6.4.8 7.7-.2 1.3 0 2.8 1.6s8 5.3 14.1 6c6.1.6 7.7-1.7 5.9 1-1.8 2.6-2.4 3.6-3.4 4.6-1 .8-4 3-4 6.6 0 3.7-4.8 4.3-3 8.3l4.1-4z"/>
<path fill="#5a3719" d="M553.3 269.9s-1.4-1-1.4-2.8c0 0 1 .2 1.4.8 0 0 3.5-4-.8-5.4-4.1-1.4-2-5.3-.6-5.3s1.7-.3.4-2c-1.2-1.5-1-1.6 1.3-2s2.1-1 1-1.5l-1.9-1.6s6.8-2.9 4.6-4.3 0-1 2-2.3c2-1.4 2.2-1.7 2.5-2.3 0 0-2 .3-3.4 0 0 0 1.7-.9 0-2.3s-2.3-2.6-5-2-1.8-.2-.8-1.3.6-1.7-1.3-2c0 0 .2-1.2 1.7-2.5 0 0-3.7.2-5-.4 0 0 1.6-1 1.6-2.3 0 0-2 .7-4.5.5 0 0 1.5-1.3 1.5-2.4 0 0-4.4 1-6.4 2.5q-.2.2-.8-.6c-.4-.4-.6-1-5.5.6 0 0 .5-2.2 1.7-3s1-2.6-6.5 2.1c0 0-1-.6-1.9-2.9 0 0-1.7 2.3-2.9 3.1 0 0-1 .5-1-1 .2-1.5-.7-.5-1.4 0-.8.4-1.3 1.5-1-1.5s-1-3.6-1-3.6-2.3 3.3-3.7 3.7c0 0-2.5-2.4-3.4-4s-.8-2.2-1.7.6c-.9 2.7-2 3-2 3s-1.5-1.3-1.6-2c0 0-.3.7-.8 1 0 0-1.3-1.5-1.2-3.7 0 0-8.2 4.5-9.2 7.2 0 0-7.7-.5-10.8.1 0 0 .7-2.4 2.7-3.7 0 0-2-.2-2-2.3 0 0 1.6.2 2.6 0s-1.4-3.1 1.1-3.2 4.2 1.2 3-2.2c-1-3.3-.6-3.3-.6-3.3s4.4 2.6 5.1 1.9c.8-.6-.5-2 3.4-1.4s2.8-1.5 4.4-1.7c1.5 0 2.3 1 1.3-6.1s4.8 3.5.9-7.2c0 0-1-3.3-3.3-4.7 0 0-.6 2.3-3.2.3s-7.8-2.8-5.6-4.4 3.2-3.9 2.6-5.2c0 0-2.6 2.6-7 .7-3.6-1.5-4.4 1.3-8 .5 0 0 0-1 3.1-3.4 3-2.3-1.8.8-3.6 1.3s-2.4 0 1.5-3.1c4-3 12-8.5 11-13 0 0 1.8 2.3 6.7.6s8.6-2.3 10-5a23 23 0 0 1 6.4-5.6c1.1-.5 2.4-1 .9 1.5-1.6 2.4-4 6.6-10.8 9.4s-9.5 4.8-10.7 6.3-7.4 4.8-3.3 4.3c4-.7 10.9 0 7.6-1-3.2-.9-6.9.6-3.9-2.1s3.5-3.6 7.9-5.4 9.2-6.1 8.7-1.6-8.6 9.1-10.6 10.6c-2 1.4-1.2 1.2-1.2 1.8s-.4 1.8-1.2 2.3c-.8.6-.5 1.2-.3 2.4.2 1.3-.2 1.8.4 2s1.2.2 1.4 1.1.6 1 1.8 1q1.8-.3 2 .6c0 .7 1.2 1.7 1.3-.4.1-2.2 1-2.5-1.2-1.5s-2.6.6-2.6-.4-.2-.8-1-.9c-1 0-1.3-1.3.3-2.2 1.6-.8 1.6 0 3.6-1.6s2-2 2.3-3c.3-.7-2.9 2.4-4.4 3-1.5.8-1-.5-.8-2.1.3-1.7 4-4 5.7-4s5.6 1 4 3.3c-1.7 2.3-6.4 5.2-4.5 5.4 2.1.2 2.4-.6 3.6.4s0 3.2-.4 4.4a8 8 0 0 1-2.2 2.7s-2.2-3.8-2.1-.8c0 3.1-.5 4.2 0 4.3s2.8 1.7 3.6 1.7-4.1 2.3-2 2.5c2 .1 5.3-1 6.4-3 0 0-4.2-1-5.9-2.6 0 0 4.9-1.2 3.5-5.8 0 0 4.9 1.3 2.7 3.5-2 2.1-3.3 1.8-1.5 2.4q2.8 1 2.7 1.2c-.1.2 1.3.6.5 1.6-.7 1-.7 2.6 0 2.5.5 0 2.6-1 .9-2s1.9-.8.4-1.7c-1.6-1-2-1.1-2.4-1.6-.5-.3 19.7-12.2 9.5-7.8 0 0 2.1-4.6 5.1-4.6s3.2 2.3 1.5 4.2c-1.7 1.7-2.8 4.6-6.7 5.2 0 0 5.6 2.7-1 7.2 0 0-1.5.7-1 1.2s4.5-1.7 5-3a6 6 0 0 1 3-3 38 38 0 0 0 11.2-9.6c2.3-3.9 2.8-4 7.2-7.5s3.6-2.8 4.2-3.6c.5-.9.7-2.3 2.7-3.4s9.8-5.4 12.3-7.2c2.4-1.8 7.4-5 9.6-7.8s8-6.2 9.4-5.6-.2 2.8-3.5 5.4c-3.5 2.5-12 9.3-13.3 10.4a45 45 0 0 1-11.2 6.6c-2.7.3-2.4 1.3-4 3s-5.3 5.4-6.5 6.4-4.3 3-4.4 4.5.5 1.6-1.9 3.8a50 50 0 0 1-11.9 8.1s4.5 1.6 1.8 4.6c-2.6 3-2.5 2.6-2.6 2.8 0 0 6.7-1 2 4.3 0 0-1 1.5 1.1 0 2.3-1.9 1.4-4.1 1-4.5 0 0 3.7-2.3 7.9-2.3q6 .1.2-1.4s2.7-3.2 5-1.6c2.2 1.5 1.4 2.5-.9 3.8-2.4 1.2-5.8 1.7-8.5 3.2 0 0 5 1 7.6-1.1 2.6-2 2.8-1 3-.6.5.4.8 1-.4 2.6s-1.3 1.8-1.2 2.2c0 .4-.1 1.5-2.5 2-2.3.3-3.5 1.3-2.6 2.4.7 1.2.7 4-1.2 3.7-2-.3-1.6-1.9-2.3-2.5-.8-.6-1.9-1.5-5.4.2-3.6 1.9-3.8-.3-3.7-1.5 0 0-2.3 2-4.2.2s-.2-2.6 1-3.5c1-1 5.5-3 2.8-2.5-2.7.3-6.7.4-7.6-1.6-1-2.1 2-1.9 2.4-1.7.5.2 2.3 1.7 2.5-.3 0-2 3-2.3 2-2.6s-2.5.9-2.9 1.3c0 0-2-2.9-5.4-2-3.4 1 1 .7 2 .8.8.2.3 1.8-2.7 4.6s-1.7 1.8.5 1.8 7.9 0 4.6 2.6c-3.2 2.7-4.5 4-6 3.6-1.8-.5 0-1.6.8-2.1s1.2-1.2-.4-.6-2.1.7-3.4-1.5-.8-1.6-.2-3.1 1.8-3 .4-2.5c-1.6.6-1.4.7-1.3-1s-1.7-2.1-1.7-2.1.8 1.7.1 2.8q-1 1.4.4 1.6c1 .4 2 1.3.6 2.3s-1.2.7-.4 1.3c1 .7 2.3 1.3.9 2.7s-.3 1 .4 1c.8 0 2.3.6 2.3 2 0 1.2 0 1.5 2.3.3 2.3-1.3 6.7-1.1 6.7.6s-.6 2.3 1.8.8 3.5 1.4 5.2 0c1.6-1.5 2.6-2.8 4.6-.4s1.3 3-1 4.8 1.1.4 2.9-.5 6.7-1.5 9.5-.2c2.9 1.2 3.7 1 5.8 0 2.1-.8 3.2-1 6.3 1.1 3.3 2.2 5.7 2.6 7.4 2.5 0 0-3.5 1.4-7.5 1.6q-5.8.6-6.7 1.6s2.3 1.5 2.8 3.2c0 0 2.6-.3 3.8.2 0 0-.6 1.9 1 2.9s2.7 1.4 1.5 2.7 1.9.8.1 2.7-2.1 3-2.2 4.5c0 1.6.4 1.8-1.1 2-1.6.1.2 1.9-.5 4-.7 2-5 1.7-4.8 7.2 0 0 1.2-2.7 3.8-5 2.5-2.4 2.6-2.6 2.5-4 0-1.4-.1-1.1 1.2-2.2 1.4-1-.6-2 .8-3.6 1.3-1.5.2-1.2 1.8-2.7 1.5-1.6-1.5-1.7.2-3.3 1.5-1.6-4-3.5-2.3-4.5 1.5-1 4.3-2.4-5-2.3 0 0 2.3-3.6 10-2.9 0 0-2 1.6-2.2 3l1.6.5s-.4 1.1-1.9 2.3c0 0 4.2 2.3 4.9 3.8 0 0-2.6.8-3.3 1.8 0 0 1.2 1.3 1.6 3 0 0-2.9-.4-3.2 1.7s-1.3.7-1.3 2 .1 1.7-.9 2c-1 0-.1 1.1 0 1.8.2.7.6 2.3.4 2.8 0 0-1.5 0-2.1.2 0 0 .4 3-1.3 3.5s1 1-.9 1.3-1.5.5-3.7 4.5c0 0 1.9-1 3.8-2.4 2-1.3-.2-1 3-4 3.3-3.3 2.7-3.5 2.4-5.1-.2-1.6-.3-3 .9-4.5s1.5-3.2 5.7-3c0 0-1.2-2.8-2.7-3.5 0 0 2-1.3 4-1.5 0 0-1.8-2.3-5.6-4.4 0 0 3-2.6 3.9-3.9 0 0-1.5.3-2.7 0 0 0 .6-1.3 3.4-3.1 0 0 1.5 1.4 1.4 2.9 0 0 4.8-2.7 7.5-2.4 0 0 1.4 3.4-5.3 10 0 0 4.2.3 6 0 0 0-1 3.2-6 5-5 2 1 4.2-4.1 3.8s-3.5 1.3-3.4 3.9.3 5.3.2 6c0 0-4-1.3-4 2.6.1 4-2 4.8-2.5 5.1 0 0-1.2-1-3-1.7 0 0-2.5 4.9-6.5 7.7"/>
<path fill="#7b3c20" d="M547.4 220.5s1.4-.2 3.8 1.2c2.3 1.5 4.6-1.5 2-2.3s0-1.8 2.4.2c2.4 1.9 3.3.9 4.2.3.8-.7 1.9-1.1.3-2.2s1-.6 2.3.3c1.2.7.7 1.5.6 1.7-.2.2-.3 2.9 2 .5 2.4-2.5 3.7-4.8 3.6-6 0 0 1.3.8 1.5 2.3s2-.8 2.6-1.6 1.6-3 1.5-4.4c0 0 1.6 2.5 4 0s1.4-1 4.2-1.7a18 18 0 0 0 8.5-5.2c2-2.5 2.1-.8 4.6-1.4s7.7-4.2 8.2-6.1.3-3.1-.4-2.4c-.7.6-.4 0-1.5-.6s-2.7.9-2.7.9 1.6 1.2.3 1.7c-1.2.6-2.3 2.3-4.6 1.6s-4.8 2.2-4.8 2.2 2 1.6-.7 2.7c-2.7 1-2.3 1.4-3.9.2 0 0-2.9 3.7-4.6 4.5 0 0-.7 0-1.2-.8 0 0-2 2.1-2.8 2.5 0 0-1.3-1-2.3-1.5 0 0-2.3 2.9-4.2 3.7 0 0-.6-1-1.8-1.7 0 0-.6 3.6-4.6 5.8 0 0 .2-1-1.8-2.3 0 0-5 4.3-6.9 4.7s-.2-.9 0-1.5c.4-.5 1.6-2.3-.8-3s-2 .5-2.5.7-.6-.4-2.2-.2-1.3.9-2 1.2c-.8.2-3.6-.5-3.4 1.4.1 1.8 1.5 3.1-1 4.2-2.5 1 1 .8 4.1.4"/>
<path fill="#5a3719" d="M557.5 215.3s.6-2.5-1.5-3.5c0 0 13.2-2.1 3.2-7.2 0 0 11.9-2.3 9-6.1-2.7-3.8-5.4-3-5.8-3s2.5-2.1 3.3-1.8 10.2 3.9 7.8.7c-2.4-3-2.2-2.9-2.6-3.8 0 0 3.1 0 7.9 4.6 0 0 1-1 .9-2.9 0 0 3.3 1 4.4 2 0 0 .6-1.2.3-1.8 0 0 3 1.5 4 3.2 0 0 1.3-1.2 1.5-2.6 0 0 3 1.3 3.7 2.2 0 0 1-1.3.6-3 0 0 4.9 1.3 5.5-1.6 0 0 4.9 1 1.7 2.9-4 2.5-.4-.6-4.6 2.3-3.2 2.3-5 4.9-6.6 4.4-1.1-.5-2.5 2.9-4 1.3-1.5-1.7-1.5-1-2.7.7a25 25 0 0 1-2.8 3.5s-.8-.5-1.6-1.2c0 0-.8 1.6-2 2.8 0 0-1-1.3-2.6-2 0 0-2.3 2.7-3.8 3.7 0 0-1.4-1.4-2.9-1.9 0 0-.2 3.8-3.1 5.7 0 0-.6-1.2-2.6-2 0 0-1.4 2.3-4.6 4.3z"/>
<path fill="#5a3719" d="M550.6 209.5s-1.6 1.2-.6 2.5 1.1-.2 2.4-.3c1.3-.2 17.5-3 2.8-7.3 0 0 .7-.6 3.1-.8 2.6-.3 11.8-2.7 7.5-6s-7.9 1.1-4.3-2.8c3-3.1.6-4.6.6-4.6s-8.5 5.6-10.4 6.7c-1.8 1-4.6 3-1.4 4 3.3 1 5.4-3.4 5.7-2.4s-6.4 4.8-5.4 6.4c.9 1.8.7 3.3 2.4 2.9s6 .8 2.5.7c-3.7-.1-5 1-5 1z"/>
<path d="M556.4 201.3s-1.5 1.1.5.6 5.9-1.4 5.2-2.4-3.4.2-5.7 1.8"/>
<path fill="#7b3c20" d="M582.4 184.5s7.5-.2 10.5 1.9q4.3 3.1 5.5 3.8s-.1 2.8-5 .7c0 0 .4 1.4-.2 2.8 0 0-1.7-1.2-3.8-1.7 0 0-.4 1-1 1.7 0 0-2.1-2.2-4.6-2.9 0 0-.4 1.1-.8 1.6 0 0-2.6-1.6-4.6-1.6 0 0 .4 1.7 0 2.3 0 0-5.4-4.3-10.3-3.8 0 0 2.3 3.5 3.8 5.1 0 0-9.8-.7-8-6 1.5-5.3-.2-4 6.2-4z"/>
<path fill="#5a3719" d="M536.3 199.1s-1.1 1 0 1.7c1.1.8 5-2 5.5-2.4s2-.4 0 1.1-3.8 3-5 4.6c0 0 6.4-1.8 10.6-5.4 4.3-3.7-.1-1.3 7-4.8 7.3-3.5 11.1-9.1 7.2-8.5s-7.3 5-10.4 6.7c-3 1.7-4.7 2-4.2 1s2.7-.6 6.9-4c4.1-3.3 3.2-3 3.2-4.2s-1.5-4 4.7-7.4c6.2-3.3 25.6-14.5 27.3-18.5 0 0-5.7.6-13.2 6.1a70 70 0 0 1-13.4 8.8c-2 .8-1.8.2-3.1 1.9a172 172 0 0 1-10.1 9.8c-1.3 1-1.8 1.6-1.9 3.8 0 1-8.4 7.3-11 9.7z"/>
<path fill="#5a3719" d="M562 184.3s-1.5.6-3 0c-1.3-.7-.8-3.6 2.5-5.5a50 50 0 0 1 12.6-4.8s-.5 3.8-10.1 7.1c0 0 .6 2-2 3.2"/>
<path fill="#aa5323" d="M565.4 181.8s.3 1 0 1.8c0 0 17.9 1.7 27.1-9.2 0 0-12.7 1.2-17.7 4.3 0 0 3.2-4 12.7-7.3s13.4-7.4 14.2-9.7c0 0-12 4.3-17.7 4.3 0 0-1.2 0-2.3.5-1.1.7-8.8 6.2-10.8 7.2 0 0 4.3-.4 5.9-1.8 0 0-3 8-11.4 10z"/>
<path fill="#5a3719" d="M531 192s-2.3 1.7-1.3 2.4c1 .9 2.6 1 6-1.9 3.6-3 12.1-10.2 6.8-10.5 0 0-7-.4-6.7 3.8s-4.4 6-4.8 6.2m-15.9-2.5s4.6 2.7 2.8 4.9c0 0 14-11.8 10-14.4-3.8-2.6-6.9 2.3-6 2.7 1 .6 3-.4 2.3.6a77 77 0 0 1-9 6.2zm-3.6-3.8s3 1 3.2 2.3c.1 1.2 9.2-6.4 6.8-9.7-1.1-1.5-6-2-6.4.8-.2 3 4.6-.3 3 1.8-2.2 2.7-5.9 4.4-6.6 4.8m32.6-6.4s-1.9 1.4-.1 2.3c1.8.7 2.8-.6 3.7-1.3s5.3-4 6.2-6 2.5-2.7 4.1-3.7 12.6-6.6 19.5-12.7c6.8-6.1 4-4.5 11-8.4s11.7-7.5 13.2-11.8c0 0-3.3 1-6.2 3l-10.7 6.5c-1.3.5-3 .6-4 1.6s-1 2.3-4.3 5c-3.5 2.9-21 15.3-23.2 17z"/>
<path fill="#aa5323" d="M530 183.4s2-1 5.6-.8 17.8-13.6 22-16.3a342 342 0 0 0 18.7-13.8c1.8-1.8 2-3.6 3.6-4.6 1.5-1 3-.9 6.4-2.9s20.3-12 19.3-17.8c0 0-25 15-30.7 19.8a375 375 0 0 1-24.7 17.7c-2.8 1.9-5 5-9.9 8.8-4.7 3.9-9.5 7.2-10.3 10z"/>
<path fill="#aa5323" d="M524.8 178s4.6-.4 5.2 1.9c0 0 10-6.8 12.2-9.6s-.8-1.2 4.9-4.9a594 594 0 0 0 27-19.1c2.7-2.3 7.8-5.5 11.9-8.2 4-2.8 19.9-10.6 18.1-17l-14.2 9.5c-2.7 1.8-3.9.8-6.5 2.9s-8.5 6.3-9.5 7.6a161 161 0 0 1-14.4 11c-4.4 3-14.1 8.6-18.9 12.8l-15.8 13.2z"/>
<path fill="#aa5323" d="M510.4 176.8s2.3 0 3.1.9c0 0 4.3-3.9 8.9 0 0 0 16.8-11.5 18.5-14.4 1.7-2.8 4.5-2.9 11-7.6 6.6-4.8 10.7-6.9 15-10.2 4.4-3.4 8.1-7.3 11.2-9.3s11-7.2 9.8-11.7c0 0-6.5 3.6-10.6 8.2-4.2 4.6-3.8.7-8.1 4.5a83 83 0 0 1-16.3 11.7c-5.5 2.7-2.2 2.4-6.2 5-3.9 2.5-3.6 2-5 2.5a10 10 0 0 0-5.1 3c-1.6 1.7-5.4 4-9.6 6.5a107 107 0 0 0-16.6 10.9"/>
<path fill="#aa5323" d="M515.5 168s-1-1.9.7-3.3 4.6-4.8 5-7 .1-1.9 4.8-3.8a188 188 0 0 0 38.2-21.6c1.8-1.5 6.4-4.6 8.3-6.2 0 0 .8 2.5-1.2 4.2a222 222 0 0 1-21.5 14.9 77 77 0 0 0-9.6 5.5c-1.9 1.6-1.6 2-10.2 6.3-8.5 4.1-9 4.6-8.7 4.9s4.2-1.3 6-2.4 8.8-4.3 11-6a69 69 0 0 1 7-5 296 296 0 0 0 18-11.2c3.5-2.7 4.5-3.5 5.3-3s2 .4.4 2-6.7 6-8.7 7.3-8.1 5-9.8 5.8c-1.7 1-2.4 2.5-3.4 3.2s-3.7 2.7-7 3.5-4 3.3-6.3 4.8c-2.3 1.4-18 10-18.5 10.3 0 0 .9-1 .2-3.2"/>
<path fill="#aa5323" d="M570.3 132.4s-.9.8-.4 1.2c.6.6 2.8 2.2 5.6-.6a107 107 0 0 1 12.5-10c2.3-1.5 3.6-2.8 3.5-4.7 0 0-11.4 6-21.2 14.1m15.6-1s1.7-2.9 6-5.7c4.3-2.7 10.8-6.7 11.5-7.6 0 0 1.6 1.7-1.7 3.8l-10.8 7c-.7.7-2 1.6-5 2.5"/>
<path fill="#7b3c20" d="M499 163s-4.8 2.6-3.1 4.2c1.7 1.5 4.2 1 5.4.6l3.2-1c.4 0 4.5-1.3 5.6-3.2s3.8-4.2 6-5.8 3-3.2 2.7-4.3zm-28.4 22s3.4-2 8-.7c0 0-.2-1.1-1-1.7 0 0 5.7-1.5 6.9-4s1.5-2 2.5-2.6c1.2-.8 8.7-6.8 7.8-8.1s-1-3.1-1.7-3.7c0 0-1.5 2.1-9 5.7-7.2 3.6-15.4 6.2-21.4 14.2s-5.3 12.6 2 14.7c0 0 5-3.2 17.6-2.1 12.4 1.1 16.6 5.8 17.4 6.6.8.9 3.3 4 .9 9.1 0 0 2.5 1.1 2.6-1.3.3-2.3.4-1.8 1-1.5s1.3.5 1-1.4a18 18 0 0 0-2.3-7.2c-1.1-1.5.2-.8.9-.6s3.3 2.5 1.8-1.5c-1.5-3.8-2-2-2-1.8 0 .3-.4 1.2-3.8-1.4a27 27 0 0 0-8.8-4.4c-2.3-.6-.7-.6.7-1 1.4-.6 3.1-.8 3.8-2.4 0 0-1.4.3-3.8-.6a13 13 0 0 0-11.5 2s1.2-4.5-2.5-4.3c-3.6.3-6.2.2-10 3.2 0 0-.3-4.6 3.4-7s3.2-1 5.2-1.6 2.3-2.7 1.4-3.4c0 0 4.8.9 12.8-5.8 0 0-4.3 5.7-9.5 6.8 0 0-.9 3-5.7 3.7s-4.6 3.4-4.6 4.1z"/>
<path fill="#5a3719" d="M457 212.7s2.2-14.1 15.5-15.1c11.4-1 15.1.5 17.4 1.3s8 2.4 5.8 4.2-3.5 1.5-3.5 1.5 2.5-2.9.2-3.3c-2.3-.5-2.4.9-2.7 2-.4 1.3-.5 2.6-1.6 3.6 0 0-1.2-1.4-2.9-.2s-.2 1.2.5 1 1.5-.5 1.3.5-1 2.8-3.8 4.2-2.6 1.3-5.8 1.9c-3.3.5-6.3 1.8-10.5 5.3-4.2 3.6-8.7 2.4-9.6-1.5-.8-3.4-.4-5.4-.4-5.4z"/>
<path d="M472 212.2s1.2-2.7-1-4c0 0-6.9 1.2-9-.9 0 0 7.5-.4 12.2-2.3 4.6-1.7 3.3-3 1.7-3.4s-4.6.5-4.9 2c0 0-1-1.6.2-2.6a5 5 0 0 1 4.7-.8c1.7.4 3.1 1.2 8.6-1.6 0 0 3.1.7 3.3 2.8 0 2.2-.3 3-.6 3.3q-.3.8-1.3 1c-.6-.2-1.5-.3-2.3 1.2a9 9 0 0 1-2.6 3.7s1.5-4.6-2.5-5.7c0 0-3.3 2-5.8 2.1 0 0 3.2 3-.8 5.2z"/>
<path fill="#5a3719" d="M479.3 203.8s-1.6-1.6.4-1.9c2-.1 4.6 1.4 4.2 2.7-.6 1.2-3 1.1-4.6-.8"/>
<path fill="#fff" d="M592.6 181.6s-3.7 1-.2 3.3c3.4 2.3 5 4.2 7.5 4.8 2.5.7 5 1.5 5 4s-.5 3.5-1.9 5.2.8 2.4 2.6 1.5l4.5-2.2c1.1-.7 3-.6 1.4.3-1.9 1-3.7 1.5-1.4 1.5 2.3.1 16.2.4 19.1-.6s6.8-1.2 7-5c0 0 .2-1.6 1.3-2.4 1-.7 1.8-2.3.2-1.2q-2.4 1.8-3 1.3c-.3-.3-.5-.6.7-1.1s1.8 0 2.9-1.5c1-1.6 1-1.4.4-2s-1.8-1-1.2-1.8 1.2-3-1.4-1.7-7.6 4.8-10 5.3c-2.2.5-4 1.2-7.1 1.8s-5 1.4-8.5 3.3c-3.3 1.8-3-1.1-2.5-1.5 0 0 1.3 2.3 4.7-.7 3.4-2.9 2.3-.1 10.6-2.9s6.3-3.1 9.5-4.8 6.4-1.8 4-4c-2.2-2.4-2.4-2.5-5.3 0a35 35 0 0 1-16 6.4s18.8-8 16.9-9.2a21 21 0 0 0-5.3-2.5c-1.3-.3-1.7-.6-4.7.8s-3.5 1.6-4.3 1.7q-1.6-.1-7 2.4c-3.6 1.9-5.5 2.6-8 4 0 0 1.7-3.3 9.1-5.5s11.1-4.2 10.4-4.6-2.7-.8-4-.5c-1.5.3-1-.1-5.6 1.7s-2.6 1.4-6.2 2.2c-3.7.7-5.1 1.5-6.9 2.3 0 0 .8-1 3.1-1.9 1.3-.4-1.3-.9 2.2-1h1a32 32 0 0 0 8.6-3.3c-.7-.1-5.1-.6-9.5 1.6-4.5 2-2.5 1.3-4 1.5-1.6.4-5 2.4-6 3.4-1.1.9-2.7 1.5-2.7 1.5z"/>
<path fill="#5a3719" d="M482.7 201.8s1.8.5 2.2 1.8c.5 1.2 1.6-.6 1.6-1.1-.1-.6-1.2-3-3-1.9-2 1.1-1 1.1-.8 1.2"/>
<path fill="#7b3c20" d="M477.9 226s3.7-1.8 6.9-1.5c0 0-1.3-4.4.9-3.7 2.1.8 1.5.4 2 .4 0 0 .1-2.9-.5-4 0 0 2.3.5 4.6.5 0 0-2.2-4.1.2-7a7 7 0 0 0 4.2 3.4v-2.3s1.7-.3 3 .4c1.4.8 2.5-7.6-1.5-9.3 0 0-1 1.5-4.7 2.3s-3.7 1.5-5.2 4.3-3 2.9-6.2 5c-3 2-5 6-5 6.4 0 0 1.5 2 1.3 5.1"/>
<path fill="#999" d="M603.1 177.8c1.3-.2-1.4-.9 2-1h1a32 32 0 0 0 8.7-3.3c-.7-.1-5.1-.6-9.5 1.5s-2.5 1.4-4 1.7c-1.6.3-5 2.3-6 3.3-1.1.9-2.7 1.5-2.7 1.5s-3.7 1-.2 3.4c3.4 2.3 5 4.2 7.5 4.8 2.5.7 5 1.5 5 4a7 7 0 0 1-1.9 5.2c-1.3 1.7.8 2.4 2.6 1.5l4.5-2.2c1.1-.7 3-.6 1.3.3-1.8 1-3.6 1.5-1.3 1.5 2.3.1 16.2.4 19.1-.6s6.8-1.2 7-5c0 0 .2-1.6 1.3-2.4 1-.7 1.8-2.3.2-1.2-1.5 1.1-2.8 1.7-3 1.3s-.5-.6.7-1.1 1.8 0 2.9-1.5c1-1.6 1-1.4.4-2l-1-.9s-.9-.7-1.9-.1a28 28 0 0 1-7 2.7q-2.2.2-6.5 2.4c-4.3 2.2-8.2 4.6-9 1.7l-2.8 1c-3.4 1.8-3-.7-2.5-1.4 0 0-1.8 2-1.7.2 0-1.8 1.2-1.5 3.3-2.1s5-2 3.8-3-2.7 1-4.2 1.8c-1.4.7-4.3 1.2-4.8-.9s-.4-3.6-4.3-3.8c-4-.2-3.9-2.7-2.8-3.8s2-2.8 5.7-3.5z"/>
<path d="M615.6 196.9s6.1-2.8 11.7-4.1c5.7-1.3 1.2.2.3.4-1 .3-9.7 3.2-11.8 4.2-2 1-1.7.2-.2-.4zm1.4 1.3s6.9-2.3 8.2-1.4c1.3 1 .2.6-1.3.8-1.6.1-5.7.8-6.8.8s-.1-.2-.1-.2m11-2.5s1.4-.2 1.5.4c.1.4-.6.5-1.3.4s-1.3-.5-.1-.8z"/>
<path fill="#fff" d="M446 255.9s-.3-6.2 2.8-9.2 17.8-18.5 20.1-22.8c0 0 2 1.3 2 3.8 0 0 2.5-4.3 4.5-6 0 0 1.7 1.8 1.5 5.4 0 0 3.5-1.9 9-1.9 0 0-2 2.4-2.1 3.9 0 0 7.6-1 11.7-.3 0 0-10.6 6-7.7 6.5 3.1.5 6.2 0 6.2 0s-3.4 3.3-8.8 4c0 0 6.9 0 8.2 1.5 0 0-6.6 1-12 5 0 0-.4-.2-.4-1.7 0 0-.3 1.4-1.8 2.7-1.5 1.2-5.1 4-6.5 5.3s-3.8 4-6.6 4c0 0 .6-2.1-1.4-2.8a6 6 0 0 0-6 1.5s-7 .1-9.4.5c0 0 1.6-2.6 3-2.6 1.6 0 7.6 1 8.1-3.2.6-4-3.8-3-2.2-5.4 1.7-2.4 1.3-2.2 1.4-2.6 0 0-1.4.8-2.2 3a11 11 0 0 1-4.2 6 15 15 0 0 0-4.8 5s-1.3 0-2.4.4"/>
<path fill="#fff" d="M452.8 252.2s.3-.8 2.3-1.2c2.2-.3 2.3-1.3 2-1.8s-1.5-.4.5-2.8c0 0 .8.3 1.2.8.6.6 2.9 5.5-6 5"/>
<path fill="#999" d="M447.9 247.9c0 4 5.3 2.5 5.3 2.5a21 21 0 0 0-3.8 3.6c.4-2-3-2.5-3-2.5a12 12 0 0 1 1.5-3.6m19.3-21.5 1.7-2.5s2 1.3 2 3.8c0 0 2.5-4.3 4.5-6 0 0 1.7 1.8 1.5 5.4 0 0 3.5-1.9 9-1.9 0 0-2 2.4-2.1 3.9 0 0 7.6-1 11.7-.3 0 0-10.6 6-7.7 6.5 3.1.5 6.2 0 6.2 0s-3.4 3.3-8.8 4c0 0 6.9 0 8.2 1.5 0 0-2 .3-4.6 1.2 0 0-1.9-1.8-7.6-1.5 0 0 4.4-2.6 8-3.4 0 0-1.6-2-4-.1 0 0-4.9-3.3-.8-6.2 0 0-2.8-.5-4.7.8 0 0 0-2.3 2.1-3.3 0 0-5.4-1-6.7 3 0 0-1-1.5-.5-3.4 0 0-3.3 1.9-4.8 4 0 0-.5-4-2.6-5.5M456.8 252q-1.4.3-4 .2-.2-.1 1.3-1s.4.8 2.7.8"/>
<path d="M466.6 236.7s2.5 2 3.3 3c0 0 2.3-1.4 3-2.7 0 0 1.9 1.1 2.4 2.8 0 0 1.3-.8 1.5-2 0 0 3 .6 4.2 1.6 0 0 .4-3 0-4.8 0 0 2.1.2 3.4.7 0 0-1.2-2 5-4.5 0 0-4.7 1.1-6.5 3 0 0-2 .2-2.9-.4v4.5s-1.2-.6-3.5-1.1c0 0-.6 1-1 1.2 0 0-1.5-1.2-2.1-2.7 0 0-2.3 2.1-3 3 0 0-2.3-1.6-3.8-1.6"/>
<path fill="#ffc221" d="M452.5 267.3s1 .4 3.3-1.4 8.7-5.9 9.2-9.2c.7-3.3-2-3.4-4-2.5-2.2 1-1.3 2.7-1.2 3.4 0 .6.2 2.9-3.3 6z"/>
<path fill="#ffc221" d="M451.9 268.3s-5.2-2.2-.6-4.5 6.7-2.9 7.2-4.9c.6-1.9.2-1.5-1.5-.7-1.7.7-8.2 3.8-9.2 1 0 0 2.7 1 6-.6 3.4-1.7 6.2-2.1 4-2.8a37 37 0 0 0-11 .5c-1.4.4-1 .3-1.3 1.6-.2 1.3-1.6 4-2.2 4.7-.5.8-1.8 4 .6 5.5a9 9 0 0 0 8 .2"/>
<path d="M449.9 257s-1.3.2-1 .7q.3.6 1 .4c.3 0 1-.2 1.1-.5 0-.3-.8-.7-1.1-.5z"/>
<path fill="#fff" d="M451.5 267.1s-2.4-1.1.4-2.6 5.6-3 6-3.6c0 0-1.3 1.9-6.4 6.2"/>
</svg>

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="flag-icons-asean" viewBox="0 0 640 480">
<path fill="#0039a6" d="M0 0h640v480H0z"/>
<circle cx="320" cy="240" r="144" fill="#fff"/>
<circle cx="320" cy="240" r="137.3" fill="#ed2939"/>
<use xlink:href="#asean-a" transform="matrix(-1 0 0 1 640 0)"/>
<g id="asean-a" fill="#f9e300">
<path d="M357 240c24-14.4 35-43.2 35-72h-11v1c0 9.6-1.5 44.6-27.9 71a106 106 0 0 1 27.9 71v1h11c0-28.8-11.5-57.6-35-72"/>
<path d="M377.6 169v-1h-11.5v1.4c0 9.6-2 43.2-20.7 70.6 19.2 27.4 20.7 61 20.7 70.6v1.4h11.5v-1c0-9.6-2.4-44.6-27.8-71a106 106 0 0 0 27.8-71"/>
<path d="m341.1 240 1-1a130 130 0 0 0 20.1-69.6V168h-10.5v2c0 10-1.5 42.2-14.4 70a182 182 0 0 1 14.4 70v2h10.5v-1.4c0-9.6-1-39.9-20.1-69.6"/>
<path d="M333.4 240a178 178 0 0 0 14.4-72h-11v3.4c0 12-1 41.2-7.2 68.6a336 336 0 0 1 7.2 68.6v3.4h10.6v-2c0-10-1-43.1-13.5-69.5"/>
<path d="M325.8 240a331 331 0 0 0 6.7-68.6V168h-10.6v144h10.6v-3.4c0-11.5 0-41.2-6.7-68.1"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-at" viewBox="0 0 640 480">
<path fill="#fff" d="M0 160h640v160H0z"/>
<path fill="#c8102e" d="M0 0h640v160H0zm0 320h640v160H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 195 B

View File

@@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-au" viewBox="0 0 640 480">
<path fill="#00008B" d="M0 0h640v480H0z"/>
<path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/>
<path fill="red" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/>
<path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/>
<path fill="red" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/>
<path fill="#fff" d="m527 396.7-20.5 2.6 2.2 20.5-14.8-14.4-14.7 14.5 2-20.5-20.5-2.4 17.3-11.2-10.9-17.5 19.6 6.5 6.9-19.5 7.1 19.4 19.5-6.7-10.7 17.6zm-3.7-117.2 2.7-13-9.8-9 13.2-1.5 5.5-12.1 5.5 12.1 13.2 1.5-9.8 9 2.7 13-11.6-6.6zm-104.1-60-20.3 2.2 1.8 20.3-14.4-14.5-14.8 14.1 2.4-20.3-20.2-2.7 17.3-10.8-10.5-17.5 19.3 6.8L387 178l6.7 19.3 19.4-6.3-10.9 17.3 17.1 11.2ZM623 186.7l-20.9 2.7 2.3 20.9-15.1-14.7-15 14.8 2.1-21-20.9-2.4 17.7-11.5-11.1-17.9 20 6.7 7-19.8 7.2 19.8 19.9-6.9-11 18zm-96.1-83.5-20.7 2.3 1.9 20.8-14.7-14.8-15.1 14.4 2.4-20.7-20.7-2.8 17.7-11L467 73.5l19.7 6.9 7.3-19.5 6.8 19.7 19.8-6.5-11.1 17.6zM234 385.7l-45.8 5.4 4.6 45.9-32.8-32.4-33 32.2 4.9-45.9-45.8-5.8 38.9-24.8-24-39.4 43.6 15 15.8-43.4 15.5 43.5 43.7-14.7-24.3 39.2 38.8 25.1Z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@@ -0,0 +1,186 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-aw" viewBox="0 0 640 480">
<defs>
<clipPath id="aw-a">
<path fill-opacity=".7" d="M0 0h288v216H0z"/>
</clipPath>
</defs>
<g clip-path="url(#aw-a)" transform="scale(2.2222)">
<path fill="#39c" d="M0 0v216h324V0z"/>
<path fill="#ff0" d="M0 144v12h324v-12zm0 24v12h324v-12z"/>
</g>
<path fill="#9cc" d="m142.7 28 2.9 3zm-3 6 3 3zm5.9 0 3 3z"/>
<path fill="#ccf" d="m139.7 37 3 2.9-3-3m5.9 0 3 3z"/>
<path fill="#6cc" d="m136.7 42.8 3 3z"/>
<path fill="#c66" d="m142.7 42.8 2.9 3z"/>
<path fill="#6cc" d="m148.6 42.8 2.9 3z"/>
<path fill="#ccf" d="m136.7 45.8 3 3zm11.9 0 2.9 3z"/>
<path fill="#fcc" d="m139.7 48.7 3 3zm5.9 0 3 3z"/>
<path fill="#6cc" d="m133.8 51.7 3 3z"/>
<path fill="#c00" stroke="#fff" stroke-width="3.7" d="m142.2 34-20.7 78.5L42.8 134l78.4 20.5 21 78.4 20.9-78.4 78.4-21-78.4-20.9-21-78.4z"/>
<path fill="#6cc" d="m151.5 51.7 3 3z"/>
<path fill="#9cf" d="m133.8 54.6 3 3zm17.7 0 3 3z"/>
<path fill="#fcc" d="m136.7 57.6 3 3zm11.9 0 2.9 3z"/>
<path fill="#69c" d="m130.8 60.5 3 3z"/>
<path fill="#c33" d="m137.7 62.5 1 2zm11.8 0 1 2z"/>
<path fill="#69c" d="m154.5 60.5 3 3z"/>
<path fill="#9cf" d="m130.8 63.5 3 3zm23.7 0 3 3z"/>
<path fill="#fcc" d="m133.8 66.4 3 3zm17.7 0 3 3z"/>
<path fill="#69c" d="m127.9 69.4 3 3zm29.5 0 3 3z"/>
<path fill="#9cc" d="m127.9 72.3 3 3zm29.5 0 3 3z"/>
<path fill="#cff" d="m127.9 75.3 3 3zm29.5 0 3 3z"/>
<path fill="#69c" d="m125 78.3 2.9 2.9z"/>
<path fill="#fcc" d="m130.8 78.3 3 2.9zm23.7 0 3 3z"/>
<path fill="#69c" d="m160.4 78.3 3 2.9z"/>
<path fill="#9cc" d="m125 81.2 2.9 3z"/>
<path fill="#c33" d="m131.8 83.2 1 2zm23.6 0 1 2z"/>
<path fill="#9cc" d="m160.4 81.2 3 3z"/>
<path fill="#cff" d="m125 84.2 2.9 3zm35.5 0 3 3z"/>
<path fill="#fcc" d="m127.9 87.1 3 3zm29.5 0 3 3z"/>
<path fill="#9cc" d="m122 90 3 3z"/>
<path fill="#c33" d="m128.9 92 1 2zm29.5 0 1 2z"/>
<path fill="#9cc" d="m163.3 90 3 3z"/>
<path fill="#ccf" d="m122 93 3 3zm41.3 0 3 3z"/>
<path fill="#fcc" d="m125 96 2.9 3zm35.5 0 3 3z"/>
<path fill="#9cc" d="m119 99 3 2.9z"/>
<path fill="#c33" d="m126 100.9.9 2zm35.4 0 1 2z"/>
<path fill="#9cc" d="m166.3 99 3 2.9z"/>
<path fill="#ccf" d="m119 101.9 3 3zm47.3 0 3 3z"/>
<path fill="#fcc" d="m122 104.8 3 3zm41.3 0 3 3z"/>
<path fill="#9cc" d="m116 107.8 3 3z"/>
<path fill="#c33" d="m122 107.8 3 3zm41.3 0 3 3z"/>
<path fill="#9cc" d="m169.2 107.8 3 3zm-62 3 3 2.9z"/>
<path fill="#ccf" d="m110.2 110.7 3 3zm65 0 2.9 3z"/>
<path fill="#9cc" d="m178 110.7 3 3zm-79.6 3 3 3z"/>
<path fill="#ccf" d="m101.3 113.7 3 3z"/>
<path fill="#fcc" d="m113.1 113.7 3 3z"/>
<path fill="#c33" d="m116 113.7 3 3zm53.2 0 3 3z"/>
<path fill="#fcc" d="m172.2 113.7 3 3z"/>
<path fill="#ccf" d="m184 113.7 3 3z"/>
<path fill="#9cc" d="m187 113.7 2.9 3z"/>
<path fill="#69c" d="m86.6 116.6 3 3z"/>
<path fill="#9cc" d="m89.5 116.6 3 3z"/>
<path fill="#cff" d="m92.5 116.6 3 3z"/>
<path fill="#fcc" d="m104.3 116.6 3 3z"/>
<path fill="#c33" d="m109.2 117.6 2 1zm67.9 0 2 1z"/>
<path fill="#fcc" d="m181 116.6 3 3z"/>
<path fill="#cff" d="m192.8 116.6 3 3z"/>
<path fill="#9cc" d="m195.8 116.6 3 3z"/>
<path fill="#69c" d="m198.7 116.6 3 3zm-121 3 3 3z"/>
<path fill="#9cc" d="m80.7 119.6 3 3z"/>
<path fill="#cff" d="m83.6 119.6 3 3z"/>
<path fill="#fcc" d="m95.4 119.6 3 3z"/>
<path fill="#c33" d="m100.3 120.6 2 1zm85.6 0 2 1z"/>
<path fill="#fcc" d="m189.9 119.6 3 3z"/>
<path fill="#cff" d="m201.7 119.6 3 3z"/>
<path fill="#9cc" d="m204.6 119.6 3 3z"/>
<path fill="#69c" d="m207.6 119.6 3 3zm-138.8 3 3 2.9z"/>
<path fill="#9cf" d="m71.8 122.5 3 3z"/>
<path fill="#fcc" d="m86.6 122.5 3 3z"/>
<path fill="#c33" d="m91.5 123.5 2 1zm103.3 0 2 1z"/>
<path fill="#fcc" d="m198.7 122.5 3 3z"/>
<path fill="#9cf" d="m213.5 122.5 3 3z"/>
<path fill="#69c" d="m216.4 122.5 3 3z"/>
<path fill="#6cc" d="m60 125.5 3 3z"/>
<path fill="#9cf" d="m63 125.5 2.9 3z"/>
<path fill="#fcc" d="m74.8 125.5 2.9 3zm135.8 0 2.9 3z"/>
<path fill="#9cf" d="m222.3 125.5 3 3z"/>
<path fill="#6cc" d="m225.3 125.5 3 3zm-174.2 3 3 2.9z"/>
<path fill="#ccf" d="m54 128.4 3 3z"/>
<path fill="#fcc" d="m65.9 128.4 3 3z"/>
<path fill="#c33" d="m70.8 129.4 2 1zm144.7 0 2 1z"/>
<path fill="#fcc" d="m219.4 128.4 3 3z"/>
<path fill="#ccf" d="m231.2 128.4 3 3z"/>
<path fill="#6cc" d="m234.2 128.4 3 3z"/>
<path fill="#9cc" d="m42.3 131.4 3 3z"/>
<path fill="#ccf" d="m45.2 131.4 3 3z"/>
<path fill="#fcc" d="m57 131.4 3 3zm171.3 0 3 3z"/>
<path fill="#ccf" d="m240 131.4 3 3z"/>
<path fill="#9cc" d="m243 131.4 3 3zm-206.6 3 3 2.9z"/>
<path fill="#c66" d="m51.1 134.3 3 3zm183 0 3 3z"/>
<path fill="#9cc" d="m249 134.3 2.9 3zm-206.6 3 3 3z"/>
<path fill="#ccf" d="m45.2 137.3 3 3z"/>
<path fill="#fcc" d="m57 137.3 3 3zm171.3 0 3 3z"/>
<path fill="#ccf" d="m240 137.3 3 3z"/>
<path fill="#9cc" d="m243 137.3 3 3z"/>
<path fill="#6cc" d="m51.1 140.3 3 2.9z"/>
<path fill="#ccf" d="m54 140.3 3 2.9z"/>
<path fill="#fcc" d="m65.9 140.3 3 2.9z"/>
<path fill="#c33" d="m70.8 141.2 2 1zm144.7 0 2 1z"/>
<path fill="#fcc" d="m219.4 140.3 3 2.9z"/>
<path fill="#ccf" d="m231.2 140.3 3 2.9z"/>
<path fill="#6cc" d="m234.2 140.3 3 2.9zm-174.2 3 3 3z"/>
<path fill="#9cf" d="m63 143.2 2.9 3z"/>
<path fill="#fcc" d="m74.8 143.2 2.9 3zm135.8 0 2.9 3z"/>
<path fill="#9cf" d="m222.3 143.2 3 3z"/>
<path fill="#6cc" d="m225.3 143.2 3 3z"/>
<path fill="#69c" d="m68.8 146.2 3 2.9z"/>
<path fill="#9cf" d="m71.8 146.2 3 2.9z"/>
<path fill="#fcc" d="m86.6 146.2 3 2.9z"/>
<path fill="#c33" d="m91.5 147.1 2 1zm103.3 0 2 1z"/>
<path fill="#fcc" d="m198.7 146.2 3 2.9z"/>
<path fill="#9cf" d="m213.5 146.2 3 2.9z"/>
<path fill="#69c" d="m216.4 146.2 3 2.9zm-138.7 3 3 3z"/>
<path fill="#9cc" d="m80.7 149.1 3 3z"/>
<path fill="#cff" d="m83.6 149.1 3 3z"/>
<path fill="#fcc" d="m95.4 149.1 3 3z"/>
<path fill="#c33" d="m100.3 150 2 1zm85.6 0 2 1z"/>
<path fill="#fcc" d="m189.9 149.1 3 3z"/>
<path fill="#cff" d="m201.7 149.1 3 3z"/>
<path fill="#9cc" d="m204.6 149.1 3 3z"/>
<path fill="#69c" d="m207.6 149.1 3 3zm-121 3 2.9 2.9z"/>
<path fill="#9cc" d="m89.5 152 3 3z"/>
<path fill="#cff" d="m92.5 152 3 3z"/>
<path fill="#fcc" d="m104.3 152 3 3z"/>
<path fill="#c33" d="m109.2 153 2 1zm67.9 0 2 1z"/>
<path fill="#fcc" d="m181 152 3 3z"/>
<path fill="#cff" d="m192.8 152 3 3z"/>
<path fill="#9cc" d="m195.8 152 3 3z"/>
<path fill="#69c" d="m198.7 152 3 3z"/>
<path fill="#9cc" d="m98.4 155 3 3z"/>
<path fill="#ccf" d="m101.3 155 3 3z"/>
<path fill="#fcc" d="m113.1 155 3 3z"/>
<path fill="#c33" d="m116 155 3 3zm53.2 0 3 3z"/>
<path fill="#fcc" d="m172.2 155 3 3z"/>
<path fill="#ccf" d="m184 155 3 3z"/>
<path fill="#9cc" d="m187 155 2.9 3zm-79.7 3 3 3z"/>
<path fill="#ccf" d="m110.2 158 3 3zm65 0 2.9 3z"/>
<path fill="#9cc" d="m178 158 3 3zm-62 3 3 2.9z"/>
<path fill="#c33" d="m122 161 3 2.9zm41.3 0 3 3z"/>
<path fill="#9cc" d="m169.2 161 3 2.9z"/>
<path fill="#fcc" d="m122 163.9 3 3zm41.3 0 3 3z"/>
<path fill="#ccf" d="m119 166.8 3 3z"/>
<path fill="#c33" d="m126 168.8.9 2zm35.4 0 1 2z"/>
<path fill="#ccf" d="m166.3 166.8 3 3z"/>
<path fill="#9cc" d="m119 169.8 3 3zm47.3 0 3 3z"/>
<path fill="#fcc" d="m125 172.7 2.9 3zm35.5 0 3 3z"/>
<path fill="#ccf" d="m122 175.7 3 3z"/>
<path fill="#c33" d="m128.9 177.6 1 2zm29.5 0 1 2z"/>
<path fill="#ccf" d="m163.3 175.7 3 3z"/>
<path fill="#9cc" d="m122 178.6 3 3zm41.3 0 3 3z"/>
<path fill="#fcc" d="m127.9 181.6 3 3zm29.5 0 3 3z"/>
<path fill="#cff" d="m125 184.5 2.9 3z"/>
<path fill="#c33" d="m131.8 186.5 1 2zm23.6 0 1 2z"/>
<path fill="#cff" d="m160.4 184.5 3 3z"/>
<path fill="#9cc" d="m125 187.5 2.9 3zm35.5 0 3 3z"/>
<path fill="#69c" d="m125 190.4 2.9 3z"/>
<path fill="#fcc" d="m130.8 190.4 3 3zm23.7 0 3 3z"/>
<path fill="#69c" d="m160.4 190.4 3 3z"/>
<path fill="#cff" d="m127.9 193.4 3 3zm29.5 0 3 3z"/>
<path fill="#9cc" d="m127.9 196.3 3 3zm29.5 0 3 3z"/>
<path fill="#69c" d="m127.9 199.3 3 3zm29.5 0 3 3z"/>
<path fill="#fcc" d="m133.8 202.2 3 3zm17.7 0 3 3z"/>
<path fill="#9cf" d="m130.8 205.2 3 3z"/>
<path fill="#c33" d="m137.7 207.2 1 2zm11.8 0 1 2z"/>
<path fill="#9cf" d="m154.5 205.2 3 3z"/>
<path fill="#69c" d="m130.8 208.2 3 2.9zm23.7 0 3 3z"/>
<path fill="#fcc" d="m136.7 211.1 3 3zm11.9 0 2.9 3z"/>
<path fill="#9cf" d="m133.8 214 3 3zm17.7 0 3 3z"/>
<path fill="#6cc" d="m133.8 217 3 3zm17.7 0 3 3z"/>
<path fill="#fcc" d="m139.7 220 3 3zm5.9 0 3 3z"/>
<path fill="#ccf" d="m136.7 222.9 3 3zm11.9 0 2.9 3z"/>
<path fill="#6cc" d="m136.7 225.9 3 3z"/>
<path fill="#c66" d="m142.7 225.9 2.9 3z"/>
<path fill="#6cc" d="m148.6 225.9 2.9 3z"/>
<path fill="#ccf" d="m139.7 231.8 3 3zm5.9 0 3 3z"/>
<path fill="#9cc" d="m139.7 234.7 3 3zm5.9 0 3 3zm-3 6 3 2.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ax" viewBox="0 0 640 480">
<defs>
<clipPath id="ax-a">
<path fill-opacity=".7" d="M106.3 0h1133.3v850H106.3z"/>
</clipPath>
</defs>
<g clip-path="url(#ax-a)" transform="matrix(.56472 0 0 .56482 -60 -.1)">
<path fill="#0053a5" d="M0 0h1300v850H0z"/>
<g fill="#ffce00">
<path d="M400 0h250v850H400z"/>
<path d="M0 300h1300v250H0z"/>
</g>
<g fill="#d21034">
<path d="M475 0h100v850H475z"/>
<path d="M0 375h1300v100H0z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 556 B

View File

@@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-az" viewBox="0 0 640 480">
<path fill="#3f9c35" d="M.1 0h640v480H.1z"/>
<path fill="#ed2939" d="M.1 0h640v320H.1z"/>
<path fill="#00b9e4" d="M.1 0h640v160H.1z"/>
<circle cx="304" cy="240" r="72" fill="#fff"/>
<circle cx="320" cy="240" r="60" fill="#ed2939"/>
<path fill="#fff" d="m384 200 7.7 21.5 20.6-9.8-9.8 20.7L424 240l-21.5 7.7 9.8 20.6-20.6-9.8L384 280l-7.7-21.5-20.6 9.8 9.8-20.6L344 240l21.5-7.7-9.8-20.6 20.6 9.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 501 B

View File

@@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ba" viewBox="0 0 640 480">
<defs>
<clipPath id="ba-a">
<path fill-opacity=".7" d="M-85.3 0h682.6v512H-85.3z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#ba-a)" transform="translate(80)scale(.9375)">
<path fill="#009" d="M-85.3 0h682.6v512H-85.3z"/>
<path fill="#FC0" d="m56.5 0 511 512.3V.3z"/>
<path fill="#FFF" d="M439.9 481.5 412 461.2l-28.6 20.2 10.8-33.2-28.2-20.5h35l10.8-33.2 10.7 33.3h35l-28 20.7zm81.3 10.4-35-.1-10.7-33.3-10.8 33.2h-35l28.2 20.5-10.8 33.2 28.6-20.2 28 20.3-10.5-33zM365.6 384.7l28-20.7-35-.1-10.7-33.2-10.8 33.2-35-.1 28.2 20.5-10.8 33.3 28.6-20.3 28 20.4zm-64.3-64.5 28-20.6-35-.1-10.7-33.3-10.9 33.2h-34.9l28.2 20.5-10.8 33.2 28.6-20.2 27.9 20.3zm-63.7-63.6 28-20.7h-35L220 202.5l-10.8 33.2h-35l28.2 20.4-10.8 33.3 28.6-20.3 28 20.4-10.5-33zm-64.4-64.3 28-20.6-35-.1-10.7-33.3-10.9 33.2h-34.9L138 192l-10.8 33.2 28.6-20.2 27.9 20.3-10.4-33zm-63.6-63.9 27.9-20.7h-35L91.9 74.3 81 107.6H46L74.4 128l-10.9 33.2L92.1 141l27.8 20.4zm-64-64 27.9-20.7h-35L27.9 10.3 17 43.6h-35L10.4 64l-11 33.3L28.1 77l27.8 20.4zm-64-64L9.4-20.3h-35l-10.7-33.3L-47-20.4h-35L-53.7 0l-10.8 33.2L-35.9 13l27.8 20.4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bb" viewBox="0 0 640 480">
<path fill="#00267f" d="M0 0h640v480H0z"/>
<path fill="#ffc726" d="M213.3 0h213.4v480H213.3z"/>
<path id="bb-a" fill="#000001" d="M319.8 135.5c-7 19-14 38.6-29.2 53.7 4.7-1.6 13-3 18.2-2.8v79.5l-22.4 3.3c-.8 0-1-1.3-1-3-2.2-24.7-8-45.5-14.8-67-.5-2.9-9-14-2.4-12 .8 0 9.5 3.6 8.2 1.9a85 85 0 0 0-46.4-24c-1.5-.3-2.4.5-1 2.2 22.4 34.6 41.3 75.5 41.1 124 8.8 0 30-5.2 38.7-5.2v56.1H320l2.5-156.7z"/>
<use xlink:href="#bb-a" width="100%" height="100%" transform="matrix(-1 0 0 1 639.5 0)"/>
</svg>

After

Width:  |  Height:  |  Size: 628 B

View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bd" viewBox="0 0 640 480">
<path fill="#006a4e" d="M0 0h640v480H0z"/>
<circle cx="280" cy="240" r="160" fill="#f42a41"/>
</svg>

After

Width:  |  Height:  |  Size: 187 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-be" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#000001" d="M0 0h213.3v480H0z"/>
<path fill="#ffd90c" d="M213.3 0h213.4v480H213.3z"/>
<path fill="#f31830" d="M426.7 0H640v480H426.7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 302 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bf" viewBox="0 0 640 480">
<g fill-rule="evenodd">
<path fill="#de0000" d="M640 479.6H.4V0H640z"/>
<path fill="#35a100" d="M639.6 480H0V240.2h639.6z"/>
<path fill="#fff300" d="m254.6 276.2-106-72.4h131L320 86.6 360.4 204l131-.1-106 72.4 40.5 117.3-106-72.6L214 393.4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 353 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bg" viewBox="0 0 640 480">
<path fill="#fff" d="M0 0h640v160H0z"/>
<path fill="#00966e" d="M0 160h640v160H0z"/>
<path fill="#d62612" d="M0 320h640v160H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 225 B

View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bh" viewBox="0 0 640 480">
<path fill="#fff" d="M0 0h640v480H0"/>
<path fill="#ce1126" d="M640 0H96l110.7 48L96 96l110.7 48L96 192l110.7 48L96 288l110.7 48L96 384l110.7 48L96 480h544"/>
</svg>

After

Width:  |  Height:  |  Size: 252 B

View File

@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bi" viewBox="0 0 640 480">
<defs>
<clipPath id="bi-a">
<path fill-opacity=".7" d="M-90.5 0H592v512H-90.5z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#bi-a)" transform="translate(84.9)scale(.9375)">
<path fill="#18b637" d="m-178 0 428.8 256L-178 512zm857.6 0L250.8 256l428.8 256z"/>
<path fill="#cf0921" d="m-178 0 428.8 256L679.6 0zm0 512 428.8-256 428.8 256z"/>
<path fill="#fff" d="M679.6 0h-79.9L-178 464.3V512h79.9L679.6 47.7z"/>
<path fill="#fff" d="M398.9 256a148 148 0 1 1-296.1 0 148 148 0 0 1 296 0z"/>
<path fill="#fff" d="M-178 0v47.7L599.7 512h79.9v-47.7L-98.1 0z"/>
<path fill="#cf0921" stroke="#18b637" stroke-width="3.9" d="m280 200.2-19.3.3-10 16.4-9.9-16.4-19.2-.4 9.3-16.9-9.2-16.8 19.2-.4 10-16.4 9.9 16.5 19.2.4-9.3 16.8zm-64.6 111.6-19.2.3-10 16.4-9.9-16.4-19.2-.4 9.3-16.9-9.2-16.8 19.2-.4 10-16.4 9.9 16.5 19.2.4-9.3 16.8zm130.6 0-19.2.3-10 16.4-10-16.4-19.1-.4 9.3-16.9-9.3-16.8 19.2-.4 10-16.4 10 16.5 19.2.4-9.4 16.8z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View File

@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bj" viewBox="0 0 640 480">
<defs>
<clipPath id="bj-a">
<path fill="gray" d="M67.6-154h666v666h-666z"/>
</clipPath>
</defs>
<g clip-path="url(#bj-a)" transform="matrix(.961 0 0 .7207 -65 111)">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#319400" d="M0-154h333v666H0z"/>
<path fill="#ffd600" d="M333-154h666v333H333z"/>
<path fill="#de2110" d="M333 179h666v333H333z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 499 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bl" viewBox="0 0 640 480">
<path fill="#fff" d="M0 0h640v480H0z"/>
<path fill="#000091" d="M0 0h213.3v480H0z"/>
<path fill="#e1000f" d="M426.7 0H640v480H426.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 231 B

View File

@@ -0,0 +1,97 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bm" viewBox="0 0 640 480">
<path fill="#cf142b" d="M0 0h640v480H0z"/>
<path fill="#fff" d="M559.7 130.6v161.6c0 43.1-86.2 57.2-86.2 57.2s-86.4-14-86.4-57.4V130.6h172.5z"/>
<path fill="#2f8f22" d="M559.7 292.2c0 43.1-86.2 57.2-86.2 57.2s-86.4-14-86.4-57.4c0 0 0-3.5 1.8-5.4 0 0-1 7.1 4.5 12.6 0 0-4.3-7.8 0-15.3 0 0-1.7 9.8 4.4 15.3 0 0-3.3-7.9.4-16.7 0 0-1.8 14.3 4.7 17.3 0 0 1.8-8.4-.8-13.6 0 0 4.5 1.8 4.3 13.8 0 0 1.4-1.8 1.8-10.5 0 0 .2 10 3.5 12.3 0 0 1.2-1-.3-5.5-1.6-4.4.6-6 1-6 0 0-.8 5 3.4 8.8 0 0-1.8-7.9.7-9 0 0-.6 6.7 4.8 8.1 0 0 .3-1.9-.8-4 0 0-1-2.5-.3-4.5 0 0 1.7 6 4 7 0 0-1.4-3.6 0-7 0 0 .2 5 4.7 7.1 0 0-3-4-1.9-8.2l28.7 1.4 15 .7 44.7-3 7.6-6.7s3.1 4.1-1.8 10.8c0 0 4.8-.8 6.3-8.3 0 0 2 4.1-.7 8.8 0 0 5.3-5.4 6-11.3 0 0 2.1 5.8-2.9 12 0 0 4.4-1.6 6.3-8.1 0 0 1.6 4-2.7 9.5 0 0 8.1-4.1 7.9-13 0 0 3.3 4.8-.5 11.6 0 0 4-3.7 4.5-9.3 0 0 2.3 2.5-.2 9.4 0 0 5-4.8 5.8-9.9 0 0 1 4.8-3.2 10.8 0 0 2.9-.8 5.7-6.6 0 0 .7 2.4-1.8 6.6 0 0 2.8-.5 4.6-5.9 0 0 .3 3.2-.5 6 0 0 2.1-1.3 2.6-7.3a9 9 0 0 0 1.2 4.4v.8z"/>
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M515.4 198.7s-3 .6-7-.6c-3.8-1.2-5.3-.7-6.5 0 0 0 1.5-3.1-2.3-5.6 0 0 1.2 3.2-.5 4.6 0 0-.7.7-1.6-.3 0 0-1.3-1.5-2.8-2.4 0 0 3.3-1.2 2.7-4.5s-2.4-3.6-3.3-4.1a6 6 0 0 0 0 2.4s-3.5-2 1.2-4.7 4-4.4 3.1-5.8a13 13 0 0 0-3.5-3.6s1 1.6.7 2.9c-.1 1.2-2.4 2-2-.1.5-2.4 0-2 0-4.3 0 0 4.2 1.4 6-2.8 0 0 1.6-4.3-3.8-6.4 0 0 1.3 1.8.7 3 0 0-1.2 2.2-2.5.6s-2.2-2.2-2.1-4.2c0 0 4.9.7 3.6-4.7 0 0-.9 3.6-7.2-1.2 0 0 4.2-4.2 2.5-7.6 0 0-.5-1.5-4.9-.7 0 0 3.8-2.4 2.3-4.5 0 0-.9-1.3-4.6.4 0 0 1.5-2.3-2.1-5 0 0-2.4 1.2-3.6 2.4 0 0-2.4-3-4-4.3 0 0-2.8 1.1-3.5 4.3 0 0-1.3-1.5-4.3-2.4 0 0-1.4 2.8.5 5 0 0-1.4 0-4-1.1 0 0-2.8-1.2-2.3 1.1.3 2.4.6 3 1.2 4.2 0 0-6.5-1.5-6.2 2a9 9 0 0 0 3 6.2s-3.5 4.8-6.6 1.2c0 0-1.2 1.2 1.2 4.2 0 0 2.4 2.5.3 4.2 0 0-2.5 2-3.7-2 0 0-4.1 4.1.8 7.2 0 0 3 1.8 6.3-1 0 0-1 8-4 6.4 0 0-1.9-1.2 1.4-2.9 0 0-4.8-.6-5.5 4 0 0-.6 3.5 3.5 5 0 0 3.1 1.2 0 3.6 0 0-2.5 1.7-.9 4.4 0 0 1.8 2.8-2.9 3.2 0 0-2.4 0-3.3-.4 0 0-1 2-.4 4 0 0-2.3-1.7-7.5.2-5.2 2-4.9.6-5.2 1.2l-1.6 2.4s2.8 3.6 2.9 3.3l-.6 4 1.4.6 10.8-4.8 11-5.7 8.9.4 5.6 1.3 7.2.6 5.4-2.8h7.6l8.4 4.2 9.5 5.7 5 1 3.9-.3v-7.8z"/>
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M428.2 207.7s4.2 2.2 6-.3c0 0 2.2-4.4-2.8-6 0 0 2.8-3.2-.2-6.2 0 0-1.6-1.6-4.2-.5 0 0-1.2-2.3-3.7-2.2 0 0-2.4 0-3 2.5 0 0-3.2-1.2-4.9.6 0 0-3 3.2 1.1 5.8l2.9.3 2.8-1.4 3.3.9s-.9 3.2 2.7 6.5z"/>
<path fill="#64b4d1" stroke="#000" stroke-width="1.2" d="M521.6 200.1a7 7 0 0 1 6.9 3.8c2.6 6.2-3 9.6-3 9.6.4 1.3.5 3.2.5 3.2 7.8 1 6.4 9.8 6.4 9.8l-2.6-2.2c-4.5-1.8-9.3 2.2-12.6 8.6-3.4 6.6-1.8 9.5-1.2 17.3.6 7.7 13 12.4 13 12.4l-9.7 25c-3.8 10-12 5.9-14.3 3.7-2.3-2-2.9-.8-4 0-1.1 1 5.3 6-6.5 10.8-11.7 4.7-13.7 8.3-15.7 9.5s-10 .5-10.8-.6c-1-1-.4-1-3.5-2.9-3-1.7-8.2-3.5-13.8-6.2s-5.4-6.2-5.3-6.9c0-.7 1.9-6.5-4.7-1.9-6.5 4.7-12.1-2.2-12.1-2.2-1.2-1.7-6.8-16.4-6.8-16.4a92 92 0 0 0-4.3-12s-.4.8 4.5-2c4.8-2.7 7-7.3 8.7-11.9s0-12.5-.6-14c-.6-1.6-4.2-8.9-8.7-10.4-4.4-1.6-7.5 2.4-7.5 2.4s-1.3-9 6.6-10c0 0 0-1.8.4-3.1 0 0-5.6-3.4-3-9.6 0 0 1.8-4.3 6.8-3.8l-1.1 2.4s-1.2 12.6 17.2 4.2c18.5-8.6 18-10.2 28.7-4.8l7.6-.1s11-5.3 14.7-3c3.5 2.3 16.3 9.4 16.3 9.4s12.4 4.7 14.9-4z"/>
<path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M465.8 255s-.6-3.9-1.2-6.4c0 0-1.5-3.9 1-6.8l2.8-3.3s1.8-2.4 4-2.7c0 0 2.3 0 2.4-.5.3-.5 2.8-4.5 8.6 0 0 0 1.8-3 4.8-3.6 0 0 3-.8 4.5 1.4 0 0 3.5-2.6 6.4 1.7 0 0 4.1-2.4 7.2 2.3 0 0 4-2 6.4 2.1 2.5 4.3 2 6 2 6l2 6.8 6.5 8-15.2 5.8h-7l-13.7 3.6-24.3 1.9-6.7-8 9.6-8.3z"/>
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M445.3 295.5s-3.6.1-5.5 1.2c-1.8.8-3.3 1.8-5.4 3.2 0 0-1 1.3-5.2.5 0 0-7.2-1.7-7.2 4 0 0-8.8.6-5.2 8.3 0 0 2.3 6 7.3 1.8 0 0-3.2 4.5 3 6.3 0 0 4.4 1.2 5.8-3.5 0 0 .7-1.8-1-4 0 0 2.1-.4 3.6-2.7 0 0-4.6 5.8.5 8 0 0 6.3 1.5 6.6-5 0 0-.6-3.2 2-4.3 0 0 5-1.2 7-6.6 0 0-7-3.9-6.3-7.2zM430.6 238s-5.6-2.5-8.4 0c0 0-3.5-2.2-7.5 0 0 0-3.7 2.4-6.3 5.2 0 0-1.8 1.5-1.2 6.4 0 0 1 3.5.5 5.1 0 0-1.2-.2-3.7 2.8 0 0-3.1 3.5-6 .3 0 0 1 4.6 6.1 3.8 0 0-2.5 2-.3 7 0 0 1.6 3.6-1 8.2 0 0 4.5-1.8 4.4-7.2 0 0-.5-3.6 1-6 0 0-1.5 2.2 1.6 7.1 0 0 2.4 3.6.5 7.2 0 0 4.4-1.6 4-7s-3-3.2-1.4-8.2c0 0 .5 2.6 1.8 4a7 7 0 0 1 2.4 7s2.6-3.4 2-6.8a13 13 0 0 0-1.3-4.4l8.4-4.8 4.3-7.5z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M417.8 259.5s-3.5-.2-4-3m-6.1-1.8s1.2 0 2.4 1.2c0 0 .7 1.2 1.9 1"/>
<path d="M423 249.2s-1.8 0-3-.8c0 0-.9-.7-1.5.4 0 0-1 1.6.8 2.3 0 0 2.2 1.2-1.2 3.4 0 0 4-1.6 2.4-3.6 0 0-1.8-1.2-1.2-1.7 0 0 .2-.4 1 0 .6.6 2 .4 2.7 0"/>
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m477.6 259 2.1-.6-14-48h-.4z"/>
<path d="M431.2 312.3s-3.2-1.9-6 .3c0 0 .4-1.2 2.4-1.7 0 0 1.2-3.2 4.3-2.9 0 0-1.3 1.6-3 2.8 0 0 1.8.2 2.4 1.5z"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M419.7 319.8s-5.2-3.2-2.3-8.7c0 0 .8-1.5 2.3-1.2 0 0 3.3 1 .8 5.5 0 0-1.4 2.9-.8 4.5zm10.5 5.3s-7.4-3.4-5.1-9.2c0 0 .7-2 2.4-1.8 0 0 2.8.2 2.3 4 0 0-.9 3.6.4 7z"/>
<path d="M428.7 303.6s-2.3 1.7-3.1 2.8c0 0-1-1.2-2.2-1.8 0 0 1.5-.3 2.2.3 0 0 1.2-1 3-1.3z"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M435.2 323.6s6-1.4 4.8-7.5c0 0-.6-2.6-3-2.2 0 0-3 .8-1 4.6 0 0 1.1 2.6-.8 5.1z"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="m461.6 196.7 5.7 1.9s5.4 2.3 12.3 0l5.2-2-3.5 5.4v2.9l2.1 3.2s-1.3.6-5.4-2c0 0-4.4-3.4-9.6 0 0 0-3 2-5.4 2l3.5-3.8-1.3-3.5-3.6-4.3z"/>
<path fill="#fff" d="M437.5 316.5s.2-.4 0-.5l-.5.2s-.6 1 0 2.4c0 0 .5.9.3 1.8v.4s.3-.1.3-.4c0 0 .4-.8-.2-1.8 0 0-.6-1.4.1-2.1"/>
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M518 207.7s-4.2 2.2-6-.3c0 0-2.1-4.4 2.9-6 0 0-2.8-3.2.1-6.2 0 0 1.6-1.6 4.2-.5 0 0 1.2-2.3 3.7-2.2 0 0 2.4 0 3 2.5 0 0 3.3-1.2 5 .6 0 0 2.8 3.2-1.2 5.8l-2.9.3-2.9-1.4-3 .9s.8 3.2-3 6.5z"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M484.8 204.4s0 .8-.8 1c0 0-1 .3-1.5-.9v-.3c0-.5-.3-2 1.4-3.3 0 0 2.6-2.1 7.6.5a192 192 0 0 0 14.8 7.5s3.1 1.6 7.9 1.8c0 0 6.5.5 9.3-4.1 0 0 2.1-3.5 0-5.8 0 0-.9-1-2.3-.8a3 3 0 0 0-1.8 1.2s-1 1.4.1 2.5c0 0 1.6 1 2.2-1 0 .2.5 1.7-.4 2.9 0 0-4 6-14.9-.1l-14.3-8.1s-7.1-3.7-11.6 2.1c0 0-3.4 4.8 1.1 7.9 0 0 3.4 2 5.4-1.2 0 0 1.8-3.1-1-4.4 0 0-2.4-1.2-3.3 1.2-1 2.4 1.8 3 2 1.3 0 0 0-.4.3 0z"/>
<path fill="#e4cb5e" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M428 229.2v-9c0-.8 0-1.2 1.2-2.2 1-.8 2.1-2.3 3.7 1.7 0 0 3.2-3.5 4.2-4 0 0 2-1.5 3.3.7 0 0 1.6-2.6 3-3.2 0 0 3.2-2 3.3 4.2l2.5-2.4s2-1.5 4.2.7c0 0 3.5 3.6 4 4.6 0 0 .8 1 1 2.7 0 0 0 2 1 3 0 0 1.1 1 2.2 1.2 0 0 2.5.1 3.6 2.6 0 0 .3-.5 1.6 11.2v21.5l-14.4 17.1-23.1-6.6-9.2-3.9-2.2-6.6 9-5.9 4.8-13-1.5-9.3-2.2-5.2z"/>
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m491.6 240.4 1.2-1.5 2.5-2s4 10.4 4.2 12.7v3.2s6 1.6 7.2 10.7l-5 9.2-7.8-4.4-2.3-1.5z"/>
<path fill="#fff" d="M418.3 312.4s.2-.3 0-.6l-.5.4s-1.5 1.7-.2 4.4c0 0 0 .4.3.2 0 0 .3 0 0-.3 0 0-1.1-2.4.4-4z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M441.7 310.6s.1-.8-.4-1.6q-.2 0-.2-1.5m5.6-90.1s0 2.3.7 4c.6 1.6 2.9 4.5 3 5.9"/>
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M501 295.5s3.6.1 5.5 1.2c2 .8 3.4 1.8 5.5 3.2 0 0 1 1.3 5.2.5 0 0 7.2-1.7 7.2 4 0 0 8.7.6 5.2 8.3 0 0-2.4 6-7.4 1.8 0 0 3.2 4.5-3 6.3 0 0-4.4 1.2-5.7-3.5 0 0-.8-1.8 1-4 0 0-2.1-.4-3.5-2.7 0 0 4.5 5.8-.5 8 0 0-6.3 1.5-6.7-5 0 0 .5-3.2-2-4.3 0 0-5-1.2-7.2-6.6 0 0 7.2-3.9 6.5-7.2z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m443.8 227.4 6 47.8m-4.5-47.9 6.6 44.6m-5.5-44.8 7.8 44.2"/>
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m458.6 267.5 2.2-.7-14-48h-.5z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m450.7 225.3 14.1 35.5m-15-35 13.6 37"/>
<path fill="#fff" d="M427.6 321.6s-1.7-1.5-1.4-4.3c0 0 0-.6-.3-.7 0 0-.3-.1-.3.6 0 0-.5 2.9 1.5 4.5q0 .2.4.2v-.3z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m451.5 224.8 14.3 32.4m-18.3-30.4 9 43.7"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M520 259c-6.3-3.6-7.7-11.4-7.7-11.4a25 25 0 0 1 1.6-14.3c4-8.6 11.1-10.3 11.1-10.3s-6.9 4.8-8.8 11.2c0 0-1.4 5.5-.6 10.7.8 5.5.5 4.1 1.8 8.3l2.6 6z"/>
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m492.7 238.7-26.6 8.5-1.4 12c-6.3 9.1-19.2 10.7-19.2 10.7l10 10.7 19 4 10.2-7.8 9.2-8.4c-1-4.5-.5-11.2-.5-11.2 0-1.2.5-3.8.5-3.8s-1.5-10.7-1.2-14.5z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M465 256.2s17.6-5.5 28-10m-36.4 20s22-4 37.3-12.8l5.6-3.8"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m499.5 252.8-6 4.4s-24.5 11.2-43.2 11.6m43.1-3.6S474.6 275 464 275"/>
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M515.8 238s5.6-2.5 8.4 0c0 0 3.6-2.2 7.6 0 0 0 3.6 2.4 6.2 5.2 0 0 1.8 1.5 1.2 6.4 0 0-1 3.5-.3 5.1 0 0 1.1-.2 3.5 2.8 0 0 3.3 3.5 6 .3 0 0-.8 4.6-6 3.8 0 0 2.4 2 .3 7 0 0-1.6 3.6 1 8.2 0 0-4.6-1.8-4.4-7.2 0 0 .4-3.6-1-6 0 0 1.4 2.2-1.7 7.1 0 0-2.4 3.6-.4 7.2 0 0-4.5-1.6-4-7 .3-5.4 3-3.2 1.3-8.2 0 0-.4 2.6-1.7 4a7 7 0 0 0-2.4 7s-2.6-3.4-2-6.8c.6-3.5 1.2-4.4 1.2-4.4l-8.3-4.8-4.2-7.5z"/>
<path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M420.6 268.4s.8-3.7 4.3-2.4c0 0 1.2-6 7.7-6.2s6.8 6.4 6.8 6.8c0 0 2-2.8 5.1-2.5 0 0 5.5-.3 3.6 8.5l1 1.2s4.1-9.9 12.7-7.4c0 0 8.4 2.6 3 10.7 0 0 4.2 5.5 7.6 5 3.6-.5 6.7-1.6 10.2-7.8 3.6-6.2 11.7-7.2 13.7-6.8 2 .3 3.7 1.8 4 3.2 0 0 4.3-14.3 19.8-12.2l6.2 3.3 2.4 1-3.6 10-8.4 19.2-6.6 2-6.8-3.9-2.4 1.2v5.9l-9 6.4-6.2 2.5-6.8 4.8-1.7 4.2s-3.7-1.7-8 0l-1.4-3.6-4-3.7-15.6-7.4-2.7-9-2.9-1.3-3.2 3.6-4.5.6-7-4.8-7.4-21z"/>
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M488.2 198s-6-.2-5.7 6"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M527 263.3c-10.2-3.2-13-14.3-13-14.3a26 26 0 0 1 1.2-15.5c4.8-11 12.7-11 12.7-11a4 4 0 0 1 4.5 3.2c.4 2.4-1.3 3.3-1.3 3.3-2.7 1.5-4.5-.5-4.5-.5-1.2-1.6-.3-2.9-.3-2.9.7-1 2-.4 2-.4 1.3.2 1 1.6 1 1.6s.4-1.6-1.2-1.8c0 0-3.2-.7-6.8 3.8 0 0-4.7 6.1-4.7 14.1 0 0-.6 14.8 14.7 18.6 0 0-1.6 2.4-4.6 11.1 0 0-3.3 11.2-6.4 17.3 0 0-4.3 8.6-13.9 5.1 0 0-5.6-2.5-5.6-6.5 0 0-.3-3.8 3-4 0 0 3.3-.3 3.3 2.5 0 0 0 3-3.5 2.4 0 0-1.2-.3-1.1-1.5 0 0 .2-1.2 1.8-.6 1.5.6 0 0 0-.1 0 0-.6-.3-1.2 0 0 0-.6 0-.6 1q-.2.2.7 1.1l1.7.2s1 2 3 2.7a8 8 0 0 0 7.1-1.2 11 11 0 0 0 3-4.3 113 113 0 0 0 5.2-13.5s1.8-5.7 3.4-8.7z"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M498 291.4s2-.2 2 1.5c0 0-.1 2.4-3.2 1.9 0 0-3-.6-2-4 0 0 .8-2.3 3.6-2 0 0 2.8 0 4 3.8 0 0 1 3.3-.7 6-1.8 3-6.2 5-8.4 6 0 0-8.7 3.3-11.3 5.3 0 0-4 2.9-2.2 5.6 0 0 .7 1.1 1.7 1.1 0 0 1.2 0 1.3-1.2 0 0 0 .7-.7 1 0 0-.8.4-1.7-.3 0 0-1-1-.2-2.4 0 0 1-1.6 3.6-.6 0 0 2 1.1 1.2 3.3 0 0-.9 2.1-3.4 2 0 0-1.9 0-3.2-1.2-2-2.1-2-6-.2-8 0 0 1.5-2.1 4.7-3.6l9-3.5q4-1.5 6.4-4.1s1.3-1.4 1.8-4c0 0 .4-2-.8-2.4l-1.2-.3z"/>
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M498.2 291.4s2.1-.4 3.5 2.2c0 0 .7 1.5.8 2.5m.7-9s-2.1.3-1 3.4c1.1 2.9 3 3.7 3.5 4.2"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M461.6 204.4s0 .8 1 1c0 0 .8.2 1.3-.9v-.3c0-.5.3-2-1.2-3.3 0 0-2.8-2.1-7.8.5 0 0-4 2-6.7 3.6 0 0-7.1 3.8-8 4 0 0-3.2 1.6-8 1.8 0 0-6.5.5-9.2-4.1 0 0-2.2-3.5 0-5.8 0 0 .8-1 2.2-.8q.9 0 1.8 1.2s1 1.4-.1 2.5c0 0-1.6 1-2.2-1 0 .2-.3 1.6.5 3 0 0 4 5.9 14.8-.3l14.3-8s7.2-3.7 11.6 2c0 0 3.4 4.8-1 8 0 0-3.3 2-5.5-1.2 0 0-1.6-3 1-4.4 0 0 2.4-1.2 3.5 1.2 1 2.4-2 3-2.2 1.3 0 0 0-.4-.1 0zm-35.2 54.7c6.3-3.5 7.8-11.5 7.8-11.5 1.4-8-1.7-14.3-1.7-14.3-4-8.6-11-10.3-11-10.3s6.8 4.8 8.7 11.2c0 0 1.6 5.5.6 10.7-.8 5.5-.5 4.1-1.8 8.3z"/>
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M458.4 198s6-.2 5.6 6"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M419.3 263.3c10.3-3.2 13-14.3 13-14.3a26 26 0 0 0-1.1-15.5c-4.8-11-12.7-11-12.7-11a4 4 0 0 0-4.5 3.2c-.3 2.4 1.3 3.3 1.3 3.3 2.8 1.5 4.6-.5 4.6-.5 1.1-1.6.2-2.9.2-2.9-.7-1-2-.4-2-.4-1.2.2-1 1.6-1 1.6s-.3-1.6 1.2-1.8c0 0 3.2-.7 6.8 3.8 0 0 4.8 6.1 4.8 14.1 0 0 .6 14.8-14.8 18.6 0 0 1.7 2.4 4.6 11.1 0 0 3.4 11.2 6.6 17.3 0 0 4.2 8.6 13.7 5.1 0 0 5.6-2.5 5.6-6.5 0 0 .4-3.8-3-4 0 0-3.3-.3-3.3 2.5 0 0 0 3 3.6 2.4 0 0 1.2-.3 1-1.5 0 0-.2-1.2-1.7-.6-1.6.6 0 0 0-.1 0 0 .5-.3 1.1 0 0 0 .6 0 .6 1q.2.2-.7 1.1l-1.5.2s-1 2-3.2 2.7a8 8 0 0 1-7-1.2 11 11 0 0 1-3-4.3 114 114 0 0 1-5.3-13.5s-1.8-5.7-3.2-8.7l-.6-1.2z"/>
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M448.5 291.4s-2-.2-2 1.5c0 0 0 2.4 3.2 1.9 0 0 3-.6 1.9-4 0 0-.7-2.3-3.6-2 0 0-2.7 0-4 3.8 0 0-.9 3.3.8 6 1.8 3 6.2 5 8.3 6 0 0 8.7 3.3 11.4 5.3 0 0 3.9 2.9 2.1 5.6 0 0-.6 1.1-1.7 1.1 0 0-1.2 0-1.3-1.2 0 0 0 .7.7 1 0 0 .9.4 1.7-.3 0 0 1-1 .2-2.4 0 0-1-1.6-3.4-.6 0 0-2.2 1.1-1.2 3.3 0 0 .7 2.1 3.2 2 0 0 2 0 3.2-1.2 2-2.1 2-6 .4-8 0 0-1.7-2.1-4.8-3.6-1.9-.6-5.5-2.1-9-3.5q-4.1-1.5-6.5-4.1s-1.3-1.4-1.8-4c0 0-.3-2 .9-2.4l1.2-.3z"/>
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M448.2 291.4s-2.1-.4-3.4 2.2c0 0-.7 1.5-.9 2.5m-.7-9s2.2.3 1.1 3.4c-1.2 2.9-3 3.7-3.6 4.2m27.4-91.1s5.2-3.3 10.4.3m-39.7 31.3s.7-3-2.6-8c0 0-2.2-4.7-3.2-7.5m7.4-3.3 2.3 6.6 3 6.8"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M441.2 238.3s2 2.1 1.8 5.6m-8.1-7.9s2.1 1 1.9 6.8c0 0-.1 4 3 6.2m-5.3 1.4s6.7-.7 7.2 3.5c0 0 0 4 2.4 4.3 0 0 3.3.3 4 3.6m-11.4-6.8s1.2 1.7 2.4 2.6m6.2-7s1.6 2.7 2 4.1m5.3-35s1.6 2.1 3.1 3m3.1 9.6s3.4 1.6 3 10c0 0-.6 5 .9 7.7"/>
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m443.1 226.6.4.8s6 .3 9.1-3.8l-.3-.8s-5.3-.3-9 3.8z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M464.7 258.5s20.6-6 28.6-9.6"/>
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m462.5 220.5-.2-.6 10.1-4 .3.8z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m463.4 220.1 6.8 33.3m-5.6-33.6 7.7 33m-6.4-33.6 8.4 32.9m-5-34.1 11.5 24.6m-10-25 12.3 24.2M471.8 217l13.4 24.3m-15.5 12.4 5.2-1.6m-9.1-1.6s15.2-4.5 27-9.2M465.4 252s19.5-5 27.2-8.8m-21.2 24.6 1 3.3 2.8-1-1-3.1m5-1.3 1 3 2.8-.9-1-3m-16-17.6-.2-4.2 25.5-7.7 1.3 3.6m-16 .8 1.3 3.8m7.6-6.4 1.6 3.6m.5-4.3 1.6 3.3m.4-4 1.6 3.6m0-4 2.8-1.6 1.2 3.1m-2.6-2.3 1.4 3.3"/>
<path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M429.5 283.1s-5-5.1 0-10c0 0-5.5-2.6-4.6-7m13.6 21s-5.3.7-3.7-9.4c0 0-2.2 4-2.9 6a5 5 0 0 0 2 5.4c.9.6 5.5 1.8 7-1.2m-8.3-16.2s-2.1 1.9-.6 5.4m2.8-5s.2 3.5 2 5.4m-.5-6.7s0 4 2.9 6.6m-1.5-8s0 4.5 3.4 7.4m13.5-.7s1.6-3.9 5.2-3.6c0 0-1.7.8-1.7 2.5 0 0-.2 3 2.9 3.2 0 0 2.5.4 3.8-1"/>
<path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M463.1 293.1s-8.9-4.2-8-10.1c0 0 .4-3.6 4-5.4m-2 3.8s-.8 2.5 1 4.3m1.1-6s-1.2 2.8.7 4.8m1.5-6.3s-1.4 2.4.2 4.5m-8.4 11s4.8 4.3 8.6 4.3m-10.1-2.9s4.5 3.6 7.4 4.2m-9-3.2s5.5 4.9 9 5.2m13.7 4.6s-5.5 3-1.2 6.2m-2.4-9.4 9-4.6m-6.7 6.2s9-5.5 11.7-6.7m-7 7.2s7.7-5.2 11.9-7.5m-6.8 7.1s5.3-4 10.5-7.1m1.7-5.1s-2.6-3.9-11.2 0c0 0 3.3-2.9 9.5-5.2m8.5-16.3s.8 3.1 0 5"/>
<path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M486.5 285.7s1.8-2.6 6.3-4c0 0 1.2 3 4.8 2.5 0 0 5.2-1.1 3.6-7 0 0-1.1-4.2-7.2-4.7m18.1-7.3s6.1 1.2 6 6.1c0 0 .6 7.6-7.4 9m6.6-12s1.6-3.7 5.5-5.2m-4.6-2.2s1.7 2.8 2.8 3.1m-3.6-1s1.5 2.1 2 2.5m-2.6-.5 1.5 1.6M485 235.8s1.2-2 4.3-1.2m12.1 15.8s2-7.8 8.5-5m-2.6-.6s.6-3.6-1-5.5m-3.6 5.2s.9 1.5.1 2.7"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M516.2 325s7.4-3.3 5.1-9.1c0 0-.7-2-2.4-1.8 0 0-2.8.1-2.3 4 0 0 1 3.8-.5 7z"/>
<path fill="#fff" d="M518.8 321.6s1.7-1.5 1.5-4.3c0 0-.2-.6 0-.7 0 0 .4-.1.4.6 0 0 .5 2.9-1.4 4.5q0 .2-.4.2-.2 0 0-.3z"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M526.7 319.8s5.2-3.2 2.4-8.7c0 0-.9-1.5-2.4-1.2 0 0-3.2 1-.7 5.5 0 0 1.2 2.9.7 4.5z"/>
<path fill="#fff" d="M528 312.4s-.2-.3 0-.6l.4.4s1.5 1.7.3 4.4c0 0-.1.4-.5.2v-.3s1.2-2.4-.2-4z"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M511 323.6s-5.8-1.4-4.7-7.5c0 0 .6-2.6 3.1-2.2 0 0 3 .8 1 4.6 0 0-1.1 2.6.7 5.1z"/>
<path fill="#fff" d="M508.8 316.5v-.5s.4 0 .5.2c0 0 .6 1 .1 2.4 0 0-.5.9-.2 1.8l-.3.4-.2-.4s-.3-.8.2-1.8c0 0 .6-1.4 0-2.1z"/>
<path d="M515.2 312.3s3.4-1.9 6 .3c0 0-.2-1.2-2.4-1.7 0 0-1-3.2-4.2-2.9 0 0 1.2 1.6 3 2.8 0 0-1.8.2-2.4 1.5m2.4-8.7s2.4 1.7 3.2 2.8c0 0 .9-1.2 2-1.8 0 0-1.2-.3-2 .3 0 0-1.1-1-3-1.3z"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M504.8 310.6s-.3-.8.3-1.6c0 0 .4-.6.2-1.5m23.4-48s3.5-.2 4-3m6-1.8s-1.2 0-2.2 1.2c0 0-.9 1.2-2 1"/>
<path d="M523.6 249.2s1.8 0 2.7-.8c0 0 1.1-.7 1.7.4 0 0 1 1.6-.8 2.3 0 0-2.2 1.2 1.3 3.4 0 0-4.2-1.6-2.4-3.6 0 0 1.8-1.2 1-1.7 0 0-.2-.4-.9 0-.7.6-2.1.4-2.6 0"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M526 205.6s.8-1.2.5-4.4 2.6-3.7 3.6-2.8c0 0 1.2 1 0 3.1a8 8 0 0 1-4.1 4.1z"/>
<path fill="#fff" d="M527 203s1.2-1.1.6-3.6l.2-.2h.3s.6 2.8-.6 4.2c0 0-.2.3-.5 0z"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M525.1 204.4s0-1.4-2.3-3.6c-2.4-2.4-.5-4.4 1-4.4 0 0 1.3 0 2 2.3a8 8 0 0 1-.7 5.7z"/>
<path fill="#fff" d="M524.8 201.4s0-1.6-2.2-3.3v-.4h.4s2.3 1.8 2.3 3.8q0 .2-.3.3-.1.1-.2-.4"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M522 203.3s-.7-1-3.5-2.1c-2.9-1-2.2-3.5-1-4 0 0 1.3-.5 2.6 1.1a8 8 0 0 1 1.8 5z"/>
<path fill="#fff" d="M520.6 201.3s-.6-1.4-3.2-2.1l-.2-.3.3-.1s2.9.6 3.7 2.4l-.1.3s-.3 0-.4-.2z"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M523.7 204.4s-1.3.5-4.4-1-4.4 1.1-3.8 2.3c0 0 .5 1.6 2.8 1.2a8 8 0 0 0 5.4-2.4z"/>
<path fill="#fff" d="M516.6 205.4s1.4 1 3.9 0h.3s0 .2-.2.3c0 0-2.6 1.2-4.4.1v-.3z"/>
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M519.3 194.7s1.4.8 1.2 2.5"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M526 195s.6 1.9 0 3"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M420.2 205.6s-.8-1.2-.5-4.4c.4-3.4-2.5-3.7-3.5-2.8 0 0-1.2 1-.2 3.1a8 8 0 0 0 4.2 4.1z"/>
<path fill="#fff" d="M419.1 203s-1-1.1-.6-3.6v-.2h-.4s-.5 2.8.7 4.2c0 0 .2.3.3 0z"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M421.2 204.4s0-1.4 2.4-3.6c2.3-2.4.4-4.4-1-4.4 0 0-1.6 0-2 2.3a8 8 0 0 0 .6 5.7z"/>
<path fill="#fff" d="M421.5 201.4s0-1.6 2-3.3c0 0 .3-.3 0-.4h-.2s-2.4 1.8-2.4 3.8q-.1.2.4.3.1.1.2-.4"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M424.3 203.3s.6-1 3.5-2.1c2.8-1 2-3.5.9-4 0 0-1.2-.5-2.6 1.1a8 8 0 0 0-1.8 5z"/>
<path fill="#fff" d="M425.6 201.3s.6-1.4 3.2-2.1l.2-.3-.2-.1s-2.9.6-3.7 2.4v.3s.4 0 .5-.2"/>
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M422.5 204.4s1.4.5 4.4-1 4.4 1.1 4 2.3c0 0-.7 1.6-3 1.2a8 8 0 0 1-5.4-2.4z"/>
<path fill="#fff" d="M429.6 205.4s-1.3 1-3.9 0h-.2v.3s2.8 1.2 4.5.1q.2 0 0-.3z"/>
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M427 194.7s-1.5.8-1.2 2.5"/>
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M420.2 195s-.6 1.9 0 3"/>
<path d="M486.7 177.6s1 2.7.6 5.2c-.3 2.4.2 2.9 1 3.4.7.3 2.4-.4 2.5-2.2 0 0 2 3.8-1.8 6.3 0 0-2.7 1.7-5-.4-.8-.9-1.2-3-.7-5 0 0 .6-2.7-.5-5.5 0 0 1.6 1.6 1.2 4.9 0 0-.8 6 3.6 5.6 0 0 3 0 3-3.6 0 0-1.1 1.2-2.4.8a2.4 2.4 0 0 1-1.8-2.8c.1-1.6.6-4.3.3-6.7M482 187s-.4 4.8-4.6 5.9c0 0 .6-.9-.3-3.3 0 0-1-1.2-1-3.3 0 0-1.2 1 .3 3.8 1 1.7 0 3.6-.1 3.7-.4.1 6.9-1 5.6-6.7zm-5.6-4.5s-1.1-1.2-1.2-3.8c0-2.7-.5-3.4-.9-3.6 0 0 .5 2.3.4 3.6a7 7 0 0 0 .4 3s-2.4.3-3.9-3c-1.3-3.3-2.7-3-3.4-3 0 0 .8.1 2.4 3 1.6 3 2.1 3.7 6.2 3.7zm-10.8-7s1.2 3.2 1.4 4.8c0 0-3.1-1-4-3.5 0 0-3.2 1-2 4.7 0 0-2.9-1-4.2-3.2 0 0 1.6 1.2 3.1 1.7 0 0-.2-3.1 3.6-4.2 0 0 .6 2.7 2.6 3.3zm5-5.4s1.2 1.5 3.4 1.5a4 4 0 0 0 3.2-1.5s-.1 2.6-3.2 2.7c0 0-3.3 0-3.3-2.7zm-13.4 18.5 2 1.9s1.2 1.2 2-.3c0 0 1.3-2.4 2.9-2.2 0 0-1.2.7-2.4 3 0 0-.2.7-1.2.8-.5 0-1 .2-1.8-.7q-.2 0-1.5-2.4zm16.7-29.4c-3.2 0-.5 2.4-.5 2.4 0 4-3.1 5.4-5.3 4.2s-.4-4-.4-4-2.4 1.5-1 3.9c1.6 2.4 5.7 1.2 7.2-.9 1.5 2.2 5.7 3.3 7.1.9 1.7-2.4-.8-4-.8-4s1.8 2.9-.5 4c-2.1 1.3-5.4 0-5.2-4 0 0 2.7-2.5-.5-2.5zm2-4.4s1.2 2 1 5c0 0 .9-3-1-4.9zm-10 4.7s-.3-2.2-2.4-2.4c0 0 1.9 1.3 2.4 2.4m16 0s.3-2.2 2.5-2.4c0 0-1.8 1.3-2.4 2.4zm-19.2 3.2s1.6.5 2.6-.7zm-5.4-13.1s1.9-.1 3.8 2.7c0 0-1.9 1-2.4 1.6 0 0 0-1 1-1.7 0 0-.4-1.4-2.4-2.5zm32 0s-2-.1-3.9 2.7c0 0 2 1 2.4 1.6 0 0 0-1-1-1.7 0 0 .4-1.4 2.5-2.5zm-14.7 2.2s1.7.5 3.8-.7c0 0 2.6-1.4 4.3 0 0 0-1.4-.7-4.3.7 0 0-2.7 1.6-3.8 0"/>
<path fill="#fff" d="M476.4 153.6s1.4-2.5 6-2c0 0-1.3 3.6-6 2"/>
<ellipse cx="479.4" cy="152.8" fill="#784421" rx=".8" ry="1.1"/>
<ellipse cx="479.4" cy="152.8" rx=".5" ry=".7"/>
<path d="M466.8 148.1s2.8.3 4.6 1.2c0 0 1.8 1.2 3.8-.3 0 0 2.2-1.4 3.7-3.1 0 0-3.5 2.3-4.8 2.7 0 0-1.2-1-1.5-2.3 0 0 0-1 2-2.7 0 0-2.5.8-3 2.9a7 7 0 0 0 1.4 2.3s-.4.3-1.6-.6c0 0-2.8-.8-4.6 0zm7.2 17c-2.4 2.1 0 1.9 0 1.9s2.4.2 0-2zm-1.4-13.2s-1.8.5-4-.7c0 0-2.6-1.4-4.3 0 0 0 1.5-.7 4.3.7 0 0 2.9 1.6 4 0"/>
<path fill="#fff" d="M470.8 153.6s-1.5-2.5-6-2c0 0 1.2 3.6 6 2"/>
<ellipse cx="467.7" cy="152.8" fill="#784421" rx=".8" ry="1.1"/>
<ellipse cx="467.7" cy="152.8" rx=".5" ry=".7"/>
<path fill="none" stroke="#000" stroke-width="1.2" d="M560 130.6v161.6c0 43.1-86.2 57.2-86.2 57.2s-86.4-14-86.4-57.2V130.6z"/>
<path fill="#006" d="M0 0h320v240H0z"/>
<path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/>
<path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/>
<path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/>
<path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,36 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bn" viewBox="0 0 640 480">
<path fill="#f7e017" d="M0 0h640v480H0z"/>
<path fill="#fff" d="M0 33.3v213.4l640 100V233.3z"/>
<path fill="#000001" d="M0 146.7v100l640 200v-100z"/>
<g fill="#cf1126" transform="translate(-160)scale(.66667)">
<path d="M695.7 569.7a117 117 0 0 1-49.4-17.2c-2.4-1.6-4.6-3-5-3s-.6 1.9-.6 4.1c0 6.4-2.6 9.6-9 11.3-6.2 1.6-15.6-1.6-23.2-8a68 68 0 0 0-24.7-13.5 40 40 0 0 0-28 3.6 9 9 0 0 1-2.8 1.3c-1.1 0-1-6.9.2-9 1.5-3 5.1-5.8 9.4-7.3 2.2-.8 4-1.8 4-2.3s-.8-2-1.7-3.6q-4.3-7.9 3.4-13.9c5.2-4 14-4.6 21.7-1.7l4 1.4c1 0 .4-1.5-2.4-5.6-3.2-4.7-3.9-7-3.5-12.7a15 15 0 0 1 13.5-13.5c5.8-.4 9.4 1.6 18 9.7a144 144 0 0 0 86 41.6c8.3 1 24.8.5 34.5-1a156 156 0 0 0 81.8-40.8c6.4-6 9.4-7.6 14.7-7.6 4.5 0 7.7 1.4 11 5 3 3.3 4 6.4 3.6 11.5-.2 3.2-.7 4.7-2.6 7.9-2.8 4.5-2.3 5 3.2 2.8 7.6-3 16.9-1.6 21.9 3.2 4.4 4.2 4.8 8.4 1.4 14-1.3 2.1-2.3 4-2.3 4.4 0 .6 1 .8 5.5 1.6 6 1 9.5 5.4 9.5 12.2 0 2-.3 3.7-.6 3.7s-2.6-.9-5-1.9c-7-2.9-11-3.6-19.2-3.5-6.2 0-8.3.3-12.6 1.7a58 58 0 0 0-19.5 11.5c-6.4 5.7-10.4 7.5-16.6 7.4q-8.7 0-11.8-5c-1.1-1.8-1.3-2.8-1-6.8.2-2.6.1-4.7 0-4.7-.3 0-2.5 1.4-5 3.1A81 81 0 0 1 778 560a182 182 0 0 1-82.3 9.7"/>
<path d="M706.3 525.2a136 136 0 0 1-97.9-55.7c-24.4-33.2-32-77.1-24.6-117.2 4-18.3 12-36.6 25.5-49.6a115 115 0 0 0-8.7 74.3c9 49.8 51 91.9 101.3 99.2 20 5.7 40.5-.4 59.5-6.5 42-14.8 74-54.6 77.8-99.1 3.3-24-.3-49.1-11.2-71 6.2 3.3 14 16.2 18.6 24.8 16 31 16.7 68.1 7.3 101.2-12.8 42.1-45 79-87.5 92.4a166 166 0 0 1-60 7.2z"/>
<g id="bn-a">
<path d="M512 469.9c-2.5-.4-5.3 2.1-4.3 4.7 1.8 2.6 5 4 7.8 5.2a54 54 0 0 0 23.2 3.6 50 50 0 0 0 17-3c3-1 6.8-2 8-5.4 1.3-2.1-1-4.3-3.1-3.9-3 .7-6 2-9 2.9a58 58 0 0 1-20.3 2 54 54 0 0 1-14.4-4.2c-1.6-.7-3.1-1.7-4.9-1.9"/>
<path d="M514.8 459.5c-2.5-.4-4.7 2.6-3.7 5 2 2.8 5.3 4.3 8.4 5.6a42 42 0 0 0 17 2.9h1.5a38 38 0 0 0 14.4-2.8c2.7-1.1 6.1-2.2 7.3-5.2.9-1.7.2-4.1-2-4.3-1.8 0-3.5 1.2-5.3 1.7a44 44 0 0 1-20.6 3.2c-4.4-.5-8.5-2.1-12.5-4-1.5-.7-2.8-1.8-4.5-2z"/>
<path d="M518.3 449.6c-2.2-.3-3.7 2.2-3.3 4.1.3 1.8 1.8 3 3.1 4a30 30 0 0 0 18.6 5.3h1.6a28 28 0 0 0 12-2.8c2.5-1 5.4-2.3 6.3-5.2.4-1.3.6-3.2-.9-4-1.6-.8-3.1.5-4.5 1a34 34 0 0 1-15.5 3.9 27 27 0 0 1-13.1-4c-1.5-.7-2.7-2-4.3-2.3"/>
<path d="M481.5 302.7c-3.2 3.3-.7 9.3-1 13.5 1.8 13.2 3.9 26.5 8.8 39 6 12 18.8 18.5 26.5 29.2 2.8 5.1 1.8 11.3 2.4 17q.5 23 0 46c7 3.6 14.5 7 22.5 5.7 4.7-1.1 13.5-1.8 14.5-6.5l-1-79.5c-2.7-8.1-11-12.3-17.1-17.5a156 156 0 0 1-14.2-16.1c-2.6-4.5-12.9-6-9.2 1.6 2.2 6.7 7.7 11.6 9.1 18.6.3 3.9 5 11 1 13.2a25 25 0 0 0-10.7-10c-4.4-3.3-11.7-4.7-13.3-10.5a43 43 0 0 0-11-22c1.5-7.4 0-16.7-6.4-21.5z"/>
<path d="M491.4 304.2c-3 .5-2.8 4.2-1.5 6.2a27 27 0 0 1 1.1 13.4 44 44 0 0 1 10.6 21.7c0 3 3.2 4 5.3 5.5 4.9 3.1 10.3 5.4 14.7 9.3.9 1 1.6 2 1 0-.7-2.6-1-5.4-3-7.3-2.8-3-6.2-5.6-10.2-6.4-.3-4.2-2.3-8-4.1-11.6-2-3.5-4.1-7.2-7.5-9.4 0-6.1 0-12.5-2.6-18.2-.8-1.4-2-3.1-3.8-3.2"/>
<path d="M499.7 306.6c-2 .6-1.6 3.2-1 4.7a54 54 0 0 1 1 13.2c3.9 3 6.2 7.4 8.4 11.6q2.2 4.2 3.1 8.9c3.1 1 5.8 3 8.2 5-1-2.8-3-5-4.5-7.7s-3-5.6-3.7-8.7c-3-3.1-4.6-7.6-4-12 .2-4.7-1.3-9.6-4.5-13.2-.8-.8-1.8-1.7-3-1.8"/>
<path d="M509.2 308c-1.2.2-1.8 1.2-2.4 2.1-.3.9.8 1.8 1 2.8a22 22 0 0 1 1.4 10.4q0 3.9 2 7a4 4 0 0 1 3.5-2.8c.5 0 1.4.2 1-.7q-.4-7.3-2.8-14a10 10 0 0 0-2.8-4.5q-.4-.4-1-.3z"/>
</g>
<use xlink:href="#bn-a" width="100%" height="100%" transform="matrix(-1 0 0 1 1440 0)"/>
<path d="M715.7 476a36 36 0 0 1-29.9-24c.3-2.2 3 1.2 4.3 1.5a19 19 0 0 0 8 2.6c3.5 1.5 5.7 5 9.1 6.9 1.6 1.2 7.2 3.6 6.1-.3-1.3-2-2.2-4.6-1-7 1.8-4.1 4.7-7.7 7.7-11.2 2.1-.7 3.6 3.6 5.1 5 2.1 3.3 4.7 7.3 3.4 11.3-1.2 1.5-2 6 1.3 4.6 4-1.8 7.3-4.8 10.6-7.6 3-2 6.7-2.1 9.7-4 1.5-.3 4.4-3.1 5-1.6a45 45 0 0 1-7.4 12.3 32 32 0 0 1-18.8 10.9q-6.6 1.2-13.2.6"/>
<path d="M731.5 460.2q.4-4-1.7-8-3.3-6.2-8-11.9c-2.8-1.6-4.3 3.7-6.1 5.2-2.9 4.3-6.5 8.7-6.7 14-1.6 2.5-4.6-2-5.9-3.5a19 19 0 0 1-4-12 51 51 0 0 1 3.6-20.6c2-5.6 5.1-11 4.8-17 .2-4.7-.7-9.7-4.4-12.8-3.6-2.8 2.3-3.4 4.1-2 3.2.3 4.9 5.5 7.8 4.2 1.1-2.7 1.4-6 3.8-8.1 2.3-3.2 4.7 1.3 5.5 3.5 1.7 1.8 0 6.5 2.6 6.6 3.2-2.3 5.5-6 9.6-6.9 1.7-1 4.5 0 2.3 1.8-3 2.9-5.6 6.4-6.2 10.7-.9 5.3.4 10.7 2.7 15.4 4.5 9.4 8 20 5.7 30.5-1 4.6-4.2 8.6-8 11.3-.5.3-1.3.3-1.5-.4"/>
<path d="M726.7 389.6a21 21 0 0 0-5.6-7c-2.4 0-3.9 3-5.5 4.6-1.1 2.1-2.5 5.6-5.3 2.9-4.5-2.6-5.2-8.3-5.2-13-.3-7.6 2.8-14.7 5.5-21.6 1.7-4.3 1.3-9.2.2-13.6-1.3-5-5.4-8.6-8.5-12.6.2-1.5 4.2-.7 5.7-.4 3.4.9 5.4 3.8 7.9 6 1.8-.6 1-4.2 1.9-5.9 0-2.4 3.2-5.5 4.5-2.1 2 2.2 0 6.5 2.5 7.8 2.4-.9 3.6-3.5 5.8-4.7a8 8 0 0 1 7.8-.5c.9 2.2-2.6 4-3.6 6a20 20 0 0 0-3.8 18c1.4 5 3.8 9.5 4.7 14.5a40 40 0 0 1-.5 17.2c-.9 3.4-3.8 5.6-6.8 7q-1-1.1-1.7-2.6"/>
<path d="M711.6 326.9c-3.4-2.5-4.5-4.8-4.5-9.5 0-2.3.5-3.6 2-5.8q3.6-4.7-1.3-3.3-7.8 2.3-8-4.3c0-2.2.4-3.1 3.3-6.7q3.6-4.1 2.8-4.8-.6-.7-9 7.8a124 124 0 0 1-11.4 10.6c-9.8 6.6-19.2 7.6-23.5 2.5-2.2-2.6-2.1-4 .4-5.6a27 27 0 0 0 4.4-3.7 86 86 0 0 1 16.1-11.6q5.5-2.9 2.1-3c-3 0-12.5 6.2-19.8 12.8-2.1 2-5.2 4.2-6.8 5a25 25 0 0 1-13.9 1c-2.2-.7-6.3-4.5-6.3-5.9 0-.3 1-1.1 2-1.8a30 30 0 0 0 4.6-3.2c5.8-5 16.8-10.3 25.5-12.2 2.8-.5 1.7-2-1.4-1.8a56 56 0 0 0-25 11.7c-8.3 6.9-20.8 6.2-24.8-1.3-.7-1.3-1.2-2.5-1-2.7a93 93 0 0 0 20.4-7.8 52 52 0 0 1 18.1-6.5c2.8-.5 3-1.9.3-2.2-3.6-.4-9 1.4-18.5 6-12.3 6.1-15.8 7.2-22.2 6.8-6-.4-9.3-1.9-14-6.4-3.2-3-7.6-10.5-6.8-11.4a64 64 0 0 0 15.8 1.3c8.3 0 10.6-.2 15-1.5a84 84 0 0 0 24-12.1 58 58 0 0 1 36.8-13.6c12.4 0 20.2 2.8 27.2 9.9 2.4 2.4 4.4 3.9 4.7 3.6s.6-4.5.7-9.3c0 0 3.7-.4 4.5.7 0 7.7 0 8.4 1.2 8.4q1.2-.1 2-2c1-2.5 5-6 9.2-8.2 9-4.5 24.7-4.7 37.3-.3a62 62 0 0 1 16.7 9.5 90 90 0 0 0 24 12c6.8 2 19 2.5 25.1 1l5.4-1c2.3 0-1.6 7.6-6.2 12.1-8.4 8.2-19.3 8.1-34.6-.1-9.6-5.2-21-8-21-5.2q0 1 1.5 1 5 0 18.7 6.5a54 54 0 0 0 18.3 6.5q3.5 0 .2 4.7-3.5 5-11.7 5c-5.3 0-8.3-1.1-13-5-8-6.6-27.6-14-26.9-10q.2 1 3.2 1.5a56 56 0 0 1 23.1 11l5.9 4.3c1.1.6 1.1.8.2 2.5-1.4 2.8-5.2 4.9-9.2 5.3q-7.6 1-14.5-5c-10-8.3-19.3-14.3-22.3-14.3q-3.7.1 3 3.7a80 80 0 0 1 15.8 11c2 1.9 4.3 3.7 5 4.1 1.9 1 1.8 2.4-.2 5s-5.4 3.8-9.7 3.3c-8.6-.9-15.4-5-26-16a71 71 0 0 0-8.2-7.8q-2 .2 2.2 5c3.4 3.7 4 5.8 2.7 9-1.1 2.6-3 3.3-6.8 2.2q-6-1.5-2 3.1c3.8 4.9 3.3 10.7-1.5 14.8a12 12 0 0 1-3.4 2.3q-.8-.1-2.3-2.4-4.3-6.9-8.7 0l-2 3z"/>
<path d="m726.7 233-5.2 4-4.6-3.4v27.8h9.8z"/>
<path d="M694.9 204.3a88 88 0 0 1-9 32.3l11.1-10.3 7.7 9.2 8.4-9.4 8.5 8 8.2-8.3 8.5 10 7.4-8.2 12.6 9c-4.6-10-10.7-18.6-10-32.8-12.1 9-41 10.6-53.4.4z"/>
<path d="M717 197.6q-7-.2-13.4 1a20 20 0 0 0-7.8 3c.3 8.6 41 12.1 51.9.2a20 20 0 0 0-8.2-3.3c-4-.8-8.6-.8-12.9-1v7.1H717z"/>
<path d="M724.9 154h-6.3v49.4h6.4z"/>
<path d="m724.9 155.2-2.4 23.7 24.3 11.9-12.3-16.5 16.8-5.5zm-2.7-6.1c-3.7 0-6.4 1.4-6.4 3s2.7 3 6.4 3 6.4-1.4 6.4-3-2.7-3-6.4-3"/>
</g>
<g fill="#f7e017">
<path d="M314 375.9q3.8-1.1 5.3-5.6c.5-1.6.9-3.2.8-3.6-.2-1-1.4-1-2.6.1-.9.7-1 1.1-.8 2.6.7 3.7-.7 4.7-7.7 5.4-.7 0-2.8 0-4.5-.3q-5.1-.6-3.4 1l2.1.9c1.9.5 8.8.2 10.8-.5m14.7-.6c.4-.4 1.7-1 3-1.5q2.4-.6 3.3-2.2c2.1-3 1.7-5.7-1.3-9.3-1.7-2-2.4-1.9-3.7.3-1.2 1.8-1.1 2 .5 2.4q1.4.4 2.1 1.6 2.7 4.8-1.4 5c-2.4 0-3 .4-3.7 2l-.6 1.9c0 .6 1 .5 1.8-.2m-4.8-3.5c.4-1.3.6-3.5.5-8a33 33 0 0 0-.3-6.4c-.4-.4-2.3.8-2.6 1.7a3 3 0 0 0 .5 2.1c.6 1.2.7 2.4.5 7q-.5 8.9 1.4 3.6"/>
<path d="m312.6 369 .7-5c.1-1.7.5-3.8.7-4.7q1-3.5-1.8-1.6l-1.3 1 .2 3.3c.3 3-.2 8.5-.9 10.7q-.3.9.9-.5c.6-.7 1.3-2.2 1.5-3.3zm-10 1.6c2.4-2 2.1-5.6 2.7-8.4 0-1.9 1.2-4.1.4-5.8-2.3.4-3.7 2.6-2.5 4.7 0 2.5 0 5.2-1.3 7.4-1 1.5-4.4 1.1-4.2-1 .8-3-2.9-1.5-4.3-.7-1.1.8-3.5.9-2.6-1-.6-2.7-3.9-1-5.7-1-1.7 0-.1-3.5-2.6-3-4.5-.3-9.5.1-13.5-2.6-2.3-1.1-2-3.9-.7-5.7 1.4-2.4 1.8-5.5 4-7.4 2.3-2.1-2-1.2-3-.5-2.2 1.2-.2 4.3-2 6-1 1.8-2.4 4.2-4.8 3.9-3.5-.7-5.5-4-8-6-2.2-.5-1 3.4.2 4.2a22 22 0 0 0 7.4 3.6c2.6-.5 2.7 3 5 3.5 4 2 8.6 2.5 13.1 2.8 1.8.1.8 3.3 3.1 2.6 1.3.4 4.3-.5 4.4 1-2 2.4 1.9 2.3 3.3 2 1.9-.4 4.2-1 4.7 1.4 1.5 1.7 4.3 1.4 6.2.5z"/>
<path d="M262.8 350.4a24 24 0 0 0 2.4-4.2 16 16 0 0 1 2-3.6q1.6-2-1.4-1.6-1.4.2-1.5 1.5a23 23 0 0 1-2.5 7c-1.7 2.5-1.7 2.6-1 2.6q.6-.2 2-1.7m-25-15.7c-1.9 0-2 1.2-.2 1.8q1.4.4 2.3 2.3c1.7 3.5 2.8 4.2 7.5 4.6l3 .2.2 1.9q.1 1.7.5 1.8l2.6-1c2.2-1.2 4.3-3.8 4.3-5.5 0-1-1.8-2.2-3.4-2.2-.7 0-2 .6-3.1 1.4-3.4 2.4-7 2-9-1.2q-2.3-4-4.7-4zm16.3 6.5q1.3 0 .6 2a.9.9 0 0 1-1.7 0c-.4-1 .1-2 1-2zm126.5-4c-1.3 0-1.6.2-2.4 1.4-1.3 1.9-1.4 6-.2 7.4.7.9.8.9 2.3.2 2.2-.9 2.6-.8 2.5.3 0 3-4.2 8.7-8.6 11.7a10 10 0 0 0-2.4 2c-.3.8 1.3.7 3.3-.4a21 21 0 0 0 7.9-8c1.1-2.3 1.3-3 1.5-7 0-3.8 0-5-.6-6.2-.8-1.4-1-1.5-2.8-1.5h-.5zm.1 2.5c1 0 1 .2 1.2 1.6q.1 1.4-.7 2.3c-.8.7-1 .7-1.6-.4-1-1.6-.4-3.5 1.1-3.5m-20.2 28.5c3.9-2 6.2-4.1 7.6-7.2l1.3-3.1c0-.6-1.9-1.5-3-1.5s-1.4-.8-1-3c.5-2.1 0-4.8-1-4.8q-.7.1-1.3 1.1c-.6 1-.7 1.4-.2 2.7q1 3-1.7 4.9-1.3 1-1.3 2l.1 1 2.1-1 2-1.2 1.1 1q1.1.8 1.2 1.7c0 2.4-6.8 6.4-11.4 6.8-2.5.2-3 0-3.8-.8q-1-1-.7-2l.5-2.6q.5-3-2 .6c-1.2 2-1.6 4.1-.9 5.2.6 1 4.4 1.8 7.2 1.6q2.5 0 5.2-1.4m26-14.5c2.4-2.5 3.5-5.5 3.5-10v-3.5l2-1c2.7-1.2 5.2-3.7 5.2-5.1q0-2.1-1.8.2c-.9 1.1-2 1.8-6 3.7-1 .4-1.1.7-1.4 5-.2 5-1 6.8-3.7 10.2-1.7 2-1.8 2.4-.6 2.4.5 0 1.8-.9 2.8-2zm-26.7-2.8c.2-.7-1.2-1.2-1.7-.6q-.5.4-.2.9c.4.6 1.6.4 1.9-.3m36.8-9.5c.3-.8-1.1-1.3-1.7-.7q-.4.5-.1 1c.4.6 1.6.4 1.8-.3m-44.3-25.9q-1.4 1-2.1 2.3c-.5.3-.1.6.1 1 1.7 1.7 2.4 4.2 3.2 6.5.8 2.7 1.8 5.6 1 8.4-.3 1-1.2 2.1-2.4 1.8-2-.1-4-.7-6-.7-1.9.1-3.3 1.8-5.1 1.6-1.2 0-1.2-2.4-2.2-1.7-.6 1.3-.3 2.7-.4 4q.5.3 1.1.2h3.7c.2 1.2.2 2.7 1 3.7q2 .4 4-.5c1.2-.6 1.4-2.1 1.8-3.3.4-1.3 2-1 3-1.5a6 6 0 0 0 4-5.7c-.2-3.9-1.6-7.4-2.8-11l-1.5-4.9zm-6 21.8c1.3 0 1.9 1.6 1.6 2.7-.5 1.5-2.4.6-2.7-.5-.7-1-.3-2.3 1-2.2z"/>
<path d="M296 324.8q-1 0-2 .7c-3.5 2.5-4.5 5.4-2 6.6q2.6 1.1-1.5 3.2c-4 2-7.5 1.7-14.2-1q-2.3-1-1.7 1c.4 1.5 1.8 2.3 5.1 3 3.6 1 8 .7 10.8-.5a14 14 0 0 0 4.3-3.4l2.2-2.3 2.5.3c3.1.4 3.2.4 3.2 1.9 0 1.2 0 1.2 2.9 1.5l4.7.2q1.9 0 2.4.9c.6.7.9.8 5.6.4 4.4-.4 5.2-.4 7.2.3q2.3.6 4.1.5c3.4-.4 8-3.1 8.7-5.1 0-.3 1.3-.7 2.7-1q5-1.1.4-1.8a23 23 0 0 1-4.6-1.1 12 12 0 0 0-3.5-.9c-1.7 0-3.3 1-3.3 2.2 0 .7.2.8 2.3.6 1.8-.2 2.4-.1 3.4.7q1.1.9 1 1.3c-.5.8-4.5 2.6-6.2 2.9a5 5 0 0 1-3-.5c-1.6-.8-3.8-.9-4.3-.2q-.3.4-1.3-.5l-1-1-2.4 1q-3.4 1.6-3.3-.2c0-.5-.7-.6-4.2-.3-3.9.2-4.3.1-5-.7q-1-.9-.2-1.7c.4-.8.4-1 0-1.5q-.4-.6-2.5 0c-3.9 1-5 .5-5-2.5q-.2-3-2.3-3m-1 2.8q.3 0 .7.4.5.6.3 1.3c-.3.9-2 .9-2.3 0q-.3-.8.5-1.3z"/>
<path d="M288 330.4c2.4-1.5 2.4-1.4 2.7-5.5.2-3 .2-3.2-.6-3.2q-1.8 0-1.8 3.7c0 1.6-.2 2.3-1 3-2 2-6.8 1.1-7.5-1.3q-.3-1 1.1-3c2.1-3 1.7-3.8-1-1.5-1.7 1.6-2 1.6-1.7.3q.4-2-1.8-1.4-1.1.2-1.3 1.6-.3 1.2-1.3 1.5c-1.2.3-3.2-.8-3.2-1.8 0-.7 3-4.4 6.9-8.4 1.4-1.5 2.6-3 2.6-3.1q-.2-.4-1.7-.4-2 0-1.8.8c0 .4-1.9 3-4.3 5.7-5 5.6-5.4 6.7-3 8.2a6 6 0 0 0 6.6-.2l1.6-1.1v2c0 2.5.5 3.5 2.5 4.5a8 8 0 0 0 8-.4m104.4-34.6c-1.8 1.1-.4 3.4 0 5-.8 2-3.5 2.6-5.5 3-2.8.5-4.8 2.8-5.8 5.3-.6 1.6-2 4-3.5 1.6-1.3-1.3-3.7-2.4-5.2-.8-1.2 1.1-1.5 2.7-2 4.2-.7-1.1-1-2.8-2.4-3.2-2.4.3-1.5 3.3-.4 4.5 1 1.5 2 3.3 1 5-1 2-4 3.4-5.7 1.7-1.6-.9-.5-4-2.2-4.2-.8.6-.8 3.9-2.1 2.1-1-1.5-.4-3.6-1.6-4.9-1.3.2-2.4 2.5-2 3.7 1.8 2.4 2.6 5.4 3.3 8.3.4 1.2-.1 3.5 1 4 .7-1.9 0-4 .6-5.9 1.8-.2 3.7.6 5.5.2 2.7-.3 4.7-2.6 5.6-4.9q.3-2.7-.1-5.4c2 .4 4.2.4 6.2 1 1 1.5-.3 3.7-.6 5.3-1 3.4-3.7 5.8-6.2 8-1.1.7-1.2 2.4.3 1.5a15 15 0 0 0 7.5-8c1.1-2.6.2-5.5 1-8.1 1-2 3.5-1.6 5.4-1.6s3.5-2.3 2.9-4.2c-.6-2.2 1.7-3.2 3.2-4 2.1-1 3.7-3.1 3.5-5.5 0-1.3 0-3.6-1.7-3.7m-7.3 12.5c2.2.6-.4 4.8-1.6 2.1-.4-1 .5-2.1 1.6-2.1m-10.3 3c2.9-.1 1.8 4-.6 2.2-1.3-.7-.9-2.2.6-2.2M270 327.6q0-.6-.6-.7c-.7 0-1.2.7-.9 1.3.4.7 1.3.3 1.5-.6m34-3.6q0-1-.8-.8c-1.1.2-1.3 1.7-.1 1.7q.9 0 .9-1zm-42-20.4c-1.3-.3-2.2.9-2.7 2q-1.4 2.8-4 4.3-2 .4-3.9-.8c-1.3-.7-1-2.3-1.6-3.4-1-.8-2.7.3-2.6 1.5-.1 1.6 1.3 2.5 2.6 3.1 1 .7 2.6 1 3 2.3 0 1.1.4 2.4 1.7 2 1.5 0 2 1.8 1.3 2.9a6 6 0 0 0-.7 4c.7.7 1.4-1 2-1.4l1-1.4q4 .4 8 .4c2 0 3.5-1.2 4.7-2.6 1.8-1.8 3.2-3.9 5.1-5.4 1.4-.4.7-3-.8-2.2-1.3.5-1.7 2-2.6 2.9a31 31 0 0 1-5 5.2c-1.5.6-3.1.3-4.6 0-.6-.5 1.2-1 1.5-1.6q1.4-1.1 2.3-2.7c-.5-1-1.9-1-2.9-1-2.4.2-4.3 2.3-6.8 2.5-1.9 0-.9-2 0-2.7q2.5-3 5.1-5.7c.5-.6 2.3-1.2 1.2-2q-.6-.2-1.3-.2m1.2 10c1.3.7-.8 1.8-1.6 1.7-1.1.3-1.2-.8-.2-1q.9-.6 1.8-.7m-3.8 2.6c.7 0 2.2.7.8 1.1-1 .8-2-.8-.8-1.1"/>
<path d="M289.4 317.8c0-1-1.6-.8-1.8.2q-.3.8.8.6 1-.1 1-.8m74.7-6.6c.2-.9-1-1.5-1.7-.8s0 1.9.8 1.7q.6-.1 1-.9zM248 302.1c1.1-1 1.2-1.1.7-3.3-.8-3.1-.7-3.5.5-3.8 1.5-.3 5.3 1.7 6 3.3.8 1.3.7 1.4-.4 2.4-1.2 1.1-1.2 2.4 0 2.4 1 0 3.7-2.6 3.7-3.5 0-1.3-3-4.4-5.4-5.5a11 11 0 0 0-4.6-1c-3.1 0-3.5.7-2.7 4.2q1.4 6.4-3.7 1.6a10 10 0 0 1-3.5-8.6q0-6 5.1-6.6 3.5-.6 0-1.2c-3.6-.6-6.6 1.8-7.7 6-1.3 4.7 1.6 10.4 6.7 13.3 2.7 1.5 3.7 1.6 5.3.3m139.2-5.2q.5-.5.5-1.4.1-1.3 1.1-2.4 1-1.4 1-1.8c0-.8-1.3-.8-2.3 0q-1.8 1.4-2 0l1.2-.9q2.4-1.1.4-2.1c-1.7-.8-3.5.6-3.6 3-.1 1.6 0 1.8 1.2 2.5s1.3 1 1.1 2q-.3 2.6 1.4 1.1m13-1.4q1.6-1.6 1.8-2.2t1.9-2c2.8-2 3.5-4 2.2-7.3-.5-1.3-2-3-5.5-6a26 26 0 0 0-5.4-4.4c-.9 0-.7 3.4.2 3.7 1.7.6 2.8 1.3 5.4 3.7 3.2 2.8 4.6 5.5 3.8 7-.7 1.4-1.7 1-4.5-2a14 14 0 0 0-3.2-2.9q-.5.1-.5 1.4-.1 1.4 2 3.5c2.3 2.6 2.5 4.1.7 5.5l-1.4 1a33 33 0 0 0-9-10q-.5 0-.5 1.4c0 1.3.2 1.7 1.2 2.2a38 38 0 0 1 7 7l1.8 2zm6-16.8c-.5-1.2-8.4-9.4-9.3-9.4q-.6 0-.4 1.8c0 1.6.3 1.8 1.4 2.1a20 20 0 0 1 4.6 3.7 17 17 0 0 0 3.7 3zm-47.8 92.6a1.2 1 0 1 1-2.3 0 1.2 1 0 1 1 2.3 0m4.2-1.4a1.2 1 0 1 1-2.4 0 1.2 1 0 1 1 2.4 0"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,673 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bo" viewBox="0 0 640 480">
<path fill="#007934" d="M0 0h640v480H0z"/>
<path fill="#ffe000" d="M0 0h640v320H0z"/>
<path fill="#d52b1e" d="M0 0h640v160H0z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m368.6 210.7-98 97.9-1.3-1 98-97.8 1.3 1z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M374.7 204.5c-.4.7-1.4 2.5-1 3.8l-2-1.5q.7 1.4-.1 1.8c-.3.4-1.4.3-2.1.2q1 .7 2.4 1h2c-.7.3-2.2.8-3.3 1-.5.1-1.6.2-2 0-.6.5-1.9-.4-1.3-1q-.4-.5-.4-1.4-.1-1.2.7-3l.5 1.7q.4.8 1.1 1.4-.5-.8.1-1.8.9-.7 2-.2l-1.9-1.3c.8 0 3.3-1 4.1-1.5l4.9-3.8z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m387 222.8-125.7 70.9-.9-1.2 125.7-71 1 1.3z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M394.9 218.3c-.6.6-2.2 2-2.2 3.4l-1.4-2q.2 1.4-.7 1.7c-.4.4-1.4 0-2-.3a5 5 0 0 0 2 1.5l1.7.6c-.6.1-2.3.3-3.4.2-.5 0-1.5-.2-1.9-.6-.7.4-1.6-.8-1-1.2l.2-1.4q.3-1.2 1.6-2.8v1.8q.1.7.5 1.6-.2-1 .7-1.7 1-.5 2 .3l-1.4-1.7c.8.1 3.5-.2 4.4-.5l6-2.5c-1.7 1-4.6 3-5.1 3.6z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m376.3 217.5-113 85.2-1-1.1 112.9-85.2 1.1 1z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M383.4 212.1c-.5.6-1.8 2.3-1.6 3.6L380 214q.4 1.4-.4 1.7c-.4.4-1.5.2-2.1 0q.9.8 2.2 1.2l1.9.3c-.7.3-2.3.6-3.4.6-.5 0-1.6 0-2-.3-.6.5-1.7-.6-1.1-1.1q-.2-.5-.1-1.4a6 6 0 0 1 1.1-3l.2 1.8q.3.8.9 1.6-.4-.9.4-1.8 1-.5 2 0l-1.6-1.5c.7 0 3.3-.6 4.2-1s3.8-2 5.5-3.1c-1.4 1.2-4 3.5-4.4 4z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m271.4 210.7 98 97.9 1.3-1-98-97.8-1.3 1z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M265.3 204.5c.4.7 1.4 2.5 1 3.8l2-1.5q-.7 1.4.1 1.8c.3.4 1.4.3 2.1.2q-1 .7-2.4 1h-2c.7.3 2.2.8 3.3 1 .5.1 1.6.2 2 0 .6.5 1.9-.4 1.3-1q.4-.5.4-1.4.1-1.2-.7-3l-.5 1.7q-.4.8-1.1 1.4.5-.8-.1-1.8-.9-.7-2-.2l1.9-1.3c-.8 0-3.3-1-4.1-1.5l-4.9-3.8z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m253 222.8 125.7 70.9c.2-.3.6-1 .9-1.2l-125.7-71-1 1.3z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M245.1 218.3c.6.6 2.2 2 2.2 3.4l1.4-2q-.2 1.4.7 1.7c.4.4 1.4 0 2-.3a5 5 0 0 1-2 1.5l-1.8.6c.7.1 2.3.3 3.4.2.6 0 1.6-.2 2-.6.7.4 1.6-.8 1-1.2l-.2-1.4a6 6 0 0 0-1.6-2.8v1.8q-.1.7-.5 1.6.2-1-.7-1.7-1-.5-2 .3l1.4-1.7a17 17 0 0 1-4.4-.5l-6-2.5c1.7 1 4.6 3 5.1 3.6z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m263.7 217.5 113 85.2 1-1.1-112.9-85.2-1.1 1z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.6 212.1c.5.6 1.8 2.3 1.6 3.6l1.7-1.7q-.4 1.4.4 1.7c.4.4 1.5.2 2.1 0a5 5 0 0 1-2.2 1.2l-1.9.3c.7.3 2.3.6 3.4.6.5 0 1.6 0 2-.3.6.5 1.7-.6 1.1-1.1q.2-.5.1-1.4a6 6 0 0 0-1.1-3l-.2 1.8q-.3.8-.9 1.6.4-.9-.4-1.8-1-.5-2 0l1.6-1.5a15 15 0 0 1-4.2-1c-1-.4-3.8-2-5.5-3.1 1.4 1.2 4 3.5 4.4 4z"/>
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M300.1 283.4c4-2.6 15.1-4 16.7-3.6-8 6-16 6.3-16.7 3.7z"/>
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M300.2 283.5c.7 2.6 8.7 2.4 16.6-3.6a69 69 0 0 1-16.6 3.6z"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M300.2 283.5c.7 2.6 8.7 2.4 16.6-3.6a69 69 0 0 1-16.6 3.6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M300.1 283.4a41 41 0 0 1 16.7-3.6c-8 6-16 6.3-16.7 3.6z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M347.6 220.2 322 272.5c-1.3 1-2.3-.3-2.7-.2-1.5 1.7-3.6 2-4 2.5-1.8 2.4-.8 4.3-.7 4.5 1.3 1.8-1.6 3.5-1.5 4-.6 1-2.7.9-3.1 2l-4.8 9.3c-.6.5-3.7 6.1-3.7 6.1-2 0-10.2-5.2-10.4-5.1 4.6-7.3 15.6-18.5 15.3-19.2 3.1-5.2 8-10.9 10.1-10.8 3-1.6 4.5-5.7 4-6.6 2.2 0 3.5-1.4 3.6-1.5l18.8-37.6c1.6-.5 1.4.1 1.9 1 0 0 1-1.2.9-1.3.9-.4 1.8.2 1.8.6z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M348.6 208.8c-.6 1 .2 1 .5 1.1l1 .3c1.3 0 2 .7 2 1l-30 61.3c-1.3 1-2.5-.3-2.9-.1l20.6-41.8 10-18.8-2.8-1.2q-1.2-.4-.7-1.6l12.6-21.6-10.2 21-.1.4"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M348.6 208.8c-.6 1 .2 1 .5 1.1l1 .3c1.3 0 2 .7 2 1l-30 61.3c-1.3 1-2.5-.3-2.9-.1l20.6-41.8 10-18.8-2.8-1.2q-1.2-.4-.7-1.6l12.6-21.6-10.2 21-.1.4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M308.8 272.4c-3 0-4.6 2-2.7 4.7m1.4-2.4c-1 .6-1.7-.3-1.7-.3m15.2-13c-1.5 5.6-4.3 9.3-5 10.4-2 2.2-3.9 7.2-3.5 8.1l-8.1 13.3"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M322 272.7c-1.4-.5-5.7-4.5-10-3.8-3.3 3.8-5.3 7.7-5.9 8.2q6.1 4.9 7.6 5.4c.7-.4 1-1.5 1-1.5.9-1-.2-1.7-.2-1.7.2-2.5 2-4.2 3.8-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.8-1.9 1.8-1.9z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M322 272.7c-1.4-.5-5.7-4.5-10-3.8-3.3 3.8-5.3 7.7-5.9 8.2q6.1 4.9 7.6 5.4c.7-.4 1-1.5 1-1.5.9-1-.2-1.7-.2-1.7.2-2.5 2-4.2 3.8-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.8-1.9 1.8-1.9z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M317.6 272.8c-2 0-4 .9-4.8 2.6l4.8-2.6"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M317.6 272.8c-2 0-4 .9-4.8 2.6m-3.5.7q.3.6 1.1.5.9-.4.6-1-.4-.8-1.2-.5t-.5 1zm2.5-3.4q.3.6 1.2.4.8-.3.5-1t-1.2-.5q-.8.4-.5 1z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M345.3 226.1q1.3-.5.8-2l-4.7-1.7s-.6 0-1 .7.1 1.2.1 1.2l4.8 1.8"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M345.3 226.1q1.3-.5.8-2l-4.7-1.7s-.6 0-1 .7.1 1.2.1 1.2l4.8 1.8"/>
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M294.5 286c3.9-2.7 15-4.2 16.6-3.8-7.8 6.2-15.8 6.5-16.6 3.9z"/>
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M294.6 286c.7 2.7 8.7 2.3 16.5-3.8a62 62 0 0 1-16.5 3.9z"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M294.6 286c.7 2.7 8.7 2.3 16.5-3.8a62 62 0 0 1-16.5 3.9z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M294.6 286a40 40 0 0 1 16.6-3.9c-7.9 6.2-16 6.6-16.6 4z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m340.7 222-24.4 52.8c-1.3 1-2.4-.3-2.7-.2-1.5 1.7-3.6 2.1-4 2.5-1.8 2.5-.7 4.4-.6 4.6 1.3 1.8-1.5 3.5-1.4 4-.6 1-2.7.9-3.1 2.1-.1-.1-4.2 8.4-4.6 9.3-.6.5-3.5 6.2-3.5 6.2-2.1 0-10.3-5-10.5-5 4.4-7.3 15.1-18.7 14.9-19.4 3-5.3 7.7-11 9.9-11 3-1.6 4.3-5.7 3.7-6.6 2.3-.1 3.5-1.5 3.7-1.6l18-37.8c1.6-.6 1.3 0 1.9 1 0 0 1-1.2.9-1.4.9-.4 1.7.2 1.8.6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m340.7 222-24.4 52.8c-1.3 1-2.4-.3-2.7-.2-1.5 1.7-3.6 2.1-4 2.5-1.8 2.5-.7 4.4-.6 4.6 1.3 1.8-1.5 3.5-1.4 4-.6 1-2.7.9-3.1 2.1-.1-.1-4.2 8.4-4.6 9.3-.6.5-3.5 6.2-3.5 6.2-2.1 0-10.3-5-10.5-5 4.4-7.3 15.1-18.7 14.9-19.4 3-5.3 7.7-11 9.9-11 3-1.6 4.3-5.7 3.7-6.6 2.3-.1 3.5-1.5 3.7-1.6l18-37.8c1.6-.6 1.3 0 1.9 1 0 0 1-1.2.9-1.4.9-.4 1.7.2 1.8.6z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M341.4 210.6c-.5 1 .3 1 .6 1.2l1 .3q2 .2 2 1l-28.7 61.7c-1.3 1-2.5-.3-2.9 0l19.7-42.2 9.6-19-2.8-1q-1.2-.4-.7-1.7l12-21.8-9.6 21.1-.2.4"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M341.4 210.6c-.5 1 .3 1 .6 1.2l1 .3q2 .2 2 1l-28.7 61.7c-1.3 1-2.5-.3-2.9 0l19.7-42.2 9.6-19-2.8-1q-1.2-.4-.7-1.7l12-21.8-9.6 21.1-.2.4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M303 275c-3-.2-4.6 2-2.6 4.6m1.3-2.4c-1 .6-1.7-.3-1.7-.3m15-13.3c-1.5 5.7-4.2 9.4-4.7 10.6-2.2 2.2-3.9 7.3-3.5 8.1l-7.8 13.4"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M316.1 275c-1.3-.5-5.8-4.5-10-3.7-3.3 3.9-5.1 7.8-5.7 8.3a50 50 0 0 0 7.7 5.3c.7-.4 1-1.5 1-1.5.8-1-.2-1.8-.2-1.8 0-2.4 1.8-4.2 3.6-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.7-2 1.7-2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M316.1 275c-1.3-.5-5.8-4.5-10-3.7-3.3 3.9-5.1 7.8-5.7 8.3a50 50 0 0 0 7.7 5.3c.7-.4 1-1.5 1-1.5.8-1-.2-1.8-.2-1.8 0-2.4 1.8-4.2 3.6-4.3 2.2-.2 1.6-.4 1.9-.4 1-.6 1.7-2 1.7-2z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M311.8 275.1c-2 0-4 1-4.7 2.7l4.7-2.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M311.8 275.1c-2 0-4 1-4.7 2.7m-3.6.8q.4.6 1.2.4.8-.4.5-1t-1.2-.5q-.8.4-.5 1zm2.4-3.5q.4.6 1.3.5.8-.4.5-1-.4-.8-1.2-.5t-.6 1z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M338.5 228q1.3-.5.7-2l-4.7-1.6s-.5 0-1 .7.2 1.2.2 1.2l4.8 1.8"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M338.5 228q1.3-.5.7-2l-4.7-1.6s-.5 0-1 .7.2 1.2.2 1.2l4.8 1.8"/>
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M340.6 283.3a39 39 0 0 0-16.8-3.7c8 6.1 16.1 6.3 16.8 3.7z"/>
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M340.6 283.3c-.7 2.7-8.8 2.4-16.8-3.6a63 63 0 0 0 16.8 3.6z"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M340.6 283.3c-.7 2.7-8.8 2.4-16.8-3.6a63 63 0 0 0 16.8 3.6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M340.6 283.3c-4.2-3-15.8-4-16.9-3.7 8 6 16.2 6.3 16.9 3.6z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m292.7 219.3 25.7 52.9c1.3 1 2.4-.3 2.7-.2 1.6 1.7 3.7 2.1 4.2 2.5 1.8 2.4.8 4.4.7 4.6-1.4 1.8 1.5 3.5 1.4 4.1.6 1 2.7.8 3.2 2l4.8 9.3c.7.5 3.7 6.2 3.7 6.2 2.1 0 10.3-5.3 10.5-5.2-4.6-7.3-15.7-18.7-15.4-19.4-3.1-5.2-8.1-11-10.2-10.9-3-1.6-4.5-5.7-4-6.6-2.3 0-3.6-1.5-3.7-1.6l-19-37.9c-1.6-.5-1.3.1-1.9 1 0 0-1-1.2-.9-1.3-.9-.5-1.8.2-1.8.5z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M291.7 207.8c.5 1-.2 1-.5 1.2l-1.1.3c-1.2 0-1.9.7-1.9 1l30.2 61.9c1.3 1 2.5-.3 3-.1l-20.8-42.3-10-19 2.7-1.1q1.2-.3.7-1.6l-12.7-21.9 10.2 21.2.2.4"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M291.7 207.8c.5 1-.2 1-.5 1.2l-1.1.3c-1.2 0-1.9.7-1.9 1l30.2 61.9c1.3 1 2.5-.3 3-.1l-20.8-42.3-10-19 2.7-1.1q1.2-.3.7-1.6l-12.7-21.9 10.2 21.2.2.4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M331.9 272.1c3 0 4.6 2.1 2.7 4.7m-1.4-2.3c1 .6 1.7-.4 1.7-.4M319.5 261c1.6 5.7 4.4 9.5 5 10.6 2.2 2.2 4 7.3 3.7 8.2l8.1 13.4"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M318.6 272.4c1.3-.4 5.7-4.6 10-3.8 3.4 3.8 5.4 7.7 6 8.2q-6.1 5-7.7 5.5c-.7-.4-1-1.5-1-1.5-.9-1 .2-1.8.2-1.8-.1-2.4-2-4.2-3.8-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-1.9-1.7-1.9z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M318.6 272.4c1.3-.4 5.7-4.6 10-3.8 3.4 3.8 5.4 7.7 6 8.2q-6.1 5-7.7 5.5c-.7-.4-1-1.5-1-1.5-.9-1 .2-1.8.2-1.8-.1-2.4-2-4.2-3.8-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-1.9-1.7-1.9z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M323 272.5c2 0 4 1 4.8 2.7l-4.8-2.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M323 272.5c2 0 4 1 4.8 2.7m3.6.6a1 1 0 0 1-1.2.5.7.7 0 0 1-.5-1q.3-.7 1.2-.5.8.4.5 1zm-2.5-3.4q-.4.6-1.3.5-.7-.4-.5-1 .4-.8 1.2-.5t.6 1z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M295 225.4a1.4 1.4 0 0 1-.8-2l4.8-1.8s.5.1 1 .7-.2 1.2-.2 1.2l-4.8 1.9"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M295 225.4a1.4 1.4 0 0 1-.8-2l4.8-1.8s.5.1 1 .7-.2 1.2-.2 1.2l-4.8 1.9"/>
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M345.6 286a38 38 0 0 0-16.6-3.8c7.9 6.2 15.9 6.5 16.6 3.9z"/>
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M345.6 286c-.8 2.7-8.7 2.3-16.5-3.8a62 62 0 0 0 16.5 3.9z"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M345.6 286c-.8 2.7-8.7 2.3-16.5-3.8a62 62 0 0 0 16.5 3.9z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M345.6 286a40 40 0 0 0-16.6-3.9c7.8 6.2 15.9 6.6 16.6 4z"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m299.5 222 24.4 52.8c1.3 1 2.3-.3 2.7-.2 1.5 1.7 3.6 2.1 4 2.5 1.7 2.5.7 4.4.6 4.6-1.4 1.7 1.5 3.5 1.4 4 .5 1 2.6.9 3 2.1.2-.1 4.2 8.4 4.7 9.3.6.5 3.5 6.2 3.5 6.2 2 0 10.3-5 10.5-5-4.4-7.4-15.2-18.7-15-19.4-2.9-5.3-7.7-11-9.8-11-3-1.6-4.3-5.7-3.7-6.6-2.3-.1-3.6-1.5-3.7-1.6L304 222c-1.6-.6-1.4 0-2 1 0 0-.9-1.2-.8-1.4-.9-.4-1.8.2-1.8.6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m299.5 222 24.4 52.8c1.3 1 2.3-.3 2.7-.2 1.5 1.7 3.6 2.1 4 2.5 1.7 2.5.7 4.4.6 4.6-1.4 1.7 1.5 3.5 1.4 4 .5 1 2.6.9 3 2.1.2-.1 4.2 8.4 4.7 9.3.6.5 3.5 6.2 3.5 6.2 2 0 10.3-5 10.5-5-4.4-7.4-15.2-18.7-15-19.4-2.9-5.3-7.7-11-9.8-11-3-1.6-4.3-5.7-3.7-6.6-2.3-.1-3.6-1.5-3.7-1.6L304 222c-1.6-.6-1.4 0-2 1 0 0-.9-1.2-.8-1.4-.9-.4-1.8.2-1.8.6z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M298.8 210.6c.4 1-.3 1-.6 1.2l-1 .3q-2 .2-2 1l28.7 61.7c1.3 1 2.5-.3 2.9 0L307 232.5l-9.6-19 2.7-1q1.4-.4.8-1.7L288.8 189l9.7 21.1.2.4"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M298.8 210.6c.4 1-.3 1-.6 1.2l-1 .3q-2 .2-2 1l28.7 61.7c1.3 1 2.5-.3 2.9 0L307 232.5l-9.6-19 2.7-1q1.4-.4.8-1.7L288.8 189l9.7 21.1.2.4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M337.2 275c3-.2 4.5 2 2.6 4.6m-1.4-2.4c1 .6 1.8-.3 1.8-.3m-15-13.3c1.4 5.7 4.2 9.4 4.7 10.6 2.1 2.2 3.8 7.3 3.5 8.1l7.8 13.4"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M324 275c1.4-.5 5.8-4.5 10.1-3.7 3.2 3.9 5.1 7.8 5.7 8.3a54 54 0 0 1-7.8 5.3c-.6-.4-1-1.5-1-1.5-.7-1 .3-1.8.3-1.8 0-2.4-1.8-4.2-3.6-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-2-1.7-2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M324 275c1.4-.5 5.8-4.5 10.1-3.7 3.2 3.9 5.1 7.8 5.7 8.3a54 54 0 0 1-7.8 5.3c-.6-.4-1-1.5-1-1.5-.7-1 .3-1.8.3-1.8 0-2.4-1.8-4.2-3.6-4.3-2.3-.2-1.6-.4-2-.4-1-.6-1.7-2-1.7-2z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M328.4 275.1c2 0 4 1 4.7 2.7l-4.7-2.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M328.4 275.1c2 0 4 1 4.7 2.7m3.6.8a1 1 0 0 1-1.2.4q-.8-.4-.6-1 .4-.7 1.3-.5.7.4.5 1zm-2.5-3.5q-.4.6-1.2.5-.8-.4-.5-1 .4-.8 1.2-.5t.5 1z"/>
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M301.6 228q-1.2-.5-.7-2l4.7-1.6s.6 0 1 .7-.2 1.2-.2 1.2l-4.8 1.8"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M301.6 228q-1.2-.5-.7-2l4.7-1.6s.6 0 1 .7-.2 1.2-.2 1.2l-4.8 1.8"/>
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m315.3 250.7 35.5-38-1.4-.9-35.6 38z"/>
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M349.8 212.2c-1.2-1-3.4-2.2-5-1.8-.5-2.2 2.5-4.4 3.8-4-.3 2.3 3.2 3.8 3.1 3.8z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M352.1 210.4c1 .8 1.4.8 2.8 1.6 1.4.7 3.2-1.1 4.1-1.7 0 0 1 3.4-1.1 5.6-2 2.3-4.6 2.8-6.5 2.1 0 0 2.6-2.5 1.5-3.6-1-1.1-1.4-1.2-2.5-1.9"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M-27.7-406.5h4.1v2.2h-4.1z" transform="matrix(-.67726 .73575 -.82314 -.56784 0 0)"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m308.2 290.3-1 9 1.8-2.2c.3-.6 1.5-2.1 1.8-7.4 0 0-1-2.9-1.4-2.9-.7-.4-1.2 3.5-1.2 3.5zm2.2-20.1-2.7 15.8c0 .5 1.3 1.6 2.1-1.2l1.5-10.5z"/>
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m315.9 284.6-1.4-2-.4 3.1s2 1.5 1.7 4.3l.4-.6.2-1s.5-2 .5-3.1z"/>
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M307.3 299.4s3.3-3 3.5-9.7l.4-1.9s0 1.5.8.4c.6-1.5.6-2.8.6-2.8s1.2-1.6 1.6.3l-1.2 9.6-.3 2s-.7-1-1.4.1-1.8 2.7-4 2zm4-25.1-1.5 10.5s1.2.6 1.4 3c.1 1.2.6.6.8.4.2-.8 0-2.3 0-2.3l.6-7.3s-1.2-3.4-1.3-4.3z"/>
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m310.1 298.8-.2 2.6s1 0 1.7-1.2c.8-1.1 1-2.8 1-2.8s-.7-1.1-1.3 0c-.5 1-1.2 1.4-1.2 1.4zm1.8-10.6c.6-1 .8-2.6.7-2.8l-.7.5c.2 1.2 0 2.3 0 2.3z"/>
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M315.3 287.1a4 4 0 0 0-1.3-1.5l-1.5 12s-.4 3-2.3 3.7c0 0 1.1 10.3 4.5 7.5.4-.4 1-3.6.9-5.5l-.9-6a27 27 0 0 1 .5-4.7l.6-2.6c.2-.2 0-1.8-.5-2.9z"/>
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m316.9 285.3 1 1c.3 0-2.3 19.3-2.3 19.3s0-2-.7-6c-.6-3.2.2-7.5.9-9.6 0 0 .8-.5 1-4.7z"/>
<path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m312.6 278.8-.7 7.1s1.8-2.4 2.2-.2l.4-3.2s-1.5-2.4-2-3.7z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.3 287.8s-.6-6.1-3.6-1.8a10 10 0 0 0 0 3c0 .8.9 1.8 1.2 2.3.7 1 1.3-.2 1.3-.2s.7-1 1-3.3z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M287.8 237c-.1-3.5-1.2-9.3-1.3-13.3l-12-12.2s-1.4 9.9-5.8 15.5l19 10"/>
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="M288.7 237.3c.5-2.4 1-5 1.5-10.2l-7.7-7.6c0 3.2-3.6 8.1-3.9 14"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M295.3 244.7c1-4.3-1.3-4.8 2-10.8l-7.2-6.8c-1.3 4-2.2 6.6-2 10l6 4.4"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M267.6 270c-1.5-4.2.5-12.7.2-18-.1-3.5 2.5-16.7 2.4-20.6l-14.1-8.8s-.6 14.3-2.3 29.9q-2 12.1-.4 21.5c1.5 8.7 3 12.2 6.5 15.9 6.3 6.5 19.7 2.7 19.7 2.7 11.3-2.3 17.8-9.4 17.8-9.4s-3.7.8-9.6 1.4c-13-.9-18.2 2.4-18.6-11"/>
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m305.4 278.8.2-.1-5.9 1.9-8 .6c-17.2.4-15-10.3-14.3-27.5.1-6.6 1.4-14.8 1-17.7l-11.5-6.6c-3.8 10.6-2.6 18-3.3 23.5-.4 6-1.7 17.4.2 22.4 2.7 11.6 11.8 11.2 24.2 10.1 6.1-.5 9.4-2 9.4-2l8-4.6"/>
<path fill="#007a3d" stroke="#000" stroke-width=".1" d="M305.6 278.5a34 34 0 0 1-6 2.2l-8 .8c-12.5 1-19.8-7.7-18.2-27.6 0-7 .2-10.2 2.6-19.5l7 4v.7c-.5 2-1.5 7-1.5 9.2 0 16 10.1 28.2 23.9 30.3h.2"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M260 230.6c1 2 8 12.5 12 14.5m-11-7.6c1.3 2 9.8 14 13.6 14.6m-15.5 3.6c2 2.4 4 7 9.7 10m-7 3.3c4 3.7 13.6 11.6 23 12m-23-6c2 2.3 6.2 13.3 24 8.3m-26.7-6.3c1.2 2.6 10.1 17.3 26 11.6"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M277.8 264.8c-1.5-4.3.5-12.7.2-18.1-.1-3.5 1.5-15.5 1.5-19.5l-13.2-9.9s-.6 14.3-2.3 30a84 84 0 0 0-1.5 23.9c1.8 10 6.6 12.8 7.5 13.6 6.7 6 22 5.4 23.5 4.9 10.8-4 15.6-10.8 15.6-10.8s-5.2-.1-11.1.5c-13-1-19.7-.4-20.1-13.8"/>
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="M315.6 273.5h.2l-5.9 1.8-8 .6c-17.2.5-15-10.2-14.3-27.5.1-6.5.3-12.4 0-15.3l-10.3-7.6c-3.8 10.7-2.8 16.7-3.5 22.2-.4 5.8-1.7 17.3.2 22.3 2.7 11.7 11.8 11.2 24.2 10.2 6.1-.5 9.4-2.1 9.4-2.1l8-4.6"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M315.9 273.4c-2.4 1.2-6 2.1-6 2.1l-8 .8c-12.5 1-19.8-7.7-18.2-27.6 0-7-.3-7.5 2.2-16.9 3.8 2.5 11.1 8.8 11.1 8.8s-2 2.8-1.5 6.7c0 16 6.4 24 20.2 26.1l1.5-13"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M270.1 225.3c1.2 2 8.1 12.6 12 14.6m-10.8-7.7c1.2 2 9.7 14 13.5 14.7m-15.5 3.6c2 2.3 4 7 9.7 10m-7 3.3c4 3.6 13.6 11.6 23 12m-23-6c2 2.3 6.2 13.2 24 8.3m-26.7-6.4c1.2 2.7 10.1 17.3 26 11.7"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m256.2 224-.7 6q-.2 6.6.1 9.8c0 .2.9 5.5.6 5.8-1 1.1-1.1 1.2-2.2.4-.1-.2.5-5.6.5-6.3l.4-9.9c0-1 1-6.4 1-6.4s0-1.2.3.5"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m256.2 224-.7 6q-.2 6.6.1 9.8l.7 5.8c-1 1.1-1.2 1.6-2.3.7-.1-.2.5-5.9.5-6.6l.4-9.9c0-1 1-6.4 1-6.4s0-1.2.3.5z"/>
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="M256 222.2s-1 6-1.2 9.6l-.3 7.9-.5 4.5c-.1.7.1.2 0 .2-.9.5-1.5.1-2-.3-.2-.1 1.4-3.8 1.4-4.5.9-10.8 2.4-17 2.4-17s-.6 3.7.3-.4"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M256 222.2s-1 6-1.2 9.6l-.3 7.9-.5 4.5c-.1.7.1.2 0 .2-.9.5-1.5.1-2-.3-.1-.1 1.4-3.8 1.5-4.5.8-10.8 2.3-17.1 2.3-17.1s-.6 3.8.3-.3zm-.4 17.3s-1 .4-1 .2m0-1.3s.7 0 .8-.2m0-1s-.6.3-.8 0m.8-1.6h-.6m.6-1.5h-.6m.5-2.1s-.3.1-.4-.1m.5-1.7h-.5m-.5 9.5s-.9.2-1-.1m1.1-2s-.9.1-1-.1m1-1.3h-.7m.9-1.5h-.7m.7-1.7h-.5m.7-1.5h-.6m.6-1.7s-.4.3-.4 0m0 9s-.9 0-.9-.3m12.8-19.8-.7 6a63 63 0 0 0 0 9.8c0 .3 1 5.5.7 5.8-1 1.2-1.1 1.3-2.2.4-.1-.1.5-5.5.5-6.3l.4-9.8c0-1.1 1-6.5 1-6.5s0-1.1.3.6"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m266.4 218.7-.7 6a73 73 0 0 0 .1 9.8l.7 5.8c-1 1.2-1.2 1.6-2.3.7-.1-.1.5-5.8.5-6.6l.4-9.8c0-1.1 1-6.5 1-6.5s0-1.1.3.6z"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M266.3 217s-1.2 6-1.3 9.5l-.3 8-.5 4.4v.3c-.9.5-1.5 0-2-.4-.2 0 1.4-3.7 1.4-4.5a127 127 0 0 1 2.4-17l.3-.4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M266.3 217s-1.2 6-1.3 9.5l-.3 8-.5 4.4v.3c-.9.5-1.5 0-2-.4-.2 0 1.4-3.7 1.4-4.5.9-10.8 2.4-17 2.4-17zm-.5 17.2s-1 .5-1 .2m0-1.2s.7 0 .8-.3m0-1s-.6.4-.8.1m.7-1.7h-.5m.6-1.5h-.6m.5-2s-.4 0-.4-.2m.5-1.7h-.5m-.5 9.6s-.9.1-1-.2m1.1-1.9s-.9 0-1-.2m1-1.3h-.7m.9-1.4h-.7m.7-1.7-.5-.1m.7-1.4-.6-.1m.6-1.6s-.4.2-.4 0m0 9s-.9 0-.9-.4"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M274.3 211.3s.5 5.1.2 8c-.3 3.5-.3 4.5-.6 6.6v3.9c.8.5 1.5.2 2 0 .3-.1-1-3.3-1-4 .5-8.9-.4-14.3-.4-14.3l-.2-.2"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M274.3 211.3s.5 5.1.2 8c-.3 3.5-.3 4.5-.6 6.6v3.8c0 .5-.1 0 0 .1.8.5 1.4.2 2 0 .2-.1-1-3.3-1-4 .5-9-.4-14.3-.4-14.3zm-.3 14.6s.9.2 1 0m-.8-1.7s.9.2 1 0m-1-1.2h.9m-.8-1.2h.7m-.5-1.4h.5m-.5-1.3h.5m-.4-1.4s.4.2.4 0m-1 7.4s1 .1 1-.1"/>
<path fill="#005000" stroke="#000" stroke-width=".1" d="M306 221.7h.8z"/>
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M316.7 256.4s-.3-.2-.4 0l.1.2zm-1 1.1 2.1-.1"/>
<path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M292.2 284.2c-.2 3-7.4 6.6-12.7.1-5.7-4.5-4.5-11.4 0-12.3l54.7-53.3c2.2-1.2 2.4-2.3 3.5-3.5 2.3 2.5 7 6.8 9.6 9q-2.6 1.9-3.2 3.5z"/>
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M337.8 215c2.6-3.5 12.8 5.8 10 8.7-2.6 2.8-12.4-5-10-8.6z"/>
<path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M347 223c-2 1.4-9.3-4.8-8.1-7.2 2-2.2 10.1 5.7 8 7.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M344 227.9a16 16 0 0 1-9.9-9m-23 44.8a16 16 0 0 1-11.4-11.6m9.1 14.3a16 16 0 0 1-11.4-11.6m-2.1 25.8c-5.8-1.8-10.4-6-12.2-12.1m9.8 14.8a18 18 0 0 1-12.3-12.2"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M279.4 285q-.4 2-2.1 1.4m13.7-2c-2.1 3.5-4.5 2.4-6.5 2.5"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M276.4 285.2q.2 1.6 1.7 1.6a2 2 0 0 0 1.7-1.6q-.1-1.6-1.7-1.6c-1.6 0-1.7 1-1.7 1.9"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M279.5 284.9q-.5 2-2 1.3m13.5-1.7c-2.1 3.4-4.5 2.3-6.5 2.4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m331.8 290.3 1 9-1.8-2.2c-.3-.6-1.5-2.1-1.8-7.4 0 0 1-2.9 1.4-2.9.7-.4 1.2 3.5 1.2 3.5zm-2.2-20.1 2.7 15.8c0 .5-1.3 1.6-2.1-1.2l-1.5-10.5z"/>
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m324.1 284.6 1.4-2 .4 3.1s-2 1.5-1.7 4.3l-.4-.6-.2-1s-.5-2-.5-3.1z"/>
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.8 299.4s-3.4-3-3.6-9.7l-.4-1.9s0 1.5-.8.4c-.6-1.5-.6-2.8-.6-2.8s-1.2-1.6-1.6.3l1.2 9.6.3 2s.7-1 1.4.1 1.8 2.7 4 2zm-4.1-25.1 1.5 10.5s-1.2.6-1.4 3c-.1 1.2-.6.6-.8.4-.2-.8 0-2.3 0-2.3l-.6-7.3s1.2-3.4 1.3-4.3z"/>
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m329.9 298.8.2 2.6s-1 0-1.7-1.2c-.8-1.1-1-2.8-1-2.8s.7-1.1 1.3 0c.5 1 1.2 1.4 1.2 1.4zm-1.8-10.6a6 6 0 0 1-.7-2.8l.7.5c-.2 1.2 0 2.3 0 2.3z"/>
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M324.8 287.1a4 4 0 0 1 1.2-1.5l1.5 12s.4 3 2.3 3.7c0 0-1.1 10.3-4.5 7.5-.4-.4-1-3.6-.9-5.5l.9-6a27 27 0 0 0-.5-4.7l-.6-2.6c-.2-.2 0-1.8.5-2.9z"/>
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m323.1 285.3-1 1c-.3 0 2.3 19.3 2.3 19.3s0-2 .7-6c.6-3.2-.2-7.5-.9-9.6 0 0-.8-.5-1-4.7z"/>
<path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m327.4 278.8.7 7.1s-1.8-2.4-2.2-.2l-.4-3.2s1.5-2.4 2-3.7z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M328.7 287.8s.6-6.1 3.6-1.8c0 0 .2 2.4 0 3 0 .8-.9 1.8-1.2 2.3-.7 1-1.3-.2-1.3-.2s-.7-1-1-3.3z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M352.2 237c.1-3.5 1.2-9.3 1.3-13.3l12-12.2s1.4 9.9 5.8 15.5l-19 10"/>
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="M351.3 237.3c-.5-2.4-1-5-1.5-10.2l7.7-7.6c0 3.2 3.6 8.1 3.9 14"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M344.7 244.7c-1-4.3 1.3-4.8-2-10.8l7.2-6.8c1.3 4 2.2 6.6 2 10l-6 4.4"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M372.4 270c1.5-4.2-.5-12.7-.2-18 .1-3.5-2.5-16.7-2.4-20.6l14.1-8.8s.6 14.3 2.3 29.9q2 12.1.4 21.5c-1.5 8.7-3 12.2-6.5 15.9-6.3 6.5-19.7 2.7-19.7 2.7-11.3-2.3-17.8-9.4-17.8-9.4s3.7.8 9.6 1.4c13-.9 18.2 2.4 18.6-11"/>
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m334.6 278.8-.2-.1 5.9 1.9 8 .6c17.2.4 15-10.3 14.3-27.5-.1-6.6-1.4-14.8-1-17.7l11.5-6.6c3.8 10.6 2.6 18 3.3 23.5.4 6 1.7 17.4-.2 22.4-2.7 11.6-11.8 11.2-24.2 10.1-6.1-.5-9.4-2-9.4-2l-8-4.6"/>
<path fill="#007a3d" stroke="#000" stroke-width=".1" d="M334.4 278.5a34 34 0 0 0 6 2.2l8 .8c12.5 1 19.8-7.7 18.2-27.6 0-7-.2-10.2-2.6-19.5l-7 4v.7c.5 2 1.5 7 1.5 9.2 0 16-10.1 28.2-23.9 30.3h-.2"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M380 230.6c-1 2-8 12.5-12 14.5m11-7.6c-1.3 2-9.8 14-13.6 14.6m15.5 3.6c-2 2.4-4 7-9.7 10m7 3.3c-4 3.7-13.6 11.6-23 12m23-6c-2 2.3-6.2 13.3-24 8.3m26.7-6.3c-1.2 2.6-10.1 17.3-26 11.6"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M362.3 264.8c1.4-4.3-.6-12.7-.4-18.1.2-3.5-1.4-15.5-1.4-19.5l13.2-9.9s.6 14.3 2.3 30a84 84 0 0 1 1.5 23.9c-1.8 10-6.6 12.8-7.5 13.6-6.7 6-22 5.4-23.5 4.9-10.8-4-15.6-10.8-15.6-10.8s5.2-.1 11.1.5c13-1 19.7-.4 20.1-13.8"/>
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="M324.4 273.5h-.2l5.9 1.8 8 .6c17.2.5 15-10.2 14.3-27.5-.1-6.5-.3-12.4 0-15.3l10.3-7.6c3.8 10.7 2.8 16.7 3.5 22.2.4 5.8 1.7 17.3-.2 22.3-2.7 11.7-11.8 11.2-24.2 10.2-6.1-.5-9.4-2.1-9.4-2.1l-8-4.6"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M324.1 273.4a34 34 0 0 0 6 2.1l8 .8c12.5 1 19.8-7.7 18.2-27.6 0-7 .3-7.5-2.2-16.9-3.8 2.5-11.1 8.8-11.1 8.8s2 2.8 1.5 6.7c0 16-6.4 24-20.2 26.1l-1.5-13"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M369.9 225.3c-1.2 2-8.1 12.6-12 14.6m10.8-7.7c-1.2 2-9.7 14-13.5 14.7m15.5 3.6c-2 2.3-4 7-9.7 10m7 3.3c-4 3.6-13.6 11.6-23 12m23-6c-2 2.3-6.2 13.2-24 8.3m26.7-6.4c-1.2 2.7-10.1 17.3-26 11.7"/>
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m383.8 224 .7 6q.3 6.6-.1 9.8c0 .2-.8 5.5-.6 5.8 1 1.1 1.1 1.2 2.2.4.1-.2-.5-5.6-.5-6.3l-.4-9.9c0-1-1-6.4-1-6.4s0-1.2-.3.5"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m383.8 224 .7 6q.3 6.6-.1 9.8l-.7 5.8c1 1.1 1.2 1.6 2.3.7.1-.2-.5-5.9-.5-6.6l-.4-9.9c0-1-1-6.4-1-6.4s0-1.2-.3.5z"/>
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="M384 222.2s1 6 1.2 9.6l.3 7.9.5 4.5c.1.7 0 .2 0 .2.9.5 1.5.1 2-.3.2-.1-1.4-3.8-1.4-4.5-.9-10.8-2.4-17-2.4-17s.6 3.7-.3-.4"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M384 222.2s1 6 1.2 9.6l.3 7.9.5 4.5c.1.7-.1.2 0 .2.9.5 1.5.1 2-.3.2-.1-1.4-3.8-1.4-4.5-.9-10.8-2.4-17.1-2.4-17.1s.6 3.8-.3-.3zm.4 17.3s1 .4 1 .2m0-1.3s-.7 0-.8-.2m0-1s.6.3.8 0m-.7-1.6h.5m-.6-1.5h.6m-.5-2.1s.4.1.4-.1m-.5-1.7h.5m.5 9.5s.9.2 1-.1m-1.1-2s.9.1 1-.1m-1-1.3h.7m-.9-1.5h.7m-.7-1.7h.5m-.7-1.5h.6m-.6-1.7s.4.3.4 0m0 9s.9 0 .9-.3"/>
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m373.6 218.7.7 6a73 73 0 0 1-.1 9.8c0 .3-.8 5.5-.6 5.8 1 1.2 1.1 1.3 2.2.4.1-.1-.5-5.5-.5-6.3l-.4-9.8c0-1.1-1-6.5-1-6.5s0-1.1-.3.6"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m373.6 218.7.7 6a73 73 0 0 1-.1 9.8l-.7 5.8c1 1.2 1.2 1.6 2.3.7.1-.1-.5-5.8-.5-6.6l-.4-9.8c0-1.1-1-6.5-1-6.5s0-1.1-.3.6z"/>
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="M373.7 217s1.2 6 1.3 9.5l.3 8 .5 4.4v.3c.9.5 1.5 0 2-.4.2 0-1.4-3.7-1.4-4.5a127 127 0 0 0-2.4-17l-.3-.4"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M373.7 217s1.2 6 1.3 9.5l.3 8 .5 4.4v.3c.9.5 1.5 0 2-.4.2 0-1.4-3.7-1.4-4.5-.9-10.8-2.4-17-2.4-17zm.5 17.2s1 .5 1 .2m0-1.2s-.7 0-.8-.3m0-1s.6.4.8.1m-.7-1.7h.5m-.6-1.5h.6m-.5-2s.4 0 .4-.2m-.5-1.7h.5m.5 9.6s.9.1 1-.2m-1.1-1.9s.9 0 1-.2m-1-1.3h.7m-.9-1.4h.7m-.7-1.7.5-.1m-.7-1.4.6-.1m-.6-1.6s.4.2.4 0m0 9s.9 0 .9-.4m-10.5-22s-.5 5.2-.2 8.1c.3 3.5.3 4.5.6 6.6v3.9c-.8.5-1.4.2-2 0-.2-.1 1-3.3 1-4-.5-8.9.4-14.3.4-14.3l.2-.2"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M365.7 211.3s-.5 5.1-.2 8c.3 3.5.3 4.5.6 6.6v3.8c0 .5.1 0 0 .1-.8.5-1.4.2-2 0-.2-.1 1-3.3 1-4-.5-9 .4-14.3.4-14.3zm.3 14.6s-.9.2-1 0m.8-1.7s-.9.2-1 0m1-1.2h-.9m.8-1.2h-.7m.5-1.4h-.5m.5-1.3h-.5m.4-1.4s-.4.2-.4 0m1 7.4s-1 .1-1-.1"/>
<path fill="#005000" stroke="#000" stroke-width=".1" d="M334 221.7h-.8z"/>
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M323.3 256.4s.3-.2.4 0l-.1.2zm1 1.1-2.1-.1"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M291.7 215.5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5l.2.9c0 .3-.5 1.6-2 2.7a12 12 0 0 1-4.1 1.5z"/>
<path fill="#a05a2c" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m291.6 214.7 29.7 38.4 1.4-1.3-30.2-39.1z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M291.2 207.2s3.2-.4 2.8-2.2-2.6-1.8-3.5-1.9c-1 0-4 .7-4.8 1.5-.9 1-2.7 2.5-2.1 5s1.3 4.4 2.3 6 .7 3.2.4 3.9c0 .3-.4 1.3.4 1.6 1.2.5 1.5.5 2.5-.6s2.5-3 2.5-5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5 0 0-.7-1.2-1.8-1-1.1 0-3.4-1-4.6-2.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M291.2 207.2s3.2-.4 2.8-2.2-2.6-1.8-3.5-1.9c-1 0-4 .7-4.8 1.5-.9 1-2.7 2.5-2.1 5s1.3 4.4 2.3 6 .7 3.2.4 3.9c0 .3-.4 1.3.4 1.6 1.2.5 1.5.5 2.5-.6s2.5-3 2.5-5c0-2.1 2-3.3 2.2-3.6 1-.6 1.7-1.2 3.7-1.5 0 0-.7-1.2-1.8-1-1.1 0-3.4-1-4.6-2.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M291.2 207.2c-.4 0-1.7-.6-2.6-.3-.9.4-2.7 1.4-2.4 3m10.4-.3s-1.8.8-3.1 1.7c-.6.3-2.4 2-3.5 3.2-1 1-1.3 2.4-3.5 3.9m9-9-1.4 1q-.9.6-1.2 1.3"/>
<path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M347.8 284.2c.2 3 7.4 6.6 12.7.1 5.7-4.5 4.5-11.4 0-12.3l-54.7-53.3c-2.2-1.2-2.4-2.3-3.5-3.5a133 133 0 0 1-9.6 9 10 10 0 0 1 3.2 3.5z"/>
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M302.2 215c-2.6-3.5-12.8 5.8-10 8.7 2.6 2.8 12.4-5 10-8.6z"/>
<path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M293 223c2 1.4 9.3-4.8 8.1-7.2-2-2.2-10.1 5.7-8 7.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M296 227.9a16 16 0 0 0 9.9-9m23 44.8q8.6-2.5 11.4-11.6m-9.1 14.3q8.7-2.6 11.4-11.6m2.1 25.8c5.8-1.8 10.4-6 12.2-12.1m-9.8 14.8a18 18 0 0 0 12.3-12.2"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M360.6 285q.5 2 2.1 1.4m-13.7-2c2.1 3.5 4.5 2.4 6.5 2.5"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M363.6 285.2q-.2 1.6-1.7 1.6a2 2 0 0 1-1.7-1.6q.1-1.6 1.7-1.6c1.6 0 1.7 1 1.7 1.9"/>
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M360.5 284.9q.5 2 2 1.3m-13.5-1.7c2.1 3.4 4.5 2.3 6.5 2.4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.6 175.5c1.8 2.9 4.4 8 5.2 12a23 23 0 0 1-7 20.8c-5.2 4.7-13.3 6-16.7 6.8s-5.7 1.8-6.3 2.5q-.1-.7.5-1.6c1.6-.7 4.1-1 7.8-1.8 7.2-1.5 14.8-4.2 19-12.2 5.4-10.3 2.2-18.4-2.5-26.4z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.6 206.2a.4.6 49.9 0 1-.6-.6.4.6 49.9 1 1 .6.6z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.6 205q-1.7.7-3 1l-3.7 1.4c-.8.3-1.6 1.3-1.6 1.3s1.2 1.3 2.6 1.1q1.6-.2 2.3-.7c.6-.3.6-.6 1.4-1.2 1-.7 1.6-2 2-3zm-5.7 1.1q-.6.7-1.6.5l-.2.2q1 .1 2-.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.6 205q-1.7 1.6-4.7 2.8a14 14 0 0 1-5 1l-.2.3c1.4-.1 3.4-.4 5-1.1a15 15 0 0 0 4.9-3zm-2.4 4.6c-2-.1-3 .5-4.8.9s-3.7-.5-4.8 1.1c4.4 2.9 7.6 1 9.6-2z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M340.2 213.6c-.8-.8-8-3.2-9.2-.5 1.7 2 6.8 2.4 9.2.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m338.5 215.5-2.5-.4c-1-.1-1.3-.3-1.9-.4-1-.1-2.3-1.6-6-.5 1.4 3.4 6.4 4 10.4 1.3zm1.6-1.9c-3.8.8-8.3 0-10.1-1l-.3.2a16 16 0 0 0 10.4.8zm4-4c-2.2 1.5-5.2 2.6-11.4 1.8v.2c8.5.7 9.3-.8 11.4-2z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.5 215.5c-3 .1-4.7 1.4-10.3-1.3l-1.4-.6-.5.2 1.4.4c7 3 6.8 1.6 10.8 1.3z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.3 211.6a.4.6 66.2 1 0 .4.7.4.6 66.2 0 0-.4-.7z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M327.1 212.3c-.6.1-.8.9-.8 1.3l-.4.2q.2-1 1.2-1.7z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M346 186.8a.4.6 15.8 1 1-1-.2.4.6 15.8 0 1 1 .2z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M341.6 203.2c-.1-2.1-1.1.8-3.2-3.9-.6-1.4-.6-2.2-1-4.3 1.2 1.8 3 2.3 3.8 3.6s.5 3.5.4 4.6z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M337.5 195.2s1 2.4 2.4 4a8 8 0 0 1 1.8 3.7"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.5 197.2c1.3 1.7 3 3.8 3 6h.3c-.3-2.8-2-4.1-3-5.6zm10.8 2.7q-1.6 1-2.7 1.4l-1.4.9-1.4.5c-.7.5-2 2-2 2s1.3 1.1 2 1c2.4-.5 3.1-1.4 4.3-2.3 1-.8 1-2.5 1.2-3.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m340.7 204.8-.2.4c1.3-.2 3.5-1.5 5-2.2 1.8-1 3-1.7 3.7-3a9 9 0 0 1-3.9 3c-1.5.7-3.7 2-4.6 1.8zm9.4-9.5q-1.3 1.2-2.4 1.8l-1.3 1.1-1.2.8c-.6.6-1.5 2.2-1.5 2.2s.7.7 1.4.4c2.4-.3 3.1-1.4 4-3.5q.9-1.4 1-2.8z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.5 199.4a.6.4 62 1 0 .8-.3.6.4 62 0 0-.8.3z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m342.5 201.6-.2.3c2.9-1.3 6.6-3.9 7.8-6.5a17 17 0 0 1-7.6 6.2zm8.3-10.7q-1.2 1.3-2.2 2l-1 1.1-1.2.9c-.5.6-1.2 2.2-1.2 2.2s.8.9 1.5.5l2.1-1.6c.5-.4.6-1.4 1.2-2.2q1-1.4.8-2.9z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M348.7 193.8q-2.1 2.6-4.6 3.8l-.2.4c2.6-1.5 3.7-2.8 4.9-4.1zm1-5.6q-.6 1.4-1.6 2l-.8 1.2-1 .9-.7 2.1s.6.6 1.2.2l1.8-1.6 1-2.2a4 4 0 0 0 .2-2.6zm-4.3-1.1-.5 1.6v-.4q0-.6.4-1.3z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M348.4 191a13 13 0 0 1-3.8 4v.3c2.2-1.6 3-3 3.8-4.2zm-5.6 10q-.2-.8-.6-1.4.4.7.4 1.6l.1-.3z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M341.9 181.3a.4.3 39.5 0 1-.5.5.4.3 39.5 0 1 .5-.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m343.1 182.5-1.2-.8 1.3 1v-.2zm5.6.4c-1.2 2.4-3.9 4-2.8 7.5 2.8 2.6 3-4.5 2.8-7.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M346.1 177.7c-.5 2.4-2.6 4.4-1.2 7.6 4 1 2-4.3 1.2-7.6z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.7 174c2 3.7 2.5 5.9.2 8.3 0 0-1.3-1.1-1.6-3.3-.2-1.8 1.2-4 1.4-5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M340.4 171.8c.5 2.4-1.5 3.5 1.4 6.5 2.1-2.4 1.1-3-1.4-6.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.6 176c-3.3.3-2-2.6-3-5.3 2 1.5 4.7 2.1 3 5.3zm2.2 4.4c-1-4.4-4-2.6-5.6-4.6.9 2.9 2.1 4.8 5.6 4.6zm1.4 4.1q-4 0-6.2-4.4c2.7 1.2 5.7 1.4 6.2 4.4z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.6 188.3c-1-1.2-1-2-1.5-2.7a9 9 0 0 0-3-3.7c0 3 .4 6.5 4.5 6.4z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M344.2 191.6a20 20 0 0 0-5.6-5.7c1 2.2.6 6.3 5.6 5.7z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.7 196c-5-.1-4.5-4.8-4.5-7l2.8 3.5c.9 1 1.8 2.2 1.7 3.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.1 198.8c-.4-1 0-1.4-1-2.3-1-1-2.8-2.7-3.7-4.6-.1 1.7-.2 4.4 1.2 5.3 1 .7 2 .9 3.5 1.6zm-4.3 7.3c-3.9-3-1.6-5.6-1.2-7.9 1 2.6 3.7 4.8 1.2 7.9zm1.6-29.2c-1.3-2.3-2-3.6-3.7-6 2 2.7 2.8 4.5 3.9 6.4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M338.9 206.8c.1-3-.7-5.7-1.3-8.5.5 3 1.3 6 1 8.8zm4.6-7.4c-.4-1.8-4.1-3-5-7.5.7 4.4 4.5 5.5 4.8 8zm.8-2.5-.1.5c-.6-3-4-4.4-5-8.4 1.5 4.3 4.3 4.9 5.1 7.9zm.7-4.4c-1.7-2.6-4.1-3.6-6.4-6.7 2.1 3 4.8 4.4 6.4 7zm0-3.5q-3-1-6-7.1c1.4 3 3 5.8 6 7.6zm-1-4c-2.1-1.7-5-2.8-7-4.9 1.7 2 5 3.3 7.1 5.2v-.3zm-1.6-4.3c-2.2-1.5-4.4-2-6.2-4.8 1.5 2.8 3.8 3.5 6.3 5zm6.3 2.2c-.8 3.1-1.5 6.3-3.6 8.4v-.4c1-.5 2.5-3.7 3.6-8zm-2.6-5.1c-.1 3.2 0 6.5-1.7 8.3l-.1-.3c1.6-1.4 1.5-5 1.8-8zm-2.2-3.6c.5 2.8.6 5.3-.2 9.5l-.1-.3c.4-2.4 1-5 .3-9.2zm-3.4-2.3c1.1 2.4 2 4.8 1.2 7.4l-.2-.3c.9-2.4-.1-4.7-1-7zm-4.4 31.2c1.4 3.2-.4 5.6-2.5 7-1.6-4.7 1.8-4.2 2.5-7z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M336.2 203.1c.2 2-2 4.2-2.6 7.6l-.3.2c1-4 3-5.6 2.9-7.8z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.7 181.2a.3.4 1.9 1 1-.6-.1.3.4 1.9 0 1 .6.1z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M343.5 183v-1.6h-.2v1.7z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M342.8 180.9a.3.4 2 0 1-.5.2.3.4 2 0 1 .5-.2z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m343.2 182.3-.5-1.1.4 1.4v-.2z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M344.7 186.9a.4.3 80.5 1 1-.7 0 .4.3 80.5 0 1 .7 0z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m344.9 188.6-.4-1.4h-.1l.4 1.6v-.2z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.6 187.2a.4.3 57 1 1-.5.5.4.3 57 0 1 .5-.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m344.8 188.6-1.2-1v.1l1.3 1.1z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M343.4 199.1a.3.4 12.7 1 1-.7-.2.3.4 12.7 0 1 .7.2z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M342.8 200.8q.3-.7.2-1.5l-.4 1.7z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M344 199.9a.3.4 50.5 1 0 .5.4.3.4 50.5 1 0-.5-.4z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m342.7 201 1.3-.8v.1l-1.3 1z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M340.7 205a.3.4 40.4 1 1-.4-.6.3.4 40.4 0 1 .4.5z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m339.5 206.2.9-1.3h-.1l-1 1.3z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M338.8 204.5a.5.6 10 0 0 1 .1.5.6 10 1 0-1 0z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M339.4 205c-.3.7 0 1 0 1.2l-.1.3q-.4-.5-.1-1.5zm-12.1 9.5q-1-.1-1.3-.8h-.3q.5.9 1.5 1v-.3z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.3 215.2a.6.4 9.5 0 1 .2-.9.6.4 9.5 1 1-.2.8z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.7 206a5.5 5.5 0 0 1-4 6.4c-.9-4 2.8-4 4-6.3z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M332.7 206.1a21 21 0 0 1-4.8 7.2h-.5c2.7-2.1 4.2-4.9 5.3-7.2z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M327.8 213.3a.5.4 9.8 1 1-.4-.7.5.5 9.8 0 1 .4.7z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m326 213.8 1.4-.7h-.1l-1.7.6h.3zm2.5-5c0 1.2-1 2.4-2 3.2s-1 1.2-2.2 1.6c-1.2-2.8 2.8-3.3 4.2-4.8z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M328.5 208.8c-1.3 2.5-3.5 3.8-4.7 5.4h-.1c1.6-2.2 3-2.7 4.8-5.4z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.4 175.5c-1.7 2.9-4.4 8-5.1 12a23 23 0 0 0 7 20.8c5.2 4.7 13.3 6 16.6 6.8s5.8 1.8 6.4 2.5q.1-.7-.5-1.6c-1.6-.7-4.2-1-7.8-1.8-7.2-1.5-14.9-4.2-19-12.2-5.4-10.3-2.2-18.4 2.5-26.4z"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M314.1 213.6c-.2.4-4 3.7-7.5 3.5-2.5-.2-2.9-.8-2.9-.8s-.2-.7 2-1.1 6.2-2 8.4-1.6z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M303.8 216.3c2.7.3 5.5-.8 7.7-1.6"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.2 208.7a11 11 0 0 1 4.6 3.7c.9 1.5.7 1.9.7 1.9s-.2.3-1.3-1c-1-1.2-3.4-3.3-4-4.6z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M316.5 214.2c-.9-1.7-2.5-3-3.7-4.2"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.3 175.8c-.1-.3.3-3.4 2-4.4 1.3-.7 1.8-.5 1.8-.5s.3.3-.5 1.3c-1 1-2.1 3.2-3.3 3.7z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M304 171c-1.4.7-2.3 2.2-3 3.4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 177.4c-.2-.2-1-3-.2-4.7.5-1.3.9-1.4.9-1.4s.3 0 .1 1.3-.2 3.8-.8 4.8z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M300 171.4q-.7 2.1-.6 4.4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 177.5c.2 0 2.7-.8 3.9-2.1q1-1.4.8-1.3c-.2.1-.2-.2-1.1.5-1 .8-3 2-3.6 2.9z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M304 174.1q-1.5 1.7-3.3 2.6"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 179.6a10 10 0 0 1-.9-5.2c.3-1.6.6-1.7.6-1.7s.4 0 .4 1.4c0 1.5.3 4.2-.1 5.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M298 172.7c-.5 1.7-.2 3.6 0 5"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.3 181.6c-.3-.2-2.3-3-2-5.2 0-1.7.5-2 .5-2s.3-.1.6 1.4c.3 1.6 1.2 4.3.9 5.8z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M295.7 174.5c-.2 1.8.5 3.7 1 5.2"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.2 184.1a10 10 0 0 1-2.4-4.7c-.2-1.5 0-1.8 0-1.8s.4-.1.8 1.3 1.6 3.9 1.6 5.2z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M293.9 177.7c.1 1.7 1 3.4 1.5 4.8"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 179.6c.3 0 3.2-.2 4.6-1.7 1-1 1-1.5 1-1.5s-.2-.3-1.4.4c-1.1.8-3.4 1.8-4.2 2.8z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M303.7 176.5c-1 1.2-2.7 1.9-4 2.5"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.3 181.6c.2 0 3.2 0 4.6-1.4 1.1-1 1-1.4 1-1.4s0-.3-1.2.3-3.6 1.5-4.4 2.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M303 178.9q-2 1.5-4.1 2.2"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.4 184.2c.2 0 3.4-.2 4.9-1.7 1-1.1 1-1.5 1-1.5s-.1-.4-1.4.3c-1.2.8-3.7 1.8-4.5 2.9z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M302.3 181q-2 1.9-4.3 2.5"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.8 183s-.3-.5-.3-1q.1-.9.2-.8l-.2-.2-.1.9v.3l-.5-.5-.1-.4h-.2l.3.7c.5.4.8 1.1.8 1.1"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 180.3a.5.4 83.5 1 1 .1 1 .5.4 83.5 1 1-.1-1z" overflow="visible" style="marker:none"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.8 180.3a.4.5 19.3 1 1-.3 1 .4.5 19.3 1 1 .3-1z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m296.7 183 1-.7q.4-.6.3-.7h.2l-.4.8-.2.2.6-.1.4-.2.1.1-.6.4-1.3.3"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.4 181.6a.4.5 45.6 1 0-.8.8.4.5 45.6 1 0 .8-.8z" overflow="visible" style="marker:none"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.4 180.8a.4.5 19.8 1 0-.3 1 .4.5 19.8 1 0 .3-1z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 186.9c-.2-.2-2.4-2.6-2.8-4.8-.3-1.6 0-1.9 0-1.9s.3-.1.8 1.3 2 4 2 5.4z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M292.6 180.3c.2 1.8 1.2 3.5 2 4.9"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 186.9c.3 0 3.5-.4 5-2 1-1.3 1-1.7 1-1.7s-.2-.4-1.4.5-3.8 2-4.6 3.2z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M301.5 183.2c-1 1.4-2.8 2.2-4.2 3"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.2 189.6c.3 0 3.5-.9 5-2.6 1.1-1.3 1-1.7 1-1.7s-.1-.2-1.4.7c-1.2 1-3.8 2.5-4.6 3.6z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M301.2 185.4c-1.1 1.4-3 2.4-4.3 3.2"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 189.6c-.3 0-3.3-2.2-3.8-4.5-.3-1.7 0-2 0-2s.5-.3 1.2 1.2c.7 1.4 2.5 3.8 2.7 5.3z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M291.3 183.2c.3 1.8 1.5 3.5 2.5 4.8"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.2 193a11 11 0 0 0 4.6-3.6c.9-1.5.7-1.8.7-1.8s-.2-.3-1.3 1c-1 1.2-3.4 3.1-4 4.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M300.5 187.7q-1.7 2.4-3.8 4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 193.2c-.3 0-3.6-1.7-4.4-4-.7-1.6-.4-2-.4-2s.4-.4 1.3 1 3.1 3.5 3.5 5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M290.3 187.2c.5 1.8 2 3.4 3.2 4.6"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 191.6s-.4-.5-.5-1v-.9h-.3v.8l.2.4-.6-.4-.3-.5-.2.2.5.6c.6.2 1.1 1 1.1 1"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M293 189a.6.4 69.4 1 1 .4 1.2.6.4 69.4 1 1-.4-1.1z" overflow="visible" style="marker:none"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M294.3 188.7a.4.6 5.2 1 1 0 1.2.4.6 5.2 1 1 0-1.2z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295 191.6s.6-.5.8-1l.2-.8h.3l-.3.8-.1.4.6-.3.4-.4.1.2-.6.5c-.6.1-1.2.7-1.2.7"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.5 189.4a.4.6 31.5 1 0-.6 1 .4.6 31.5 1 0 .6-1z" overflow="visible" style="marker:none"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.3 188.9a.4.6 5.7 1 0-.1 1.1.4.6 5.7 1 0 0-1.1z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 196.2a12 12 0 0 1-5.1-4c-1-1.7-.8-2.1-.8-2.1s.2-.3 1.4 1c1.3 1.4 3.8 3.6 4.5 5.1z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M289.5 190.2c1 1.8 2.8 3.3 4.2 4.6"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.6 196.2c.4 0 4-1.9 5-4.4.6-1.8.3-2.3.3-2.3s-.4-.3-1.4 1.2c-1 1.4-3.4 3.8-3.9 5.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M300.9 189.6c-.7 2-2.3 3.7-3.6 5"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.6 199.3c.3-.1 3.7-2.3 4.5-4.8.7-1.9.4-2.3.4-2.3s-.4-.3-1.3 1.3c-1 1.5-3.2 4-3.6 5.7z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M301.5 192.3c-.7 2-2.2 3.8-3.4 5.2"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M296.3 199.3c-.4 0-4.7-1.3-6.2-3.8-1-2-.9-2.5-.9-2.5s.4-.4 1.8 1c1.5 1.4 4.5 3.5 5.3 5.2z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M289.3 193.1c1.1 2 3.3 3.6 5 4.8"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.1 205.7c.3-.2 2.6-3 2.8-5.6.2-1.8-.2-2-.2-2s-.3-.2-.8 1.4c-.5 1.7-1.8 4.6-1.8 6.2z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M302.8 198.1c-.1 2-1 4-1.8 5.6"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300 205.6c-.5.2-5.4 0-7.7-2.1-1.6-1.6-1.5-2.2-1.5-2.2s.2-.5 2.1.5 5.7 2.3 7 3.8z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M290.9 201.4c1.7 1.7 4.4 2.6 6.5 3.4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.2 203c-.4.1-4.8-1-6.8-3.1-1.6-1.6-1.5-2.1-1.5-2.1s.2-.4 2 .8c1.6 1.2 5 3 6.3 4.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M290 197.9c1.6 1.7 4 3 5.8 4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M298.4 203c.4-.2 3.6-2.9 4-5.6.2-2-.2-2.5-.2-2.5s-.5-.2-1.2 1.5c-.7 1.8-2.6 4.7-2.6 6.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M302.2 195c-.2 2.2-1.5 4.3-2.5 6"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m297.4 201.5-1-.8-.5-.9h-.3l.8 1.2-.8-.1-.5-.3v.2l.7.4c.7 0 1.6.5 1.6.5"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M294.2 199.8a.7.5 45.9 1 1 1 1 .7.5 45.9 1 1-1-1z" overflow="visible" style="marker:none"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M295.4 198.8a.7.5 71.6 1 1 .4 1.3.7.5 71.6 1 1-.4-1.3z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.5 201.4s.4-.6.4-1.3l-.1-1h.2l.1 1.3.6-.5.2-.6.2.1-.4.8c-.6.5-1 1.4-1 1.4"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.1 198.2a.5.7 8 1 0-.2 1.3.5.7 8 1 0 .2-1.3z" overflow="visible" style="marker:none"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M297.6 198.1a.7.5 72.2 1 0 .4 1.3.7.5 72.2 1 0-.4-1.3z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M301.8 207.6c-.3.2-4.3 1-6.8-.3-1.8-.9-2-1.4-2-1.4s0-.5 2 0c1.8.4 5.2.7 6.8 1.7z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M293.1 206c2 1 4.4 1.2 6.3 1.4"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M302 207.5c.2-.1 2-2.5 1.9-4.8 0-1.7-.4-2-.4-2s-.3-.2-.6 1.3-1 4-.9 5.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M303.5 200.8c.2 1.8-.4 3.6-.9 5"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M305.5 210.3c-.3.3-5 1.5-8 .3-2-1-2.1-1.5-2.1-1.5s0-.5 2.2-.1c2.1.3 6.2.4 8 1.3z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M295.5 209.2c2.2 1 5 1 7.3 1.1"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M305.8 210.3c.2-.3 1.2-3.8 0-5.6-1-1.4-1.5-1.3-1.5-1.3s-.4 0 0 1.5c.3 1.5.5 4.3 1.5 5.4z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M304.4 203.4c1 1.4 1.1 3.4 1.3 5"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.3 208.7s-.5.4-1.2 0q-.9-.6-.8-.7l-.3.2 1 .7.3.2-.9.2-.6-.1v.3h1l1.5-.5"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M299.5 208.7a.8.5 24.1 1 1 1.4.7.8.5 24.1 1 1-1.4-.7z" overflow="visible" style="marker:none"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M300.3 207.2a.8.5 49.9 1 1 1 1.2.8.5 49.9 1 1-1-1.2z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.4 209s.6-.5.2-1.2l-.6-.9.1-.2.7 1 .2.3.2-.9v-.6h.2v1l-.5 1.5"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M303.7 205.1a.8.5 69.5 1 0 .6 1.5.8.5 69.5 1 0-.6-1.5zm-1.5.8a.8.5 43.7 1 0 1 1 .8.5 43.7 1 0-1-1z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M308.3 211.8c-.3.4-4.2 3-7.4 2.3-2.3-.4-2.6-1-2.6-1s-.1-.6 2-.8c2.2-.1 6-1 8-.5z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M298.4 213.1c2.5.6 5.2 0 7.3-.5"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M310.8 212.6s-.5.7-1.3.5l-1.2-.5-.3.3 1.3.4.5.1-.9.6-.7.1v.3l1.2-.3c.2 0 1.4-1 1.4-1"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M306.6 214a.9.6 5.4 1 1 1.7.2.9.6 5.4 1 1-1.7-.1zm.4-2a.9.6 31.2 1 1 1.5 1 .9.6 31.2 1 1-1.5-1z" overflow="visible" style="marker:none"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M309.5 212.2c.2-.3.7-4-1-5.6-1.1-1.2-1.7-1-1.7-1s-.5.1.1 1.5 1.4 4.2 2.6 5.1z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M306.8 205.6c1.4 1.2 1.9 3.2 2.3 4.7"/>
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M311.4 213s.2-.7-.5-1.2q-1-.7-1.1-.6v-.4l1.2.7.4.3c.4.3 0-.8-.2-1l-.4-.7.3-.2.5 1 .2 2"/>
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M309.7 209a.9.6 42.7 1 0 1.3 1.1.9.6 42.7 1 0-1.3-1.2zm-1.2 1.5a.9.6 17 1 0 1.7.6.9.6 17 1 0-1.7-.6z" overflow="visible" style="marker:none"/>
<path fill="#452c25" d="M319.1 209s-2.3 5.4-1.5 6c0 0 2.4-4.3 4.4-5.8 1.1-1 1.8 0 2-1 0-.8-3-2.1-3-2.1l-1.8 2.7"/>
<path fill="none" stroke="#000" stroke-width=".2" d="M319.1 209s-2.3 5.4-1.5 6c0 0 2.4-4.3 4.4-5.8 1.1-1 1.8 0 2-1 0-.8-3-2.1-3-2.1l-1.8 2.7"/>
<path fill="#452c25" d="M310.6 213.1s-3.4 6-2.5 6 4.5-7.5 4.5-7.5l-1.3.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M310.6 213.1s-3.4 6-2.5 6 4.5-7.5 4.5-7.5l-1.3.2z"/>
<path fill="#452c25" d="M311.6 211.5s-3.6 5.8-2.7 5.9c1 .1 4.8-7.4 4.8-7.4l-1.3.1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M311.6 211.5s-3.6 5.8-2.7 5.9c1 .1 4.8-7.4 4.8-7.4l-1.3.1z"/>
<path fill="#452c25" d="M312.3 210.5s-4 5.4-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M312.3 210.5s-4 5.4-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/>
<path fill="#452c25" d="M313.4 209.5s-4.8 4.9-3.9 5.2 6.2-6.2 6.2-6.2l-1.2-.1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M313.4 209.5s-4.8 4.9-3.9 5.2 6.2-6.2 6.2-6.2l-1.2-.1z"/>
<path fill="#452c25" d="M313.6 207.7s-4.2 5.4-3.3 5.6 5.5-6.9 5.5-6.9l-1.3.1-1 1.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M313.6 207.7s-4.2 5.4-3.3 5.6 5.5-6.9 5.5-6.9l-1.3.1-1 1.2z"/>
<path fill="#452c25" d="M312.5 212.4s-4 5.5-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M312.5 212.4s-4 5.5-3.2 5.6c1 .2 5.4-7 5.4-7l-1.3.1z"/>
<path fill="#452c25" d="M314.8 211.3s-2.4 4.5-2.1 4.6c.3.2 3.1-2.5 4.6-5.2 1.4-2.6-2.6.5-2.6.5"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M314.8 211.3s-2.4 4.5-2.1 4.6c.3.2 3.1-2.5 4.6-5.2 1.4-2.6-2.6.5-2.6.5"/>
<path fill="#452c25" d="M315 210.8s-2.3 5.5-1.5 6c0 0 3-3.3 3.7-5.9s0-.1 0-.1l-.2-2.9-2 2.7"/>
<path fill="none" stroke="#000" stroke-width=".2" d="M315 210.8s-2.3 5.5-1.5 6c0 0 3-3.3 3.7-5.9s0-.1 0-.1l-.2-2.9-2 2.7"/>
<path fill="#452c25" d="M313.8 210.4s-4.7 4.8-3.9 5.1 6.3-6.1 6.3-6.1l-1.3-.1-1 1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M313.8 210.4s-4.7 4.8-3.9 5.1 6.3-6.1 6.3-6.1l-1.3-.1-1 1z"/>
<path fill="#452c25" d="M314.2 211s-4.7 5-3.9 5.2 6.2-6.2 6.2-6.2h-1.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M314.2 211s-4.7 5-3.9 5.2 6.2-6.2 6.2-6.2h-1.2z"/>
<path fill="#452c25" d="M314.6 211.8s-4.8 4.9-4 5.2c1 .3 6.3-6.2 6.3-6.2h-1.2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M314.6 211.8s-4.8 4.9-4 5.2c1 .3 6.3-6.2 6.3-6.2h-1.2z"/>
<path fill="#452c25" d="M315 205.1s-3.6 4.5-3 5.3c.4.8 3.6-2 4.7-4 1-2-1.7-1.4-1.7-1.4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M315 205.1s-3.6 4.5-3 5.3c.4.8 3.6-2 4.7-4 1-2-1.7-1.4-1.7-1.4"/>
<path fill="#452c25" d="M314.8 209.9s-3 5.8-2.2 5.5c.8-.4 3.8-4.7 4.2-5.7.3-1 .2-2 .2-2l-2.3 1.5.2 1.1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M314.8 209.9s-3 5.8-2.2 5.5c.8-.4 3.8-4.7 4.2-5.7.3-1 .2-2 .2-2l-2.3 1.5.2 1.1"/>
<path fill="#452c25" d="M314.8 208s2.5-4.6 0 .9-3.4 4.5-3.4 4.5c-.2-.3 2.2-4 2.2-4s1.7-2.8 2.1-3.1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M314.8 208s2.5-4.6 0 .9-3.4 4.5-3.4 4.5c-.2-.3 2.2-4 2.2-4s1.7-2.8 2.1-3.1"/>
<path fill="#452c25" d="M317.5 207.4s2.8-4.6 0 .9-3.9 4.5-3.9 4.5c-.2-.3 2.5-4 2.5-4s2-2.8 2.4-3.1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M317.5 207.4s2.8-4.6 0 .9-3.9 4.5-3.9 4.5c-.2-.3 2.5-4 2.5-4s2-2.8 2.4-3.1"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M316.5 205.5s-3.5 4.5-3 5.2 3.7-2 4.7-4-1.7-1.4-1.7-1.4"/>
<path fill="#e8a30e" d="M352.8 251a32.8 37 0 1 1-65.6 0 32.8 37 0 1 1 65.6 0"/>
<path fill="none" stroke="#390" stroke-width=".8" d="M293.7 251c0-17 12-30.2 26.3-30.2s26.3 13.1 26.3 30.3" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none"/>
<path fill="#007934" stroke="#eee" stroke-width=".1" d="M287.2 253c1 19.5 15.3 35 32.8 35s31.9-15.5 32.8-35z"/>
<path fill="none" stroke="#000" stroke-width=".4" d="M352.8 251a32.8 37 0 1 1-65.6 0 32.8 37 0 1 1 65.6 0z"/>
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M314.5 225.4q-.4 2 .7 3.6 1 1.4.9 2.7l-.7.5-5.5-3.7 3.7 5.5-.2.2a5 5 0 0 0-3-.3 5 5 0 0 1-3.7-.8 5 5 0 0 0 3.1 2.1 5 5 0 0 1 2.6 1.3l-.2.8-6.6 1.3 6.6 1.3v.3a5 5 0 0 0-2.4 1.9 5 5 0 0 1-3 2q2 .5 3.6-.7a5 5 0 0 1 2.7-.9l.4.7-3.6 5.6 5.4-3.7.3.2a5 5 0 0 0-.4 3 5 5 0 0 1-.7 3.6 5 5 0 0 0 2-3.1 5 5 0 0 1 1.4-2.5l.8.2 1.3 6.5 1.3-6.5h.3a5 5 0 0 0 1.8 2.3 5 5 0 0 1 2.1 3.1 4 4 0 0 0-.7-3.6 5 5 0 0 1-.9-2.8l.7-.4 5.5 3.7-3.7-5.5.2-.3q1.5.7 3 .4a5 5 0 0 1 3.7.7 5 5 0 0 0-3.1-2 5 5 0 0 1-2.6-1.4l.2-.8 6.6-1.3-6.6-1.2v-.4a5 5 0 0 0 2.4-1.8 5 5 0 0 1 3-2 5 5 0 0 0-3.6.7 5 5 0 0 1-2.7.8l-.4-.7 3.7-5.5-5.5 3.7-.3-.2q.7-1.5.4-3a5 5 0 0 1 .7-3.6 5 5 0 0 0-2 3 5 5 0 0 1-1.4 2.6l-.8-.2-1.3-6.5-1.2 6.5h-.4a5 5 0 0 0-1.8-2.3 5 5 0 0 1-2-3.1z" overflow="visible" style="marker:none"/>
<path d="M325.9 236.7c-1.7-1.4-3.8-1.6-4.9-.6q-1.3 1.7.2 3.8l-.3.2a5 5 0 0 1-.3-4.1c1.5-1.3 3.7-1.4 5.2.7"/>
<path d="M323.3 236.3c-1 0-1.2.2-1.6.5l-.7.4.1.2q.3 0 .9-.6.6-.4 1.3-.3c1.3 0 2 1 2.1 1s-.7-1.2-2.1-1.2"/>
<path d="M325 237.5c-1-1-2.7-1-3.4 0h.2c.8-1 2.5-.6 2.6 0"/>
<circle cx="323.1" cy="237.4" r=".6"/>
<path d="M321.6 237.6c.7.6 2.2.7 3.3-.1h-.5q-1.2 1-2.5 0"/>
<path d="M325 237.8c-1.2 1-2.4.9-3.1.5q-.9-.7-.6-.6l.8.4q.9.5 2.9-.2m-3.5 2a.4.4 0 1 1-.6.5c0 .1-.3.6-.9.6h-.1l.1.2.9-.2a.6.6 0 1 0 .6-1m.9 3c-.7-.5-1-1-1.7-1l-.7.1h-.1l.1.2c.3 0 .7-.3 1.2 0zm-.3 0c-1.4-.5-1.7-.2-2.1-.2h-.1l.1.3c.6 0 .9-.4 2.1-.1"/>
<path d="M322.4 243c-1.6-.2-1.1.8-2.4.8h-.1l.1.2c1.6 0 .9-.9 2.4-1m-8.2-6.3c1.6-1.4 3.7-1.6 4.8-.6q1.3 1.7-.2 3.8l.3.2a5 5 0 0 0 .3-4.1c-1.5-1.3-3.7-1.4-5.2.7"/>
<path d="M316.7 236.3c1 0 1.2.2 1.6.5l.7.4-.1.2-.9-.6q-.6-.4-1.3-.3c-1.3 0-2 1-2.1 1s.7-1.2 2.1-1.2"/>
<path d="M315 237.5c1-1 2.7-1 3.4 0h-.2c-.8-1-2.5-.6-2.6 0"/>
<circle cx="-316.9" cy="237.4" r=".6" transform="scale(-1 1)"/>
<path d="M318.4 237.6c-.7.6-2.2.7-3.3-.1h.5q1.3 1 2.5 0"/>
<path d="M315 237.8c1.2 1 2.4.9 3.1.5q1-.7.6-.6l-.8.4q-.8.4-2.9-.2m3.5 2a.4.4 0 1 0 .6.5c0 .1.3.6.9.6h.1l-.1.2-.9-.2a.6.6 0 1 1-.6-1m-.9 3c.7-.5 1-1 1.7-1l.7.1h.1l-.1.2c-.3 0-.7-.3-1.2 0zm.3 0c1.4-.5 1.7-.2 2.1-.2h.1l-.1.3c-.6 0-.9-.4-2.1-.1"/>
<path d="M317.6 243c1.6-.2 1.1.8 2.4.8h.1l-.1.2c-1.6 0-.9-.9-2.4-1"/>
<path fill="#007934" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M323.2 258.4q2.5.4 4.7-.3a10 10 0 0 1 4.2-.6c0-.2.5-.3.2-.5l-1.8-.6q-1.4-.8-2.7-2c-.1 0-.6-.3-.6-.5 2.2 3.2 7.5 1.5 12 1.2.4.1 1.5-.2 2.4-.5 1-.4 3.6 0 4.3-.5l-1.3-1c-.6-.8-2.3-.7-3-1.5-1.3-1.5-3.3-1.9-4.9-3q-.6-.3-1.6-.3c-.6-.6 0-.5-5-4.7-4.5-1.8-4.2-3.2-7-4.3-1-.5-1.9-1.4-2.7-1.1a30 30 0 0 0-6.3 3c-1.2.6-2.7 2-3.8 2.8-.2.2-3.4 2.9-7 4.8a115 115 0 0 1-9.2 4.8c8-.4-7.3 2.3 29.1 4.8z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M303.3 249c2-1 10-5.3 12.4-8.4-.4 0 .6 1 .5 1.4.8 0 .4-1 1-1q.7 0 1.3-.3c.5 0 .2.2.2.4q-1.2 1.7-3.2 2.9l.2.4q.7 0 1.1-.2l.1-.3q.5.3.1.7c-.3.6-1.4.5-1.8 1a6 6 0 0 1-1.5 1.7q.7-.8 1.7-1c1 0 1.3-.7 2.2-.9.9-.1 1.5-.9 2.2-1.4-.3.4-.9.7-.7 1.2l.6.2c-.7.8-2 1.4-2.4 2.4-.4-.2-.7.2-1 .2-.4.1-.3.8-.6 1q-1.7 1.2-2.3 2.7l-1.3.7c-.7.3-4.6 3.4-4.7 3-.3-2.1-4.3 1.6-13.3-1.6m30.6-.1-.2-.2c.1-.3-.5-.4-.5-.7 1 0 1.8 1.2 2.5.5.1-.1-.3-.4.4-.6l-.1-.2h-.8l-.8-.3q-.6-.3 0-.6c1-.1 1.9.5 2.6.2l1.7-.5c.3-.1 1.2 0 .9.2q-.4.2-1 .2-.8.2-1.4.6c.3 0 .2.3.7.2l2-.4v-.5h.3c-.3-.5.6-.2 1-.6l.1.1c-.5.2-.3.5-.4.8q-.2 0-.2.2c.2.2.2-.2.5 0h.6q.6 0 .5-.4-.5-.3-.6-.8l-.1-.1q.8 0 1.1.4t.8.7c.8.2.7-.2.7-.6.7 0 1.6.3 1.4.6q-.2.5-1 .5c-.8 0-.2.3-.4.3q-.7 0-1 .2-.2.4.3.9h1.8q.2-.4.9-.6c.4-.3-.2-.5-.5-.7-.3 0 0-.1 0-.3.3-.3.9 0 1-.2l.1-.8q.4 0 .4.3l.7-.2q.5.1.4.4-.8.3-.7.8c0 .2-.5.3-.3.5q.5.4.5.9.5.5 1.6.3c-.2-.7 1.4-.4 2-.5q.1 0 0-.2-.4-.2-.3-.6l-.1-.1c1 .3 2.8.8 3.6 1.4-1 .2-2.8-.2-3.8 0a15 15 0 0 1-3.7.6l-1.6-.3m-11.3-.7-.4-.1"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M321.2 259.1c2 0 2.2 1.4 3.5.1 1.1.2 2.2-.2 2.2-.3 2.7.6 11.1-.2 10.6-.8-.9-1-2.3-1.4-3.4-2.2l-1.1-.4c-.7-.2-1.5 0-2-.3l-2.6-1.5-1.2-1.4q-1-.5-2-.7-1.2-.7-2.2-1.9l-1.1-.4c-.7-.3-1.2-1.1-1.9-1-1 .2-1.7 1-2.8 1.6-1 .4-1.4 1.1-2.2 1.6-.2.2-2.6 1.8-5.3 2.9l-6.6 2.5s2.4 1.7 8 1.5l3.4 1 1.9-.3z"/>
<path fill="#007934" stroke="#000" stroke-width=".1" d="M309.8 254.8c1.2-.6 6-2.9 7.4-4.5-.1 0 .5.5.4.7.5 0 .2-.4.6-.5l.8-.1q.3 0 .1.2-.8.8-2 1.5l.2.2h.7v-.3q.4.2.1.4c-.2.4-.9.3-1.1.6l-1 .9q.5-.4 1.1-.5l1.3-.5q.9-.2 1.4-.8-.4.3-.4.7l.4.1c-.4.4-1.2.7-1.5 1.2l-.6.1-.4.6q-1 .6-1.4 1.4l-.8.4c-.4.2-2.8 1.8-2.8 1.6-.2-1.1-2.6.5-8-1.2"/>
<path fill="#00a6de" stroke="#000" stroke-width=".1" d="M320 214.2c-18.1 0-32.8 16.5-32.8 36.9S301.9 288 320 288s32.8-16.5 32.8-37c0-20.3-14.7-36.9-32.8-36.9zm0 8.2c13.2 0 24.7 12.3 24.7 28.7s-11.5 28.6-24.7 28.6-24.7-12.2-24.7-28.6 11.5-28.7 24.7-28.7z" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none"/>
<path fill="#e8a30e" d="M324.7 266.8q.1.2-.4.3t-.5-.2q0-.2.5-.2.4-.2.4 0z"/>
<path fill="#e8a30e" d="m324.8 266.8-.5.2h-.5q0-.2.5-.3h.5zm-2.8 9c.8-2.2 1-3.8-.2-6 2-1.9 3.3-1.2 4.6 0-1.2 2.3-1 4-.2 6a4 4 0 0 1-4.2 0"/>
<path fill="#e8a30e" d="M324 268.6v7.7h.1v-7.7z"/>
<path fill="#e8a30e" d="M324.4 268.6a45 45 0 0 0-.3 7.7q0-4.2.4-7.6zm.7-2.4c-.4.4-.6.4-.4 1q.5-.4.4-1"/>
<path fill="#e8a30e" d="M324.3 266.4c.2.3.6.4.3 1q-.4-.3-.3-1"/>
<path fill="#e8a30e" d="M324.3 267c.2.3.5.3.3.9-.3-.3-.4-.3-.4-.8z"/>
<path fill="#e8a30e" d="M324.2 267.4q.4.2.3 1c-.4-.4-.3-.4-.3-1"/>
<path fill="#e8a30e" d="M324 267.9q.6.1.4 1c-.4-.4-.2-.5-.4-1"/>
<path fill="#e8a30e" d="M324 268.4c.2.2.6.3.4 1-.3-.4-.4-.4-.4-1m1.3-1.7q-.5 0-.6.8.6-.3.6-.8"/>
<path fill="#e8a30e" d="M325.3 267.1q-.5.1-.7.7c.6-.2.5-.2.7-.7"/>
<path fill="#e8a30e" d="M325.2 267.6c-.2.1-.6 0-.7.7.6-.3.6-.2.7-.8z"/>
<path fill="#e8a30e" d="M325.2 268.1q-.5-.2-.7.7.4-.1.7-.7"/>
<path fill="#e8a30e" d="M325 268.6c-.4.1-.5 0-.6.7.5-.3.4-.2.5-.7zm.2.3c-.7 2.1-.8 4-.7 7.4h.1c0-3.4.1-5.2.8-7.3h-.1zm1.2-2.2c-.4.3-.6.2-.5.8q.5-.1.5-.8"/>
<path fill="#e8a30e" d="M325.6 266.8q.5.2.1 1-.4-.4 0-1z"/>
<path fill="#e8a30e" d="M325.4 267.4c.3.3.5.3.2.8q-.3-.2-.2-.8"/>
<path fill="#e8a30e" d="M325.3 267.7q.3.3.1 1c-.3-.4-.3-.4-.1-1"/>
<path fill="#e8a30e" d="M325 268.1q.6.4.3 1c-.4-.4-.2-.5-.3-1"/>
<path fill="#e8a30e" d="M324.9 268.6q.5.4.2 1c-.3-.4-.3-.4-.2-1m1.6-1.4c-.2.2-.6 0-.7.7q.6-.1.7-.6z"/>
<path fill="#e8a30e" d="M326.4 267.7q-.4-.1-.8.5c.6-.1.6 0 .8-.5"/>
<path fill="#e8a30e" d="M326.3 268c-.3.2-.7 0-.9.7.7-.2.6-.2.9-.6z"/>
<path fill="#e8a30e" d="M326.1 268.6c-.2 0-.6-.2-.8.5.4 0 .4-.2.8-.5"/>
<path fill="#e8a30e" d="M325.8 269q-.4-.1-.7.6c.5-.2.5-.1.7-.6m.1.4c-1 1.9-1.1 3.6-.7 6.8l.2-.1c-.4-3-.2-4.7.6-6.6zm1.6-2.2c-.5.2-.7.2-.7.8q.5-.2.7-.8"/>
<path fill="#e8a30e" d="M326.7 267.2c.1.3.4.5 0 1-.3-.5-.2-.5 0-1"/>
<path fill="#e8a30e" d="M326.4 267.8q.4.2 0 .8c0-.4-.2-.4 0-.9z"/>
<path fill="#e8a30e" d="M326.2 268c.1.3.4.5 0 1-.3-.4-.2-.4 0-1"/>
<path fill="#e8a30e" d="M326 268.5c0 .3.4.5 0 1-.3-.5 0-.5 0-1"/>
<path fill="#e8a30e" d="M325.7 268.9c.2.3.5.5 0 1q-.2-.4 0-1m1.8-1.1c-.2 0-.6-.1-.8.5.6-.1.5 0 .8-.5"/>
<path fill="#e8a30e" d="M327.3 268.2q-.4-.2-.8.4c.6 0 .6 0 .8-.4"/>
<path fill="#e8a30e" d="M327.1 268.5q-.4-.1-.8.5c.6 0 .5 0 .8-.5"/>
<path fill="#e8a30e" d="M327 269c-.3 0-.7-.3-1 .4.5 0 .5-.1 1-.4m-.5.4q-.4-.1-.7.5c.5-.1.5 0 .7-.5m-3-.7q.3 3.5.4 7.6h.1q.2-4.2-.4-7.6zm-.6-2.6c.4.4.5.4.4 1q-.5-.3-.4-1"/>
<path fill="#e8a30e" d="M323.7 266.4q-.6.2-.4 1 .5-.3.4-1"/>
<path fill="#e8a30e" d="M323.7 267q-.5.3-.3.8c.2-.3.3-.2.3-.7z"/>
<path fill="#e8a30e" d="M323.8 267.4q-.4.1-.3 1c.4-.4.3-.4.3-1"/>
<path fill="#e8a30e" d="M324 267.9q-.6.1-.5 1c.5-.4.2-.5.4-1z"/>
<path fill="#e8a30e" d="M324 268.4q-.6.1-.4.9.4-.3.4-.9m-1.3-1.8c.2.2.6.2.6.8-.5-.3-.5-.2-.6-.8"/>
<path fill="#e8a30e" d="M322.7 267.1q.5 0 .6.7c-.5-.3-.5-.2-.6-.7"/>
<path fill="#e8a30e" d="M322.8 267.5c.2.1.6.1.6.8q-.6-.2-.6-.8"/>
<path fill="#e8a30e" d="M322.8 268c.2.1.7 0 .7.8q-.4-.2-.7-.7z"/>
<path fill="#e8a30e" d="M323 268.5c.3.2.5.1.5.8q-.5-.2-.5-.8m-.2.5-.2.1c.7 2 1 3.9.9 7.2h.1a19 19 0 0 0-.8-7.3m-1.2-2.4c.4.3.5.3.5.8q-.5-.1-.5-.8"/>
<path fill="#e8a30e" d="M322.4 266.7q-.5.3-.2 1c.3-.4.3-.4.2-1"/>
<path fill="#e8a30e" d="M322.6 267.3q-.6.3-.2.9c.2-.4.3-.4.2-.9"/>
<path fill="#e8a30e" d="M322.7 267.6q-.5.4-.1 1c.3-.4.2-.4.1-1"/>
<path fill="#e8a30e" d="M323 268.1q-.6.3-.3 1c.4-.5.1-.5.2-1z"/>
<path fill="#e8a30e" d="M323 268.6c-.1.2-.5.4-.1 1q.3-.4.2-1zm-1.5-1.5c.2.1.6 0 .7.7-.6-.2-.5-.2-.7-.7"/>
<path fill="#e8a30e" d="M321.6 267.6q.4-.1.7.5c-.5-.1-.5 0-.7-.5"/>
<path fill="#e8a30e" d="M321.7 268q.5-.1.8.6c-.6-.2-.6-.2-.8-.7z"/>
<path fill="#e8a30e" d="M321.9 268.5c.2 0 .6-.2.8.6q-.5 0-.8-.6"/>
<path fill="#e8a30e" d="M322.2 269q.4-.1.6.5c-.5-.2-.4-.1-.6-.6zm0 .5h-.2c.9 2 1 3.6.7 6.6h.2c.3-3 .2-4.6-.8-6.6zm-1.7-2.5c.4.3.6.2.6.8q-.5-.1-.6-.8"/>
<path fill="#e8a30e" d="M321.3 267c-.1.3-.4.6 0 1 .3-.4.2-.4 0-1"/>
<path fill="#e8a30e" d="M321.6 267.6q-.5.3-.1.9c.1-.4.3-.4 0-.9z"/>
<path fill="#e8a30e" d="M321.8 268q-.4.2 0 1c.2-.5.2-.5 0-1"/>
<path fill="#e8a30e" d="M322 268.4c-.1.3-.4.5 0 1 .3-.5 0-.5 0-1"/>
<path fill="#e8a30e" d="M322.3 268.8q-.5.4-.1 1 .3-.4 0-1zm-1.8-1.2q.4-.1.8.5-.7.1-.8-.5"/>
<path fill="#e8a30e" d="M320.6 268q.5-.1.9.5c-.6-.1-.6 0-.9-.5"/>
<path fill="#e8a30e" d="M320.8 268.4q.5-.1 1 .5c-.7-.1-.7 0-1-.5"/>
<path fill="#e8a30e" d="M321 268.9c.3 0 .7-.3 1 .5-.5 0-.5-.3-1-.5"/>
<path fill="#e8a30e" d="M321.4 269.3q.4-.1.7.5c-.5-.1-.4 0-.7-.5m2.2-3.2c.3.4.5.4.3 1q-.4-.4-.3-1"/>
<path fill="#e8a30e" d="M324.3 266.4q-.4.1-.4 1 .6-.3.4-1"/>
<path fill="#e8a30e" d="M324.4 267q-.6.2-.4.8c.2-.3.3-.2.4-.7z"/>
<path fill="#e8a30e" d="M324.4 267.4q-.4.1-.4 1c.4-.4.4-.4.4-1"/>
<path fill="#e8a30e" d="M324.5 268q-.6 0-.5.8c.5-.3.3-.4.5-.9z"/>
<path fill="#e8a30e" d="M324.5 268.4c-.2.2-.6.3-.4.9.3-.3.4-.3.4-.9m-1.2-1.8c.2.2.6.2.6.8-.5-.3-.5-.3-.6-.8"/>
<path fill="#e8a30e" d="M323.3 267q.4.1.6.8-.6-.2-.6-.8"/>
<path fill="#e8a30e" d="M323.4 267.4c.2.2.6.2.6.9-.5-.4-.5-.3-.6-.9"/>
<path fill="#e8a30e" d="M323.4 268c.2.1.7 0 .6.8-.4-.2-.3-.4-.6-.8"/>
<path fill="#e8a30e" d="M323.6 268.5c.2.1.4.1.4.8-.4-.4-.4-.3-.4-.8m-.4.3c.5 2.5.7 4.7.6 7.5h.2q.2-3.7-.7-7.5m-1-2.4c.4.4.6.3.5 1q-.5-.4-.5-1"/>
<path fill="#e8a30e" d="M323 266.6q-.5.2-.2 1c.3-.4.3-.4.2-1"/>
<path fill="#e8a30e" d="M323.1 267.2q-.5.2-.2.8.3-.3.2-.8"/>
<path fill="#e8a30e" d="M323.3 267.5q-.5.3-.2 1 .4-.3.2-1"/>
<path fill="#e8a30e" d="M323.5 268q-.6.3-.3 1c.4-.4.2-.5.3-1"/>
<path fill="#e8a30e" d="M323.6 268.5c-.2.3-.6.4-.3 1q.4-.4.3-1M322 267q.6-.1.8.6c-.6-.2-.6-.1-.8-.6"/>
<path fill="#e8a30e" d="M322.1 267.4c.2.1.7 0 .8.6-.6-.2-.6-.1-.8-.6"/>
<path fill="#e8a30e" d="M322.3 267.8c.2.1.6 0 .7.7q-.7-.1-.7-.7"/>
<path fill="#e8a30e" d="M322.4 268.3c.2 0 .6-.1.8.7-.5-.1-.5-.3-.8-.7"/>
<path fill="#e8a30e" d="M322.7 268.8q.4-.1.6.6c-.5-.2-.5-.1-.6-.6m-.8.9q.9 2 .7 3.7l-.3 2.5h.1q1-3.6-.5-6.2"/>
<path fill="#e8a30e" d="m322.5 269.2-.1.1c.8 2.1.9 4 .7 7h.1c.2-3 .1-5-.7-7zm-1.4-2.4c.4.3.5.2.5.8q-.5-.1-.5-.8"/>
<path fill="#e8a30e" d="M321.8 266.9c-.1.2-.4.4 0 1q.4-.4 0-1"/>
<path fill="#e8a30e" d="M322 267.4c-.1.3-.4.4 0 1 .1-.4.2-.4 0-1"/>
<path fill="#e8a30e" d="M322.3 267.8c-.2.2-.5.4 0 1 .2-.5.1-.5 0-1"/>
<path fill="#e8a30e" d="M322.5 268.2c-.2.3-.5.5 0 1 .2-.5 0-.5 0-1"/>
<path fill="#e8a30e" d="M322.7 268.7c-.1.2-.5.5-.1 1q.4-.4.1-1m-1.7-1.3q.4-.1.8.5c-.6-.1-.6 0-.8-.5"/>
<path fill="#e8a30e" d="M321.1 267.8q.5-.1.8.5c-.5-.1-.5 0-.8-.5"/>
<path fill="#e8a30e" d="M321.3 268.1c.2.1.7 0 .9.6-.6-.1-.6 0-.9-.6"/>
<path fill="#e8a30e" d="M321.5 268.7c.2 0 .6-.3.9.5-.5 0-.5-.2-.9-.5"/>
<path fill="#e8a30e" d="M321.9 269c.3.1.4 0 .6.6-.4-.1-.4 0-.6-.5zm-2-1.6q.7.1.8.7-.5 0-.7-.7z"/>
<path fill="#e8a30e" d="M320.7 267.4c0 .3-.3.5.2 1 .2-.5.1-.5-.2-1"/>
<path fill="#e8a30e" d="M321 267.9c0 .3-.3.5.1.9.1-.4.2-.4 0-.9z"/>
<path fill="#e8a30e" d="M321.3 268.2c0 .3-.3.5.1 1 .2-.5.2-.5 0-1z"/>
<path fill="#e8a30e" d="M321.6 268.6c0 .3-.4.5.1 1 .2-.6 0-.5 0-1z"/>
<path fill="#e8a30e" d="M322 269c-.2.3-.5.6 0 1q.2-.4 0-1m-2-1q.4-.2.9.4c-.6 0-.6 0-1-.4z"/>
<path fill="#e8a30e" d="M320.2 268.4c.2 0 .6-.2.9.4-.6 0-.6 0-.9-.4"/>
<path fill="#e8a30e" d="M320.4 268.7q.5-.2 1 .4c-.6 0-.6 0-1-.4"/>
<path fill="#e8a30e" d="M320.7 269.2c.2 0 .6-.3 1 .4-.5 0-.5-.2-1-.4"/>
<path fill="#e8a30e" d="M321.1 269.5q.4-.1.8.5c-.5 0-.5 0-.8-.5m3.8-.7a26 26 0 0 0-.7 7.5h.2q-.2-4 .7-7.4zm1-2.3c-.4.3-.5.3-.5.9q.5-.2.5-.9"/>
<path fill="#e8a30e" d="M325.1 266.6q.5.4.2 1c-.3-.4-.3-.4-.2-1"/>
<path fill="#e8a30e" d="M325 267.3q.6.2.2.8c-.2-.3-.3-.3-.2-.9z"/>
<path fill="#e8a30e" d="M324.9 267.6q.5.2.2 1-.5-.4-.2-1"/>
<path fill="#e8a30e" d="M324.7 268q.5.4.2 1c-.4-.4-.1-.5-.2-1"/>
<path fill="#e8a30e" d="M324.5 268.5c.2.3.6.5.3 1-.3-.4-.3-.4-.3-1m1.6-1.5c-.2.2-.6 0-.7.7q.6-.1.7-.7"/>
<path fill="#e8a30e" d="M326 267.5q-.4-.1-.7.6c.5-.2.5-.1.7-.6"/>
<path fill="#e8a30e" d="M325.9 267.9q-.5-.1-.8.6c.6-.2.6-.1.8-.6"/>
<path fill="#e8a30e" d="M325.7 268.4c-.2 0-.6-.2-.7.6q.4 0 .7-.6"/>
<path fill="#e8a30e" d="M325.4 268.8c-.2.1-.4 0-.5.7q.5-.1.5-.7m.2.4c-.9 2.1-1 4.1-.8 7h.2c-.2-3-.1-4.9.7-7zm1.5-2.3c-.5.3-.6.2-.6.8q.4-.1.6-.8"/>
<path fill="#e8a30e" d="M326.3 267c.1.2.4.5 0 1-.3-.5-.2-.5 0-1"/>
<path fill="#e8a30e" d="M326 267.5q.6.4.1 1c-.1-.5-.2-.5 0-1z"/>
<path fill="#e8a30e" d="M325.9 267.8c.1.3.4.5 0 1-.3-.4-.2-.4 0-1"/>
<path fill="#e8a30e" d="M325.6 268.3q.5.4.1 1c-.3-.5 0-.5-.1-1"/>
<path fill="#e8a30e" d="M325.4 268.7q.5.3.1 1c-.2-.4-.3-.4-.1-1m1.7-1.2c-.2.1-.6 0-.8.5.6 0 .6 0 .8-.5"/>
<path fill="#e8a30e" d="M327 268q-.4-.2-.8.4c.6-.1.5 0 .8-.5z"/>
<path fill="#e8a30e" d="M326.8 268.3q-.5-.1-.8.5c.6-.1.5 0 .8-.5"/>
<path fill="#e8a30e" d="M326.6 268.8c-.2 0-.6-.3-.8.5.4 0 .4-.3.8-.5"/>
<path fill="#e8a30e" d="M326.3 269.2q-.5-.1-.7.5.4 0 .6-.5zm0 .5c-1.1 2-1 4-.6 6.3h.2l-.3-2.9a6 6 0 0 1 .8-3.3h-.1zm1.9-2c-.5.1-.7 0-.8.6q.6 0 .8-.7z"/>
<path fill="#e8a30e" d="M327.4 267.5c0 .3.3.6-.2 1-.2-.5-.1-.5.2-1"/>
<path fill="#e8a30e" d="M327 268q.4.4 0 .9c-.1-.4-.2-.4 0-.9"/>
<path fill="#e8a30e" d="M326.8 268.3q.3.4-.1 1c-.2-.5-.2-.5.1-1"/>
<path fill="#e8a30e" d="M326.5 268.7c0 .3.4.6-.1 1-.2-.6 0-.5 0-1z"/>
<path fill="#e8a30e" d="M326.2 269c.1.4.4.7 0 1-.2-.4-.2-.4 0-1m2-.8c-.3 0-.6-.2-1 .4.6 0 .6 0 1-.4"/>
<path fill="#e8a30e" d="M327.9 268.6c-.2 0-.6-.2-.9.3.6 0 .6 0 .9-.3"/>
<path fill="#e8a30e" d="M327.7 268.9c-.3 0-.7-.2-1 .4.7 0 .6 0 1-.4"/>
<path fill="#e8a30e" d="M327.4 269.4c-.2 0-.6-.4-1 .3q.6 0 1-.3"/>
<path fill="#e8a30e" d="M327 269.7q-.4-.2-.8.4.5.1.8-.4m-3.5 2.7h1.1q1.1 0 1.2.4t-1.2.3h-1.1q-1.2 0-1.3-.4c-.1-.4.6-.3 1.3-.3"/>
<path fill="#e8a30e" d="m322.7 272.4-.4.6h.4l.4-.6zm.9 0-.4.6h.4l.4-.6zm.9 0-.4.7h.4l.4-.7zm.8 0-.3.7h.4l.3-.6h-.2z"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="m316.5 268.8.5 2.7.2.2v1.1l.5 1.6.3.6h.4l.1.2-.2.2h-.6l-.3-.1v-.3h-.2l-.1-.6-.8-1-.2-.5-.3-.3c-.5-1-1-3-1-3m-6.4-1 1.8.4-.5 2.6q-.4 1-.2 1 .2.7 1.1 2.3l.6.4.5.3h.5l.1-.2-.5-.2c0-.3-.5-.8-.5-1.2-.3-.7-.2-.7-.2-1.5l.5-1.6q.4-1 .5-2l-.8-1.7-.5-.7m-1.6-1.1c-2.9 1-1.7 3.5-.9 3.6m9.2-8.1.4-1v-.4l-.7.9"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M319.2 262.4h.4v-.6q-1-.4-1-.7v-.2c0-.2-.8-.3-1-.4l-.4-.2h-.2c-.8 0-1.1.7-1.2 1.2 0 0-.2 2.1-.5 3l-.2.3-.2.2-4.2-.2c-.8 0-1.8.7-1.8.7s-1 .6-1.1 1.6q-.1.5.1 1c1 2.7 1.8 0 2.1.1h.4c.5 0 1.4 1.5 2.7 1.8 4 .9 5-1.2 5-5.8v-.2l.2-.4v-.8l1-.2.2-.1"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="m317.3 261 .4-1v-.4l-.9 1m-8.9 7.6.7 1.8q-.1.6-.3.7h-.2l-.2.6v.6c0 .7.4 2.2.4 2.3q.2 0 .3.2v1.2q.1.3.3.3h.6l-.4-.4v-.2q0-.3.3-.5v-.3l-.1-.2-.1-.9v-1.1l.2-.2.1-.2 1-.6.8-1 .2-.5v-.2l-.3-.9-.6-.8m5.9 1.8c-.5.4-1.8.7-1.8 1 0 0 0 1.6-.2 2.2l-.3.6-.2.7-.3 1v.3l.4.3h-.4l-.6-.2V274l-.2-1.4.1-1-.1-3.6m4.7-5.4q.3.4 1.3.1.2.3.6-.2m-.3-.5h.2s.1 0 0 0z"/>
<path d="M317.8 261.4q.3.4.6.1-.3-.3-.5-.1z"/>
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M329.1 272.9v2.9c.2.2 1 .2 1.2 0v-17.2h-.9v4.9l-.1.8v3.2q-.2.4 0 .8v.7l-.1.8z"/>
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M329.1 273.6c.3.2 1 .1 1.2 0m-1.2-.7h1.2m-1.2-.8h1.2m-1.1-.7h1.1m-1.1-.8h1.1m-1.1-.8h1.1m-1-.8h1m-1-.7h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.8h1m-1-.7h1m-1-.8h1m-1-.8h1m-.9-.8h.8m-.8-.8h.8m-.8-.8h.8m-.8-.7h.8m-1 15.5h1.1m-1.2.7h1.2"/>
<path fill="#007934" fill-rule="evenodd" stroke="#e7e7e7" stroke-width=".1" d="M331.5 257h2.1l-.8-.3h2.2l-1-.5 2.2.1-1-.5c.9 0 1.2 0 2 .2l-.9-.5 2.5-.2a9 9 0 0 0-8 .8l1-1.1h-.7q.5-.6 1.2-1l-.7.1 1.4-1-.9.1 1.6-1.1h-1l2-1.3c-3.3.4-5.1 2.8-5.3 4.8a7 7 0 0 0-6.6-3.6q1.5.5 2.4 1l-1 .1q1.1.3 2 1h-1l1.8.8-.8.1 1.5.8h-.8c1 .4 1.1.6 1.3.7a8 8 0 0 0-7.3 3l2.2-1-.5.8q.9-.6 2-1l-.4.7 1.8-1-.4.8 1.7-.7-.5.7 1-.4a6 6 0 0 0-2.9 5.8l.9-2v1l1-2v1l1-2v1l1.1-1.9v.8l.3-.6.7-.9.2.3q.4.7.5 1.8l.2-.9c.3.7.7 1.8.7 2.4l.2-1c.3.5.6 1.8.7 2.3l.3-.9q.4 1.3.5 2.3c.8-3-.4-4.9-1.8-6.3q.6.2 1.3 1l-.3-.9 1.5 1.4-.2-.8q.9.8 1.5 1.6l-.2-1a6 6 0 0 1 1.3 1.8l-.1-1q1 1 1.3 1.7c0-2.7-3.1-5-6-5.3z"/>
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M330.3 257.1c3.1-.5 7.2 2.3 7.2 5.3l-1.3-1.8.1 1-1.3-1.7.2 1q-.6-.8-1.5-1.6l.2.8-1.5-1.4.3 1q-.8-1-1.3-1.1m-1.8-1.5c-1.9-1.2-5.8-1-8.7 2.3l2.2-.9-.5.8q.9-.6 2-1l-.4.7 1.8-1-.4.8 1.7-.7-.5.7 1-.4"/>
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M329.7 256.6c-.4-2.2-3-4.8-6.9-4.6q1.5.5 2.4 1l-1 .1q1.1.3 2 1h-1l1.8.8-.8.1 1.5.7-.7.1c1 .4 1 .6 1.2.7m1.5 1c-2.6.8-5.1 3.3-4.7 6.7 0-.4.5-1.5.8-2v1l1-2v1l1-2v1l1.1-1.9v.8l1-1.5m-1.6.2-.5 1.4m-.5-.8-.5 1.9m-.5-1-.5 2"/>
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M329.9 258.6v-.6" class="bo-fil1 bo-str2"/>
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M332.6 261.3v1.3m-1-3 .1 1.6m-1-2.7.1 1.3m4.8-.4.6 1.2m-2-2.1.8 1.4m-2-1.8.7 1.2m-10.6-.8a5 5 0 0 1 1.7-1.2m-.2 1c.4-.6.6-.9 1.6-1.3m-.2 1q.5-.6 1.7-1.1m-.4 1.2q.7-.6 1.6-1m-3.7-4q1.2 0 2.2.6m-1.2.4q1 0 1.8.4m-1 .4q1 0 2 .6m-1.3.2a4 4 0 0 1 1.7.6m.9.2a9 9 0 0 1 8.5-1.2l-2.4.2q.6.1.8.4h-2q.6 0 1 .4H334l1 .3h-2.2l.8.3q-1.4 0-2 .2m4.8-1.6a6 6 0 0 0-2.2-.4m1 .7a6 6 0 0 0-2.5-.2m1.3.6a7 7 0 0 0-2.5-.2m1.3.7a5 5 0 0 0-2-.1m.8 1q.5.5.8 1.1m-3-3.1c.2-2 2-4.4 5.3-4.8l-2 1.3h1q-.9.4-1.6 1.1h.9l-1.4 1 .7-.1-1.2.9h.7l-1 1.1m2-4q-.8.2-1.6.7m1 .4-1.5.5m.9.4q-.7.2-1.5.7m1 .2a3 3 0 0 0-1.4.8m-.5 2.4-.3 1.1m1.2-2c1.8 1.6 4.1 3.7 3 7.6a6 6 0 0 0-.4-2.2l-.3.9a7 7 0 0 0-.7-2.4l-.2 1-.7-2.4-.2.9q0-1.4-.7-2"/>
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m293.3 233.5 1.3.7.3-.6q.2-.5.1-.6 0-.3-.5-.5t-.7-.2q-.3 0-.5.4l-.2.5q0 .2.2.3m1.6 1 1.7.8h.3l.3-.5.3-.6v-.4l-.2-.2-.3-.2q-1.1-.6-1.7.3l-.4.7m-2.6-.8.6-1.2.6-.7.6-.4h.9q.3.1.4.6.2.3.1.7l1-.6 1 .1q.4.3.6 1t-.4 1.7l-.7 1.3-.3.7-1.4-.9-1.8-1-1.5-.7.3-.6m9-10.8q-1.2 1 .3 2.6.8 1 1.5 1 .6.2 1.3-.3.5-.4.4-1a3 3 0 0 0-.8-1.5q-.8-1-1.4-1.2-.8-.1-1.4.4m3.8-.2q.7 1 .7 2a3 3 0 0 1-1.2 2 3 3 0 0 1-2 .7 2 2 0 0 1-1.8-1 3 3 0 0 1-.7-2q0-1 1-2a3 3 0 0 1 2-.7q1.1 0 2 1m8-2.6.3 1 1.9-.7h.3l.3.7-.5.1-2.4.7-.7.2-.4-1.6-.5-2-.5-1.5.6-.2.7-.2.3 1.6.6 2m9.2-3v-1.6h.8l.7.1-.3 1.7-.2 2-.1 1.6h-.7l-.7-.1.3-1.7.2-2m9.9 5.3 3.1-2.7.4.2.4.2-4.7 3.6-.5-.3.2-2 .4-3.8 1.2.7-.5 4m8.4 4 1.2-1.3.4.6.5.4-1.3 1.1-1.5 1.4-1.1 1.1-.5-.5-.5-.5 1.3-1 1.5-1.4m5 10 1.3-1.4h-2l.7 1.4m-1.1-1.3-2 .1-.1-.3-.2-.4h5.9l.3.6-4 4.3-.2-.7-.3-.6 1.4-1.3-.4-.8-.4-1" font-family="Linux Biolinum" font-size="100" font-weight="700" letter-spacing="60" style="line-height:125%;text-align:center" text-anchor="middle" word-spacing="0"/>
<path fill="#e8a30e" stroke="#000" stroke-linecap="square" stroke-linejoin="round" stroke-width=".1" d="m325 280.6-.8 2.2h-2.4l1.9 1.5-.7 2.2 2-1.3 1.8 1.3-.6-2.2 1.8-1.4h-2.3zm9-3.9-.7 2.2H331l1.8 1.5-.7 2.2 2-1.3 1.9 1.3-.7-2.2 1.9-1.4h-2.4zm14.2-25-.8 2.3h-2.3l1.8 1.4-.6 2.3 1.9-1.4 1.9 1.4-.7-2.3 1.9-1.4h-2.4zm-6.7 17.9.7 2.2h2.4l-1.9 1.4.7 2.3-2-1.4-1.9 1.4.7-2.3-1.8-1.4h2.3zm4.7-8.2.8 2.2h2.3l-1.9 1.5.7 2.2-1.9-1.3-2 1.3.8-2.2-1.9-1.4h2.3zm-31.1 19.2.8 2.2h2.3l-1.9 1.5.7 2.2-2-1.3-1.8 1.3.6-2.2-1.8-1.4h2.3zm-9.2-3.9.8 2.2h2.4l-2 1.5.8 2.2-2-1.3-1.9 1.3.7-2.2-1.9-1.4h2.4zm-14-25 .7 2.3h2.3l-1.8 1.4.6 2.3-1.9-1.4-1.9 1.4.7-2.3-1.9-1.4h2.4zm6.6 17.9-.7 2.2h-2.4l1.9 1.4-.7 2.3 2-1.4 1.9 1.4-.7-2.3 1.8-1.4h-2.3zm-4.7-8.2-.8 2.2h-2.3l1.9 1.5-.7 2.2 1.9-1.3 2 1.3-.8-2.2 1.9-1.4h-2.3z"/>
<path fill="#e7e7e7" d="M321 248.1v-.5h.1l-.8-.5h-.7l-.8.5v.5h2.3"/>
<path fill="#e7e7e7" d="M321 248.1v-.5h.1l-.8-.5v-.7h-.6v.7l-.9.5v.5h2.3zm.3.6v.2h-2.6v-.2z"/>
<path fill="#e7e7e7" d="M321.3 248.7v.2h-2.6v-.2zm-2.5 0v-.5h.1v.5-.5h-.1v-.1h2.4v.1h-.2v.5-.5h.1v.5"/>
<path fill="#e7e7e7" d="M318.9 248.7v-.5zv-.5h-.1v-.1h2.4v.1h-.2v.5-.5h.1v.5"/>
<path fill="#e7e7e7" d="M319.4 248.6v-.4h-.4v.4z"/>
<path fill="#e7e7e7" d="M319.1 248.3v.2h.2v-.2zm1.8.3v-.4h-.3v.4z"/>
<path fill="#e7e7e7" d="M320.7 248.3v.2h.1v-.2zm.2-.3v-.3h-.3v.3z"/>
<path fill="#e7e7e7" d="M320.7 247.7v.2h.1v-.2zm-1.3.3v-.3h-.4v.3z"/>
<path fill="#e7e7e7" d="M319.1 247.7v.2h.2v-.2zm.8.3v-.3h-.3v.3z"/>
<path fill="#e7e7e7" d="M319.7 247.7v.2h.1v-.2zm.7.3v-.3h-.3v.3z"/>
<path fill="#e7e7e7" d="M320.1 247.7v.2h.2v-.2zm.4.2v.8h-1v-.8z"/>
<path fill="#e7e7e7" d="M320.5 247.9v.8h-1v-.8zm-1 .2h1m-.9.6v-.6m.7.6v-.6m.5-.5-.5-.4h-.6l-.5.4zm-1-.5h.4m-.3-.1h.2zm.1 1h.1zm.3 0h.1"/>
<path fill="#e7e7e7" fill-rule="evenodd" d="M319.8 246h.4v.4h-.4z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M320 245.6v.4m-.2-.2h.4"/>
<path fill="#452c25" d="M317.1 210.3s-2.3 5.4-1.5 6c0 0 3-3.3 3.7-5.9s0-.2 0-.2l-.2-2.8-2 2.7"/>
<path fill="none" stroke="#000" stroke-width=".2" d="M317.1 210.3s-2.3 5.4-1.5 6c0 0 3-3.3 3.7-5.9s0-.2 0-.2l-.2-2.8-2 2.7"/>
<path fill="#452c25" d="M317.6 207.7s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.1 0-.1 0-.1l.7-3.9"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M317.6 207.7s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.1 0-.1 0-.1l.7-3.9"/>
<path fill="#452c25" d="M320.5 206.4s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.2 0-.2 0-.2l.7-3.8"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M320.5 206.4s-2.8 6-2.1 6.4c0 0 2.3-2.7 3-4.8.5-2.2 0-.2 0-.2l.7-3.8"/>
<path fill="#452c25" d="m356.8 195.6 3.4 1.9s.8.7-1 .3a42 42 0 0 1-12.8-6.4c-3.3-2-4.3-2-4.3-2l4.5.1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m356.8 195.6 3.4 1.9s.8.7-1 .3a42 42 0 0 1-12.8-6.4c-3.3-2-4.3-2-4.3-2l4.5.1z"/>
<path fill="#452c25" d="m358 194.8 3.3 1.9s.8.7-1 .3a45 45 0 0 1-12.8-6.4c-3.3-2.1-.6 1.7-.6 1.7l.5-2.5 10.5 5z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m358 194.8 3.3 1.9s.8.7-1 .3a45 45 0 0 1-12.8-6.4c-3.3-2.1-.6 1.7-.6 1.7l.5-2.5 10.5 5z"/>
<path fill="#452c25" d="M363.5 196.6s-4-.7-5.4-1.8c0 0 .2.5-1.7-.4 0 0 .7 1.7-4.8-2s-3.6-2-3.6-2l1.6-.3 9.3 3.7z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M363.5 196.6s-4-.7-5.4-1.8c0 0 .2.5-1.7-.4 0 0 .7 1.7-4.8-2s-3.6-2-3.6-2l1.6-.3 9.3 3.7z"/>
<path fill="#452c25" d="m342.6 198.1 1.4 1.9s-.5 1.8-5.1-1.7-4.4-3.2-4.4-3.2l2.6-.3 5.6 3.2"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m342.6 198.1 1.4 1.9s-.5 1.8-5.1-1.7-4.4-3.2-4.4-3.2l2.6-.3 5.6 3.2"/>
<path fill="#452c25" d="M336.6 199s2.2 2.9 1.7 3.2-3 .2-4.8-2.5c-1.9-2.8 0-.2 0-.2v-4.4z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M336.6 199s2.2 2.9 1.7 3.2-3 .2-4.8-2.5c-1.9-2.8 0-.2 0-.2v-4.4l3.2 3.8"/>
<path fill="#452c25" d="M338.8 197.8s2.1 2.6 1.9 3-3.2.2-5.5-2.5c-2.3-2.6-.3-3.4-.3-3.4l3.9 2.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M338.8 197.7s2.1 2.7 1.9 3.1-3.2.2-5.5-2.5c-2.3-2.6-.3-3.4-.3-3.4z"/>
<path fill="#452c25" d="M350.6 196.2s6 2.5 1.6 2.4c0 0-8.6-2.3-13-6.2l1.2-1.6 10.2 5.2"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M350.6 196.2s6 2.5 1.6 2.4c0 0-8.6-2.3-13-6.2l1.2-1.6 10.2 5.2"/>
<path fill="#452c25" d="M353.8 195.4s3.1 2 3.4 2.7-10-1.9-15.3-6.3l2.4-1.2 9.4 4.8z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M353.8 195.4s3.1 2 3.4 2.7-10-1.9-15.3-6.3l2.4-1.2 9.4 4.8z"/>
<path fill="#452c25" d="M344.5 197.2s2.3 1.9 2 2.1-5-.5-8.6-3.3l.4-1.7z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M344.5 197.2s2.3 1.9 2 2.1-5-.5-8.6-3.3l.4-1.7 6.2 2.8"/>
<path fill="#452c25" d="M348.4 197s2.3 1.6 1.8 1.8-2.2 1.6-10.7-3.4l-1-.6 1.3-2z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M348.4 197s2.3 1.6 1.8 1.8-2.2 1.6-10.7-3.4l-1-.6 1.3-2z"/>
<path fill="#452c25" d="M339.7 192.4s2.8 2.4 2.4 2.8-3.6-.4-5-1.5c-1.5-1-2.6-2.4-2.6-2.4l3-.7z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M339.7 192.4s2.8 2.4 2.4 2.8-3.6-.4-5-1.5c-1.5-1-2.6-2.4-2.6-2.4l3-.7z"/>
<path fill="#452c25" d="m336.4 188.3 5 3s4.1 2.8 3.7 3.1-3.7-.8-6-2c-2.2-1.3-5-4-5-4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m336.4 188.3 5 3s4.1 2.8 3.7 3.1-3.7-.8-6-2c-2.2-1.3-5-4-5-4"/>
<path fill="#452c25" d="M333.2 202.4s1 2.4.4 2.6-2-.2-3-2.3c-1.2-2.2 1-1.3 1-1.3z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M333.2 202.4s1 2.4.4 2.6-2-.2-3-2.3c-1.2-2.2.7-1.3.7-1.3z"/>
<path fill="#452c25" d="M334.9 200.9s1.4 2.3 1.1 2.6c-.3.2-2.2 1-4.2-2s2.1-2.3 2.1-2.3z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M334.9 200.9s1.4 2.3 1.1 2.6c-.3.2-2.2 1-4.2-2s2.1-2.3 2.1-2.3z"/>
<path fill="#452c25" d="M330.7 190.4s4.8 9.3 4.4 9.8-2.3 0-3.4-2.5-1.9-5.6-1.9-5.6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M330.7 190.4s4.8 9.3 4.4 9.8-2.3 0-3.4-2.5-1.9-5.6-1.9-5.6z"/>
<path fill="#452c25" d="M336.3 192.8s4 3.3 3.2 3.8q-1.2.8-4.8-2.5c-2.3-2.3 1.6-1.5 1.6-1.5"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M336.3 192.7s4 3.5 3.2 3.9q-1.4.8-4.8-2.5c-3.4-3.3 1.6-1.4 1.6-1.4z"/>
<path fill="#452c25" d="M334.4 192.8s2.8 5.3 2.5 5.8c-.4.5-2.5-1.3-3.6-2.7-1-1.3-1.9-3.3-1.9-3.3"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M334.4 192.8s2.8 5.3 2.5 5.8c-.4.5-2.5-1.3-3.6-2.7-1-1.3-1.9-3.3-1.9-3.3"/>
<path fill="#452c25" d="M312.9 203.6s-.2 3.1 0 3.3c.2.3 1.7.3 1.8-2 .1-2.4-.3-2.5-.3-2.5z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M312.9 203.6s-.2 3.1 0 3.3c.2.3 1.7.3 1.8-2 .1-2.4-.3-2.5-.3-2.5l-1.5 1.1"/>
<path fill="#452c25" d="M313.8 199.9s-1 3.4 0 4.1 1.9-3.4 2-4.3c0-1-2 .2-2 .2"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M313.8 199.9s-1 3.4 0 4.1 1.9-3.4 2-4.3c0-1-2 .2-2 .2z"/>
<path fill="#452c25" d="M314.6 204.3s.2 3.2.8 3.4 1.6-1 1.6-1.8-1-2.8-1-2.8l-1.4 1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M314.6 204.3s.2 3.2.8 3.4 1.6-1 1.6-1.8-1-2.8-1-2.8l-1.4 1"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M314.6 200.4s-1 3.5 0 4.2 1.9-3.4 2-4.4c0-.9-2 .2-2 .2z"/>
<path fill="#452c25" d="M314.7 194.8s-1.6 1.7-1.6 2.6 2.4-1.2 2.6-1.6-1-1-1-1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M314.7 194.8s-1.6 1.7-1.6 2.6 2.4-1.2 2.6-1.6-1-1-1-1z"/>
<path fill="#452c25" d="M313.6 194s-1.3 2.3-1 3 1.6-.5 2.2-1.4-1.2-1.7-1.2-1.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M313.6 194s-1.3 2.3-1 3 1.6-.5 2.2-1.4-1.2-1.7-1.2-1.7z"/>
<path fill="#452c25" d="M331.5 190.8s2 3.8 1.5 4q-1 .1-2.3-1.9c-.8-1.1.8-2.1.8-2.1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M331.5 190.8s2 3.8 1.5 4q-1 .1-2.3-1.9c-.8-1.1.8-2.1.8-2.1z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M331.6 198.6s.7 3.3 0 3.6c-1.2.5-2-2.3-2-3.4s2-.2 2-.2zm-2.6 5.1s.2 2.5-.2 2.7c-.3.2-1.2.2-2.1-1.8l-.5-1.2 2.3-1.2.5 1.3"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M331.4 203.2s.2 2.5-.3 2.6c-.5 0-1.9-.8-2.5-2.3-.6-1.8 2.4-1.3 2.4-1.3z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M329 195.3s2.6 6 2.1 6.7c-.8 1.7-3.2-3.5-3.9-5.6-.8-2.2 1.7-1 1.7-1z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.7 196.3s3.6 6.5 2.1 6.6c-1.5.2-4.3-4.6-4.7-5.8-.5-1 2.6-.8 2.6-.8z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.5 197.7s1.8 6.2.6 5.6c-1-.5-2.5-5.2-2.6-6.2s2 .6 2 .6zm6.2-8.8s2.7 4.1 1.8 4.2c-.8.2-4-2.7-4-3.2-.1-.5 2.2-1 2.2-1z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M332 189s3.5 4.8 2.4 5c-1 .2-1.1-.5-1.1-.5s-2.8-2.5-3-3.1c-.1-.6 1.6-1.4 1.6-1.4m3.5.1s2.4 2.5 1.8 3.3-4-3.1-4.4-3.6 2.9.2 2.9.2m-6 3.5s3.8 7.5 3 8.2c-.6.8-4.9-5.6-5-6.5-.2-.9 2-1.8 2-1.8"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.5 193.2s1.5 2.3 1.4 3.6c0 1.2-2.3-1.8-2.5-2.4s1-1.2 1-1.2zm3.1-1.2s1.2 2.4.8 3.1-2-1.4-2.5-2.3 1.7-.8 1.7-.8z"/>
<path fill="#452c25" stroke="#000" stroke-width=".2" d="M325 194.4s2 2 1.9 3.1-2.8-1.6-3-2c-.3-.6 1.2-1.1 1.2-1.1z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M337.2 188.4s2.8 2.5 2.4 3c-.5.3-4.3-2.4-4.9-3-.6-.5 2.5 0 2.5 0z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="m334.8 188.2 2.2 1.9s2 1.3 1.7 1.7-3.6-1.1-4.1-1.8q-.8-1.2-.6-1.4zm7.3.6s8.4 3.4 8 4.2c-.3.8-8.8-2.7-10-3.7-1.4-.9 1.8-.6 1.8-.6"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M342.4 189.8s6.3 3.6 5.5 4-5.2-1-7.5-2.5l-3.3-2.5 2.8-.6zm-15.5 4.4s1.2 2.4.8 3c-.4.8-1.5-.5-2.1-1.4s1.3-1.6 1.3-1.6zm.3 5.4s1 3.5-.1 4.2c-1.1.6-1.8-3.6-1.8-4.5s1.9.3 1.9.3z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M322.3 193.8s3.5-1.5 4.1-1.4c0 0 .8-.2 1.1-.5l1.3-1s-.6-4.3 3.9-3.8l11.5 1.1a45 45 0 0 1 6.5 2l9 3.9 4 2.3c.8.5-.1.1-.1.1s-10.7-5.7-14.5-6.4c-1-.2 0 1 0 1l-3.4-1.3a6 6 0 0 0-2.9-.6 6 6 0 0 1-2.2-.3c-.6-.2-3.8-.3-4.4-.4l-1-.2.3.4-1.6-.2-.5.6s-1.5.3-1.6-.2-1 2.3-1.3 3c-.4.9-1.9.9-2.3 1.4l-1 .9c-.2.1-1.3.8-1.7.8l-2.9.2-.6-1zm4.6 10-.1 3.3c-.2.2-1.8.1-1.8-2.2s.5-2.4.5-2.4l1.5 1.2"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M327.3 201.4s-.3-1.4-.5-1.6 0-.3 0-.3-.5-1.4-.9-1.6c-.3-.2.1-.4.1-.4s-.6-1-1-1.2c-.4-.3 0-.4 0-.4s-.5-1.2-1.5-1.8c0 0-.7-.7-1.4-.9q-1.2-.4-4.5-.3c-2.2 0-3.2 1.5-3.2 1.5l-.1 1.8.3-.2-.5 2.2c0 .5.5 1.4.5 2.5v1q.2 1.5.8 2.9v.2c.2-.2.5.6.7 1 0 0 0 1 .2.6l.6 1.1c0 .2.5 1.4.5.9 0-.6.4 1.3.4 1.5l.5-.7.2.8h.5l-.2.8s1.2-1 1.3-1.4v-.6l.4-.4.6-1s1.5 1.2 1.7 1.7l.3.7.4-.3.3.8.3-.4.2.6.1.3c.1.1.4.2.8-.6q.8-1.7.6-2c0-.3.3.2.3.2s.6-1 .5-1.6.3-.4.3-.4v-2.2q.2-.4.3-.3l-.2-2.3c-.2-.2.3-.2.3-.2z"/>
<path d="M324.3 196.7q.4.1.6.6-.2-.6-.6-.8zm.3 1.2q.7.8.5 1.8v.1q.1-1.1-.5-2zm1.1.7a3 3 0 0 1 .4 1.6q.1-1-.4-1.7m.4 2.5q0 .6-.2 1v.2zm-.4 1.9v.7-.8m.7 0q.3.2.3.6v-.1l-.3-.7zm0-2.6.4.5v-.2l-.5-.5zm-1.4 2v1zm-.7.7v1-1.1z"/>
<path fill="#452c25" d="M310.7 194.3s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M310.7 194.3s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3z"/>
<path fill="#452c25" d="M312.6 194.3s-1.6 1.7-1.6 2.6 2.4-1.3 2.6-1.7-1-.9-1-.9"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M312.6 194.3s-1.6 1.7-1.6 2.6 2.4-1.3 2.6-1.7-1-.9-1-.9z"/>
<path fill="#452c25" d="M285 194.5s-3.3 1.7-3.6 2.4 10-1 15.8-5l-2.3-1.4z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M285 194.5s-3.3 1.7-3.6 2.4 10-1 15.8-5l-2.3-1.4z"/>
<path fill="#452c25" d="M289 195.2s-6 2.2-1.7 2.3c0 0 8.7-1.8 13.3-5.4l-1.1-1.7z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M289 195.1s-6 2.3-1.7 2.4c0 0 8.7-1.8 13.3-5.4l-1.1-1.7z"/>
<path fill="#452c25" d="M298 189s-6.5 3.4-5.8 3.7 5.3-.6 7.7-2l3.4-2.4-2.9-.8-2.5 1.6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M298 189s-6.5 3.4-5.8 3.7 5.3-.6 7.7-2l3.4-2.4-2.9-.8-2.5 1.6z"/>
<path fill="#452c25" d="M295.5 196.3s-2.3 1.9-2 2.1 5-.5 8.6-3.4l-.5-1.7z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M295.5 196.3s-2.3 1.9-2 2.1 5-.5 8.6-3.4l-.5-1.7-6.2 2.9"/>
<path fill="#452c25" d="M291.5 196s-2.2 1.7-1.7 1.8 2.3 1.5 10.6-3.9l1-.6-1.5-2-8.4 4.5"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M291.5 196s-2.2 1.7-1.7 1.8 2.3 1.5 10.6-3.9l1-.6-1.5-2z"/>
<path fill="#452c25" d="M289.8 189.6a66 66 0 0 0-13.9 7.2l17.9-7m11.2 10.6s-1.5 2.3-1.2 2.5 2.1 1.2 4.3-1.7c2-3-2-2.5-2-2.5z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M305 200.4s-1.5 2.3-1.2 2.5 2.1 1.2 4.3-1.7c2-3-2-2.5-2-2.5z"/>
<path fill="#452c25" d="M306.6 202s-1 2.4-.5 2.6 2-.1 3.2-2.2c1.2-2.2-.6-1.1-.6-1.1zm-3.3-3.5s-2.2 2.7-1.7 3.1c.4.4 3 .3 4.9-2.4l-.5-2.5-2.7 1.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M306.6 202s-1 2.4-.5 2.6 2-.1 3.2-2.2c1.2-2.2-.6-1.1-.6-1.1zm-3.3-3.5s-2.2 2.7-1.7 3.1c.4.4 3 .3 4.9-2.4l-.5-2.5-2.7 1.7"/>
<path fill="#452c25" d="M301.2 197.1s-2.2 2.6-2 3c.2.5 3.2.3 5.6-2.2s.5-3.5.5-3.5l-4 2.6"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M301.2 197.1s-2.2 2.6-2 3c.2.5 3.2.3 5.6-2.2s.5-3.5.5-3.5l-4 2.6"/>
<path fill="#452c25" d="m297.4 197.3-1.4 1.9s.3 1.8 5.1-1.5l4.5-3-2.5-.5z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m297.3 197.2-1.3 2s.3 1.8 5.1-1.5l4.5-3-2.6-.5z"/>
<path fill="#452c25" d="m282.2 194.5-3 1.3s-.7.6 1 .7c1.8 0 5.5-.5 11.9-4 2.8-1.7 4.7-3.3 4.7-3.3l-2.4-.8-12.2 6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m282.2 194.5-3 1.3s-.7.6 1 .7c1.8 0 5.5-.5 11.9-4 2.8-1.7 4.7-3.3 4.7-3.3l-2.4-.8-12.2 6z"/>
<path fill="#452c25" d="M277 196.4s4.4-.5 6-1.6c0 0-.3.5 2-.4 0 0-1.2 2 5.3-2 6.5-3.8 0 0 0 0l7.2-4.1-.4-.8-14.7 6.2c-1 .3-5.4 2.7-5.4 2.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m290.3 192.4 7.2-4.1-.4-.8-14.7 6.2c-1 .3-5.4 2.7-5.4 2.7s4.4-.5 6-1.6c0 0-.3.5 2-.4 0 0-1.1 2 5.3-2z"/>
<path fill="#452c25" d="M308.5 202s-.4 3.4.1 3.5 2-1 2.6-3c.6-2.2-2.4-2-2.4-2l-.4 1.3"/>
<path fill="none" stroke="#000" stroke-width=".2" d="M308.5 202s-.4 3.4.1 3.5 2-1 2.6-3c.6-2.2-2.4-2-2.4-2l-.4 1.3"/>
<path fill="#452c25" d="M310.8 203.5s-.3 2.4 0 2.6c.4.3 1.3.4 2.3-1.6s.5-1.3.5-1.3l-2.3-1.2-.5 1.3"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M310.8 203.4s-.3 2.5 0 2.7c.4.3 1.3.4 2.3-1.6s.5-1.3.5-1.3l-2.3-1.2z"/>
<path fill="#452c25" d="M311.4 199s-1.9 4-.8 4 2.5-3 2.7-3.7-1.9-.3-1.9-.3"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M311.4 199s-1.9 4-.8 4 2.5-3 2.7-3.7-1.9-.3-1.9-.3z"/>
<path fill="#452c25" d="M311.3 199s-.8 4.5.2 4c1-.3 1.6-3.7 1.7-4.4s-2 .4-2 .4"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M311.3 199s-.8 4.5.2 4c1-.3 1.6-3.7 1.7-4.4s-2 .4-2 .4z"/>
<path fill="#452c25" d="M312.8 199.4s-1.1 3.5 0 4.2c1 .7 1.8-3.4 1.9-4.3 0-1-2 .1-2 .1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M312.8 199.4s-1.1 3.5 0 4.2c1 .7 1.8-3.4 1.9-4.3 0-1-2 .1-2 .1z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M308.4 198.3s-1 3.2-.4 3.5c1.2.6 2.3-2.2 2.4-3.3.1-1.2-2-.2-2-.2zm-7.9-6.6s-2.8 2.4-2.5 2.7 3.6-.2 5.1-1.3l2.1-1.5-2.5-1.6z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M303 189.3s-1.8 1.5-1.5 1.9 3.6-1 4.2-1.7.6-1.3.6-1.3z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M304.9 189s-2.5 2.1-1.9 2.9 4-2.6 4.5-3-2.9 0-2.9 0"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="m303.8 188.2-5 2.3s-4.2 2.7-3.8 3 3.7-.6 6-1.7a38 38 0 0 0 5-3.1m-.9 2.1s-5.3 4.7-4.5 5.1c.8.5 4.4-1.4 6.8-3.7"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M305.8 192.4s-3 5-2.7 5.6c.4.5 2.6-1.2 3.7-2.5s2-3.2 2-3.2"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M307.6 192.8s-3.3 6.1-3 6.6c.4.5 2.4.1 3.5-2.3s1-4 1-4z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M309.5 193.1s-3.7 7.6-3 8.3 4.8-5.7 5-6.6c.3-1.6-2-1.8-2-1.8m-7.7-4.9s-3.3 1.6-2.7 2c.7.2 3.8-1.2 4.2-1.3s-1.5-.7-1.5-.7z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M302.3 188.6s-2 1.6-1.6 2c.4.5 3.5-1.2 4-1.7.7-.5-2.4-.3-2.4-.3zm4.3.2s-2.8 3.7-2 3.8c.9.2 4.1-2.4 4.2-2.8 0-.5-2.2-1-2.2-1z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M307.8 189.6s-3 3.7-2.1 4 1-.4 1-.4 2.3-2 2.4-2.5-1.2-1.2-1.2-1.2"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M308.7 190.5s-2.1 3.7-1.6 4 1.5-.8 2.4-1.9-.8-2.1-.8-2.1z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M309.3 192.2s-1.3 2.3-1 3 1.6-.5 2.2-1.3-1.2-1.7-1.2-1.7zm.5 6.5s-.8 3.2-.2 3.5c1.3.7 2-2.2 2.2-3.2.1-1.2-2-.3-2-.3z"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M315.7 194.4s-.9-.3-1.5-.3c0 0-1.9-1.4-3-1.6-1-.1 0-.2 0-.2s-.2-2.4-.5-2.6c0 0-.1-2.5-1.7-2.6s-5.1.1-5.7-.1-2.6-1-6.3 0c-3.8 1-11.2 4.3-11.6 4.4-.4 0 8.5-2 11-3l3.3-.5s-2.8 1.4-.2.8 2 0 2 0-.2.6 1.3.3c1.4-.4 1.4 0 1.4 0s1.7.6 3-.2c0 0 .7 2.3 1.6 2.6 0 0 1 2.2 3.1 2.6l1.2.9 1.2.4 1.3-1"/>
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M298.3 188s-8.6 3-8.3 3.9c.4.8 9-2.4 10.3-3.2 1.4-1-2-.7-2-.7"/>
<path d="m321.8 194.6.5.2-.3-.3-.7-.3.1.2zM315 201l.3.8v-.2q0-.4-.3-.7zm1.2-6.5.9-.2v-.1l-.9.1zm1.7-.2.8-.1v-.1zm-3 1.5v.2zm-.1 4.6v.7-.1z"/>
<path fill="#bd8759" d="M316.6 213.9s-1 .7-1 1l-.2.8s.8-.1.7.3c0 0 .3.2.8-.8q.6-1.5 1.1-1.5.6.2 1 .6.2.4.8.3s-.4-.6-.2-.7l.6-.1s-.3-.7-.9-.8q-1-.2-1-.6c.2-.2 1-2.4 1-2.4l-1-1.5-.5 1.3.2 1-1 2.1c0 .1-2.4 1-2.7 1l-.8.9v.5s.3-.4.4-.2q0-.2.6-.2l.1.2.5-.4.1-.1.6-.1"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M316.6 213.9s-1 .7-1 1l-.2.8s.8-.1.7.3c0 0 .3.2.8-.8q.6-1.5 1.1-1.5.6.2 1 .6.2.4.8.3s-.4-.6-.2-.7l.6-.1s-.3-.7-.9-.8q-1-.2-1-.6c.2-.2 1-2.4 1-2.4l-1-1.5-.5 1.3.2 1-1 2.1c0 .1-2.4 1-2.7 1l-.8.9v.5s.3-.4.4-.2q0-.2.6-.2l.1.2.5-.4.1-.1.6-.1"/>
<path fill="#bd8759" d="M323.1 209.2v2.1q0 .6-.2 1.1t-.7.5c-.3 0-1 0-1.2.3l-.3.4s.5-.3.6 0l-.2.6.9-.2.8-.3.4.2v1c0 .4 0 1.2.3 1.2l.4-.5.5.5-.1-1.2-.3-1 1.5.6q.2.4.5.5c.1 0 0-.5.2-.5h.4s-.4-.8-1-1l-1.2-.6-.3-.9v-2.8l-1-.2"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M323.1 209v2.3q0 .6-.2 1.1t-.7.5c-.3 0-1 0-1.2.3l-.3.4s.5-.3.6 0l-.2.6.9-.2.8-.3.4.2v1c0 .4 0 1.2.3 1.2l.4-.5.5.5-.1-1.2-.3-1s1.4.5 1.5.7l.5.4c.1 0 0-.5.2-.5h.4s-.4-.8-1-1l-1.2-.6-.3-.9v-2.8z"/>
<path fill="#dcddde" d="M315 197.3s0-1.3.3-1.4c0 0 .1-1.2 1.7-1 0 0 .5-.9 1.4-.4 0 0 .8-.4 1.3-.2l1 .7s.7-.1 1 .1.2 1.1.2 1.1.8.6.8 1.1v.9s.3.3.2.7q-.2.8-.4 1c-.1 0 0 1-.3 1.3l-.8.5c-.2 0-.6.6-1 .6-.3 0-.8-.5-.8-.7s-.6-.4-.6-.4-1 1.2-1.8 1-1.1-.8-1.2-1l-.3-1s-.8-.4-.7-.9c0-.4.4-1 .4-1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m317.8 212-.2-.1m.6-.9-.3-.1m0 .6h.2m5.5.5.5.2m-.2-.6h-.3m.4-.5h-.5m0 1.8.4.1m-.4.5h.2m-.1 1.6h.3m-5.1-2-.3.1m1-.1q-.2.1-.3.4m-4.5.5.4.3m10-1-.3.3m.7-.1v.2"/>
<path fill="#d9c0b9" d="M313.4 215h.6s-.3.7-.2.8-.5-.3-.3-.7"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M313.4 215h.6s-.3.7-.2.8-.5-.3-.3-.7z"/>
<path fill="#d9c0b9" d="M315.6 215.5s-.7 1 .1 1.5c0 0 0-1 .6-1.1z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M315.6 215.5s-.7 1 .1 1.5c0 0 0-1 .6-1.1z"/>
<path fill="#d9c0b9" d="m319.6 214.5-.2-.5.2-.3h.6s.4.9 0 1.3c0 0 0-.5-.2-.5z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m319.6 214.5-.2-.5.2-.3h.6s.4.9 0 1.3c0 0 0-.5-.2-.5z"/>
<path fill="#d9c0b9" d="M321 213.4h.3l.1.3v.3l-.3.2s-.5-.2-.4.5c0 0-.3-1.2.2-1.3"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M321 213.4h.3l.1.3v.3l-.3.2s-.5-.2-.4.5c0 0-.3-1.2.2-1.3z"/>
<path fill="#d9c0b9" d="m323.5 215.9.4-.4.4.2-.3 1.2-.2-.3z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m323.5 215.9.4-.4.4.2-.3 1.2-.2-.3z"/>
<path fill="#d9c0b9" d="m326 214.8.5 1s.6-.6-.2-1.5z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m326 214.8.5 1s.6-.6-.2-1.5z"/>
<path d="m323.3 195.9.2.2v-.1zm.1 2.2.4.7v-.2l-.4-.7zm-.4-1.6.5.6v-.2zm.5 3.5q0 .5-.2.8v.2q.3-.5.2-1.1zm.5 1v.6zm1.8 3.9.1 1.3-.1-1.5zm-.3.8-.4 1 .4-.8zm-10.3-2.9.7 1.2v-.1zm1.8 0-.5-.4v.2c.2 0 .3.4.5.4zm-1 1.8.5 1v-.2l-.5-1zm1.2.4.5.8v-.1q-.1-.5-.5-.8m0 1.3.2.7v-.1zm1.1.3.1.7v-.9.2m-.5 1q0 .5.3 1v-.2zm.2-4.4.8.3v-.1zm.2 1.2 1 .4-1-.6zm.3 1.2.6.6v-.1zm.4 1.6.2.7-.2-.8zm1-4v.5zm2.3-.9-.2.5v.1l.2-.4zm1 0v.9zm.2 1.6v.7-.8m.7 1.5q0 .5-.5.8v.1q.5-.2.5-.8m-2.4-1.5-.2.4v.1zm.3 1.8-.4.4v.1q.3 0 .4-.3zm-.9 1q-.4-.6-.3-1.3v-.1q-.2.8.3 1.5v-.2m-1-1-.1.5v-.6m2.6 1.3q0 .4-.3.7v.1l.3-.6zm1.7.7-.5.7v.2zm.8.8-.2 1.3v.1zm1-1.6v.5zM315 202l.1 1.3v-.2l-.1-1z"/>
<path fill="#fff" d="M318.8 196.3c.7-.6 1.7-1.3 2.7-1v-.2c-1-.2-2 .5-2.7 1.1zm3.5.8c-.8-.5-2-.6-2.7 0 .7-.5 2-.3 2.7.2zm-2.8 1.1q.6 1.5.5 3 .1-1.5-.5-3m-1.1.6v3zm1.5-.7q1.6.4 2.4 1.7v-.1a4 4 0 0 0-2.4-1.7zm-.8 1.3-.2 1.8q.3-.8.2-1.8m1.4-.1a3 3 0 0 1 1.2 2v-.1a3 3 0 0 0-1.2-2m-4.3 1.7q.3-.5.8-.7v-.1q-.6.1-.8.7zm1.4-5q-.2-.9-1-1.2v.1q.8.4 1 1.2zm-.8 0-1.5-.2v.1q.7 0 1.5.3zm1.5 0q.1-.9-.4-1.3.5.4.4 1.2m1.8.7q.8-.3 1.5-.2v-.2l-1.5.2zm.9 1.2a3 3 0 0 1 1.7 1v-.3a3 3 0 0 0-1.7-1zm-3.1 2c-.2.6 0 1.5-.9 1.8v.2c.8-.3.7-1.1.9-1.8z"/>
<path fill="#fff" d="M319.5 199q.6 1 .5 2.2v.3q.2-1.4-.5-2.7zm1-.1q1.1.2 1.4 1.4v-.2a2 2 0 0 0-1.4-1.5zm0 1q.3.9.1 1.8v.2c.3-.7 0-1.5 0-2.2v.2m-.4-2.6q1.1-.3 2.2.3v-.3q-1.1-.6-2.2-.2zm-1.4-1.5q.2-.9 1.2-1.3v-.2q-1 .3-1.3 1.3zm-.6.4q-.1-1-.7-1.9v.2q.5.8.6 1.8zm-.6.4a2 2 0 0 0-1-1.4v.3q.8.4 1 1.3zm-1-.3-1.2-.5v.2q.7.1 1.2.5zm2.2 3q.2 1-.2 1.9v.2q.5-1.1.2-2.3z"/>
<path fill="#fff" d="M319.4 198.9q.4 1 .4 2a6 6 0 0 0-.4-2.3zm.5-1q1 .4 1.7 1v-.3a4 4 0 0 0-1.7-.9zm-1.7-1.4v-1.7zm-1.2-.4-1.2-.8v.2l1.2.9zm-.2 3.3q-.4.3-.6.8v.2l.6-.7zm.9.5q0 .8-.6 1.2v.2q.6-.6.6-1.3s0-.3 0 0m2.1-3.6c.4-.6 1.3-.7 1.9-.9v-.2c-.6.2-1.5.2-2 .8v.3m-4 0-.5-.3v.2l.4.2v-.2m.1 3-.4.3v.2l.4-.2zm.5.1-.6.6v.2l.6-.6zm1 .3c-.1.6-.8 1.2-.3 1.8v-.2c-.3-.5.2-1 .4-1.4zm.7 0q0 .9-.2 1.7v.2l.2-2m1.9-.6q.6.7 1 1.8v-.2a5 5 0 0 0-1-1.9zm.2-.5q1.1.7 2 1.8v-.2q-.9-1.1-2-1.8z"/>
<path fill="#fff" d="M320.5 197.8h.8l.6.5.6.4.3.9v-.2l-.2-.7q-.1-.3-.5-.5l-.7-.4-.9-.2z"/>
<path fill="#fff" d="m322.3 199.3.2.6v-.1l-.2-.7zm-2-3.6 1.5-.4v-.3l-1.5.4zm-2 .2q0-.3.3-.7l.4-.8v-.3l-.4.7-.4.9zm-1.7 4.6.1 1.3v-1.2s0-.1 0 0m1 .7q-.3.4-.1 1v-.2zm.8-.5-.2.7v.2zs0-.2 0 0m0-1.5v.4zm-.3.2v.3-.7zm-.5-.2-.1.5v.2l.1-.4zm-.4 0-.8.6v.3l.8-.7zm-.6 0-.5.3v.3q.3 0 .5-.3v-.2m-1-.3-.4.2v.2q.3 0 .4-.2zm2.9 0v.4-.6zm.4-.2.1.6v-.7.1m.3 0v.3h.1l-.1-.6zm.4-.2.4.2v-.2l-.4-.2zm.2-.3.6.3v-.3l-.6-.3zm.5-1h.4v-.2l-.4-.1zm-.3-.6.4-.3v-.3l-.4.4zm-.4-.5.2-.5v-.2zm-.3-.2.4-.8v-.2l-.4.7zm-.9-.8v.9zm-1.3.2.2.3v.6l.1-.5-.3-.6zm-.2.5-.6-.4v.2l.6.5zm.8.2q0-1-.2-1.7v.3q.3.5.2 1.2zm1.2-.7v-.2z"/>
<path fill="#fff" d="m317.7 196.3.2-1v-.2l-.2 1zm3.5 2q.5 0 .7.6v-.4q-.2-.5-.7-.6zm-1 2v.7h.1v-1 .3m-.8-.5v1.2s0 .2 0 0v-1.4zm-.4.4-.3 1.2v.3s0 .1 0 0l.3-1.2zm.5.2v1.4-1.6zm-2.6.2v.5q.2-.4 0-.8zm1.2-.8v.4-.8zm.3 0h.1v.2-.2l-.1-.5v.2zm.4-.3.1.3v-.3l-.1-.4v.3m.8-.2.5.6v-.4l-.5-.6zm.5-.8.3.6v-.4l-.3-.5zm-4.3-2-.4-.2v.4l.4.3zm1.3-.5v.2zv-.4.2zm1-1v.8q-.2 0 0 .2v.1l.1-1.2v-.1.2m.2 1.5.5-.7v-.3l-.5.6zm.7 0 .2-.3v-.4l-.2.2v.4m1 .2h-.8v.4h.8zm-.3.9 1 .6v-.4l-1-.6z"/>
<path fill="#fff" d="m320 198 .8.5v-.4l-.8-.5v.2zm-2-1.4.1-.5v-.2.6m-2.3-1q.3.5.9.8l.6.7s.1-.4 0-.4l-.6-.6-1-.9v.4m.6 1-.4-.4v.3l.4.5zm-.3 2.5-.3.6v.4l.3-.6zm.3.4-.1.6v.3zv-.2zm1 1.8q.3-1 .2-2v.2q0 .8-.2 1.4zm.6-1.5v.9-1.3.2zm.6-.2q.3.3.2 1v.1q.2-.7-.2-1.5z"/>
<path fill="#fff" d="m318.6 199.3.3 1.7v-.3l-.2-1.7v.3m.5-.1.6 1v-.3l-.6-1zm1.1-1q-.1-.2-.5-.1v.3q.3 0 .5.2v-.3"/>
<path fill="#fff" d="M319.7 198.1h1.1v-.4h-1c-.1 0 0 .4 0 .4m.6-3q-.4.7-.5 1.3v.3s0 .1 0 0q0-.6.5-1.1zm-1.5.4.2 1v-.4l-.2-1zm-.3.5-.3-.5v.4l.2.5v-.3m-.5.2-1.2-.6v.4l1.2.6s.1-.4 0-.4"/>
<path fill="#dba05f" d="m318.5 196.2-2.2.4-1.8.2-1.3-.4c-.3 0-1.6-.2-2 .3l-.9.8c-.1.1-.7.6-.7.9q0 .4.4.5c.3 0 .9.6.9.7 0 .3.8.5 1.5.5 1.3 0 2-.7 4-.5 1 .2 3-.7 3.4-1.2q.7-.7.2-1.7c-.3-.6-1.4-.5-1.5-.5"/>
<path fill="none" stroke="#000" stroke-width=".1" d="m318.5 196.2-2.2.4-1.8.2-1.3-.4c-.3 0-1.6-.2-2 .3l-.9.8c-.1.1-.7.6-.7.9q0 .4.4.5c.3 0 .9.6.9.7 0 .3.8.5 1.5.5 1.3 0 2-.7 4-.5 1 .2 3-.7 3.4-1.2q.7-.7.2-1.7c-.3-.6-1.4-.5-1.5-.5z"/>
<path d="m311.4 198.1.1-.1.1-.2.4-.3h.5-.2.2-.2l-.3.1z"/>
<path fill="none" d="m311.3 198 .4-.4.6-.3h.3"/>
<path fill="none" d="m312 197.4-.4.3q-.1.3-.3.3m.7-.5h.5m-.6 0h.5"/>
<path d="m312.4 197.9-.2.1-.1.1-.3.2-.3.1.4-.2-.4.2.4-.1-.3.1h.1s.3 0 .7-.4"/>
<path fill="none" d="m312.3 197.8-.3.2-.3.2-.2.1m.4-.1.2-.2.2-.2m-.4.4-.3.1m.4-.1-.3.1"/>
<path fill="#c6262c" d="M312.9 196.5s0-.6-.6-.8l-1.3-.2-.5.2-.6.2-.1.2q-.3.3-.3.6c.2.3 0 .3.2.3s-1 .3-.8.8c.3.6.5.4.6.3l.5-.2.7-.7 1-.4h.5z"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M312.9 196.5s0-.6-.6-.8l-1.3-.2-.5.2-.6.2-.1.2q-.3.3-.3.6c.2.3 0 .3.2.3s-1 .3-.8.8c.3.6.5.4.6.3l.5-.2.7-.7 1-.4h.5z"/>
<path d="M312.2 197.8q0 .2-.3.3h-.3s.1-.4.3-.4z"/>
<path fill="#d9c0b9" d="M308.6 200.2s-.7-1.2 1.2-1.8c0 0 .6.3.8.6 0 0-.4.5-1.5.7 0 0-.5.1-.5.5"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M308.6 200.2s-.7-1.2 1.2-1.8c0 0 .6.3.8.6 0 0-.4.5-1.5.7 0 0-.5.1-.5.5z"/>
<path fill="#d9c0b9" d="M308.8 200s.8.2 1.3-.2q.7-.4.7-.1l-.2-.7-1 .5q-.6.1-.8.5"/>
<path fill="none" stroke="#000" stroke-width=".1" d="M308.8 200s.8.2 1.3-.2q.7-.4.7-.1l-.2-.7-1 .5q-.6.1-.8.5z"/>
<path fill="#7a2e26" d="M311 199.6h.5v-.1zm-.3-2-.1.2v.1zm.5.2.3-.2v-.1q-.3 0-.3.2zm.5.8.2-.2h-.2zm.4-.2.4-.3v-.1zm-.7-.7q0 .2-.3.4v.1q.2-.1.3-.4m.3 2q.6 0 1-.2h-1zm1.6 0q.6-.5 1-1.3a2 2 0 0 1-1 1v.2m.3-.8q.4-.2.6-.8v-.1l-.6.8zm-.2-2 .7.4v-.1l-.7-.4zm6.3 1q.2-.8-.2-1.4.4.6.2 1.2zm-4.8-.7c.3.2 1 .7.8 1.2.3-.5-.4-1-.8-1.3zm2.1 2 .1-.3v.3"/>
<path fill="#5e3f17" d="m317.9 199.2.5-.2m-8.5-.3q-.6.1-1 .7.4-.6 1-.6"/>
<path fill="#842116" d="M309.7 197.3q.2 0 .3.2v.1-.3l-.3-.1m.7.4-.1-.6v.5m.6-.5q0-.5-.3-.6v.1q.3.2.3.6zm.5-.1q0-.5-.2-.6v.1l.2.3zm-.8-.7c.4-.2 1.4-.3 1.8.2v-.2c-.4-.4-1.4-.3-1.8 0"/>
<path fill="#7a2e26" d="M309.5 198.1v-.5s-.1 0 0 .1zm4.7 1.4.3-.5-.3.3zm.7 0 .1-.3v-.1.3m4.3-2.4v.8zm-.5.5v.7q.2-.4 0-.9zm-.4.3"/>
<path fill="#452c25" d="M324.3 210.5v.2l.1.1-.1-.4z"/>
<path fill="#dcddde" d="M314.4 195c-1.7 0-3.3-1-3.3-1a3 3 0 0 1-2.3-2.4c-.8-.4-1.6-2.5-1.6-2.5-1.3.7-3 0-3 0s0-.4-1.4 0c-1.5.3-1.3-.3-1.3-.3s.6-.6-2 0 .2-.8.2-.8c-.8.2-3.3.4-3.3.4q-1.3.2-2.8.8l-2.3.6-6.8 3-5.5 2.1c.2 0 3.4-2.1 7.5-4a88 88 0 0 1 10.3-3.9 10 10 0 0 1 6.5 0c.6.2 4.2 0 5.7 0 1.6.3 1.8 2.9 1.8 2.9.3.1.4 2.6.4 2.6s-1 0 .1.1c1 .2 2.9 1.7 2.9 1.7h.7s.4-.5.9-.7l1.5-.5h2l2 .3 1.2.3h.5c1-.5 3-1.2 3.4-1.1 0 0 .7-.2 1.1-.5l1.3-1s-.6-4.5 3.9-4l11.5 1.2a44 44 0 0 1 6.5 1.8l5.2 2.4 4 1.7c2.3 1 4 2.4 4 2.4l-3.7-1.8-2.6-.9-3.6-1.7c-3.5-1.6-3.5-1.7-4.9-1.8-1 0 .7 1.2.7 1.2l-4.1-1.7a6 6 0 0 0-2.9-.5 6 6 0 0 1-2.2-.3c-.6-.2-3.8-.3-4.4-.4l-1-.2.2.4-1.5-.3-.5.7s-1.5.3-1.6-.2-1 2.2-1.3 3-2.2.6-2.7 1l-1.6 1h-1.3c-.6 0-.1 0-1 .3 0 0-.9 0-1.2-.2l-1.4-.4-3.5-.2a5 5 0 0 0-2.7 1.1"/>
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M314.4 195c-1.7 0-3.3-1-3.3-1a3 3 0 0 1-2.3-2.4c-.8-.4-1.6-2.5-1.6-2.5-1.3.7-3 0-3 0s0-.4-1.4 0c-1.5.3-1.3-.3-1.3-.3s.6-.6-2 0 .2-.8.2-.8c-.8.2-3.3.4-3.3.4q-1.3.2-2.8.8l-2.3.6-6.8 3-5.5 2.1c.2 0 3.4-2.1 7.5-4a88 88 0 0 1 10.3-3.9 10 10 0 0 1 6.5 0c.6.2 4.2 0 5.7 0 1.6.3 1.8 2.9 1.8 2.9.3.1.4 2.6.4 2.6s-1 0 .1.1c1 .2 2.9 1.7 2.9 1.7h.7s.4-.5.9-.7l1.5-.5h2l2 .3 1.2.3h.5c1-.5 3-1.2 3.4-1.1 0 0 .7-.2 1.1-.5l1.3-1s-.6-4.5 3.9-4l11.5 1.2a44 44 0 0 1 6.5 1.8l5.2 2.4 4 1.7c2.3 1 4 2.4 4 2.4l-3.7-1.8-2.6-.9-3.6-1.7c-3.5-1.6-3.5-1.7-4.9-1.8-1 0 .7 1.2.7 1.2l-4.1-1.7a6 6 0 0 0-2.9-.5 6 6 0 0 1-2.2-.3c-.6-.2-3.8-.3-4.4-.4l-1-.2.2.4-1.5-.3-.5.7s-1.5.3-1.6-.2-1 2.2-1.3 3-2.2.6-2.7 1l-1.6 1h-1.3c-.6 0-.1 0-1 .3 0 0-.9 0-1.2-.2l-1.4-.4c-.5-.2-3.1-.2-3.5-.2a5 5 0 0 0-2.7 1.1"/>
<path fill="#452c25" d="M314.6 194.4s-.2.2-.2.5v.2"/>
<path fill="#574f4c" d="m323.3 194 .7.5-.1-.1-.7-.6v.1"/>
</svg>

After

Width:  |  Height:  |  Size: 100 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bq" viewBox="0 0 640 480">
<path fill="#21468b" d="M0 0h640v480H0z"/>
<path fill="#fff" d="M0 0h640v320H0z"/>
<path fill="#ae1c28" d="M0 0h640v160H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 221 B

View File

@@ -0,0 +1,45 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-br" viewBox="0 0 640 480">
<g stroke-width="1pt">
<path fill="#229e45" fill-rule="evenodd" d="M0 0h640v480H0z"/>
<path fill="#f8e509" fill-rule="evenodd" d="m321.4 436 301.5-195.7L319.6 44 17.1 240.7z"/>
<path fill="#2b49a3" fill-rule="evenodd" d="M452.8 240c0 70.3-57.1 127.3-127.6 127.3A127.4 127.4 0 1 1 452.8 240"/>
<path fill="#ffffef" fill-rule="evenodd" d="m283.3 316.3-4-2.3-4 2 .9-4.5-3.2-3.4 4.5-.5 2.2-4 1.9 4.2 4.4.8-3.3 3m86 26.3-3.9-2.3-4 2 .8-4.5-3.1-3.3 4.5-.5 2.1-4.1 2 4.2 4.4.8-3.4 3.1m-36.2-30-3.4-2-3.5 1.8.8-3.9-2.8-2.9 4-.4 1.8-3.6 1.6 3.7 3.9.7-3 2.7m87-8.5-3.4-2-3.5 1.8.8-3.9-2.7-2.8 3.9-.4 1.8-3.5 1.6 3.6 3.8.7-2.9 2.6m-87.3-22-4-2.2-4 2 .8-4.6-3.1-3.3 4.5-.5 2.1-4.1 2 4.2 4.4.8-3.4 3.2m-104.6-35-4-2.2-4 2 1-4.6-3.3-3.3 4.6-.5 2-4.1 2 4.2 4.4.8-3.3 3.1m13.3 57.2-4-2.3-4 2 .9-4.5-3.2-3.3 4.5-.6 2.1-4 2 4.2 4.4.8-3.3 3.1m132-67.3-3.6-2-3.6 1.8.8-4-2.8-3 4-.5 1.9-3.6 1.7 3.8 4 .7-3 2.7m-6.7 38.3-2.7-1.6-2.9 1.4.6-3.2-2.2-2.3 3.2-.4 1.5-2.8 1.3 3 3 .5-2.2 2.2m-142.2 50.4-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2M419 299.8l-2.2-1.1-2.2 1 .5-2.3-1.7-1.6 2.4-.3 1.2-2 1 2 2.5.5-1.9 1.5"/>
<path fill="#ffffef" fill-rule="evenodd" d="m219.3 287.6-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2"/>
<path fill="#ffffef" fill-rule="evenodd" d="m219.3 287.6-2.7-1.5-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m42.3 3-2.6-1.4-2.7 1.3.6-3-2.1-2.2 3-.4 1.4-2.7 1.3 2.8 3 .5-2.3 2.1m-4.8 17-2.6-1.5-2.7 1.4.6-3-2.1-2.3 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m87.4-22.2-2.6-1.6-2.8 1.4.6-3-2-2.3 3-.3 1.4-2.7 1.2 2.8 3 .5-2.2 2.1m-25.1 3-2.7-1.5-2.7 1.4.6-3-2-2.3 3-.3 1.4-2.8 1.2 2.9 3 .5-2.2 2.1m-68.8-5.8-1.7-1-1.7.8.4-1.9-1.3-1.4 1.9-.2.8-1.7.8 1.8 1.9.3-1.4 1.3m167.8 45.4-2.6-1.5-2.7 1.4.6-3-2.1-2.3 3-.4 1.4-2.7 1.3 2.8 3 .6-2.3 2m-20.8 6-2.2-1.4-2.3 1.2.5-2.6-1.7-1.8 2.5-.3 1.2-2.3 1 2.4 2.5.4-1.9 1.8m10.4 2.3-2-1.2-2.1 1 .4-2.3-1.6-1.7 2.3-.3 1.1-2 1 2 2.3.5-1.7 1.6m29.1-22.8-2-1-2 1 .5-2.3-1.6-1.7 2.3-.3 1-2 1 2.1 2.1.4-1.6 1.6m-38.8 41.8-2.5-1.4-2.7 1.2.6-2.8-2-2 3-.3 1.3-2.5 1.2 2.6 3 .5-2.3 1.9m.6 14.2-2.4-1.4-2.4 1.3.6-2.8-1.9-2 2.7-.4 1.2-2.5 1.1 2.6 2.7.5-2 2m-19-23.1-1.9-1.2-2 1 .4-2.2-1.5-1.7 2.2-.2 1-2 1 2 2.2.4-1.6 1.6m-17.8 2.3-2-1.2-2 1 .5-2.2-1.6-1.7 2.3-.2 1-2 1 2 2.1.4-1.6 1.6m-30.4-24.6-2-1.1-2 1 .5-2.3-1.6-1.6 2.2-.3 1-2 1 2 2.2.5-1.6 1.5m3.7 57-1.6-.9-1.8.9.4-2-1.3-1.4 1.9-.2.9-1.7.8 1.8 1.9.3-1.4 1.3m-46.2-86.6-4-2.3-4 2 .9-4.5-3.2-3.3 4.5-.6 2.2-4 1.9 4.2 4.4.8-3.3 3.1"/>
<path fill="#fff" fill-rule="evenodd" d="M444.4 285.8a125 125 0 0 0 5.8-19.8c-67.8-59.5-143.3-90-238.7-83.7a125 125 0 0 0-8.5 20.9c113-10.8 196 39.2 241.4 82.6"/>
<path fill="#309e3a" d="m414 252.4 2.3 1.3a3 3 0 0 0-.3 2.2 3 3 0 0 0 1.4 1.7q1 .8 2 .7.9 0 1.3-.7l.2-.9-.5-1-1.5-1.8a8 8 0 0 1-1.8-3 4 4 0 0 1 2-4.4 4 4 0 0 1 2.3-.2 7 7 0 0 1 2.6 1.2q2.1 1.5 2.6 3.2a4 4 0 0 1-.6 3.3l-2.4-1.5q.5-1 .2-1.7-.2-.8-1.2-1.4a3 3 0 0 0-1.8-.7 1 1 0 0 0-.9.5q-.3.4-.1 1 .2.8 1.6 2.2t2 2.5a4 4 0 0 1-.3 4.2 4 4 0 0 1-1.9 1.5 4 4 0 0 1-2.4.3q-1.3-.3-2.8-1.3-2.2-1.5-2.7-3.3a5 5 0 0 1 .6-4zm-11.6-7.6 2.5 1.3a3 3 0 0 0-.2 2.2 3 3 0 0 0 1.4 1.6q1.1.8 2 .6.9 0 1.3-.8l.2-.8q0-.5-.5-1l-1.6-1.8q-1.7-1.6-2-2.8a4 4 0 0 1 .4-3.1 4 4 0 0 1 1.6-1.4 4 4 0 0 1 2.2-.3 7 7 0 0 1 2.6 1q2.3 1.5 2.7 3.1a4 4 0 0 1-.4 3.4l-2.5-1.4q.5-1 .2-1.7-.4-1-1.3-1.4a3 3 0 0 0-1.9-.6 1 1 0 0 0-.8.5q-.3.4-.1 1 .3.8 1.7 2.2 1.5 1.5 2 2.4a4 4 0 0 1 0 4.2 4 4 0 0 1-1.8 1.6 4 4 0 0 1-2.4.3 8 8 0 0 1-2.9-1.1 6 6 0 0 1-2.8-3.2 5 5 0 0 1 .4-4m-14.2-3.8 7.3-12 8.8 5.5-1.2 2-6.4-4-1.6 2.7 6 3.7-1.3 2-6-3.7-2 3.3 6.7 4-1.2 2zm-20.7-17 1.1-2 5.4 2.7-2.5 5q-1.2.3-3 .2a9 9 0 0 1-3.3-1 8 8 0 0 1-3-2.6 6 6 0 0 1-1-3.5 9 9 0 0 1 1-3.7 8 8 0 0 1 2.6-3 6 6 0 0 1 3.6-1.1q1.4 0 3.2 1 2.4 1.1 3.1 2.8a5 5 0 0 1 .3 3.5l-2.7-.8a3 3 0 0 0-.2-2q-.4-.9-1.6-1.4a4 4 0 0 0-3.1-.3q-1.5.5-2.6 2.6t-.7 3.8a4 4 0 0 0 2 2.4q.8.5 1.7.5h1.8l.8-1.6zm-90.2-22.3 2-14 4.2.7 1.1 9.8 3.9-9 4.2.6-2 13.8-2.7-.4 1.7-10.9-4.4 10.5-2.7-.4-1.1-11.3-1.6 11zm-14.1-1.7 1.3-14 10.3 1-.2 2.4-7.5-.7-.3 3 7 .7-.3 2.4-7-.7-.3 3.8 7.8.7-.2 2.4z"/>
<g stroke-opacity=".5">
<path fill="#309e3a" d="M216.5 191.3q0-2.2.7-3.6a7 7 0 0 1 1.4-1.9 5 5 0 0 1 1.8-1.2q1.5-.5 3-.5 3.1.1 5 2a7 7 0 0 1 1.6 5.5q0 3.3-2 5.3a7 7 0 0 1-5 1.7 7 7 0 0 1-4.8-2 7 7 0 0 1-1.7-5.3"/>
<path fill="#f7ffff" d="M219.4 191.3q0 2.3 1 3.6t2.8 1.3a4 4 0 0 0 2.8-1.1q1-1.2 1.1-3.7.1-2.4-1-3.6a4 4 0 0 0-2.7-1.3 4 4 0 0 0-2.8 1.2q-1.1 1.2-1.2 3.6"/>
</g>
<g stroke-opacity=".5">
<path fill="#309e3a" d="m233 198.5.2-14h6q2.2 0 3.2.5 1 .3 1.6 1.3c.6 1 .6 1.4.6 2.3a4 4 0 0 1-1 2.6 5 5 0 0 1-2.7 1.2l1.5 1.2q.6.6 1.5 2.3l1.7 2.8h-3.4l-2-3.2-1.4-2-.9-.6-1.4-.2h-.6v5.8z"/>
<path fill="#fff" d="M236 190.5h2q2.1 0 2.6-.2.5-.1.8-.5.4-.6.3-1 0-.9-.4-1.2-.3-.4-1-.6h-2l-2.3-.1z"/>
</g>
<g stroke-opacity=".5">
<path fill="#309e3a" d="m249 185.2 5.2.3q1.7 0 2.6.3a5 5 0 0 1 2 1.4 6 6 0 0 1 1.2 2.4q.4 1.4.3 3.3a9 9 0 0 1-.5 3q-.6 1.5-1.7 2.4a5 5 0 0 1-2 1q-1 .3-2.5.2l-5.3-.3z"/>
<path fill="#fff" d="m251.7 187.7-.5 9.3h3.8q.8 0 1.2-.5.5-.4.8-1.3t.4-2.6l-.1-2.5a3 3 0 0 0-.8-1.4l-1.2-.7-2.3-.3z"/>
</g>
<g stroke-opacity=".5">
<path fill="#309e3a" d="m317.6 210.2 3.3-13.6 4.4 1 3.2 1q1.1.6 1.6 1.9t.2 2.8q-.3 1.2-1 2a4 4 0 0 1-3 1.4q-1 0-3-.5l-1.7-.5-1.2 5.2z"/>
<path fill="#fff" d="m323 199.6-.8 3.8 1.5.4q1.6.4 2.2.3a2 2 0 0 0 1.6-1.5q0-.7-.2-1.3a2 2 0 0 0-1-.9l-1.9-.5-1.3-.3z"/>
</g>
<g stroke-opacity=".5">
<path fill="#309e3a" d="m330.6 214.1 4.7-13.2 5.5 2q2.2.8 3 1.4.8.7 1 1.8c.2 1.1.2 1.5 0 2.3q-.6 1.5-1.8 2.2-1.2.6-3 .3.6.7 1 1.6l.8 2.7.6 3.1-3.1-1.1-1-3.6-.7-2.4-.6-.8q-.3-.4-1.3-.7l-.5-.2-2 5.6z"/>
<path fill="#fff" d="m336 207.4 1.9.7q2 .7 2.5.7t.9-.3q.5-.3.6-.9.3-.6 0-1.2l-.8-.9-2-.7-2-.7-1.2 3.3z"/>
</g>
<g stroke-opacity=".5">
<path fill="#309e3a" d="M347 213.6a9 9 0 0 1 1.7-3.2l1.8-1.5 2-.7q1.5-.1 3.1.4a7 7 0 0 1 4.2 3.3q1.2 2.4.2 5.7a7 7 0 0 1-3.4 4.5q-2.3 1.3-5.2.4a7 7 0 0 1-4.2-3.3 7 7 0 0 1-.2-5.6"/>
<path fill="#fff" d="M349.8 214.4q-.7 2.3 0 3.8c.7 1.5 1.2 1.6 2.3 2q1.5.5 3-.4 1.4-.8 2.1-3.2.8-2.2 0-3.7a4 4 0 0 0-2.2-2 4 4 0 0 0-3 .3q-1.5.8-2.2 3.2"/>
</g>
<g stroke-opacity=".5">
<path fill="#309e3a" d="m374.3 233.1 6.4-12.4 5.3 2.7a10 10 0 0 1 2.7 1.9q.8.7.8 1.9c0 1.2 0 1.5-.4 2.2a4 4 0 0 1-2 2q-1.5.4-3.1-.2.6 1 .8 1.7.3.9.4 2.8l.2 3.2-3-1.5-.4-3.7-.3-2.5-.5-1-1.2-.7-.5-.3-2.7 5.2z"/>
<path fill="#fff" d="m380.5 227.2 1.9 1q1.8 1 2.3 1t1-.2q.4-.2.7-.8t.2-1.2l-.7-1-1.8-1-2-1z"/>
</g>
<g stroke-opacity=".5">
<path fill="#309e3a" d="M426.1 258.7a9 9 0 0 1 2.5-2.6 7 7 0 0 1 2.2-.9 6 6 0 0 1 2.2 0q1.5.3 2.8 1.2a7 7 0 0 1 3 4.4q.4 2.6-1.4 5.5a7 7 0 0 1-4.5 3.3 7 7 0 0 1-5.2-1.1 7 7 0 0 1-3-4.4q-.4-2.7 1.4-5.4"/>
<path fill="#fff" d="M428.6 260.3q-1.4 2-1.1 3.6a4 4 0 0 0 1.6 2.5q1.5 1 3 .6t2.9-2.4q1.4-2.1 1.1-3.6t-1.6-2.6c-1.4-1.1-2-.8-3-.5q-1.5.3-3 2.4z"/>
</g>
<path fill="#309e3a" d="m301.8 204.5 2.3-9.8 7.2 1.7-.3 1.6-5.3-1.2-.5 2.2 4.9 1.1-.4 1.7-4.9-1.2-.6 2.7 5.5 1.3-.4 1.6z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bs" viewBox="0 0 640 480">
<defs>
<clipPath id="bs-a">
<path fill-opacity=".7" d="M-12 0h640v480H-12z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#bs-a)" transform="translate(12)">
<path fill="#fff" d="M968.5 480h-979V1.8h979z"/>
<path fill="#ffe900" d="M968.5 344.5h-979V143.3h979z"/>
<path fill="#08ced6" d="M968.5 480h-979V320.6h979zm0-318.7h-979V2h979z"/>
<path fill="#000001" d="M-11 0c2.3 0 391.8 236.8 391.8 236.8L-12 479.2z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 557 B

View File

@@ -0,0 +1,89 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bt" viewBox="0 0 640 480">
<path fill="#ffd520" d="M.1 0h640.1v480H.1z"/>
<path fill="#ff4e12" d="M.1 480h640.1V0z"/>
<g stroke="#000" stroke-width=".5">
<g fill="#fff" stroke-width=".4">
<path d="M345.4 150c-4-1.3-6.6.7-6.4 5.9 0 5.1 2.8 8 6.8 6.1z"/>
<path d="M348.9 140.4c-3.3-2.6-6.4-1.5-8 3.4s.1 8.6 4.5 8z"/>
<path d="M354.4 131c-2.8-3-6-2.4-8.4 2.2-2.3 4.6-1.3 8.5 3.2 8.7zm-3.6 45.5c-4.9 1.8-5.4 8.5-2.3 12.6 3 4.1 8.7 4.9 11.8 0z"/>
<path d="M345.1 162.3c-4.6-1.5-8.8 4.7-9.5 10.3-.9 7-11 9.4-5.4 20.1 1.2-6.8 5.7-10.6 9.3-10.8s9-1 11.3-5.4zm14.7 27.6c-5.4 1.3-6.2 8.5-2.3 13.6 3.3 4.4 13.7 3.4 13.4-1zm15.3 43.4c.3-4.7-7.2-6.5-10.8-5.6s-10.5-.1-12-4c-1.4 3.1.5 6.5 5.7 8.2 4 1.2 3.9 4 2.7 5.4 3 .5 11.7.5 14.4-4z"/>
<path d="M370.9 203.7c-5.3-2.4-8.4 1.2-10.4 4.6-3 5-12.1-1.4-15.2 5.3 4.2-1.8 8.4 2 10.4 3.3 5.7 3.7 16.6 2.6 18.2-6.2z"/>
<path d="M374 209.8c-5.3 4-7.4 8.8-7.2 12 .1 3.2 4.6 10.3 9.5 10.7 2.8-5.8 4.3-18-2.3-22.7zm-22 24.9c0-2 2.8-2.7 4.8-2 1.9.6 4.9 2.5 3.8 4.6zM323 224c-.5-2.3 3.2-6.3 8.2-4.1s5.7 6.4 3.6 8.1z"/>
<path d="M335.2 228.4c-.4-1.3 3.3-3.9 9.4-2.4 6.2 1.6 7.7 5.6 7.5 8.7zm-12.9-4.3c3.3-2.4 2-7-.9-8.5-5.2-2.6-3.3-9.2-6.7-10.5-3.3-1.3-6.5-3.6-6.7-6-1.6 3.3-.6 6.2 1.7 8.3 2.3 2-1.8 10.4 1.2 12.6zm-69-1.8c-2.7-4.2-9.1-3.5-11.8-.5s-2.3 7.3.2 9.3zm15.5-6.3c-1-5.7-7.9-6.3-11.6-4.9-3.8 1.4-6.3 7.1-3.9 11.2z"/>
<path d="M279 215.2c2.5-4.7-2.3-11.8-7.7-12.8-4.5-1-9.8-.9-11.6-5.3-1 3.8 1.8 6.3 5.2 8.5 3.3 2.2-.6 7.8 4.8 11z"/>
<path d="M278.6 215.4c-1.2-3.4 1.1-8 5.7-7.6 4.7.3 7.3 3.6 5.3 7.9z"/>
<path d="M288.9 215.7c-.7-3.6 2.2-7.8 6.8-6.8s6.6 4.7 4 8.5l-10.8-1.8z"/>
<path d="M299 217.3c-.4-3.6 2.7-7.6 7.2-6.4s6.4 5 3.6 8.7l-10.7-2.3zm-77.6 59c-8.7 0-10.8 2-12 11-1.6 11 13.5 12.3 12-11z"/>
<path d="M225.2 264.7c-13.2-5-20.4 16-33.6 12.2 4.7 7.5 16.1 0 20.4.8 7.2 1.3 22.8-1.4 13.2-13zm-8.6 28.7c-6.6-3-13.6 7-12.4 11.5 1.7 5.5 16.7 1 12.4-11.5zM186 336.7c3.6 1 8 3 7.2 10s-14 21.1-25.8 22c-11.8.7-16 15-26.3 11 9.6-1.8 9.6-12.6 17-16-5.4-2-8.2 10.3-15.2 10.3s-10.3 11.1-18.8 10.3-9.3 13.5-26.4 13.7c-13 .1-29 15.3-34.9 8.7 12.7-1.8 17.8-8.8 25.3-16.5 12-12.3 25.7-6.8 30.4-17.7a32 32 0 0 1-18.3 5.4c-8-.2-16.6 12.6-25.5 7 5.1-.7 8.5-2.9 13.9-8.6 5.5-5.8 13.7-2 20.1-8 10-9.2 18.7-1.5 28.3-13-2.7-1.4-8.5-.5-13.9 2.4-5.4 2.8-12.3-2-18.5 1.4.7-7.6 15.2-3.3 24.2-8.5 10.2-6 18.6-4.2 26.6-3.5-11.2 0-15.5-10.7-31-7.6-6.7 1.4-12.1-9.3-18.8-3.9.2-4 7.2-7.2 14.4-3.3s10.1-3.4 24.5 5.7c6 3.7 16.1-2.4 22.5 1.6-.8-2.4-4.5-4-8.8-3.6 2.7-5.6 20.2-4.9 27.8.7z"/>
<path d="M197.4 328.3c-5.6-4.4-13.5.9-19-1.2 0 3.6 1.9 9 7.8 11.1 1.8-1.3 10-8.4 11.2-9.9z"/>
<path d="M206.3 315.8c-8.9-4.5-10.4 6.7-17.4 4.4.3 3.2 2.9 7.2 8.5 8.1z"/>
<path d="M211.6 305.6c-13.1-5.1-14.8 7.5-22.5 5 1.8 4.4 12.8 6.8 18.5 5.2zm18-55.2c-3.5-5-10.8-1-12 4.9-1.1 5.8 1.7 13.9 6.6 12z"/>
<path d="M238.5 235c-6-1.5-13-.8-12.2 5-2.4 1.1-3 8.7 3.3 10.4z"/>
<path d="M242.5 231c-6-7-12.5-6.9-16.2-4-6.9 5.5-13.5 2.4-13.7 7.8 4.1-3.2 7.8.6 11-.5 3.4-1.2 5.9 5.3 15.2 2.6zm-14.3 103.9c.9 1.7 6.4 2.4 9.1-.4 3.6-3.8-.3-14.2-6-15-5.7-.7-6.2 11.8-3.1 15.4z"/>
<path d="M221.8 335.1c8 3 11.5-3.7 7.2-8a80 80 0 0 1-7.2 8z"/>
<path d="M191.4 346.2c-1.6 4.7-9.6 5.4-18.6 19.8s-17.6 8.4-19.8 18.3c10.8-8.7 19.3-3 25.8-11.6 9.7-13.1 17.8-11.2 21.6-20 5.4-12.7 29-12.4 30.4-32.3-8-1.5-33.3 19.9-39.4 25.8zm203.2-194.7c10.3 3.4 10.5 16.7 22.4 21.1s13 15 22.7 12.4c-9-2.5-8.4-12.9-17.8-15.5-11-3-15.2-19.8-24-22.4m44 74.3c1.8 4.2 1.5 11.5-5 13.4 3.5 2.2 8.7.2 11.5-4.6-4.2 9.4-1.4 17.9 5.3 19.6-3.2-6.6 4-9.7 1.7-14 4.2 1.9 8 7.7 7.8 11.3 5.6-6.2-4-14.5-2.3-20.3zM375 287.6c-6.3-5.5-9 1.5-12-1-3-2.2-6.8-2.5-8.3-.3 5.4.2 2.8 4.4 13.3 5.4-10.5.7-8.6 12.5-15.6 11.9 7.4 7 11.3-6.3 17.4-4.1-1.8.5 2.8 4.7-.4 10.4 5.2-.1 7.3-7.3 8-11zm-139 60.2c-2.2-2-9-2.9-11.5-1.3-2.6 1.5-1.7 2 1.4 2.2s7 5.2.4 5.5c-3.1.1-2 7.6-8.5 8.1 2.6 3.2 10.2 1.1 12.9-2.4-.5 2.9 3.3 5.5 1.8 9 4.7.5 2-9.7 9.5-9.2-3 .4-1.8 7.4 3.6 5.6-3.2 1.5-1.5 5.3 2 4.4-2.2.7-3 3.7.2 5.4 3.1-4.3-.4-19.5-11.7-27.3zm280.6-142.1a17.9 17.9 0 1 0 0-35.7 17.9 17.9 0 0 0 0 35.7z"/>
<path d="M423.4 227.2c5.5-5.1 13.7-7.7 19.4-3.8 5.6 3.8 24.4 8.4 33.7 2s13.7-9.8 17.8-9q4.5 6.8 11.4 7.2c1.4 1.6 6.5 2.8 9.3 2.5 4.1 1 9.1-.3 13.1-4.7 6.2 1 12-3.7 14.2-10.7 6.6-.7 7-8 2.8-13-3.8-.7-.9-13.8-14.9-11.2 6 3.6 1.4 10.8 6.3 14.2-3.3 0-7.7 1.4-8.7 6.4 1.3-3.4-.2-5.8-1-6.5 0-3-6.5-10.3-12.7-7.6 4.4 1 2 8 5.2 10.8a8 8 0 0 0-6.2 3.3c-1.7-3-7.6-6-11.2-6.3 0-1-.2-3-.7-4.1-1.6-3.1-3-6.8-2.3-11.5a48 48 0 0 0-7.2 11.4c-4.9-3.4-17 1.5-22.7 2.8s-24.7-1.8-29-6.4a49 49 0 0 0-21-9.8c-11-3.2-11-15.2-23.1-23.5-.3 15 22.4 62.4 27.5 67.5zM297.2 341.1a17.3 17.3 0 1 0 0-34.6 17.3 17.3 0 0 0 0 34.6z"/>
<path d="M256 327.8c3.5 4.5 9.4 4.2 11.9 3.9 2 5.4 8.6 5.2 11.4 8.2s12.5 2.7 15.3 1c-2.5-.2-5.9-1.8-9-4.5-4-3.2-2.2-9.8-5.2-12a11 11 0 0 0 2.2-8.6c2.4-1.4 4.2-3.7 4.4-4.9a15 15 0 0 0 9.6-4.1c2.2 2 7.7-.6 10.7 2.8.6-8.5-7.5-13-13-10.1-2.1-1.2-7.9-.4-9 1.1-1.7-.8-6.8 1.8-9 3.5 2.5-1.4 2.9-5.7 1.9-7.2 2.2-1 4.6-3.9 4.9-6 3 .5 7.7-1.6 9.7-1.1-3.3-4.4-8.8-6-14.5-5.5-5.9.3-8.4 4.4-9.2 8.8-3.4 2.1-4.6 9-3.3 11.5-2 0-3.9 1.9-4.6 3a27 27 0 0 0-9.4-2m1.3-7c-1.2-3.4.3-6.4 1.1-9 2-6.8.8-8.6-5.3-7.7a47 47 0 0 0 4.2 16.7z"/>
<path d="M248.6 282.3c1.6 1.6 7 2.3 7.6-2.6.7-5.6-1.6-7.8-6.5-5.6-.4 1.3-.8 6.5-1 8.2z"/>
<path d="M249.8 273.9c2 .8 6.5 2.5 9-2.3 2-4-.7-7-5-6.8-1 1.2-3 5.3-4 9.1z"/>
<path d="M253.6 264.4c.5 1.6 5.8 6.7 9.6 3 3.9-3.7 3.9-9.3-1.9-11.3-1.5.2-6.2 5.6-7.7 8.3z"/>
<path d="M261.3 256c1.1 3.3 4.8 8.8 11.5 6.3s3.8-11 .7-12.7a33 33 0 0 0-12.2 6.5z"/>
<path d="M273.5 249.6c-.5 2.9 0 10.6 9.2 10.5 9.1-.2 6.6-10.9 4.2-12.4-3.7 0-10 .1-13.4 2z"/>
<path d="M287.3 248c-1 2.3-3.3 16.7 14.6 12.7 2.3-.5 8.3-13.8-14.6-12.6z"/>
<path d="M297.1 249.4c-1.8 1.8 2.8 16.3 15 13.9 12-2.5 1.9-16.3-15-14z"/>
<path d="M307.4 251.6c-2 4 1 15.8 15.9 15.8 13.5 0-.7-15.6-15.9-15.8z"/>
<path d="M319.1 255c-1 2.3-2.1 14.8 15.5 15.9 12.7.8 9.6-17.3-15.5-15.9z"/>
<path d="M338 260.3c-2.1 3.9-4.4 13.5 14.9 14.3 12.3.5 4.7-14-14.8-14.3z"/>
<path d="M354.1 263.3c-2.8 3.8-.7 11.4 6.5 12.8 9 1.8 10.3-6.7 4.1-10.8-6.2-4-10.6-2-10.6-2z"/>
<path d="M363 265c-2.1 3.7-.9 12.4 12.8 12.4 2.8 0 13.6-11-12.9-12.3zM257.1 433a20 20 0 1 0 0-40 20 20 0 0 0 0 40z"/>
<path d="M404.1 141.7a35 35 0 0 0-5.4 8c-6.7 20 11.2 35 21.6 56.7a63 63 0 0 1-5.6 60.7c-4.4 5.8-3.1 7.5-8.8 13.4-2.2 2.3-4.6 5.2-3.8 13.4 3.6-1.3 8.7 2 9.7 5 2.6-1.4 6.2-.9 7.5.7 4.4-2 8-1 11.9 3 3.3-.4 7 0 10.3 3.7 1.8-3.6 5.4-5 8-4.1-.3-4.7 4.3-8 8.4-6.2a7.6 7.6 0 0 1 9.8-9c4.7-3.6 14-3.9 18.6 1.5-8.3-2.3-8 6.5-15 5.7 1.8 5.1-2.8 8.1-7.4 9.8 3-1.4 6.2-3.1 7.2-1.3 2.6-2.3 7.7-1.4 9-.3 3.4-1 6.7-.2 8.2 3.9 4.7 2.8 7.8 10 4.4 15.4-1-5.6-4.9-5.4-6.4-7.7-3.6 1.3-7.2 1.3-8.3-1-2 2-9 3.9-12 .8-1.2 4.6-5.2 8.5-9.9 8.5 1.3 3.6-2.3 9.7-5.1 12.8 4.4 2.3 3 7.5 2 10.6 6.8 1 1 7 12.7 10.8-5.7 1.8-16.8 0-18.3-7-5.7-.2-9.5-5.9-9.3-11.8-4.4-4.1-5-10 1-14.2-5.1 1.6-8-6.7-15.4-3.3-3.7 1.7-13.5-1.2-13.4-4.6-1.5 2.5-11 1.5-12.2-2.9-3.1 1.7-10.3-1.1-10.2-5.4-4 1.8-9.4-1.4-9.1-5.5-3.8-.5-4.2-3.9-4-6.7-3.3-1.6-2.4-4.8-1-8.6-2.4-2.6-1.4-6.2.4-9.6-2.5-2.6-2-5.6-1.3-9.3-12.3-1-27.8-4-63.3-14.9-53.6-16.5-68 22.2-56.2 46.4 13.7 28-1.5 34 3.1 54.8 5 1 7.5 5.2 7.2 9.6 3 .1 5 2.8 4 8a9 9 0 0 1 7.6 2.3c1.8-3.4 7.8-4.2 10.8-.3 6.7-.5 10.1 5 9.8 11.6a18 18 0 0 1-1.5 19.3c.4-2.7 0-6.5-.1-8.9-.3-4.2-6.2-5.1-5.6-8.6-3 .3-6-1.4-7-3.7a7 7 0 0 1-6.6 1.3c3.4 1.5 6.2 7.7 5.1 11.8 1.8 3.1 1.4 8.8-.7 11.2-1 5-5 6.8-10 4.6 2.9-1.8 3.9-5 3.8-7.7a10 10 0 0 1-2.9-6.3c-5 .8-12-3.5-13.2-5.2a20 20 0 0 0-20 20.1c-.6-4.1-5.8-8.2-5.1-11.7-3.1-9.5 1.3-18.4 13.9-20.2-1.6-3.6 3.8-7.3 1.8-11.4a97 97 0 0 0-14.7-20.1c4.4-7.5 3-17.5.5-23.7-3.7-8.9-7.2-6.7-20.3 7.7-21.4 23.5-50 17-75.2 32.5-6.7 4-13.4 5.6-6.2-1.6s26.2-14.4 38.6-20.6c23.2-11.6 42.8-30.9 50.5-68.5 18.1-88.4 85-59.2 127.2-42.8 39.7 15.5 32.5-19.5 12.4-40.7-24.2-25.3-19.3-45.3-8-61.3 20.3-2.8 59.4 4.3 51.5 11.1z"/>
<path d="M475.9 358.8a22 22 0 1 0 0-44.1 22 22 0 0 0 0 44z"/>
</g>
<g fill="none" stroke-width=".4">
<path d="M391.8 142.7c-5 21.7-.8 31.5 6.4 41 14.9 19.7 26.8 64.6 9.8 94"/>
<g stroke-linecap="round">
<path d="M417.5 252.3c2-.7 6-3.2 6.8-7.4m-5.2-2c.6-3.7 6.4-5.3 6.5-9.3m-6.4-5.2c-.4-3.9 5.8-7.4 4.9-11.2m-8.3-2.7c-.5-2.2 5.2-6.3 3.6-9.8m-7.8-3.8c-1.2-2.4 2.7-5.2 1-7.8m-7.2-3c-.4-1.6 2-5.3.7-7.5m-6.9-5.2c.5-.7 2.6-2.2 1.8-4.1m-6-5.3c.8-.4 3.3-1.2 3-3"/>
<path stroke-linejoin="round" d="M266 410.9c-5-1.8-11.5.7-12.8 5.1m3.9 4c.6-4.4 7.3-6.3 9.3-4.3-4.2-2.3-6.3 6-2.5 6.2m34.6-103.8c-3 1.6-4 7.2 0 11.5m4.6-10.2c-2.1 1.8-2 7.2 1.2 8.5-2.7-2 0-5.3 2-5.4 1.9-.1 3.2 2.2.8 4.5m177 5.2c-7.2-2-13 6.4-6.4 13.9-.2-7.2 5-12 11.3-10.7m-3 5a2.7 2.7 0 0 0-2.7 2.7c0 1.4 1.2 2.8 3.2 2.8 1.3 0 2.4-1.5 2.4-2.7m22.6-161c1.2 4.4 7.2 6.3 12 5.2m0-2.8c-3.7.1-6.8-3.4-6.6-6.3 0 2.2 5 3.2 6.6 1.8"/>
<path d="M267.9 331.7c-1-2.6 3-5.2 3.2-7.6.1-2.5 4.6-4.4 9.3.2m-2.2-27.4-2.5 1.2m11.4 12.8c-1.1 0-3.4 0-4.6-.9m0 5.8c-.8.5-2.8 1.2-4 1.5m-40.1 76.3c-.2 2.3 2.2 5.7 3.4 6.7m6.6-12.2a10 10 0 0 0-1.3 7.6m20.5 0c-2.3-1.5-.8-5.4-1-8-.3-2.6 2.7-6.7 8.5-3.2M246 381c2.3-.4 4.7-.3 6.3.4m23-7.7a8 8 0 0 0-1.4 4m12.3-4.3c-1.8 0-3.4 1.3-4.2 2.6m-20.8-68.5c2 .7 7.4 4 7.6 7.4m14.3-24.2c-6.3-.1-8.8-6.5-4-6.5m15.3 15.2c-2.4 1-1.3 5.2 2.2 7.3m-17.3 33.1c-1.2-1.6.4-6 4.4-4.7m5 51.7c.3-4 5.2-6.2 7.2-1.8m-25.5 13c-.3-4.3 2-5.7 3.8-6 2-.2 4.7 1.4 6 4.2m-48.1 5c.2-2.6 2.4-5.3 4.7-4.9m231-109.4c-1.7 1.2-2.8 6.7 3.5 7.2M458 296c0 .6.8 1.5 1.3 2m29 8.3c-1.6-1.3-6 4-2 7.7m-39 35.6c-.9-3.7 2.5-4.7 5.8-3.9m-14-22.2c2-1.2 4-2.7 6.4-3.3m-7.4 17.5c0-3 1.6-5.7 3-6.4m8.4-29.1a16 16 0 0 0 2.4 9.2m28.2-9q-3 .7-4.2 2.9m2.1 7.7q1.6-1.3 2.4-2.3m46.3-110.2c0 3.6-4.5 5.6-7.5 3.3m17.3-3.1c2 1.5 8.9 0 7.3-4M528 221.4a11 11 0 0 1-4.9-3m19.1-7.7c-2.3.5-3.9 0-5-.5m-31.6 13.4a17 17 0 0 0 6.5-1.6M502 200.8q-2.5-.3-3.9.8m29.8 5.5a11 11 0 0 1-3 5.2"/>
<path stroke-linejoin="round" d="M497.5 212.8c3.2-1.4 7.2 9.5 15 5.7m.6-11.4a11 11 0 0 0-1.8 5.6"/>
</g>
<path d="M359 190.4c1-.2 2.9-.5 3.3-1.8M226.5 310.3c3.9 2.2 6.6 5.9 5 11.4m172.1-143.2c1.2.8 5.5.8 8 0m3 2.6c0 1.8.5 8.6-3 10m1.3-.8c3.2 1 9.6.6 11.7-5.3m-4.5 5c1.7 2.6 2.2 7.6-2.8 10.3m4-6c3.8 1.2 12.4 1.4 11.5-6m-3 6c2.7 3.5 14 7.8 12.2.3m-22.5 10c4.3 1.1 10.5-1.9 8-9.6m12.3 3.9c.6 3 15 6 13.1-.7m-2.7 3.9c2.7 6.2 17 5.7 12.5-2.6m-2.3 6.5c2.8 3.4 15.5 1.4 10.4-7m-.1 6.8c7.9 6 17-2.5 7-8.7m4.6 6.8c7 5.5 15.5-4.5 9.4-7.3m-64.4 5c2.2.6 6.8.4 7.9-3.6m-1.8 2.7c-.2 5.8 9.6 8 12.1 1.3m-3.3 3.7c1.8 3.9 10.5 5.4 11.9-.1m-1.4 2.6c1.4 3.8 8.9 3.4 11-.6m-2.8 2.6c2.3 5 11.9 5 14-2.3m-1.6 3.2c3.7 2.3 11.7 1.4 11-5.8m-1.5 5.2c5.6 4.5 13.4.1 9.5-7.5m-.3 13.4c3-.5 4.5-6.4 1.4-8m-70 9c6-3.3 7.3-9 3-14.5m2.2 8.9c3.9 2.3 11.2-.2 12.5-5.8m-7.2 6.4c2.2 2.8 2.6 6.3-.3 9.5m2-5.9c6.9-4.2 15.4 3.6 9 8.4m-1-8.8c1.5-.4 4.2-3.2 4.4-6.4m-1.4 9.4c2.9-3 22.2 3 10 9.3m-1-17.4c3.8 1.4 5.7 6.7 0 8.5m5 4.4c4-4.3 17-1.6 12.3 3.8m-3.1-5.5c2.3-7.9 16.1-3 11.6.2m-14.4-8c.4 1.5.5 5.3-2 7.4m13.6-9a6 6 0 0 1-.8 5.3m9.5-5.2c.8 1.4 2 4.1-.8 6.3m-109.4-65.5c.1 7.3 2.7 12.2 12.6 7.6m-9.5 1.1c-5 6.6.6 13.7 10.3 6.6M365 165c6.7 7.2 18.7 2 11-9m8 15.2c-1.2 7.1 4.6 8.5 9.3 5.3m-34.2-10.3c1.2 7.1 8.5 12.7 15.6 8.4m-6.9 1.4c0 10.2 14 11.3 17.3.8m-5 6.4c4.5 9.3 14.3 5.5 17.5-.1m-27.4-14.7c1.8 4.5 5.4 9.5 13.7 5.8m-39.5-8c1.2 3.7 7.9 8.2 15.6 3m-10.8 1.8c-4.2 6 4 11.7 14 2.7m-9.1 4.7c1.6 8.5 5 15.4 17 4.4m-6 4.4c4.4 5.4 11.1 8.7 17.4-.4"/>
<path d="M387.3 188.8c-.4 6.5.8 9.7 5.9 9.4 4-.2 7.7-3.3 9.9-6.7m-10.8 6.7c-.2 7.4 5.6 13.2 16.5 5.7m-12 3c-2 5.5 4.1 14.5 16.2 9.9m-41.9-24.6c-.7 7 5.8 11.8 16.4 2.7m-11.2 5.1c.4 5.8 7 12.8 16.6 2.7m-12 4.7c-.7 9.9 8.4 12.7 16.1 5.1M367.2 200c2 .2 3.7-1.6 4.7-3m-.4 10.2c1.8.4 5-1.2 6-3.3m-1.4 15c2 2.3 9 .7 9.9-2.3m-2.2 2.2c3.8 9 14.1 8.7 18.4-1.5m-2 3.6c2 5.3 6.9 8.6 14.9 6.8m-11-1.4c-4.5 7.3 1.4 16 11.5 7.5m-9 3.5c-.5 4.6 3.7 9.9 9.5 10.5m-28.6-24c-1.5 10.4 6 15.4 15.3 9.8m-26.2-4.8c2.4 1.9 6.8 2.1 11 .6m5 6c-2.4 8.8 6.6 15.1 14.3 5.3M380 230.2c.2 4.5 4.5 9.4 12.1 8m21.3 9c-5.2 3.4-6.2 9.6 1 13.6m-13.6-15.4c.2 5.2 2.7 8.2 8.5 8.7m-16.1-11.4c-7.8 7-.2 15.3 9 8.3m-3.6 2.2c-2.6 8.1 7 13 12.2 4.8m-28.2-22c-2.8 8 .8 13.2 7.4 12.7m-17.6-14.3c.4 4.8 4.5 6.5 9.2 5.4m-6.2-.4c-3.5 6.7 1.8 10.3 8.8 7.8m21 15c-1 4.2-.4 7.2 5.9 8.7m-5.4-2.7c-7.6 3.4-8.3 10.8-2.4 15.5m-3.8-23.7a7.6 7.6 0 0 0 1.2 12.3m-35-35.8c-4.3 4.3-.2 16.2 9.5 9.7m15.7 5.3c-6 5-3.3 13.8 6.5 11.4m-16.3-15c-3.1 8.7-.2 11.8 6.8 11.9"/>
<path d="M359.3 236.1a8.2 8.2 0 0 0-1.5 12.2c2.3 2.6 6.7 1.4 8-1.9m-17.6-13.8c-5.9 7.6 0 16.6 8.4 14m23.3 8.6c-6 2.1-10.7 7.6-7 12.5 2.3 2.8 11.8 3.2 14.5-7.8M369 248.1c-3.5 5-2.4 9.8 4 12.2m-4.4-2.8c-3.8 2-6.2 4.5-5.3 9m-3.1-16.9c-1.4 6 .3 9.8 4 11.6m-4.1-4.4c-5.8-.4-8.8 2-6.8 7.8m.5-6.4c-5.7-2-6.6-7-4.1-12m-.8 7.6c-6.2.2-9 3.3-9 7.5"/>
<path d="M340.5 229.7c-4.5 1.9-6 8-4.3 11.3s7 3.6 10.2 1.4M328 224.9c-4.1 4.6.6 13.7 8 11.5m-18.6-15.1c-3.8 5.4.4 14.4 10.3 11.8m.5 25.1c-1-6.4 5.7-10.6 14-2.3m-4-13a10 10 0 0 0-3.3 8.5m-28-33.2c-4.3 7.2.9 13.8 10 11.2m13.8 6.7c-6 6-4 12.1.5 15.6m-4.4-8.5c-9.1.1-9.6 10.7-2.2 14m-4.7-24.6c-3.8 2.6-5 9.7 1.5 12.5m-1.8 3.4c-3.9-1.8-8.5.4-8.1 4.9m2.3-4.8c-3.5-8.2-13.6-6.8-12.7 1.7m15.5-11.9c-2.1.4-6.5 1.7-8.2 5m.6-14.3a7 7 0 0 0 2.5 11.4M296.7 216c-.8 5.6 1.4 8.3 8.4 7.8m-6-.7c-2.6 6.7 1 9.7 8 9.3m-6.4-1c-4.1 4.9-1.3 10.1 2.7 12.3m-4.6-6.1c-7.4-1-8.5 7.6-6 11.5"/>
<path d="M292.9 215.5c-4.5 2-7.1 7.6-4.7 11 2.5 3.5 7.4 2.4 10 .6m-8.4 1c-3.8 5.7-.4 10 3.6 11.6"/>
<path d="M275.3 214.8c-3 3.1-1.1 9.4 6 9.6 5.9 0 8.8-5.4 7-9.3m-8 9.3c-2.3 5.1-.8 10.7 8 9.8m3.6 8c-5.3-2.4-12.6 0-9.5 6.5m-.7-15.6c-2.2 3.1-1.5 7.5 1 10.2m-1.4-2c-3.6.7-7.1 2.6-5 8.3m-.5-4.6c-4.6-1.4-10.5 2-7 6.7m-.7-4.5c-4-.7-8.7 3.6-4.9 7.8m-1.5-3.5c-3.6 1-7.9 5-4.1 8.3m22.3-28.5c-5.2 2.3-5.7 8.1-3.3 12.4m-2.2-23c-7.7 3-7.6 13.2 1 16.4m-3.7-2.3c-4.6 2.7-5.5 7.9-2.4 11.2m-5.7-29.2c-3 1-2.8 10.5 5.4 10.3m-13.9-7.1c-6.2 4.1 1.3 14.5 11.3 7m-5.5 2.7c-.9 4.2.3 8.8 7.1 9.4m-6.7-3.8c-4.9 1.8-5.8 11.9 3 12.7m-18.6-21.8c-6.3 5.8 5.2 10.8 9.4 2.4m-18.1 7.2c-3.1 3.8 7.7 13.6 12.5-2.8m1.1-.3q.4 6 7.3 6.5m0 3.7c-7.7 1.2-10.1 10.7-1.6 12.8m-12.5-14c-.3 3.5 3.5 6.5 7.7 5.9m3.9 7.8c-7 1.6-7.9 10.6-1.7 10m-3.2 8.4c-5.8-1.7-6-8.6-.8-11.2"/>
<path d="M245.7 267.8c-4.9 3-3 10-.4 11s4.7-.2 5-2.4m-.5 10c.6 3.3-11.9 2-5.5-8.4m0 8.9c-4.2 6.6 2.6 12 6.9 6.3m-6.4 1.6c-1.7 5.3 4.7 9.1 8.8 5M231 245.4c-2.3 4.7 9.3 6.5 10-3.3m-13.2 10.3c-2.3 9.3 15.2 7.4 10.7-4.6m.4 6.2a8.2 8.2 0 0 0 11.6-6.3m-5.3 6.6a10 10 0 0 0 4.7 6.3m-13.1-3.9c-.8 5 4.3 9.2 10 8.8m-9.1-3.9c-2.8 3.9-3.7 11.3 5.2 11.8M224 263c-1.4 4 7 8.1 11.8 1.5m-14.4 8.7c-.7 3 6.8 7 11-5.8m-3.3 6.5c1.8 3.2 7.9 5.8 11.6-.5m-6 3.9c-1.6 4.5 2.7 8.7 7.8 7.5m-17.5-8.5c-1 6.4 6.5 10.1 11 6.8m-15.9-4c-2.2 8.2 8.4 11.3 12.4 5.1m-2.7 2.5c.4 4.6 7.6 8.6 13.2 4.8m-26.1-1c-.5 2.1 8.1 4.2 9.4-3m-4.4 4.9c2 5.2 9 6.5 13 0m-2.3 2.6c1 5 7.2 7.7 12.8 4.3m2.3 2c-1.4 6.5 5.4 11.8 9.6 8.2m-20.6-9.4c-2 7.2 7 11.3 12 7.3m-22.8-11c-.5 6.8 4.8 10.8 10.8 7.8m-22.3-7c-1.8 4.3 7.8 7.9 12.3 4.2m-18.2 7.7c2.5 2.8 11 0 11.7-6.3m-2.3 4.6c3.1 3.6 10.5 5.6 13.4-2.2m-2.6 4c0 5.6 9.8 9.6 13-.6m11.7 2c-1 2.7 1.2 7 5.7 7.5m-13.9-9.2c-.6 3 3.9 7.4 8.7 5.7m.9 1.3c-1.3 3.3-.2 8.1 4.3 8m-3.9-1.8c-3.4 2.8-2 7.9 2.9 8m-4.6-3.2c-4.8 3.2-3.1 10.3 3.2 9.9M239 313c0 7 8.7 8 10.3 1.6m-3.3 4c-1.3 4.2 2 8.2 7.3 7m-6.3 42.8c1.2 1.7 6-1.2 4.7-4s-6.4-1.3-5.8 1.7m4.6-2.9c.6-5.6-6-6.5-7.7-1.6m2.4-2.9c1.7-2.8-4-6.7-6.3-2.5m2-1.7c1.6-4.1-4.8-6-5.3-2.2m-1.5-5.4c.8-2 8-.8 5 3.5m5.5 5.1c2.8-2.6-2-7.8-5-6m24 13.9c-2.2.2-4.5 1.7-2.9 6.5 1.2 3.3 6.1 3.4 6.9 1.5"/>
<path d="M260.5 365.9c-2.2-1.5-7 1-4.8 5.6 1.6 3.5 5.8 2 6.4.2m-14 .8c1.2 2 6.6 1 7.6-1m-3.8-5.4c1.2-.8 3.3.2 3.7 1.2m-4-33c-3.8 2.5-1.5 10 4.3 8m-5.6-1.9c-3 2.3-.2 9.6 5.3 6.8m-4.3 0c-2.1 2.1-.1 7.8 5.2 6.7m-6-3.8c-1.2-.5-4.2-.2-5.5 1.8m2.1-28c-2.8 2.8-1.4 8.3 3.8 8.8m-4.8-3c-4 2-4 10 4 10.3m-4.3-1.3c-2.3 1.8-1.2 8.8 4.6 7.9m-2.8-.3c-.8.9-1 3-.2 3.9m-2.3-6.5c-2 0-4.8 1.5-5.5 3.7m-3.7-7.5c.7-2 7.1-2 7.6 4.1m.6-7.2c-.9.2-2.6 1-3 2.8m.2-21.7c-2.7 2.6-4 10.5 4.3 12m-9.9 4.4c0-2.1 5.8-4 7.8-.8M232 322.8c.8 1.6 4.8 3.8 7.2 2m-28-14.6a6.3 6.3 0 0 0 7.2 6.5c4.3-.5 5.2-4.2 3.9-6.7m-3.2 6.9c-2.9 3.4.6 8.3 3.8 6.9m-.6-9.4c1.7-.6 7.2-1.4 8.9 1.2m-26.8-.2c-1.3 2 6.7 3.9 9.4.2m-2.7 1.9c-.3 2.6 1 7 7.6 5.1"/>
<path d="M219.8 326.6c1-2.2-3.8-5.8-7.6-1.8s.6 8.5 2.9 7M202.7 318c-2 3.4 5.5 9.5 9.8 3.8"/>
<path d="M197.7 323.8c-2.7 2.8.7 7.9 4.7 6.3 4.1-1.5 3.7-5.8 2.7-6.9"/>
<path d="M192.5 329c-2.2 2 0 6.6 3 6.6s4.9-2.3 4.3-5.4m5-1.6c-.4 3 4 5 6.9 2.2m0-5.4c.5-.6.2-1.7-.5-2.3m-23.4 9.8c-2.5 2 3 7.6 6.3 2.5m13.1-3.5c-1.6 1.5 1 5.5 3.6 4.3m-12.4-1.5c.4 2.7 5.8 4.8 9.2.6m-6.3 2.1c-.8 1.8.9 4.5 3 4.2m48.3 11.8c-2 3.9 4.4 8.5 9 3.7m-4.4 2.1c-1 2.1.2 5.1 2 6.2m-8-1.7c.4-2 3.2-3.8 5.7-2.9m-9-2.2c.3-1.8 2.6-3.5 4.4-3m147.2-77.4c-9.2.1-5.3 14.8 2.6 11.9m-5.6-1c-1.8 2.9 1.7 7.6 5.6 4.8m-1 .6c-2.8 4.5 6.9 11.4 10.8 4.3m-3.1 2.7c0 4.3 12.5 7 10.7-1.5m-1.2 4.6c3 5 14 5.5 12.9-2m-2.5 5.2c2.3 3.4 13.2 5.4 12.8-1.5m-56.7-40.8c1.5 4 6.8 5.4 12.6 3m-16-.2c3.7 2.3-1.6 12.9-7.1 8.6m7.2-2c4 1.9 8.9.5 10.3-5.2m-2.5 4.4c.4 3 4.7 5.3 10.2 4.1m-20.1-1c5.2 4.4-2.3 13.4-5.7 9.3m7.6-6c2.5 1.8 8.8.8 9.4-4m-2.8 4c.5 3.1 3 4.3 6.4 4.4m-14.4-.1c2.6 3.6 9 4.6 11.9-.1m-2.9 2.7c-.2 3.4 3.6 6.3 7.6 5.5M375 295c3.3 1.7 7-4.7 4.1-9m-.2 15.7c4 .2 4.5-5.8.7-9.2m8.4 14.7c3.4-.8 2.3-8.1-5.8-8.7m16 14.1c3.2-.9.6-9-8.3-8.5m20.5 11.4c2.2-3.4-5-9-11-6m17 10.6c4 1.2 6.8-9.4-5.9-7.7m13.3 7.7c3.5-1 6-7.2-4.2-5.2m12 5.7c3 1.6 4.4-7.5-5-5m-47-23c3.9 2.1 10-.4 9.4-5.3m-1.5 4.2c1.3 2.3.8 6.8-1.7 8m2-2.6c2.6 1 6.1.1 8.2-4m-3.6 4c.7 1.8 1 5.4-.7 7.2m1.3-4.1c2.9 1.6 6.2-.5 7.6-3.5m-1.8 2.6c2 1.3 3.9 7.3.4 9.8m2-2.8c2.4 0 6 0 8.3-3m-1.7 1.7c2.2.6 4.8 4.2 3.9 7.4m.1-1.1c2.5-.3 6.7-2 7.9-5m-1.2 2a7 7 0 0 1 3.2 6.5m0-2.1c2.5-.1 4.7-1.4 5.3-4.1m-.6 1.8c1.8.6 4 2.7 4.1 5.1m-.3-1.5q2.6-.5 4.3-3.2m4.9-.3c2.3 2.3-.8 10-5.6 8.6m-43.9-164.7c-4.7 2.9-18.3 2-11.6-9.2m13 1.6c-9.5 3.8-21-3.5-9-11.3m-3.2-2.6c-7.8 0-13.1 12.6-2.6 17M348.6 138c-2 4 5.3 8.4 10.3 4.4 3.9-3.1 3.6-11.5 1.3-14.7m-15.6 19.8c-2.6 8.5 16.4 9 13.4-4.5m-14.4 17.2c.6 6.4 18.1 4.3 12.5-8.7m2-3.6c1.4 2 5.3 5.3 11.9 4.6m-9-13.5c.6 2.3 4.5 4 9.5 2.3M185.4 334.8c-4.5 3.1 2.4 8.1 4.9 2.6m-8.4-.2c-4.4 3.2 2.4 8.2 4.9 2.7m-8.6-.3c-4.4 3.2 2.4 8.1 5 2.7m-8.8-.5c-4.3 2.3.7 7.8 5 3m-9.2-.9c-4.3 2.3.7 7.8 5 3m16.6-9.6c-.1 3.3 6.1 4.6 8.4-.3m-4.5 3.3c-2 2.5 1.6 5.5 3.5 4.4m-11.8-4.8c-.2 2.8 5.2 4.4 7.8 1.3m-4.9 1.6c-1.7 2.2 1.7 5.3 4 4.4m-10.5-4.8c.2 2.2 3.3 4.7 6.6 3.3m-4.6-.3c-1.3 1.1-.7 3.8 1.1 4.7m-7.8-5c-.5 2 2.9 5.6 6.4 3.3m-5.7-1c-2 1.7-1.8 4.1.8 4.5m-5.8-4.7c-.2 1.4 1.5 3.6 3.7 3.3m-14.7-3.4c-2 1.1 3.2 6.7 6.5 1.5m-11.6.8c-2.6 1.2 3.8 7.4 6.7 1.1m10-1.3c-2 .4-3.3 3.3-1.6 4.5m-5-3.5c-.2 1.2 2.3 3 4.3 2.4m-5.9-1.9c-2 1.2-.9 4.6 1.4 4.1m-8.3-1.8c-1.8 1.3-.5 4 2 3.4m1.3-3.6c0 .7 1.7 1.8 3 1.3m-12.5-2.5c-2.3 1-2.1 6.6 5.5 3.6m-10.6-1.3c-3.2 1.5-2.1 5.8 4.8 1.7m.5.3c-.8.7-1.7 3.5 1.5 2.4m-7.2-1c-1.3 1.1-.5 3.5 2.3 2.6m-9-2.2c-2.3 1.3 2.8 3.1 6.2-.5m-4.6 2.1c-1 1-1 4.1 1.6 3m-8.2-1.7c-1.5 1.1 1 2.7 6 .5m-4 1.1c-1.9 1.5-1.7 3.4 1 2.8m-6.4-2c-2 1.9.9 3.1 4.4 1.6m-4.4.5c-3.4 1.5-1.9 4.4.2 3.3m113.8 6.5c-.8 1.7 1.8 3.1 4.3 2.7 2.3-.3 4.6-2.3 2.8-5m.1 3.4c2.4 1.8 6.5-.3 6.5-3"/>
</g>
<g fill="#fff" stroke-width=".4">
<path d="M396.8 103c-10.3-5-31.7-14.6-37.8-6.9 5.6-2.3 21.8.1 35.2 12.5z"/>
<path d="M403 102.5c-11.9-13.9-19-10.8-27.5-15.5-8-4.5-20.8-5.4-23.3 1.7 11.7-5.7 22.5 3 29.2 4.2 9 1.4 14.2 8.5 16.9 11.7l4.7-2zm44.9-1.8c-6.2-14.1-19.4-10.4-25.2-16.4-8.5-8.8-30-17-39-10.9 19.6-1 28 13.5 38.4 18.6 7.5 3.6 15.5 11.3 25.8 8.7z"/>
<path d="M424.7 99.2c-10.5-13.1-26.8-24.7-34.2-20.4 9.8.6 12.9 7.4 19.8 11.8 7 4.3 3.9 10.7 14.4 8.6zm-50.2 23.2c-11-4.1-32.7-6.2-42.8 6.4 16.8 2.9 42 1.3 42.8-6.4z"/>
<path d="M372.4 127.3c-11-5.2-19.7 2-30.1 1-19.8-2-34-.8-35.8 8.8 11.3-10.2 30.4-1.8 38.1-3.9s36.3-.3 45.3 3.6c-4.6-5.7-11.8-7.2-17.5-9.5zm34.8-29.5c-2.6-8.5-2.4-17.5 10.3-16.9-3.2-4-15-6-17 8.9-14-10.3-29.4-12.1-32.2-3.2 7.2-6.2 18.4-1.7 31.8 13.5a24 24 0 0 1 7.1-2.3z"/>
<path d="M387.9 109.5c-8-5.2-18.8-13.5.1-16.9-8-4.3-20-2.4-18.7 12.5-21.6-8.7-37.1-5.8-40.4 2.9-3.6 9.5 9.8 14.8 12.1 8.7-2.4 1-10.8-1.8-6.4-7.2s26.8-1.3 48.1 9.8c6 3 26.3 2.6 5.2-9.8z"/>
<path d="M382.2 123.7c-6.1-12.6-26.1-1.2-30.1-13.4-5.6 17.9 28.4 8 30.1 13.4zm127.1 13.6c4.2 2.1 7.8-1.2 1.4-3.7 4.2 2 7.9-1.1 1.5-3.7 4.2 2 7.8-1.1 1.4-3.7-1.7 1.7-4.1 8-4.3 11.1zm2.2-24.2c9.3-9.8-.7-13.1 10.6-23.2 9.3-8.2 1.8-13.7 10.5-20 2.9-2.1 9-6.2 9.6-10.4 3.7 9.3-11.6 10.6-10.6 25.5.7 9.5-5.8 8.7-8.2 24.8-.5 3.3-2.9 10.8-11.9 3.3z"/>
<path d="M515.6 117.5c5.2-11 11.1-10.9 14-15.2 5.4-8.3 16.8 1.4 26.5-6-1.7 10.5-14.7 6.8-20.4 13.5s-10.3 9.7-20 7.7z"/>
<path d="M517 121.1c9-7.2 15.6-2.4 21.8-6.2 15.7-9.5 22 2 36-2.6-3.6 9-24.4 1.3-33.4 8s-40.7 13.2-24.5.8zm-26.3 51.4c-.2-4.1-4-9.4-9.4-10-5.4-.7-7.8-6.4-11.9-6.6-4.1-.3-6.8-8.5-12.5-8.4-5.6.1-8 7.5 5.3 14.2s28 14.4 28.5 10.8zm-16.8 3.5c-5.6.2-6.4 8.5-11.8 8.7 7.4 4 12.9-1.8 16.7-7L474 176z"/>
<path d="M478.6 177c-5 4.1-6.4 12.7.7 15.2-4.2-5.9 7.5-8.5 3.9-14z"/>
<path d="M483.4 177.3c-3.8 7.4 6.1 8.3 3.5 14 5.7-1.3 6.6-12 1.4-14.8l-4.9.7z"/>
<path d="M445.6 161.3c9.3-.5 17.7 4.5 23.4 12.6 3.6 5.1 15.7 7.2 19.9 3 4-4 1.8-12.8-8.5-10-2.6-4.3-10-2.8-13.7-6.4s-17.5-13.9-21.1.8z"/>
<path stroke-linecap="round" d="M480.4 167c-2.5.5-3.3 4.7-1.7 6.9m7-4.4c.7 1.3.2 3.1-.2 4m-25.2-11.8c4.7.2 5.6 3.7 10.8 5"/>
<path d="M457.1 150a161 161 0 0 1 37.6 12.3c8.1 4.6 20.7 6 31.6 2.8 11-3 32.2-5.9 31.1 7.8 5.8-6.9-1.5-14.2-16.2-15.5.3-6.7-6.9-12.7-12-8.7 4.7-.7 8.8 8.2-.6 11.8a8.4 8.4 0 0 0-11.7-9.8c4.4 1.3 9 8.8-1 11.6-6.3 1.8-15.4-.5-22.2-4.6s-45-19-36.6-7.8z"/>
<path d="M498.6 143.3c-5.1 2.3-1.8 7.7-9.7 10.8-8 3-13.6 10.1-11.8 16.2 5.4-11.9 15-11.3 18.3-16s8.3-11.4 3.2-11z"/>
<path d="M500 144c-.2 9.4-7.6 6-4.7 19.2.9 4.1 2.6 10.8-.3 17.5 8.3-6 3-18.7 6.7-23.5 1.8-2.4 4.2-6 5-9-1.9 5.3-1.7 15.4 3.5 18-4.2-10 11.5-18.3.7-30-1.6 3-6.5 8-10.8 7.8zm-26.2-9.4c1.3 2 2.6 6.8 1.4 9.6 2.6-1.6 6.3-5.6 7.5-8.3 5.3.8 7.3 7.3 2.3 10.2 3 0 8.4 0 11.3-3.5-3.6-4-14.8-10.2-22.5-8z"/>
<path d="M393.7 116.1a10 10 0 0 0-4.8-2c-7.8-1.6-3.7-8.6 2.9-8.5 14.2-15.5 22.1-3.6 39.4-8.4 6-1.8 10.2-1.3 13.4.2 7.8-5.2 16.8-3.8 23.4 2.3a5 5 0 0 1 3-2.4c6.1-1.7 11 3.4 12.7 10.1 4.7-.8 10.1 1.5 13.7 4.7q7.4-3.8 9.5 0c4.4-2 10-3.4 12.9 3.6s-6.7 4.9-8.3 19.6c-1 9-11 12.6-19 7.2-12.8-8.7-25.3-10-31.5 3-6.1 13.2-11 20.8-26 16.5a16 16 0 0 0-16.7 6.5c-4.4 6-11 .4-19 1 10-1.5 6.1-4 14.9-4.6 8-.5 5.9-8 11-9-20 5.1-19.3-2.4-35.8 2.8 7.2-9.3 18.6-4.1 24.2-9.5-14.9-.3-21.6-10-28.3-6-10.5 6.5-6 24.8-33.5 23.2-13.4-.7-21.9 1-29.8 9 13.9-28.8 32.8-13 42-22.1a68 68 0 0 0 12.3-14.7 6 6 0 0 1 4-3.2c-22.9-7.2-9-18.5 13.4-19.3z"/>
<path stroke-linecap="round" d="M506.9 112q.5 1.2.5 3c0 5.6-8.5 5.8-9 14.2-.3 4.4-.8 6.8-3.7 6.3s-5.6-5.1-2.8-10.5"/>
<path d="M398 107.7a11 11 0 0 0-6.2-2.1m52.8-8.3c6.8 3 10.1 10 20 10.4 9.6.3 15.5 14.2 31.5 5.1l1.2-.6M468 99.7a13 13 0 0 0-1.4 8.2m-29.8 21c-12 0-15.2 6.1-15.2 12s5.7 13.7 15.7 13.7 15.5-6.2 15.5-12.9-6.2-12.9-16-12.9z"/>
<path d="M439 154.3c-.2-3.3-6.3-2.8-6-5.4s3.3-3.6 3.3-7.2 5.4-3.9 7.2-1c1.8 2.8 7.2 8.3 8.4 5.5m-8.4-5.5a10 10 0 0 0-.4 13.1m4.3-8.8c-1 2-1.2 5-.1 6.8"/>
<path fill="none" d="M495.5 135.6c9.5.8 11-9.7 4-10.3m-15.7-17.8c-3.2-4.2-10.8-5.6-11 3.2"/>
<path d="M472 120.8c-3.2-8-11.5-9.1-15.8-5.1-3.7 3.3-3.8 12 4 13.8 2.8-3.3 8-7.5 11.8-8.7zm-3.5-5c-4.7-4.1-11.5 3.7-5.3 10.8m-83 8.7c3.2-.7 7.7.8 14.7 4 4.3 2.1 17.5 6.5 25.7 2.1-8.5 3.1-15-9.7-21.4-8.2-6.4 1.6-18.2 4-23.1-.8 12 .8 18.5-8.8 32.4-.5a24 24 0 0 0 13.1 3.6c-11.3-13.6-26.2-4.9-27.8-16 6.8 7.4 23.5-1.6 32 12.1m-29.5-10c-1.6-2-1-4-2.6-5.5"/>
</g>
<path stroke="none" d="M483.8 107.5c-2.8-3-9-.7-7.2 5.4a10 10 0 0 1 7.2-5.5zM466.3 124a21 21 0 0 1 5.7-3.2 12 12 0 0 0-3.8-5.2c-1.5-1-5.7 4.7-1.9 8.3z"/>
<path fill="none" stroke-linecap="round" stroke-width=".4" d="M458.7 113.5c-4.6-3.1-8.9-2.8-10.3-.3-3.3 0-6.1 2.4-6.2 7.2m7.1 2.1c-5.5-3.8-13.1-2.4-12.6 6.1m-3.4 4.9c2.7-2.2 6.6-3.8 9.6 0m31.8-8.4c-1 1.4-1.8 3.6-.1 7-2-2.8-7.2-2.8-12.8 4.4m25.1-11.8c-6.7.8-6.5 5.2-1.1 7m-46.5-23.4c-5.7-1.1-9.8 2.2-2 5m12.8-8.8c-8-2-11.2.1-7.6 2m-15.5 30c-.2 2.9 1.3 6.6 6 2.4m-4.4 6.1q.1 1.3-.7 2.4m-17.9-40c-4.9-1.5-5.8-6 0-5.6m-1.6 16c-5.4-1.9-5.4-7.1-1-6.6m11 3.8c-6.3-1.5-6.5-5.9-1.8-5.2m2.6-8.2c-3.4-.2-8.5 3.5.1 5.7m9.3 1.8c-7.9-1.1-7.7 2-3.1 4.1m9-11.6c-6-1.1-8.1 2.5-4 4m-15 18.3c-1.5-1.2-2.7-7 4.3-5.3m10.3 3.5c-4.7-1.3-9.2 3.4-4.9 6m11.2-11.5c-5-1-9.2.5-6.5 2.3"/>
<path fill="#fff" stroke-width=".4" d="M483.6 107.5a10 10 0 0 0-7 5.4"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bv" viewBox="0 0 640 480">
<defs>
<clipPath id="bv-a">
<path fill-opacity=".7" d="M0 0h640v480H0z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#bv-a)">
<path fill="#fff" d="M-28 0h699.7v512H-28z"/>
<path fill="#d72828" d="M-53-77.8h218.7v276.2H-53zM289.4-.6h381v199h-381zM-27.6 320h190.4v190.3H-27.6zm319.6 2.1h378.3v188.2H292z"/>
<path fill="#003897" d="M196.7-25.4H261v535.7h-64.5z"/>
<path fill="#003897" d="M-27.6 224.8h698v63.5h-698z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 582 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bw" viewBox="0 0 640 480">
<g fill-rule="evenodd">
<path fill="#00cbff" d="M0 0h640v480H0z"/>
<path fill="#fff" d="M0 160h640v160H0z"/>
<path fill="#000001" d="M0 186h640v108H0z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 264 B

View File

@@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="flag-icons-by" viewBox="0 0 640 480">
<defs>
<clipPath id="by-a">
<path d="M0 0h200v608h8v284l-8 8H0z"/>
</clipPath>
</defs>
<path fill="#ce1720" d="M0 0h640v480H0Z"/>
<g fill="#fff" clip-path="url(#by-a)" transform="matrix(.52885 0 0 .53333 5 0)">
<g id="by-c">
<path id="by-b" d="M36 0v14h-9v14H16v16H8v13H-8V24H8V6H-8V0Zm26 77v15h-8v12h-8V92h-8V77h-8V57h8V42h8V30h8v12h8v15h8v20Zm-17-1h10V58H45ZM19 183h8v-18h-8zm54 0h8v-18h-8ZM-8 305H6v13h6v16h9v15h12v-15h9v-16h8v-13H38v-15h21v10h13v17h11v19h-8v14h-7v13h-6v14h-9v12h-7v11h-9v14H24v-15h-9v-14H8v-9H-8v-23H8v-20H-8Z"/>
<use xlink:href="#by-b" transform="matrix(-1 0 0 1 200 0)"/>
<path d="M96 0v32h8V0h32v14h-8v14h-12v16h-8v13H92V44h-8V28H72V14h-8V0Zm-2 274v-11h-6v-13h-7v-14h-8v-14h-8v-10h-9v-14H44v14h-9v10h-7v14h-8v14h-6v13H8v17H-8v-44H8v-20H-8v-33H8v14h10v14h10v-14h10v-14h8v-18h-8v-14H28v-14H18v14H8v14H-8v-41H8v-19H-8V77H8v13h8v16h11v13h9v15h7v12h14v-12h7v-15h9v-13h11V90h8V77h16v13h8v16h11v13h9v15h7v12h14v-12h7v-15h9v-13h11V90h8V77h16v28h-16v19h16v41h-16v-14h-10v-14h-10v14h-10v14h-8v18h8v14h10v14h10v-14h10v-14h16v33h-16v20h16v44h-16v-17h-6v-13h-6v-14h-8v-14h-7v-10h-9v-14h-12v14h-9v10h-8v14h-8v14h-7v13h-6v11zm2-167v27h8v-27zm-4 58v-14H82v-14H72v14H62v14h-8v18h8v14h10v14h10v-14h10v-14h16v14h10v14h10v-14h10v-14h8v-18h-8v-14h-10v-14h-10v14h-10v14zm4 46v27h8v-27z"/>
</g>
<use xlink:href="#by-c" transform="matrix(1 0 0 -1 0 900)"/>
<path d="M-8 408H8v14h7v8h8v14h7v12h-7v14h-8v8H8v14H-8Zm216 0v84h-16v-14h-7v-8h-8v-14h-7v-12h7v-14h8v-8h7v-14ZM62 459h8v-18h-8zm76 0v-18h-8v18zm-42-59h8v-18h-8zm0 100v18h8v-18Zm-50-75h14v-11h10v-10h5v-10h6v-14h8v-14h4v-13h14v13h4v14h8v14h6v10h5v10h10v11h14v50h-14v11h-10v10h-5v10h-6v14h-8v14h-4v13H93v-13h-4v-14h-8v-14h-6v-10h-5v-10H60v-11H46Zm50 9v-15h-8v-10h-8v25h8v9h5v14h-5v9h-8v25h8v-10h8v-15h8v15h8v10h8v-25h-8v-9h-5v-14h5v-9h8v-25h-8v10h-8v15z"/>
</g>
<path fill="#007c30" d="M110 320h530v160H110Z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@@ -0,0 +1,145 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bz" viewBox="0 0 640 480">
<defs>
<radialGradient id="bz-a">
<stop offset="0" stop-color="#ffef5d"/>
<stop offset="1" stop-color="#ea5700"/>
</radialGradient>
<radialGradient id="bz-b">
<stop offset="0" stop-color="#952d1a"/>
<stop offset="1" stop-color="#570a00"/>
</radialGradient>
<radialGradient xlink:href="#bz-a" id="bz-c" cx="247.1" cy="238.3" r="36" fx="247.1" fy="238.3" gradientTransform="scale(1.22624 .8155)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#bz-a" id="bz-d" cx="322" cy="152.9" r="10.6" fx="322" fy="152.9" gradientTransform="scale(.93615 1.06821)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#bz-b" id="bz-e" cx="364.2" cy="237.8" r="36" fx="364.2" fy="237.8" gradientTransform="scale(1.2242 .81686)" gradientUnits="userSpaceOnUse"/>
<radialGradient xlink:href="#bz-b" id="bz-f" cx="468.1" cy="156.1" r="10.7" fx="468.1" fy="156.1" gradientTransform="scale(.95596 1.04607)" gradientUnits="userSpaceOnUse"/>
</defs>
<path fill="#ce1126" d="M0 0h640v480H0z"/>
<path fill="#003f87" d="M0 34.3h640v411.4H0z"/>
<circle cx="320" cy="240" r="188.6" fill="#fff"/>
<circle cx="320" cy="239" r="156.3" fill="none" stroke="#552300" stroke-width="3.9"/>
<path fill="#007f00" d="M302 73.2c14-15.2 26.9 2.3 26.5 10.6C328.2 92 314 110 301 95.5c13.4 3.4 17.4-11.5 24.1-11.7-6.7.2-9.5-14.6-23.2-10.6zm-147.2 119c-7.4-19.4 14-23 21.3-19 7.3 3.9 17.3 24.6-1.6 29.6 9-10.4-2.7-20.5.2-26.6-2.9 6-17.5 2-19.9 16M471.9 173c19.4 7.6 7.6 25.8-.2 28.4-7.9 2.7-30-4-21-21.2 1.6 13.6 17 12 19.7 18.1-2.6-6.2 10.3-14 1.5-25.3M218.8 377.4c-20.7-2-14.3-22.7-7.5-27.4s30-4.3 26 14.7c-5.3-12.6-19.7-6.8-24-12 4.3 5.2-6 16.3 5.5 24.7m209.3-15c.3 20.7-21.1 16.8-26.6 10.6s-7.7-29 11.8-27.3c-12 6.6-4.6 20.2-9.4 25 4.8-4.8 17.1 4 24.2-8.2zM170 153c-1.9-20.6 19.8-18.3 25.7-12.6 6 5.8 10 28.4-9.6 28.2 11.5-7.6 3-20.5 7.4-25.6-4.4 5-17.3-2.8-23.5 10m22.2 193c-20.5-3.5-12.7-23.7-5.6-27.9s30.1-2.3 25 16.4c-4.5-13-19.3-8-23.1-13.6 3.8 5.5-7.2 16 3.7 25zM354.3 74c18.6-9.2 24.3 11.7 21 19.3-3.2 7.5-23 19.4-29.8 1.3 11.2 7.9 20.3-4.7 26.7-2.4-6.4-2.3-3.7-17-17.9-18.2M394 388.3c-9.3 18.5-26.5 5.3-28.5-2.7s6.5-29.3 23-19c-13.8.5-13.4 16-19.8 18 6.4-2 13.3 11.4 25.3 3.7m90.5-178.7c15.6 13.7-1.7 26.8-10 26.7-8.2-.1-26.8-13.8-12.5-27-3 13.4 12 17 12.4 23.6-.3-6.7 14.5-9.8 10-23.3zm-263-108.8c4.7-20 24.5-11.2 28.4-3.9s.5 30-18 23.8c13.3-3.7 9.3-18.6 15-22-5.7 3.4-15.5-8-25.4 2.1m-61.6 172.5c-18.2-10-4.2-26.5 4-28.1 8-1.7 29.2 7.7 18 23.7.2-13.7-15.4-14-17.2-20.5 1.8 6.5-12 12.7-4.8 25zm263.6-159.6c20.6-3 19.4 18.7 14 24.8-5.5 6.2-28 11.4-28.9-8 8.2 11 20.8 1.9 26.2 6-5.4-4.1 1.9-17.3-11.3-22.8M306.3 408.1c-19 8.4-23.8-12.7-20.3-20 3.6-7.5 23.9-18.6 30-.1-11-8.4-20.5 3.8-26.8 1.3 6.3 2.5 3 17.2 17.1 18.8M476.8 293c8.6 18.8-12.6 23.7-20.1 20.2s-18.8-23.6-.2-29.7c-8.4 10.9 4 20.3 1.4 26.6 2.5-6.3 17.3-3 19-17.1zm-325.1-60.6c-12-17 8-25.7 16-23.6s22.8 19.8 5.7 29.2c6.2-12.3-7.6-19.3-6.3-25.9-1.3 6.6-16.5 6.1-15.4 20.2zM264 395.6c-19.6 7.1-23-14.2-18.9-21.4 4-7.2 25-16.9 29.9 2-10.3-9.1-20.7 2.4-26.8-.5 6 2.9 1.8 17.3 15.8 19.9m-5.7-314c11.6-17.2 27-2 28 6.3.9 8.1-10.3 28.2-25.4 15.8 13.8 1.3 15.4-14 22-15.2-6.6 1.2-11.7-13-24.6-7zm200.2 252.1c1.3 20.6-20.3 17.7-26 11.7-5.8-5.9-9.1-28.6 10.4-27.8-11.7 7.2-3.6 20.4-8.2 25.4 4.6-5 17.3 3.3 23.8-9.3m-5.3-194.4c20.4 4 12 24 4.7 28s-30.2 1.3-24.4-17.2c4 13.1 19 8.7 22.6 14.4-3.6-5.7 7.7-15.7-3-25.2zm-258.4-14.6c.2-20.6 21.5-16.2 26.8-9.9s7 29.3-12.4 27c12.2-6.3 5-20 10-24.7-5 4.7-17-4.5-24.4 7.6M169 311c-18.6-9.4-5.1-26.4 2.9-28.3s29.5 6.7 19 23c-.4-13.7-16-13.4-18-19.8 2 6.4-11.6 13.1-4 25zM392 91c19.5-7.3 23 14 19 21.2s-24.9 17.1-29.9-1.7c10.4 9 20.7-2.6 26.9.3-6.2-2.9-2-17.3-16-19.8m-41.3 314.8c-15.2 14.2-26.7-4.1-25.8-12.3s16.3-25.3 28.2-9.9c-13-4.3-18 10.4-24.9 10 6.8.4 8.5 15.3 22.5 12.2m132.7-158c14.2 15.1-4.4 26.5-12.6 25.5s-25.4-16.3-9.8-28c-4.4 13 10.3 18 10 24.7.3-6.7 15.4-8.4 12.4-22.2"/>
<path fill="#005800" d="M301 95.5c13.4 3.4 16.7-11.3 23.5-11.5-4 4.7-14.2 16.7-23.5 11.5m1-22.3c14-15.2 26.9 2.3 26.5 10.6-11.5-20-15-17-26.6-10.6zM174.4 202.8c9-10.4-2.8-19.9 0-26 2.6 5.6 8.9 20.1 0 26m-19.7-10.7c-7.4-19.3 14-22.9 21.3-19-23.1 1.4-22 6-21.3 19m295.9-11.8c1.6 13.5 16.7 11.3 19.3 17.5-5.9-2-21-7.1-19.3-17.6zm21.2-7.3c19.4 7.6 7.6 25.8-.3 28.4 14.7-17.8 10.5-20 .3-28.4M237.3 364.7c-5.3-12.6-19.2-6.4-23.4-11.7 6.2.3 22 1.2 23.4 11.7m-18.5 12.7c-20.7-2-14.3-22.7-7.5-27.4-9.2 21.1-4.6 22.1 7.5 27.4m194.5-31.7c-12 6.6-4.2 19.6-9 24.3-.4-6-1.3-21.8 9-24.3m14.8 16.7c.3 20.7-21.1 16.8-26.6 10.6 22.3 6.6 22.7 2 26.6-10.6M186 168.4c11.5-7.5 2.7-19.8 7-25 1 6.1 3 21.8-7 25M169.9 153c-1.9-20.6 19.8-18.3 25.7-12.6-22.7-4.9-22.8-.2-25.7 12.6m41.5 181.5c-4.4-13-18.7-7.6-22.5-13.2 6.1.7 21.9 2.7 22.5 13.2M192.1 346c-20.5-3.5-12.7-23.7-5.6-27.9-10.6 20.5-6 21.8 5.6 27.9M345.4 94.6c11.3 7.9 19.7-4.7 26.1-2.5-5.4 3-19.3 10.6-26 2.5zm8.9-20.6c18.6-9.2 24.3 11.7 21 19.3-3.5-22.8-8-21.1-21-19.3m34.2 292.6c-13.8.5-12.8 15.6-19.3 17.6 2.5-5.6 9-20 19.3-17.5zm5.5 21.7c-9.3 18.5-26.5 5.3-28.5-2.7 16.7 16 19.2 12 28.5 2.7m68-179c-3.1 13.4 11.9 16.3 12.2 23-4.9-3.8-17.2-13.7-12.2-23m22.5.3c15.6 13.7-1.7 26.8-10 26.7 19.9-12 16.7-15.4 10-26.7m-252.6-89c13.3-3.6 8.8-18 14.6-21.5-1 6-4 21.5-14.6 21.6zm-10.4-19.8c4.7-20 24.5-11.2 28.4-3.9-20-11.7-21.6-7.2-28.4 4zm-39.5 168c.1-13.6-15.2-13.3-17-19.8 5.6 2.7 19.9 9.7 17 19.9zm-22 4.5c-18.3-10-4.3-26.5 3.9-28.1-16.8 15.9-13 18.6-4 28.1zm248.6-142.8c8.2 11 20.2 1.6 25.6 5.7-6.1 1.2-21.7 4.1-25.6-5.7m14.9-16.8c20.6-3 19.4 18.7 14 24.8 3.7-22.7-1-22.5-14-24.8M316 388c-11-8.4-19.9 3.9-26.1 1.4 5.5-2.8 19.7-9.8 26-1.4zm-9.7 20.1c-19 8.4-23.8-12.7-20.3-20 2.7 22.8 7.2 21.4 20.3 20m150.2-124.7c-8.4 10.9 4 19.7 1.5 25.9-2.8-5.4-10-19.5-1.5-26zm20.3 9.5c8.6 18.8-12.6 23.7-20.1 20.2 23-2.8 21.6-7.2 20.1-20.2m-303.3-55c6.2-12.3-7.7-18.6-6.4-25.2 3.8 4.8 13.5 17.3 6.4 25.2m-21.8-5.7c-12-16.9 8-25.5 16-23.5-22.1 7-19.8 11-16 23.6zm123.3 144c-10.3-9.1-20 2.5-26.2-.4 5.7-2.4 20.4-8.5 26.2.3zm-11 19.4c-19.6 7.1-23-14.2-18.9-21.4 1.1 23 5.7 21.9 18.9 21.4m-3-291.9c13.7 1.3 14.7-13.8 21.3-15-3.1 5.3-11.4 18.8-21.4 15zm-2.7-22.2c11.6-17.1 27-1.8 28 6.3-14.5-18-17.6-14.3-28-6.3M443 317.6c-11.7 7.2-3.3 19.8-7.9 24.8-.7-6.1-2.3-21.8 8-24.8zm15.6 16.1c1.3 20.6-20.3 17.7-26 11.7 22.4 5.7 22.7 1 26-11.7m-25-183.6c4 13.1 18.5 8.3 22.1 14-6-1-21.8-3.5-22-14zm19.7-10.8c20.4 4 12 24 4.7 28 11.3-20.1 6.8-21.6-4.7-28m-244 2.6c12.2-6.4 4.7-19.6 9.6-24.2.3 6.1.8 21.9-9.6 24.2m-14.4-17.2c.2-20.6 21.5-16.2 26.8-9.9-22-7.1-22.6-2.4-26.8 10zm-4 181c-.3-13.7-15.6-12.8-17.6-19.2 5.7 2.4 20.2 9 17.6 19.2M169 311c-18.5-9.4-5-26.4 3-28.3-16.2 16.4-12.3 19-3 28.3m212.2-200.4c10.4 9 20-2.8 26.2 0-5.7 2.6-20.3 8.7-26.2 0M392 91c19.5-7.3 23 14 19 21.3-1.2-23-5.8-21.9-19-21.3m-38.9 292.6c-13-4.3-17.4 10.2-24.2 10 4.3-4.5 15.4-15.8 24.2-10m-2.4 22.2c-15.2 14.2-26.7-4.1-25.8-12.3 10 20.7 13.8 17.9 25.8 12.3M461 245.3c-4.4 13 10.2 17.3 9.9 24-4.5-4.2-15.8-15.3-9.9-24m22.4 2.5c14.2 15.1-4.4 26.5-12.6 25.5 21-9.9 18.1-13.6 12.6-25.5"/>
<g fill="#730000" stroke="#000" stroke-width=".5">
<path d="M349 120.3s.6-1.3 1.7-.6c1 .8 1.3 4.2 1.3 4.2l-1.6.8s.9-1.3-1.3-4.4zm-8.8 30.7s.8-1-.3-3.4l1.5-.5s.6 1.8-.2 3.9h-1m27-5.4-3.7 2.3 1.9.8 4.5-2.6-2.7-.5m-49.7 14.6c-1 .8-1 2.1-1.7 3-.4.7-2 1.8-2 3-.2 1.1-.3 1.9.2 3.5.6 1.5 3 8.5 2 13.7-1 5.3-.6 7.5-.3 8.3.4.8 1.6 3 2.3 3 1.6-.2.9-.7 1.5-1.7 1.4-2.5 0-22.2-.7-27.6-.5-4.2-2.5-8-2.7-8.4l-.8-2.6c-1.5-3.5-3.3-6.5-3.3-13.9 0 0-4.7 1.1-8.8-8.2-2.2-4.7-5.3-4.2-9-5.7l1.6-1.1s3.2 1.6 4.7 1.6c1.6 0 1-3.2 1-3.2l1.7-1.5v6.8c0 3.1 4.3 7.4 6.8 8.7 1.6.8 3.6-2.4 3.1-5.6-.5-3 0-7.3 0-7.3l2.2 1.3s-.8 1.3-.6 2.1 1.3-.7 2.1-1.5q-.1.1 1 .2l-2.3 4c-.8 1.2-.8 6.2-.8 8 0 2 .7 6.2.7 7.6 0 1 1.8 5 3.3 7.4l1.6 3.5c1.2 1.9 1.3 3.2 2 4.7q.6 1.1 1.6 7l.7 7c.2 2.4 2.2.6 4.5-1 2.4-1.8 2.4-6 2.4-6s1.8-1.6 1.5-.7c-.2 1 1 2 1 2-1.4 3.3-.6 2.9.9 2.8s6.5-4 6.5-4c.7-.2 3.8-.2 3.3 0s-1.4 1.7-1.4 1.7l3.3-.4c-1.1.9-5.5 3.4-6.5 4a91 91 0 0 1-8.6 4.1c-2.3 1-6.7 3.2-6.9 5.4 0 2.3.3 8.3 0 10.3l-1 10.6h-10.4s2-7.6 0-9.7c-2.1-2.1-7-8.4-10-10.5-3.2-2 2-.5 2-.5v-2.1l4.8 5.7s8.3-7.3 0-17.3c-2.6-3.1-5.3-7.9-7.3-8.4-2.2-.6-3.3-1-6.9 0-3.7 1.1-12.6 1.1-16.3-4.8l3.1-.5 2.7-1s-1.1 3.7 6.3 3.7 8.4 0 7.8-6.8l2.2-1.1 1.6 1.5s-1.1 3.8-.5 5.3c.5 1.6 3 2.7 5.1 4.2q1.4 1 2.2.8c.9-.1 1-.1 2.2-1.3 1.8-2 1.4-1.8 3.2-3.4l1-1.6z"/>
<path d="M319 155c.5-.4 1.2-1.9 2-3.1 1.1-2 2.5-3.2 4-5.6 1.5-2.2 2-5.6 1.5-7.9l1.4.8v3.7l2.7-2 .8.4s-5.9 6-11.3 15.9zm-51.3-20.3c.8 1.4 1.6 4 3.9 6l1.6-.4s-3.6-4.2-3.6-6l-1.9.4m9.2-2.4s.5 5-.8 6.9l1.6-.8s1-3.4.7-5.3zm51.4-15.7s-.3 7 1.1 11.3l1.9-.5s-.3-1.3 1.2-1.9c1.6-.5 5.3-2 7.2-3.6l-.6-1.6s-2.8 2.3-4.2 2.9c-1.3.5-2 1-3.1.7s-2.4-2-1.6-6l-1.9-1.3m20.7 32.8s-.4 5-.2 7.2l1.7.4s-.4-6 .7-6.5l-2.2-1m7.5 3.7s-1.9 3.2-4 3.5l3.4-.7s1-.5 2.4-2l-1.8-.8"/>
</g>
<g fill="#289400" stroke="#030" stroke-width=".5">
<path d="m326.6 138.4 1.3.8 1.3.2 3.2 2.6c1.2 1 1.2-.2 1.2-.2l.8 3.1h1l-.2 3.2 1.8-1.6 2.2 1.9s1.5-1.4 2.3-1.4 1.1-.8 1.1-.8h.1q-8-3.6-5.9-7.6c2.6-4.4 6.8-1.6 8.1-1l19 10.2s1.3-.8.4-1.6-1.4-2.7-1-3.5c.2-.8 2.4 2.4 3.4 2.7l3.5.7v-1s3 2.2 3 3.3c0 0 2.3-1.2 1.5-1.9s3.5 1.7 3.7 3l1-1c-.2 0 .2-3.2 1.3-4.6a5 5 0 0 1 2-1.9s1-1.7 2-1.7c0 0-1-.6-1.4-1.4-.5-.8-1.6-1.2-1.6-1.2s1.4-1 1.8-1.5q.7-.8.8-.7c.1.1-2.2-1.9-3.8-2.2 0 0-.1-2.5-2-2.7h.8s-1.4-2.8-2.8-2.8c0 0 .9-1 1.6-1.1 0 0-1.6-2.2-3.9-1.4l1.5-.6s-1-1.1-4.4-.6c0 0 .3-1.3-1.2-2.4 0 0-1.2 0-1.2 1 0 0-1.2-1-2.7-1-1.4 0 .5 1.6.5 1.6s-2-1.3-3.1-1c0 0 .5-2.2-.8-3.3 0 0-1.4.7-1.8 1.7l-.4-1s-2 2.4-2.4 1.7c-.3-.4-.6-2-.6-2l-1.1 1.7.2-2.4s-1.4.8-2.5 3.3c0 0-1.3 1.3-1.3 2.4 0 0-1.1-1.2-2 0-1 1.4 0 1.1 0 1.1s-.5.5-1.5.7l.2.8s-1.2-.7-2.2-.4l.5 1.2s-2.6.2-2.7-2c0 0-2.1-1-2.4.2l-1.6 1s-.5-1-1.3-1.2c-1-.3-.2 1.3-.2 1.3s-.3-1.2-1.5-1.8c-1.2-.5-.2 1-.2 1s-1.5-1.2-.8-2.2c0 0-1.4 1.4-.7 2.7l-1 .7s-.5-.5-.4-1c0-.3-1.7 1.3-1.7 1.3s-1-2.6 0-2.6c.1 0-1.8 0-2.1 2.2 0 0-1.3 0-2.5.4s1 1.3 1 1.3-2-.4-3 .2l.7.9s-.7-.7-2.4-.1.4.8.4.8-1.7-.4-2.6 0 .3 1 .3 1-3.2-1-3.7-.6c-.5.3 1 1.8 1 1.8s-2 .5-2.3 2l1.8.7s-.8.4-1.2 1.1 1.2.4 1.2.4-2.2 1.6-2.2 2.8c0 0 1.6.5 2.7-.7s.4-.8.4-.8l.1.8s2.3-1 2.3-1.6c0-.5-.4.8-.4.8l2.2-1.2z"/>
<path d="m324.7 108-.5-2.2 5 .6.9-2s2.4 1 3.1 1.8c0 0 4.6-1.2 6-.7l-.6 2.1s4.2.3 5.6.8c1.2.5-.6 1.6-.6 1.6s4.8.6 6.8 1.8c2.2 1.3 2.2 2.4 1.1 2.7l2.6 4.2s-4.2.5-5 1.5c-.7 1.1-1.5-1-1.5-1l-.8 2.9s-2.6-1.4-3.7-2.4c0 0-1.3 1.6-.5 2.4l-4.8-3.1s-2-.3-2 1.5l-3-3.4-2.6.8s-.8-1-1.7-1.4c-1.1-.2-.3 1.4-.3 1.4l-1.6-1.9-1.6-1.8s-1.3 1.8-2.4 1.8-1-1.2-.8-2.1c.3-.8-3.1-1-3.4 0 0 0-1-4 2.6-5l3.7-1zm-19 13.3-1.6 1.6-1-.5-1.9 2.1-.4-1.1-1 1.7-1.7-.6-.8 1.3-1.5-.3s-1.2 1.2-2 1.5c-.8.2 0-1.8 0-1.8s-1.2 2-2 2-.6-1-.6-1-.5 1.4-1.4 1.6c-.9 0-.5-1-.5-1l-1.6 1.2v-1l-.7-.3s.4-1.8 1.1-2.2-.7-1.5-.7-1.5l.7-.8s-2-.5-2-.1c0 0 1-2.6 2.4-3.1l.1-3s1.4-1.1 2.6-1.2c1.4-.2-.4-2.3-.4-2.3l3.2-1.8.4-2.3 4.7.4 1-2 3.8 1 3.3-1.7 2.3 2.7 3.5.3v3.1s4.1 1.3 4.6 1.7c0 0-.8 2.5-.8 3 0 0 3-.8 3.8-.6l.4 3.4s5 1.6 5.3 2.5c0 0-1 .7-1.7 1.6 0 0 .6 3 .6 4l-.4.5s-1.4-1.3-2.6-1.5l-1 2.1-1.7-1.1h-1.1s-.9-1-1.6-1v-1l-1.4.9s-2.2-1.1-2.2-1.8l.1-1.5-2.2 1.5s-.5-1.1-.4-1.6-.9 1.1-.9 1.1-1.2-2-1-2.4l-.4 1.7s-2.3-.8-2.6-2.4z"/>
<path d="M274.5 130.9s4.1 2 4.1 3c0 0 1.1-2.1.5-3l1.6 1.1s.5-1.9-.1-2.5c-.5-.5 3.5-2.1 4.4.5 0 0 2.4-2.5-2.3-4.7 0 0-.4-1.6 2.5-1.2 0 0-.2-1-.9-1.3h2.7s-1.6-1.4-4-1.8-1-.7-1-1.2c-.2-.5 0-2.2 0-2.2s-1.4-.5-2.5 0l.4-.4s-2.5-.7-3.5-.1c0 0-1.5-.6-1.3-2.1 0 0-1.5-.1-2.1 1.4 0 0-1.4 1.6-3.3 1.6-.3 0-1.7-.8-1.7-.8l-1.2 2.7H265l.5 1s-2.8-.8-3.7 0c0 0 1.1 1.7.8 2.8 0 0-2.2.4-2.7.8s.8.7.8.7-2.6.8-3.2 1.6l1 .7-1.2 1.6 1 .2-2.5.8c-.9.3 1.5.5 1.5.5l-1.1 1 1.8.3s-1.4 4-1.5 5.8c0 0 2.2-2.7 2.8-3l-1.8 3s3.4-1 3.7-1.6l.5-1 .1 1.6s1.3-1.7 1.5-2.4 2 .7 2 .7v-1l2.4.7q1-.2.8-.3l1.6-.2-.3 1.4s1.2-.8 1.5-1.6c.2-.8.8 0 .8 0l.8-3.1zm-13.4 13.8 1.6 3.3c-1.3 0-3.1 1.5-3.1 1.5.3 5.4-1 5.1-1 5.1.3 1-.3 2.8-.3 2.8l7.7-4.6.1-.5 9.2-4.3.3.5 2.6-1.5 1.9 4.9-1.9 1c.1 1.7 2.1 4.6 2.1 4.6l2.4-.6 2.7-1v1c0-.3 2.9-1.3 2.9-1.3l1.3 1.3c1-.1 2.7-2.5 2.7-2.5l2 .8s.7-1.2.7-2 2.6-.8 2.6-.8l1.7 1.2 2.3-1.8s.7 1.3 1.6 1.5 3.4 2 3.4 1.6 1-2.5 1-2.5l4.1 1.6c-.5-1.8-2-4-2-4s2-1.6 1.7-2-1.6 0-1.6 0l1.2-2.4h-1.6l.5-.6-2.5-1 1.3-2.8c-.6-.7-7.3-2-7.3-2l1.6-1.5s-.8-1.2-1.6-1.2-4.9.1-5-.3l-1.8-1.8-2.6 1.9-1.3-.4-2.2.8s0 1.3-.3.4-2.3-2.8-2.3-2.8c-.4.7-3 3.8-3 3.8s-.5 1.7-1.3.5c-1-1.2-3-2.4-3.4-1.5-.2 1.1-2.1 2-2.5 1.8-.4-.3-2.5-.1-2.7.5-.1.7-2.5 2.4-2.5 2.4-1.4-.7-3.8-.3-3.8-.3s-.7 1.1-.8 2zm44.2 39.6v-2l2.3 1.5 1.4-1.5 1.8 1.7 1-1.7v2.8l2.7-2.3 1.5.6v-2.2s1.9-3.1 1.1-3.7l1.6-.5s-2.7-2.6-3.4-3.1c-.8-.6-1.9-.6-1.9-.6s-2-2-3.4-2.7c-1.3-.5-2 .6-2 .6s-.8-1.5-2.2-1.8c-1.3-.3-1.3 1-1.3 1s-1-1-2.2-1.4c-1.3-.6-.4 1.2-.4 1.2l-4.5-1.4.6 1.4-4.2-1.1.5 1.5-3-.5-.2 1.3-4.2.8.8 1.4-2.6-1.1v1.9l-3 1 1.1 1-4.7 2.4c-.7.5 1.6 1.6 1.6 1.6l-4.2-.6 1.6 1.4-3.7 3.4 2.6 1.9-1.6 2.3 4 .8 1.5 2.6 3.2-.6v3l4.7-3.7s3.4 3 3.7 2.1c.2-.8.2-3.4.2-3.4h1.7V187l1.2 1 2.2-3.1 2.8 3.9 2.2-5zm19.1-11.8-.4-4.5-1.4 1.4.6-4.2-2.2-.4.8-4.1-1.6-.8.4-2 1.6-1.1 2.8-2.8 6.6.1.7-2.1 4.7.8c.8.8 3.3-1.8 3.3-1.8h1l1 2s3.4-.4 5 .6l-1.9 2.6 3.5.3 2.3.5 2.4-.8 3.2-.2.7 1.3h3l-1 1.1 3.8 1.8-.8.8s2.2.8 3.7.8h.8s.8 1.8-.3 2.6c0 0 1.1 2.6 3.4 3.1 2.4.5 2.4.5 2.7 1s0 3.2-2.7 3.2v2.7s-2 1.8-2.3 2.6l-1.6-1s-1.3 1.5-1.3 2.5c0 0-3.5-4.5-4.7-4.7-1.4-.2-1 2.6-1 2.6l-3.8-3.1-.5 2.1-3.1-2.6-1.9 1.3-3.3-3.5-3.2.4 1.2-1.6h-3.9l-.7-3.4-.6 2.8-2.4-1.6-3 3.3s-.4-.4-.9-2c-.5-1.5-1.8 2-1.8 2l-1.1-2.5-1.3 2.4s-1-1.8-2.1-2.4c-1-.5-2 3-2.4 4.5zm.6 10.3.2-1.6 5.6-2.2 4.7-1.7 2.3-1.1 1.1 1.9 1.4-2.7 2.1 2.8 1.2-1.5 1.8 1.4h1.6l.3 2s3.9.3 4.2-.5.8 2.7.8 2.7l3.7.5.8 4.2s1.8 3.9 1.2 5.4c-.5 1.7-2-2-2-2s-.3 2.9-.6 3.7-5-.8-5-.8l-2 3.9s-2.2-3.1-3.2-3.1-1 3.1-1 3.1l-4.5-5.3c-1.3-1.5-1.6 1.6-1.6 1.6s-2-3.4-2-4.4-1.9-2.2-1.9-2.2-3.2 3.7-5.6 4.7c0 0 .3-2.3-.5-3-.7-.9-3 1.5-3 1.5s-1.7-3.6 0-7.4z"/>
</g>
<g fill="none" stroke="#004b00" stroke-width=".5">
<path d="m350.8 124.5.5 2s1.8-.4 3-.3l-.7 2.2s2.3-.4 3.4.3l-.5 1.2 2.7 1.2-2.5 2s4 1.5 4.9 2.7c0 0-2.7 1.8-3 1.7-.5-.2-.2.8.5 1.7l-2.2-.1s.9 2 .8 2.8c-.2.8-3.8.6-3.8.6m14.1-5.3s.7-3.9-.4-4.9c0 0 2.5 2.2 4.2 2.3s0-3.2 0-3.2 2.3 1.2 3.5 1.5c1.2.2-.9-2.4-.9-2.4s.7-1.3 2.7-.1m-45.4-15.5s0-1-.3-1.4c-2.4-3.2 2.4 2.4 3.4 2.6m4.5 0s1.6 1.2 2.3 1.2c.8 0-.5-3.1-.9-3.5-.3-.4 2.9 1.3 4 1.4 1.2.3 1.4-2 1.4-2s3.6.7 4.4 1.2m-25-.7-.5-3m-24.2 12.7c-.2-.3 1-2 .5-2.9 0 0 .7.6 1.4.7s.4-2.2.4-2.2l.7.3s2-1 1.7-1.8 1.4 1.2 1.4 1.2 1.1-1.2 1.1-1.7 1.4 1.2 1.4 1.2 1.5-.3 1.5-1.2 1.8.3 1.8.3.8-1 .7-1.8m-19.7 9.8s.9-2-.1-3.4m-23.6 9.8c0-1 .5-3.6 0-4s1 .4 2.2.7m9.3-.4c-1.2-1.1-1.9-1.7-3.7-1.7m-16.2 8.3c.3-.7.8-2.4.5-3.3m25 51.7 1.3-2.6 1.6 3.7 1-2.3.4.7 2.4-2.5 2.5 3.8m40.7-16.5 1.7-3.3 2.3 1.2 1-3.3 2.4 1.5 1.3-3 2.7.7.2-2.2s1.8 1 2.3 1.9c.6.7 0-2.7 0-2.7l2.2 1s1.5-1.6-.6-2.4"/>
<path d="m343.6 163.1 2.3 3.4 2-2.2 1.7 3.8 2.3-1.4 3.2 1.9 1.5-1.2 3.5 2.5 1.4-3 3.2 1 2-3.5m-84.4-9.2s1.4-2.3 1-3.4c-.7-1 2.8 1.8 2.8 1.8s.7-2.3.3-3.4c-.6-1 3.9 3.2 3.9 3.2s.7-3.7 0-4.4c-.8-.8 4.3 1 4.3 1s2-.6 1.2-1.6c-.8-1.1 3.4 1.5 3.4 1.5s1-2.6 0-3.6 3.2 1.3 3.2 1.3l-1.6-2.8 3.4.2-.3-3.2m30.3 45.1 2.2-1 2 2 2.2-3.5 2.6 2.5.4-2.5 2.8 1.2.6-1.6 3.1 1.7.3-2.4 1.6.5.3-1.5"/>
</g>
<path fill="#9dd7ff" d="M283.1 298.1a70 70 0 0 1-6-13l42.4-37.2 42.3 37.1a65 65 0 0 1-6.2 13.3l-.3.5-3.2-1.2s-1.4 1.3-2.5 1.4c-1.4.2-2.7-1.3-2.7-1.3s-1.8 1.6-3.7 1.3c-1.9-.2-2.6-1.4-2.6-1.4s-2 1.6-3.4 1.3c-1.2-.3-2.1-1.2-2.1-1.2s-1.2 1.5-2.8 1.2-3-1.2-3-1.2-2.5 1-4 1.3c-1.6.3-3-1.4-3-1.4s-2 1.4-2.8 1.4-3.7-1.4-3.7-1.4-3 1-4.1 1-4-1.3-4-1.3-2.9.8-4.1.8c-1.4 0-3.4-.8-3.4-.8s-2.3 1.1-3.6.8q-2.2-.6-2.4-.8c-.2-.2-2.6 1.1-4.2.8s-3.4-1.4-3.4-1.4-.3.8-3.4 1.4"/>
<path fill="#fff" stroke="#000" stroke-width=".7" d="M319.5 205.1V248l-42.3 37.4a84 84 0 0 1-4.4-27.1V205h46.7"/>
<path fill="#ffd83c" stroke="#000" stroke-width=".7" d="M319.5 205.1V248l42.2 37.4a84 84 0 0 0 4.3-27.1V205h-46.5"/>
<g stroke="#000" stroke-width=".5">
<path fill="#730000" d="M292.2 289.2c3.2 1.7 2 1.2 8.7 3.5a62 62 0 0 0 20.7 2.8c8 0 12.4-.7 15-1.4s3.1-1.8 3.1-1.8l-6.5 6.7s-26.3 1.4-31-1.7c-2-1-6-4.2-10-8z"/>
<path fill="none" d="M330.8 276.8s8.4 4.8 0 14m-37.8-1 12-11.6-1.3 15.4m6.3 1.4v-25.8m20.8 25.8v-27.4m-10.5 27.9V266"/>
<path fill="#ff0018" d="m310 270.6-5.4 1.7 5.4.6v-2.3m10.3-4-5.8 2.1 5.8.2v-2.4m10.5 1.6-5.8 2.2 5.8.3V268zm3.4 12.4c-.3-1.1 3.4-1 3.4-1s1 3.9 0 6.3l-3.1-.6s.3-2.6-.3-4.7z"/>
<g fill="#fff">
<path d="m294.8 288.1 10.3-10-.5 6s-5.3 3.5-5.3 5.9l-4.5-1.9m5.5 2.1s1-3.1 4-4.7l-.3 6.3zm14.7-17.3s4.2-.6 7.4 0c0 0-.5 4.2 0 5 0 0-5.8-1.4-8.1.8 0 0-.8-4 .7-5.8zm-8.9 1s4.2-.5 7.4 0c0 0-.8 4.8-.3 5.5 0 0-4.7-2.6-7-.4 0 0-1.6-3.3 0-5z"/>
<path d="M305.9 279.4s4.2-.4 7.3 0c0 0-.5 4.3 0 5 0 0-5.5-1.2-7.8.8 0 0-1.1-3.9.5-5.8zm8.4-.7s6-.8 9.1-.3c0 0-1.2 3.4.3 5.7 0 0-6.5-1.7-9 .3 0 0-2-3.9-.4-5.7zm-9 6.5 8.2.6s-.8 6-.3 6.7c0 0-6.6-1.5-7.8.6 0 0-2.2-5.4 0-7.9zm9.2 0s7-.5 10.3 0c0 0-1.9 4.5.2 8.4 0 0-9.2-2.6-10.5-.5 0 0-2.1-5.4 0-7.9zm10.8-12.3s4.2-.6 7.3 0c0 0-.5 4.2 0 5 0 0-5.8-1.4-8 .8 0 0-.9-4 .7-5.8zm0 5.8s4.2-.5 7.3 0c0 0-.5 4.2 0 5 0 0-5.8-1.3-8 .7 0 0-.9-3.9.7-5.7zm.5 6s4.2-.6 7.4 0c0 0-1 6.6-.6 7.4 0 0-4.8-2.3-7-.3 0 0-1.4-5.2.2-7z"/>
<path d="M334.5 285.2s1.3 5 3 5.6l-2.2 2.8s-2.9-2-3.2-4.4c0 0 1.9-2.1 2.4-4z"/>
</g>
</g>
<g stroke="#000" stroke-width=".6">
<path fill="#006ac8" stroke="none" d="M355.4 298.7a66 66 0 0 1-36 28.3 67 67 0 0 1-36.3-28.8h.1c3-.7 3.4-1.5 3.4-1.5s1.8 1.1 3.4 1.4 4.2-.8 4.2-.8 1 .5 2.4.8 3.6-.8 3.6-.8 2 .8 3.3.8 4.1-.8 4.1-.8 3 1.3 4 1.3c1.1 0 4.2-1 4.2-1s2.9 1.4 3.7 1.4c.7 0 2.8-1.4 2.8-1.4s1.4 1.7 3 1.4c1.5-.2 4-1.3 4-1.3s1.4.9 3 1.2 2.8-1.2 2.8-1.2.9.9 2.1 1.2c1.4.3 3.3-1.3 3.3-1.3s.8 1.2 2.7 1.4c1.8.3 3.7-1.3 3.7-1.3s1.3 1.5 2.7 1.3c1.1-.1 2.5-1.4 2.5-1.4l3.3 1"/>
<path fill="none" stroke-width=".5" d="M353.7 301.2c-1.4.1-1.6-.8-1.6-.8s-2 1.6-3.8 1.3c-2-.3-2.9-1.5-2.9-1.5s-2 1.6-3.4 1.3a5 5 0 0 1-2.3-1.1s-1.3 1.4-3 1.1-3-1.1-3-1.1-2.7 1-4.4 1.3c-1.6.3-3-1.5-3-1.5s-3.8 1.2-4.6 1.2c-.9 0-3.6-1.2-3.6-1.2s-1.9 1.1-3 1.1-4.2-1.3-4.2-1.3-3 .8-4.3.8c-1.4 0-3.5-.8-3.5-.8s-2.5 1-3.9.8l-2.4-.8s-2.7 1-4.4.8c-1.6-.4-3.6-1.4-3.6-1.4s-.3.7-3.5 1.4h-.1"/>
<path fill="#5ac800" d="M293.1 305.2s-.3.7-2.8 1.2l-.7.2.6-.2-.7.3a44 44 0 0 0 11.7 11c4.5 3 9.6 6.6 18.4 9.2a71 71 0 0 0 17.8-9c6-4.5 9.2-7.2 12.6-11.7-2.7 1.5-2.3 1.5-3.7 1.3-1.3-.3-2.3-1.3-2.3-1.3s-1.3 1.5-3 1.3c-1.6-.3-3-1.3-3-1.3s-2.2 1.5-4.4 1.4c-1.6-.1-3-1.6-3-1.6s-3.8 1.3-4.6 1.3c-.9 0-3.6-1.3-3.6-1.3s-1.9 1.2-3 1.2-4.2-1.4-4.2-1.4-3 .8-4.3.8-3.4-.8-3.4-.8-2.5 1-4 .8c-1.3-.3-2.4-.8-2.4-.8s-2.7 1-4.4.8c-1.6-.3-3.6-1.4-3.6-1.4z"/>
<path fill="#ffd800" d="M319.6 326.9a89 89 0 0 0 17.1-8.6c-1 0-4-1-2.9-1.2 0 0-1.2 1-2.3 1s-4.2-1.3-4.2-1.3-3 .7-4.3.7c-1.4 0-3.4-.7-3.4-.7s-2.6 1-4 .7l-2.4-.7s-2.8 1-4.4.7-3.6-1.3-3.6-1.3-2.4 1.3-4 1.4a55 55 0 0 0 18.4 9.3z"/>
</g>
<g stroke="#000" stroke-width=".5">
<path fill="#b34b00" d="M313.2 249c1.9-1.6 3-3 2.3-4.2-.7-1-1.8.6-3 .2 0 0-2-1.1-2.5-2-1-1.2-2.5-2.3-3.3-3.4-.9-1-4.2-5.3-9.1-10.3-1.5-.9-1.1-4.4-2.2-5.5 0-.8-10-10.6-13.4-14-1.5-1.1-2.2-1.8-4.7.5-2 1.7-2.7 3.6-.1 5.8l12.8 11.7c1.9 1.8 4.5 2.1 5.6 3l13 13.4c1.7 1.4 2.5 2.4 1.5 3.6-1 2 .1 2.3.3 2.3.2.1 1.1.1 1.7-.4z"/>
<path fill="none" d="m280.7 214 13.4 13.2"/>
<path fill="#fff" stroke-width=".6" d="m298.8 220 1.1-2.5c.2-.4 3.8-6.2 5.6-6.3l11.3 8.2c0 .5-5 7.8-5.3 7.2 0 0-13.2-5.5-12.7-6.6z"/>
<path fill="#ccb8c8" stroke="none" d="M306 222c-1.6-1.2-4.1-2.4-6.2-3.8l-.9 2c.7.8 10 5.1 11.6 6 0 0-1.8-2-4.6-4.2z"/>
<path fill="none" stroke-width=".4" d="m299.8 218 5 3.1c2.7 2 4.4 4 6.4 5.2"/>
<path fill="#782121" d="m277.1 253 25.5-31.7c.5-.4 2.9-.4 3.2 2l-24.2 33s-2.7-.3-4.5-3.4z"/>
<path fill="#730000" d="M362.7 253.3c-1 .7-2.4.8-2.4.8-1.7-1.9-3-4-5.4-6.5l-25.5-31.3 2.7-2.6 23 26.9c.6.7 4.6 4.9 8.4 9.8 0 0 .3 2-.8 2.9z"/>
<path fill="#fff" d="m338.1 220.3-4-5s-3.2.5-3.8 2.1c0 0-2.2 3.7-8.2 4.1 0 0 1.7 7 8.6 10.7 0 0 2.5-7.2 5-8.4 0 0 2.5-1.9 2.4-3.6z"/>
<path fill="#730000" d="M327.9 242q-.9-.3-2 .4c-.9.5-1.8.3-1.7-.7 0-.8 0-.7 1-1.4a6 6 0 0 1 5-.5l-2.3 2.1m27.8-27.7c-.2-.7-.4-1.4.3-2.2s.7-2.2-1-1.5q-2.7 1-.9 5.4z"/>
<path fill="#fff" d="m327.3 242.5 28.9-28.7 7.1 7.6s-1.5-.6-2-.2.5 1.9.5 1.9-1.3-.5-1.9-.1c-.7.4 0 2 0 2s-1.2-.8-1.8-.5c-.5.4 0 2.3 0 2.3s-1.5-.5-2-.1c-.3.4 0 2 0 2s-1.5-.7-2.3 0 .4 1.9.4 1.9-2-.8-2.7.4.1 2.2.1 2.2-1.6-.7-2-.4c-.4.4 0 2.3 0 2.3s-1.3-.8-2.2.2.1 2 .1 2-1.3-.8-2-.4.2 2.2.2 2.2-1.2-.9-2.1 0 0 2 0 2-1-1-2.2 0c-1 1 0 2.1 0 2.1s-1.5-.8-2.1 0 .2 1.9.2 1.9-1.2-.7-2-.3c-.7.4 0 2.1 0 2.1s-1.1-1.3-1.6-.6 0 2.4 0 2.4-1-1.3-1.6-.6c-.7.6.4 2 .4 2s-2-.8-1.5-.8z"/>
<path fill="#7e4b7e" stroke="none" d="m354.5 216.2-2.2 2.2.5 7.7s.5-2.2 1.1-.7c0 0 .2-1.8.7-1.5-.4-.2 0-7.8 0-7.8m-4.3 4.3-1.6 1.5.6 7.7s.4-2.9 1.1-.6v-8.6m-17.6 17.2-1.5 1.7.4 4.7s.5-3 1.1-.7l-.2-2.6z"/>
<g fill="none" stroke="#7e4b7e" stroke-width=".9">
<path d="M330.9 218.3c1 1 4 5 4 5m-2.6-2.9c-.2.6-.6 2.3-1.5 3.2m2-2.8c-.2.4-.2 1.7-1.5 3m2-2.4q-.3 1-.8 1.7m1-1q-.1.5-.4.8m-3.2-2.7a29 29 0 0 1-4.8 2.8m4-1.8a14 14 0 0 1-3.1 2.2m2.8-1c-.5.4-1.5 1.4-2.3 1.7m1.8-.5q-.7.7-1.5 1.1"/>
<path stroke-linecap="square" d="M311.3 224.7c.3-.6.9-1.8 1.6-2.8 1-1.4 1.3-1.6 1.8-2"/>
</g>
</g>
<path fill="#289400" stroke="#060" stroke-width=".5" d="M217 303.4c1.5.7 0-4.8.5-6.8.6-2.2 4.8 5.2 6.8 6.2 2.2 1 15.3-5.2 15.3-5.2l3.1-5.8 1.7 4.8s3.6-4.2 4.6-5.8c1.1-1.6 0 3.1-1 4.7-1.1 1.5 3.1 2.1 2.6 5.3-.5 3 4.2-2.2 4.2-2.2l12.1 1s2-7.3 5.3-11.5l1 4.8 5-5.1a66 66 0 0 0 41.3 39.2 67 67 0 0 0 40.2-36.6l6.7 7s5.3-1.6 6.3-2.2a70 70 0 0 1 15.5 5.6c1 .7.3-3.5.3-3.5s5.8 1.1 5.3 4.2c0 0 1.2-2.9 2.3-3.4s3.6 2.7 4.2 3.7c.5 1 13 2.6 14.7 3.6 0 0 1.3 1.6 1.3 2.7 0 0 2.7-.3 4.7-.3 0 0-1.5.8-1.5 2.4q0 2.5-2.4 3.6c-1.5.8 0 1.4 2 1.6 2.2.3 0 3-4.1 4.5 0 0-1 2.3.8 3.1 0 0-3.7.3-4.2-.8 0 0-1.3 2.5-1.3 3.8 0 0-4-1.3-5-1.9 0 0-1.6 1.6-.5 2.3 0 0-7.1-.7-8.5-3.4 0 0-2.5.8-2 1.7 0 0-5-3.4-6.6-3.4l-1 1.7s-3.5-2-4.5-2-.2 1.5-.2 1.5l-4.8-2.9-1.9 3-5-2.7c-1-.8-1.2 1.6-2 1.9 0 0-1.6-2.2-3.7-1.9 0 0-.8 2.6-.5 3.4l-7.1-1.5c-1.1-.3-.5 1.2 0 2.3 0 0-4.5-1.3-5.5-2l-.3 2s-3.7-.3-4.5-1l-2.3 3.1h-3.5l-.7 2.9s-6.6-1.9-7.2-.8c-.5 1 .3 2.6.3 2.6l-5.7-.7-.5 2.3s-6.7-2-8.2-1c0 0-2 2-3.4 2.6-1.3.5 0-.8 0-.8l-2-2.9s-2.4 1.3-3.8.8-5.5 2-6.8 1.3c0 0 0-1.9-1.1-2.4-1-.4-2.8-.4-3.6.8l-2.2-3c-1.2-2.2-3.1.1-3.1.1l-.3-2.5-3.6-.3c-2.2-.3-2.6-2.2-2.6-2.2s-5.6.6-6.4.3l1.4-1.3s-7.6 1.6-9.2 1c-1.7-.5 1.8-2.6 1.8-2.6l-8.4-2c-1.3-.4-9 1.2-10 1.2s-1.6-1.8-1.6-1.8-1.8 1.6-3.4 2.1c0 0-1.3-3.1-.5-3.4 0 0-5 1.3-5.3 2.6 0 0-1.2-2-1-3 0 0-2.4 3.8-3.5 4.6-1 .8-.2-1.9-.2-1.9s-2.9 3.7-4 4v-2.6s-8.4 4.5-10.7 3.9c0 0 0-1.9.8-2.4l-5.3-.2-4.2-1.1c-1.3-.2 1.9-1.6 4-1 0 0-5.8-2.1-7.6-1 0 0-.8-2.2 2.3-3 0 0-4-3.9-6.3-3.6 0 0 2.6-1.6 4.8-.8 0 0-2.5-6.6-4-7.4 0 0 5.5-1 7.1-.2z"/>
<path fill="#730000" stroke="#000" stroke-width=".5" d="M208.9 188.8 280 152c.3-2-.7-3.4-1.9-5-20.3 10-38.8 22.2-61.4 29.5-1.3.5-12.5 5.2-18.3 12.1a8 8 0 0 0-2 4.5s.2 3.1.9 4c0 0 .1.8 1.2 1.5 0 0 .7.3 1.1.2s1.4 0 2.6-2a52 52 0 0 1 6.7-8z"/>
<path fill="#fff" stroke="#000" stroke-width=".5" d="m266.1 152.4 9.2-4.4s3.1 2.3 2.8 5c0 0 .7 6 8.2 10.2 0 0-6.3 8-17.4 8.6 0 0 1.2-10.4-1.1-13.5 0 0-.4.4-.2-.1.3-1-.2-4.5-1.7-5.3z"/>
<path fill="none" stroke="#7e4b7e" stroke-width=".8" d="M276.9 153.6c-2 .8-8.3 4.1-8.3 4.1m5.2-2.1c0 1-.6 3.3 0 5m-.8-4.7c0 .5-.8 2.2 0 4.6m-1-4.1c-.2 1-.4 1.5 0 2.6m-.8-2v1.2m5.8-1.5c.3.7 2.9 4.8 4.5 6.5m-4.1-4.7c.3.8 1.7 3.6 2.8 4.7m-3-3c.4 1 1.1 2.7 2 3.7m-2-1.8a8 8 0 0 0 1.1 2.5"/>
<g stroke="#000" stroke-width=".5">
<path fill="#b34b00" d="m342.3 148.3 26.1 12.8c5.2 2.5 7.1.2 10 1.5l51.6 26.2c4.5 2 7 2.5 6.3 4.8-.1 3.7 1.7 3.7 2.2 3.8.4 0 2.1-.2 2.8-1.2l.6-.6c.6-.6.5-.7.7-1 2.1-3 3.3-5.8 1-7.5-2.5-1.3-2.8 1.5-5.6 1.2 0 0-4.8-1.8-6.6-3.1-3.2-1.8-7.8-3.9-8.8-5-3.3-.6-28-14.6-42.1-21.6-1.5-1.2-2.3-5.9-5.3-7.4-.8-1.3-19.8-10-29.8-15-3.6-1.3-5.7-2.2-8.3 2.3-2.3 4.4-1.8 6.8 5.2 9.8z"/>
<path fill="none" d="m344.5 142.8 29.2 14.6"/>
</g>
<g fill="#ffa54b" stroke="#000" stroke-width=".5" transform="translate(-40)scale(.96)">
<path fill="url(#bz-c)" d="M309.7 165.1c-.2.6-.7.2-.7.4-.4 2.2-.3 3.3-.8 4.5a7 7 0 0 1-3.1 2.6c-2 .7-4.5 3.1-8.5.9l-.6-.5s1.1 4.1-3 6.2l-15.7 8.2s-1.5 2.8-.5 6.5c0 .6.3 1.1-.3 1.5-1 .7-2.7 2.8-3.7 6 0 0-3-1.3-3-3.2s1.2-3 1.5-4.4c.3-1.3 1-4.7.7-5.7-.4-1.1-2.3-1.5-3-2-.6-.3-1.4.5-1.3 1.4.1 1 .8.8 1.6 1 0 0-.9 2-.8 3.4l-9.2 4.8 1.6 2.3c.4.7 1.3 10.2 4 14.7s3.7 3.2 4.3 3.8l2 2c.8.5 4 .8 4.5-1a9 9 0 0 1 3.2-4.1c2-1.6 6-5.4 6-7.2 0 0 2.3 6.8 2 12.4 0 0 8.5 1.7 16.1 1.9 7.6 0 11.5-1.5 11.5-1.5s1-6.4.6-7.7c0 0 1.2 4.2 2.2 5.6 1 1.8 2.1 5.3 4.3 5.5 2.2.1 4-2.1 4.2-3v-6.8h8.7s3.8 1.5 5 1.3 2-1.3.8-1.7l-.4-.3c1.2 0 2.6.7 2.6.7h4.3l-.1-.5c-.3-1.2-2.6-2.2-4.2-3-1.6-.5-3.5-1.2-4.7-1.3a20 20 0 0 0-6.2.4c-.8 0-3.9.4-5.8 1.3-.5.3-1 .4-.8-1 .3-1.3.2-7.8-1.3-10.5-1.2-2-1-3.6-.9-5.2a87 87 0 0 0 0-8.8c-.3-1.7-2.5-4-6.6-4.4-3.8-.5-7-3.7-7.3-6.2-.3-2.6.4-7.2.8-9.3"/>
<g fill="none">
<path fill="url(#bz-d)" d="M292.4 153.6c-.7 3.3-.7 6.1-.6 9.3.1 2.1 1.1 4.6 2 6.7a10 10 0 0 0 2.8 3.9c3.6 2.3 7-.2 8.9-1a6 6 0 0 0 2.7-2.5c.5-1.2.3-2.1.8-4.5l.7-.4c1-1.5.7-2 1.2-3s-.5-2.2-1.8-2q1.1-3 .4-5.9c-.2-.6.5-2.2-.6-1.8-4.6 1.8-10 1.4-14.8 1.4-.4 0-.8-.8-1.4-.7l-.3.5"/>
<path fill="#000001" d="M292 155.3q-.8-.5 0-3.2c.7-2 0-2 1.1-3.2s.9-1.6 1.6-1.9 2.8-.2 3.5-.5a11 11 0 0 1 9-.3c1.5.8 2.5 2.8 3.4 3.6 1 .7 1.7 3.6 1.5 7.9-.3 4.3-1.2 3.5-1.2 3.5s-1.2-2-2.2-.3c0 0 0-1.7.2-3 .1-1.1-.6-3.4.1-4.9 0 0-5.8 1.8-8.7 1.7-3-.2-7.4-.9-7.6-1.6l-.7 2.2"/>
<path fill="#fff" stroke="#fff" d="M295 151.8c-.3-.6-1.8-2.9-.6-3.6 1-.6.4 2.8 2 3.5 0 0-.6 1.5-1.4.1z"/>
<path d="m298.3 160.1-.9 3.2m10.6 1.6c.2.6.4.3 1 .4m.3-4c.5-.5 1.2-.2.8 1.3m-17.7-4.9 2.8 1c1.5.6.6 2.9.2 4.3-.2.7-1 2-.6 2.5.5.8 1.1.3 2 .4 0-.3.6-.5.8-.5.7 0 1.1.5 1.7.3s.5-1.2.3-1.7m-.1-4.5c0-.4 1-.8 1.5-.9 2.1-.4 3.6-.7 5.4.5m-5.7 11.1c-1.8.4-3.6.7-5.2-.2m0-.8c.8-.4 1.1-.8 2.1-.3l1.1-.4q1.1 0 2.2.8m-5.5.3c1-.3 3.3-.3 5.4.1"/>
<path fill="#fff" stroke-width=".3" d="M292.3 160.1c.7 0 1.6-.9 3.2.3 1.1.8-1.8 1.5-1.3 1.4-1.4.2-1.8-.5-1.9-1.2zm8.4.8c.7-1.4 1.8-1 2.8-.8 1 .3.7.1 1.7.7-1.2.1-.9.2-1.7.6q-1.4.8-2.3.3-.5-.3-.7-1 0 .3.2.3z"/>
<path fill="#000001" stroke-width=".3" d="M293.8 161.4q.6-.1.7-.8 0-1-.7-1-.8 0-.9 1 0 .7.9.8zm8.6.2q.6 0 .7-1a1 1 0 0 0-.8-.8q-.6 0-.7.8.1 1 .8 1z"/>
</g>
<g id="bz-g">
<g fill="none">
<path d="M345.9 213.7a4 4 0 0 0-1.9-1.4l-2-1-2.4-.9m.5 2.6-.9-.5-1-.2-.2-.2a4 4 0 0 1-2.4-1.3m-62.8-9.3c1 .7 3.2 2.2 3.4 5.1a11 11 0 0 0 1 3M264 202c.5 1.7.6 7.4 6 13.4m-5-21.4c-.4 1.1-1 2.2.2 3m14.4 10.7c1.1-2.6 4.6-2.4 4.6-4.8"/>
<path d="M284.8 207.3c-.3-2.9-1-4.5-.4-8.7.2-1.2.4-5.9 0-8.1 0 0 1.6 7.8-3.7 9.3m34.4 12.5c0-4 1-6.2 1-6.2 1.2-5.6-1.2-7.7-.3-9.1.9-1.2 2-3.8.5-8.9 0 0 2.8 10.5-4.5 10.5-7.5 0-7.2-2.7-7.2-2.7"/>
<path d="M284.4 190.5c0 2 0 8.4 9 8.4 2.8 0 5.8-2 7.4-3.3m2.2-2.7q-.4-3-.3-7m-13.6-3.4c2.4-.3 4.4-.6 9-.6m.2-6.3c.5 2.2-.3 5.8 4 6.3m4.3-7.1c-.6 1.6-.6 3.3-.8 4.4m.2 2.7c1.7 0 5-1.1 9-.3m1.4 22.8c.9 1.6 1 3.8 3.6 6.2m-31.7-11.4c.2 1.3-1.8 5.7-.3 9.3a12 12 0 0 1-1.2 11m6.7-19c-.9 1.7-2.3 3.3-2.6 4.7m6.6-1.6c0 1-2.7 8.7-4.7 10.9 0 0 3.6 1.4 3 6.6m7.4-21c0 1.2-.2 1.6 1 2.4m2.4 0c1.3 1.6 5.5 6.5 4.6 9.2m-7.4-6.5c.3 1 .3 6.3-.6 9m-2.1-.2c-1.1 0-2.8.8-3 2.7m8.7-3c1.1-.3 3.3 1.6 3.3 7m15.7-10.2c-2.1.6-3 1.7-2.4 1.1-1.1 1-2.2 1.6-2.2 1.6"/>
</g>
<path fill="#000001" stroke-width=".3" d="M289.8 198q1 0 1.1-1-.1-.6-1.1-.7-.9.1-1 .8.1.8 1 .9zm23 .3q1 0 1.1-1-.1-.6-1-.7t-1.1.8c-.1.8.5.9 1 .9z"/>
<path fill="#fff" d="M280.5 239.8c1.3-8 5-14.5 5.1-15.2 0 0 3.9.9 10.6 1.5s8.4.4 11.5.2l6.8-.8s1.2 2.4 1.3 4.8c.3 5.2 2.3 27.7 2.5 33.7 0 0 .8 3.6.8 12.3 0 9.6 2.6 29 2.6 39.4l-2.6.5s-14.5 1.1-14.5-.8c0-2.1-.8-27 1.4-42.1 0 0-.5-3-1.4-5.5s-4.3-10-4.3-11.7c0 0-5.7 16-6 18.8-.3 2.6-1.2 38.4-1.7 41.3 0 0-8.2 6.3-9.3 7-1.1.4-9-3.4-9.3-4.4a211 211 0 0 1 4.6-33.2c1.4-7.1.6-8.4.6-10.4s.1-27.5 1.3-35.4z"/>
<path fill="none" d="M294.3 275q-.8 3.4-3.6 5.7m-2.7-53.6c-.3 1.3-2.3 7.3-7.2 10.9m14.3-9.8c-1.1 3.6-5.5 22.7-6.3 45.4m-.3 7.1-1.7 20.8m-.8 3a71 71 0 0 0-2.7 18.7m32.2-36c-.2 2-1 15.7 3.6 28m-18.5-86c-.3 2.3-.8 16.7-.8 17.8s1.6 2.8 2.4 3c0 0-1.6.6-2 6m-4-12.8c-.3 1.7-2 8.5-3 11.3m13-25.5s5 1 5.3 0c0 0 1.6 29.5 3.8 46m-11.2-42.2-.6 16.5m2.5 2.1s1.9 2.8 1.4 4m-17.8-28 3 .8m5.2 1.6c-.3.9-.6 4.6-.6 4.6m8.8 38.9c.6.8 1.4 2 .8 4.4"/>
<path fill="#9b5f00" d="M285 224.4s0-3.2 1.1-4.8c0 0 3.5.7 8.4 1.2q7.4 1 12.6.5c3.7-.4 7.4-1.3 7.4-1.3s1 4.8.5 5.5c0 0-4 .8-8.3 1a86 86 0 0 1-14.5-.8 57 57 0 0 1-7.3-1.3z"/>
<path fill="#fff" d="m288 224.8.7-4.8h1l-.2 5.1-1.4-.2m22-4.1.1 5.5 1.3-.2-.1-5.6-1.3.3m-15.6 0-.4 5.3h.7l.7-5.3h-1"/>
<path d="M276.8 320.8q-.6 2-1 5.5c0 .5-.6 3.3 1 3.4 1 0 1.4-2.9 1.4-2.9s-1 3.3.3 3.7c1.8.4 2-3.6 2-3.6-.2 1.1-1.4 4 .3 4.3 1.9.3 2.4-3.9 2.4-3.9s-1.6 4.2.3 4.3c1.7 0 1.7-4 1.7-4s-.9 5 1.5 4.5c1.4-.2 1.7-2 2-3 .4-1.5 1.3-3.4.2-6.6-.8-2.3-.5-3-.5-3s-2.9 2.2-5.1 3.6c-1 .6-6.5-2.3-6.5-2.3zm29.7-4.4c-.5-.3-.4 1.9-.6 2.9s.2 3.2 3.6 3 6.7-1 8.9-.5c2.1.6 5.3.7 7 .7q2.5 0 3.7-.5c.7-.3 2.2.4 3 .4s1.7-1 1.6-1.8c0-1.3-1.3-1.3-3-1.4a22 22 0 0 1-5-1c-1.1-.3-3.1-1.5-5.7-2l-5.9.2c-1 0-7 .3-7.6 0z"/>
</g>
<g fill="none">
<path fill="#ffb366" d="M255.7 189.8c-.5.3-1.1-2 .4-2.9 0 0 .4-2 2-2.1 0 0 1.4-1.9 3.3-1.7 0 0 2.2-1.5 3-1.3.9.1 3 2.1 3 2.9.2.7 0 1.9-.5 2.4s-1-.1-1.1-1c0 0 .4 1.6-.8 2.2s-1.1.2-1.2-.6c0 0-.4 1.6-1.2 1.9s-1.3-.5-2-.5c0 0 1.1.9.4 1.5q-1.2.6-2-.1c-.5-.5-1.2-1.9-3.3-.6z"/>
<path d="M265.7 186c-.5-1.5-2.2-3-4-2.8m2.2 4.4-.8-1.2c-.9-1.5-2.8-1.4-4.4-1.8m2.4 4.5c-.6-.4-.8-1.2-1.4-1.5q-1.4-.8-3.3-.7"/>
</g>
</g>
<g stroke="#000" stroke-width=".5" transform="translate(-40)scale(.96)">
<path fill="url(#bz-e)" d="M439.1 165.1c.7-.3.5.6.6 1 .4 1.3.4 2.7.9 3.9s.8 1.5 1.8 2c1.6 1 6.4 3.6 9.8 1.5l.7-.5s-1.3 4.1 3 6.2l15.6 8.2s1.5 2.7.6 6.5q-.5.9.2 1.5c1 .7 2.6 2.8 3.8 6 0 0 3-1.3 3-3.2s-1.3-3-1.6-4.4c-.2-1.3-1-4.7-.6-5.7.4-1.1 2.1-1.5 2.8-2 .7-.3 1.6.5 1.3 1.4 0 1-.8.8-1.6 1 0 0 1 2 .8 3.4l9.4 4.8-1.6 2.3c-.5.7-1.5 10.2-4.2 14.6s-3.7 3.3-4.2 4l-2.1 1.8c-.6.5-3.8.9-4.5-.9a9 9 0 0 0-3.1-4.1c-2-1.6-6-5.4-6-7.2 0 0-2.3 6.8-2 12.4 0 0-8.4 1.7-16.2 1.9-7.6 0-11.5-1.5-11.5-1.5s-1-6.4-.6-7.7c0 0-1.2 4.2-2 5.6-1.1 1.8-2.2 5.3-4.4 5.5-2.2.1-4-2.1-4.2-3v-6.8h-8.7s-3.8 1.5-5 1.3-1.9-1.3-.9-1.7l.4-.3a7 7 0 0 0-2.5.7H402l.1-.5c.3-1.2 2.6-2.2 4.3-3 1.6-.5 3.3-1.2 4.6-1.3 1.9-.2 3.2-.1 6.2.4.8 0 4 .4 5.8 1.3.5.3 1 .4.8-1-.3-1.3-1.2-5.5.3-8.3 1-1.9.9-3.5.8-5.2-.2-1.7-1.1-5.6-1.1-7.3 0-5.7 4.4-8 8.2-9.2 4.3-1.4 7.1-2.8 7-5.3-.2-2.7.5-7 .1-9"/>
<g fill="none">
<path fill="url(#bz-f)" d="M456.3 153.6a20 20 0 0 1 1.2 5.3c0 1.2-.5 1.4-.1 2.8.7 2.4-.8 5-2.5 8-.8 1.2-1.4 3-2.7 3.8-3.4 2.1-7.5-.4-9.6-1.3a4 4 0 0 1-2-2.2q-.5-1.6-.8-4c0-.3 0-1.2-.6-.9-1.3-1.4-1-2-1.6-3-.5-1 1-2.2 2-2a10 10 0 0 1-.2-5.9c.2-.6-.6-2.2.5-1.8 4.5 1.8 10 1.4 14.8 1.4.4 0 .7-.8 1.3-.7l.3.5"/>
<path fill="#000001" d="M456.8 155.3c.4-.4.1-2.3-.4-4.3-.1-1-1-1.5-2-2.6s-1.6-1-2.3-1.4c-.6-.2-2-.2-2.8-.5-.6-.3-2.2-.1-3.7.1-2 .3-3.2.2-4.7 1s-2.8 1.8-3.3 3.3c-.4 1-1 2.5-.8 6.8s1 3.5 1 3.5 1.1-1.7 1.9-.6l-.3-3.6q-.2-1.8.5-4.6s4.6 1.7 9 1.7c3 0 7-.3 7.1-1l.7 2.2z"/>
<path d="M450.4 160.1c.7 1.8.1 1.3.4 2.4m-10.2 2c0 .8-.6.6-1 .6"/>
<path d="M456.9 158.8c-1-.7-2.7-.2-3.5.1-1.5.7-.7 2.3-.2 3.7.2.7 1 1.7.5 2.4-.4.8-.7.4-1.6.5 0-.3-.8 0-1.1 0-.6 0-1 .4-1.5.2s-.5-1.2-.3-1.7m.1-4.5c0-.4-1.3-.8-2.7-.9-2.3 0-2.5.1-4.2 1.3m11.5 9q-.5-1.1-2.1-.4c0-.2-1.6-.4-1.6-.4q-1 0-2.1.7m5.6.6c-1-.6-3.3-.2-5.6-.2m.2.8c1.7.5 3.5.8 5.2 0"/>
<path fill="#fff" stroke-width=".3" d="M456.4 160.1c-.7 0-1-.9-3.1.3-1.1.7 1.8 1.5 1.4 1.4 1.2.2 1.6-.5 1.7-1.2q.2-.3 0-.5zm-8.3.8c0-.8-1.8-1-2.9-.8-1 .3-.5.1-1.5.7 1 .1.7.2 1.6.6.9.5 1 .9 2.3.3q.5-.2.8-1 0 .3-.3.3z"/>
<path fill="#000001" stroke-width=".3" d="M455.1 161.4a1 1 0 0 1-.8-.8q0-1 .8-1 .6 0 .7 1 0 .7-.7.8zm-8.7.2q-.6 0-.7-1 .1-.8.8-.8.9 0 .7.8 0 1-.8 1z"/>
</g>
<use xlink:href="#bz-g" width="100%" height="100%" fill="#730000" transform="matrix(-1 0 0 1 748.8 0)"/>
<g fill="none">
<path fill="#730000" d="M491.6 193.5c.5.2 2-2 .5-3 0 0-.5-2-2-2 0 0-1.4-2-3.4-1.7 0 0-2-1.5-2.9-1.4-1 .2-3 2.2-3 3-.2.5 0 1.8.5 2.4s1-.1 1-1c0 0-.3 1.5.9 2.2s1.1 0 1.2-.7c0 0 .3 1.6 1.1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3s1.5.3 2 0c.6-.5.3-1.8 2.4-.6z"/>
<path d="M482.5 189.8c.5-1.8 2.2-3.2 4-2.9m-2 4.4q.1-.6.5-1.2c1-1.6 3-1.6 4.6-1.9m-2.5 4.5c.6-.4.8-1.1 1.4-1.4a5 5 0 0 1 3.2-.7"/>
<path fill="#730000" stroke="none" d="M482.3 186.8c-.9.7-1.8 1.8-1.9 2.2 0 .7 0 1.9.5 2.5q1 .6 1.1-.8c0 .5 0 1.5.8 2 1.3.7 1.2.1 1.3-.7 0 0 .3 1.6 1 2 .9.2 1.4-.5 2-.5 0 0-1 .8-.3 1.3s1.5.3 2 0c.6-.5.3-1.8 2.5-.6q.5.1 1-1.1l-7.7-5.5z"/>
<path d="M480.7 188.2c-1.5 2.6.5 4.1 1.1 2.6-.1 2.4 1.7 2.3 2.3 1.5.7 2.5 1.9 1.4 3 1.2-1.3 2.3 1.4 1.6 2 1 1-1.3 1.4-.2 2-.3l1.3-1.3m-8-5.7q-2.5 1.5-2.6 3.7m5-2.2q-2.7 1.5-2.6 3.7m5.4-1.7c-1.7.9-1.8 1.7-2.5 2.8"/>
</g>
</g>
<path fill="#5ac800" d="m238.5 310.7-.2-4.5 1.9 1.6.4-3.4c.8-.2 2.1 1.3 2.1 1.3l-.2-3.4 2.8 3.1s-.2-2.6.8-4.2c0 0 2.2 1.9 2.2 4 0 1.9 1.8-2.6 1.8-2.6l1.6 5 1.3-1.9 1 4 2.4-3.5 1.8 4 4.2-.3.5 2.4 1.9-2 2.4 1.5s2-.6 3.1-.6 2.4 1.4 2.4 1.4.8-1.4 1.5-1.9 1.9.8 2.2 1.6l1.6-2.9s2 2 2.3 2.9c0 0 .3-2.4.8-3.2.5-.7 1.2.3 1.8 1.3l1.3-4.2s1.4.3 2.3 1.9c1.1 1.5 1.1-2.4 1.1-2.4s2.4 3.2 3 5.3c0 0-16.2 5.6-27.6 4a306 306 0 0 1-24.5-4.3m110.9-.5s.7-2.1 1.8-3.2c0 0 2 2.4 2 3.2l1.7-1 1.6 1.5 1.8-1.3 1.8 1.6 3.2-1.4 1.3 1.4 5-.6 1.8.8 1.8-2.3 1.6 1.8 2.7-2.6s1.3 1 1.5 1.8c0 0 2.2-1 2.7-1.8 0 0 2-.8 2.3.5 0 0 1.3-1 1.2-2-.1-1.2 1.5-.4 2 1 0 0 .5-2.2 2-2.4 0 0 1.2 1.3.9 3.7 0 0 2.3-1.9 3.4-2.1 0 0 .5 2.6-.3 5 0 0 2.4-4 3-2.7.1.8.7 3.5.1 5.3l2.2-1.3.8 2.6 2.3-.5s-13.9 2.1-27 .9-25.3-5.9-25.3-5.9m-9.6 9.7c.6-.4-4.4 10.3-16.5 10.9-16.9.8-31.3-7.7-31.3-7.7s1.8-2.9 2.9-3.7c0 0 2.3 1.9 3 4.2 0 0 .4-1.5 1.2-2.9 0 0 2.9 1.4 3.4 3.2 0 0 1-1.8 1.8-2.3.8-.6 1.6 2 1.6 3.6 0 0 1.9-2 3-2 0 0 2 1 2.6 4.3 0 0 2-1.8 2.6-1.5 0 0 2.3 1.5 1.8 3.7-.3 1.2 2.3-1.4 5.5-2.2l2.9 2.2 3.4-4.7s2.1.8 2.1 2c0 0 1-3.7 1.8-4 .8-.5 1.8 1.1 1.8 2.2 0 0 .3-2.8 1.9-3.4 0 0 1.6 1 1.6 2.1 0 0 1.6-3.2 2.9-4"/>
<path fill="none" stroke="#060" stroke-width=".5" d="m238.5 310.7-.2-4.5 1.9 1.6.4-3.4c.8-.2 2.1 1.3 2.1 1.3l-.2-3.4 2.8 3.1s-.2-2.6.8-4.2c0 0 2.2 1.9 2.2 4 0 1.9 1.8-2.6 1.8-2.6l1.6 5 1.3-1.9 1 4 2.4-3.5 1.8 4 4.2-.3.5 2.4 1.9-2 2.4 1.5s2-.6 3.1-.6 2.4 1.4 2.4 1.4.8-1.4 1.5-1.9c.8-.5 1.9.8 2.2 1.6l1.6-2.9s2 2.1 2.3 2.9c0 0 .3-2.4.8-3.2.5-.7 1.2.3 1.8 1.3l1.3-4.2s1.4.3 2.3 1.9c1.1 1.5 1.1-2.4 1.1-2.4s2.4 3.2 3 5.3m58.7-.8s.8-2.1 1.9-3.2c0 0 2 2.4 2 3.2l1.7-1 1.6 1.5 1.8-1.3 1.8 1.6 3.2-1.4 1.3 1.4 5-.6 1.8.8 1.8-2.2 1.6 1.7 2.7-2.6s1.2 1 1.5 1.8c0 0 2.2-1 2.7-1.8 0 0 2-.8 2.3.5 0 0 1.3-1 1.2-2-.1-1.2 1.5-.4 2 1 0 0 .5-2.2 2-2.4 0 0 1.2 1.3.9 3.7 0 0 2.3-1.9 3.4-2 0 0 .5 2.5-.3 4.9 0 0 2.4-4 3-2.7.1.8.7 3.5.1 5.3l2.2-1.3.8 2.6 2.3-.5m-109.8 8s1.8-3 2.9-3.7c0 0 2.3 1.8 3.1 4.2 0 0 .3-1.6 1-3 0 0 3 1.4 3.5 3.2 0 0 1-1.8 1.9-2.3.7-.6 1.5 2 1.5 3.6 0 0 1.9-2 3-2 0 0 2 1 2.6 4.4 0 0 2-1.9 2.6-1.6 0 0 2.4 1.6 1.8 3.7-.3 1.2 2.3-1.4 5.5-2.1l2.9 2.1 3.4-4.7s2.1.8 2.1 2c0 0 1-3.6 1.8-4 .8-.5 1.9 1.1 1.9 2.2 0 0 .3-2.8 1.8-3.4 0 0 1.6 1 1.6 2.1 0 0 1.6-3.2 3-4"/>
<g fill="#fff">
<path d="M319.5 361.9c22 .2 35-7.8 42-12.6 16.8-11.2 20.3-11.6 23-11.4 3.1.3 7.7 1.3 8 4 .2 4.3-6.6 6.1-10.5 6.1s-14.5-2.6-14.5-2.6l-2.7 1.9c1.8.8 23.2 8 27.3 1.2s8.4-17.9 8.4-17.9-4.7-8.4-15.1-8.4c-10.6 0-20.8 6.7-27.6 11.7s-15.5 11.8-38.3 11.8c-22.9 0-31.6-6.8-38.4-11.8-6.9-5-17.1-11.7-27.6-11.7a18 18 0 0 0-15.2 8.4s4.2 11 8.4 18c4.1 6.7 25.5-.5 27.3-1.4l-2.6-1.8S261 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.7-.2 6.2.2 22.9 11.4a72 72 0 0 0 42.2 12.6"/>
<path d="M284.1 336s0-1.9-.3-4.6c-.4-3.5-2.4-4.4-4-3.9-1.2.4-3.3 3-3.3 3v.1l-3-1.8a18 18 0 0 1 6.3-3.6c1 0 14.5 5.4 18.8 9.1 1 1 1.8 7 1.2 9a47 47 0 0 1-15.7-7.2m-6.5 13.6s-2.9 3-3 8.3c0 6.3 4.5 6.6 7.5 6.5 3.7 0 6.6-2.1 6.5-8.9 0 0-6-2.5-11-6m77.1-13.6.4-4.6c.4-3.5 2.4-4.4 4-3.9 1 .4 3.2 3 3.2 3v.1l3-1.8c-.7-1-5.2-3.6-6.2-3.6s-14.5 5.4-18.8 9.1c-1 1-1.8 7-1.3 9a46 46 0 0 0 15.7-7.2zm6.5 13.7s2.9 3 3 8.3c.2 6.3-4.5 6.6-7.5 6.5-3.6 0-6.5-2.1-6.5-8.9 0 0 6-2.5 11-6"/>
</g>
<path fill="#69f" d="M271.3 345.4S260.9 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.3-.2 5.3 0 17 7.5m96.1 0S378 348 382 348c3.9 0 10.7-1.8 10.4-6-.2-2.8-4.8-3.8-7.9-4.1-2.3-.2-5.4 0-17 7.5m-83.4-9.3-3.1-2.3-4.5-3.2s2.1-2.7 3.2-3c1.7-.6 3.7.3 4.1 3.8.3 2.7.3 4.7.3 4.7m-7.1 27.6c1.8 1 3.9 1 5.1.8 3.7 0 6.6-2.1 6.5-8.9 0 0 4.5 2.3 11.8 4 0 0 1.2 1.5 1.4 4.4.3 2.5-1.4 5.1-3.3 5 0 0-10.3-2-16.5-3-3.7-.7-5-2.3-5-2.3m77.7-27.6 3.2-2.3 4.4-3.2s-2.1-2.7-3.2-3c-1.6-.6-3.6.3-4 3.8zm7.1 27.6c-1.8 1-3.9 1-5.1.8-3.6 0-6.5-2.1-6.5-8.9 0 0-4.5 2.3-11.7 4 0 0-1.3 1.5-1.5 4.4-.2 2.5 1.5 5.1 3.4 5 0 0 10.3-2 16.5-3 3.6-.7 5-2.3 5-2.3"/>
<g fill="none" stroke="#000" stroke-width=".7">
<path d="M319.5 361.9c22 .2 35-7.8 42-12.6 16.8-11.2 20.3-11.6 23-11.4 3.1.3 7.7 1.3 8 4 .2 4.3-6.6 6.1-10.5 6.1s-14.5-2.6-14.5-2.6l-2.7 1.9c1.8.8 23.2 8 27.3 1.2s8.4-17.9 8.4-17.9-4.7-8.4-15.1-8.4c-10.6 0-20.8 6.7-27.7 11.7s-15.4 11.8-38.2 11.8-31.6-6.8-38.4-11.8c-6.9-5-17.1-11.7-27.6-11.7s-15.2 8.4-15.2 8.4 4.2 11 8.4 18c4.1 6.7 25.5-.5 27.4-1.4l-2.7-1.8S261 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.7-.2 6.2.2 22.9 11.4a72 72 0 0 0 42.2 12.6z"/>
<path d="M271.3 345.4S260.9 348 257 348s-10.9-1.8-10.6-6c.2-2.8 4.8-3.8 8-4.1 2.3-.2 5.3 0 17 7.5zm96.2 0S378 348 382 348c3.9 0 10.7-1.8 10.4-6-.2-2.8-4.8-3.8-7.9-4.1-2.3-.2-5.4 0-17 7.5zm-83.4-9.3-3.1-2.3-4.5-3.2s2.1-2.7 3.2-3c1.7-.6 3.7.3 4.1 3.8.3 2.8.3 4.7.3 4.7z"/>
<path d="M284.1 336s0-1.9-.3-4.6c-.4-3.5-2.4-4.4-4-3.9-1.2.4-3.3 3-3.3 3v.1l-3-1.8a18 18 0 0 1 6.3-3.6c1 0 14.5 5.4 18.8 9.1 1 1 1.8 7 1.2 9a47 47 0 0 1-15.7-7.2m-6.5 13.6s-2.9 3-3 8.3c0 6.3 4.5 6.6 7.5 6.5 3.7 0 6.6-2.1 6.5-8.9 0 0-6-2.5-11-6z"/>
<path d="M280.1 351.1s-2.3 2.5-2.7 6.5c-.2 3.1 1.8 4.9 4.5 4.7 3.7-.2 5.1-5.3 3.4-8.1l-5.2-3"/>
<path d="M277 363.7c1.8 1 3.9 1 5.2.8 3.6 0 6.5-2.1 6.4-8.9 0 0 4.5 2.3 11.8 4 0 0 1.2 1.5 1.4 4.5.3 2.4-1.4 5-3.3 4.8L282 366c-3.7-.7-5-2.3-5-2.3zm77.7-27.6 3.3-2.3 4.4-3.2s-2.2-2.7-3.3-3c-1.6-.6-3.6.3-4 3.8z"/>
<path d="m354.7 336 .4-4.6c.4-3.5 2.4-4.4 4-3.9 1 .4 3.2 3 3.2 3v.1l3-1.8c-.7-.9-5.2-3.6-6.2-3.6s-14.5 5.4-18.8 9.1c-1 1-1.8 7-1.3 9a46 46 0 0 0 15.7-7.2m6.5 13.6s2.9 3 3 8.3c.2 6.3-4.5 6.6-7.5 6.5-3.6 0-6.5-2.1-6.5-8.9 0 0 6-2.5 11-6z"/>
<path d="M358.7 351.1s2.4 2.5 2.8 6.5c.3 3.1-1.9 4.9-4.5 4.7-3.7-.2-5.1-5.3-3.4-8.1l5.1-3"/>
<path d="M361.9 363.7c-2 1-4 1-5.2.8-3.6 0-6.5-2.1-6.5-8.9 0 0-4.5 2.3-11.7 4 0 0-1.3 1.5-1.5 4.5-.2 2.4 1.5 5 3.4 4.8l16.5-2.9c3.6-.7 5-2.3 5-2.3z"/>
</g>
<path fill="none" stroke="#fff" stroke-width=".7" d="M299.6 361.4s3.3 2.4-.7 5.3m-9-6.8 10 4.3m-8.3-2.1 7.2 3.1m-4.6-5 5.4 2.5m39.7-1.3s-3.3 2.4.6 5.3m9-6.8-10 4.3m8.4-2.1-7.2 3.1m4.6-5-5.4 2.5"/>
<path stroke="#000" stroke-width=".7" d="m261 331.4.3.7v.8a2 2 0 0 1-1.2 1.6 3 3 0 0 1-2.2.4l-1-.4-1-.6-.3.4-.4-.1.4-2.9.5.1q0 .6.2 1l.3 1 .7.6q.3.3.9.4h.7a1 1 0 0 0 .9-.6l.2-.6-.1-1-.7-.7-.8-.5-.8-.6q-.7-.4-1-1t-.1-1.4q0-.5.4-.8a3 3 0 0 1 1.5-1h1l1 .4.8.6.3-.4.5.1-.5 2.8-.5-.1v-1l-.4-.8-.5-.7-.8-.4-1 .2q-.6.3-.6.8v1l.7.7.8.5 1.3 1q.3.1.5.5m12 1.6-.5-.1-.5-.1q-.3 0-.5.3l-.6 1-1.8 3.1a2 2 0 0 1-1.9 1.3h-1.1l-1-.5-1-.8-.7-1-.1-1 .2-.8 2.4-4.3.1-.4v-.3l-.3-.3-.4-.3.2-.3 3.1 1.7-.2.3-.3-.1-.4-.1h-.4l-.2.3-2.2 4-.3.7v.8l.2.7.9.8 1 .3a2 2 0 0 0 1.5-.5l.5-.6 1.6-3 .5-1v-.6q0-.2-.4-.5l-.4-.3.2-.4 3 1.7-.2.3m4.3 7.5a2 2 0 0 1 0 1.8l-.8.8-1 .3-1-.1-.9-.4-3.5-2 .2-.4.8.3h.3l.3-.3 3-5.3.1-.3-.1-.4-.3-.3-.3-.2.2-.4 3.4 2 .7.5.6.7a2 2 0 0 1 0 1.6l-.6.6-.7.3h-.7l-.8-.2v.1l.6.6zm-.6-1.8q.3 0 .5-.3l.5-.6q.3-.6.2-1.2-.2-.4-.9-.9l-.4-.2-.4-.3-1.6 2.8.6.4.8.3zm-.6 2.7q.4-.6.1-1.3 0-.6-1-1.1l-.5-.4-.4-.1-1.5 2.5v.7q.2.3.7.5.8.4 1.4.3.7-.3 1.2-1zm18.9 4.3h-.5l-.6-.1q-.2 0-.4.4l-.5 1-1.5 3.3q-.2.6-.7 1l-1 .4h-1.1a4 4 0 0 1-2.2-1l-.7-.8-.3-1 .2-.9 2-4.5v-.4l-.1-.3-.3-.3-.4-.2.2-.4 3.3 1.4-.2.4-.4-.1h-.7l-.2.3-1.9 4.3-.2.7a2 2 0 0 0 .4 1.4q.3.4 1 .7l1 .2a2 2 0 0 0 1.5-.7l.4-.6 1.3-3.1.3-1v-.7l-.4-.4-.5-.3.2-.4 3.1 1.4-.1.3m9.2 10.8-3.6-1v-.4h.6l.4.1.4-.2.2-.3 1.7-5.8h-.1l-4.8 6h-.3l-.6-7.9-1.5 4.8-.2 1.1.1.6.5.4.5.3-.2.4-3.2-1v-.4h1.1q.3 0 .5-.4l.3-1 1.2-4.2.1-.6-.1-.4-.4-.4-.5-.2.1-.4 2.8.8.6 6.7 3.5-4.5.3-.5.2-.4 2.7.8-.1.4h-.5l-.4-.1-.3.1-.1.4-1.7 5.8v.3l.1.3.8.4-.1.4m8.7-2.6a2 2 0 0 1 .7 1.7l-.4 1q-.3.4-.8.6t-1 .3h-1l-4-.5v-.4h.9l.3-.2.1-.4.8-6v-.3l-.3-.3-.4-.2h-.3v-.5l3.9.5.9.2.7.4a2 2 0 0 1 .6 1.5l-.2.8-.6.5-.6.3-.8.2.8.3zm-1.3-1.5.4-.5.2-.7-.3-1.1q-.3-.5-1.1-.5l-1-.1-.4 3.2h1.6zm.5 2.8q0-.8-.3-1.3-.5-.4-1.4-.6l-.7-.1h-.4l-.3 2.9.2.6.8.3q.8.1 1.5-.4.4-.4.6-1.4zm11.4 2.6h-2.2l-1.4-2-1.3-1.8h-1v2.7l.1.4.3.2h.4l.5.1v.4h-3.6v-.4h.4l.4-.1.2-.2.1-.4v-6.4l-.3-.3h-.4l-.4-.1v-.4h4.9l.9.4.6.6a2 2 0 0 1 0 1.8l-.4.7-.7.4-.8.3 1 1.4q.5.5 1 1.4l1 .8.8.1zm-3.1-6.2q0-.8-.4-1.2-.5-.5-1.3-.5h-1v3.6h.8q.8 0 1.3-.5t.6-1.4zm13 5.6-3.6.3v-.4l.7-.2.3-.2v-.3l-.9-1.8-3 .2-.2.7-.1.6-.1.4v.3q0 .3.4.3l.9.1v.4l-3.2.3v-.4l.4-.1.7-.6.2-.5 1.1-3.6 1.1-3.6h.5l3.4 7 .2.3.7.4h.4v.4zm-3.7-3.1-1.6-3.2-1 3.4zm15.7-6.7-.4.2-.8-.9q-.6-.4-1-.3h-.3l-.6.2-1.4.4.9 3.2 1-.2.6-.3.3-.4.1-.4v-.6l.4-.2.9 3.2-.4.1-.3-.5-.4-.4-.5-.2-.6.1-1 .3.8 2.8s0 .2.2.3l.3.2h.4l.4-.1.1.4-3.5 1-.1-.4.4-.2.4-.2.2-.3v-.3l-1.6-5.9-.2-.3-.3-.2h-.9l-.1-.3 6.4-1.8.6 2m9.4-.7 1 2.4-6 2.8-.2-.3.4-.3.3-.2.1-.3v-.4l-2.7-5.4-.2-.3h-1.2l-.2-.3 3.3-1.6.2.4-.4.2-.3.3-.2.3.1.4 2.5 5q0 .4.3.6l.3.2h.4l.7-.3.4-.2.4-.3.3-.2.2-.3.2-2 .3-.2m4.5-8.3 1.5.8 1.2 1.4.6 1.7v1.6l-.7 1.5-1.2 1a4 4 0 0 1-3.2.4l-1.4-.7-1.2-1.4-.6-1.7v-1.7a4 4 0 0 1 2-2.4l1.5-.6zm2.3 5.6-.2-1.3-.7-1.4-1-1.3-1-.8-1-.2q-.7 0-1.2.3-.6.4-.9 1l-.3 1q0 .7.3 1.3a7 7 0 0 0 1.5 2.6q.5.6 1 .8l1.2.3q.5 0 1.1-.3a2 2 0 0 0 1.2-2zm10.5-5.7-1.9 1.3-2.3-.9-2-.6-.8.5 1.6 2.1.2.3h.4l.3-.1.4-.3.3.4-3 2-.2-.3.6-.5v-.7l-3.6-5-.2-.2h-.4l-.7.3-.3-.4 3.2-2.2.9-.5.9-.2.8.1a2 2 0 0 1 1.1 1.4v.8l-.2.7-.5.8 1.6.5 1.6.5 1.2.1h.4l.4-.3zm-6.2-3.3q-.4-.6-1-.7-.7-.2-1.3.3l-.8.6 2 3 .7-.5q.6-.4.8-1.2.1-.7-.4-1.5zm13.2-2 .7 2.4-6.6 2.4-.2-.4.8-.4.2-.3v-.4l-2.2-5.6-.1-.3-.4-.1h-.9l-.1-.3 6.1-2.3.7 1.9-.4.1-.8-.7-.9-.3-.4.2-.6.2-1.2.4 1.1 3.1 1-.3q.3 0 .5-.3l.3-.4v-1.1l.4-.1 1.1 3-.4.2-.3-.5-.4-.3-.5-.2-.6.2-.9.3.9 2.4.2.5.3.3h.5l.7-.3.5-.2 1-.4.2-.3.2-1v-1l.5-.1m7.1-5.8q.6.4 1 1.3.5.7.6 1.7v1.8l-.8 1.5a4 4 0 0 1-2.7 1.6 4 4 0 0 1-3-.9l-1-1.2-.6-1.7v-1.9l.8-1.5a4 4 0 0 1 2.7-1.5h1.6zm-.1 6q.3-.6.3-1.3v-1.5l-.4-1.5-.7-1.2-.9-.7-1.1-.1q-.8 0-1.2.5-.5.4-.7 1l-.3 1.2a7 7 0 0 0 .4 3l.7 1.1q.3.6.9.7.4.3 1.2.2l1-.5.8-1z"/>
<path fill="none" stroke="#000" d="M366 205.1v53c0 10.6-1.4 52.6-46.5 69-45.3-16.4-46.7-58.4-46.7-69v-53H366"/>
</svg>

After

Width:  |  Height:  |  Size: 42 KiB

View File

@@ -0,0 +1,4 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ca" viewBox="0 0 640 480">
<path fill="#fff" d="M150.1 0h339.7v480H150z"/>
<path fill="#d52b1e" d="M-19.7 0h169.8v480H-19.7zm509.5 0h169.8v480H489.9zM201 232l-13.3 4.4 61.4 54c4.7 13.7-1.6 17.8-5.6 25l66.6-8.4-1.6 67 13.9-.3-3.1-66.6 66.7 8c-4.1-8.7-7.8-13.3-4-27.2l61.3-51-10.7-4c-8.8-6.8 3.8-32.6 5.6-48.9 0 0-35.7 12.3-38 5.8l-9.2-17.5-32.6 35.8c-3.5.9-5-.5-5.9-3.5l15-74.8-23.8 13.4q-3.2 1.3-5.2-2.2l-23-46-23.6 47.8q-2.8 2.5-5 .7L264 130.8l13.7 74.1c-1.1 3-3.7 3.8-6.7 2.2l-31.2-35.3c-4 6.5-6.8 17.1-12.2 19.5s-23.5-4.5-35.6-7c4.2 14.8 17 39.6 9 47.7"/>
</svg>

After

Width:  |  Height:  |  Size: 625 B

View File

@@ -0,0 +1,19 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cc" viewBox="0 0 640 480">
<defs>
<path id="cc-a" d="m0-360 69.4 215.8 212-80.3L156-35.6 351 80.1 125 99.8l31.1 224.6L0 160l-156.2 164.3 31.1-224.5L-351 80l195-115.7-125.5-188.9 212 80.3z"/>
<path id="cc-b" d="M0-210 54.9-75.5l144.8 10.6-111 93.8 34.7 141L0 93.3-123.4 170l34.6-141-111-93.8 145-10.6z"/>
</defs>
<path fill="green" d="M0 0h640v480H0z"/>
<circle cx="320" cy="240" r="66.7" fill="#ffe000"/>
<circle cx="340.8" cy="240" r="54.9" fill="green"/>
<circle cx="109.8" cy="173.3" r="69.8" fill="#ffe000"/>
<path fill="#802000" stroke="#7b3100" stroke-width="1.5" d="M105 226h17.5s.7-1.6-.2-2.4c-1-.8-4.7-1-3.7-3.8 2-5.8 2.4-4 3.7-17.8a739 739 0 0 0 2-35.5h-2.6s.5 6.7-1 15.5c-1.4 8.8-1.9 9.5-3.5 16.3a64 64 0 0 1-3.3 11.2c-1.4 4-1.6 4.1-3.8 7.8-2.3 3.6-1.5 2.2-2.7 4.4-.7 1.1-1.4.8-1.9 1.6s-.5 2.7-.5 2.7z"/>
<path fill="green" d="M118.3 122.5a23 23 0 0 1-1.2 9.2 27 27 0 0 0-2.3 9.8c-1.8.6-3.7-3.9-5.5-1.2 1.3 3.7 4.4 6.6 6.4 9.9.4 1 3.4 3.7 1.6 4.3-4.3-1.5-5.4-7-8-10.3a19 19 0 0 0-15.5-10c-2.5.1-10.4-.5-8.4 3.7 3 2 6.8 3.4 9.8 5.7 2.3.2 6.3 4 6.1 5.4-4-1.6-5.8-3.5-10-5.2-5.8-2.2-13.7-.9-17 4.8-.5 1.5-1.4 5.8.5 6.3 2.2-3.4 5.3-7.3 9.9-6.2 3.6.3-4 6.7-1.1 5.4 1-.4 3-1.8 4.6-2 1.5 0 2.3 1 3.4 1.2 2.3.3 3 1.2 2.7 1.8s-1 0-3.3.8c-1.1.4-1.7 1.4-3 1.9s-4.2.5-5.2 0c-3.7-1.5-9.7-1.3-10.8 3.3 0 2-1.8-.2-2.6.7-.7 2.2-.8 4.4-4 4.2-2 2-4 4.2-6.6 5.7 1.5 3.4 7.3-3.4 7-.5-2.5 3.5 1.4 4.2 3 1.5 2.9-3 6.5-6.7 10.7-3.6 2 1.9 3.2-1 4.7-1 1 2.5 2.1.2 3.2-.5 1.7-.2 1.2 2.2 3.2.7 4.1-2.7 9.1-.4 13.1-3 4.3-2 .6 1.5-.5 2.9-1.9 3.6-.3 8.4-4.3 10.6-1.7 4.3 1.9 10-1.7 13.2-.5 2 4.6 1.8 6 2.6 2.6 0 0-5.8 2.5-6.6 3.4 2 3.2-3.8 2.5-5.6.4-4 .6-8.6 2.6-12.3 2.2-4.5 4.2 1.9 1.8 3.7-1.4 4.1-3.4 9.4-.3 13.3 1 .2 1.7 2.4 2.8 3 1.2.7 2.8-.1 3-2.1 1.6-6 .8-12.4 3-18.3 1.5-1.8 3.6-.3 4.5 1.4 3 3.5 5.1 7.8 8.7 10.7a15 15 0 0 1 7.8 7.3c0 2.6 7.4 3 5.2 0-2.1-2.7-.7-5.6 1.4-7.5 1.2.3.9-1.8 0-1-1.5-.3-1.6-3 .4-1.7 3.5 1.1-.2-2.5-1.5-2.6-2.9-1.8-6.2-3.8-7.6-7 3.8 0 7.7 2.1 11.5.9 3.1-1.6 6.2 0 7.3 2.8 2.4-.4 1.4-2.8 0-3.6 1.7-.7 3-2.2.8-3.5-1-1.4 1.5-4-1.7-3.8.1-2.5-.8-4.7-3.5-5.6-2.7-2.2-10.6 3.4-10.3-1.7-.8-2.8 3.2-.4 4.3-1.8 1.1-3-5.5-2.6-3.3-5 1.4-.8 8.1-2.1 2.9-3.1a8 8 0 0 1-7-1.1c-1.9 3.1-7.2-1.8-6.3 3.8-.7 2.1-5.5 7.6-6.8 3.4 1-3.3 6.8-4.3 5-8.8-.3-2.7-2.6.5-3.6.3-.6-1.7 1.6-3.8 3.2-4.2 3 2.4 3-3 6-2.5 2.1-.5-.7-1.4-1.3-1.8.6-1.5 3.9-2.3.7-3.7-2.9-2-5 2.1-7.3 2.3-2.2-2.5 2-3.7 3.2-5 .1-1-2.4-.3-1.7-1.2.7-1.1 5.2-1.2 3-3a15 15 0 0 0-10.2.6c-2 .6-2.5 5-4.2 4.8-.7-2 .3-5.8-2.4-6.3m15 42.3c2.4-.4 0 3.7-1 3.6 0-1.4-3.6-1.3-1.3-2.6a7 7 0 0 1 2.3-1"/>
<g fill="#ffe000" transform="translate(0 80)scale(.0635)">
<use xlink:href="#cc-a" width="100%" height="100%" x="7560" y="4200"/>
<use xlink:href="#cc-a" width="100%" height="100%" x="6300" y="2205"/>
<use xlink:href="#cc-a" width="100%" height="100%" x="7560" y="840"/>
<use xlink:href="#cc-a" width="100%" height="100%" x="8680" y="1869"/>
<use xlink:href="#cc-b" width="100%" height="100%" x="8064" y="2730"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cd" viewBox="0 0 640 480">
<path fill="#007fff" d="M0 0h640v480H0z"/>
<path fill="#f7d618" d="M28.8 96H96l20.8-67.2L137.6 96h67.2l-54.4 41.6 20.8 67.2-54.4-41.6-54.4 41.6 20.8-67.2zM600 0 0 360v120h40l600-360V0z"/>
<path fill="#ce1021" d="M640 0 0 384v96L640 96z"/>
</svg>

After

Width:  |  Height:  |  Size: 334 B

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cefta" viewBox="0 0 640 480">
<path fill="#039" d="M0 0h640v480H0z"/>
<circle cx="320" cy="249.8" r="30.4" fill="none" stroke="#fc0" stroke-width="27.5"/>
<circle cx="320" cy="249.8" r="88.3" fill="none" stroke="#fc0" stroke-width="27.5"/>
<path fill="#039" d="m404.7 165.1 84.7 84.7-84.7 84.7-84.7-84.7z"/>
<path fill="#fc0" d="M175.7 236.1h59.2v27.5h-59.2zm259.1 0h88.3v27.5h-88.3zM363 187.4l38.8-38.8 19.4 19.5-38.7 38.7zM306.3 48.6h27.5v107.1h-27.5z"/>
<circle cx="225.1" cy="159.6" r="13.7" fill="#fc0"/>
<circle cx="144.3" cy="249.8" r="13.7" fill="#fc0"/>
<circle cx="320" cy="381.4" r="13.7" fill="#fc0"/>
<circle cx="320" cy="425.5" r="13.7" fill="#fc0"/>
<circle cx="408.3" cy="249.8" r="13.7" fill="#fc0"/>
<path fill="#fc0" d="m208.3 341.5 19.5-19.4 19.4 19.4-19.4 19.5zm204.7 21 19.5-19.5 19.5 19.5-19.5 19.4z"/>
</svg>

After

Width:  |  Height:  |  Size: 910 B

View File

@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cf" viewBox="0 0 640 480">
<defs>
<clipPath id="cf-a">
<path fill-opacity=".7" d="M-12.4 32h640v480h-640z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#cf-a)" transform="translate(12.4 -32)">
<path fill="#00f" d="M-52 32h719.3v119H-52z"/>
<path fill="#ff0" d="M-52 391.6h719.3V512H-52z"/>
<path fill="#009a00" d="M-52 271.3h719.3v120.3H-52z"/>
<path fill="#fff" d="M-52 151h719.3v120.3H-52z"/>
<path fill="red" d="M247.7 32.5h119.9V512H247.7z"/>
<path fill="#ff0" d="m99.3 137.7-31.5-21.8-31.3 22L47.4 101 16.9 78l38.2-1 12.5-36.3L80.3 77l38.1.7L88.2 101"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 687 B

View File

@@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cg" viewBox="0 0 640 480">
<defs>
<clipPath id="cg-a">
<path fill-opacity=".7" d="M-79.5 32h640v480h-640z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#cg-a)" transform="translate(79.5 -32)">
<path fill="#ff0" d="M-119.5 32h720v480h-720z"/>
<path fill="#00ca00" d="M-119.5 32v480l480-480z"/>
<path fill="red" d="M120.5 512h480V32z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 470 B

View File

@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ch" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="red" d="M0 0h640v480H0z"/>
<g fill="#fff">
<path d="M170 195h300v90H170z"/>
<path d="M275 90h90v300h-90z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 290 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ci" viewBox="0 0 640 480">
<g fill-rule="evenodd">
<path fill="#00cd00" d="M426.8 0H640v480H426.8z"/>
<path fill="#ff9a00" d="M0 0h212.9v480H0z"/>
<path fill="#fff" d="M212.9 0h214v480h-214z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 277 B

View File

@@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ck" viewBox="0 0 640 480">
<path fill="#006" d="M0 0h640v480H0z"/>
<path fill="#fff" fill-rule="evenodd" d="m471.6 213 5.2-16.7-14-10.6 17.6-.2 6-16.5 5.6 16.5 17.7.5-14.1 10.5 5 16.7-14.5-10m27.1 13 10.4-13.9-9.7-14.8 16.7 5.8 11-13.5v17.6l16.4 6.4-16.8 5-.8 17.5-10.2-14.4m-98.4 15-.7-17.5-16.8-5.2L431 198v-17.4l10.9 13.5 16.8-5.6-9.8 14.7 10.3 14-17-4.5m-39.6 40.9-7.4-15.8-17.4 1.8 12.8-12.3L384 211l15.2 8.2 13.3-11.8-3.4 17.4 14.9 8.9-17.3 2.5M389 291.8l-13.3-11.1-15 9.2 6.4-16.7-12.9-11.6 17.3.7 7-16.4 4.3 17.2 17.2 1.5-14.6 9.8m3.2 60.4-16.5-4.8-10.1 14.5-.7-17.9-16.4-5.5 16.1-6.2v-18l10.7 14.1 16.4-5.6-9.6 15m29.5 50.8-17 2.4-3.5 17.4-7.8-16-17.1 1.6 12.2-12.3-7.1-16.4 15.3 8.5 12.8-11.8L393 362m45 38-15.1 8.2 2.6 17.6-12.7-12.4-15.6 7.6 7.3-15.9-12.3-12.9 17.3 2.6 8-15.5 3.4 17.4m53.8 9-8.3 15.3 11.7 13.2-17.4-3.3-8.9 15-2.4-17.3-17.2-4 15.8-7.4-1.7-17.5 12.2 12.8m57.4-13.1-.5 17.4 16.3 6.4-17 5-1.2 17.5-10-14.3-17 4.4 10.8-13.9-9.4-14.7 16.6 5.7M559 209.8l12 12.6 15.9-7.4-8.3 15.8 11.5 13.1-17-2.8-9 15.5L562 239l-17-3.5 15.7-8m34.2 21 5.5 16.6 17.5.3-14.2 10.7 4.7 16.8-14.1-10-14.6 10.1 5.4-16.8-13.8-10.6 17.6-.4m19.5 33.2-2 17.4 15.7 7.7-17.3 3.6-2.7 17.3-8.7-15.1-17.4 2.9 12-13-8.1-15.5 16 7.2m3 39.8-7.8 15.6L603 379l-17.4-2.7-8.4 15.3-3-17.3-17.4-3.3 15.6-8-2.3-17.4 12.6 12.3m-9.8 39.1-14.7 9.2 3.8 17.3-13.5-11.5-15 8.6 6.3-16.3-13.1-12.1 17.4 1.5 7-16 4.4 17.2"/>
<path fill="#006" d="M0 0h320v240H0z"/>
<path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0z"/>
<path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5zm-92 10 3 17.5-96 72H0zM320 0v1.5l-124.5 94 1-22L295 0zM0 0l119.5 88h-30L0 21z"/>
<path fill="#fff" d="M120.5 0v240h80V0zM0 80v80h320V80z"/>
<path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cl" viewBox="0 0 640 480">
<defs>
<clipPath id="cl-a">
<path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#cl-a)" transform="scale(.9375)">
<path fill="#fff" d="M256 0h512v256H256z"/>
<path fill="#0039a6" d="M0 0h256v256H0z"/>
<path fill="#fff" d="M167.8 191.7 128.2 162l-39.5 30 14.7-48.8L64 113.1l48.7-.5L127.8 64l15.5 48.5 48.7.1-39.2 30.4z"/>
<path fill="#d52b1e" d="M0 256h768v256H0z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 552 B

View File

@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cm" viewBox="0 0 640 480">
<path fill="#007a5e" d="M0 0h213.3v480H0z"/>
<path fill="#ce1126" d="M213.3 0h213.4v480H213.3z"/>
<path fill="#fcd116" d="M426.7 0H640v480H426.7z"/>
<g fill="#fcd116" transform="translate(320 240)scale(7.1111)">
<g id="cm-b">
<path id="cm-a" d="M0-8-2.5-.4 1.3.9z"/>
<use xlink:href="#cm-a" width="100%" height="100%" transform="scale(-1 1)"/>
</g>
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(72)"/>
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(144)"/>
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(-144)"/>
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(-72)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 840 B

View File

@@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cn" viewBox="0 0 640 480">
<defs>
<path id="cn-a" fill="#ff0" d="M-.6.8 0-1 .6.8-1-.3h2z"/>
</defs>
<path fill="#ee1c25" d="M0 0h640v480H0z"/>
<use xlink:href="#cn-a" width="30" height="20" transform="matrix(71.9991 0 0 72 120 120)"/>
<use xlink:href="#cn-a" width="30" height="20" transform="matrix(-12.33562 -20.5871 20.58684 -12.33577 240.3 48)"/>
<use xlink:href="#cn-a" width="30" height="20" transform="matrix(-3.38573 -23.75998 23.75968 -3.38578 288 95.8)"/>
<use xlink:href="#cn-a" width="30" height="20" transform="matrix(6.5991 -23.0749 23.0746 6.59919 288 168)"/>
<use xlink:href="#cn-a" width="30" height="20" transform="matrix(14.9991 -18.73557 18.73533 14.99929 240 216)"/>
</svg>

After

Width:  |  Height:  |  Size: 813 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-co" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#ffe800" d="M0 0h640v480H0z"/>
<path fill="#00148e" d="M0 240h640v240H0z"/>
<path fill="#da0010" d="M0 360h640v120H0z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 286 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cp" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#fff" d="M0 0h640v480H0z"/>
<path fill="#000091" d="M0 0h213.3v480H0z"/>
<path fill="#e1000f" d="M426.7 0H640v480H426.7z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 289 B

View File

@@ -0,0 +1,7 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cr" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#0000b4" d="M0 0h640v480H0z"/>
<path fill="#fff" d="M0 75.4h640v322.3H0z"/>
<path fill="#d90000" d="M0 157.7h640v157.7H0z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 290 B

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cu" viewBox="0 0 640 480">
<defs>
<clipPath id="cu-a">
<path fill-opacity=".7" d="M-32 0h682.7v512H-32z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#cu-a)" transform="translate(30)scale(.94)">
<path fill="#002a8f" d="M-32 0h768v512H-32z"/>
<path fill="#fff" d="M-32 102.4h768v102.4H-32zm0 204.8h768v102.4H-32z"/>
<path fill="#cb1515" d="m-32 0 440.7 255.7L-32 511z"/>
<path fill="#fff" d="M161.8 325.5 114.3 290l-47.2 35.8 17.6-58.1-47.2-36 58.3-.4 18.1-58 18.5 57.8 58.3.1-46.9 36.3z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 610 B

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cv" viewBox="0 0 640 480">
<defs>
<clipPath id="cv-a">
<path fill-opacity=".7" d="M-123.4 0h682.6v512h-682.6z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#cv-a)" transform="translate(115.7)scale(.94)">
<path fill="#fff" d="M-123.4 233H723v206h-846.5z"/>
<path fill="#081873" d="M-122.8 0h846v256.6h-846zm.3 385.9h852.1V512h-852.1z"/>
<path fill="#de3929" d="M-122.5 302.6h846v39.6h-846z"/>
<path fill="#ffce08" d="m131 399.2 6.6 20.4H159l-17.4 12.7 6.6 20.5L131 440l-17.4 12.7 6.7-20.5-17.4-12.7h21.5M317 250.4l6.7 20.5H345l-17.4 12.6 6.6 20.5-17.4-12.7-17.4 12.7 6.6-20.5-17.4-12.6h21.6m-222 64.4 6.6 20.5h21.5L99 368.6l6.7 20.4-17.4-12.6L70.9 389l6.6-20.4-17.4-12.7h21.5M317 329.5l6.7 20.4H345l-17.4 12.7 6.6 20.4-17.4-12.6-17.4 12.7 6.6-20.5-17.4-12.7h21.6m-40.5-161.7 6.7 20.4H298l-17.4 12.7 6.6 20.5-17.4-12.7-17.4 12.7 6.7-20.5-17.5-12.7h21.6m-64.5-45.2 6.7 20.5h21.5l-17.4 12.6 6.6 20.5-17.4-12.6-17.4 12.6 6.7-20.5-17.4-12.6H192m-64.5 2.9 6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H121m-34.8 43.2 6.6 20.5h21.6l-17.5 12.6 6.7 20.5-17.4-12.7-17.4 12.7 6.6-20.5L58 271h21.5m119.2 149.4 6.7 20.5h21.5l-17.4 12.6 6.7 20.5-17.5-12.7-17.4 12.7 6.7-20.5-17.4-12.6H192m82.2-41.7 6.6 20.4h21.5L285 432.3l6.7 20.5-17.4-12.7-17.5 12.7 6.7-20.5-17.4-12.7h21.5"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@@ -0,0 +1,14 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cw" viewBox="0 0 640 480">
<defs>
<clipPath id="cw-a">
<path fill-opacity=".7" d="M0 0h682.7v512H0z"/>
</clipPath>
<path id="cw-b" d="m0-1 .2.7H1L.3 0l.2.7L0 .4l-.6.4.2-.7-.5-.4h.7z"/>
</defs>
<g clip-path="url(#cw-a)" transform="scale(.94)">
<path fill="#002b7f" d="M0 0h768v512H0z"/>
<path fill="#f9e814" d="M0 320h768v64H0z"/>
<use xlink:href="#cw-b" width="13500" height="9000" x="2" y="2" fill="#fff" transform="scale(42.67)"/>
<use xlink:href="#cw-b" width="13500" height="9000" x="3" y="3" fill="#fff" transform="scale(56.9)"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 687 B

View File

@@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cx" viewBox="0 0 640 480">
<path fill="#0021ad" d="M0 0h640v480H0z"/>
<path fill="#1c8a42" d="M0 0h640v480z"/>
<circle cx="320" cy="240" r="57.8" fill="#ffc639"/>
<path fill="#1c8a42" d="M284.7 214c4 5.5 10 14.6 14.8 12.2 3.7 0 5.7.3 6.2 2.8a37 37 0 0 0 33-14.3s.8 0 .5-4.5c0-2 2.8-1.6 2.8-1 .4 1 .4 1.7.9 1.8 1-.4 2.7-3 4-4.6q.3-1 .2-2.4c.7-1.7 2.4-1.3 2.8-.4l.6 1.6c1.8 1.2 5 0 5.2 0 .3-1.4 1.2-1.2 1.2-1.2 1.2-.3.7-.2 1.5.2-.7 7.7 1.5 8 1.3 12 .1 4.4-1.3 5.6-1.3 7.3.4 2 7 2.1 4.6 3.9-2 1 0 3-3 3.8-8.8 4.5-10.4 8.3-10.4 8.3s-2.2 4.2-2.5 4.2c-1.5 2.8-3.3 1.2-4.4 2.6-.5 1.7-1 5.5 0 7.4.5 2.7 0 4.2-.7 6.9-.6 5.6-2.8 6.5-3.1 8.4-1 2.2.2 12-.8 12-6.5.2-11.5-1.2-14.1-1.7 2.5-10.9 1.5-20.4 1.5-21.4-.6-7.8-11.6-5.9-13.3-7-1.4-.2-2.3-1.3-2.7-1.8-1.6-.2-2.2-.6-3.7-.7-.8.4-.3.8-2 1.3-4.5.5-6.4-3.8-6.4-3.8.2-1.5-9.9.3-15.3-1-2.3 1.3-3.3 5-5.1 5.4 0 1.1-3-1-3.6-2-.2-3.4 2.8-4.8 2.8-4.8 2.4-1.7 3.8-2 5-3.1.5-2.9.2-5 1.5-7.1 1-1.7 2.5-1 3.5-1.6 1.1-.8 1.6-5.6.6-7l-4.7-4.2c-1.4-4.1 1.7-6.8 2.6-6.5"/>
<path fill="#ffc639" d="M561.9 142.4c-2.6-10.3-26-32.7-43.7-46.9-4.2-2.8-7-1.1-6.4 3 2.2 3.6 3.8 7.6 6 11.3.6 2.5 1.8 4.2 2.4 6.6 0 0 .2 4.2.6 4.6 5.4 6 6.2 11.1 6.2 11.1a49 49 0 0 0 11.5 15.6c6.2 3.9 1.6 16 1.8 22.5 0 4-2.9 3.6-5.5 3-20.1-18.5-40.1-18.5-57.8-23.9-6.8-.7-7 2.6-4.7 4.4a129 129 0 0 0 39.1 29.6l7.7 4.8 8.8 7.3c6.8 4.4 7.3 8.4 7.3 8.8.2 8.2-4.2 14.6-5.5 17.2-2.3 8.7-7 10.2-7 10.2-37.6 25.4-57.4 32-118.4 24.1-1-.4-6.8.5 0 3 15.5 5.2 53.7 13.5 90.6-4 9-6.2 14.8-4.2 21.3-8a287 287 0 0 1 28.3-15.4c8.3-4.5 31.3-9.4 36.6-13.8 6.1-.5 12.4-1.3 12.8-6.5 2-1.3 5-.3 7.2-4.6 4.8-.9 4-2.6 4-2.6-1.2-3.4-5.8-4.8-9-7.3-4.8-1.6-8-2-11.5-.4l-3.3 1.5s-5.1-.7-5.1-1.1c-11.4-.6-10.3-38.3-14.3-54z"/>
<path fill="#1c8a42" d="M588.6 204.2a2.8 1.8 16 1 1-5.4-1.7 2.8 1.8 16 0 1 5.4 1.7"/>
<g fill="#fff" transform="matrix(.64 0 0 .64 0 80)">
<path id="cx-a" d="m188.2 191-12.8-12-12.9 11.8 1.4-17.4-17.3-2.8 14.5-9.8-8.6-15.2 16.7 5.3 6.5-16.2L182 151l16.7-5-8.8 15 14.4 10-17.3 2.5z"/>
<path d="m233.4 335.5-13.8-9.1-13.4 9.6 4.8-15.5-13.6-9.5 16.6-.4 5-15.5 5.6 15.3 16.7-.1L228 320l5.3 15.4z"/>
<use xlink:href="#cx-a" width="100%" height="100%" x="2.5" y="269.1"/>
<use xlink:href="#cx-a" width="100%" height="100%" x="-112.1" y="123.2"/>
<use xlink:href="#cx-a" width="100%" height="100%" x="108.4" y="85"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -0,0 +1,6 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cy" viewBox="0 0 640 480">
<path fill="#fff" d="M0 0h640v480H0z"/>
<path id="cy-a" fill="#435125" d="m307.8 398.6-.2-.2h-.1l-1.3-1.4-3.8-4.5-4.9-6.3-.6-.9-6.2-1.9-4.6-2.1 2.4-2.7 8.4 3.5 6.2 1.3 11.5 8.5-3.3 2.9-3.3 3.5.7-.5.8.6zm-42.6-12.8a32 32 0 0 1-16-4.5s.7-1.3 2.3-2.4c1.6-1.2 4.4-2.5 9-2.6q8.2 0 19.5 5.4a29 29 0 0 1-14.8 4zm-23.5-5.2q-1.6 0-2.6-1a5 5 0 0 1-1.1-2.4 12 12 0 0 1-.3-3.4l1.3-.2c2 0 3.6 1.7 4.3 3.4q.6 1.5.2 2.5t-1.8 1zm41.3-4.8c-13.9-2-19.8-7-22.3-10.9-2.6-4.1-2-8-2-8s.8-.2 2-.2c3.8 0 13.2 1.9 22.3 19zm-28.5-2.8q-8.9 0-13.4-3a8 8 0 0 1-3-3.3l-.4-1.6a18 18 0 0 1 7.2-1.4 27 27 0 0 1 18.9 8.7q-5.1.6-9.3.6m-28.7-1c-6.2 0-14.8-2-20.2-7.3 0 0 5.9-1.5 12.4-1.7h1.2q8.9 0 13.4 3.4 1.5 1.2 1.7 2.2t-.8 1.7q-2.1 1.5-7.2 1.6h-.5zm-20.3-10.5a3 3 0 0 1-2-1 5 5 0 0 1-.8-2c-.3-1.4-.2-2.8-.2-2.9l1-.2q1.4.1 2 1a6 6 0 0 1 1.4 2q.4 1.3 0 2.2c0 .4-.6 1-1.3 1zm46.9-1q-1.6 0-2.6-1a5 5 0 0 1-1.1-2.4 12 12 0 0 1-.3-3.4l1.3-.2c2 0 3.7 1.7 4.3 3.4q.6 1.5.3 2.5-.5 1-2 1zm-22.8-1c-12.6-.4-19.2-4-22.4-7a15 15 0 0 1-3.4-4.3q-.7-1.6-.7-2 .2-.5 3-.4h.4c4.2 0 12.9 1.8 23 13.7zm13.6-1.2a31 31 0 0 1-18.9-9.3 19 19 0 0 1-4.1-7s1.2-.3 3-.4h1c5 .1 14.3 2.4 19 16.7m-52-5a42 42 0 0 1-9.5-1c-5.3-1.4-7.6-3.4-8.6-4.9a5 5 0 0 1-.8-2v-.8s3.5-1 8.4-1.1a35 35 0 0 1 7.4.6 22 22 0 0 1 12.8 8.1s-4 1.2-9.7 1.2zm23.5-8.4a3 3 0 0 1-2.5-1 5 5 0 0 1-1.1-2.4c-.4-1.6-.3-3.2-.3-3.4l1.2-.3h.1c2 0 3.6 1.8 4.3 3.5q.6 1.5.2 2.4-.5 1-1.9 1.1zm-17.6-2.5a39 39 0 0 1-9.6-4.2c-4.4-2.7-9.9-7.5-10.5-15l1-.1h.3c1.3 0 4 .3 7.3 2.8q6.3 4.9 11.5 16.5m11.5-.4a31 31 0 0 1-7.6-4.9 49 49 0 0 1-13.3-18.6s.9-.5 2.3-.6h.6c2 0 4.9.9 8.1 4.4q5.7 6 10 19.7zm-29.9-.9c-3.9 0-5.2-2-5.6-3a6 6 0 0 1-.4-3l2-.2a8 8 0 0 1 6.5 3c.2.4.8 1.4.3 2.3q-.6 1-2.8 1zm-8.5-10.8a51 51 0 0 1-9-.7c-3.4-.6-5.3-3.5-6.4-5.9-1-2.5-1.4-5-1.4-5 10.6.3 15.7 3.4 18 6a9 9 0 0 1 2.6 5.5s-1.6.2-3.8.2zm11-11-2.4-3.4c-1.3-2-2.4-4-2.4-5.6 0-1.7-.4-5-.6-7l-.6-4.5c.3 0 6.6 2.4 6.6 8.4s-.6 12-.6 12zm-8.2-.6h-.2a44 44 0 0 1-18.2-10.8q-2.6-3-3.1-9.4c-.2-3 0-5.5 0-5.8l1.1-.1q2 0 5 2a40 40 0 0 1 5.2 4.4c3.2 3.2 5.7 6.4 5.7 6.4.3.4 2 3.7 3.5 6.9a22 22 0 0 1 1.6 4.6q.2.9 0 1.4l-.3.4h-.4z"/>
<use xlink:href="#cy-a" width="100%" height="100%" transform="matrix(-1 0 0 1 593.7 0)"/>
<path fill="#d47600" d="m519 76.4-1.8.7-.8.3-2.2-.1-2.2 1-3.8 2.6-.1.1-1.5.4-1.3-.6-.7.4-.3 1.5-.7 1.1-.9.6-3 .3-2.5 1.4-3.4-1-1.5.7-3.3 3-1.7.7h-.5l-2.3-.1-.9.3-1.4 1.3-2.6.2-.9.6-1.3 2.6L476 96l-.8.1-.8-.3-.7.1-.3 1.7-.6.7-1.8.6-1.4 1.2-1.3.6h-2l-1.7 1-3.1.2-1.3 1.2-.3.3-.6.3-1 .6-.2.2-1.2-.2-1.4.5-.6-.8-1 .5-1.2.1-1.6-.7-1.3-.6-.9.2-.3 1.5v.2l-1 1.2-1.7 1.1-.2.3-2 2.6-3.8 4-3.2 1.6-3.3 1-2.3 1.9-6 3-9.7 4.8-2 .6-2.8.4-5 1.9-4.4 1.3-.3.1-.8.3-6.3 1.9-2.9-.4-1.7.7-4.5-.5h-3.1l-2 .4-3.7 1.8-6.3 3-2 2-3.2 1.6-3.8 1.2v-1.6l-1.3.4-1 .3-3 .4h-1.7l-1.1-.3h-.2l-6.2 2.1-7 .7-3.5 1.1H333l-1.6.5-3.2.4-1.2-.3-.2-.1-9.4.4-4.3-.5-2 .5-3.5-1.2-5-.6-1.2-.3-2.6-.8-1.2.7-1 .1-2-.8h-.8l-1.8.6-1-.2-1-.8-2.1-.3-1.4-1.1-7.5 1-2-.6-6.9-2h-1l-1.4 1-2 .8-1.9.4-2.4.1-2.8-.7-2.8-1.4-1.1-.3-2.4.3h-.7l-4.4-2.3-5.6-3.5-3.8-1.9-1.5-.2-.2.7.7 2.2.3 2.3v2l-.1 1.3.3 1.1 1.4 1.6.6 1.5.4 4.2v4.3l-.7 6.8-.2 1-.8 3.6-.7 3.3-2.9 8.7-.7 1-2 1.3-4.3 3-3.2 1.8-1 .4-2.6.2H219l-2-1.1-2-.5-2.6-1.9-2.8-.6-3.2-1.8-.8-1-1.7-.2-2.4-.7-.9-.3-.6-.1-3-.1-2.9-1.3-1.5-.4h-2l-2.1 1-1.1.4-1.4-.5h-1l-1 1.7-.2.3-.8.4h-1.7l-.8.3-1.1.5-1 .4-.5.2h-.3l-.5.2h-.6l-1.2-.6-.6-.3-1-.2-.5.3-.1 1.9-.5 1.1-1.6 1.4-1.6 1.4-1 1.6-3 6.7-1.9 2.7-.5.7-2 2.1-1.7 1.3-3.9 3-3.7 1.5-3.2.6h-1.6l-3-.4-2.6-.8-3-1.8-3.1-2.6-4.7-4.5-.6-.4-.2-.1-1.4-1h-1.1l-.4.8-.3 1-.2.9-.5 5v.3l.3 2.1 3.6 5 1 2.6.2.3.7 1.2.6 1 1.3 3.6-.9 2 .4 1.4-1 .8-.2 1.2 3.1 4 .7 1.7-.7 2.4-1.3 1.4-.3.3.2 1 1.4 1.4 2.5 2.2 1.3 3.2 1 1 1.2-.3.6.5h1l1 1 .6.2 1 .5.8 1 .1 3.2 1.5 3.8v2.5l1 1.5.2 1.2-.5 3.3 1.2 1 1.2-.2.8.1 1.3 1.1 1.6 2.4 1.6-.2 1 .4 4.7 4.3 1 .6.9.4 1 1 1.4-1h.2l1.6-.2.7.5 1.4.9h1.7l4 1.2 1.6.4 3.4 2.1 1.5.9.8.7 1.2 1 2.2 1 2 .4 1 .2.9.3 4.2 1.7 2.3.5 2 .8 1.6.5h1.2l1.6-1.3h1.5l1.3.2 1.3-.2 2-1.2.3-.6 1.4-.6 4.8-.6 1.4.4 3.6-1.5 2.4.6 2-.7 4.7 1 1.2.9 1.4 1.5h1.7l-.7 1.1 2 2.2 1.9 2.7.1.4 1.3 3.9 1 1.4.7 1.9v1.2l-1 .9-.2.4v.2l.2.5.4-.2.7-.4 1-.2 1.6.2 1.1.1 1.7-.8 1.2-.6 1.8.8h2l.9.3 2.4 1.1 1.2.1.4-.3.3-.6-.1-.8-1-1.1-2-2.4-.8-1.2-.6-1.7-.2-2.2-.2-1.5.3-2 .5-.7.4-1.6.1-.4 1.2-1.5 3-2 3.2-2.8 2.5-1.7 2.6-1.1v-.3l.4.1 6.6-2.3 3-.5 20 1.4.7-.2.7-1.9.3-.3.3-.2 2.2-1 1-.2 2.8.7 1.2.3 1.9-1h1.3l2.7-1.5h1.7l.7-.2 3.3-2.4 3.1-.9.8-.4.3-.2 3.3-1.7 2-1.6 1.8-1 2-.4 5-.4 1.1-1.7 2.2-.3 1.3-1.5 1.5-.6 1.1-1.6 1-1.3 1.2-.7 4.1-.3 4.8.6.7-.4 1-3.9 1.2-.7 3-4.5v-1.6l.1-1.4.5-2-.3-3.4.4-3.6 1.9-4.5 1.7-1.8 2.7-1.9 1.4-.6 2-.3h.2l.5-.2h9.2l2.3-.1 5.7 1h.4l1.9.7 2.2 1.7 2.4 2.3.4.4 1.5.7.5.2 1.2-.2 1.8-1 1.4-1 1.8-1v-.2l1.1-1.5.4-.7 3.6-1.4 4.2-.2.5-.3h.2l1.1-1.4h1l2.6 1 1.7-.4 1.4.5 1.1-.1 2-.3 2.3 1.6 1.3.2 4.5 2.6h.4l.2.1.5-.2.8-.2h.1l.1.1.6.7.7.1.8-1-.3-.6-.1-.2-1.7-.3-1.4-2.5 1.4-1.5-2.2-2.6-.4-.5v-.1l-.8-1.2-3.8-5.8-5-4-1.7-1.3-.6-.5-2.7-2.7-1.9-2.5-.2-.5-.4-.9-1.1-2.4-2-1.5-1.6-1.8-3.4-4.6-.5-.7-.8-.5h-1.7l-.1-.2h-.1v-.1l.8-.8 1-.2.3-.9-1.7-4.9v-.2l-.1-1.5 1.3-7.1.2-.9 2.4-4.7 1.4-1.2 1.6-3.1 1.4-2 1.3-1.3.2-.1 2.3-1.4 2-.3 1.9-.3 3.3 1h3l.7-.1 1.4-.2 2.3-.7 1.1-.7.6-.8 1.2-4 .4-1.3.7-1.4 4.3-4.9 3.2-3 7.2-5.2 3.5-2.1 1.8-1.1 16.1-7.2 4.2-4.2 2.2-2.2 3.8-2.6 4.5-1.9 4-3 .8-1.1 1-3.5 1-.2.7-1.7.3-.5 3.1-2.2.4-.2 12.3-6.2 1.8.3 1-1.5 3.5-.6h.7l.9-.5.7-1.3v-.3l.1-3.4.8-.9.4-2.2.4-.6.4-.5 1-.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cz" viewBox="0 0 640 480">
<path fill="#fff" d="M0 0h640v240H0z"/>
<path fill="#d7141a" d="M0 240h640v240H0z"/>
<path fill="#11457e" d="M360 240 0 0v480z"/>
</svg>

After

Width:  |  Height:  |  Size: 225 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-de" viewBox="0 0 640 480">
<path fill="#fc0" d="M0 320h640v160H0z"/>
<path fill="#000001" d="M0 0h640v160H0z"/>
<path fill="red" d="M0 160h640v160H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 221 B

View File

@@ -0,0 +1,130 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dg" viewBox="0 0 640 480">
<path fill="#fff" d="M0 0h640v480H0z"/>
<path fill="#000063" fill-rule="evenodd" d="M640 416.2c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.7c11.4 0 17.1-23 36.3-23 28.5 0 38 32.4 76 32.4 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.2c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.8c11.4 0 17.1-23.1 36.3-23.1 28.5 0 38 32.5 76 32.5 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.1c-7.2 6.7-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.8c11.4 0 17.1-23.2 36.3-23.2 28.5 0 38 32.5 76 32.5 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.2 32.4-15.8zm0-81.1c-7.2 6.6-13.3 22-32.4 22-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 0-24.8 23.2-36.2 23.2v41.7c11.4 0 17.1-23 36.3-23 28.5 0 38 32.4 76 32.4 19.1 0 28.6-32.5 47.7-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.5-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.5-32.5 47.5-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.3 32.4-15.9zm0-81.3c-7.2 6.7-13.3 22.1-32.4 22.1-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.6 32.5-47.6 32.5-38.2 0-47.7-32.5-76.2-32.5-19 .1-24.8 23.3-36.2 23.3v41.8c11.4 0 17.1-23.1 36.2-23.1 28.5 0 38.1 32.5 76.2 32.5 19 0 28.5-32.5 47.6-32.5 28.6 0 38.1 32.5 76.3 32.5 19 0 28.4-32.5 47.4-32.5 28.7 0 38.2 32.5 76.3 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.1 32.5 76.2 32.5 19 0 28.6-32.5 47.6-32.5 28.6 0 38.2 32.5 76.2 32.5 19 0 25.2-9.3 32.4-15.9v-48Zm0-81c-7.2 6.6-13.3 22-32.4 22C569.5 32.5 560 0 531.4 0c-19 0-28.5 32.5-47.6 32.5-38.1 0-47.6-32.5-76.2-32.5-19 0-28.5 32.5-47.5 32.5-38.2 0-47.7-32.5-76.3-32.5-19 0-28.6 32.5-47.6 32.5C198 32.5 188.6 0 160 0c-19 0-28.6 32.5-47.6 32.5C74.2 32.5 64.7 0 36.2 0 17.2 0 11.4 23.2 0 23.2v41.9C11.4 65 17.1 42 36.2 42c28.5 0 38.1 32.4 76.2 32.4 19 0 28.5-32.4 47.6-32.4 28.6 0 38.1 32.4 76.3 32.4 19 0 28.4-32.4 47.4-32.4 28.7 0 38.2 32.4 76.3 32.4 19 0 28.6-32.4 47.6-32.4 28.6 0 38.1 32.4 76.2 32.4 19 0 28.6-32.4 47.6-32.4 28.6 0 38.2 32.4 76.2 32.4 19 0 25.2-9.2 32.4-15.8z"/>
<path fill="#a24300" fill-rule="evenodd" stroke="#fff" stroke-width="2.1" d="m474.8 131.7-3.5 329c0 17.3 15.7 17.3 17.4 0l-3.5-329Z"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.8" d="m510.7 254-11-11.9-2.6 12.1-4.7-17.5-4.5 8.8-.8-18.6-4.4 8.8-.8-18.6-4.4 8.8L475 204l-4.4 8.8L468 191l-4.5 8.8-2.5-21.9-1.3-11 2.2-4.3 5.8 2.1 9.1 8.7 18.3 17.4-11.3-4.3 18.3 17.4-11.4-4.3 18.3 17.3-11.4-4.2 16.6 14-11.3-4.2 16.5 14-11.3-4.2 12.6 15.2-13.1-7.6 3 14.3z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="M510.7 254 462 162.6m33.1 28.2L469 175.6l-5.4 24.1"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m502.2 203.8-26.3-15.1-5.3 24.1"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m509.1 216.8-26.2-15-5.4 24"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m514.3 226.7-24.5-11.9-7 21"/>
<path fill="none" stroke="#000" stroke-width=".3" d="M519.5 236.5 495 224.6l-7 21"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m520.8 247.4-22.3-16.2-1.4 23"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m383 97.9 17.8 6.8-5.2-13.5 15.6 15.3-1.5-11 12.6 18.4-1.5-11 12.6 18.4-1.5-11 16.3 20.8-1.5-11 16.3 20.8-1.4-11 16.2 20.8 8.2 10.4.7 5.5-6.7.6-14-4.3-28.2-8.7 13.3-1.1-28.1-8.7 13.3-1.1-28.1-8.7 13.3-1.2-24.4-6.2 13.3-1.1-24.4-6.2 13.3-1.2-21.5-9.3 17.1 1.3L383.1 98z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m383 97.9 103.7 68.7m-48.9-12.4 34.1 2.6-10.3-26.9"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m423 144.4 34 2.6-10.3-27"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m408.2 134.6 34 2.6-10.3-27"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m397 127.2 30.5.1-6.7-24.4"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m386 119.8 30.4.2-6.7-24.5"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m377.8 109.4 31.1 5.7-13.2-23.9"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="M589.8 120.8 575 131.7l16.4 1.8-22.9 5.4 12.2 3.6-24.7 1.8 12.2 3.6-24.7 1.8 12.1 3.7-28.9 3.6 12.2 3.6-28.9 3.6 12.2 3.6-28.9 3.6-14.5 1.8-6-1.8 2.2-5.4 10.7-9 21.3-18.1-4.6 10.8 21.3-18-4.6 10.8 21.3-18-4.6 10.8L553 119l-4.5 10.9 17-16.3-4.5 10.8 19-12.6-8.7 12.7 18.6-3.6z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m589.8 120.8-117 50.6m34.1-32.5-17.4 25.3 32.7 3.6"/>
<path fill="none" stroke="#000" stroke-width=".3" d="M523.7 131.7 506.2 157l32.7 3.6"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m540.4 124.4-17.5 25.3 32.7 3.7"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m553 119-13.3 23.5 28.5 5.4"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m565.5 113.6-13.3 23.5 28.5 5.4"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m580 111.8-19.4 21.7h30.7"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="M587.4 230.3 569 225l6.6 13-17.1-14 2.6 10.7-14.5-17.2 2.7 10.8-14.5-17.3 2.6 10.8-18.5-19.4 2.7 10.8-18.5-19.4 2.7 10.8-18.5-19.4-9.2-9.7-1.3-5.4 6.6-1.2 14.5 3.2 29 6.4-13.2 2.2 29 6.4-13.2 2.2 29 6.4-13.2 2.3 25 4.2-13.2 2.2 25 4.2L569 211l22.3 7.5h-17l13 12z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m587.4 230.3-110.6-60.2m50 8.4-34.2.2 13.2 26"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m542.6 187.1-34.2.2 13.2 26"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m558.4 195.7-34.2.2 13.2 26"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m570.3 202.2-30.3 2.3 9.3 23.8"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m582.2 208.7-30.3 2.2 9.2 23.8"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m591.3 218.4-31.5-3.2 15.8 22.8"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.8" d="m395.2 236.6 9.3-13-14.1 2.1 17.4-9.9-11.1-.5 20-7-11.1-.6 20-7-11.1-.6 23-9.6-11.2-.5 23-9.7-11.1-.5 23-9.6 11.5-4.9 5.6.3-.4 5.3-6.3 10.4-12.6 20.8.8-10.6-12.6 20.8.7-10.7-12.6 20.8.7-10.6-9.6 18.2.7-10.6-9.6 18.2.7-10.6-12.2 15.4 3.7-13.2z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m395.2 236.6 83-71m-19.1 36.5 7.3-26.4-28.2 4.1"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m447.2 212.3 7.3-26.4-28.2 4"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m435.3 222.4 7.4-26.4-28.2 4.1"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m426.4 230 4.4-23.8-25.2 1.5"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m417.5 237.6 4.4-23.8-25.2 1.5"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m406 242.4 10-23.5-25.6 6.8"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m563 66.2-17.9 12-2.9-12.9-10.5 17.8-2-8.5-8.6 18.2-1.2-8.4-6.7 18.7-3.8-9-6.7 22.7-3.8-9-6.7 22.7-3.9-9-6.7 22.7-3.3 11.4 1.9 4.5 7.2-2.4 12.4-9.2 25-18.4-14.4 4.7 24.9-18.5-14.4 4.8 24.9-18.5-14.4 4.8 25-14.4-17 4L566 83.3l-16.3 4.2 19.7-15.6-17 8.1z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m556 72.7-25.8 22.2-50 65.2"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m519.3 132.8-28.6 13.5-2.4-20.8"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m530.2 119.2-29 13.4-2.3-20.8"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m540.5 105.5-28.7 13.4-2.2-20.7"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m549.1 95.3-26.8 9.9-3-17"/>
<path fill="none" stroke="#000" stroke-width=".3" d="M559 85.5 530.2 95l-1-16.4"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m562.8 76.2-26.6 13.6 5.2-20.6"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="2" d="m466.1 43.8 8 18.2 10.3-9.6-1.7 19.8 6.8-6.4-3.7 19.4 6-6.6-5.5 19 8.7-6-8 22.3 8.6-6-8 22.5 8.7-6-8 22.4-4 11.2-4.4 3-4.8-5.3-5-13.4-10-26.9 9.4 10.5-10.1-27 9.4 10.6-10-27L468 93l-12.5-23.4 12 11.1-14.4-23.9 11.3 11-7.3-22.2 9.6 14.6z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m468.2 52.4 8.5 30.5 3.2 78"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m463 120.2 16.2 24.3 14.7-16.7"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m462 103.7 16.5 24.4 14.7-16.7"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m461.5 87.3 16.4 24.4L492.3 95"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m460.4 74.9 16.8 20.4 13-13"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m458 62 18.7 21 11-13.6"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m460.3 52.4 14.4 23.5 8.1-19.9"/>
<path fill="#006d00" fill-rule="evenodd" stroke="#fff" stroke-width="1.9" d="m359 178 23.3-16.2-11.7-6 20.5 3.4-7-9.3 19.8 7.5-7-9.3 19.9 7.4-7-9.2 24 8.1-7-9.3 23.3 12.1-7-9.3 24 8.2 11.7 6 3.5 4.6-4.7 3.3-12.9 1.8-20.7 8.6 3.8-7.4-25.7 3.6 9.3-6.4-26.3 7.6 9.4-6.5-22.2 8.3 9.9-10.4-22.8 12.2 10-10.4-18.8 13 10.5-14.4z"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m366.3 173.6 24.2-10.5 12.9-1.8 10.7-.2 18.5 1.2 16.7.7 33 3.7"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m447.2 176.9 18.5-11.4-18.8-14.7"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m426.5 175.2 22.7-12.2-18.7-14.8"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m411.7 174.8 20.9-12.5-19-13.7m-29.5 29.6 19.3-16.9-15.6-8.5"/>
<path fill="none" stroke="#000" stroke-width=".3" d="m375.5 179.3 15-16.1-12-4.5m18.4 17.7 19-15.2-15.2-10.4"/>
<g fill-rule="evenodd">
<path fill="#c00" stroke="#000" stroke-width="1pt" d="m541.5 1173.3-1.7-229.1-61.1-107c-15.3-52.6-7.8-78 17-79.8 24.7-1.6 49.2 13.6 84.8 15.3s28.9-59.4 81.5-57.7 144.3 32.3 222.3 37.4c78.1 5 118.8-27.2 208.8-30.6s113.7 42.4 118.8 42.4 30.6-18.6 56-22c25.5-3.4 34 10.2 34 10.2s-1.7 57.7-13.6 91.6c-11.9 34-54.3 90-56 90s-15.3 249.5-15.3 251.2-675.5-6.8-675.5-11.9z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/>
<g stroke="#000" stroke-width="1pt">
<path fill="#fff100" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8z" transform="matrix(-.12934 0 0 .11906 596.6 257.6)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 594.5 257.4)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 596.8 252.6)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598 247.6)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598.9 242.4)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 598.7 236.8)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 591.2 261.7)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 596.7 231.4)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 592.5 227.1)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 586.8 224.3)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 581 223.9)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 575 224)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 568.8 225)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 562.7 225.7)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 556 226.6)"/>
<path fill="#fff" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(-.12934 0 0 .11906 550.4 228.1)"/>
</g>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 369.5 257.4)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 367.2 252.6)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 366 247.6)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 365.2 242.4)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 365.4 236.8)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 367.3 231.4)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 371.4 227.1)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 377.2 224.3)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 382.9 223.9)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 389 224)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 395.2 225)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 401.4 225.7)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 407.9 226.6)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 413.6 228.1)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 372.8 261.7)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 584.6s-68-52-69.8-177.1c-1-72 34.4-124 123-124 124 0 301.1 53.1 301.1 53.1v17.7s-141.7-53.1-301.2-53.1c-70.8 0-106.3 52-106.3 105.2 0 88.6 71 178.3 71 178.3v141.7h-17.8z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/>
<path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04311 0 0 .04536 398.7 310.9)"/>
<path fill="#fff100" stroke="#000" stroke-width="3" d="M1240.2 531.5s15.3-35.4 70.9-35.4c37.8 0 70.8 35.4 70.8 70.8v70.9h35.5v-70.9c0-35.4 35.4-70.8 70.8-70.8 53.2 0 70.9 35.4 70.9 35.4s0-106.3-70.9-106.3c-53.1 0-70.8 35.4-70.8 35.4s17.7-53.1 17.7-106.3-35.4-88.6-35.4-88.6c0 6.8-35.5 35.5-35.5 88.6s17.7 106.3 17.7 106.3-17.7-35.4-70.8-35.4c-70.9 0-70.9 106.3-70.9 106.3z" transform="matrix(.04311 0 0 .04536 444.5 310.9)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M531.5 832.7V673.2s35.4 53.2 88.6 53.2c43.5 0 88.6-70.9 88.6-70.9s41.5 53.2 88.6 53.2c42 0 88.5-68.6 88.5-68.6s43.2 68.6 88.6 68.6c45.5 0 88.6-53.2 88.6-53.2s46.3 70.9 106.3 70.9c53.1 0 70.9-53.2 70.9-53.2v159.5z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 344.5 257.6)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M708.7 832.7v-124S815 744 815 832.7z" transform="matrix(-.12934 0 0 .11906 619.4 257.6)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M602.4 832.7C602.4 744 708.7 688 708.7 688S815 744 815 832.7z" transform="matrix(.12934 0 0 .11906 413.3 257.6)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M584.6 847.5c0-88.6 124.1-159.4 124.1-159.4s124 70.8 124 159.4h-248z" transform="matrix(.12934 0 0 .11906 390.4 255.9)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M1275.6 655.5c-35.4-17.7-166-35.4-376.3-35.4s-350 17.7-385.5 35.4c-35.4 17.7-35.4 53.2 0 70.9s175.3 35.4 385.5 35.4 340.9-17.7 376.3-35.4 35.4-53.2 0-70.9z" transform="matrix(.12788 0 0 .11906 367 278.7)"/>
<path fill="gray" d="M527.9 365.2c0 4.2-38.2 4.2-45.9 4.2-8.3 0-45.8 1.2-45.8-4.2 0-4.2 37.8-4.2 45.8-4.2s45.9.8 45.9 4.2"/>
<path fill="#c00" d="M440.8 350c0 1.4-1 2.6-2.3 2.6s-2.3-1.2-2.3-2.6 1-2.5 2.3-2.5 2.3 1.2 2.3 2.5m87 0c0 1.4-1 2.6-2.3 2.6s-2.3-1.2-2.3-2.6 1-2.5 2.3-2.5 2.3 1.2 2.3 2.5"/>
<path d="M486.6 348.8c0 1.3-2.1 2.4-4.6 2.4s-4.6-1.1-4.6-2.5 2-2.5 4.6-2.5 4.6 1.2 4.6 2.5z"/>
<path fill="#006300" d="M508.6 348.8c0 1.3-1.6 2.4-3.5 2.4s-3.4-1.1-3.4-2.5 1.6-2.5 3.4-2.5 3.5 1.2 3.5 2.5zm-47.2 0c0 1.3-1.5 2.4-3.4 2.4s-3.5-1.1-3.5-2.5 1.5-2.5 3.5-2.5c1.9 0 3.4 1.2 3.4 2.5z"/>
<path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.0739 0 0 .06804 379.9 300.5)"/>
<path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9z" transform="matrix(.03696 0 0 .05953 385 309.3)"/>
<path fill="#fff100" stroke="#000" stroke-width="3.3" d="M1381.9 549.2h70.9s-53.2-17.7-53.2-70.9V443h35.4c35.5 0 71 53.2 71 53.2V354.3s-35.5 53.2-71 53.2h-35.4V372c0-53.1 53.2-70.8 53.2-70.8h-70.9z" transform="matrix(-.03696 0 0 .05953 579 309.3)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 1 1-35.4 0 17.7 17.7 0 0 1 35.4 0z" transform="matrix(.12934 0 0 .11906 367.5 257.6)"/>
<path fill="#fff100" stroke="#000" stroke-width="2.2" d="M1257.9 496s35.4-53 70.9-53h35.4v35.3c0 53.2-53.1 71-53.1 71h141.7s-53.2-17.8-53.2-71V443h35.5c35.4 0 70.8 53.2 70.8 53.2V354.3s-35.4 53.2-70.8 53.2h-35.5V372c0-53.1 53.2-70.8 53.2-70.8H1311s53.1 17.7 53.1 70.8v35.5h-35.4c-35.5 0-70.9-53.2-70.9-53.2v141.8z" transform="matrix(.0739 0 0 .06804 379.9 256.2)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M903.5 602.4a17.7 17.7 0 1 1-35.4 0 17.7 17.7 0 0 1 35.4 0z" transform="matrix(.12934 0 0 .11906 367.7 213.7)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 655.5h70.9v53.2h-71z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/>
<path fill="#fff100" stroke="#000" stroke-width="1pt" d="M850.4 683.3h70.9v202.5h-71z" transform="matrix(.12934 0 0 .11906 367.5 215.5)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 251.2)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 245.8)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 240.8)"/>
<path fill="#fff" stroke="#000" stroke-width="1pt" d="M478.4 549.2a17.8 17.8 0 1 1-35.5 0 17.8 17.8 0 0 1 35.5 0z" transform="matrix(.12934 0 0 .11906 422.4 235.5)"/>
<path d="M486.9 356.8c0 1-2.1 1.7-4.8 1.7s-4.5-.7-4.5-1.7 2-1.7 4.6-1.7 4.7.8 4.7 1.7M529 361c-.3.7-2.6.8-5.1 0-2.6-.5-4.4-1.4-4.2-2 .3-.8 2.6-.8 5.1-.2 2.6.6 4.4 1.5 4.2 2.2m-17.7-2.8c0 .8-2.3 1.3-5 1.2-2.5-.2-4.6-1-4.5-2 .1-.8 2.4-1.2 5-1s4.7.9 4.5 1.8m-77.5 2.8c.2.7 2.5.8 5 0 2.6-.5 4.5-1.4 4.2-2-.3-.8-2.5-.8-5-.2-2.6.6-4.4 1.5-4.2 2.2m18.5-3.2c.1.8 2.4 1.3 5 1.1s4.7-1 4.5-1.9c0-.7-2.3-1.3-5-1.1-2.5.2-4.6 1-4.5 1.9"/>
</g>
<path fill="#012169" d="M0 0h320v240H0Z"/>
<path fill="#fff" d="m37.5 0 122 90.5L281 0h39v31l-120 89.5 120 89V240h-40l-120-89.5L40.5 240H0v-30l119.5-89L0 32V0Z"/>
<path fill="#c8102e" d="M212 140.5 320 220v20l-135.5-99.5Zm-92 10 3 17.5-96 72H0ZM320 0v1.5l-124.5 94 1-22L295 0ZM0 0l119.5 88h-30L0 21Z"/>
<path fill="#fff" d="M120.5 0v240h80V0ZM0 80v80h320V80Z"/>
<path fill="#c8102e" d="M0 96.5v48h320v-48zM136.5 0v240h48V0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 22 KiB

View File

@@ -0,0 +1,13 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dj" viewBox="0 0 640 480">
<defs>
<clipPath id="dj-a">
<path fill-opacity=".7" d="M-40 0h682.7v512H-40z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#dj-a)" transform="translate(37.5)scale(.94)">
<path fill="#0c0" d="M-40 0h768v512H-40z"/>
<path fill="#69f" d="M-40 0h768v256H-40z"/>
<path fill="#fffefe" d="m-40 0 382.7 255.7L-40 511z"/>
<path fill="red" d="M119.8 292 89 270l-30.7 22.4L69.7 256l-30.6-22.5 37.9-.3 11.7-36.3 12 36.2h37.9l-30.5 22.7 11.7 36.4z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 585 B

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dk" viewBox="0 0 640 480">
<path fill="#c8102e" d="M0 0h640.1v480H0z"/>
<path fill="#fff" d="M205.7 0h68.6v480h-68.6z"/>
<path fill="#fff" d="M0 205.7h640.1v68.6H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 236 B

View File

@@ -0,0 +1,152 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dm" viewBox="0 0 640 480">
<defs>
<clipPath id="dm-a">
<path fill-opacity=".7" d="M-85 0h682.7v512H-85z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#dm-a)" transform="translate(79.7)scale(.94)">
<path fill="#108c00" d="M-258.3 0H769.2v512H-258.3z"/>
<path fill="#ffd600" d="M-260 178.2H772.6v50.1H-260z"/>
<path fill="#ffd600" d="M181 0h48.5v512h-48.4z"/>
<path fill="#000001" d="M227.8 0h48.4v512h-48.4z"/>
<path fill="#000001" d="M-260 226.6H772.6v50.2H-260z"/>
<path fill="#fff" d="M-260 276.8H772.6v50.1H-260z"/>
<path fill="#fff" d="M276.2 0h48.5v512h-48.5z"/>
<rect width="273.8" height="275" x="-394.6" y="-393.9" fill="#e72910" ry="137.5" transform="scale(-1)"/>
<g stroke-width="1pt">
<path d="m250.5 137 5.6-16 5.1 15.7s17.1.5 17.1.2-13.5 10.3-13.5 10.3l6.1 17.6c-.2-.5-14.8-10.9-14.8-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17l-13.3-10.1 16.6-.3z"/>
<path fill="#ffe700" d="M251.3 137.7 256 124l4.4 13.6s14.9.4 14.9.2-11.7 9-11.7 9l5.2 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 5-14.8 5-14.8l-11.6-8.8 14.4-.2z"/>
<path fill="#108c00" d="m253.3 140 2.8-8 2.6 7.9s8.5.2 8.5 0-6.7 5.2-6.7 5.2l3 8.8c-.1-.3-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5z"/>
</g>
<g stroke-width="1pt">
<path d="m356.9 211.8 5.6-16 5 15.7s17.2.6 17.2.3-13.5 10.3-13.5 10.3l6 17.6c-.2-.5-14.7-10.9-14.7-10.9s-14.8 10.4-14.5 10.4 5.6-17 5.6-17L340.3 212l16.6-.3z"/>
<path fill="#ffe700" d="m357.6 212.6 4.9-13.9 4.4 13.7s14.8.4 14.8.2-11.7 9-11.7 9l5.3 15.1c-.2-.4-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7z"/>
<path fill="#108c00" d="m359.7 214.9 2.8-8 2.5 7.8 8.6.2-6.8 5.1s3.2 9 3 8.8c0-.3-7.3-5.4-7.3-5.4l-7.3 5.1 2.8-8.5-6.6-5z"/>
</g>
<g stroke-width="1pt">
<path d="m325.9 330.6 5.6-16 5 15.8s17.2.5 17.2.3-13.5 10.3-13.5 10.3l6 17.5c-.2-.5-14.7-10.8-14.7-10.8S316.7 358 316.9 358s5.7-17 5.7-17l-13.3-10z"/>
<path fill="#ffe700" d="m326.6 331.4 4.9-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7z"/>
<path fill="#108c00" d="m328.7 333.7 2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5z"/>
</g>
<g stroke-width="1pt">
<path d="m177.2 330.6 5.6-16 5 15.8s17.1.5 17.1.3-13.5 10.3-13.5 10.3l6.2 17.5c-.3-.5-14.8-10.8-14.8-10.8S168 358 168.2 358s5.7-17 5.7-17l-13.3-10z"/>
<path fill="#ffe700" d="m178 331.4 4.8-13.8 4.4 13.6s14.8.5 14.8.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.6 9 4.9-14.8 4.9-14.8l-11.5-8.7z"/>
<path fill="#108c00" d="m180 333.7 2.8-8 2.5 7.9s8.6.3 8.6.1-6.8 5.2-6.8 5.2l3 8.7c0-.2-7.3-5.4-7.3-5.4l-7.3 5.2 2.8-8.5-6.6-5z"/>
</g>
<g stroke-width="1pt">
<path d="m150 208.7 5.6-16 5.1 15.8s17.1.5 17.1.2-13.5 10.4-13.5 10.4l6.1 17.5c-.3-.5-14.8-10.8-14.8-10.8S140.8 236 141.1 236s5.6-17 5.6-17l-13.3-10z"/>
<path fill="#ffe700" d="m150.8 209.5 4.8-13.8 4.5 13.6s14.7.5 14.7.2-11.7 9-11.7 9l5.3 15.2c-.2-.5-12.8-9.4-12.8-9.4s-12.8 9-12.5 9 4.8-14.8 4.8-14.8l-11.5-8.7z"/>
<path fill="#108c00" d="m152.8 211.8 2.8-8 2.6 7.9 8.5.1-6.7 5.2 3 8.7c-.1-.2-7.4-5.4-7.4-5.4l-7.2 5.2c.2 0 2.8-8.5 2.8-8.5l-6.6-5z"/>
</g>
<g stroke-width="1pt">
<path d="m324.6 174.1-5.6 16-5-15.7s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17l13.3 10z"/>
<path fill="#ffe700" d="M323.9 173.3c0 .3-5 13.9-5 13.9l-4.3-13.6s-14.8-.5-14.8-.3 11.7-8.9 11.7-8.9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7z"/>
<path fill="#108c00" d="m321.8 171-2.8 8-2.5-7.8s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.5-2.9 8.5l6.7 5-8.3.2z"/>
</g>
<g stroke-width="1pt">
<path d="m367.3 290.3-5.6 16-5-15.8s-17.2-.5-17.2-.2S353 280 353 280l-6-17.6c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L384 290z"/>
<path fill="#ffe700" d="m366.6 289.5-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8z"/>
<path fill="#108c00" d="m364.5 287.2-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2c-.2 0-2.9 8.6-2.9 8.6l6.7 5z"/>
</g>
<g stroke-width="1pt">
<path d="m261.4 375.3-5.6 16-5-15.8s-17.2-.5-17.2-.3 13.5-10.3 13.5-10.3l-6-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.5-10.3-5.6 17-5.6 17L278 375z"/>
<path fill="#ffe700" d="m260.7 374.4-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.7-14.3.3z"/>
<path fill="#108c00" d="m258.6 372.2-2.8 8-2.5-7.9s-8.6-.3-8.6-.1 6.8-5.2 6.8-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5z"/>
</g>
<g stroke-width="1pt">
<path d="m162 290.3-5.7 16-5-15.8s-17.2-.5-17.2-.2 13.5-10.3 13.5-10.3l-6-17.6c.2.5 14.7 10.8 14.7 10.8L171 263l-5.7 17 13.3 10.1-16.6.3z"/>
<path fill="#ffe700" d="m161.2 289.5-4.9 13.8-4.4-13.6s-14.8-.4-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.9 14.8-4.9 14.8l11.5 8.8z"/>
<path fill="#108c00" d="m159.1 287.2-2.8 8-2.5-7.9s-8.6-.2-8.6 0 6.8-5.2 6.8-5.2l-3-8.8c0 .3 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.6 6.6 5z"/>
</g>
<g stroke-width="1pt">
<path d="m198.7 175.8-5.6 16-5.2-15.7s-17-.5-17-.3 13.5-10.3 13.5-10.3l-6.1-17.5c.2.5 14.7 10.8 14.7 10.8s14.8-10.3 14.6-10.3-5.6 17-5.6 17l13.2 10z"/>
<path fill="#ffe700" d="m197.9 175-4.9 14-4.4-13.7s-14.8-.5-14.8-.2 11.7-9 11.7-9l-5.3-15.2c.2.5 12.8 9.4 12.8 9.4s12.8-9 12.6-9-4.8 14.8-4.8 14.8l11.4 8.7-14.3.3z"/>
<path fill="#108c00" d="m195.8 172.8-2.8 8-2.5-7.9s-8.5-.3-8.5-.1 6.7-5.2 6.7-5.2l-3-8.7c0 .2 7.3 5.4 7.3 5.4l7.3-5.2-2.8 8.5 6.6 5z"/>
</g>
<g transform="translate(-250.6 359.4)scale(1.04)">
<g fill="#009200" stroke="#000" stroke-width="2.5" transform="matrix(.16 -.02 0 .18 429.8 -215.6)">
<ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.4 0 0 1 -534.3 263.7)"/>
<ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.5 0 0 1 -547.2 267)"/>
<ellipse cx="680.2" cy="586.1" rx="30.8" ry="189.8" transform="matrix(1.2 0 0 1.1 -365 214.1)"/>
</g>
<g stroke="#000" transform="translate(72.9 -9.8)">
<path fill="#a95600" stroke-width=".5" d="M388.5-53c6-.3 3.4-3.3 6.4-5 3-1.6 7.3-.6 8.6 1.4s.3 4 2 4 47-2.5 48.6-.9 2 5 .3 6.3c-1.6 1.4-58.9 3-60.9 1.6s-5-7-5-7.4z"/>
<path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 340.4 -81.7)"/>
<path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 344.4 -81.6)"/>
<path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 348.7 -81.8)"/>
<path fill="#ff0" stroke-width="3.9" d="M529.6 405.5c0 40 45.6 27.8 46.8 61.2-.7 35.4-76.7 3.5-78.6-61.2 1.9-64.8 75-98 76.7-61 1.2 30.6-45 21-45 61z" transform="matrix(.15 0 0 .1 352.7 -81.8)"/>
<ellipse cx="478.4" cy="-41.1" fill="#a95600" stroke-width=".4" rx="3.5" ry="3.4" transform="matrix(1.1 .02 -.02 1.15 -75.6 4.7)"/>
</g>
<g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(-5.8 688.4 -625.2)">
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 369.8 -361.6)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 364 -362.7)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 360.6 -370.6)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .35 369.3 -399.4)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 377.4 -379)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 373.2 -382.2)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 368 -386.7)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 363 -389.5)"/>
</g>
<path fill="#804bff" stroke="#000" stroke-width=".5" d="M482.6-141s-11.7 10-10.1 36.9c1.8 27 26.5 39.5 26.5 39.5s6.2-7.7 5.2-29.5c-2-31.8-13.8-45.7-13.8-45.7l-7.8-1.3z"/>
<g fill="#009200" stroke="#000" stroke-width="2.5" transform="rotate(4.5 181 769.9)">
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 369.8 -361.6)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 364 -362.7)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.17 0 0 .32 360.6 -370.6)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .35 369.3 -399.4)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 377.4 -379)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 373.2 -382.2)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 368 -386.7)"/>
<ellipse cx="427.1" cy="905" rx="20.8" ry="24.1" transform="matrix(.16 0 0 .33 363 -389.5)"/>
</g>
<ellipse cx="624.4" cy="606.1" fill="#c90000" stroke="#000" stroke-width="1pt" rx="58.3" ry="186.5" transform="matrix(.16 -.06 .06 .15 369.6 -145)"/>
<g fill="#009200" stroke="#000" transform="rotate(1 242.4 -1957.8)">
<ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.4 0 0 .3 445 -230.5)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 457.2 -236)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 452 -236)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 449.5 -233.5)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 449 -238)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 447 -238.8)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 448 -241.6)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.5" rx="10.8" ry="12.9" transform="matrix(.4 0 0 .3 432.8 -243.5)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.37 0 0 .27 446 -243.5)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 444.2 -247)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 436.1 -243.2)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 437.4 -243.9)"/>
<ellipse cx="218.1" cy="356.8" stroke-width="1.6" rx="10.8" ry="12.9" transform="matrix(.35 0 0 .3 439 -247)"/>
</g>
<g fill="#009200" stroke="#000" transform="matrix(.18 0 0 .2 421 -216.8)">
<ellipse cx="528.7" cy="564.5" stroke-width="2.5" rx="67.4" ry="205.6" transform="matrix(.98 -.3 .36 .87 -245.8 324.4)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="2.5" rx="13.3" ry="40.8" transform="rotate(-23.4 630.5 660.9)"/>
<path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3s29.5-85.3 40.3-102c-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.88 -.46 .95 1.18 -352.3 -10)"/>
<path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3s29.5-85.3 40.3-102c-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.88 -.46 .95 1.18 -348.4 44)"/>
<path stroke-width="1.5" d="M139.9 644c0 57.7-18.8 86.2-34.6 110.3 7.5-32.5 13-52.6 13-110.3s29.5-85.3 40.3-102c-4.2 16.7-18.7 44.3-18.7 102z" transform="matrix(1.87 -.5 .98 1.16 -362 105.8)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="1.4" rx="13.3" ry="40.8" transform="matrix(1.8 -.4 .7 1.64 -915.6 -221)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.63 -.23 .54 1.35 -739.5 -91.8)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="1.6" rx="13.3" ry="40.8" transform="matrix(1.63 -.2 .5 1.36 -750.6 -91.8)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.3 -.2 .47 1 -531 47.6)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.13 .4 1.03 -517.9 12.2)"/>
<path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(1.03 -.5 .46 1.18 12.8 -14.5)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.13 .4 1.03 -519.5 -34.4)"/>
<ellipse cx="528.7" cy="646.1" stroke-width="2.1" rx="13.3" ry="40.8" transform="matrix(1.33 -.1 .38 1.04 -534 -40.1)"/>
<path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.47 .46 .8 39.5 143.3)"/>
<path stroke-width="2.9" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.47 .46 .8 51.1 125.8)"/>
<path stroke-width="2.1" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.94 -.64 .64 1.1 -40.2 -10.7)"/>
<path stroke-width="2.7" d="M145.7 569.5c0 34-6.7 61.6-15 61.6s-15-27.6-15-61.6" transform="matrix(.67 -.52 .46 .88 68.6 71.2)"/>
</g>
<g fill="#804bff" stroke="#000" stroke-width="2.5">
<path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 458 -214.3)"/>
<path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 456.6 -220.2)"/>
<path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 454.8 -225.8)"/>
<path d="M276.3 345.4c-12.3 9.2.4 25.2 12 30.7 13 7.7 86.6 58.2 136.3 12-40.8.8-118.7-63.2-148.3-42.7z" transform="matrix(.16 0 0 .22 450.9 -232.2)"/>
</g>
<g transform="rotate(1 -589.6 681.6)">
<path fill="#804bff" stroke="#000" stroke-width="2.5" d="M211.2 247.3c21.7-12 56.6-9.8 79.7 11.2 19.4 17 45.3 75.2 70.3 92.8a58 58 0 0 1-42.2-15.2c-28.8 15.5-38.1 16.7-64 15.7-35.8-1.4-62.4-17.7-68-40.6-6.3-21.8 4.8-52.5 24.2-63.9z" transform="matrix(.2 -.04 .05 .18 407.8 -213.6)"/>
<ellipse cx="287.2" cy="323" fill="red" stroke="#000" stroke-width="2.5" rx="14.2" ry="15" transform="matrix(.25 0 0 .13 401.8 -215.2)"/>
<ellipse cx="204.6" cy="348.3" fill="#ff0" stroke="#000" stroke-width="2.5" rx="23.3" ry="15.9" transform="matrix(.2 -.08 .07 .17 398.7 -208)"/>
<circle cx="283.9" cy="333.9" r="5.8" transform="matrix(.2 0 0 .2 411.3 -233.7)"/>
<path fill="#ff0" stroke="#000" stroke-width="6.6" d="M516.8 260.3c4.4 18-6.7 43-33.1 52.6-26.8 13.2-46.1 41.8-55.7 88-47.2-103.2-23-148.3 20.6-160.3 37.4-14.4 60.4-13.4 68.2 19.7z" transform="matrix(.1 0 0 .08 417.9 -191.5)"/>
<circle cx="199" cy="362.4" r="4.7" transform="matrix(.2 0 0 .2 418.7 -235)"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 39 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-dz" viewBox="0 0 640 480">
<path fill="#fff" d="M320 0h320v480H320z"/>
<path fill="#006233" d="M0 0h320v480H0z"/>
<path fill="#d21034" d="M424 180a120 120 0 1 0 0 120 96 96 0 1 1 0-120m4 60-108-35.2 67.2 92V183.2l-67.2 92z"/>
</svg>

After

Width:  |  Height:  |  Size: 294 B

View File

@@ -0,0 +1,48 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-eac" viewBox="0 0 640 480">
<path id="eac-a" fill="#fff" fill-opacity="1" fill-rule="nonzero" stroke="none" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width="3.1" d="M0 326.4h640V348H0z"/>
<use xlink:href="#eac-a" width="600" height="330" transform="translate(0 -194.4)"/>
<path id="eac-b" fill="#0087ff" fill-opacity="1" fill-rule="nonzero" stroke="none" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width="3.1" d="M0 348h640v132H0z"/>
<use xlink:href="#eac-b" width="600" height="330" transform="translate(0 -348)"/>
<path fill="red" d="M0 290.4h640v36H0z"/>
<path fill="#000001" d="M0 153.6h640v36H0z"/>
<path fill="#ff0" d="M0 206.4h640v67.2H0z"/>
<path id="eac-c" fill="#008300" fill-opacity="1" fill-rule="nonzero" stroke="none" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width="3.1" d="M0 273.6h640v16.8H0z"/>
<use xlink:href="#eac-c" width="600" height="330" transform="translate(0 -84)"/>
<g transform="translate(41.1 674.6)scale(.87273)">
<path fill="#fff" stroke="#000" stroke-width="2" d="M319.6-589.5a80 80 0 0 0-56.7 136.3l-34.2 11 3.1 7.8-11 2.4 8 25.6h181.6l7.9-25.6-11-2.4 3.1-7.9-34.2-10.9a80 80 0 0 0-56.6-136.3z"/>
<path fill="#008300" d="m230.5-431.6 7 22.6h164.2l6.9-22.6z"/>
<path fill="#fff" d="m234.9-428.7 5.1 16.8h159.1l5.1-16.8H275.4z"/>
<path d="M140.8 811.3q0 2.6-.6 5-.6 2.3-2.1 4t-4 2.8-6.4 1q-3.5 0-6-.8-2.6-.9-4.3-2l2.7-6.3q1.5.9 3.3 1.5t3.7.7q3 0 4.3-1.5 1.3-1.4 1.3-4.9v-23.5h8.1zm22 12.8q-3.9 0-6.6-1-2.8-1.1-4.6-3t-2.7-4.5q-.8-2.7-.8-5.8v-22.5h8.1V809q0 2.2.5 3.7t1.4 2.5 2 1.4q1.3.4 2.8.4 3 0 4.8-1.8t1.8-6.2v-21.8h8.2v22.5q0 3.1-1 5.8-.8 2.6-2.6 4.6t-4.7 2.9q-2.8 1-6.6 1zm32.2-36.8q1 1.7 2.2 4.3l2.6 5.4 2.6 6 2.5 5.8 2.4-5.8 2.6-6 2.6-5.4q1.2-2.6 2.2-4.3h7.4l1 8 .7 9.3q.4 4.8.6 9.7l.5 9.1H217l-.4-11.5-.8-12.5-2 4.9-2.4 5.3q-1 2.7-2.1 5.1l-1.8 4.1h-5.7l-1.7-4.1-2.2-5.1-2.3-5.3-2-4.9q-.6 6.3-.8 12.5l-.4 11.5h-8l.5-9.1.6-9.7.8-9.2 1-8.1zm51.4 36.8q-3.8 0-6.6-1-2.8-1.1-4.6-3t-2.7-4.5q-.8-2.7-.8-5.8v-22.5h8.1V809q0 2.2.5 3.7t1.4 2.5 2 1.4q1.3.4 2.8.4 3 0 4.8-1.8t1.8-6.2v-21.8h8.2v22.5q0 3.1-1 5.8-.8 2.6-2.6 4.6T253 823q-2.8 1-6.6 1zm22.6-36.8h8.2v36.1h-8.1zm29.8 14.8 4.2-7.4q2-3.7 3.6-7.4h9q-3 5.8-6.2 11.3t-6.7 11v13.8h-8.1v-13.7q-3.6-5.5-6.8-11t-6.2-11.4h9.5q1.6 3.7 3.6 7.4zm40.2 21.3-1.3-3.8-1.4-4h-14l-1.5 4-1.2 3.8H311l3.9-10.8 3.5-9.3 3.5-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.8-28q-.2.9-.8 2.2l-1.2 3.1-1.5 4-1.6 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm48.9 6.7 4.2-7.4q2-3.7 3.6-7.4h9q-3 5.8-6.1 11.3-3.2 5.5-6.8 11v13.8h-8v-13.7l-6.8-11q-3.2-5.6-6.1-11.4h9.4l3.6 7.4zm40.2 21.3-1.3-3.8-1.4-4h-14l-1.4 4-1.3 3.8h-8.4l3.8-10.8 3.6-9.3 3.4-8.3q1.7-4 3.6-7.7h7.7q1.8 3.7 3.5 7.7l3.5 8.3 3.6 9.3 3.8 10.8zm-9.7-28-.8 2.2-1.2 3.1-1.5 4-1.6 4.4h10.2l-1.6-4.5-1.5-3.9-1.2-3zm59.8 28-1.3-3.8-1.4-4h-14l-1.4 4-1.3 3.8h-8.4l3.8-10.8q1.8-5 3.6-9.3l3.4-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.8-28-.7 2.2-1.2 3.1-1.5 4-1.7 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm23.2 28v-36.1H506v6.8h-16v7.6h14.2v6.8h-14.3v15zm40.5-36.5q8.1 0 12.4 2.9t4.4 9q0 3.8-1.8 6.2-1.7 2.3-5 3.7l2.3 3 2.3 3.7 2.3 4 2 4h-9l-2.1-3.6-2-3.5-2.2-3.3-2-2.8h-4v13.2h-8.2v-35.6q2.7-.5 5.5-.7l5-.2zm.5 6.9H521l-1.3.2v9.8h2.3q4.6 0 6.6-1.2t2-3.9-2-3.7q-2-1.2-6-1.2zm23.7-6.5h8.1v36.1h-8.1zm37.8 36.1q-1.1-1.8-2.6-3.8l-3.3-4.1q-1.7-2.1-3.6-4t-3.7-3.4v15.3h-8.2v-36.1h8.2v13.6q3.2-3.3 6.3-6.9l6-6.7h9.7q-3.7 4.4-7.5 8.4t-7.8 8.2q4.3 3.6 8.3 8.6t7.8 11zm39.7 0-1.2-3.8-1.4-4h-14l-1.5 4-1.2 3.8h-8.5l3.9-10.8 3.5-9.3 3.5-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.7-28-.7 2.2-1.2 3.1-1.6 4-1.6 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm45.3-8.1q1 1.7 2.1 4.3l2.6 5.4 2.6 6 2.5 5.8 2.4-5.8 2.6-6 2.6-5.4q1.2-2.6 2.2-4.3h7.4l1 8 .7 9.3q.4 4.8.6 9.7l.5 9.1h-7.9l-.4-11.5-.8-12.5-2 4.9-2.4 5.3q-1 2.7-2.1 5.1l-1.8 4.1h-5.7l-1.7-4.1-2.2-5.1-2.3-5.3-2-4.9q-.6 6.3-.8 12.5l-.4 11.5h-8l.5-9.1.6-9.7.8-9.2 1-8.1zm61.4 36.1-1.4-3.8-1.3-4h-14.1l-1.4 4-1.3 3.8h-8.4l3.8-10.8 3.6-9.3 3.4-8.3q1.7-4 3.6-7.7h7.7q1.8 3.7 3.5 7.7 1.8 4 3.5 8.3l3.6 9.3 3.8 10.8zm-9.8-28-.8 2.2-1.2 3.1-1.5 4-1.6 4.4h10.2l-1.6-4.5-1.5-3.9-1.2-3zm34 21.8q1.7 0 2.8-.3t1.8-.7q.7-.6 1-1.2.2-.7.2-1.5 0-1.8-1.7-3t-5.7-2.5l-3.6-1.4q-1.7-.9-3.1-2-1.4-1.3-2.3-3-1-1.8-1-4.3t1-4.5 2.7-3.4 4.2-2.2q2.4-.7 5.5-.7 3.6 0 6.3.7 2.6.8 4.4 1.8l-2.4 6.4q-1.5-.8-3.4-1.4t-4.4-.6q-3 0-4.2.8t-1.3 2.5q0 1 .5 1.6t1.3 1.3l2 1 2.5.9q2.8 1 4.9 2 2 1 3.4 2.4t2.1 3.2.7 4.4q0 5-3.6 7.9-3.5 2.7-10.6 2.7-2.4 0-4.4-.3-1.9-.2-3.4-.7l-2.6-.8-1.7-1 2.3-6.4q1.6.9 4 1.6 2.3.7 5.8.7m42.2-29.9h8.2v36.1h-8.2v-15.3h-13.6v15.3h-8.2v-36.1h8.2V801h13.6zm40.6 36.1-1.2-3.8-1.4-4h-14l-1.5 4-1.2 3.8h-8.5q2-5.8 4-10.8 1.7-5 3.5-9.3l3.4-8.3q1.7-4 3.5-7.7h7.8q1.8 3.7 3.5 7.7l3.4 8.3 3.6 9.3 3.9 10.8zm-9.7-28-.7 2.2-1.2 3.1-1.6 4-1.6 4.4h10.3l-1.6-4.5-1.5-3.9-1.2-3zm33.7-8.5q8.2 0 12.5 2.9t4.3 9q0 3.8-1.7 6.2-1.8 2.3-5 3.7l2.3 3 2.3 3.7 2.3 4 2 4h-9l-2.1-3.6-2.1-3.5-2-3.3-2.2-2.8h-4v13.2h-8.1v-35.6q2.6-.5 5.4-.7zm.5 6.9H851l-1.3.2v9.8h2.3q4.6 0 6.6-1.2t2-3.9-2-3.7q-2-1.2-6-1.2zm23.7-6.5h8.2v36.1h-8.2zm37.8 36.1q-1-1.8-2.6-3.8-1.4-2-3.2-4.1-1.7-2.1-3.6-4t-3.8-3.4v15.3h-8v-36.1h8v13.6q3.2-3.3 6.4-6.9l6-6.7h9.6q-3.7 4.4-7.4 8.4t-7.8 8.2q4.3 3.6 8.3 8.6t7.8 11zm14.4-36.1h8v36.1h-8z" aria-label="JUMUIYA YA AFRIKA MASHARIKI" font-family="Times New Roman" font-size="52.1" font-weight="700" style="-inkscape-font-specification:&quot;Ubuntu Bold&quot;" transform="matrix(.18901 0 0 .21163 219.5 -590.5)"/>
<g id="eac-d" fill-rule="evenodd">
<path fill="#008300" d="m230.5-431.6 10.4-2.8-3.2-5.7 17.9-6.7v6.1h5.5v9.3h-30Z"/>
<path fill="#fff" d="M258.5-431.4h-21.8l21.8-5.9zm-4.8-9.2H244l10-3.8zM241-439l2.2 4 14.5-4z"/>
</g>
<use xlink:href="#eac-d" width="600" height="330" transform="matrix(-1 0 0 1 639.1 0)"/>
<path fill="#ff0" stroke="#000" stroke-width="1.2" d="M317.7-580A70.8 70.8 0 0 0 294-443.4v-7.8a63.5 63.5 0 0 1 25.2-121.6h.5a63.5 63.5 0 0 1 25.6 121.6v7.8A70.7 70.7 0 0 0 319.6-580z"/>
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".9" d="m339-458.3.1 10.6c-6.4 1-13.5 7.6-15.4 8.8s-5 3.8-6.7 3.6c-2.9-.4-.8-2.7-.8-2.7s-2 2.4-3.4 1.3c-1.4-.9.8-2.7.8-2.7s-.7 1-2.2.5c-1.4-.4-.4-2-.4-2s-3.8 2-4.5 1.3c-1-1.3.4-2.5.4-2.5l8.9-7.5s-5.8 2.1 0 0c4.9-2 6.3.8 8.5.6a28 28 0 0 0 10.2-5.1c1.7-1.7 1.2-3.5 2.5-4s2-.2 2-.2z"/>
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".8" d="m300-457.5-.1 9.8c6 .8 12.7 7.2 14.5 8.4 1.7 1.1 4.7 3 6.3 2.8 2.6-.3 2-1.3 2-1.3s1.2.6 2.8 0 .8-1.7.8-1.7 2.4.7 3.4-.6c1-1.1-1-2.3-1-2.3s1-.7-.6.2-4.8-2.8-8-3c-3.3 0-3.6 3.2-5.6 1.7-2.1-1.6 1.6-4.2 2.9-4.6 5.1-1.7 9.9.4 3.7-2-3.2-1.2-5.7 1.1-7.8 1-2.2-.1-7.6-3-9-4.6-1.6-1.6-1.2-3.2-2.4-3.7q-1.8-.4-2-.1z"/>
<path fill="none" stroke="#000" stroke-width=".8" d="m326.4-439.5-4.3-1.8m1.1 3.7-5-3"/>
<g id="eac-e" fill="#008300" fill-rule="evenodd" stroke="#000" stroke-dasharray="none" stroke-miterlimit="4" stroke-opacity="1" stroke-width=".4">
<path d="M291.8-462.6c-12.4 6-13-9.8-18.6-9.6 10.5-7 8.8 6 18.6 9.6zM287-480c-6.2 11.3 8.3 12.8 7.8 18.3 7.1-9.6-5-8.8-7.8-18.3z"/>
<path d="M281-475.6c-15.3 2.6-11.1-10.6-17.5-11.7 13.5-4 7.7 6.2 17.5 11.7z"/>
<path d="M279.4-491.2c-8.4 9.9 3.7 10.4 2.3 15.6 8.7-8-.3-7.7-2.3-15.6zm-8.8 1.8c-15.2-2.2-5.6-17.7-10.2-21 12.5.9 4.4 14.5 10.2 21z"/>
<path d="M276.4-509c-14 6.7.1 13.9-5.4 20 13.8-.7 1.6-9.7 5.4-19.8zm-7.8.5c-16.3-7.4.7-21.4-2.2-26.5 11.1 11.3-5.8 15.5 2.2 26.5z"/>
<path d="M279-527.3c-14 1.8-7 14.7-9.9 19.3 11-2.5 2.2-9 10-19.3zm-6.8-3.9c-7.9-12 5.3-14.7 6.2-20.8 3.8 15.8-5.2 10.7-6.2 20.8z"/>
<path d="M288-541.2c-13-3.7-10.6 9.4-15 12.5 11 1.8 8.7-8.7 15-12.5zm-6-5.6c-2.6-10.4 2.6-8.7 8.5-13.3 3.2 8.4-4.7 7.4-8.5 13.3zm16.6-1.6c-10-7.4-11.1 2.6-16.3 4 9.6 5.7 10-2.8 16.3-3.9zm-6-5c.3-4.5 6.3-10.4 12.5-8.4-.3 7.5-7.5 9.4-12.5 8.5z"/>
</g>
<use xlink:href="#eac-e" width="600" height="330" transform="matrix(-1 0 0 1 639.1 0)"/>
<path fill="none" d="M304.6-557s7.3-2 14.7-1.8c7.3 0 14.7 2 14.7 2"/>
<path d="m188.2-240.9.8 4.7 2.5-.5q1-.1 1.3-.5t.3-1.5h.3l.7 4h-.3l-.4-1-.6-.4h-1.1l-2.6.5.6 3.9.3 1 .3.1h.6l2-.3 1.4-.4.8-.7q.5-.6.8-1.8h.4l-.5 3-9 1.6-.1-.3h.4l.7-.4q.3-.2.3-.5v-1.2l-1.4-7.6q0-1.1-.4-1.3-.4-.3-1.1-.2h-.4v-.2l9-1.6.5 2.6h-.3l-.6-1.2-.8-.4h-1.2zm17.2 5.7h-4.6l-.8 1.9-.3 1q0 .3.3.5t1.1.3v.3h-3.7v-.3q.7 0 1-.3l1-1.8 4-9.8h.4l4.2 9.9q.5 1.2.9 1.5t1.1.4v.4h-4.7v-.3q.7 0 1-.3.2-.2.2-.5l-.3-1.2zm-.2-.7-2-4.8-2.1 4.9zm17.8-5.5-.4 4h-.3a5 5 0 0 0-1-2.8 4 4 0 0 0-2.3-1.2 4 4 0 0 0-2.2.2 4 4 0 0 0-1.9 1.6q-.7 1.2-1 3.2a7 7 0 0 0 0 2.8q.3 1.4 1.2 2 1 1 2.3 1.1 1 .2 2-.1t2.3-1.6l.3.2q-1.2 1.4-2.5 2-1.3.5-3 .2-2.9-.5-4-3a6 6 0 0 1-.6-4q.3-1.7 1.3-3t2.6-2a6 6 0 0 1 5.6.8l.4.3.5-.1.4-.6z" font-family="Times New Roman" font-size="18" font-weight="400" style="line-height:125%;text-align:start" transform="translate(167 -386.8)scale(.74556)"/>
<path fill="red" d="M317.2-550.3q-1.5 0-2.9.4a13 13 0 0 1-7 5.8l-.6.2a13 13 0 0 1-9.7.3 42 42 0 0 0-7.6 6.5 13 13 0 0 1-2 9.5 13 13 0 0 1-7.2 6.4q-1.5 4.9-1.7 10c2 1.5 3.7 4.4 4.4 7.9l.2.7c.7 3.8 0 7.4-1.4 9.5q2 4.7 5 8.7c2.4-.2 5.6 1 8.4 3.1l.5.5c3 2.5 4.8 5.6 5 8.2q4.6 2.4 9.7 3.5c1.8-1.7 5-3 8.6-3h.7c3.9 0 7.3 1.2 9.2 3q5.1-1.1 9.6-3.5a13 13 0 0 1 5-8.3 14 14 0 0 1 9-3.5q3-4 5-8.5a13 13 0 0 1-1.5-8.9v-.6q1.4-6 4.7-8.6a41 41 0 0 0-1.7-10 13 13 0 0 1-6.8-5.9l-.4-.6c-2-3.4-2.6-7-2-9.5a39 39 0 0 0-7.9-6.7 13 13 0 0 1-9 0l-.7-.3a14 14 0 0 1-7.6-6q-2.4-.3-5-.3zm8 81.9"/>
<path fill="#fbf014" stroke="#000" stroke-width=".4" d="M354.7-509.4a35.1 35.1 0 1 1-70.3 0 35.1 35.1 0 0 1 70.3 0z"/>
<path fill="#fbf014" stroke="#000" stroke-width=".4" d="M351.7-509.4a32.2 32.2 0 1 1-64.4 0 32.2 32.2 0 0 1 64.4 0z"/>
<g fill-rule="evenodd" stroke="#000" stroke-width=".4">
<path fill="#0087ff" d="m310-525.2 10.6 1.9-1.4 10.6-9 6.2-5-5.5.3-8.7z"/>
<path fill="#fff" d="m307-517.4-4.2.2h-.4v.2h-.1l-.1.3-.4.2v.2l-.3.2-.4.2h-.1l-.1-.4h-.6l-.3.1v-.5l-.1-.1v-1h.2v-.9l.1-.2v-.2l.3-.3.3-.1v-.3l.1-.3.1-.1-.1-.2-.3.2-.3-.2v-.6l.3-.2.1.1.2-.8.3-.3-.2-.5.2-.3-.1-.4.9-.3v-.3l.1-.4.4-.1.3-.2.2.5v.3h.2l.2-.4.2-.1v-.3l.6-.7.2-.2.4-.2h.4l.3-.4v-.4h.2l.2-.2-.1-.3v-.7h-.2v-.2l-.2.3-.2-.1v-.3h-.6l-.2-.4-.2.1v.3l-.2-.1v-.4h-.4l.1-.4.4-.7v-.4l-.4-.4.3-.8.4-.4v-.5l-.3.1.4-.5.7-.3h.4l.6.4.2-.1h.3l.5-.4.5.4v.3h.4l.1.2h.3v-.3l.7-.3 1-.1.9-.5.5.4h1.1l1.7-1.5 5.2 1.2-.3 9-5.4 3-.3-.2-.1.1h-.1v-.5h-.3v.6h-.4l-.4-.2v-.2h.4v-.1l-.3-.1h-.3v-.2l.3-.2v-.1l-.3.2-.2-.1-.2.1.2.3-.3.2v.2l-.4-.1v.2h.2l-.6.4-.2-.2v-.1l-.3.2h-.4v-.1l.4-.1-.1-.1h-.3v-.3l-.1.3h-.2v.5h-.4l-.1-.2s-.3 0-.2.2v.3l-.3-.2h-.2v.3h-.2l-.4-.2.2.3h-.4l-.2.1.2.2.1.2.2.2-.1.1h-.1l-.3.3h-.2l-.1.3-.2.1.1.2h.1v.2h-.1l-.4.4v.1h.3z"/>
<path fill="#fff" d="m314.2-517.3 11.5 6.3.1.9-.4.2.1.4.4.1.1.4 4.5 3.2.3-.2.4.2.1-.4.3-.3.5-1.1-.3-.1.2-.4h.2l.4-.5v-.4l-.2-.3.3.1.4-.9.4-.1.1-.7.2-.2s-.2-.8 0-1.1 1.3-.3 1.3-.3l.6-.7v-.2l.4-.3-.4-.7.8.2.6-.2h.4l.6-.8v-.3l-1.9-2.4v-11.7l1.1-1 1.8-2.5-.5-.2-1.8.2-.5-.6h-.2l-.1-.4-.4-.2-3 1.4-.1.5-.7.6v.4h-.2l-.2-.1-3.1-.7-.2.2h-1l-3.7-2.7h-2.7l-.6-.2v-.3h-5l-1 1 .2 1.3h.5l.2.6h.5l-.1.6h-.1v.7l.2.3.3.2v.5l.6.3.1.7.4.2v.3l-.2.4.4.6-.1.4.2.5v.2l-.1.6-.3.2-.1.4h-.2v.8h-.5l-.2.3-.3-.1v.7l-.3.4h-.3v.3l-.4.2-.1.5v.5l-.5.2v.9l.3.1h.2l-.1.3.3.1.2.5.4-.3v-.3h.5l.6-.3.2.4.2.3h-.4l-.1.2h-.3l-.5-.1v.2l.2.2-.3.2-.1-.2-.3.1h-.2l-.3-.2v.4h-.2l-.2.5.3.3.3.2-.3.4zm17.6 21.8.4-.3v-.2h.4l.2-.5v.5l-.2.2v.3h-.2v.3l-.1-.2zm-1.2-5.6v-.7l-.1-.1.4-.3v-.4l.5-.2v.4h-.3v.6l.2.3v.3l.3.2.3.4v.3l-.3.1-.4-.5-.4.1zm1.5-2.6v-.4l.2-.4-.3-.8h.4l.1.4h.2v-.3s.2-.1.2 0l-.1.9.1.4-.2.3-.3.3z"/>
<path fill="#fff" d="m334.4-487.5-1.3 1-1.8.8-.5.3h-.9l-.7.2-.4.2-.5.5-.8-.5h-1l-.3.3v.5l-.7.3h-.3l-.3.2-1-.1-.4-.4-.5.1-.8.6-.4-.1v-.2h-.3l-.2.2-.5-.1v-.4h-.3l-.4-.6h-.5l-.1.3-.4.3-.4-.1h-1.5l-.4-.7h-.4l-.4-1v-.5l.2-.2v-.6l-.4-.3.1-1-.1-.2-.1-.4-.7-.7v-.3l-.8-.6h-.3v.6l-.4-.1-.2-.3-1 .2-.4-.5-.5.1-.4-.3h-.5l-.4-.4h-.9l-.2-.6h-.6l-.2-.1h-.7v-.3l-.8-.1-.4-.3v-.5l-.6-.3-.5.1-.2-.6-.5-.4-.1-.6-.7-1v-.4l-.4-.4v-.8l-.3-.4v-.4h.2v-.3l-.5-.4-.2-.4-.8-.6h-.6l-.7-.8v-.4l.3-.4h.4l.1-.3v-.3l-.7-1v-.5l.3-.2-.1-.6-.6-.6v-.6l.1-.5v-.2l.6-.2.3-.2.3-.3v-.3l.6-.2v-.3l.5-.6v-.3l.3-.5.7-.3v-.2l.5-.3v-1l-.2-.1h-.3l-.3-.1h-.5v-.3l.3-.4-.2-.2.3-.6 1-.1v-.7l.1-.3-.4-.5v-1l-.2-.3v-.3l-.5-.3-.4-.7h.6l.3-.3h3.5l.1.3v.4l-.2.5-.1.3v.2l-.1.4v.4l-.2.2v.3l-.2.2h.3v.5l-.2.4h.8l-.3.6-.1.4.1.6.4-.4.3.3v-.5l.1-.4.4.2.1-.2-.2-.4.4-.4.4.5.3.1.2.5.3-.6.1.4h.4v.4l.3.4-.4.2v.5h.3v-.5h.4l-.2-.5-.1-.4.4-.6h.4l.2.5h.7l.6-.6.8-.3-.2-.5h-.2l-.3.3-.9-.1-.3-.2-.2.2h-.3l-.8-.3v-.3l-.2-.1.4-.2.2.3h.2l.3-.1.4.3.6-.1v-.3l-.4-.1v-.3h.7l.1-.2.5-.2-.3-.4v-.2l1 .2-.5-.4.1-.4.6.4v-.2l-.4-.3.6-.6 11.6 6.3.1.9-.4.3v.4h.5v.4l4.5 3 .3.5-.3.3-.2.4-.1.7-.2.4v.6l-.4.4-.3.7v.5l.3.4-.2.6.5.4h.3l.9 1 .4.4.2.5-.2.5-.3.1-.3 1v.6l.4.4-.1.4-.2.6-.2.6.2.6.2.5.2.2v.4h-.2l.3.5.4.2v.8h-.1v.2l.4.3.2 1-.2.3v.2h.6l.2.5.4-.1.7.3.3.5z"/>
</g>
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M298.1-512.9c-.3-.3 1-1 .8-1.5q0-1.3 1.6-1.7l.6-.4c.3.2.3.7.6.4s1-1.3 1.5-1.1c-.3.4.3 1.2.7 1.5l.6 1.9q-.2.9-1.4.6c-.8-.3-1 .3-1.6-.2-.1.7 0 1.3-.9 1.6q-.9 0-1-.3-.7-.8-1.2 0-.2-.2-.3-.8" class="eac-landxx eac-rw"/>
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".5" d="M298.4-512.1c.5-1.1 1.1.1 1.3.1 1.5.2 1.5-.1 1.8-1.5.8.6.5 0 2.2.4-.3 0-1 .8-.5.8-.4 1.1.5 1.1 1.1 1-.3.4.5.6-.3 1-.5.3-.5 0-.5.7l-.6.1c-.1.2.3.6.2.6q0 .2-.6.8t-1.3 1l-.7.2-1-1.8q0-.8-.3-1.6v-.9q-.5-.4-.8-1" class="eac-landxx eac-bi"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -0,0 +1,138 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ec" viewBox="0 0 640 480">
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#ffe800" d="M0 0h640v480H0z"/>
<path fill="#00148e" d="M0 240h640v240H0z"/>
<path fill="#da0010" d="M0 360h640v120H0z"/>
</g>
<g fill-rule="evenodd">
<path d="M269.6 290.8 197 367.3l-1.2-1.6 72.4-76.5 1.2 1.6zm50.4 12.5-94.8 100-1.6-1.6 94.7-100z"/>
<path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(-.07 -.07 -.1 .1 265 429.6)"/>
<path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(-.07 -.07 -.1 .1 240.6 390.5)"/>
</g>
<path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/>
<path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/>
<path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6z" transform="matrix(.45 0 0 .64 72.4 -59.8)"/>
<path fill-rule="evenodd" d="m206.2 116 72.4 76.5 1.3-1.6-72.4-76.5z"/>
<path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<g stroke="#000">
<path fill="none" stroke-width="2.3" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.4 -.03 -.05 .35 135.1 147.4)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.14 -.22 .3 .14 175.9 257.4)"/>
<path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 177.6 256.7)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.18 .12 -.13 .33 181 96.4)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.17 -.03 -.03 .33 179.3 159.3)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.06 .25 -.17 .2 228 45.5)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.2 -.2 .2 .24 150.3 241)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.22 -.22 .25 .2 135.6 282.1)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.26 .1 -.2 .32 130.8 147.7)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.15 .2 -.32 .22 178.5 103.3)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.08 .1 -.14 .16 250.7 102.6)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.1 0 -.08 .17 238 136.4)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(0 .14 -.14 .08 287.4 81.1)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.07 .1 -.25 .15 220.7 115.6)"/>
<path fill="#005b00" fill-rule="evenodd" stroke-width="1pt" d="M421.4-20.3c0 18.1-4.6 31.7-11.4 45.3-5.6-18.1-9-27.2-9-45.3s6.8-35.1 12.4-48.7c2.3 12.4 8 30.5 8 48.7z" transform="matrix(.13 .22 -.33 .2 207 70.1)"/>
<path fill="none" stroke-width="2.4" d="M269.6 155.2c1.1 0 28.3-94 119-147.2" transform="matrix(.35 -.2 .14 .28 111.8 227.8)"/>
<path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 200.3 224.6)"/>
<path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.18 -.1 .1 .17 211.1 218.3)"/>
<path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 166.8 232.7)"/>
<path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 170 231.3)"/>
<path fill="red" fill-rule="evenodd" stroke-width="1pt" d="M454.2-169.3c0 4-3.8 7.4-8.5 7.4s-8.5-3.3-8.5-7.4 3.8-7.3 8.5-7.3 8.5 3.3 8.5 7.3z" transform="matrix(.2 -.1 .07 .13 168.1 234.3)"/>
<path fill="red" fill-rule="evenodd" stroke-width=".3" d="M252.7 167.3q.5 1.4-1 2.3c-1.5.9-2 .2-2.4-.7s0-1.8 1-2.3 2-.2 2.3.7z"/>
<path fill="red" fill-rule="evenodd" stroke-width=".3" d="M255 164.9q.5 1.4-1 2.3c-1.5.9-2 .2-2.5-.6s0-1.9 1-2.4 2-.1 2.4.7z"/>
<path fill="red" fill-rule="evenodd" stroke-width=".3" d="M255.5 166c.4.8 0 1.9-1 2.3s-2 .2-2.4-.6 0-1.8 1-2.3 2-.2 2.4.6z"/>
</g>
<path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path fill-rule="evenodd" d="m183.8 158 94.8 100 1.7-1.6-94.8-99.9z"/>
<path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="m460.6 184.3 17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(.14 -.14 .1 .1 86.3 192.2)"/>
<path fill="#cececc" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="m557.8 95.7-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(.1 -.16 .14 .1 114 183.8)"/>
<path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.4 0 0 .3 43.8 69.8)"/>
<path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.38 .1 -.15 .3 76 38.2)"/>
<path fill="#e10000" fill-rule="evenodd" stroke="#000" stroke-width=".7" d="M186.7 151.5c0 1-1 2-2.2 2s-2.2-1-2.2-2 1-1.8 2.2-1.8q2 .2 2.1 1.8zm-3.2 4c0 17.9 10.5 93.9 11.3 95.8 0 2.2-2.3 3.2-3.5.4-3.3-8.7-10.4-80-10.7-96.6-.1-6.9 1.9-7.4 4.2-7.3 1.9.1 4.1 1.9 4.1 4 0 2.4-2.9 4.3-5.4 3.7z"/>
<path fill="#0000c4" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(.48 .15 -.2 .48 16.7 31.6)"/>
<g fill-rule="evenodd">
<path d="m370.4 290.8 72.5 76.5 1.3-1.6-72.5-76.5zM320 303.3l94.8 100 1.6-1.6-94.7-100z"/>
<path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(.07 -.07 .1 .1 375 429.6)"/>
<path fill="gray" stroke="#000" stroke-width="4.1" d="M478.4 60.2v88.6l17.7 88.6 17.7-88.6V60.2z" transform="matrix(.07 -.07 .1 .1 399.4 390.5)"/>
</g>
<g fill-rule="evenodd" stroke-width="1pt">
<path fill="#ffdf00" stroke="#000" d="M301.2 272.8s-17.7 336.6 53.1 336.6S460.6 574 460.6 574l-.8-185z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/>
<path fill="#0000c4" stroke="#000" d="M344.5 304.2c0 17.7-7.9 269.8 27.5 269.8s88.6-17.7 88.6-17.7l-.8-167.3z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/>
<path fill="#e10000" stroke="#000" d="M367.5 321.2c0 17.7 4.5 217.4 40 217.4h53.1l-.8-149.6z" transform="matrix(-.45 0 0 .64 567.6 -59.8)"/>
<path d="m433.8 116-72.4 76.5-1.3-1.6 72.4-76.5z"/>
<g fill="#005b00" stroke="#000">
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.16 -.07 .08 .35 309.5 211)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.05 .07 .4 291.5 182.6)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.23 .14 -.03 .4 296.5 69.4)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.25 .03 .02 .44 274.4 115)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.18 .17 -.04 .35 330 67)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.23 0 .03 .4 280.6 141.9)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.07 .07 .38 290.1 196.8)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.2 -.03 .05 .4 292.7 166.8)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.22 .15 -.05 .38 305 65.5)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.24 .05 0 .44 278.9 97.7)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.17 .17 -.06 .33 339 70)"/>
<path d="M428.2-17s81.5 90.7 111 154.1c29.4 63.5 54.4 156.3 54.4 156.3s2.2-86-36.3-163C505.2 32.8 425.9-12.5 428.2-17z" transform="matrix(.24 .02 0 .4 276.4 128)"/>
</g>
<path fill="#ffdf00" stroke="#000" d="M301.2 272.8S265.8 609.4 372 609.4c88.5 0 88.5-53.1 106.2-53.1l-17.7-124z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
<path fill="#0000c4" stroke="#000" d="M336.6 308.3c0 17.7-35.4 212.6 53.2 265.7 35.4 17.7 88.5-17.7 88.5 0l-17.7-141.7z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
<path fill="#e10000" stroke="#000" d="M372 343.7c0 17.7-17.7 159.4 35.5 194.9 35.4 35.4 124 25.8 124 25.8l-70.9-132.1z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
<path d="m456.2 158-94.8 100-1.7-1.6 94.8-99.9z"/>
<path fill="#cececc" stroke="#000" d="m460.6 184.3 17.7 35.4v17.7c-.8-1.3 0 17.7-17.7 17.7S443 219.7 443 219.7s-17.7 35.4-17.7 70.9 17.7 53.1 17.7 53.1-2.6-36.7 17.7-35.4c20.4 1.2 17.7 17.7 17.7 17.7v35.4h17.8V219.7l17.7-35.4-27.2-53.2-26 53.1z" transform="matrix(-.14 -.14 -.1 .1 553.7 192.2)"/>
<path fill="#cececc" stroke="#000" d="m557.8 95.7-26.3 70.8 17.7 53.2-35.4-17.7 35.4 53.1v35.5H567V255l35.5-53.1-35.5 17.7 17.8-53.2-26.9-70.8z" transform="matrix(-.1 -.16 -.14 .1 526 183.8)"/>
<path fill="#e10000" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c0 35.8 20.9 187.8 22.6 191.5.1 4.5-4.8 6.4-7.1.9-6.6-17.4-20.8-160-21.3-193.3-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.4 0 0 .3 596.3 69.8)"/>
<path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.38 .1 .15 .3 564 38.2)"/>
<path fill="#e10000" stroke="#000" stroke-width=".7" d="M453.4 151.5c0 1 1 2 2.1 2s2.2-1 2.2-2-1-1.8-2.2-1.8q-2 .2-2.1 1.8zm3 4a1152 1152 0 0 1-11.2 95.8c0 2.2 2.3 3.2 3.5.4 3.3-8.7 10.4-80 10.7-96.6.1-6.9-1.9-7.4-4.2-7.3-1.9.1-4.1 1.9-4.1 4 0 2.4 2.9 4.3 5.4 3.7z"/>
<path fill="#0000c4" stroke="#000" d="M422.5 137c0 2-2 3.7-4.3 3.7s-4.4-1.7-4.4-3.7 2-3.8 4.4-3.8 4.3 1.7 4.3 3.8zm-6.2 7.9c31.5 61.4 48.7 166.7 50.4 170.5.1 4.4-4.8 6.4-7.1.8-2.5-3.3-12.7-100.2-49.1-172.2-.3-13.7 3.7-14.8 8.3-14.5 3.7.2 8.3 3.7 8.3 7.9 0 5-5.8 8.7-10.8 7.5z" transform="matrix(-.48 .15 .2 .48 623.3 31.6)"/>
</g>
<g fill-rule="evenodd" stroke="#000" stroke-width="1pt">
<path fill="#e10000" d="M478.4 698a53 53 0 0 0 53.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(.35 0 0 .7 123.5 -90)"/>
<path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3z" transform="matrix(.35 0 0 .7 123.5 -90)"/>
<path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(.35 0 0 .46 112.5 51)"/>
<path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(.35 0 0 .46 112.5 51)"/>
<path fill="#e10000" d="M478.4 698a53 53 0 0 0 53.1 0V556.3h-35.4c17.7 53.1 17.7 106.3-17.8 141.7z" transform="matrix(-.58 0 0 .62 630.4 -10.2)"/>
<path fill="#0000c4" d="M513.8 609.5c0 88.5-42.5 108.2-42.5 126 17.7 0 29.5-8.3 42.5-19.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(-.35 0 0 .7 516.5 -90)"/>
<path fill="#0000c4" d="M478.4 609.5c-.9 51.7-44.8 99.6-36.5 110.2 9.4 9.5 36.5-21.7 71.9-4 17.7-17.7 19.4-107.6 17.7-106.3z" transform="matrix(-.35 0 0 .7 516.5 -90)"/>
<path fill="#ffdf00" d="M513.8 609.5c0 88.5-40.7 94.4-40.7 118 17.7 0 40.6-12.9 40.7-11.7 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(-.35 0 0 .46 527.5 51)"/>
<path fill="#ffdf00" d="M478.4 609.5c-.9 51.7-43.8 95.7-35.5 106.3 9.5 9.4 35.5-17.8 70.9 0 17.7-17.8 19.4-107.7 17.7-106.3z" transform="matrix(-.35 0 0 .46 527.5 51)"/>
</g>
<g fill-rule="evenodd" stroke="#000">
<path fill="#908f8a" stroke-width="4.5" d="m198.6 78-89.7 35.4 89.7 35.4 44.8-17.7 22.4 17.7 22.4 35.4 22.5-35.4 22.4-17.7H1535V95.7H333l-22.4-17.8c0-17.7 4.7-35.4 22.5-35.4h89.6c0-17.7-44.8-53.1-134.5-53.1-89.6 0-134.5 35.4-134.5 53.1h89.7c17.7 0 22.4 17.7 22.4 35.5l-22.4 17.7z" transform="matrix(.12 0 0 .22 217.8 324.4)"/>
<path fill="#b74d00" stroke-width="1.8" d="M204.3 95.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.7H541V78H204.4zm0-17.7H541v17.7H204.4zm0-17.7H541v17.7H204.4zm0-17.8H541v17.8H204.4zm0-17.6H541V7H204.4z" transform="matrix(.28 0 0 .27 216 334.6)"/>
<path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 .27 171.9 315.2)"/>
<path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 -.27 171.9 382.2)"/>
<path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 159.6 315.2)"/>
<path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 .27 216.2 315.2)"/>
<path fill="#908f8a" stroke-width="3.3" d="m423.2 60.2 137.8 124h19.7L443 60.3h-19.7z" transform="matrix(.25 0 0 -.27 216.2 382.2)"/>
<path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 238.4 315.2)"/>
<path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 204 315.2)"/>
<path fill="#908f8a" stroke-width="3.1" d="M425.2 60.2v124h17.7v-124z" transform="matrix(.28 0 0 .27 194 315.2)"/>
</g>
<g fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt">
<path d="M655.5 396.9c0 88-55.6 159.4-124 159.4s-124-71.4-124-159.4 55.5-159.5 124-159.5 124 71.4 124 159.4zm-17.7 0c0 78.2-47.6 141.7-106.3 141.7s-106.3-63.5-106.3-141.7c0-78.3 47.6-141.8 106.3-141.8s106.3 63.5 106.3 141.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a83 83 0 0 1 82.7 0z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path d="M579.8 250c-14.9-8.1-31.2-12.6-48.3-12.6s-33.4 4.5-48.3 12.5l7 16.4a83 83 0 0 1 82.7 0z" transform="matrix(.58 0 0 -.62 9.8 479.3)"/>
</g>
<path fill="#a7cfff" fill-rule="evenodd" d="M379.6 235.9c0 48.5-27.7 87.8-61.7 87.8s-61.6-39.3-61.6-87.8 27.6-88 61.6-88 61.7 39.4 61.7 88"/>
<path fill="#afff7b" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c1.1 26.6-4.6 39.6-11.9 67.3-1.9 3-11-6.5-16.4-11.2s-7.8 4.2-14.6-3c-6.7-7.4-11 2-16-4.2s-51.3-7-51.3-7.6c4.6-2.2 28.2.2 24.4-11.1-4.3-11.8-31-.4-34.6-15.4-2.5-15-53.6-15.6-57.3-19.2 1.5 5.6 39.8 8 38.9 22.5-.9 6-37.7 7.7-41.3 12.7-3 6.3 29-1.7 30.1 6 0 3.2-4.7 0-21.3 5-8.4 2.5 15.4 10.3 6.4 14.6s-28.3 6.2-27.5 8c3 9 44.7 19.6 40.6 21.1-14.8 6.6-22.6 10.9-29.7 14.7a168 168 0 0 1-31.1-100.2c31.7-11.4 25-13.8 83.6-13.8s78 2.3 129 13.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M637.8 396.9c-8 0-16.4 3.4-25 3.4s-17.5-3.5-26.5-3.5-19.3 4.6-28.5 4.6c-9.3 0-17.4-4.5-26.7-4.5s-18.6 3.4-27.8 3.4-18.3-3.5-27.2-3.5-17.7 3.5-26.2 3.5-16.8-3.5-24.7-3.5q.2-29.4 8.4-55.1c27 2 11-15.7 27-15.7a33 33 0 0 1 25.3 9.8c2.4 0 14.4-11.4 27.9-9.8s8.5 27.3 26.4 28.6c9 6.8 14.3 11.1 26.7 13.9 17.7 1.6 68.4-2.5 68.7-.2a188 188 0 0 1 2.2 28.6z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-.2-3.5 10.3-7 14.9-7.4s8.5 7.4 8.5 9.1-4.7-4.2-8.6-4.3-12.3.6-12.3 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(.2 0 0 .48 217.2 59.5)"/>
<path fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M549.9 474c0-5.7 13.5-9.5 13.5-18.6s-12-9.3-12.4-17.8c-1-4 11.8-6.6 16.4-6.9s10 8 10 9.6-5.4-5.2-9.3-5.3-14.6.6-14.6 2.3c0 3.4 14.8 7.6 13.7 19-1.1 11.2-12.7 14.6-12.7 18s5 12.8 5 12.8-9.7-7.5-9.7-13.2z" transform="matrix(-.2 0 0 .48 445.8 59.1)"/>
<path fill-rule="evenodd" d="M333 264.9c0 1.3-.7 2.4-1.5 2.4s-1.4-1.1-1.4-2.5.6-2.4 1.4-2.4 1.5 1.1 1.5 2.5m17 9h.4v19.5h-.5zm4.1-1.6h.5V292h-.5z"/>
<path fill-rule="evenodd" d="M352.6 281.2v-.5l4 .7v.5z"/>
<path fill="#b74d00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M497.3 478s26 11.4 31.7 18.2 3.4 6.8 3.4 6.8l57.7 2.3c0-3.4 10.2-3.4 12.5-11.4s2.3-10.2 2.3-10.2l-18.1 5.7 1-10.2H572l-2.3 10.2-34-1.1L538 461l-6.8 1.1-1 26c-1.2 0-31.8-7.9-33-10.1z" transform="matrix(.58 0 0 .62 7 -9.5)"/>
<path fill="#fede00" fill-rule="evenodd" stroke="#fede00" stroke-width="1pt" d="M440.5 316.3s37.7-11.2 92.1-10.4 92.1 12.8 91.3 12.8-10.4-18.4-10.4-18.4-38.4-10.5-81.7-11.3c-43.2-.8-80.9 8-80 8.8z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path fill="#38a9f9" fill-rule="evenodd" d="m306 169.8 13.6-.2.2 7.9-13.6.3zm-31.2 4.3L270 182l16.2-2-1.3-7.7-10.1 2zm13.7-3 13.6-1.1.6 7.8-13.5 1.2zm48.9-.7-13.5-1-.5 8 13.5.8zm29.2 5 4.9 9.6-14.6-3.6 1.6-7.7 8 1.6zm-11.8-3-13.4-1.7-1 7.8 13.5 1.8z"/>
<path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="m532.6 323.5-2.5-13.5-7.6 11.5 2.8-13.5-11.3 7.7 7.6-11.3-13.4 2.8 11.5-7.6-13.5-2.5 13.5-2.6-11.5-7.6 13.4 2.8-7.7-11.3 11.4 7.7-2.8-13.5 7.6 11.5 2.5-13.5 2.6 13.5 7.5-11.5-2.7 13.5 11.3-7.7-7.7 11.3 13.5-2.8-11.5 7.6 13.5 2.6-13.5 2.5 11.5 7.6-13.5-2.8 7.7 11.3L540 308l2.8 13.5-7.6-11.5z" transform="matrix(.58 0 0 .62 9.6 -10.2)"/>
<path fill="#ffdf00" fill-rule="evenodd" stroke="#000" stroke-width="1pt" d="M547 293.9c0 9.3-6.6 16.8-14.8 16.8s-14.8-7.5-14.8-16.8S524 277 532.2 277s14.8 7.6 14.8 17z" transform="matrix(.57 0 0 .5 18.3 21.8)"/>
<path fill-rule="evenodd" d="M320.7 170.6c0 .5-1.3 1-2.8 1s-2.8-.5-2.8-1 1.2-1 2.8-1 2.8.4 2.8 1m6 0q-.2.9-2 1c-1.8.1-2.2-.5-2.2-1s1-1 2.1-1 2.1.4 2.1 1"/>
<path fill="none" stroke="#000" stroke-width="1pt" d="m529.4 297.9.8.8c-1.9-2-1-1.2 1.6 3.2 2.4-.5 3.1-1.4 4.8-2.4" transform="matrix(.56 -.18 .17 .6 -26.7 90.6)"/>
<path fill="none" stroke="#000" stroke-width="1pt" d="m527.8 304.3.8.8c-1.9-2-1-1 3.2 1.6 4 .5 8.1-1.2 10.5-4" transform="matrix(.58 0 0 .62 8.7 -10.2)"/>
<path fill="#b7e1ff" fill-rule="evenodd" d="M281.4 194.8s1 8-5.1 18-5.1 6.4-5.1 6.4 2.8 5.5 2.3 5.5-4.7-5-4.7-5l-5 5.5s4.6-8.5 4.1-8.5-1.4-3-1.4-3l3.7-1.5s5.6-10.4 5.6-9.9-16.7 11.4-16.7 11.4zm3.7 3c-.5 0 2.3 8 4.7 12 2.3 4 2.3 8.9 2.3 8.9l7.9 4-10.2-15.4 6.5 2.4zm0 20.9s5.6 6 6 8 .5 6.4.5 6.4l-2.3-5-3.3 4.5s2.4-7 1.9-7.5-3.7 2.5-3.7 2.5 1.4-4 1.4-4.4 0-3-.5-4.5m-27.9 13.9c1.9-1.5 5.6-2.5 5.6-2.5s-2.3 4-2.8 4-1.8 0-2.8-1.5m64.1-21.8s12.1 7.4 12.1 7.9-7.9-3.5-7.9-3.5zm-21.8-15.5c1 .5 17.7 14.4 17.2 14.4s-7.4-4-7.4-3.4v3.4l-3.8-7.9-.9 3zm4.2 22.4 4.6 9.4 4.7-1s-8.8-8.4-9.3-8.4m14.4-6 .5 9s2.7 2.5 2.7 2-2.7-10.5-3.2-11"/>
<path fill="#984000" fill-rule="evenodd" d="M182.6 89.5s21-11.6 44.9-20.2a304 304 0 0 1 54.2-14.4c7 0 19.2 17.8 21.2 17.8s10.1-5 20.3-5 16.1 8 18.2 8h18.2c2 0-6.1-19.8 0-18.8 3 .5 28.8 4.5 52.8 12.2 24 7.8 58 21.6 58 21.6S414.9 98 400 95.9c-2 1 0 13-3 7.7-4.6-1-21.7-3.7-24.7-3.7s-8.7 3.4-16.8 5.4c-8 2-18.2 5-18.2 5l13.2 20.7-16.2 8s-10.1-23.8-14.2-23.8-6 16.8-11.1 15.8-7-15.8-11.1-19.8c-4-3.9-25.4-5.4-33.5-7.3-8-2-21.1-3.5-28.2-5.5s-14.2 5-17.2 5 4-6 1-7-5 3-7 3-23.3-4-25.3-5 5-4.9 3-4.9z"/>
<path fill="gray" fill-rule="evenodd" stroke="#772600" stroke-width="3.7" d="M463-65c0 21.2-20.6 38.4-45.9 38.4S371.3-43.8 371.3-65s20.5-38.3 45.8-38.3S463-86.1 463-65z" transform="matrix(.22 0 0 .26 231.6 96.5)"/>
<path fill="#984000" fill-rule="evenodd" stroke="#772600" stroke-width="5.3" d="M284.7-60c6.7-6.6 15-16.6 36.7-16.6 5-1.7 5-11.7 16.6-11.7s8.3 10 16.7 13.4c8.3 3.3 76.6-3.4 76.6-3.4s6.6 5 6.6 11.7-5 11.6-6.6 11.6-68.3-5-73.3-3.3-8.3 3.3-20 3.3-15-11.6-23.3-11.6-16.6-1.7-30 6.7z" transform="matrix(.27 0 0 .32 205.4 100.7)"/>
<path fill="none" stroke="#772600" stroke-width="3.5" d="M487.9-76.6h26.6c9.6.1 12.9 3 21.7 3.3h23.3c8.5-.3 13-2.3 21.6-3.3 14.5-.2 9.6-1.3 6.7-10-2.6-6.5-3-9.6-6.7-13.3-1.4-8-4.6-10.8-5-20-1.5-7-4.3-11.7-1.6-20 3.8 5.7 5.3 8 15 8.4 10 0 13.9-.3 20 3.3 4.6 4.9 10.8 3.3 20 3.3 7.6 1.4 8.9 5.3 14.9 8.3 7.1 4 11.7 5 21.6 5 8 1.5 15 2.6 20 5 4.3 5.1 11 6.4 20 6.7 5 0 9-.5 13.3-1.7 7.7.4 15.5 0 25 0 6.2 7.2 7.6 9.9 18.3 10 7.4 5.2 13.6 6 20 8.3h25c9 .7 11.8 4.4 20 6.7a201 201 0 0 0 21.6 8.3 108 108 0 0 0 21.7 1.7c6.1 3.2 13.6 3.4 18.3 6.6 6.9 1.5 16.3 3.3 21.6 5 8.8 1.2 12.2 4 20 5 6.7 2-2.2 3.6-6.7 5-9.8-.3-10.5-4-20-5-5-2.9-12.6-2.5-20-5h-1.6c6.6 4 13 6.5 10 13.4-8.5 0-15.4-1.1-23.3-1.7-8.4-1.6-12.2-3.3-21.6-3.3 9.4-2.3 11.8.2 18.3 3.3 2.4 8-2.8 5-11.7 5-7.6-2.7-12.2-6-21.6-6.7h-20c9.9.4 12 4.1 18.3 8.4.5 2.6-.1 2.4-5 3.3-5.2-4.5-11.9-6-20-8.3-7.9-.3-16.2-1-23.3-3.4-4.9-.3-4.1-6.1 6.7 3.4 6.5 3.8 8.8 7 8.3 10-8.6-2.2-12.8-5.6-18.3-8.4a61 61 0 0 0-23.3-3.3c-8.6-2.3.9-3.6 6.6 5 12.4 8.8-1.6 5-6.6 3.3-7.5-2.1-15.3-5.2-21.7-6.6-5-1.5-9.4-2.9-15-3.4 8.7.8 11.6 3.9 15 10 8.8 6-.4 3.1-8.3 1.7-5-4.4-11.5-6.7-15-11.7-8.3-4.1-8.6-9-3.3 1.7 1.3 3.4 1 10.8 1.6 11.7-6.1-6.7-4.8-8.4-11.6-8.4-4.7-3.2-11.5-5.7-15-10-6.4-.6-6.8-2.9-13.3-5 5.3 6.3 12.4 12.5 16.6 18.4 7.6 4.2 9.7 8 15 11.6 2.1 3.7 8 6.7 1.7 1.7-7.2-7-12.5-8.7-23.3-13.3-6.2-5-8.4-7-15-11.7-9-2.9-5.5-4.5 0 5 6.3 5.8 11.1 12.2 16.6 16.7a68 68 0 0 0 15 13.3c1.5 2.2 6 2.6 0 3.3-5-4.6-12.4-7.5-18.3-11.7-8.3-2.3-12.2-6.6-18.3-11.6-4-5.9-10.4-10.4-15-15-9.6-3.8 1.9 3.6 5 8.3 2.1 6.1 4.8 11 6.6 16.7 2.8 5.5-8.4-1.3-11.6-3.3a57 57 0 0 0-21.7-8.4 298 298 0 0 0-20-3.3c-7.5-2 4.1 4.8 8.4 11.7 8.4 7.9-8.3 1.4-13.3 0a125 125 0 0 0-25-1.7c-10.7.6-3 2 0 6.6 3.3 2.6 5.6 8 5 10-7-1-13-3-21.7-3.3-7 2.3-15.3 1.7-23.3 1.7-.3 4.2 1.5.6 5 5 5.8 2.3 9.6 5.1 8.4 8.3h-48.3c-5.3 1.4 1.1.7 5 6.7-2.2 5.4-5 3.3-11.7 3.3-4.5-1.8-13.6-2.6-18.3-5-4.7 0-4.3-1.2-8.3-1.7 14 10 7 7.5 15 15 1.3.5 4.5 1.7 1.6 1.7M371.3 73.3c-1 0-3.2-5.4-6.6-10-2.4-6-5.4-2.6-8.4-11.7.4-9.4.7-11 0-20-6.8-4.8-9.7-6.2-15-15-8.4-7 1.3-19 2.9-27.8-7.4-1.6-11 11.5-22.3 16.2-8.2 5.5-1-11.4-5-21.2-2.7-13.9-10.8 7-13.8 12.9-5.5 3.7-7.2 8.5-15 1.6 0-5.1 4.9-19.5 2.8-22.3-7.8 3.9-18 15.5-26.1 17.3-8.2-1.7 1.7-14.8 1.7-24.5-3-1-14.7 25.8-19.5 26s-2.7-26-5-25.4c-3.5 5-10.6 15.4-15.5 19-9.5-1.3 1.4-17.5 2.8-23.5 1.6-7.2-8.9 13.8-14.5 15.1-4.1 3.6-12.2 6-15 6.7 3.2-6.2 19-18.7 18-22.3-9.3.3-23.4 12.5-31.3 14-5.2 0-12.4 1.7-13.3 1.6.4-8 19.4-14.6 22.4-19.5-9.3 1.5-27.2 9.7-32.4 16.2-6.2 1.3-14 3-20 0 .9-7.5 14.9-22 18-26.8-8.5 3.7-12.7 6.6-21.7 8.3-1.7 1.7-6.5 5.3-5 1.7 2.7-7 6.7-10 10-15-7.5 1.4-10.3 5.7-18.3 10-5.1.2-19.7 14.9-24.6 15.1a69 69 0 0 1-28.3 13.3c-7.6 1.4-11.3 3-15 6.7 3.8-6.7 9.6-13 15-16.6a30 30 0 0 1 15-13.4c1.9-2.3 7.1-2.9 1.6-3.3-4.7 4.2-12.7 9-16.6 11.7-5.1 3.2-11 6.4-13.4 5 2.7-7.2 7.5-9 11.7-15 8.8-5.6 0-2-6.7 0-4.3 3.8-12 6.7-18.3 10-7 1.8-11.7 6-20 8.3 0 2.4 2.4-4.3 3.4-6.7 6.8-7.4 8.6-9.5 16.6-11.6 2-2.9 4.4-1.7-1.6-1.7-4.6 4-10.8 6.2-16.7 10-5.9 1.3-13.6 1.7-21.6 1.7-10.4 1.2-9.5 2 0-3.4 5.3-5 9.7-3.7 10-10-6.3 4.6-14 8-21.7 11.7-6.4.2-8.1 1.7-15 1.7 3.3-3.4 5.3-7.7 10-10 7-7.7-4.4-1.5-6.7 0h-25c-4.4 5.6-.2 0 3.4-3.4 4.3-2.2 8.8-5.1 8.3-6.6-5 4.3-10.7 6.3-15 10-4.6 1.4-10 2-10 3.3 3.7-5.3 9.6-8.6 13.4-13.3 5.6-1.2 10.4-3 11.6-5h-23.3 16.6c8.5 0 15.7-.8 23.4-1.7 13.2-2.2-1.2-3.3-8.4-3.3-1.3-2.6 4.2-4 10-5C-6.7-69-.4-71.1 5-73.3a45 45 0 0 0 13.3-6.6c-5 .2-5 1.4-10 1.6 7.5-.5 12.8-1.6 21.7-1.6a239 239 0 0 0 21.6-8.3c3-3.6 4.2-3.4-3.3-3.4 6.7-2.1 16.2-3.2 21.6-5a94 94 0 0 0 20-6.6c4.9-3.3 7.7-7.2 13.3-10 6.5 4.4 6.6 5 18.3 5 9.4-.1 15.2-2.4 20-6.7 7.2-2 8.5-5.4 16.7-6.6a134 134 0 0 0 23.3 1.6c8-2.1 15.7-6 21.6-10 5.1-2.5 11.2-6.1 16.7-8.3 6 3.1 10.8 5.6 18.3 6.7 7.7-1.2 11.8-5 18.3-6.7a28 28 0 0 1 15-8.3c9.7-4.8 9 1.5 13.3 6.6 5 5.2 11.4 2.7 18.3 5 3.9 6 6.7 10 11.7 13.3 3.9 4.8 8.5 6 16.7 6.7 3 4 .6 6.8 6.6 8.3 2.4 2.6 6.5 3.6 10 5" transform="matrix(.27 0 0 .32 205.4 104.9)"/>
<path fill="none" stroke="#782600" stroke-width="3.1" d="M468.7 30.8v.8c0-2.3 0-1 1.7 3.4.6 3.6-.8 3.2-2.5 5.8-.3 3.7-.8 6.4-.8 10.8-.6 3.6-2.6 7-4.2 10-1.6 3.1-8.5 4.9-8.3 9.2-4 1.1-4.1-1.5-4.2-5.9-2.4-2.7-3.2-6.4-5-10-1-3.4-3.4-6-5-10-2.4-3.7-4.5-4.8-6.6-9.1-.9-2-.7-4.6-2.5-5.8-2.7-3.5-4.5-4-9.2-4.2-3.6.8-5 2.4-8.3 3.3-2.6.9-7.6.6-10.8 1.7-.8 1.3 1.6 2 2.5 5-2.2 1.8-3 4.9-4.2 7.5-2 2.5-3.3 3.7-4.2 7.5 1.4 2.3.2 5.4-1.6 7.5-.6 3.8-2.5 5.9-3.4 9.1-2.6 1.9-3.6 3.6-5.8 6.7-1.9 2.7-3.6 2.5-8.3 2.5-3.7-1-4.2-3-7.5-4.2q-.2-1.3-1.7-1.6" transform="matrix(.27 0 0 .32 205.4 104.9)"/>
<path fill="#812e00" fill-rule="evenodd" d="M307.6 125.5s-.4 5-3.6 8.3-9.8 7.1-9.8 7.1 8.9-4.2 9.8-3.3-5.7 8.3-5.7 8.3 8.7-7.7 9.8-7.7 3.6 7.5 4.6 7.3-2-9.5-1.6-11c.4-1.4 0-9.3 0-9.3l-3.4.3zm20.5-.6s-.4 5.3-3.6 8.8-9.8 7.6-9.8 7.6 8.9-4.5 9.8-3.5-5.7 8.8-5.7 8.8 8.7-8.2 9.8-8.2 3.6 8 4.6 7.8-2-10.2-1.6-11.7c.4-1.6 0-10 0-10zm-28.7-48c0 .9-1 1.7-2.1 1.7s-2.2-.8-2.2-1.8 1-1.8 2.2-1.8 2.1.8 2.1 1.8z"/>
</svg>

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ee" viewBox="0 0 640 480">
<path fill="#1791ff" d="M0 0h640v160H0z"/>
<path fill="#000001" d="M0 160h640v160H0z"/>
<path fill="#fff" d="M0 320h640v160H0z"/>
</svg>

After

Width:  |  Height:  |  Size: 225 B

View File

@@ -0,0 +1,38 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-eg" viewBox="0 0 640 480">
<path fill="#000001" d="M0 320h640v160H0z"/>
<path fill="#fff" d="M0 160h640v160H0z"/>
<path fill="#ce1126" d="M0 0h640v160H0z"/>
<g fill="#fff" stroke="#c09300" transform="translate(-40)scale(.8)">
<path stroke-linejoin="round" stroke-width="1.3" d="m450.8 302.4 68.5 63.6-4.9-115.5c-.7-17.5-15.9-13.5-27-7.2-11.1 7.2-24 7.2-37.4 2.5-13.5 4.7-26.3 4.7-37.4-2.5-11-6.3-26.3-10.3-27 7.2L380.7 366z"/>
<path id="eg-a" fill="#c09300" stroke="none" d="m393.5 246.5-4.8 112.3-8 7.2 4.9-115.5a24 24 0 0 1 7.9-4m9.6 8-4 94-8 8.2 4.8-108.5c1.6 1.6 6.3 5.5 7.2 6.3m8.7 7.2-3.1 78.4-6.5 6.3 4-89.4c1.6 1.5 4.8 3.8 5.6 4.7m9.5 4-3.1 66.8-6.3 5.1 3.1-74.3c1.6.7 4.7 2.4 6.3 2.4m8.8 0-2.3 55.7-6.5 6.3 2.5-61.3c1.5 0 5.6 0 6.3-.7"/>
<use xlink:href="#eg-a" width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)"/>
<path fill="#c09300" stroke-width="1.1" d="m453.2 315 9.6 43.8-3.2 3.2-3.3-2.5-5.4-39 2.3 39-3.2 4-3.1-4 2.3-39-5.5 39-3.3 2.5-3.2-3.2 9.6-43.7h6.4z"/>
<g id="eg-b" fill="none" stroke-linejoin="round" stroke-width="1.3">
<path fill="#fff" stroke-width="1.2" d="m428.5 295.8-19.1 67.7 26.3 4 11.1-50.9z"/>
<path d="m422.2 319 2.3 5.5 12.4-11.8"/>
<path d="m430.8 305 2.6 24.3 7.9-10.4m-3.2 4 4.3 15m1.7-5.5-8.7 13.2m2.7 13.2-2.8-13.2-2.4-13.4-5.9 7.9-2.5-9.1-8.2 8.4 4.1 15.2 5.8-9.4 3.1 9.6 6-9.2"/>
<path d="m415 362 5.3-7.5 3.4 11.5 4.8-8 3.1 9.6"/>
</g>
<use xlink:href="#eg-b" width="100%" height="100%" transform="matrix(-1 0 0 1 900 0)"/>
<g stroke-linecap="round" stroke-linejoin="round" stroke-width="1.3">
<path stroke-width="2.4" d="M450 393.8c20 0 39-1.6 50.2-4.7 4.7-.9 4.7-3.3 4.7-6.5 4.8-1.6 2.4-7.2 5.7-7.2-3.4 1-4-5.5-8-4.7 0-5.6-5.7-6.3-10.4-4.7-9.5 3.1-26.3 3.9-42.2 3.9-16-.8-32.6-.8-42.2-4-4.7-1.5-10.3-.8-10.3 4.8-4-.8-4.7 5.6-8 4.7 3.3 0 .8 5.7 5.6 7.2 0 3.2 0 5.6 4.8 6.5 11 3.1 30.2 4.7 50.1 4.7"/>
<path d="M422.9 363.5c6.4.9 13.6 1.6 19.2.9 3.2 0 5.5 5.5-.9 6.3-5.5.7-14.3 0-19-.8a231 231 0 0 1-18.4-4c-5.6-2.4-1.6-7 1.6-6.4a105 105 0 0 0 17.5 4m54.2 0c-6.4.9-13.6 1.6-19 .9-3.4 0-5.7 5.5.7 6.3 5.6.7 14.3 0 19-.8 4-.8 12.8-2.3 18.4-4 5.6-2.4 1.6-7-1.6-6.4a105 105 0 0 1-17.5 4"/>
<path d="M403 360.4c-4.8-.9-7 4.7-5.5 7.9.7-1.6 4-1.6 4.7-3.2.9-2.4-.7-2.4.9-4.7zm19.2 14.7c0-3.2 3.1-2.8 3.1-6 0-1.5-.8-4-2.4-4a3.4 3.4 0 0 0-3.2 3.2c-.7 3.1 2.5 3.6 2.5 6.8m22.7-9.1c4.7 0 4.2 6.3 2 9.5 0-2.3-4-3.2-4-4.8 0-2.4 3.6-2.4 2-4.7m52-5.6c4.9-.9 7.2 4.7 5.6 7.9-.7-1.6-4-1.6-4.7-3.2-.9-2.4.7-2.4-.9-4.7M478 375c0-3.2-3.2-2.8-3.2-6 0-1.5.8-4 2.4-4a3.4 3.4 0 0 1 3.2 3.2c.7 3.1-2.5 3.6-2.5 6.8zm-23-9c-4.7 0-4.2 6.3-2 9.5 0-2.3 4-3.2 4-4.8 0-2.4-3.6-2.4-2-4.7"/>
<path stroke-width=".9" d="M404.7 362c1.6 0 4 .7 4.7 1.6zm7.9 2.4c.8 0 4 .7 5.5 1.6zm28.6 3.2c-1.5 0-4.7 0-5.5.7l5.5-.8zm-8.7 0c-.9-.9-4-.9-5.6 0zm62.8-5.6a8 8 0 0 0-4.7 1.6zm-7.8 2.4c-1 0-4 .7-5.6 1.6zm-28.7 3.2c1.5 0 4.7 0 5.6.7l-5.6-.8zm8.7 0c.9-.9 4-.9 5.6 0z"/>
<g fill="#c09300" stroke="none">
<path d="M403.3 374.6q-.8-.3-.6-1 .3-1 1-.8c.4 0 .9.6.9.8l-.4.7-.2.1q-.1.3-.7.2m55 3.9q-.4-.2-.6-.7c0-.4.6-1 1-1l.8.4q.5.6-.1 1.2-.5.3-1.1 0zm.3 2.5q-.5-.2-.6-.8t.5-.9l.4-.2.4.2q.6.2.7.8 0 .5-.7.8-.4.3-.7 0z"/>
<path d="M407.8 370q-.7.1-1.2.6c-.6.1-1.4.5-2 0-.6-.1-1.4 0-1.5.8.1.7 1 1 1.6.6.4-.5 1.5-.9 1.7 0-.5.8-.4 1.7-.8 2.4q-.1.7-.5 1.3-.8 0-1.4.3a2 2 0 0 0-1.6.8q-.7.9-.9 2c.1.6 1 .8 1.6.9l2 .6 3.2.9 4.8 1.1.5.1c.7.2 1-.5 1-1l1-3.6c.2-.5.5-1.5-.4-1.3q-.7.6-1.6.8c-.9 0-.4 1 0 1.3q0 1-.5 1.8-.9.3-1.8-.2c-.5 0-1.7-.3-1.2-1l.5-1.8.5-2c-.4-.7-1 .3-1.5.4s-1.6.3-1 1c.6.4.2 1.1 0 1.7 0 .7-.8 1-1.4.7-.6 0-1.5-.5-1-1.1l.5-1.8.7-2q0-1 .6-1.8c0-.7.5-1.3.5-2q0-.4-.4-.4zm-3.7 7.3h.3q.3.3 0 .6l-.3.2q-.7 0-.6-.3l.3-.3zm-1 5q-.7-.5.3-1.3.4-.3.9.1.9.6 0 1.3-.2.3-.5.2t-.7-.2zm3 1a1 1 0 0 1-.6-1.1q.1-.6.9-.5.9-.1.9.7 0 .5-.3.7zm89.2 0q-.3-.1-.3-.5 0-.6.8-.9.9-.5 1.2.2.5.8-.1 1.2-.2.4-.8.3-.7 0-.8-.2zm-85 1.2q-.6-.1-.6-.8 0-.4.2-.6l.6-.2.6.1q.8.6.3 1.2t-1.2.3zm21.8 1-.2-.3q0-.9.2-1.7l.2-1.5.4-2.8q0-.8.2-1.4 0-1.2.2-2.2c0-.3.3-1 .6-.6q.6.8 1.4 1.5c.4.3 0 .7-.3.8q-.6.3-.5 1l-.2 1.2-.2 2-.1 1.8-.2 1.2q.1.7-.4 1.1-.6.3-1-.1zm29.7-9.8-1.3 1.2c-.6.5.5.7.6 1.1q.3.9.2 1.8.3.9.2 1.7c0 .7-.8.5-1.2.9q-.6.4-1 1l-.4 1.6c0 .5-.3 1 0 1.4l.1.2h.5l1.5-.1 3.7-.3 2.2-.2c.6.1.9-.5.9-1-.4-.7-.1-1.4-.4-2l-.2-2.2c0-.6-.7-.8-1-.4l-1.2.9c-.3.6.6.6.8 1l.1 1.5c.1.6-.5.6-1 .7q-.9.4-1.5-.3-.2-.7-.2-1.5l-.3-2.7-.3-3.2c0-.5-.1-1.2-.8-1.1m-.6 8.2h.3v.8l-.3.1-.4.1h-.2q-.3-.3.1-.8zm-30-9.2c-.3 0-.8.7-1.2.6-.9.1-.8 1-.1 1.3v.8c.1.8-.4 1.5-.3 2.3l-.3 2.6q-.4 1.4-.4 2.7c-.1.8-.7.5-1.2.3v-1q0-1.2-1.2-1.2-1-.1-.8-1.1.6-.4 1.5-.3c1 .2.9-1.1.4-1.6s-1.2-1-1.4-1.6q0-1.3-1.2-2.1c-1.1-.1-2 .8-2.3 1.8q-.8 0-1.4.4c-.7.2-1.7 1.4-.7 1.9.5.1 2.2.5 1.4 1.2q-.7 1-1.9.6c-.7 0-1.5-.4-1.5-1.2q0-1.2-.4-2.3c-.2-.8-1.1-.6-1.2.2q-1 1-.1 2 .3 1.2-.3 2.2c-.2 1-1.2 1-1.9 1.2-.3.2-1.6 0-1.1.7a4 4 0 0 0 2.4.3q1.2-.2 2-1.4c.5-.5 1.4-.2 2.2-.2.7 0 1.5.5 2.3.1.2-.5 1.2-1.5 1.5-.5q.2 1.4 1.5 1.2c.9 0 .5.6.5 1.2q.2 1.3 1.5 1.8h.8q1.2-.3 1.8-1.4l.5-2.2.4-3.4q.3-1.5.4-3.2l.3-2.3q0-.6-.5-.4m-6.7 4.1q.2 0 .2.5t.5.8v.3l-.8.2q-.7 0-1.2-.5l-.2-.2.3-.2.5-.5q.4-.4.7-.4m66-7.9-1.7.3c-1 0-1.5 1-.5 1.6.6 1.5 1.5-.4 2.5-.2 1.4.2 1.5 1.8 1.8 3q.1 1.6.7 3.3c1 1.1-.7 1.8-1.4 1-.6-.7-2-1.5-2.7-.6-.9.4-1 1.6-1.7 2-1.2.3-1.3-1.2-2-1.8-.6-.9-1.7-1-2.6-1.2-.4-.9-.2-2.4-1-3-.8.3-2.2 1.7-1 2.4 1 1-.5 1.4-1 2q-1.1 1.4-1 3c-1.3.7-1.5-.8-1.7-1.7 0-1.1-1-.8-1.7-.4q-1.3.8-2 2v2c.2.9 1.2.5 1.8.4 1-.4 1.4.7.6 1.3-.6.6-2.2.3-2 1.4h1.6c1-.3 2.2-1.1 2.3-2.3.2-1 1.7-.9 2.5-1.1 1-.3 2.3-.4 2.6 1 .7.7 2.2 1.5 3 .5a2 2 0 0 0 1.1-2.3c-.1-.8 1.3-.8 1.7-.3.5.8 2.1.6 2.9 0s1-1.6 2.2-1.6l5.4-1.5c1.4-.3-.2-1.2-.6-1.8-1-.5-2 1.7-3.2.6-1-.7-.9-2-1.2-3.1-.3-1.4-.2-3-1.2-4q-1-1-2.5-.9m-6.8 9.5.5.2q.6.4.7 1 0 .2-.3.3l-.5.2q-.5-.1-.7-.5v-.4q-.3-.5 0-.6zm6.5.4q.5 0 .8.3.2.5-.4.8l-.5.2-.4-.3q-.3-.1-.3-.4.1-.5.8-.7zm-9 0q.3 0 .4.2.3.2.3.6v.6q.2.3-.6.2c-.8-.1-.7 0-.7-.6q0-.5.3-.7t.4-.2zm-5.4 1.5.4.4q0 .4-.2.6-.6.2-1 0v-.1q-.3-.2 0-.3v-.1l.2-.3zm9.2 1.2.5.1v.6h-1.2l-.1-.2q0-.3.2-.4zm-17.1 4.8q-.3 0-.1-.2.3-.4.8-.6a3 3 0 0 0 1.4-1l.4-1-.1-1.4a2 2 0 0 0-.8-1q-.6 0-.8-.6l.4-.9.6-1.2q.6-.3.8.2l.5 1q.4.4.6 1l.4 1 .2 1.3-.2 1.6-.6.8q-.4.5-1 .7-.4.3-.9.4H468zm-6.9.4q-.3-.2-.3-.6c0-.4 0-.3.3-.6q.4-.6 1.4 0t1 .1q.2-.4 1-.5l.5.2q.3.2.3.7c0 .5 0 .5-.3.8q-.3.2-.7.2a1 1 0 0 1-.8-.6q0-.4-.2-.1l-.2.1q-.4.1-.8.5l-.5.1q-.4 0-.7-.3m-19.8-8.9q-1.2.1-1.5 1.3c.2.7.8 1.5.4 2.2.3 1-.8 1.4-1.5.9q-.4-1.5-1.3-3c-.8-.2-1.1 1.1-1.7 1.6.3.7 1.1 1.4 1.2 2.3q.1 1.6-1.1 2.4c-.7.7-1.7.5-2.5.6-1 .6.7.8 1.2.8q1.6.3 3-.8c.7-.3.6-1.7 1.5-1.8l4.8.3c.8.2 2.1-.1 2.7.5 0 1 1 1.8 1.9 2.2.5.2 1-.5 1.5-.6 1-.3.7-1.5 1.3-2h5c.2 0 .3-.5.6-.7l-.2-1.9c-.3-.8 0-1.8-.5-2.5-.9-.2-1.6.5-2.4.6q-1.6.7-1.8 2.3c-.5.9-1.4-.2-1-1l-.1-1c-.5-.5-1.4-.3-2.1-.4l-3-.2q-1.5.1-2.7-.1c-1 0-1-1-1-1.8zm2 3.7 1 .1h1.3q1.5.3 3 .2.3 0 .6.4v2q0 .5-.2.8l-.2.2-.7-.5v-1.4l-.7-.3-2.6-.1-2-.1q-.5 0-.9-.4-.2-.4.4-.7zm11.3.3q.2 0 .2.3l.2.5q0 .2-.2.2-.8.3-1.2 0l.2-.6z"/>
</g>
</g>
<path stroke-width="1.1" d="M450 327.2c32.6-25 29.8-61.8 29.8-61.8l-2.5.2c-6.9 0-23.2-4-27-8.9-4 4.5-20.8 9-27.6 9l-2.5-.3s-2.9 36.7 29.8 61.8z"/>
<path stroke-width=".9" d="M477.2 268h-.8c-6.2 0-20.6-3.1-26.2-7.9-5.8 4.4-20.5 8-26.6 8l-.8-.1a73 73 0 0 0 2.6 18.7 71 71 0 0 0 24.6 37.1 71 71 0 0 0 24.6-37.2 73 73 0 0 0 2.6-18.6z"/>
<path fill="#c09300" stroke="none" d="M439.4 265a62 62 0 0 1-16.6 3l.1 4.1a73 73 0 0 0 2.5 14.5 71 71 0 0 0 14 26.8zm20.6 0v49.2a71 71 0 0 0 14.6-27.6 73 73 0 0 0 2.5-14.5l.1-4h-.8c-3.8 0-10.4-1.2-16.4-3.2z"/>
<g stroke-width="1.3">
<path stroke-width="1.2" d="M462.3 253c.7.1-.9-3.5-.9-3.5 1.8 1.8 8.4 2.3 8.4 2.3-4-1.8-8-15.1-7.5-25.8.4-10.6-1.5-14.8-3-16.4-2-2-8.5-3.8-12.7-4-2.5-.1-2 1.8-2 1.8-4.5-1.1-9-1.6-11-.2-1.8 1.2-2.2 7.5-.8 6.4 3.3-2.7 6.2-.2 8.2 2.7 1.8 2.5 1.7 9.7-.9 18.2a60 60 0 0 1-10 17.7c4 0 9.6-3.5 9.6-3.5l-1.3 5.5c4.2-2 7.5-5.1 7.5-5.1l4 4.2c1.3-1.8 4-4.2 4-4.2s3.3 3.5 8.4 4z"/>
<path fill="none" d="M446.1 227.6s-2.2 16.4-6.4 21m10-21.5s-1 16.7-3.8 22m6.9-21.3s0 18.2 1 21.3m3-20.4s.8 15.3 4.6 20.8"/>
<path fill="#c09300" stroke-width=".3" d="M442 219.6a8 8 0 0 0-1-3.3c-2-3-4.9-5.4-8.2-2.7 0 0 1.1-3.5 3.6-3.6 1.8-.1 6.1 1.4 9.9 7.8 0 0-2.8-.6-3.5 0-1.2 1-.7 1.8-.7 1.8z"/>
<path fill="#c09300" stroke-width=".3" d="M432.4 209.3q.4-1.6 1.3-2.1c2-1.4 6.4-1 10.9.2 0 0-.4-1.9 2-1.8 4.2.2 10.6 2 12.6 4a8 8 0 0 1 1.5 2.4c-1-1.4-3.8-1.3-4.5-1.2-1 .1-1.7 0-3.1.4q-1.2.3-2.3.8c-.4.4-.8 1.6-1.4 1.6-1 0-1-.2-1.3-.5q-.4-1-.9-1-1.6.2-5-2.5c-2.3-1.8-3.2-2.2-6-2-3 .2-3.8 1.9-3.8 1.9z"/>
<circle cx="448.8" cy="210.7" r="1.2" stroke="none"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

@@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-eh" viewBox="0 0 640 480">
<defs>
<clipPath id="eh-a">
<path fill-opacity=".7" d="M-158.7 0H524v512h-682.7z"/>
</clipPath>
</defs>
<g fill-rule="evenodd" clip-path="url(#eh-a)" transform="translate(148.8)scale(.94)">
<path fill="#000001" d="M-158.3 0h680.9v255.3h-680.9z"/>
<path fill="#007a3d" d="M-158.3 255.3h680.9v255.3h-680.9z"/>
<path fill="#fff" d="M-158.3 148.9h680.9v212.8h-680.9z"/>
<path fill="#c4111b" d="m-158.3 0 340.4 255.3-340.4 255.3Z"/>
<circle cx="352.3" cy="255.3" r="68.1" fill="#c4111b"/>
<circle cx="377.9" cy="255.3" r="68.1" fill="#fff"/>
<path fill="#c4111b" d="m334 296.5 29.1-20.7 28.8 21-10.8-34 29-20.9-35.7-.2-11-34-11.2 33.9-35.7-.2 28.7 21.2-11.1 34z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 804 B

View File

@@ -0,0 +1,8 @@
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-er" viewBox="0 0 640 480">
<g fill-rule="evenodd">
<path fill="#be0027" d="M0 0h640v480H0z"/>
<path fill="#b4d7f4" d="m0 480 640-.3V240z"/>
<path fill="#239e46" d="m0 0 640 .3V240z"/>
<path fill="#f3e295" d="M186.2 360.4c-10.7 3-16.8 11.3-16.7 19.1l52.8-.2c.4-8.4-6.5-16.2-17-19.3 51.6-1 96.4-20.4 104.6-32.8-8-3.5-17.4 2.1-24 .8 15.7-7.3 63-37.9 55.3-70.7-6 18.2-24 33.3-31.8 37.4 17.7-26.8 41.8-54.8 20.9-76.4 1 12.5-8 26.3-12 27.4 10.3-28.4 20-64-2.1-87.4 2.9 8.5 1.7 32.4-2.3 33.5-1.2-19.3-4.5-59.8-24.8-59.3 6.4 5.8 9.2 21.4 9.4 37.2a58 58 0 0 0-21.1-27 118 118 0 0 0-41.5-42.2c1.8 12.7 3.3 22.7 21 35.9-9.2-.6-18.4-18.1-28.3-18.6-7.9-.4-14 7.1-26.9 2.8 1.4 4.2 7.4 6.1 8.7 9.2-2.8 2-9.3-.3-14.7-3 7.5 10 19 16 28.8 14 11.7-2.2 24.2-1 36.2 5.8a63 63 0 0 1-22.5.6c6.9 7 11.5 11.7 23.6 11.6 10.7 0 16.4-5.8 19.1-2.2 6.8 8 11.3 16 17 25.4-12.5 1.3-8.7-14.1-22.6-22-7.9 16 9 35.2 20.3 43.2a65 65 0 0 0 7.1 31.5c3.5 6.5 8 13.2 6.3 27.9-6.9-5-13.5-21.8-11-35.1-8.6 2.3-12 17.4-8 25 3 5.7 5 16.8 1.6 21.7-3.4 4.6-3.7 4-3.7 14 .1 5.8-3.2 12.8-8.5 17.7a36 36 0 0 0 1.1-15.8c-4.2 7.2-14.9 14.6-18.2 22.4s-4.1 21.2-20 24.3c-20.6 4-27.7 7.6-40.8 13-1.5-10 2.9-31 11.3-29.7 8.1 1.4 33-8.6 24-29.5-1.7 6.6-7.5 13-13.9 13.3 6.9-8.8 19-18 13.1-32.8a43 43 0 0 1-16.3 18c8.4-16 1-21-9-7.6-3.8 5.1-6.1 15.4-8.5 28.5-4-10.6-3.7-24.6-8.4-36-4.8-12.3 6.5-15.5 11.8-14.5 13 3.5 34.9 3.5 33.3-18.1-5.7 7.3-15.5 9.5-26.2 7 12-8.8 21.4-25.3 8-34a31 31 0 0 1-16.9 24.1 51 51 0 0 1-.3-24.8c-5.2 5.6-9 17-12.1 30.2-.3-13 2.2-22.3 4-29.3 2.8-10.1 9.6-3.5 20-2.8 10.2.6 24-5 21.4-18.7-3.4 5.5-10.5 7.6-17.7 7 8.7-5.3 23.8-14.6 15.5-29-3.5 5.4-4.6 10-14.7 11.7 2.6-6 3-14.7 11-18-14-2.9-22 6.3-26.2 20.7-1.6-10-3.6-13.6-4-21 7.6-8.3 8.4-24.8-8-28.4a35 35 0 0 0 1.2 17.4c-7.7-4.6-18.5-7.1-25.8-.7 5 5.3 12.5 10 24.2 4.2-2.8 9-10 7.5-19.8 4 6 11.3 13.6 13.3 22 12 4.4 11.6 4.6 20.4-8.3 37.2.6-10.4-.1-18.2-8.4-26.7-7.2-7-13 .3-1.8 15.8-6.8-5-14.4-15-16.7-25.1-2.2 12.4-.2 27.1 6.7 35.4-3.3 3.5-7-.4-12.5-9 2 27.4 13.7 32.7 29.4 26.6.4 15 .4 28.9 1.3 47-9.1-13.2-20.7-23-27.1-25.4-2 7.3 5.5 17 9.8 22.3-6.5-1.4-20.5-12-20.5-12-1.4 12.1 14.3 23.4 24.5 28.4-12-.5-17.3-5-25-12.4.2 33.8 36.6 27.9 43.5 22.7l3 52.5c-10.3-1.8-9.5-5-18.3-5.7-24.5-1-43.9-29.4-50.3-50.3-1.9 3.4-.4 7-2.1 11.3-4-10.3-9-23.6-15.9-29.8 1.8 6 2 12.1 1.4 23.3-2.4-7.2-4.5-9.5-4.7-18 .1-6.5 6.3-11.3 6-20.5-.3-6.7-6.4-21.3-7.3-32.5-3 11.6-4.8 23.8-9.4 31 2.3-12.4 1.6-21 5.4-29.3 4.4-8.7 8.1-16.6 5.2-25.4-2.8 3.4-1.9 6.5-9 14.8-1.5-9 9.2-23.5 19.6-29.3 7.3-3.8 16.5-17.6 10.5-27-6.9 5-10 11.6-19.7 23 7-27 25-34.2 46.5-34.3 4.7 0 14.3-1.7 17-8-6 2.3-13.2 2.6-19.6 1.4 4.7-6.9 14.4-6 23.6-6 7.1 0 18.3-1 22.8-11.2a51 51 0 0 1-31 1.9c13.7-7 35-7.8 46-17.1-12.5-9.3-43.7 2.2-63.4 15.7 5.5-5 14.2-14 19-21.2-10.8-5.2-38 25-47.4 43-9 5-12.5 13-16 18.5 4.7-16.1 5.2-27.8 9.2-41C80 138 92.6 194.6 86 208.2c.8-15 .1-34.1-6-44-9.4 7.2-10.2 49.5-1.4 84.7-3.2-9.4-9.2-18.2-11.1-29.7-14 25.4 8.2 55.5 26.7 79.2-14-7.3-27.7-22.9-36.8-36 2.5 45.6 50 55 57.4 66.2-10-4.7-29.1-13.9-37.3-4.2a99 99 0 0 1 32.3 12.1c12.4 15.4 35.7 22.2 76.4 23.9"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

Some files were not shown because too many files have changed in this diff Show More