bulid 63
11
hockey_data/__init__.py
Normal 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
275
hockey_data/auth_bridge.py
Normal 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
@@ -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
@@ -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
@@ -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
@@ -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()
|
||||
307
hockey_data/default_vmix_functions.json
Normal 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() с единицы."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
279
hockey_data/default_vmix_json.json
Normal 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": []
|
||||
}
|
||||
]
|
||||
}
|
||||
320
hockey_data/iso_country_codes.py
Normal 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
|
||||
71
hockey_data/localization.py
Normal 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 "")}
|
||||
966
hockey_data/mapping_context.py
Normal 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,
|
||||
}
|
||||
622
hockey_data/match_details_parser.py
Normal 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
@@ -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
|
||||
644
hockey_data/match_visuals_parser.py
Normal 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
94
hockey_data/navigation_labels.py
Normal 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
@@ -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
6862
hockey_data/service.py
Normal file
184
hockey_data/shots_parser.py
Normal 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")
|
||||
134
hockey_data/standings_parser.py
Normal 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,
|
||||
}
|
||||
1592
hockey_data/static/admin-directories.css
Normal file
2954
hockey_data/static/admin-directories.js
Normal file
190
hockey_data/static/agent-devices.css
Normal 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;
|
||||
}
|
||||
350
hockey_data/static/agent-devices.js
Normal 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("&", "&")
|
||||
.replaceAll("<", "<")
|
||||
.replaceAll(">", ">")
|
||||
.replaceAll('"', """)
|
||||
.replaceAll("'", "'");
|
||||
|
||||
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);
|
||||
})();
|
||||
21
hockey_data/static/flags/LICENSE.flag-icons.txt
Normal 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.
|
||||
150
hockey_data/static/flags/ad.svg
Normal 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 |
6
hockey_data/static/flags/ae.svg
Normal 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 |
81
hockey_data/static/flags/af.svg
Normal 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 |
14
hockey_data/static/flags/ag.svg
Normal 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 |
29
hockey_data/static/flags/ai.svg
Normal 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 |
5
hockey_data/static/flags/al.svg
Normal 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 |
5
hockey_data/static/flags/am.svg
Normal 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 |
13
hockey_data/static/flags/ao.svg
Normal 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 |
5
hockey_data/static/flags/aq.svg
Normal 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 |
32
hockey_data/static/flags/ar.svg
Normal 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 |
109
hockey_data/static/flags/arab.svg
Normal 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 |
72
hockey_data/static/flags/as.svg
Normal 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 |
13
hockey_data/static/flags/asean.svg
Normal 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 |
4
hockey_data/static/flags/at.svg
Normal 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 |
8
hockey_data/static/flags/au.svg
Normal 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 |
186
hockey_data/static/flags/aw.svg
Normal 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 |
18
hockey_data/static/flags/ax.svg
Normal 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 |
8
hockey_data/static/flags/az.svg
Normal 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 |
12
hockey_data/static/flags/ba.svg
Normal 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 |
6
hockey_data/static/flags/bb.svg
Normal 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 |
4
hockey_data/static/flags/bd.svg
Normal 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 |
7
hockey_data/static/flags/be.svg
Normal 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 |
7
hockey_data/static/flags/bf.svg
Normal 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 |
5
hockey_data/static/flags/bg.svg
Normal 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 |
4
hockey_data/static/flags/bh.svg
Normal 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 |
15
hockey_data/static/flags/bi.svg
Normal 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 |
14
hockey_data/static/flags/bj.svg
Normal 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 |
5
hockey_data/static/flags/bl.svg
Normal 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 |
97
hockey_data/static/flags/bm.svg
Normal 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 |
36
hockey_data/static/flags/bn.svg
Normal 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 |
673
hockey_data/static/flags/bo.svg
Normal 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 |
5
hockey_data/static/flags/bq.svg
Normal 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 |
45
hockey_data/static/flags/br.svg
Normal 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 |
13
hockey_data/static/flags/bs.svg
Normal 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 |
89
hockey_data/static/flags/bt.svg
Normal 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 |
13
hockey_data/static/flags/bv.svg
Normal 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 |
7
hockey_data/static/flags/bw.svg
Normal 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 |
18
hockey_data/static/flags/by.svg
Normal 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 |
145
hockey_data/static/flags/bz.svg
Normal 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 |
4
hockey_data/static/flags/ca.svg
Normal 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 |
19
hockey_data/static/flags/cc.svg
Normal 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 |
5
hockey_data/static/flags/cd.svg
Normal 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 |
13
hockey_data/static/flags/cefta.svg
Normal 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 |
15
hockey_data/static/flags/cf.svg
Normal 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 |
12
hockey_data/static/flags/cg.svg
Normal 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 |
9
hockey_data/static/flags/ch.svg
Normal 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 |
7
hockey_data/static/flags/ci.svg
Normal 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 |
9
hockey_data/static/flags/ck.svg
Normal 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 |
13
hockey_data/static/flags/cl.svg
Normal 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 |
15
hockey_data/static/flags/cm.svg
Normal 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 |
11
hockey_data/static/flags/cn.svg
Normal 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 |
7
hockey_data/static/flags/co.svg
Normal 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 |
7
hockey_data/static/flags/cp.svg
Normal 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 |
7
hockey_data/static/flags/cr.svg
Normal 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 |
13
hockey_data/static/flags/cu.svg
Normal 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 |
13
hockey_data/static/flags/cv.svg
Normal 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 |
14
hockey_data/static/flags/cw.svg
Normal 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 |
15
hockey_data/static/flags/cx.svg
Normal 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 |
6
hockey_data/static/flags/cy.svg
Normal 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 |
5
hockey_data/static/flags/cz.svg
Normal 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 |
5
hockey_data/static/flags/de.svg
Normal 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 |
130
hockey_data/static/flags/dg.svg
Normal 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 |
13
hockey_data/static/flags/dj.svg
Normal 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 |
5
hockey_data/static/flags/dk.svg
Normal 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 |
152
hockey_data/static/flags/dm.svg
Normal 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 |
121
hockey_data/static/flags/do.svg
Normal file
|
After Width: | Height: | Size: 39 KiB |
5
hockey_data/static/flags/dz.svg
Normal 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 |
48
hockey_data/static/flags/eac.svg
Normal 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:"Ubuntu Bold"" 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 |
138
hockey_data/static/flags/ec.svg
Normal 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 |
5
hockey_data/static/flags/ee.svg
Normal 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 |
38
hockey_data/static/flags/eg.svg
Normal 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 |
16
hockey_data/static/flags/eh.svg
Normal 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 |
8
hockey_data/static/flags/er.svg
Normal 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 |