Compare commits

...

39 commits

Author SHA1 Message Date
1302dcce44 Merge pull request 'Login and registration' (#10) from 5-authentication into main
Some checks failed
Build and Deploy / build (push) Failing after 57s
Reviewed-on: http://git.example.com/servala/servala-portal/pulls/10
2025-03-20 09:20:53 +00:00
b11c7ecc21 Link keycloak on profile page 2025-03-19 17:36:20 +01:00
c28fa71b9d Show user company in profile 2025-03-19 16:58:14 +01:00
a285d655a7 Add menu hide/show toggle on mobile 2025-03-19 16:58:04 +01:00
8f719b0d65 Fix organization creation, make reusable for API 2025-03-19 15:42:47 +01:00
98e114dc79 Request company in signup process 2025-03-19 14:59:00 +01:00
0df2b0e0eb Show required fields in form rendering 2025-03-19 12:13:34 +01:00
a1d5c1c764 Secure admin login 2025-03-19 11:16:59 +01:00
1754cd609c Configure allauth 2025-03-19 10:13:54 +01:00
e71c18c46f Fix rendering of form errors 2025-03-18 23:01:43 +01:00
7682dc94c7 Override signup page 2025-03-18 12:53:00 +01:00
e06b472d62 Reduce template code duplication 2025-03-18 11:56:02 +01:00
2baa3fd5ec First draft of organization creation 2025-03-18 06:58:40 +01:00
325e767b0e Add reusable form template snippet 2025-03-18 05:08:43 +01:00
0be7c6fb6f Make login required by default 2025-03-18 02:44:22 +01:00
78119dc6b3 Build template-based form rendering with bootstrap attrs 2025-03-17 22:38:26 +01:00
eb91f59e09 Hide admin login form 2025-03-17 21:33:51 +01:00
78f5766a7e Make sidebar more readable 2025-03-17 20:53:23 +01:00
5cbb4ef449 Build login page 2025-03-17 18:33:21 +01:00
a780d31c15 Add organization indicator 2025-03-17 09:51:52 +01:00
024eae0e1a Add our own logout view 2025-03-17 09:12:58 +01:00
092a92d986 Move views to module 2025-03-17 03:30:44 +01:00
0d09d338e8 Add remaining allauth dependencies 2025-03-16 23:15:39 +01:00
91861738a5 Remove stock sidebar 2025-03-16 22:13:02 +01:00
650f601766 Improve look of default allauth login (for now) 2025-03-16 21:55:30 +01:00
f9c691154f Add account menu to sidebar 2025-03-16 21:49:20 +01:00
fda9e24fec Fix allauth configuration 2025-03-16 21:42:43 +01:00
31d8016d7b Add profile view 2025-03-16 20:19:58 +01:00
090985c3e9 Configure allauth 2025-03-16 19:42:48 +01:00
f0ad232ff4 Configure and show messages (required for login) 2025-03-16 18:52:04 +01:00
ccbb288f68 Add django-allauth 2025-03-16 18:39:18 +01:00
946dc449e1 Format and fix example page 2025-03-16 18:35:20 +01:00
94a681be87 Configure HTML/JS/CSS linting and formatting 2025-03-16 16:33:46 +01:00
f5ddf8828d Add and test base.html 2025-03-16 15:58:49 +01:00
928bd06e3d Fix settings for templates & static files 2025-03-16 15:29:44 +01:00
e20d8cb1d5 Vendor Mazer 2025-03-16 14:24:58 +01:00
08299eadd4 Add empty frontend app 2025-03-16 12:46:51 +01:00
9079828a9b Add auth configuration to .env and settings.py 2025-03-16 10:33:34 +01:00
512b4e0ed9 Add created_at and updated_at to all models 2025-03-16 10:25:39 +01:00
674 changed files with 11430 additions and 6 deletions

View file

@ -36,3 +36,7 @@ SERVALA_EMAIL_SSL='False'
# If the default OrganizationOrigin is **not** the one with the database ID 1, set it here.
SERVALA_DEFAULT_ORIGIN='1'
SERVALA_KEYCLOAK_CLIENT_ID='portal.servala.com'
SERVALA_KEYCLOAK_CLIENT_SECRET=''
SERVALA_KEYCLOAK_SERVER_URL=''

View file

@ -6,9 +6,13 @@ readme = "README.md"
requires-python = ">=3.12"
dependencies = [
"argon2-cffi>=23.1.0",
"cryptography>=44.0.2",
"django==5.2b1",
"django-allauth>=65.5.0",
"pillow>=11.1.0",
"psycopg2-binary>=2.9.10",
"pyjwt>=2.10.1",
"requests>=2.32.3",
]
[dependency-groups]
@ -30,3 +34,6 @@ known_first_party = "servala"
[tool.flake8]
max-line-length = 160
exclude = ".venv"
[tool.djlint]
extend_exclude = "src/servala/static/mazer"

View file

@ -0,0 +1,89 @@
# Generated by Django 5.2b1 on 2025-03-17 06:19
import django.utils.timezone
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
("core", "0001_initial"),
]
operations = [
migrations.AddField(
model_name="billingentity",
name="created_at",
field=models.DateTimeField(
auto_now_add=True,
default=django.utils.timezone.now,
verbose_name="Created",
),
preserve_default=False,
),
migrations.AddField(
model_name="billingentity",
name="updated_at",
field=models.DateTimeField(auto_now=True, verbose_name="Last updated"),
),
migrations.AddField(
model_name="organization",
name="created_at",
field=models.DateTimeField(
auto_now_add=True,
default=django.utils.timezone.now,
verbose_name="Created",
),
preserve_default=False,
),
migrations.AddField(
model_name="organization",
name="updated_at",
field=models.DateTimeField(auto_now=True, verbose_name="Last updated"),
),
migrations.AddField(
model_name="organizationmembership",
name="created_at",
field=models.DateTimeField(
auto_now_add=True,
default=django.utils.timezone.now,
verbose_name="Created",
),
preserve_default=False,
),
migrations.AddField(
model_name="organizationmembership",
name="updated_at",
field=models.DateTimeField(auto_now=True, verbose_name="Last updated"),
),
migrations.AddField(
model_name="organizationorigin",
name="created_at",
field=models.DateTimeField(
auto_now_add=True,
default=django.utils.timezone.now,
verbose_name="Created",
),
preserve_default=False,
),
migrations.AddField(
model_name="organizationorigin",
name="updated_at",
field=models.DateTimeField(auto_now=True, verbose_name="Last updated"),
),
migrations.AddField(
model_name="user",
name="created_at",
field=models.DateTimeField(
auto_now_add=True,
default=django.utils.timezone.now,
verbose_name="Created",
),
preserve_default=False,
),
migrations.AddField(
model_name="user",
name="updated_at",
field=models.DateTimeField(auto_now=True, verbose_name="Last updated"),
),
]

View file

@ -0,0 +1,15 @@
from django.db import models
from django.utils.translation import gettext_lazy as _
class ServalaModelMixin(models.Model):
created_at = models.DateTimeField(
auto_now_add=True, editable=False, verbose_name=_("Created")
)
updated_at = models.DateTimeField(
auto_now=True, editable=False, verbose_name=_("Last updated")
)
class Meta:
abstract = True
ordering = ("-created_at",)

View file

@ -1,8 +1,11 @@
from django.conf import settings
from django.db import models
from django.utils.translation import gettext_lazy as _
from .mixins import ServalaModelMixin
class Organization(models.Model):
class Organization(ServalaModelMixin, models.Model):
name = models.CharField(max_length=100, verbose_name=_("Name"))
billing_entity = models.ForeignKey(
@ -25,6 +28,24 @@ class Organization(models.Model):
verbose_name=_("Members"),
)
def set_owner(self, user):
OrganizationMembership.objects.filter(user=user, organization=self).delete()
OrganizationMembership.objects.create(
user=user, organization=self, role=OrganizationRole.OWNER
)
@classmethod
def create_organization(cls, instance, owner):
try:
instance.origin
except Exception:
instance.origin = OrganizationOrigin.objects.get(
pk=settings.SERVALA_DEFAULT_ORIGIN
)
instance.save()
instance.set_owner(owner)
return instance
class Meta:
verbose_name = _("Organization")
verbose_name_plural = _("Organizations")
@ -33,7 +54,7 @@ class Organization(models.Model):
return self.name
class BillingEntity(models.Model):
class BillingEntity(ServalaModelMixin, models.Model):
"""
Every organization has a billing entity, though billing entities
may be shared across different organizations.
@ -53,7 +74,7 @@ class BillingEntity(models.Model):
return self.name
class OrganizationOrigin(models.Model):
class OrganizationOrigin(ServalaModelMixin, models.Model):
"""
Every organization has an origin, though origins may be
shared across different organizations. The default origin
@ -77,7 +98,7 @@ class OrganizationRole(models.TextChoices):
OWNER = "owner", _("Owner")
class OrganizationMembership(models.Model):
class OrganizationMembership(ServalaModelMixin, models.Model):
"""Through-model for the many-to-many relationship between organizations and users."""
user = models.ForeignKey(

View file

@ -2,6 +2,8 @@ from django.contrib.auth.models import AbstractBaseUser, BaseUserManager
from django.db import models
from django.utils.translation import gettext_lazy as _
from .mixins import ServalaModelMixin
class UserManager(BaseUserManager):
"""
@ -30,7 +32,7 @@ class UserManager(BaseUserManager):
return self.create_user(email, password, **extra_fields)
class User(AbstractBaseUser):
class User(ServalaModelMixin, AbstractBaseUser):
"""The Django model provides a password and last_login field."""
objects = UserManager()

View file

View file

@ -0,0 +1,6 @@
from django.apps import AppConfig
class FrontendConfig(AppConfig):
default_auto_field = "django.db.models.BigAutoField"
name = "servala.frontend"

View file

@ -0,0 +1,5 @@
def add_organizations(request):
if not request.user.is_authenticated:
return {"user_organizations": []}
return {"user_organizations": request.user.organizations.all()}

View file

@ -0,0 +1,3 @@
from .organization import OrganizationCreateForm
__all__ = ["OrganizationCreateForm"]

View file

@ -0,0 +1,11 @@
from django.forms import Form
from servala.core.models.user import User
class ServalaSignupForm(Form):
company = User._meta.get_field("company").formfield()
def signup(self, request, user):
user.company = self.cleaned_data.get("company")
user.save()

View file

@ -0,0 +1,9 @@
from django.forms import ModelForm
from servala.core.models import Organization
class OrganizationCreateForm(ModelForm):
class Meta:
model = Organization
fields = ("name",)

View file

@ -0,0 +1,28 @@
from django.forms.renderers import TemplatesSetting
def inject_class(f, class_name):
def inner(*args, **kwargs):
result = f(*args, **kwargs)
class_list = result.get("class", "")
class_list = f"{class_list} {class_name}".strip()
result["class"] = class_list
return result
return inner
class VerticalFormRenderer(TemplatesSetting):
form_template_name = "frontend/forms/form.html"
field_template_name = "frontend/forms/vertical_field.html"
def render(self, template_name, context, request=None):
if field := context.get("field"):
if field.field.widget.input_type == "checkbox":
class_name = "form-check-input"
else:
class_name = "form-control"
field.build_widget_attrs = inject_class(
field.build_widget_attrs, class_name
)
return super().render(template_name, context, request)

View file

@ -0,0 +1,45 @@
{% extends "frontend/base.html" %}
{% load static i18n %}
{% load allauth account socialaccount %}
{% block html_title %}
{% block page_title %}
{% translate "Sign In" %}
{% endblock page_title %}
{% endblock html_title %}
{% block card_content %}
{% if SOCIALACCOUNT_ENABLED %}
{% get_providers as socialaccount_providers %}
{% if socialaccount_providers %}
{% for provider in socialaccount_providers %}
{% provider_login_url provider process=process scope=scope auth_params=auth_params as href %}
<form method="post" action="{{ href }}">
{% csrf_token %}
<button href="{{ href }}"
class="btn btn-warning btn-lg icon icon-left"
title="{{ provider.name }}">
<img src="{% static 'img/keycloak.svg' %}" style="height: 30px">
<span class="mx-1">{% translate "Sign in with your" %} {{ provider.name }}</span>
</button>
</form>
{% endfor %}
{% endif %}
{% endif %}
<div class="mt-2">
<a data-bs-toggle="collapse"
href="#login-form"
role="button"
aria-controls="login-form"
class="d-flex align-items-center">
<i class="bi bi-chevron-right me-2 ms-1 mb-2 collapse-icon"></i>
{% translate "Log in with email and password instead" %}
</a>
<div class="collapse mt-3 ms-3"
id="login-form"
class="form form-vertical"
style="max-width: 400px">
{% url 'account_login' as form_action %}
{% translate "Sign In" as form_submit_label %}
{% include "includes/form.html" %}
</div>
</div>
{% endblock card_content %}

View file

@ -0,0 +1 @@
{% extends "frontend/base.html" %}

View file

@ -0,0 +1,73 @@
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="{% static 'mazer/compiled/css/app.css' %}">
<link rel="stylesheet"
href="{% static 'mazer/compiled/css/app-dark.css' %}">
<link rel="stylesheet" href="{% static 'mazer/compiled/css/iconly.css' %}">
</head>
<title>
{% block html_title %}
Dashboard
{% endblock html_title %}
Servala</title>
</head>
<body>
<script src="{% static 'mazer/static/js/initTheme.js' %}"></script>
<div id="app">
{% include 'includes/sidebar.html' %}
<div id="main">
<header class="mb-3">
<a href="#" class="burger-btn d-block d-xl-none">
<i class="bi bi-justify fs-3"></i>
</a>
</header>
<div class="page-heading">
<h3>
{% block page_title %}
Dashboard
{% endblock page_title %}
</h3>
</div>
<div class="page-content">
{% for message in messages %}
{% include "includes/message.html" %}
{% endfor %}
{% block content %}
<section class="section">
<div class="card">
{% block card_header %}{% endblock %}
<div class="card-content">
<div class="card-body">
{% block card_content %}
{% endblock card_content %}
</div>
</div>
</div>
</section>
{% endblock content %}
</div>
<footer>
<div class="footer clearfix mb-0 text-muted">
<div class="float-start">
<p>
&copy; 2025 <a href="https://www.vshn.ch/en/">VSHN AG</a>, Neugasse 10, CH-8005 Zürich, Switzerland
</p>
</div>
<div class="float-end">
<p>
Crafted with <span class="text-danger"><i class="bi bi-heart-fill icon-mid"></i></span> in Zurich
</p>
</div>
</div>
</footer>
</div>
</div>
<script src="{% static 'mazer/static/js/components/dark.js' %}"></script>
<script src="{% static 'mazer/extensions/perfect-scrollbar/perfect-scrollbar.min.js' %}"></script>
<script src="{% static 'mazer/compiled/js/app.js' %}"></script>
</body>
</html>

View file

@ -0,0 +1,19 @@
{% if errors %}
<div class="alert alert-danger" role="alert">
<div>
{% if errors|length > 1 %}
<ul>
{% for error in errors %}<li>{{ error }}</li>{% endfor %}
</ul>
{% else %}
{{ errors.0 }}
{% endif %}
</div>
</div>
{% endif %}
<div class="form-body">
<div class="row">
{% for field, errors in fields %}{{ field.as_field_group }}{% endfor %}
{% for field in hidden_fields %}{{ field }}{% endfor %}
</div>
</div>

View file

@ -0,0 +1,21 @@
{% load i18n %}
<div class="col-12">
<div class="form-group{% if field.field.required %} mandatory{% endif %}{% if errors %} is-invalid{% endif %}">
{% if field.field.widget.input_type != "checkbox" or field.field.widget.allow_multiple_selected %}
<label for="{{ field.auto_id }}" class="form-label">{{ field.label }}</label>
{% endif %}
{% if field.use_fieldset %}
<fieldset {% if field.help_text and field.auto_id and "aria-describedby" not in field.field.widget.attrs %} aria-describedby="{{ field.auto_id }}_helptext"{% endif %}>
{% endif %}
{{ field }}
{% if field.field.widget.input_type == "checkbox" and not field.field.widget.allow_multiple_selected %}
<label for="{{ field.auto_id }}" class="form-check-label form-label">{{ field.label }}</label>
{% endif %}
{% if field.use_fieldset %}</fieldset>{% endif %}
{% for text in field.errors %}<div class="invalid-feedback">{{ text }}</div>{% endfor %}
{% if field.help_text %}
<small class="form-text text-muted"
{% if field.auto_id %}id="{{ field.auto_id }}_helptext"{% endif %}>{{ field.help_text|safe }}</small>
{% endif %}
</div>
</div>

View file

@ -0,0 +1 @@
{% extends "frontend/base.html" %}

View file

@ -0,0 +1,10 @@
{% extends "frontend/base.html" %}
{% load i18n %}
{% block html_title %}
{% block page_title %}
{% translate "Create a new organization" %}
{% endblock page_title %}
{% endblock html_title %}
{% block card_content %}
{% include "includes/form.html" %}
{% endblock card_content %}

View file

@ -0,0 +1,72 @@
{% extends "frontend/base.html" %}
{% load i18n static %}
{% block html_title %}
{% block page_title %}
{% translate "Profile" %}
{% endblock page_title %}
{% endblock html_title %}
{% block card_header %}
<div class="card-header">
<h4 class="card-title">{% translate "Account" %}</h4>
</div>
{% endblock %}
{% block content %}
<section>
<div class="row match-height">
<div class="col-md-6 col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">{% translate "Profile" %}</h4>
</div>
<div class="card-content">
<div class="card-body">
<div class="table-responsive">
<table class="table table-lg">
<tbody>
<tr>
<th>{% translate "E-mail" %}</th>
<td>{{ request.user.email }}</td>
</tr>
<tr>
<th>{% translate "First name" %}</th>
<td>{{ request.user.first_name }}</td>
</tr>
<tr>
<th>{% translate "Last name" %}</th>
<td>{{ request.user.last_name }}</td>
</tr>
<tr>
<th>{% translate "Company" %}</th>
<td>{{ request.user.company }}</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-6 col-12">
<div class="card">
<div class="card-header">
<h4 class="card-title">{% translate "Account" %}</h4>
</div>
<div class="card-content">
<div class="card-body">
<p>
{% blocktranslate trimmed %}
You are logged in with your VSHN user account. Change your password and other account data here:
{% endblocktranslate %}
</p>
<a href="{{ account_href }}"
class="btn btn-warning btn-lg icon icon-left">
<img src="{% static 'img/keycloak.svg' %}" style="height: 30px">
<span class="mx-1">{% translate "VSHN Account" %}</span>
</a>
</div>
</div>
</div>
</div>
</div>
</section>
{% endblock content %}

View file

@ -0,0 +1,15 @@
{% load i18n %}
<form class="form form-vertical"
method="post"
{% if form_action %}action="{{ form_action }}"{% endif %}>
{% include "includes/form_errors.html" %}
{% csrf_token %}
{{ form }}
<button class="btn btn-primary" type="submit">
{% if form_submit_label %}
{{ form_submit_label }}
{% else %}
{% translate "Save" %}
{% endif %}
</button>
</form>

View file

@ -0,0 +1,18 @@
{% load i18n %}
{% if form.non_field_errors or form.errors %}
<div class="alert alert-danger" role="alert">
<div>
{% if form.non_field_errors %}
{% if form.non_field_errors|length > 1 %}
<ul>
{% for error in form.non_field_errors %}<li>{{ error }}</li>{% endfor %}
</ul>
{% else %}
{{ form.non_field_errors.0 }}
{% endif %}
{% else %}
{% translate "We could not save your changes." %}
{% endif %}
</div>
</div>
{% endif %}

View file

@ -0,0 +1,7 @@
<div class="alert alert-{{ message.tags }} alert-dismissible">
{{ message }}
<button type="button"
class="btn-close"
data-bs-dismiss="alert"
aria-label="Close"></button>
</div>

View file

@ -0,0 +1,123 @@
{% load i18n %}
<div id="sidebar">
<div id="sidebar">
<div class="sidebar-wrapper active">
<div class="sidebar-header position-relative">
<div class="d-flex justify-content-between align-items-center">
<div class="logo">
<a href="index.html">
<img src="" alt="{% translate 'Logo' %}" srcset="">
</a>
</div>
<div class="theme-toggle d-flex gap-2 align-items-center mt-2">
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true"
role="img"
class="iconify iconify--system-uicons"
width="20"
height="20"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 21 21">
<g fill="none" fill-rule="evenodd" stroke="currentColor" stroke-linecap="round" stroke-linejoin="round">
<path d="M10.5 14.5c2.219 0 4-1.763 4-3.982a4.003 4.003 0 0 0-4-4.018c-2.219 0-4 1.781-4 4c0 2.219 1.781 4 4 4zM4.136 4.136L5.55 5.55m9.9 9.9l1.414 1.414M1.5 10.5h2m14 0h2M4.135 16.863L5.55 15.45m9.899-9.9l1.414-1.415M10.5 19.5v-2m0-14v-2" opacity=".3">
</path>
<g transform="translate(-210 -1)">
<path d="M220.5 2.5v2m6.5.5l-1.5 1.5"></path>
<circle cx="220.5" cy="11.5" r="4"></circle>
<path d="m214 5l1.5 1.5m5 14v-2m6.5-.5l-1.5-1.5M214 18l1.5-1.5m-4-5h2m14 0h2"></path>
</g>
</g>
</svg>
<div class="form-check form-switch fs-6">
<input class="form-check-input me-0"
type="checkbox"
id="toggle-dark"
style="cursor: pointer">
<label class="form-check-label"></label>
</div>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
aria-hidden="true"
role="img"
class="iconify iconify--mdi"
width="20"
height="20"
preserveAspectRatio="xMidYMid meet"
viewBox="0 0 24 24">
<path fill="currentColor" d="m17.75 4.09l-2.53 1.94l.91 3.06l-2.63-1.81l-2.63 1.81l.91-3.06l-2.53-1.94L12.44 4l1.06-3l1.06 3l3.19.09m3.5 6.91l-1.64 1.25l.59 1.98l-1.7-1.17l-1.7 1.17l.59-1.98L15.75 11l2.06-.05L18.5 9l.69 1.95l2.06.05m-2.28 4.95c.83-.08 1.72 1.1 1.19 1.85c-.32.45-.66.87-1.08 1.27C15.17 23 8.84 23 4.94 19.07c-3.91-3.9-3.91-10.24 0-14.14c.4-.4.82-.76 1.27-1.08c.75-.53 1.93.36 1.85 1.19c-.27 2.86.69 5.83 2.89 8.02a9.96 9.96 0 0 0 8.02 2.89m-1.64 2.02a12.08 12.08 0 0 1-7.8-3.47c-2.17-2.19-3.33-5-3.49-7.82c-2.81 3.14-2.7 7.96.31 10.98c3.02 3.01 7.84 3.12 10.98.31Z">
</path>
</svg>
</div>
<div class="sidebar-toggler x">
<a href="#" class="sidebar-hide d-xl-none d-block"><i class="bi bi-x bi-middle"></i></a>
</div>
</div>
</div>
<div class="sidebar-menu">
<ul class="menu">
{% if not request.user.is_authenticated %}
<li class="sidebar-item">
<a href="{% url 'account_login' %}" class="sidebar-link">
<i class="bi bi-person-badge-fill"></i>
<span>{% translate 'Login' %}</span>
</a>
</li>
{% else %}
{# request.user.is_authenticated #}
<li class="sidebar-item">
{% if user_organizations.count > 1 %}
<button class="btn btn-primary dropdown-toggle me-1"
type="button"
id="organizationDropdown"
data-bs-toggle="dropdown"
aria-haspopup="true"
aria-expanded="false">
{% if current_organization %}
{{ current_organization.name }}
{% else %}
{% translate "Organizations" %}
{% endif %}
</button>
<div class="dropdown-menu" aria-labelledby="organizationDropdown">
{% for organization in user_organizations %}
<a class="dropdown-item" href="#TODO">{{ organization.name }}</a>
{% endfor %}
</div>
{% elif current_organization %}
{% translate "Organization" %}: {{ current_organization.name }}
{% else %}
<a href="{% url 'frontend:organization.create' %}" class="sidebar-link">
<i class="bi bi-plus-square"></i>
<span>{% translate "Create organization" %}</span>
</a>
{% endif %}
</li>
<li class="sidebar-item">
<a href="index.html" class='sidebar-link'>
<i class="bi bi-grid-fill"></i>
<span>{% translate 'Dashboard' %}</span>
</a>
</li>
<li class="sidebar-title">{% translate 'Account' %}</li>
<li class="sidebar-item">
<a href="{% url 'frontend:profile' %}" class='sidebar-link'>
<i class="bi bi-file-person"></i>
<span>{% translate 'Profile' %}</span>
</a>
</li>
<li class="sidebar-item">
<form action="{% url 'frontend:logout' %}" method="post">
{% csrf_token %}
<button type="submit" class='sidebar-link btn'>
<i class="bi bi-box-arrow-right"></i>
<span>{% translate 'Log out' %}</span>
</button>
</form>
</li>
{% endif %}
{# request.user.is_authenticated #}
</ul>
</div>
</div>
</div>

View file

@ -0,0 +1,16 @@
{% extends "frontend/base.html" %}
{% load i18n %}
{% block html_title %}
{% block page_title %}
{% translate "Sign Up" %}
{% endblock page_title %}
{% endblock html_title %}
{% block card_content %}
<p>
{% blocktrans with provider_name=account.get_provider.name site_name=site.name %}You are about to use your {{provider_name}} account to login to
{{site_name}}. As a final step, please complete the following form:{% endblocktrans %}
</p>
{% url 'socialaccount_signup' as form_action %}
{% translate "Sign Up" as form_submit_label %}
<div style="max-width: 300px">{% include "includes/form.html" %}</div>
{% endblock card_content %}

View file

@ -0,0 +1,14 @@
from django.urls import path
from servala.frontend import views
urlpatterns = [
path("accounts/profile/", views.ProfileView.as_view(), name="profile"),
path("accounts/logout/", views.LogoutView.as_view(), name="logout"),
path(
"organizations/create",
views.OrganizationCreateView.as_view(),
name="organization.create",
),
path("", views.IndexView.as_view(), name="index"),
]

View file

@ -0,0 +1,10 @@
from .auth import LogoutView
from .generic import IndexView, ProfileView
from .organization import OrganizationCreateView
__all__ = [
"IndexView",
"LogoutView",
"OrganizationCreateView",
"ProfileView",
]

View file

@ -0,0 +1,12 @@
from allauth.account.internal import flows
from allauth.account.utils import get_next_redirect_url
from django.shortcuts import redirect
from django.views import View
class LogoutView(View):
def post(self, request):
flows.logout.logout(request)
url = get_next_redirect_url(request, "next") or "/"
return redirect(url)

View file

@ -0,0 +1,21 @@
from django.conf import settings
from django.views.generic import TemplateView
class IndexView(TemplateView):
template_name = "frontend/index.html"
class ProfileView(TemplateView):
template_name = "frontend/profile.html"
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
keycloak_server_url = settings.SOCIALACCOUNT_PROVIDERS["openid_connect"][
"APPS"
][0]["settings"]["server_url"]
account_url = keycloak_server_url.replace(
"/.well-known/openid-configuration", "/account"
)
context["account_href"] = account_url
return context

View file

@ -0,0 +1,15 @@
from django.views.generic import FormView
from servala.frontend.forms import OrganizationCreateForm
class OrganizationCreateView(FormView):
form_class = OrganizationCreateForm
template_name = "frontend/organizations/create.html"
def form_valid(self, form):
form.instance.create_organization(form.instance, owner=self.request.user)
return super().form_valid(form)
def get_success_url(self):
return "/"

View file

@ -12,6 +12,8 @@ Servala is run using environment variables. Documentation:
import os
from pathlib import Path
from django.contrib import messages
SERVALA_ENVIRONMENT = os.environ.get("SERVALA_ENVIRONMENT", "development")
DEBUG = SERVALA_ENVIRONMENT == "development"
@ -64,6 +66,22 @@ EMAIL_USE_SSL = os.environ.get("SERVALA_EMAIL_SSL", "False") == "True"
SERVALA_DEFAULT_ORIGIN = int(os.environ.get("SERVALA_DEFAULT_ORIGIN", "1"))
SOCIALACCOUNT_PROVIDERS = {
"openid_connect": {
"APPS": [
{
"provider_id": "keycloak",
"name": "VSHN Account",
"client_id": os.environ.get("SERVALA_KEYCLOAK_CLIENT_ID"),
"secret": os.environ.get("SERVALA_KEYCLOAK_CLIENT_SECRET"),
"settings": {
"server_url": os.environ.get("SERVALA_KEYCLOAK_SERVER_URL"),
},
}
]
}
}
#######################################
# Non-configurable settings below #
#######################################
@ -77,6 +95,12 @@ INSTALLED_APPS = [
"django.contrib.sessions",
"django.contrib.messages",
"django.contrib.staticfiles",
"django.forms",
"servala.frontend",
"allauth",
"allauth.account",
"allauth.socialaccount",
"allauth.socialaccount.providers.openid_connect",
"servala.core",
]
@ -88,7 +112,10 @@ MIDDLEWARE = [
"django.contrib.auth.middleware.AuthenticationMiddleware",
"django.contrib.messages.middleware.MessageMiddleware",
"django.middleware.clickjacking.XFrameOptionsMiddleware",
"allauth.account.middleware.AccountMiddleware",
"django.contrib.auth.middleware.LoginRequiredMiddleware",
]
LOGIN_URL = "account_login"
ROOT_URLCONF = "servala.urls"
STATIC_URL = "static/" # CSS, JavaScript, etc.
@ -101,24 +128,49 @@ STATICFILES_FINDERS = (
"django.contrib.staticfiles.finders.FileSystemFinder",
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
)
STATICFILES_DIRS = [BASE_DIR / "servala" / "static"]
template_loaders = (
"django.template.loaders.filesystem.Loader",
"django.template.loaders.app_directories.Loader",
)
if not DEBUG:
template_loaders = (("django.template.loaders.cached.Loader", template_loaders),)
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [],
"APP_DIRS": True,
"APP_DIRS": False,
"OPTIONS": {
"context_processors": [
"django.template.context_processors.request",
"django.contrib.auth.context_processors.auth",
"django.contrib.messages.context_processors.messages",
"django.template.context_processors.static",
"servala.frontend.context_processors.add_organizations",
],
"loaders": template_loaders,
},
},
]
FORM_RENDERER = "servala.frontend.forms.renderers.VerticalFormRenderer"
MESSAGE_TAGS = {
messages.ERROR: "danger",
}
AUTH_USER_MODEL = "core.User"
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_UNIQUE_EMAIL = True
ACCOUNT_LOGIN_METHODS = {"email"}
ACCOUNT_SIGNUP_FIELDS = ["email*", "password1*", "password2*"]
ACCOUNT_SIGNUP_FORM_CLASS = "servala.frontend.forms.auth.ServalaSignupForm"
AUTHENTICATION_BACKENDS = [
# Needed to login by username in Django admin, regardless of `allauth`
"django.contrib.auth.backends.ModelBackend",
"allauth.account.auth_backends.AuthenticationBackend",
]
AUTH_PASSWORD_VALIDATORS = [
{
"NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator"

View file

@ -0,0 +1,6 @@
<svg width="107" height="60" fill="none" xmlns="http://www.w3.org/2000/svg" class="image" aria-hidden="true">
<circle cx="53.002" cy="30" r="19" fill="#4CC3FF"></circle>
<path opacity="0.25" d="M67.833 41.874A18.92 18.92 0 0071.999 30c0-10.493-8.506-19-19-19a18.932 18.932 0 00-12.868 5.021c14.446.554 26.182 11.675 27.702 25.853z" fill="#000D1A"></path>
<path d="M31.594 6.491v8.571l5.217-3.173a31.165 31.165 0 0132.426 0l.622.378v.006l.14.078v-8.39l-.137-.07a38.382 38.382 0 00-36.807 1.712l-1.461.888zM74.436 53.508v-8.57l-5.218 3.173a31.165 31.165 0 01-32.425 0l-.625-.38v-.005L36 47.64v8.39l.168.079a38.382 38.382 0 0036.807-1.712l1.461-.889z" fill="#4CC3FF"></path>
<path d="M31.571 15.063v-8.57L0 25.694v8.614L31.571 53.51v-8.57L7.011 30l24.56-14.938zM74.432 53.511l31.571-19.202v-8.614L74.432 6.492v8.571l24.56 14.939-24.56 14.938v8.571z" fill="#000D1A"></path>
</svg>

After

Width:  |  Height:  |  Size: 893 B

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
body{background-color:var(--bs-body-bg)}#auth{height:100vh;overflow-x:hidden}#auth #auth-right{height:100%;background:url(../png/4853433.png),linear-gradient(90deg,#2d499d,#3f5491)}#auth #auth-left{padding:5rem}#auth #auth-left .auth-title{font-size:4rem;margin-bottom:1rem}#auth #auth-left .auth-subtitle{font-size:1.7rem;line-height:2.5rem;color:#a8aebb}#auth #auth-left .auth-logo{margin-bottom:7rem}#auth #auth-left .auth-logo img{height:2rem}@media screen and (max-width: 1399.9px){#auth #auth-left{padding:3rem}}@media screen and (max-width: 767px){#auth #auth-left{padding:5rem}}@media screen and (max-width: 576px){#auth #auth-left{padding:5rem 3rem}}html[data-bs-theme=dark] #auth-right{background:url(../png/4853433.png),linear-gradient(90deg,#2d499d,#3f5491)}

View file

@ -0,0 +1 @@
body{background-color:var(--bs-body-bg)}#auth{height:100vh;overflow-x:hidden}#auth #auth-right{height:100%;background:url(../png/4853433.png),linear-gradient(-90deg,#2d499d,#3f5491)}#auth #auth-left{padding:5rem}#auth #auth-left .auth-title{font-size:4rem;margin-bottom:1rem}#auth #auth-left .auth-subtitle{font-size:1.7rem;line-height:2.5rem;color:#a8aebb}#auth #auth-left .auth-logo{margin-bottom:7rem}#auth #auth-left .auth-logo img{height:2rem}@media screen and (max-width: 1399.9px){#auth #auth-left{padding:3rem}}@media screen and (max-width: 767px){#auth #auth-left{padding:5rem}}@media screen and (max-width: 576px){#auth #auth-left{padding:5rem 3rem}}html[data-bs-theme=dark] #auth-right{background:url(../png/4853433.png),linear-gradient(-90deg,#2d499d,#3f5491)}

View file

@ -0,0 +1 @@
body{background-color:var(--bs-body-bg)}#auth{height:100vh;overflow-x:hidden}#auth #auth-right{height:100%;background:url(../png/4853433.png),linear-gradient(90deg,#2d499d,#3f5491)}#auth #auth-left{padding:5rem}#auth #auth-left .auth-title{font-size:4rem;margin-bottom:1rem}#auth #auth-left .auth-subtitle{font-size:1.7rem;line-height:2.5rem;color:#a8aebb}#auth #auth-left .auth-logo{margin-bottom:7rem}#auth #auth-left .auth-logo img{height:2rem}@media screen and (max-width: 1399.9px){#auth #auth-left{padding:3rem}}@media screen and (max-width: 767px){#auth #auth-left{padding:5rem}}@media screen and (max-width: 576px){#auth #auth-left{padding:5rem 3rem}}html[data-bs-theme=dark] #auth-right{background:url(../png/4853433.png),linear-gradient(90deg,#2d499d,#3f5491)}

View file

@ -0,0 +1 @@
body{background-color:var(--bs-body-bg)}#auth{height:100vh;overflow-x:hidden}#auth #auth-right{height:100%;background:url(./png/4853433.png),linear-gradient(-90deg,#2d499d,#3f5491)}#auth #auth-left{padding:5rem}#auth #auth-left .auth-title{font-size:4rem;margin-bottom:1rem}#auth #auth-left .auth-subtitle{font-size:1.7rem;line-height:2.5rem;color:#a8aebb}#auth #auth-left .auth-logo{margin-bottom:7rem}#auth #auth-left .auth-logo img{height:2rem}@media screen and (max-width: 1399.9px){#auth #auth-left{padding:3rem}}@media screen and (max-width: 767px){#auth #auth-left{padding:5rem}}@media screen and (max-width: 576px){#auth #auth-left{padding:5rem 3rem}}html[data-bs-theme=dark] #auth-right{background:url(./png/4853433.png),linear-gradient(-90deg,#2d499d,#3f5491)}

View file

@ -0,0 +1 @@
#error{background-color:#ebf3ff;padding:2rem 0;min-height:100vh}#error .img-error{height:435px;object-fit:contain;padding:3rem 0}#error .error-title{font-size:3rem;margin-top:1rem}html[data-bs-theme=dark] #error{background-color:#151521}

View file

@ -0,0 +1 @@
#error{background-color:#ebf3ff;padding:2rem 0;min-height:100vh}#error .img-error{height:435px;object-fit:contain;padding:3rem 0}#error .error-title{font-size:3rem;margin-top:1rem}html[data-bs-theme=dark] #error{background-color:#151521}

View file

@ -0,0 +1 @@
#error{background-color:#ebf3ff;padding:2rem 0;min-height:100vh}#error .img-error{height:435px;object-fit:contain;padding:3rem 0}#error .error-title{font-size:3rem;margin-top:1rem}html[data-bs-theme=dark] #error{background-color:#151521}

View file

@ -0,0 +1 @@
#error{background-color:#ebf3ff;padding:2rem 0;min-height:100vh}#error .img-error{height:435px;object-fit:contain;padding:3rem 0}#error .error-title{font-size:3rem;margin-top:1rem}html[data-bs-theme=dark] #error{background-color:#151521}

View file

@ -0,0 +1 @@
.comment{border:1px solid #C2C2D9;padding:40px;margin-bottom:30px;border-radius:5px;box-shadow:0 0 5px rgba(0,0,0,.1)}.comment-header{display:flex;align-items:center;margin-bottom:1px}@media screen and (max-width: 767px){.comment-header{flex-direction:column;justify-content:center}}.comment-header .avatar-content{width:10px;height:10px;border-radius:50%;margin-right:10px}.comment-header .comment-meta{flex-grow:1}.comment-body{margin-left:30px}@media screen and (max-width: 767px){.comment-body{margin-top:20px}}.comment-time{color:#435ebe;margin-bottom:10px}.comment-actions{display:flex;justify-content:flex-start;margin-top:10px}html[data-bs-theme=dark] .comment{border:1px solid #404053}html[data-bs-theme=dark] .comment-time{color:#6a9cd2}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
.swal2-input.form-control,.swal2-textarea.form-control,.swal2-select.form-control{width:initial}

View file

@ -0,0 +1 @@
.note-editor .dropdown-toggle:after{all:unset}.note-editor .note-dropdown-menu,.note-editor .note-modal-footer{box-sizing:content-box}

View file

@ -0,0 +1 @@
.note-editor .dropdown-toggle:after{all:unset}.note-editor .note-dropdown-menu,.note-editor .note-modal-footer{box-sizing:content-box}

View file

@ -0,0 +1 @@
@font-face{font-family:Iconly---Bold;src:url(../eot/Iconly---Bold.eot?jilz72);src:url(../eot/Iconly---Bold.eot?jilz72#iefix) format("embedded-opentype"),url(../fonts/Iconly---Bold.ttf?jilz72) format("truetype"),url(../fonts/Iconly---Bold.woff?jilz72) format("woff"),url(../svg/Iconly---Bold.svg?jilz72#Iconly---Bold) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=iconly-bold],[class*=" iconly-bold"]{font-family:Iconly---Bold!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.iconly-boldActivity:before{content:""}.iconly-boldUser:before{content:""}.iconly-boldUser1:before{content:""}.iconly-boldAdd-User:before{content:""}.iconly-boldArrow---Down-2:before{content:""}.iconly-boldArrow---Down-3:before{content:""}.iconly-boldArrow---Down-Circle:before{content:""}.iconly-boldArrow---Down-Square:before{content:""}.iconly-boldArrow---Down:before{content:""}.iconly-boldArrow---Left-2:before{content:""}.iconly-boldArrow---Left-3:before{content:""}.iconly-boldArrow---Left-Circle:before{content:""}.iconly-boldArrow---Left-Square:before{content:""}.iconly-boldArrow---Left:before{content:""}.iconly-boldArrow---Right-2:before{content:""}.iconly-boldArrow---Right-3:before{content:""}.iconly-boldArrow---Right-Circle:before{content:""}.iconly-boldArrow---Right-Square:before{content:""}.iconly-boldArrow---Right:before{content:""}.iconly-boldArrow---Up-2:before{content:""}.iconly-boldArrow---Up-3:before{content:""}.iconly-boldArrow---Up-Circle:before{content:""}.iconly-boldArrow---Up-Square:before{content:""}.iconly-boldArrow---Up:before{content:""}.iconly-boldBag-2:before{content:""}.iconly-boldBag:before{content:""}.iconly-boldBookmark:before{content:""}.iconly-boldBuy:before{content:""}.iconly-boldCalendar:before{content:""}.iconly-boldCall-Missed:before{content:""}.iconly-boldCall-Silent:before{content:""}.iconly-boldCall:before{content:""}.iconly-boldCalling:before{content:""}.iconly-boldCamera:before{content:""}.iconly-boldCategory:before{content:""}.iconly-boldChart:before{content:""}.iconly-boldChat:before{content:""}.iconly-boldClose-Square:before{content:""}.iconly-boldDanger:before{content:""}.iconly-boldDelete:before{content:""}.iconly-boldDiscount:before{content:""}.iconly-boldDiscovery:before{content:""}.iconly-boldDocument:before{content:""}.iconly-boldDownload:before{content:""}.iconly-boldEdit-Square:before{content:""}.iconly-boldEdit:before{content:""}.iconly-boldFilter-2:before{content:""}.iconly-boldFilter:before{content:""}.iconly-boldFolder:before{content:""}.iconly-boldGame:before{content:""}.iconly-boldGraph:before{content:""}.iconly-boldHeart:before{content:""}.iconly-boldHide:before{content:""}.iconly-boldHome:before{content:""}.iconly-boldImage-2:before{content:""}.iconly-boldImage:before{content:""}.iconly-boldInfo-Circle:before{content:""}.iconly-boldInfo-Square:before{content:""}.iconly-boldLocation:before{content:""}.iconly-boldLock:before{content:""}.iconly-boldLogin:before{content:""}.iconly-boldLogout:before{content:""}.iconly-boldMessage:before{content:""}.iconly-boldMore-Circle:before{content:""}.iconly-boldMore-Square:before{content:""}.iconly-boldNotification:before{content:""}.iconly-boldPaper-Download:before{content:""}.iconly-boldPaper-Fail:before{content:""}.iconly-boldPaper-Negative:before{content:""}.iconly-boldPaper-Plus:before{content:""}.iconly-boldPaper-Upload:before{content:""}.iconly-boldPaper:before{content:""}.iconly-boldPassword:before{content:""}.iconly-boldPlay:before{content:""}.iconly-boldPlus:before{content:""}.iconly-boldProfile:before{content:""}.iconly-boldScan:before{content:""}.iconly-boldSearch:before{content:""}.iconly-boldSend:before{content:""}.iconly-boldSetting:before{content:""}.iconly-boldShield-Done:before{content:""}.iconly-boldShield-Fail:before{content:""}.iconly-boldShow:before{content:""}.iconly-boldStar:before{content:""}.iconly-boldSwap:before{content:""}.iconly-boldTick-Square:before{content:""}.iconly-boldTicket-Star:before{content:""}.iconly-boldTicket:before{content:""}.iconly-boldTime-Circle:before{content:""}.iconly-boldTime-Square:before{content:""}.iconly-boldUnlock:before{content:""}.iconly-boldUpload:before{content:""}.iconly-boldVideo:before{content:""}.iconly-boldVoice-2:before{content:""}.iconly-boldVoice:before{content:""}.iconly-boldVolume-Down:before{content:""}.iconly-boldVolume-Off:before{content:""}.iconly-boldVolume-Up:before{content:""}.iconly-boldWallet:before{content:""}.iconly-boldWork:before{content:""}

View file

@ -0,0 +1 @@
@font-face{font-family:Iconly---Bold;src:url(./eot/Iconly---Bold.eot?jilz72);src:url(./eot/Iconly---Bold.eot?jilz72#iefix) format("embedded-opentype"),url(./fonts/Iconly---Bold.ttf?jilz72) format("truetype"),url(./fonts/Iconly---Bold.woff?jilz72) format("woff"),url(./svg/Iconly---Bold.svg?jilz72#Iconly---Bold) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=iconly-bold],[class*=" iconly-bold"]{font-family:Iconly---Bold!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.iconly-boldActivity:before{content:""}.iconly-boldUser:before{content:""}.iconly-boldUser1:before{content:""}.iconly-boldAdd-User:before{content:""}.iconly-boldArrow---Down-2:before{content:""}.iconly-boldArrow---Down-3:before{content:""}.iconly-boldArrow---Down-Circle:before{content:""}.iconly-boldArrow---Down-Square:before{content:""}.iconly-boldArrow---Down:before{content:""}.iconly-boldArrow---Left-2:before{content:""}.iconly-boldArrow---Left-3:before{content:""}.iconly-boldArrow---Left-Circle:before{content:""}.iconly-boldArrow---Left-Square:before{content:""}.iconly-boldArrow---Left:before{content:""}.iconly-boldArrow---Right-2:before{content:""}.iconly-boldArrow---Right-3:before{content:""}.iconly-boldArrow---Right-Circle:before{content:""}.iconly-boldArrow---Right-Square:before{content:""}.iconly-boldArrow---Right:before{content:""}.iconly-boldArrow---Up-2:before{content:""}.iconly-boldArrow---Up-3:before{content:""}.iconly-boldArrow---Up-Circle:before{content:""}.iconly-boldArrow---Up-Square:before{content:""}.iconly-boldArrow---Up:before{content:""}.iconly-boldBag-2:before{content:""}.iconly-boldBag:before{content:""}.iconly-boldBookmark:before{content:""}.iconly-boldBuy:before{content:""}.iconly-boldCalendar:before{content:""}.iconly-boldCall-Missed:before{content:""}.iconly-boldCall-Silent:before{content:""}.iconly-boldCall:before{content:""}.iconly-boldCalling:before{content:""}.iconly-boldCamera:before{content:""}.iconly-boldCategory:before{content:""}.iconly-boldChart:before{content:""}.iconly-boldChat:before{content:""}.iconly-boldClose-Square:before{content:""}.iconly-boldDanger:before{content:""}.iconly-boldDelete:before{content:""}.iconly-boldDiscount:before{content:""}.iconly-boldDiscovery:before{content:""}.iconly-boldDocument:before{content:""}.iconly-boldDownload:before{content:""}.iconly-boldEdit-Square:before{content:""}.iconly-boldEdit:before{content:""}.iconly-boldFilter-2:before{content:""}.iconly-boldFilter:before{content:""}.iconly-boldFolder:before{content:""}.iconly-boldGame:before{content:""}.iconly-boldGraph:before{content:""}.iconly-boldHeart:before{content:""}.iconly-boldHide:before{content:""}.iconly-boldHome:before{content:""}.iconly-boldImage-2:before{content:""}.iconly-boldImage:before{content:""}.iconly-boldInfo-Circle:before{content:""}.iconly-boldInfo-Square:before{content:""}.iconly-boldLocation:before{content:""}.iconly-boldLock:before{content:""}.iconly-boldLogin:before{content:""}.iconly-boldLogout:before{content:""}.iconly-boldMessage:before{content:""}.iconly-boldMore-Circle:before{content:""}.iconly-boldMore-Square:before{content:""}.iconly-boldNotification:before{content:""}.iconly-boldPaper-Download:before{content:""}.iconly-boldPaper-Fail:before{content:""}.iconly-boldPaper-Negative:before{content:""}.iconly-boldPaper-Plus:before{content:""}.iconly-boldPaper-Upload:before{content:""}.iconly-boldPaper:before{content:""}.iconly-boldPassword:before{content:""}.iconly-boldPlay:before{content:""}.iconly-boldPlus:before{content:""}.iconly-boldProfile:before{content:""}.iconly-boldScan:before{content:""}.iconly-boldSearch:before{content:""}.iconly-boldSend:before{content:""}.iconly-boldSetting:before{content:""}.iconly-boldShield-Done:before{content:""}.iconly-boldShield-Fail:before{content:""}.iconly-boldShow:before{content:""}.iconly-boldStar:before{content:""}.iconly-boldSwap:before{content:""}.iconly-boldTick-Square:before{content:""}.iconly-boldTicket-Star:before{content:""}.iconly-boldTicket:before{content:""}.iconly-boldTime-Circle:before{content:""}.iconly-boldTime-Square:before{content:""}.iconly-boldUnlock:before{content:""}.iconly-boldUpload:before{content:""}.iconly-boldVideo:before{content:""}.iconly-boldVoice-2:before{content:""}.iconly-boldVoice:before{content:""}.iconly-boldVolume-Down:before{content:""}.iconly-boldVolume-Off:before{content:""}.iconly-boldVolume-Up:before{content:""}.iconly-boldWallet:before{content:""}.iconly-boldWork:before{content:""}

View file

@ -0,0 +1 @@
@font-face{font-family:Iconly---Bold;src:url(../eot/Iconly---Bold.eot?jilz72);src:url(../eot/Iconly---Bold.eot?jilz72#iefix) format("embedded-opentype"),url(../fonts/Iconly---Bold.ttf?jilz72) format("truetype"),url(../fonts/Iconly---Bold.woff?jilz72) format("woff"),url(../svg/Iconly---Bold.svg?jilz72#Iconly---Bold) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=iconly-bold],[class*=" iconly-bold"]{font-family:Iconly---Bold!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.iconly-boldActivity:before{content:""}.iconly-boldUser:before{content:""}.iconly-boldUser1:before{content:""}.iconly-boldAdd-User:before{content:""}.iconly-boldArrow---Down-2:before{content:""}.iconly-boldArrow---Down-3:before{content:""}.iconly-boldArrow---Down-Circle:before{content:""}.iconly-boldArrow---Down-Square:before{content:""}.iconly-boldArrow---Down:before{content:""}.iconly-boldArrow---Left-2:before{content:""}.iconly-boldArrow---Left-3:before{content:""}.iconly-boldArrow---Left-Circle:before{content:""}.iconly-boldArrow---Left-Square:before{content:""}.iconly-boldArrow---Left:before{content:""}.iconly-boldArrow---Right-2:before{content:""}.iconly-boldArrow---Right-3:before{content:""}.iconly-boldArrow---Right-Circle:before{content:""}.iconly-boldArrow---Right-Square:before{content:""}.iconly-boldArrow---Right:before{content:""}.iconly-boldArrow---Up-2:before{content:""}.iconly-boldArrow---Up-3:before{content:""}.iconly-boldArrow---Up-Circle:before{content:""}.iconly-boldArrow---Up-Square:before{content:""}.iconly-boldArrow---Up:before{content:""}.iconly-boldBag-2:before{content:""}.iconly-boldBag:before{content:""}.iconly-boldBookmark:before{content:""}.iconly-boldBuy:before{content:""}.iconly-boldCalendar:before{content:""}.iconly-boldCall-Missed:before{content:""}.iconly-boldCall-Silent:before{content:""}.iconly-boldCall:before{content:""}.iconly-boldCalling:before{content:""}.iconly-boldCamera:before{content:""}.iconly-boldCategory:before{content:""}.iconly-boldChart:before{content:""}.iconly-boldChat:before{content:""}.iconly-boldClose-Square:before{content:""}.iconly-boldDanger:before{content:""}.iconly-boldDelete:before{content:""}.iconly-boldDiscount:before{content:""}.iconly-boldDiscovery:before{content:""}.iconly-boldDocument:before{content:""}.iconly-boldDownload:before{content:""}.iconly-boldEdit-Square:before{content:""}.iconly-boldEdit:before{content:""}.iconly-boldFilter-2:before{content:""}.iconly-boldFilter:before{content:""}.iconly-boldFolder:before{content:""}.iconly-boldGame:before{content:""}.iconly-boldGraph:before{content:""}.iconly-boldHeart:before{content:""}.iconly-boldHide:before{content:""}.iconly-boldHome:before{content:""}.iconly-boldImage-2:before{content:""}.iconly-boldImage:before{content:""}.iconly-boldInfo-Circle:before{content:""}.iconly-boldInfo-Square:before{content:""}.iconly-boldLocation:before{content:""}.iconly-boldLock:before{content:""}.iconly-boldLogin:before{content:""}.iconly-boldLogout:before{content:""}.iconly-boldMessage:before{content:""}.iconly-boldMore-Circle:before{content:""}.iconly-boldMore-Square:before{content:""}.iconly-boldNotification:before{content:""}.iconly-boldPaper-Download:before{content:""}.iconly-boldPaper-Fail:before{content:""}.iconly-boldPaper-Negative:before{content:""}.iconly-boldPaper-Plus:before{content:""}.iconly-boldPaper-Upload:before{content:""}.iconly-boldPaper:before{content:""}.iconly-boldPassword:before{content:""}.iconly-boldPlay:before{content:""}.iconly-boldPlus:before{content:""}.iconly-boldProfile:before{content:""}.iconly-boldScan:before{content:""}.iconly-boldSearch:before{content:""}.iconly-boldSend:before{content:""}.iconly-boldSetting:before{content:""}.iconly-boldShield-Done:before{content:""}.iconly-boldShield-Fail:before{content:""}.iconly-boldShow:before{content:""}.iconly-boldStar:before{content:""}.iconly-boldSwap:before{content:""}.iconly-boldTick-Square:before{content:""}.iconly-boldTicket-Star:before{content:""}.iconly-boldTicket:before{content:""}.iconly-boldTime-Circle:before{content:""}.iconly-boldTime-Square:before{content:""}.iconly-boldUnlock:before{content:""}.iconly-boldUpload:before{content:""}.iconly-boldVideo:before{content:""}.iconly-boldVoice-2:before{content:""}.iconly-boldVoice:before{content:""}.iconly-boldVolume-Down:before{content:""}.iconly-boldVolume-Off:before{content:""}.iconly-boldVolume-Up:before{content:""}.iconly-boldWallet:before{content:""}.iconly-boldWork:before{content:""}

View file

@ -0,0 +1 @@
@font-face{font-family:Iconly---Bold;src:url(../eot/Iconly---Bold.eot?jilz72);src:url(../eot/Iconly---Bold.eot?jilz72#iefix) format("embedded-opentype"),url(../fonts/Iconly---Bold.ttf?jilz72) format("truetype"),url(../fonts/Iconly---Bold.woff?jilz72) format("woff"),url(../svg/Iconly---Bold.svg?jilz72#Iconly---Bold) format("svg");font-weight:400;font-style:normal;font-display:block}[class^=iconly-bold],[class*=" iconly-bold"]{font-family:Iconly---Bold!important;speak:never;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.iconly-boldActivity:before{content:""}.iconly-boldUser:before{content:""}.iconly-boldUser1:before{content:""}.iconly-boldAdd-User:before{content:""}.iconly-boldArrow---Down-2:before{content:""}.iconly-boldArrow---Down-3:before{content:""}.iconly-boldArrow---Down-Circle:before{content:""}.iconly-boldArrow---Down-Square:before{content:""}.iconly-boldArrow---Down:before{content:""}.iconly-boldArrow---Left-2:before{content:""}.iconly-boldArrow---Left-3:before{content:""}.iconly-boldArrow---Left-Circle:before{content:""}.iconly-boldArrow---Left-Square:before{content:""}.iconly-boldArrow---Left:before{content:""}.iconly-boldArrow---Right-2:before{content:""}.iconly-boldArrow---Right-3:before{content:""}.iconly-boldArrow---Right-Circle:before{content:""}.iconly-boldArrow---Right-Square:before{content:""}.iconly-boldArrow---Right:before{content:""}.iconly-boldArrow---Up-2:before{content:""}.iconly-boldArrow---Up-3:before{content:""}.iconly-boldArrow---Up-Circle:before{content:""}.iconly-boldArrow---Up-Square:before{content:""}.iconly-boldArrow---Up:before{content:""}.iconly-boldBag-2:before{content:""}.iconly-boldBag:before{content:""}.iconly-boldBookmark:before{content:""}.iconly-boldBuy:before{content:""}.iconly-boldCalendar:before{content:""}.iconly-boldCall-Missed:before{content:""}.iconly-boldCall-Silent:before{content:""}.iconly-boldCall:before{content:""}.iconly-boldCalling:before{content:""}.iconly-boldCamera:before{content:""}.iconly-boldCategory:before{content:""}.iconly-boldChart:before{content:""}.iconly-boldChat:before{content:""}.iconly-boldClose-Square:before{content:""}.iconly-boldDanger:before{content:""}.iconly-boldDelete:before{content:""}.iconly-boldDiscount:before{content:""}.iconly-boldDiscovery:before{content:""}.iconly-boldDocument:before{content:""}.iconly-boldDownload:before{content:""}.iconly-boldEdit-Square:before{content:""}.iconly-boldEdit:before{content:""}.iconly-boldFilter-2:before{content:""}.iconly-boldFilter:before{content:""}.iconly-boldFolder:before{content:""}.iconly-boldGame:before{content:""}.iconly-boldGraph:before{content:""}.iconly-boldHeart:before{content:""}.iconly-boldHide:before{content:""}.iconly-boldHome:before{content:""}.iconly-boldImage-2:before{content:""}.iconly-boldImage:before{content:""}.iconly-boldInfo-Circle:before{content:""}.iconly-boldInfo-Square:before{content:""}.iconly-boldLocation:before{content:""}.iconly-boldLock:before{content:""}.iconly-boldLogin:before{content:""}.iconly-boldLogout:before{content:""}.iconly-boldMessage:before{content:""}.iconly-boldMore-Circle:before{content:""}.iconly-boldMore-Square:before{content:""}.iconly-boldNotification:before{content:""}.iconly-boldPaper-Download:before{content:""}.iconly-boldPaper-Fail:before{content:""}.iconly-boldPaper-Negative:before{content:""}.iconly-boldPaper-Plus:before{content:""}.iconly-boldPaper-Upload:before{content:""}.iconly-boldPaper:before{content:""}.iconly-boldPassword:before{content:""}.iconly-boldPlay:before{content:""}.iconly-boldPlus:before{content:""}.iconly-boldProfile:before{content:""}.iconly-boldScan:before{content:""}.iconly-boldSearch:before{content:""}.iconly-boldSend:before{content:""}.iconly-boldSetting:before{content:""}.iconly-boldShield-Done:before{content:""}.iconly-boldShield-Fail:before{content:""}.iconly-boldShow:before{content:""}.iconly-boldStar:before{content:""}.iconly-boldSwap:before{content:""}.iconly-boldTick-Square:before{content:""}.iconly-boldTicket-Star:before{content:""}.iconly-boldTicket:before{content:""}.iconly-boldTime-Circle:before{content:""}.iconly-boldTime-Square:before{content:""}.iconly-boldUnlock:before{content:""}.iconly-boldUpload:before{content:""}.iconly-boldVideo:before{content:""}.iconly-boldVoice-2:before{content:""}.iconly-boldVoice:before{content:""}.iconly-boldVolume-Down:before{content:""}.iconly-boldVolume-Off:before{content:""}.iconly-boldVolume-Up:before{content:""}.iconly-boldWallet:before{content:""}.iconly-boldWork:before{content:""}

View file

@ -0,0 +1 @@
table.dataTable td{padding:15px 8px!important}.fontawesome-icons .the-icon svg{font-size:24px}.page-item.active .page-link{color:#fff!important}.datatable-minimal div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:flex-end!important}.datatable-minimal div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_info{padding-top:.4em}

View file

@ -0,0 +1 @@
table.dataTable td{padding:15px 8px!important}.fontawesome-icons .the-icon svg{font-size:24px}.page-item.active .page-link{color:#fff!important}.datatable-minimal div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:flex-end!important}.datatable-minimal div.dataTables_wrapper div.dataTables_filter{text-align:left}div.dataTables_wrapper div.dataTables_info{padding-top:.4em}

View file

@ -0,0 +1 @@
.dataTable-wrapper.no-footer .dataTable-container{border-bottom:none}.dataTable-selector{padding:.375rem 1.75rem .375rem .75rem}.dataTable-dropdown{display:inline-flex;align-items:center}.dataTable-dropdown label{white-space:nowrap;margin-left:15px}.page-item.active .page-link{color:#fff!important}

View file

@ -0,0 +1 @@
.dataTable-wrapper.no-footer .dataTable-container{border-bottom:none}.dataTable-selector{padding:.375rem .75rem .375rem 1.75rem}.dataTable-dropdown{display:inline-flex;align-items:center}.dataTable-dropdown label{white-space:nowrap;margin-right:15px}.page-item.active .page-link{color:#fff!important}

View file

@ -0,0 +1 @@
.dripicons{line-height:1}.glyphs.character-mapping{margin:0;padding:0;border:none}.glyphs.character-mapping li{margin:0;display:inline-block;width:90px;border-radius:4px}.glyphs.character-mapping .icon{margin:10px 0 10px 15px;padding:15px;position:relative;width:55px;height:55px;color:#398ff7!important;overflow:hidden;-webkit-border-radius:3px;border-radius:3px;font-size:32px}.glyphs.character-mapping .icon svg{fill:#398ff7}.glyphs.character-mapping li:hover .icon{color:#fff!important}.glyphs.character-mapping li:hover .icon svg{fill:#fff}.glyphs.character-mapping li:hover input{opacity:100}.glyphs.character-mapping li:hover{background:#374347}.glyphs.character-mapping input{opacity:0;background:#398ff7;color:#fff;margin:0;padding:10px 0;line-height:12px;font-size:12px;display:block;width:100%;border:none;text-align:center;outline:none;border-bottom-right-radius:3px;border-bottom-left-radius:3px;font-family:Montserrat,Helvetica,Arial,sans-serif;font-weight:400}.glyphs.character-mapping input:focus{border:none}.glyphs.character-mapping input:hover{border:none}.glyphs.css-mapping{margin:0 0 60px;padding:30px 0 20px 30px;color:rgba(0,0,0,.5);border:none;-webkit-border-radius:3px;border-radius:3px}.glyphs.css-mapping li{margin:0 30px 20px 0;padding:0;display:inline-block;overflow:hidden}.glyphs.css-mapping .icon{margin:0 10px 0 0;padding:13px;height:50px;width:50px;color:#398ff7!important;overflow:hidden;float:left;font-size:24px}.glyphs.css-mapping input{background:none;color:#398ff7;margin:5px 0 0;padding:8px;line-height:14px;font-size:14px;font-family:Montserrat,Helvetica,Arial,sans-serif;font-weight:700;display:block;width:120px;height:40px;border:none;-webkit-border-radius:5px;border-radius:5px;outline:none;float:right}.glyphs.css-mapping input:focus{border:none}

View file

@ -0,0 +1 @@
.dripicons{line-height:1}.glyphs.character-mapping{margin:0;padding:0;border:none}.glyphs.character-mapping li{margin:0;display:inline-block;width:90px;border-radius:4px}.glyphs.character-mapping .icon{margin:10px 15px 10px 0;padding:15px;position:relative;width:55px;height:55px;color:#398ff7!important;overflow:hidden;-webkit-border-radius:3px;border-radius:3px;font-size:32px}.glyphs.character-mapping .icon svg{fill:#398ff7}.glyphs.character-mapping li:hover .icon{color:#fff!important}.glyphs.character-mapping li:hover .icon svg{fill:#fff}.glyphs.character-mapping li:hover input{opacity:100}.glyphs.character-mapping li:hover{background:#374347}.glyphs.character-mapping input{opacity:0;background:#398FF7;color:#fff;margin:0;padding:10px 0;line-height:12px;font-size:12px;display:block;width:100%;border:none;text-align:center;outline:none;border-bottom-left-radius:3px;border-bottom-right-radius:3px;font-family:Montserrat,Helvetica,Arial,sans-serif;font-weight:400}.glyphs.character-mapping input:focus{border:none}.glyphs.character-mapping input:hover{border:none}.glyphs.css-mapping{margin:0 0 60px;padding:30px 30px 20px 0;color:rgba(0,0,0,.5);border:none;-webkit-border-radius:3px;border-radius:3px}.glyphs.css-mapping li{margin:0 0 20px 30px;padding:0;display:inline-block;overflow:hidden}.glyphs.css-mapping .icon{margin:0 0 0 10px;padding:13px;height:50px;width:50px;color:#398ff7!important;overflow:hidden;float:right;font-size:24px}.glyphs.css-mapping input{background:none;color:#398ff7;margin:5px 0 0;padding:8px;line-height:14px;font-size:14px;font-family:Montserrat,Helvetica,Arial,sans-serif;font-weight:700;display:block;width:120px;height:40px;border:none;-webkit-border-radius:5px;border-radius:5px;outline:none;float:left}.glyphs.css-mapping input:focus{border:none}

View file

@ -0,0 +1 @@
.chat{border-radius:5px}.chat.chat-left .chat-message{background:#5a8dee!important;float:left!important;color:#fff}.chat .chat-message{text-align:left!important;float:right!important;margin:.2rem 0 1.8rem .2rem!important;color:#525361;background-color:#fafbfb!important;box-shadow:0 2px 6px rgba(0,0,0,.3)!important;padding:.75rem 1rem!important;position:relative!important;max-width:calc(100% - 5rem)!important;clear:both!important;word-break:break-word!important;border-radius:.267rem!important}

View file

@ -0,0 +1 @@
.chat{border-radius:5px}.chat.chat-left .chat-message{background:#5A8DEE!important;float:right!important;color:#fff}.chat .chat-message{text-align:right!important;float:left!important;margin:.2rem .2rem 1.8rem 0!important;color:#525361;background-color:#fafbfb!important;box-shadow:0 2px 6px rgba(0,0,0,.3)!important;padding:.75rem 1rem!important;position:relative!important;max-width:calc(100% - 5rem)!important;clear:both!important;word-break:break-word!important;border-radius:.267rem!important}

View file

@ -0,0 +1 @@
.widget-todo-list-wrapper{padding:0;margin:0}#widget-todo-list{padding:0;min-width:400px}[data-bs-theme=dark] .widget-todo-item:hover{background-color:#212529}.widget-todo-title-wrapper{gap:1rem}.widget-todo-title{min-width:150px}.widget-todo-title-area svg{width:24px}.widget-todo-item{padding:.8rem 2rem .8rem .8rem;list-style:none}.widget-todo-item:hover{background-color:#f8f9fa}.widget-todo-item .checkbox{margin-left:1rem}.widget-todo-item i,.widget-todo-item svg{font-size:12px;cursor:move;height:1rem}

View file

@ -0,0 +1 @@
.widget-todo-list-wrapper{padding:0;margin:0}#widget-todo-list{padding:0;min-width:400px}[data-bs-theme=dark] .widget-todo-item:hover{background-color:#212529}.widget-todo-title-wrapper{gap:1rem}.widget-todo-title{min-width:150px}.widget-todo-title-area svg{width:24px}.widget-todo-item{padding:.8rem .8rem .8rem 2rem;list-style:none}.widget-todo-item:hover{background-color:#f8f9fa}.widget-todo-item .checkbox{margin-right:1rem}.widget-todo-item i,.widget-todo-item svg{font-size:12px;cursor:move;height:1rem}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 88 KiB

View file

@ -0,0 +1,154 @@
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1000 700">
<path fill="#d0103a" d="M0 0h1000v700H0z"/>
<path fill="#fedf00" d="M0 0h680v700H0z"/>
<path fill="#0018a8" d="M0 0h320v700H0z"/>
<path fill="#c7b37f" d="M469.37 188.48c12.05 0 16.98 10.34 29.03 10.34 7.44 0 11.78-2.43 18.26-6.09 4.52-2.56 7.41-3.93 12.6-3.93 5.32 0 8.58 1.61 11.3 6.17 1.54 2.58 2.82 7.63 2.14 10.53a62.43 62.43 0 0 1-4.26 12.95c-1.04 2.44-2.03 3.9-2.03 6.56 0 6.4 8.7 8.6 14.63 8.69 1.29.02 12.13.2 18.81-6.56-3.62-.16-7.67-2.97-7.67-6.59 0-4.1 2.88-6.87 6.78-8.05.74-.22 2 .44 2.68.09.95-.5.5-1.57 1.35-2.24 1.95-1.56 3.21-2.53 5.7-2.53 1.63 0 2.58.23 3.89 1.17.69.49.94 1.1 1.79 1.1 1.78 0 2.67-1.13 4.45-1.13 1.45 0 2.33.2 3.6.85 1.07.55 1.04 2.35 2.24 2.35.6 0 3.78-1.3 5.44-1.3 3.45 0 5.29 1.25 7.52 3.87.6.7.98 2.13 1.6 2.13a9.72 9.72 0 0 1 7.5 4.6c.41.65 1.03 2.25 1.75 2.53.84.32 1.55.26 2.66.97 2.52 1.62 4.47 4.66 4.37 7.6-.03 1-.48 2.38-.75 3.32-2.94 10.28-9.94 13.55-17 22.38-3 3.76-5.38 6.77-5.38 11.6 0 1.16 1.44 3.3 2.07 4.26-.39-2.26.65-5.05 3.05-5.18 3.28-.17 5.81 2.32 6.25 5.57.1.76-.19 2.08-.51 2.85a14.92 14.92 0 0 1 6.21-2.2c1.15-.12 1.82-.16 2.98-.13 5.25.13 11.04 3.08 14.55 6.07 10.75 9.13 12.05 22.49 11.46 26.2-1.3 8.24-.48 23.17-21.56 29.12 3.9 1.64 6.55 4.57 6.55 8.17 0 3.93-3 7.28-6.93 7.28-2.24 0-3.8-.55-5.37-2.12-4.38 4.38-5.23 8.85-5.23 15.06 0 3.7.7 5.9 2.26 9.26 1.65 3.55 2.83 5.63 5.8 8.2 1.57-2.37 3.23-4.1 6.08-4.1 2.75 0 5.09.88 6.22 3.39.33.76.03 1.38.42 2.12.5.95 1.33 1.16 1.84 2.12.8 1.46.02 2.72.7 4.24.45.99 1.42 1.13 1.84 2.12.67 1.52.85 2.56.85 4.24 0 4.7-4.27 8.06-8.97 8.06-1.42 0-2.2-.57-3.6-.43 2.68 2.69 4.73 3.86 6.78 7.07 2.96 4.65 3.7 7.95 4.38 13.43.12 1.02.14 1.64.14 2.69 0 7.03-1.1 11.23-4.24 17.52-3 6.03-5.57 9.37-11.03 13.3-8.51 6.12-14.72 7.89-25.02 9.89a116.22 116.22 0 0 1-17.1 2.26c-8.59.55-13.48.56-22.05 1.13-11.24.76-19.03 2.35-27 10.32 3.76 2.75 6.36 5.46 6.36 10.1 0 4.78-2.95 8.19-7.5 9.69-1.05.35-1.83.03-2.82.56-1.19.62-1.13 1.98-2.26 2.69-2 1.27-3.55 1.55-5.94 1.55-4.2 0-7.07-.99-10.04-3.95-3.44 2.86-4.6 5.44-8.48 7.63-1.27.7-1.92 1.7-3.4 1.7-2.3 0-3.37-1.47-5.22-2.83a35.86 35.86 0 0 1-6.93-6.36c-3.51 2.1-5.67 3.81-9.75 3.81-2.51 0-4.1-.35-6.22-1.7-1.11-.68-1.3-1.7-2.4-2.4-1.17-.72-2.14-.46-3.4-.99-4.72-2.03-7.77-5.53-7.77-10.67 0-4.5 2.84-7.37 6.92-9.26-7.82-7.82-15.53-9.18-26.57-9.9-8.54-.54-13.4-.56-21.91-1.12-6.77-.46-10.53-1.15-17.25-2.26-5.07-.83-8.07-1.1-12.72-3.26-16-7.45-26.19-17.68-28.27-35.2-.18-1.5-.14-2.36-.14-3.88 0-9.12 3.58-14.68 10.03-21.13-1.66-.4-2.77.16-4.38-.43-4.03-1.46-6.93-4.26-6.93-8.55 0-1.59.07-2.65.85-4.03.55-.97 1.6-1.16 1.84-2.26.32-1.45-.1-2.47.57-3.82.44-.9 1.27-1.07 1.7-1.98 1.39-2.9 3.14-5.23 6.35-5.23 2.76 0 4.53 1.45 5.94 3.82 2.69-1.24 3.43-3.25 4.95-5.8 2.52-4.22 3.67-7.17 3.67-12.08 0-3.43-.33-5.44-1.41-8.7-.78-2.33-1.1-3.92-2.83-5.65a6.83 6.83 0 0 1-5.37 2.12c-4.49 0-7.92-3.85-7.92-8.34a7.51 7.51 0 0 1 4.67-7.2c-2.42-2.1-4.52-2.27-7.21-3.97-4.08-2.58-5.51-5.3-8.2-9.33-1.75-2.63-2.2-4.47-3.1-7.49-1.09-3.64-1.7-5.81-1.7-9.6 0-1 .01-1.58.14-2.55 1-7.67 2.38-12.48 7.2-18.52 2.87-3.59 4.81-5.8 9.05-7.63 3.6-1.56 5.76-2.7 9.68-2.7 1.19 0 1.88 0 3.04.15 1.8.23 2.96.39 4.53 1.27.6.34 1.7 1.35 1.7.64 0-.81-.43-1.24-.43-2.05 0-3.25 2.33-6.22 5.58-6.22 2.35 0 3.3 2.07 4.46 4.1a6.1 6.1 0 0 0 1.13-3.53c0-5.38-2.88-8.12-6.22-12.3-7.28-9.1-16.4-13.36-16.4-25.02 0-3.48 1.68-5.85 4.66-7.64.87-.5 2.03 0 2.88-.54.73-.46.64-1.4 1.1-2.14.73-1.14 1.37-1.64 2.38-2.52 1.66-1.45 3.12-1.02 4.95-2.29.92-.63 1.14-1.46 1.85-2.3 2.05-2.48 3.89-3.68 7.12-3.68 1.62 0 2.54.01 4.04.61.51.2 1.47.97 1.6.82a7.4 7.4 0 0 1 2.24-1.82c1.36-.65 1.9-.9 3.43-.9 1.73 0 2.86.97 4.6.97.63 0 .78-.64 1.3-.97 1.53-1.04 2.41-1.63 4.29-1.63 1.8 0 2.8.6 4.31 1.56 1.43.9 1.64 2.11 3.1 2.96.82.48 1.5.26 2.41.57 4.03 1.34 7.07 4.02 7.07 8.26 0 2.3-.55 3.94-2.26 5.45-1.36 1.2-2.65.99-4.39 1.55 5.62 4.49 10.51 5.6 17.69 5.6 6.57 0 14.6-2.68 14.6-9.26 0-3.05-1.68-4.7-2.88-7.5-2.16-5-3.33-7.95-3.33-13.39 0-4.31.47-6.93 2.98-10.43 2.58-3.6 5.73-4.44 10.17-4.44z"/>
<g fill="none" stroke="#703d29">
<path stroke-width="1.04" stroke-linejoin="round" d="M425.59 223.46a5.56 5.56 0 0 0 3.82 3.8 5.9 5.9 0 0 0 5.99-2.17c1.5-1.95 1.4-4.37.83-6.3-.37-1.24-1.37-2.44-2.7-3.47l-7.94 8.06v.08z"/>
<path stroke-width="1.04" stroke-linecap="round" d="M626.61 343.94c-1.87-4.5-6.69-2.49-6.98 0-.69 5.73 4.34 7.46 7.91 6.53a6.22 6.22 0 0 0 3.9-3.03 7.54 7.54 0 0 0 .6-5.82 7.66 7.66 0 0 0-1.32-2.59 7.77 7.77 0 0 0-2-1.89c-1.37-.87-2.87-.96-5.22-.96-8.7 0-16.33 10.29-18.89 20.98-.84 3.52-2 11.37-.4 18.81 1.72 7.93 5.15 13.42 9.17 17.59 2.18 2.25 5.14 4.26 8.99 6.43 1.18.67 4.32 2.06 6.5 2.68 2.23.64 4.3.55 6.15.15 5.16-1.12 7.56-5.92 4.96-10.83-2.13-4.02-8.4-6.22-11.35-1.1a5.08 5.08 0 0 0-.63 2.42c.02 1.37.59 3.02 1.56 3.64 2.25 1.43 5.84 1.02 5.68-2.94"/>
<path stroke-width="1.28" d="M599.69 403.07c1.75-2.06 5.76-5.14 10.34-5.7 4.66-.58 8.7.78 12.83 3 8.06 4.34 12.55 9 15.55 17.64.76 2.2 1.4 5.5 1.3 9.02-.14 5.6-1.56 11.73-3.09 14.7-1.33 2.58-4.82 13.99-23.94 21.86-11.16 4.6-28.3 5.66-40.12 6.12-16.26.65-31.26 1.25-39.96 11.98"/>
<g stroke-width="1.12">
<path d="M603.75 421.45c-.47-1.71-.03-3.35 1.32-5.2 1.82-2.5 5.68-3.35 9.18-1.4 1.17.64 2.63 1.5 3.96 3.26.5.66 1.35 1.74 1.79 2.48 1.06 1.82 1.5 3.3 1.7 3.9 3.85 10.92-2.26 22.76-10.25 27.51-6.2 3.7-13.61 5.34-22.47 6.38-3.98.47-6.26.44-10.26.62-3.23.15-6.01.1-8.63.07-2.16-.03-4.21-.02-6.3-.07a110.9 110.9 0 0 0-11.28.16c-4.55.33-7.97.44-11.81 1.09-2.52.41-5.46.82-8.55 1.51-.92.2-1.86.38-2.8.66l-1.89.58c-5.57 1.7-10.98 3.77-15.25 6.52-1.32.85-2.81 1.7-3.88 2.7-.66.63-1.47 1.26-2.12 1.9-3 2.95-6.05 6.13-6.77 10.44-.13.8-.13 1.63-.13 2.5 0 2.8 2.28 6.62 8.42 7.86M516.37 229.11c1.29 2.32 2 3.74 1.24 6.14-.84 2.73-2.77 4.36-5.52 4.36-6.22 0-9.87-7.37-7.07-12.06 4.97-8.31 14.54-3.64 23.4.48-.43-2.13-1.17-2.83-1.1-5.47.2-6.57 5.07-9.54 7.01-15.6 1.16-3.62 1.62-6.76-1.03-9.32-2.3-2.24-4.98-2.2-7.99-1.03-6.02 2.36-13.25 9.14-25.97 9.33-12.72-.19-20.01-6.97-26.03-9.33-3.01-1.18-5.69-1.21-8 1.03-2.64 2.56-2.18 5.7-1.02 9.31 1.95 6.07 6.81 9.04 7 15.6.08 2.65-.66 3.34-1.09 5.48 8.86-4.12 18.8-9.21 23.4-.48 2.57 4.87-.85 12.06-7.07 12.06-2.74 0-4.67-1.75-5.52-4.36-.76-2.32 0-4.35 1.24-6.14"/>
<path stroke-linecap="round" d="M491.5 224.79c2.4 1.84 4.1 4.1 3.82 7.77-.31 4-1.28 4.95-4.39 7.07M494.68 233.7c-.14 2.4-1.13 3.96-3.53 4.95"/>
</g>
<path fill="#c7b37f" d="M432.4 214.49l1.09.78 1.16 1.24.78 1.56.4 1.32.07 1.7-.08 1.17-.39 1.33-.78.93-.93 1.01-1.32.7-1.71.39-1.48.23-1.55-.7-1.4-1-.86-1.25-.62-1.56v-.62l7.62-7.23z" stroke="none"/>
<path stroke-width="1.04" stroke-linecap="round" d="M430.01 220.57c-.48-2.58-3.5-3.11-4.66-1.59-1.8 2.35-.49 6.26 3.17 7.4a5.9 5.9 0 0 0 5.99-2.17c1.51-1.96 1.4-4.38.83-6.3-.37-1.24-1.36-2.33-2.7-3.34-4.25-3.24-11.12-2.49-13.37 2.95-2.91 7.02 3.42 12.29 9.25 16.25 7.34 5 15.7 5.9 22 5.83 14.31-.15 25.2-7 32.27-10.88 1.65-.9 3.34-.72 4.2.3a3.11 3.11 0 0 1-.4 4.29"/>
<path stroke-width="1.06" d="M387.6 414.35l-3.19 1.17-3.26 2.48-1.4 1.95-1.8 3.1-.77 2.34-.62 2.88-.31 2.17M405.95 414.66l-.23 2.8-.47 1.94-1.4 3.35-2.18 2.87-2.33 1.87-1.7.85-2.42.55"/>
<path stroke-width="1.2" d="M499.6 489.23c-.58 2.59-3 5.55-8.28 6.62l-1.02.2"/>
<path stroke-width="1.36" d="M631.59 406.57c3.34 3.11 5.69 6.9 7.49 12.1.76 2.2 1.39 5.51 1.3 9.03-.14 5.6-1.56 11.73-3.09 14.7-1.33 2.58-4.82 13.99-23.95 21.86-11.16 4.6-28.3 5.65-40.11 6.12-16.03.63-30.83 1.23-39.59 11.52"/>
<path stroke-width=".93" d="M605.45 416.95c1.19-1.62 5.52-3.67 9.02-1.73a9.67 9.67 0 0 1 3.71 3.24"/>
<path stroke-width="1.36" d="M627.51 402.79c.78.3 1.56.57 2.24.77 2.24.64 4.34.69 6.16.14 4.42-1.33 7.26-5.46 4.96-10.83a8.84 8.84 0 0 0-2.71-3.33"/>
<path stroke-width="1.04" stroke-linecap="round" d="M375.44 287.13c-2.97 1.84-5.18 2.27-7.5 4.95-2.3 4.55-3.2 7-4.1 10.65M435.88 221.96c0 2.69-1.98 4.38-4.66 4.95"/>
<path d="M620.49 275.03c7.39-.15 28.86 5.64 29.01 30.88.15 24.92-15.38 29-21.6 30.65"/>
<path stroke-width="1.04" d="M622.43 275.03c12.74-.55 25.9 8.83 26.47 32.24.45 18.28-12.52 26.58-18.74 28.24"/>
<g stroke-width=".88">
<path d="M615.33 363.16l.2-2.5.83-3.98 1.18-3.09 1.32-2.55 1.72-2.06M632.74 343.67l-.2 2.45-.7 1.67-1.08 1.6-1.25.93-1.9.7-1.67.11-1.25-.2M602.33 268.42l.54-2.64 1.17-2.45 1.52-2.45 2.6-3.34 2.06-2.3 3.34-3.38 2.88-2.92 1.83-2.1 2.4-2.91 2.15-3.23 1.28-2.64.7-3.42.21-4.24-.39-1.23M605.44 429.44l2.53-.5 1.9-1.02 1.05-1.05.74-1.2.5-1.94.04-1.37M364.94 403.38l1.87.16 2.4-.2 2.42-.85M379.44 345.38l-.31 2.18-.5.97-.75.93-1 .78-1.13.5-1.48.24-1.01.08M388.73 326.65l-.54 3.38-.66 1.48-1.37 1.87-1.82 1.4-1.87.93-3.61.9M402.76 274.48l-.7 2.02-.85 1.48-1.17 1.63-1.63 1.48-1.95.93-1.63.39-1.01-.08M394.41 272.65l.04 1.55"/>
</g>
<g stroke-width=".99">
<path stroke-linecap="round" d="M397.32 325.09a10.71 10.71 0 0 1-3.27 2.03M629.24 397.16c.13.14.58.22.74.31 2.21 1.32 6.58-.33 5.3-3.75"/>
<path d="M621.54 349.38c1.57 2.05 4.54 2.59 6.88 1.98a6.22 6.22 0 0 0 3.9-3.03 7.55 7.55 0 0 0 .6-5.83 7.67 7.67 0 0 0-1.32-2.58 10.6 10.6 0 0 0-2.13-2.23c-.17-.11-.34-.26-.52-.38M638.99 390.46a6.13 6.13 0 0 0-1.9-5.71c-.43-.38-.85-.97-1.37-1.23M636.47 384.25c-.07-2.91-2.46-5-5.41-5.51M624.54 383.17c-.68-.55-1.4-1.02-2.04-1.69-3.83-4-6.7-9.92-6.74-16.68-.04-6.47 2.56-13.06 5.6-15.62M533.07 481.44l2.8-2.57 1.94-1.47 3.66-2.26 3.42-1.63 2.4-.62 4.83-1.1 5.6-.85M511.61 501.2c-2.02 3.11-6.84 7.77-11.9 9.64-5.05-1.87-9.87-6.53-11.9-9.64"/>
<path stroke-linecap="round" d="M491.28 494.73a15.48 15.48 0 0 1-3.47 6.45"/>
<path d="M491.78 491.47l-.7 3.42M487.43 501.42l-1.48 1.48-2.64 1.47-3.03.94M471.46 227.45c.38-1.18.77-2.07.71-4.01-.2-6.57-5.06-9.55-7-15.61-1.16-3.61-1.62-6.75 1.02-9.32 2.3-2.24 4.98-2.2 8-1.02 6.01 2.36 13.3 9.14 26.03 9.33-12.73-.2-20.02-6.97-26.04-9.33-3-1.18-5.93-1.53-8.24.71-2.64 2.57-1.93 6.02-.77 9.63 1.94 6.06 6.56 9.04 6.75 15.6.06 1.95-.45 2.84-.83 4.02M500.18 206.37c12.52-.66 23.25-9.07 26.7-9.76 3.1-.6 4.81-.33 7.08 1.72-2.27-2.05-4.84-1.99-7.77-.84-6.02 2.36-13.25 9.14-25.97 9.32M624.59 383.2a24.29 24.29 0 0 1-9.72-19.27c-.03-6.48 2.57-13.07 5.6-15.63M511.17 500.76c-2.02 3.11-6.84 7.77-11.9 9.64-5.05-1.87-9.87-6.53-11.89-9.64"/>
<path stroke-linecap="round" d="M479.17 230.74l3.62-2.02c1.65-.9 3.63-.71 4.49.32.96 1.16 1.1 3.18-.23 4.41"/>
<path d="M460.48 239.49c8.59-1.8 15.59-5.64 20.88-8.6M531.78 487.43c.71.48 1.17 1.5 1.17 1.5.2.46.45.9.52 1.32.4 2.38-1.16 3.86-3.09 4.08a5.26 5.26 0 0 1-5.48-3.17M460.04 239.05c8.59-1.8 15.59-5.64 20.88-8.6M633.38 397.49c-1.63.63-2.53.54-4.56-.36-.83-.37-1.79-.94-2.9-1.58-3.98-2.26-8.71-5.82-13.14-14.14a29.4 29.4 0 0 1-3.45-12.2c-.11-3 .21-6.14.96-9.72 1.24-5.93 2.72-9.15 6.37-14.15 1.8-2.47 3.35-3.97 6.7-4.05M398.83 279.88a11.12 11.12 0 0 1 4.12 8.94c0 4.84-4.05 12.75-14 15.55-3.82 1.07-7.59.2-9.87-1.18"/>
<path d="M400.46 296.28c1.79 1.24 2.49 2.64 2.49 5.07 0 1.66-1.08 3.82-2.9 5.87-3 3.34-8.1 6.19-13.73 6.26a16 16 0 0 1-9.42-2.74 14.16 14.16 0 0 1-5.98-8.4"/>
<path d="M400.3 306.71c2.03 1.86 2.65 4.2 2.65 7.13 0 4.29-1.74 7.6-5.75 11.1-.9.79-1.9 1.52-3.03 2.18M596.4 292.63v5.52M595.96 291.27v7.77M596.4 274.44v10.19M595.96 272.19v13.92M592.99 414.17a29.23 29.23 0 0 1-6.53 8.86c-3.09 3.04-5.22 4.44-9.1 6.38-3.77 1.89-6.14 2.49-10.26 3.42a52.45 52.45 0 0 1-10.73 1.32c-3.86.18-6.05.01-9.9-.25-4.14-.29-6.43-.86-10.55-1.23-3.4-.3-5.32-.57-8.74-.56-3.51 0-5.52.03-8.98.64a34.42 34.42 0 0 0-8.09 2.26c-4.2 1.7-8.94 4.66-9.95 5.98-1.01-1.32-5.75-4.28-9.95-5.98a34.42 34.42 0 0 0-8.09-2.26 44.73 44.73 0 0 0-8.98-.64c-3.42-.01-5.34.26-8.74.56-4.13.37-6.42.94-10.54 1.23-3.86.26-6.05.43-9.91.25a52.26 52.26 0 0 1-10.73-1.32c-4.12-.93-6.49-1.54-10.26-3.42-3.88-1.94-6.02-3.34-9.1-6.38l-.95-.95M478.8 505.47l2.8-.35M528.9 501.44l2.83-.27 2.69-1.08 1.88-1.14 2.56-3.03.53-1.14.4-2.62.14-1.21M613.23 277.36c1.21-4.13-.27-8.48-4.27-8.37M402.79 341.75a12.78 12.78 0 0 1-5.62 7.3M402.86 276.05c-1 2.89-2.83 4.95-5.72 6.26-2.89 1.3-6.23.09-8.02-1.3"/>
<path stroke-linecap="round" d="M380.95 291.2c2.4 1.25 4.82-.58 4.32-3.7a4.45 4.45 0 0 0-3.93-3.43"/>
<path d="M390.87 422.86c.52.49.63 1.11 1.32 1.24 1.05.2 1.87.59 2.92-.81 1.3-1.73.6-4.41-.75-6.1-1.44-1.8-5.61-3.4-9.11-1.46a11.6 11.6 0 0 0-3.97 3.26c-.5.67-1.35 1.74-1.79 2.5-1.05 1.8-1.49 3.28-1.7 3.88-3.2 9.1.6 18.66 6.49 24.5"/>
<path stroke-linecap="round" d="M531.59 487.23a9.2 9.2 0 0 1 1.01 1.24c.2.47.36.92.43 1.33.4 2.38-1.16 3.86-3.08 4.09-2.65.3-4.42-1.26-5.27-3.16"/>
<path d="M608.5 216.81c5.23.64 9.78 5.63 9.78 11 0 6.91-2.33 9.49-5.97 14.44-3.9 5.3-16.64 15-16.64 26.04 0 6.69 1.87 10.96 6.69 13.14 3.1 1.4 6.74-.11 8.4-1.6 4.04-3.66 2.42-10.07-1.8-10.84-5.13-.93-6.09 7.15-1.08 6.61M635.73 383.51a5.77 5.77 0 0 0-5.65-4.88 5.8 5.8 0 0 0-5.73 5.87c0 1.59.62 3.03 1.62 4.09"/>
<path d="M599.79 279.88a11.12 11.12 0 0 0-4.12 8.94c0 4.84 4.05 12.75 14 15.55 3.81 1.07 7.46.97 9.74-.42M375.61 287.8c-2.38.8-5.35 2.28-7.55 5.4-1.86 2.63-2.94 6.28-3.6 9.48-.3 1.4-.65 5.83.24 10.41a24.61 24.61 0 0 0 3.6 8.8 12.4 12.4 0 0 0 1.63 1.94c.51.52 1.25.97 1.77 1.37M471.72 469.02c7.58 3.36 13.13 5.87 17.84 13.31 1.48 2.33 1.87 5.68 1.87 7.62 0 4.2-1.72 8.94-5.21 11.9-3.25 2.74-6.46 3.57-10.42 3.18-3-.3-5.83-2.49-6.3-4.04M396.88 325.2c4.28 3.34 6.06 6.59 6.06 11.74 0 5.9-2.87 9.56-6.22 11.66"/>
<path stroke-linecap="round" d="M392.99 344.41c6.38 7.93 9.76 12.64 9.95 22.08.18 8.86-2.64 14.93-7.93 21.3"/>
<path d="M515.23 239.57a6.43 6.43 0 0 0 2.5-3.48c.75-2.33.77-4.31-.48-6.1 1.54 2 1.68 3.7 1.25 6.14-.28 1.55-1.27 2.37-2.5 3.49M596.4 374.24v25.24h.07c0 .02-.01 2.39-.22 3.89-.13.98-.27 1.87-.42 2.7"/>
<path d="M595.96 371.81v27.22h.07c0 .02-.01 2.4-.21 3.9a42.94 42.94 0 0 1-.73 4.11M595.96 339.94v22.7M596.4 341.73v18.46M596.4 318.25v13.84M595.96 316.62v17.06M596.4 304.1v5.37M595.96 303.01v7.78M593.08 412.65l-.53 1.08a29.22 29.22 0 0 1-6.53 8.87c-3.09 3.04-5.22 4.43-9.1 6.37-3.77 1.9-6.14 2.5-10.26 3.42a52.44 52.44 0 0 1-10.73 1.33c-3.86.17-6.05 0-9.9-.26-4.14-.29-6.43-.86-10.55-1.22-3.4-.3-5.32-.58-8.74-.57-3.51.01-5.52.03-8.98.65a34.41 34.41 0 0 0-8.09 2.25c-4.2 1.7-8.94 4.66-9.95 5.99-1.01-1.33-5.75-4.29-9.95-5.99a34.4 34.4 0 0 0-8.09-2.25 44.75 44.75 0 0 0-8.98-.65c-3.42 0-5.34.27-8.74.57-4.13.36-6.41.93-10.54 1.22-3.86.27-6.05.43-9.91.25a52.24 52.24 0 0 1-10.73-1.32c-4.12-.93-6.49-1.53-10.26-3.42-3.88-1.94-6.01-3.33-9.1-6.37-1.62-1.6-2.8-2.9-3.86-4.36M406.42 413.26c.67 4.94-1.41 9.8-3.52 12.03-1.32 1.4-4.2 4.08-7.78 4.12-5.9.08-7.67-3.98-8.03-4.97"/>
<path d="M399.4 410.7c1.1 1.08 2.07 2.4 2.9 3.96 1.47 2.8 1.02 7.49-.15 9.65-.13.23-.3.49-.48.74M370.04 453.2c3.51 3.69 8.83 7.7 16.99 11.05 11.16 4.6 28.3 5.66 40.12 6.12 15.71.62 30.2 1.27 39 11M493.29 475.01c2.6 2.56 5.25 5.3 6.37 8.8M488.18 501.7c-.34.36-.7.7-1.08 1.03-3.25 2.74-6.46 3.58-10.42 3.19-3-.3-5.9-2.55-6.69-4.03M461.63 497.35c.14.2.3.4.46.58a11.88 11.88 0 0 0 7.97 3.83M512.05 501.64c-2.02 3.11-6.84 7.77-11.9 9.64-5.05-1.87-9.87-6.53-11.9-9.64l-.46-.73M512.13 501.62c.36.4.75.76 1.16 1.1 3.24 2.75 6.45 3.59 10.41 3.2 3.01-.3 5.4-2.3 6.36-4.05 0 0 .54-.58.7-1.13"/>
<path d="M529.75 500.99l-1.16 1.87-1.77 1.46-2.67 1.11-2.42.1"/>
<path d="M536.03 483.22a12 12 0 0 1 3.6 4.53c.49 1.15.72 2.4.79 3.7a9.15 9.15 0 0 1-2.23 6.48 11.74 11.74 0 0 1-9.16 3.86M529.32 501.35c-3.17.13-6-1.23-8.1-3.38M620.72 391.93a37.1 37.1 0 0 1-7.5-10.08 29.38 29.38 0 0 1-3.46-12.2c-.1-3 .22-6.13.97-9.72 1.23-5.93 3.44-10.51 6.37-14.15 1-1.24 2.16-2.8 3.25-3.49M618.2 223.83c3.97.31 7.64 4.58 7.59 8.76-.07 6.08-2.1 8.6-6.89 14.55-4.12 5.13-16.48 14.15-16.17 22.78.05 1.53.88 3.11 1.8 4.39M599.59 279.72c.88.87 1.94 1.58 3.2 2.16 2.27 1.02 4.8.5 6.66-.45M576.37 213.9c1.33.9 2.68 2.3 3.42 4.06 2.9 7.02-3.43 12.29-9.26 16.25a33.33 33.33 0 0 1-12.97 5.13"/>
<path d="M569.69 227.43c-1.41-.01-3.1-.42-4.92-2.34a5.23 5.23 0 0 1-1.1-1.55M540.45 231.2a7.22 7.22 0 0 1-2.06-1.5c-1.39-1.55-2.31-3.65-1.24-6.86.98-2.96 5.74-11.27 5.97-17.02.36-8.8-3.02-13.98-8.3-16"/>
<path stroke-linecap="round" d="M542.68 203.85l-.2 3.3-.9 3.38-1.72 4.61-1.31 2.96-1.38 2.96-.69 2.07-.27 1.51.2 1.45M595.81 423.4c.27.66.93 1.3.93 1.3 1.01 1.7 4.94 4.66 8.52 4.7 5.9.09 7.3-4.05 7.46-4.97.75-4.5-.8-5.74-3.1-7.01 0 0-1.37-.7-3-.43"/>
<path d="M370.23 403.67c-2.09.53-4.05.55-5.76.03-4.42-1.32-8-5.56-6.18-10.83M379.21 343.15c.44.44.59 1.1.65 1.67.69 5.73-4.34 7.4-7.91 6.47a8.8 8.8 0 0 1-4.71-3.56 7.35 7.35 0 0 1-.97-3.6M400.74 307.15c.9.82 1.52 1.74 1.93 2.76M400.9 296.6a5.98 5.98 0 0 1 1.82 2.04"/>
<path stroke-linecap="round" d="M402.91 303.94a13.22 13.22 0 0 1-2.43 3.72c-3 3.34-8.08 6.19-13.72 6.26a16 16 0 0 1-9.42-2.74c-3.41-2.28-5.64-5.53-6.37-8.71"/>
<path d="M399.11 280.13a12.11 12.11 0 0 1 3.7 5.3"/>
<path stroke-linecap="round" d="M402.86 292.56c-1.38 4.57-5.51 10.23-13.47 12.25-3.8.96-8.7-.24-10.38-1.67"/>
<path d="M375.06 291.49c.42 4.12 3.17 7.2 8.4 7.3 7.35.15 11.82-10.57 5.29-18.09"/>
<path stroke-linecap="round" d="M358.52 327.39a25.45 25.45 0 0 0 3.63 3.64 26.24 26.24 0 0 0 9.27 5.15M379.67 336.95c6.57-.79 10.27-5.68 9.54-11.41-.56-4.36-4.56-7.72-7.29-7.91"/>
<path d="M390.39 268.92c2.85-.1 4.47 2.48 4.44 4.66"/>
<path stroke-linecap="round" d="M389.72 229.81a17.95 17.95 0 0 0 7.86 9.1M622.86 287.29c2.69 3.68.93 10.93-6.38 11.07a8.1 8.1 0 0 1-6.94-3.92"/>
<path d="M596.4 239.25v24.69"/>
<path stroke-linecap="round" d="M380.87 291.14c2.25 1.63 5.15-1.12 4.03-4.05-.76-1.97-3.56-4.1-7.45-1.46-4.3 2.92-3.11 12.13 5.13 12.28 7.35.14 11.82-10.57 5.29-18.1-6.29-7.23-17.73-5.53-25.2.4-3.17 2.53-9.17 9.15-11.03 18.17-.58 2.8-.96 5.11-.91 7.93.02 1.85.2 3.93.75 6.53a32.6 32.6 0 0 0 4.8 11.74c.71 1.03 1.35 1.87 2.04 2.56 1.28 1.28 1.67 1.96 2.96 3.04 4.22 3.51 9.66 6.27 16.32 5.98 7.31-.3 11.51-5.44 10.73-11.5-.75-5.88-6.69-8.8-10.57-6.07-2.64 1.87-3.58 7.65 1.09 9.02 2.64.78 4.97-2.57 3.1-4.5M584.4 210.68c4.22-2.3 7.47-1.87 9.87 1.47 2.62 3.63 2.99 8.45 2.41 11.28-.85 4.2-2.06 5.94-5.4 8.99"/>
<path stroke-linecap="round" d="M594.58 212.55c4.82-3.19 10.04-1.83 12.9 2.41 2.1 3.11 2.64 5.71 2.5 9.56-.26 6.6-4.39 11.83-8.95 14.39"/>
<path d="M617.28 223.67c3.96.31 7.15 3.9 7.15 8.09 0 5.98-1.67 8.58-6.45 14.53-4.12 5.14-16.48 14.15-16.17 22.78.12 3.27 2.87 6.34 5.24 6.51"/>
<path stroke-linecap="round" d="M617.75 291.14c-2.25 1.63-5.13-1-3.89-3.8.86-1.94 3.42-4.36 7.31-1.71 4.3 2.92 3.11 12.13-5.13 12.28-7.35.14-12.32-10.3-5.29-18.1 6.42-7.1 18.32-5.72 25.78.22 3.18 2.53 9.57 9.47 10.94 18.58 1.65 11.02 1.44 24.57-9.94 32.92-4.58 3.35-10.92 4.88-16.52 4.63-7.3-.32-11.5-5.44-10.72-11.5.75-5.88 6.41-8.37 10.57-6.07 4.32 2.4 3.56 8.47-1.09 9.02-2.74.33-4.98-2.56-3.1-4.5"/>
<path d="M613.86 287.34c1.21-5.45 5.88-5.96 9.66-5.9 10.3.14 17.41 12.36 17.53 24.17.15 14.92-6.33 23.71-17.24 24.18-2.82.12-7.68-1.22-7.77-4.67"/>
<path stroke-linecap="square" d="M620.2 284.9c10.86 2.41 14.67 12.2 14.67 21.53 0 7.62-.75 18.02-15.57 21.68"/>
<path d="M638.11 389.58a6.1 6.1 0 1 0-9.79 3.66"/>
<path stroke-linecap="round" d="M616.33 380.33c2.04 3.03 4.52 6.4 9.74 9.24M624.11 406.05c-5.12-3.36-14.84-7.76-23.62-3.43-3.26 1.61-5.45 3.6-6.68 6.84-2.22 5.84.26 12.28 2.79 14.95 1.32 1.4 4.2 4.07 7.77 4.12 5.91.08 7.32-4.06 7.47-4.97.7-4.28-1.8-6-3.11-6.46-1.02-.35-4.31-.26-5.01 2.07-.24.78-.28 2.13.34 3.14"/>
<path stroke-linecap="round" d="M531.99 488.16c1.63 3.34-.22 5.02-2.49 5.29-3.34.39-5.13-2.26-5.36-4.67a6.87 6.87 0 0 1 6.84-7.38c3.53.05 6.41 2.33 7.76 5.47.5 1.14.72 2.4.8 3.7a9.14 9.14 0 0 1-2.23 6.47c-2 2.33-5.11 3.74-8.43 3.87-6.6.27-11.74-5.9-11.74-12.2 0-12.06 17.87-18.63 24.96-20.32 8.7-2.08 14-2.86 27.99-3.63 5.6-.31 9.7-.16 15.86-.8 5.51-.57 8.4-.83 14.07-2.16 7.08-1.65 13.68-4.58 19.6-9.95 4.54-4.13 7.14-7.07 9.25-12.75 1.82-4.9 2.65-14.6-1.95-21.77-4.07-6.34-9.72-9.63-16.17-10.56-5.83-.85-10.94 1.67-14 7.45-1.47 2.8-1.02 7.48.15 9.64 1.01 1.87 3.9 4.62 7.47 4.67 5.91.08 7.32-4.06 7.47-4.98.7-4.27-1.8-5.98-3.11-6.45-1.02-.36-4.32-.27-5.02 2.07-.23.77-.27 2.13.35 3.14"/>
<path stroke-linecap="round" d="M526.9 469.02c-7.58 3.36-13.13 5.87-17.84 13.31-1.48 2.33-1.87 5.68-1.87 7.62 0 4.2 1.72 8.94 5.21 11.9 3.25 2.74 6.46 3.57 10.42 3.18 3-.3 5.83-2.49 6.3-4.04"/>
<path d="M601.73 325.2c-3.54 1.18-6.06 6.59-6.06 11.74 0 5.9 2.87 9.56 6.22 11.66"/>
<path stroke-linecap="round" d="M605.62 344.41c-6.38 7.93-9.76 12.64-9.95 22.08-.18 8.86 2.64 14.93 7.93 21.3"/>
<path d="M571.64 212.58l.55-.81c2.64-3.89 7.3-4.91 10.73-2.33 4.12 3.1 5.16 8.4 4.04 14-.7 3.5-3.07 6.4-6.33 8.51"/>
<path stroke-linecap="round" d="M414.22 210.68c-4.04-1.87-7.37-1.5-9.87 1.47-2.88 3.42-3 8.45-2.41 11.28.85 4.2 2.06 5.94 5.4 8.99"/>
<path d="M404.03 212.55c-4.82-3.19-10.04-1.83-12.9 2.41-2.1 3.11-2.64 5.71-2.5 9.56.26 6.6 4.39 11.83 8.95 14.39"/>
<path d="M390.12 216.81c-5.23.64-9.4 5.07-9.4 10.43 0 6.92 1.7 9.72 5.59 15 3.9 5.3 16.64 15.01 16.64 26.05 0 6.69-1.87 10.96-6.69 13.14-3.1 1.4-6.74-.11-8.4-1.6-4.04-3.66-2.42-10.07 1.8-10.84 5.12-.93 6.09 7.15 1.08 6.61"/>
<path d="M381.33 223.67c-3.97.31-7.87 3.72-7.87 7.9 0 6 2.39 8.77 7.17 14.72 4.12 5.14 15.76 13.98 15.45 22.6-.12 3.27-2.31 7.26-4.49 6.8"/>
<path stroke-linecap="round" d="M372 343.94c1.87-4.5 6.69-2.49 6.98 0 .69 5.73-4.34 7.46-7.91 6.53a6.22 6.22 0 0 1-3.9-3.03 7.55 7.55 0 0 1-.6-5.82c.27-.93.65-1.71 1.32-2.59a7.77 7.77 0 0 1 2-1.89c1.37-.87 2.87-.96 5.22-.96 8.7 0 16.33 10.29 18.89 20.98.84 3.52 2 11.37.4 18.81-1.72 7.93-5.15 13.42-9.17 17.59-2.17 2.25-5.14 4.26-8.99 6.43a38.65 38.65 0 0 1-6.5 2.68c-2.23.64-4.33.7-6.15.15-4.42-1.33-7.26-5.46-4.96-10.83 1.79-4.18 8.4-6.22 11.35-1.1.25.44.64 1.4.63 2.42-.02 1.37-.59 3.02-1.56 3.64-2.25 1.43-5.84 1.02-5.68-2.94"/>
<path d="M365.24 397.49c1.63.63 2.53.54 4.56-.36.83-.37 1.79-.94 2.9-1.58 3.98-2.26 8.71-5.82 13.14-14.14a29.38 29.38 0 0 0 3.45-12.2c.11-3-.21-6.14-.96-9.72-1.24-5.93-2.72-9.15-6.37-14.15-1.8-2.47-3.35-3.97-6.7-4.05M360.51 389.58a6.1 6.1 0 1 1 9.79 3.66"/>
<path d="M362.88 383.51a5.77 5.77 0 0 1 5.65-4.88 5.8 5.8 0 0 1 5.73 5.87c0 1.59-.62 3.03-1.62 4.09"/>
<path d="M374.02 383.2a24.29 24.29 0 0 0 9.72-19.27c.03-6.48-2.57-13.07-5.6-15.63"/>
<path stroke-linecap="round" d="M382.29 380.33c-2.04 3.03-4.52 6.4-9.74 9.24"/>
<path d="M397.81 402.63c-1.45-3.4-4.33-4.99-9.02-5.49-4.66-.5-8.7.79-12.83 3-8.06 4.34-12.55 9-15.55 17.65-.76 2.2-1.39 5.5-1.3 9.02.14 5.6 1.56 11.73 3.1 14.7 1.33 2.58 4.81 13.99 23.94 21.86 11.16 4.6 28.3 5.66 40.12 6.12 16.25.64 31.25 1.25 39.96 11.97"/>
<path stroke-linecap="round" d="M374.5 406.05c5.12-3.36 14.84-7.76 23.62-3.43 3.26 1.61 5.45 3.6 6.68 6.84 2.22 5.84-.26 12.28-2.79 14.95-1.32 1.4-4.2 4.07-7.77 4.12-5.91.08-7.32-4.06-7.47-4.97-.7-4.28 1.8-6 3.11-6.46 1.02-.35 4.31-.26 5.01 2.07.24.78.28 2.13-.34 3.14"/>
<path d="M394.86 421.45c.47-1.71.23-3.5-1.32-5.2-1.56-1.72-5.68-3.35-9.18-1.4a11.6 11.6 0 0 0-3.96 3.26c-.5.66-1.35 1.74-1.79 2.48-1.06 1.82-1.5 3.3-1.7 3.9-3.85 10.92 2.41 22.52 10.25 27.51 6.85 4.36 13.84 5.6 22.47 6.38 4 .36 6.26.44 10.27.62 3.22.15 6 .1 8.63.07 2.15-.03 4.2-.02 6.3-.07 3.4-.08 6.94-.16 11.27.16 4.55.33 7.97.44 11.81 1.09 2.52.41 5.46.82 8.55 1.51.92.2 1.86.38 2.8.66l1.89.58c5.57 1.7 10.98 3.77 15.25 6.52 1.32.85 2.84 1.67 3.88 2.7.8.8 1.47 1.26 2.12 1.9 3 2.95 6.05 6.13 6.77 10.44.13.8.13 1.63.13 2.5 0 2.8-2.28 6.62-8.42 7.86"/>
<path d="M466.62 488.16c-1.63 3.34.22 5.02 2.49 5.29 3.34.39 5.13-2.26 5.36-4.67a6.87 6.87 0 0 0-6.84-7.38c-3.53.05-6.41 2.33-7.76 5.47-.5 1.14-.72 2.4-.8 3.7a9.15 9.15 0 0 0 2.23 6.47c2 2.33 5.11 3.74 8.43 3.87 6.6.27 11.74-5.9 11.74-12.2 0-12.06-17.87-18.63-24.96-20.32-8.7-2.08-14-2.86-27.99-3.63-5.6-.31-9.7-.16-15.86-.8-5.51-.57-8.4-.83-14.07-2.16-7.08-1.65-13.68-4.58-19.6-9.95-4.54-4.13-7.14-7.07-9.25-12.75-1.82-4.9-2.65-14.6 1.95-21.77 4.07-6.34 9.72-9.63 16.17-10.56 5.83-.85 10.94 1.67 14 7.45 1.47 2.8 1.02 7.48-.15 9.64-1.01 1.87-3.9 4.62-7.47 4.67-5.91.08-7.32-4.06-7.47-4.98-.7-4.27 1.8-5.98 3.11-6.45 1.02-.36 4.32-.27 5.01 2.07.24.77.28 2.13-.34 3.14"/>
<path stroke-linecap="round" d="M426.97 212.58l-.55-.81c-2.64-3.89-7.3-4.91-10.73-2.33-4.12 3.1-5.16 8.4-4.04 14 .7 3.5 3.07 6.4 6.33 8.51"/>
<path d="M573.04 224.37c-6.3 6.84-12.6 9.03-22 9.33-2.94.1-8.56-.93-11.82-3.26-2.1-1.5-4.43-4.05-2.96-8.48 1-2.96 5.75-11.27 5.98-17.03.36-8.79-3.02-13.6-8.3-15.47-9.78-3.45-20.27 6.21-26.6 8.32a21.34 21.34 0 0 1-8 1.24 21.63 21.63 0 0 1-8.07-1.24c-6.33-2.1-16.82-11.77-26.6-8.32-5.28 1.87-8.66 6.68-8.3 15.47.23 5.76 4.99 14.07 5.97 17.03 1.48 4.43-.85 6.99-2.95 8.48-3.27 2.33-8.88 3.35-11.82 3.26-9.4-.3-15.7-2.49-22-9.33"/>
<path stroke-linecap="round" d="M464.58 466.27c1.25.49.3-.3 8.2 3.2 7.57 3.36 12.95 6.3 17.66 13.74 1.48 2.33 1.86 5.67 1.86 7.62 0 1.25-.15 2.55-.45 3.84"/>
<path d="M465.09 500.06c1.54.77 3.28 1.22 5.08 1.29 6.6.26 11.74-5.91 11.74-12.2 0-4.37-2.38-8.05-5.7-11"/>
<path stroke-linecap="round" d="M466.52 488.15c-1.6 3.55.68 5.47 2.94 5.74 3.34.39 5.22-2.26 5.46-4.67a6.98 6.98 0 0 0-3.28-6.48"/>
<path d="M609.53 216.87c5.02 0 9.4 5.59 9.4 11.32 0 6.6-3.52 10.65-6.1 13.7-2.07 2.46-4.3 4.66-6.98 7.35"/>
<path stroke-linecap="round" d="M603.58 211.58c1.7.79 3.2 2.13 4.35 3.82 2.1 3.1 2.63 5.71 2.48 9.56-.25 6.6-5 11.17-9.24 13.96M593.71 211.58c.35.3.68.63 1 1.01 2.88 3.43 3.1 8.48 2.41 11.29-1.03 4.2-2.43 6.02-5.85 8.54M583.36 209.85c4.12 3.11 5.35 8.49 3.98 14.03-.97 3.95-3.46 6.32-6.56 8.21M598.16 296.28c.5 1.45 1.3 1.95 2.33 3.02a21.15 21.15 0 0 0 9.62 5.5c3.82 1.08 7.25.27 9.88-1.36M365.29 387.87c1.94-.04 3.87 1.27 5.13 3.47.25.43.64 1.38.63 2.4-.01 1.38-.61 2.84-1.6 3.46-2.24 1.43-6.22.82-6.06-3.15"/>
<path d="M377.33 336.4c7.7 1.44 15.12 10.73 17.55 20.86.84 3.53 2 11.38.4 18.82-1.72 7.93-5.15 13.42-9.17 17.59-.95.98-2.06 1.92-3.32 2.85l-1.64 1.11M368.76 378.67c3.16 0 5.93 3.03 5.93 6.27 0 1.6-.61 3.03-1.61 4.09"/>
<path d="M366.62 382.35c3.3 0 6.43 3.18 6.43 6.55a6.1 6.1 0 0 1-2.31 4.78"/>
<path stroke-linecap="round" d="M396.84 349.2c3.03 4.06 5.03 7.56 5.95 12.07M402.69 374.53a26.98 26.98 0 0 1-2.26 6.32 27.85 27.85 0 0 1-5.56 7.25"/>
<path d="M397.32 325.52c2.92 2.28 4.68 4.64 5.5 7.47"/>
<path stroke-linecap="round" d="M402.9 317.92c-.77 2.66-2.5 4.67-5.27 7.2M383.33 298.27l3.37-.89 2-1.5 1.28-1.82 1.1-2.84.45-2.3"/>
<path d="M376.51 286.41c-1.06.27-2.41.66-3.82 1.33-1.9.9-3.9 2.3-5.51 4.58-1.86 2.63-2.94 6.28-3.6 9.48-.3 1.4-.65 5.84.24 10.41a24.61 24.61 0 0 0 3.6 8.81c.56.82 1.06 1.52 1.63 2.09 2.02 2.02 3.88 3.26 7 2.64"/>
<path stroke-linecap="round" d="M395.38 271.58c-.55 2-1.62 4.5-4.77 4.22"/>
<path d="M383.87 285.2c-3.02-2.96-9.43-3.73-15.8.3-.82.52-1.64 1.19-2.45 1.86-.87.73-1.57 1.57-2.25 2.48-.73 1-1.63 2.68-2.18 3.8a19.54 19.54 0 0 0-1.47 4.14 31.74 31.74 0 0 0-1.02 9.78c.17 1.51.32 2.9.56 4.18a29.13 29.13 0 0 0 3.48 9.66c1.4 2.33 4.9 7.69 12.06 8.4 2.8.27 7.61-1.01 7.77-4.67"/>
<path stroke-linecap="round" d="M568.38 220.42c.48-2.58 3.59-3.08 4.76-1.55 1.8 2.34.6 6.38-3.05 7.52a5.9 5.9 0 0 1-5.99-2.18c-1.51-1.95-1.4-4.37-.83-6.3.36-1.24 1.36-2.32 2.7-3.34 4.25-3.23 11.11-2.48 13.37 2.96 2.9 7.02-3.42 12.28-9.25 16.25-7.34 4.99-15.7 5.9-22 5.83-14.31-.16-25.2-7-32.27-10.89-1.65-.9-3.35-.72-4.2.31a3.11 3.11 0 0 0 .39 4.28"/>
<path stroke-linecap="round" d="M571.26 218c1.52.07 1.92.66 2.39 1.27 1.8 2.35.48 6.38-3.18 7.52M598.34 307.33c-5.45 5.93-.44 16.12 3.64 18.42 1.4 1.1 2 .51 3.14 1.17"/>
<path d="M598.63 295.99c-1.79 1.24-2.42 2.64-2.49 5.07-.06 2.03.3 4.29 2.2 6.27 2.98 3.1 8.8 5.79 14.43 5.86a16 16 0 0 0 9.42-2.74 14.16 14.16 0 0 0 5.98-8.4M595.58 398.6c0 .02 0 2.39-.21 3.89a29.5 29.5 0 0 1-3.27 10.8 29.23 29.23 0 0 1-6.53 8.87c-3.08 3.04-5.22 4.43-9.1 6.37-3.77 1.9-6.14 2.5-10.26 3.42a52.45 52.45 0 0 1-10.73 1.33c-3.86.17-6.05 0-9.9-.26-4.13-.28-6.42-.86-10.54-1.22-3.4-.3-5.33-.58-8.75-.57-3.5.01-5.52.03-8.98.65a34.41 34.41 0 0 0-8.09 2.25c-4.2 1.7-8.94 4.67-9.95 5.99-1-1.32-5.75-4.29-9.95-5.99a34.41 34.41 0 0 0-8.09-2.25 44.76 44.76 0 0 0-8.98-.65c-3.42 0-5.34.27-8.74.57-4.12.36-6.41.94-10.54 1.22-3.86.27-6.05.43-9.9.26-4.22-.2-6.63-.4-10.74-1.33s-6.49-1.53-10.26-3.42c-3.87-1.94-6.01-3.33-9.1-6.37a29.22 29.22 0 0 1-6.53-8.87 29.51 29.51 0 0 1-3.26-10.8c-.2-1.5-.22-3.87-.22-3.89V239.58h192.55V398.6h.07z"/>
</g>
<g fill="#c7b37f" stroke="#c7b37f">
<path stroke-width=".51" d="M387.41 421.32a3.9 3.9 0 1 1 7.81 0 3.9 3.9 0 0 1-7.81 0zM363.42 393.71c0-1.93 1.24-3.5 2.76-3.5s2.76 1.57 2.76 3.5-1.24 3.5-2.76 3.5-2.76-1.57-2.76-3.5z"/>
<path d="M377.05 324.36c0-1.59 1.2-2.87 2.66-2.87 1.48 0 2.67 1.28 2.67 2.87s-1.2 2.87-2.67 2.87-2.66-1.28-2.66-2.87zM424.91 221.81c-.17-1.6.79-3 2.13-3.14 1.35-.14 2.58 1.04 2.75 2.63.17 1.6-.79 3-2.14 3.14-1.34.14-2.57-1.04-2.74-2.63z" stroke="none"/>
</g>
<g stroke="#c7b37f" stroke-width=".99" stroke-linecap="round">
<path d="M373.92 340.54c-.57.25-.9.46-1.32.91-.41.43-.5.59-.82 1.3-.23.52-.3 1.12-.38 1.86M378.77 386.4c.54-.66.87-1.01 1.4-1.69.43-.56.68-.87 1.06-1.47.35-.54.5-.86.8-1.43.43-.8.65-1.25 1.05-2.06M381.11 401.53c-.92.42-1.47.61-2.37 1.09-.68.36-1.06.6-1.71 1-.78.49-1.2.77-1.95 1.3-.76.57-1.16.94-1.9 1.53M396.56 347.25c-.5-.52-.77-.82-1.28-1.32-.54-.53-.83-.84-1.4-1.32-.56-.47-.91-.69-1.5-1.12"/>
<path stroke-linecap="butt" d="M397.17 326.47c-.74.33-1.13.6-1.9.85-.89.29-1.49.44-2.34.48"/>
<path d="M371 300.68c.25.9.31 1.45.65 2.32.43 1.1.8 1.69 1.45 2.67.68 1.03 1.1 1.6 1.99 2.46.77.76 1.26 1.14 2.17 1.73.86.57 1.42.76 2.32 1.25M378.04 301.95c.76.4 1.15.71 1.94 1.04.72.3 1.15.43 1.9.6 1.04.24 1.64.3 2.7.32 1.13.03 1.47 0 2.9-.23M398.69 240.15c-1.25-.73-2-1.05-3.2-1.87a19.05 19.05 0 0 1-2.92-2.37 14.57 14.57 0 0 1-1.81-2.02c-.56-.76-.78-1.26-1.28-2.06M401.2 224.72c.4 1.05.5 1.68 1 2.68.68 1.36 1.2 2.07 2.23 3.19 1.41 1.55 2.61 2 4.28 3.27M410.98 224.61c.39.94.5 1.52 1 2.41.43.79.72 1.2 1.3 1.9.72.9 1.2 1.36 2.1 2.07 1.04.82 1.79 1.06 2.93 1.74"/>
</g>
<path fill="#703d29" stroke-width=".28" d="M520.78 211.91c-.08-2.65-2.69-2.92-3.69-2.92-2.88 0-3.67 1.8-7.27 3.73-4.5 2.42-6.45 2.96-10.46 3-4.01-.04-6-.58-10.52-3-3.6-1.93-4.2-3.68-7.09-3.68a3.64 3.64 0 0 0-3.51 3.84s-.03.8.1 1.34c.04.2.29.14.36.32-.03-1.2.21-1.82.8-2.63a3.42 3.42 0 0 1 2.54-1.31c2.89 0 3.96 1.85 7.56 3.78 4.51 2.42 6.45 2.96 10.46 3 4.01-.04 6-.58 10.52-3 3.6-1.93 4.63-3.94 7.52-3.94 1 0 1.7.65 2.03 1.67.2.63.1 1.04.14 1.3.03.11.18.1.21.23.1-.46.33-.63.3-1.73z"/>
</g>
<g fill="#703d29">
<path d="M413.12 434.42c.81-.87 1.42-.54 1.57-.95.11-.3-.13-.32-.46-.45-.44-.16-.9-.26-1.34-.42-.46-.17-.87-.4-1.33-.58-.19-.07-.63-.29-.75.04-.23.61 1.6.56.99 2.2-.1.28-.37.88-1.28 1.88l-4.14 4.5c-.09.11-.24.33-.34.3-.1-.04-.08-.31-.08-.45l.06-6.4c0-1.2.1-2.1.3-2.63.28-.73 1.12-.12 1.3-.6.1-.29.02-.3-.48-.49-.25-.1-.73-.2-1.74-.57-.53-.2-1.04-.47-1.56-.66-.24-.1-.67-.41-.83 0-.05.13.12.31.16.35.58.41.73.69.74 1.47l.11 11.63c.01.84.1 1.08.26 1.13.17.07.3 0 .64-.4l8.2-8.9z"/>
<path d="M417.95 436.22c.53-1.69 1.53-.67 1.72-1.28.07-.21 0-.27-.48-.42-.91-.29-1.51-.4-2.09-.58-.56-.18-1.16-.45-1.78-.64-.15-.05-.53-.23-.63.07-.2.63 1.77.7 1.26 2.32l-2.7 8.54c-.52 1.69-1.53.86-1.73 1.49-.03.08-.03.22.11.26.42.14 1.13.28 1.82.5 1.25.4 1.82.65 2.41.84.37.11.53.09.6-.1.18-.58-1.88-.32-1.19-2.51l2.68-8.49zM423.73 437.93c.32-1.07.82-.93 1.41-.75 1.63.48 2.14 2.07 1.62 3.83-.31 1.05-.7 2.03-3.15 1.3-.49-.14-1.08-.32-.95-.77l1.07-3.61zm-4.43 7.7c-.67 2.25-1.8 1.27-1.97 1.85-.1.35.25.4.42.45.81.24 1.64.4 2.5.67.68.2 1.1.4 1.37.48.37.1.53.04.58-.12.19-.65-1.62-.39-1.06-2.3l.92-3.1c.19-.62.13-.78.98-.52.8.24 1.05.48 1.18 1.38l.52 3.23c.2 1.18.37 2.46 1.64 2.84.65.19 1.83.11 2-.44.03-.15-.03-.28-.18-.33-.16-.04-.35.02-.51-.03-.13-.04-.43-.13-.5-.46-.49-2.6-1.09-5.6-1.05-5.7.05-.18.56-.2 1.15-.48.6-.29 1.26-.81 1.6-1.96.24-.82.67-3.44-2.86-4.48-1.08-.32-2.2-.58-3.27-.9-1.02-.3-1.12-.4-1.87-.62-.19-.06-.38-.02-.43.16-.19.64 1.76.5 1.17 2.5l-2.33 7.88zM432.46 449.48c-.52 2.16-2.15.85-2.32 1.55-.1.4.18.45.48.52.65.16 1.2.21 2.3.48 1.1.26 1.61.46 2.27.62.47.11.78.25.89-.19.12-.5-2.1-.48-1.56-2.72l1.97-8.2c.2-.87.4-.92 1.06-.76l1.4.34c1.89.37.88 2.26 1.53 2.42.43.1.42-.65.44-.88l.22-1.7c.03-.2.09-.45-.16-.5-1.52-.37-2.63-.56-5.01-1.13-2.39-.57-3.46-.91-4.98-1.27-.25-.06-.3.2-.37.37l-.83 2.33c-.1.23-.29.6.06.69.73.17.81-2.32 2.66-1.88l1.37.33c.67.16.81.3.6 1.16l-2.02 8.42zM452.3 444.42c.65-1 1.3-.78 1.38-1.2.06-.32-.18-.3-.53-.37-.46-.08-.93-.1-1.4-.18-.47-.1-.92-.25-1.4-.34-.2-.04-.67-.18-.73.17-.12.64 1.67.27 1.35 2-.05.29-.2.93-.93 2.06l-3.3 5.16c-.07.12-.18.36-.28.35-.1-.02-.13-.3-.16-.43l-1.05-6.3c-.2-1.2-.26-2.1-.16-2.65.14-.78 1.08-.32 1.17-.81.06-.31-.02-.31-.55-.4-.27-.06-.76-.07-1.81-.27-.57-.1-1.11-.28-1.66-.38-.25-.05-.73-.29-.81.15-.03.13.17.28.21.3.65.32.84.56.99 1.33l2.13 11.44c.15.82.29 1.04.45 1.07.18.03.29-.06.56-.5l6.53-10.2zM453.23 454.93c0 .46-.03.6.36.78.92.4 1.7.98 2.7 1.15 2.17.36 3.97-1.02 4.38-3.43.39-2.34-.57-3.31-2.2-4.47-2.04-1.46-2.91-1.85-2.7-3.08.2-1.24 1.06-1.81 2.16-1.63 2.85.48 2.52 3.94 2.9 4 .37.07.45-.14.49-.55l.23-2.5c.04-.43.13-.7-.12-.74-.21-.03-.67.19-.89.15-.5-.08-1.07-.91-2.43-1.14-1.94-.32-3.52 1-3.88 3.12-.32 1.93.54 2.8 1.85 3.75 2.44 1.75 3.45 2.16 3.18 3.73-.24 1.47-1.38 2.19-2.67 1.97-1.84-.3-2.59-2.15-2.82-4-.03-.26-.04-.43-.3-.48-.41-.06-.34.5-.33.76l.09 2.61zM477.95 447.96c.54-1.06 1.22-.91 1.25-1.34.03-.32-.21-.28-.56-.3-.47-.05-.95 0-1.42-.05-.48-.03-.94-.14-1.43-.18-.2-.02-.68-.11-.71.24-.05.65 1.7.1 1.56 1.84-.03.3-.11.95-.71 2.16l-2.74 5.47c-.06.13-.15.38-.25.37-.1 0-.16-.27-.2-.4l-1.7-6.16a8.49 8.49 0 0 1-.44-2.62c.06-.78 1.04-.42 1.08-.93.03-.31-.06-.3-.6-.34-.26-.02-.75.01-1.82-.07-.57-.05-1.14-.17-1.69-.21-.25-.02-.76-.2-.8.24 0 .13.2.26.25.28.68.24.9.46 1.12 1.21l3.32 11.15c.24.8.4 1 .56 1.02.18.01.27-.1.5-.56l5.43-10.82z"/>
<path d="M480.6 457c-.02 1.9-1.63 1.55-1.63 2.3 0 .32.33.23.52.23.45 0 .9-.07 1.44-.06.59 0 1.16.08 1.98.09.22 0 .64.02.64-.24 0-.88-2.15.37-2.12-3.2l.06-6.35c0-.17.03-.3.13-.3.09 0 .19.1.3.25l8 9.77c.11.15.2.26.43.26.2 0 .2-.14.2-.55l.1-10.47c.01-1.96 1.44-1.5 1.44-2.06 0-.05 0-.24-.31-.24-.16 0-.74.06-1.8.05-1.16 0-1.65-.08-1.92-.09-.21 0-.27.19-.27.32 0 .61 2.05.3 2.03 2l-.05 6.2c0 .47-.04.7-.14.7s-.3-.23-.52-.5l-6.68-8.28c-.3-.36-.1-.49-.63-.5-.89 0-1.33.07-1.76.07-.32 0-.62-.08-.94-.08-.2 0-.29.14-.3.31 0 .9 1.9-.3 1.86 3.28l-.06 7.1zM496.86 448.6c.02-1.77 1.27-1.09 1.27-1.72 0-.23-.08-.27-.58-.27-.96-.01-1.56.06-2.17.06-.59 0-1.24-.1-1.9-.1-.15 0-.56-.06-.57.26 0 .65 1.8.15 1.8 1.85v8.95c0 1.77-1.21 1.28-1.22 1.93 0 .1.03.22.18.23.44 0 1.16-.07 1.88-.06 1.31 0 1.93.09 2.56.1.38 0 .53-.07.54-.28 0-.6-1.89.24-1.87-2.05l.08-8.9zM503.9 457.27c.02 2.22-1.89 1.34-1.88 2.07 0 .4.29.39.6.39.66-.01 1.22-.09 2.34-.1 1.13-.01 1.68.06 2.35.05.49 0 .83.05.82-.4 0-.52-2.15.04-2.17-2.25l-.07-8.43c0-.9.16-1 .85-1l1.42-.01c1.94-.1 1.42 1.98 2.09 1.98.43 0 .24-.73.2-.96l-.2-1.71c-.01-.19-.01-.45-.26-.45-1.57.02-2.7.1-5.14.12-2.45.02-3.58-.04-5.14-.03-.25 0-.25.27-.27.45l-.24 2.47c-.03.24-.13.65.22.65.76-.01.23-2.45 2.13-2.46l1.41-.02c.69 0 .86.09.86.98l.08 8.66zM513.68 453.74c-.3.02-.53.06-.55-.13-.02-.26.06-.47.13-.7l1.03-3.4c.07-.2.13-.23.17-.23.08 0 .03 0 .14.14l1.64 3.26c.1.21.22.41.24.67.01.19-.22.19-.52.21l-2.28.18zm2.87.78c.44-.03.54.15 1.2 1.56.23.48.37.81.4 1.22.1 1.13-1.11 1.02-1.07 1.56.02.26.24.2.54.18.48-.03 1.1-.16 1.83-.21 1.1-.1 1.57-.05 2.17-.1.45-.04.6-.01.58-.33-.05-.61-.9.19-1.54-1.1l-5.41-11.02c-.26-.54-.3-.58-.45-.56-.22.01-.27.37-.37.68l-3.65 11.61c-.33 1.07-1.2 1.03-1.16 1.46.02.24.28.18.52.16.48-.04.96-.15 1.46-.19.54-.04 1.05 0 1.58-.05.35-.02.88.07.85-.33-.04-.5-1.82-.06-1.93-1.4-.03-.44.15-1.11.24-1.5.29-1.25.63-1.35.92-1.38l3.3-.26zM529.53 446.79c-.17-1.28-.1-1.3 1.91-1.57 3.21-.42 2.2 1.91 2.98 1.81.39-.05.22-.65.17-.89l-.3-1.82c-.03-.17-.17-.34-.38-.3-1.47.18-2.6.41-3.79.57-2.55.33-3.76.41-4.44.5-.23.04-.34.2-.32.37.1.74 1.9-.1 2.12 1.56l1.14 8.66c.3 2.26-1.1 1.42-1 2.27.03.12.14.2.35.17.92-.12 1.6-.29 2.12-.36.74-.1 1.36-.1 2-.18.41-.06.77-.03.72-.4-.06-.5-1.88.2-2.15-1.84l-.37-2.74c-.14-1.07-.23-1.29.53-1.39l1.24-.16c1.73-.23 1.52 1.8 2.05 1.72.4-.05.21-.7.17-.94l-.55-3.28c-.09-.5-.27-.43-.38-.42-.34.05-.16 1.75-1.6 1.94l-1.04.14c-.72.1-.73-.03-.84-.83l-.34-2.59zM535.67 451.03c.69 3.72 3.38 5.79 6.7 5.17 5.26-.97 5.44-5.65 4.96-8.22-.72-3.9-3.62-5.8-6.83-5.17-3.94.77-5.57 4.2-4.83 8.22zm1.84-1.42c-.5-2.66-.14-5.35 2.64-5.92 2.12-.43 4.53 1.32 5.28 5.38.57 3.04.1 5.67-2.73 6.25-2.95.6-4.7-3.03-5.2-5.71zM550.53 443.11c-.26-1.09.25-1.21.85-1.36 1.65-.4 2.88.73 3.31 2.51.26 1.07.4 2.11-2.08 2.7-.49.12-1.1.27-1.2-.19l-.88-3.66zm0 8.88c.56 2.29-.9 2-.77 2.59.09.36.42.22.6.18.81-.2 1.61-.46 2.5-.68.68-.16 1.14-.2 1.42-.26.37-.1.48-.23.44-.4-.16-.65-1.6.48-2.06-1.46l-.76-3.14c-.15-.63-.28-.73.59-.94.81-.2 1.15-.1 1.71.6l2.06 2.54c.76.93 1.56 1.95 2.85 1.64.65-.16 1.63-.82 1.5-1.38-.04-.14-.16-.23-.3-.2-.17.05-.3.2-.47.23-.13.03-.44.1-.66-.15-1.72-2-3.74-4.3-3.77-4.4-.04-.19.4-.46.77-1s.68-1.33.4-2.49c-.2-.83-1.14-3.31-4.72-2.46-1.1.27-2.18.6-3.28.87-1.03.25-1.18.2-1.93.38-.2.05-.33.18-.3.36.17.66 1.78-.44 2.27 1.59l1.92 7.98zM564.01 448.98c.56 2.15-1.5 1.76-1.32 2.46.1.4.37.31.66.23.65-.16 1.17-.37 2.26-.66 1.09-.28 1.65-.34 2.3-.51.47-.12.8-.15.7-.59-.14-.5-2.08.56-2.66-1.66l-2.1-8.17c-.23-.87-.1-1 .57-1.17l1.39-.36c1.85-.55 1.84 1.59 2.5 1.42.42-.11.06-.77-.03-.98l-.61-1.61c-.06-.18-.13-.43-.37-.37-1.52.4-2.59.75-4.96 1.36-2.37.61-3.48.82-5 1.21-.24.07-.17.32-.14.5l.36 2.46c.02.24.03.66.37.57.73-.19-.37-2.43 1.47-2.9l1.37-.35c.66-.18.85-.13 1.07.74l2.17 8.38zM572.6 437.52c-.47-1.7.92-1.4.75-2-.06-.22-.15-.24-.64-.1-.92.25-1.48.49-2.06.65-.57.15-1.22.26-1.85.43-.15.04-.57.1-.48.4.17.64 1.86-.37 2.31 1.26l2.4 8.63c.47 1.7-.82 1.56-.65 2.2.03.08.1.2.24.16.42-.12 1.1-.38 1.8-.57 1.25-.35 1.87-.45 2.47-.61.37-.1.5-.22.44-.42-.16-.57-1.74.76-2.35-1.45l-2.38-8.58zM576.18 441.69c1.2 3.6 4.15 5.26 7.35 4.19 5.08-1.7 4.6-6.36 3.77-8.84-1.25-3.75-4.39-5.24-7.48-4.16-3.8 1.3-4.94 4.94-3.64 8.81zm1.62-1.66c-.86-2.57-.88-5.28 1.8-6.23 2.04-.72 4.67.68 5.98 4.59.98 2.94.88 5.6-1.84 6.57-2.83 1.01-5.07-2.35-5.94-4.93zM589.72 431.56c-.41-1.04.07-1.23.65-1.46 1.58-.62 2.96.32 3.63 2.02.4 1.02.7 2.03-1.68 2.97-.47.18-1.05.41-1.22-.02l-1.38-3.51zm1.24 8.8c.87 2.18-.63 2.1-.4 2.66.13.35.44.17.61.1.78-.3 1.54-.68 2.38-1.02.65-.25 1.1-.35 1.37-.46.36-.14.44-.3.38-.45-.24-.62-1.51.7-2.24-1.16l-1.19-3c-.24-.61-.38-.7.45-1.02.78-.3 1.13-.26 1.79.36l2.39 2.23c.88.81 1.81 1.7 3.04 1.22.63-.24 1.51-1.03 1.3-1.57-.06-.14-.2-.2-.33-.15-.16.06-.27.23-.43.29-.12.05-.42.16-.67-.06-1.99-1.74-4.3-3.74-4.35-3.84-.07-.17.32-.5.62-1.09.29-.6.49-1.41.05-2.52-.31-.8-1.59-3.13-5.01-1.78-1.05.41-2.08.9-3.13 1.31-.98.4-1.14.37-1.86.65-.18.08-.3.23-.24.4.25.63 1.7-.69 2.47 1.26l3 7.63z"/>
</g>
<g fill="#fedf00">
<path fill="#d52b1e" d="M412.66 249.25h82.18v82.02h-82.18z"/>
<path id="a" fill="#fff" d="M451.2 313.83s-.05 2.93-.86 5.29c-.93 2.72-.94 2.72-1.8 4.04a13.13 13.13 0 0 1-3.8 3.89c-1.96 1.26-3.95 1.88-5.95 1.7-5.49-.48-8.04-6.43-9.28-11.27-1.32-5.13-5.07-7.92-7.47-6.06-1.4 1.09-1.47 2.91-.3 4.67 1.24 1.86 4.1 2.8 4.1 2.8l-2.94 3.73s-6.3-.82-7.53-7.4c-.47-2.49.74-7.13 4.89-8.52 5.3-1.77 8.68 2 10.31 5.2 2.25 4.38 3.21 12.43 9.43 11.18 3.39-.67 4.98-5.6 4.98-7.85l2.47-2.64 3.65 1.16.1.08z"/>
<use xlink:href="#a" transform="matrix(-1 0 0 1 907.52 0)"/>
<path d="M461.12 278.95l10.76-11.64s1.62-1.31 1.61-3.4l-2.22.34-.5-1.14-.1-1.15 2.98-.63c.04-.48 0-.85.09-1.38.08-.5.19-.76.3-1.25l-3.26.22c.17-.57.13-.87.31-1.4.16-.45.2-.62.5-1.1.61-.1 1.16-.24 1.91-.31.73-.07 1.15-.04 1.88-.09 1.78-3.32 9.19-6.37 14.45-.9 3.81 3.96 2.99 11.22-1.95 13.14a6.32 6.32 0 0 1-6.86-1.11l1.97-3.87c2.72 1.63 4.98-.4 4.82-2.5-.2-2.65-1.92-4.29-4.35-4.5-2.26-.2-3.88 1.1-4.9 3.1-.63 1.24-.34 2.14-.55 3.5-.22 1.49-.1 2.32-.53 3.82a8.75 8.75 0 0 1-2.37 3.59l-11.03 11.93-42.94 46.45-3.23-2.98 43.21-46.74z"/>
<path fill="#fff" d="M429.51 283.04s2.7 13.37 11.87 33.43c4.67-1.7 7.42-2.8 12.37-2.8 4.94 0 7.7.93 12.36 2.8 9.17-20.06 11.87-33.43 11.87-33.43l-24.23-31.18-24.24 31.18z"/>
<path d="M456.12 262.41l16.82 21.64s-2.24 10.52-9.08 26.35c-2.64-.6-4.91-1.13-7.73-1.32v-46.67zM451.38 262.41l-16.82 21.64s2.24 10.52 9.08 26.35c2.64-.6 4.91-1.13 7.73-1.32v-46.67z"/>
</g>
<g fill="#d52b1e">
<path fill="#fedf00" d="M503.6 249.25h82.18v82.02H503.6z"/>
<path d="M515.11 249.25h12.25v82.02h-12.25zM538.59 249.25h12.25v82.02H538.6zM562.07 249.25h12.25v82.02h-12.25z"/>
</g>
<g fill="#d52b1e" stroke="#d52b1e" stroke-width=".51">
<path fill="#fedf00" d="M412.97 402.41c.23 1.48.76 4.01 2.16 6.6 1.48 2.34.94 2.28 4.28 6.01 1.64 1.84 4.21 3.41 6.23 4.5 2.02 1.08 3.51 1.62 6.84 2.49 6.52 1.71 11.09 1.82 16.57 1.6 4.28-.17 7.55-.7 10.25-1.06 3.86-.52 6.73-.83 11.12-1.01 2.13-.1 4.15-.11 6.14 0 2.4.13 4.78.5 7.3 1a79.61 79.61 0 0 1 10.97 3.2l.01-85.66-82.19-.02v58.54s.17 2.86.32 3.8z" stroke="none"/>
<path d="M422.51 417.43l3.85 2.24 5.28 1.9v-81.53h-9.13zM468.17 421.14l.01-81.1h-9.14v82.4s6.25-.8 9.13-1zM486.41 340.05h-9.11v81.38c2.97.32 6.02.85 9.13 1.68l-.02-83.06zM449.92 340.05v83.33c-.09.01-6.1.32-9.17 0v-83.32z"/>
</g>
<path fill="#fedf00" d="M585.48 402.39a20.75 20.75 0 0 1-2.16 6.6c-1.48 2.34-.94 2.28-4.28 6-1.64 1.85-4.21 3.42-6.23 4.5-2.02 1.1-3.51 1.63-6.84 2.5-6.52 1.71-11.09 1.82-16.57 1.6-4.28-.17-7.55-.7-10.25-1.06-3.86-.52-6.73-.83-11.12-1.01a63.34 63.34 0 0 0-6.14 0c-2.4.13-4.78.5-7.3 1-5.45 1.1-11.04 3.2-11.04 3.2l.05-85.66 82.2-.02v58.54s-.17 2.86-.32 3.8z"/>
<g id="b">
<path fill="#d52b1e" d="M524.62 346.91l-.6.28c-.3.33-.44.52-.77.81-.45.4-.77.5-1.25.85-.24.16-.42.21-.6.44-.25.32-.08.62-.25 1-.19.4-.37.6-.65.93-.37.44-.65.61-1.07 1-.42.4-.59.73-1.1 1-.13.07-.19.14-.34.19-.21.07-.34-.01-.56.06-.39.14-.5.56-.78.72.11.22.1.37.22.6.16.32.7 1.21.81 1.43.21.3.27.7.53.78.54.17.86.16 1.32.13.79.18 1.28.16 2.03.47.61.25.86.57 1.47.84.47.21.77.34 1.28.44.38.07.6.13 1 .1.25-.03.37-.13.62-.16h.13l-.03.37v.09h.06l2.06.91c-.07.12-.15.26-.19.38-.1.32-.11.68-.06.84.63 1.89 1.16 3.07 1.47 3.19.62.23.8.86 1.16 1.5-.13.13-.23.2-.35.3-.61.6-1.15 1.02-1.65 1.82-.75 1.19-1.25 1.2-.32 2.78.55.93.82 1.1 1.53 2.4.37.67.57 1.18.79 1.98.2.75.27 1.19.3 1.97l.98.37.65-.65.63-1.2.03-.9c-.24-.2-.3-.47-.25-.78.07-.37.51-.3.72-.62.28-.47-.33-.74-.66-1.1-.6-.67-1.43-.83-1.62-1.84-.05-.28.08-.43.37-.72.86-.84 1.13-.97 1.97-1.81.24.14.61.19.97.12.28-.05.53.13 1.4.38.62.17.88.08 1.22.03l.38-.1c.05.22.11.42.12.7.06 1.05-.15 2.99.16 3.5.13.2.19.32.28.55.1.24.22.4.22.66.01.7.05 1.14 0 1.87-.04.7-.1 1.05-.22 1.75-.07.46-.16.72-.44 1.07-.28.36-.59.41-.96.68l-.1 1 1.13.47 1.28.32.69-.29c0-.25.04-.4.15-.62.13-.25.23-.44.47-.53.36-.14.76.13.9-.1.17-.24.07-.33.04-.75-.05-.66-.18-.98-.28-1.65a11.81 11.81 0 0 1-.16-2.75c.03-.62.04-.96.16-1.56.17-.89.48-1.32.68-2.2.23-.97.27-1.6.38-2.46 3.17.45 5.8.4 9.34-.38.17-.03.75-.25.75-.25.8.7 1.71 1.27 2.72 1.63v.97c.04.29-.04.48.13.72.1.15.2.24.37.28.27.06.46.02.66-.16.23-.2.18-.45.25-.75.03-.14 0-.56 0-.69.37.06.49.07.87.07.36 0 .53.01.88-.03l.03.46c.03.25-.08.44.03.66.11.23.25.36.5.4.2.05.35.02.53-.09.3-.18.27-.5.31-.84.02-.11.02-.7 0-.78l1.04-.38c0 .25-.04.52-.1.82a5 5 0 0 1-.25.93c-.2.57-.44.86-.75 1.38-.37.63-.57.98-1.03 1.56-.21.27-.36.39-.56.66-.26.33-.34.56-.6.9-.32.44-.5.73-.93 1.07-.7.55-1.15.1-2.1.84l-.22 1.03 1.44.53 1.28.25.44-.25c-.01-.3.03-.51.22-.75.21-.27.44-.35.78-.4.36-.06.75.03 1.03-.22.35-.31.35-.92.63-1.47a12.66 12.66 0 0 1 3-3.9c.61-.6 1.13-.77 1.65-1.45.25-.32.52-.46.53-.87.01-.28-.14-.42-.21-.69-.1-.38-.2-1-.2-1 1.53.75.98.65 1.26 1.4.22.62-.03 1.05.06 1.7.11.75.47 1.1.53 1.87.08.9-.14 1.42-.31 2.31-.15.79-.13 1.28-.47 2a3.85 3.85 0 0 1-1.16 1.57c-.2.17-.36.25-.59.4l-.12 1.03 1.12.38 1.63.44.37-.35c.16-.65-.05-1.61.4-1.69.41-.06.7 0 .79-.3.04-.14.06-.33.1-.63.21-1.89.41-3.65.62-4.5.23-.97.21-1.18.4-1.91.18-.66-.08-.28.41-1.69.73-2.1-.2-2.37-1.06-3.65-.46-.7-.62-.95-.69-1.5-.1-.82.16-1.5.12-2.75a42.32 42.32 0 0 1 0-2.88c.12-.05.23-.12.35-.19 1.17-.64 1.63-.83 2.37-2.46.23-.5.32-1 .32-1.47 0-.34-.07-.66-.1-1.03-.03-.4-.19-.64-.31-.94a3.17 3.17 0 0 0-.56-.85c-.78-.92-1.78-1.13-2.72-1.46-1.48-.54-2.5-.44-4.13-.57-1.67-.13-2.6-.15-4.28-.06-2 .12-3.13.52-5.12.75-1.92.22-2.98.37-4.9.4-2.27.05-4.43-.45-5.79-.34-2.45.21-2.5.76-6.19 1.07-1.92.15-3.84.18-3.84.18l-2.16-.68c.86-.31 1.07-.5 1.47-1.04.27-.36.23-.67.56-1.06.27-.31.45-.62.78-.97a2.2 2.2 0 0 0-.93-.43c-.37-.08-.58-.05-.94 0-.5.05-.77.12-1.22.34-.36.18-.62.36-.84.6 0 0-1.29-.84-2.19-1.23-1.12-.48-1.6-.7-3-.9zm1.97 11.9h.06l-.03.04-.03-.03z"/>
<g fill="none" stroke="#fedf00" stroke-width=".99" stroke-linecap="round">
<path d="M568.77 359.52l-.76.24c-.87.4-1.58.42-2.6.5-2.65.2-4.27-1.06-7-.85-1.4.11-2.03 1.2-3.46 1.55-.65.16-1.03.23-1.7.28l.51-1.03s-1.28.26-2.11.26c-.6 0-.94-.03-1.53-.13l1.02-.95s-.81-.13-1.3-.33a3.92 3.92 0 0 1-1.05-.63c.66-.12 1.03-.2 1.69-.36 1.55-.38 2.04-1.14 3.89-1.32 1.15-.11 3.03-.05 7.64.72 3.03.5 4.38.26 5.53-.26.77-.35 1.02-1.01 1.1-1.79.1-.78-.4-1.4-.87-1.81-.12-.1-.44-.33-1.1-.36"/>
<path fill="#fcd900" stroke-width=".51" stroke-linecap="butt" d="M524.8 350.61c-.53-.07-.88.01-1.34.3-.48.29-.54.69-.89 1.13.45.1.7.36 1.14.26.35-.09.53-.24.77-.51.31-.36.43-.68.42-1.16l-.1-.02z"/>
<path d="M536.04 363.79s.26.48.4.8c.25.55.38.88.53 1.47.2.8.11 1.28.24 2.1.02.14.05.26.08.37l-.05 1.13M544.04 362.71l-.35 1.33c-.36 1.36-.68 2.09-.95 3.46-.04.23-.08.45-.1.65M531.78 364.17c.79.18.54 3.36 1.79 4.09"/>
<path stroke-linecap="butt" d="M560.12 369.78l.38-.25a8.15 8.15 0 0 0 2.69-1.79"/>
<path d="M552.38 368.02c3.54-.88 5.9-2.65 7.59-2.87M555.97 363.61c.3-.01.58-.03.83-.07 1.47-.2 1.7.69 2.73 1.26 1.85 1.04 2.1 2.3 4.3 3.36l.32.15.84.43"/>
<path fill="#fcd900" stroke-width=".51" stroke-linecap="butt" d="M517.7 354.53c.27.07.43.08.7.05.34-.03.5-.23.82-.24.27-.01.47-.04.69.12.14.1.2.19.28.34.08.17.16.28.12.47-.06.28-.32.42-.61.42-.24 0-.44-.06-.55-.27a.47.47 0 0 1-.03-.4c-.29.11-.5.12-.78.02-.3-.1-.48-.24-.64-.51z"/>
</g>
<g fill="#0065bd">
<path d="M525.13 364.17c-.8-.24-1.97-.83-1.97-.83.33-.25.6-.26.87-.55.39-.4.37-.79.59-1.32.22-.52.18-.95.67-1.34.3-.23.76-.27 1.12-.17.35.11.76.4.85.77.13.56-.16.88-.25 1.45-.08.57-.3.9-.2 1.46.07.38.23.52.36.9 0 0-1.26-.14-2.04-.37zM524.14 365.12a.63.63 0 1 1 1.26-.02.63.63 0 0 1-1.26.02zM522.38 348.61l-.14-.1c-.39-.31-.42-.66-.6-1.11-.18-.44-.26-.7-.32-1.16-.05-.4 0-.64 0-1.05 0-.36.04-.57 0-.94-.04-.38-.03-.61-.21-.94-.1-.18-.4-.34-.31-.42.09-.1.25-.02.42 0 .4.04.63.16.94.42.38.3.53.57.67 1.04.17.55.25.9.4 1.47.1.3.14.47.3.74.15.27.31.38.52.63l-.02.02c-.3.33-.44.54-.77.83-.3.27-.56.4-.85.58l-.03-.01zM525.98 359.25l2.23 1.03a9.24 9.24 0 0 0 3.5-3.92c.88-1.72 1.02-2.65 1.36-4.31l-1.79-.58-.35.07c-.56 1.72-.7 2.7-1.62 4.2-.8 1.28-1.72 2.3-2.65 3.03l-.68.48zM530.92 377.37c.36-.5.51-.81.92-1.26.46-.5.8-.7 1.31-1.15.16.01.34-.02.48.07a9 9 0 0 1-.52 2.75c-.14.39-.16.64-.4.98-.15.22-.28.31-.47.51-.5-.74-1.33-1.3-1.32-1.9zM563.93 379.22c.57.21.92.27 1.47.54.61.3.9.57 1.47.94.02.16.1.32.06.48a8.97 8.97 0 0 1-2.79.26c-.41-.03-.66.02-1.05-.1-.26-.1-.38-.2-.63-.32.58-.7.88-1.64 1.47-1.8zM554.17 377.18c.57.21.92.27 1.47.54.6.3.9.57 1.47.94.02.16.1.32.06.48a8.98 8.98 0 0 1-2.79.26c-.41-.03-.66.02-1.05-.1-.26-.1-.38-.2-.63-.32.58-.7.88-1.64 1.47-1.8zM536.83 379.31c.57.21.92.27 1.47.54.61.3.9.57 1.47.94.02.16.1.32.06.48a9 9 0 0 1-2.79.26c-.41-.03-.66.02-1.05-.1-.26-.1-.38-.2-.63-.32.58-.7.88-1.64 1.47-1.8zM527.85 349.51c-.61-.28-1.05-1.04-.66-1.6.15-.21.41-.17.57-.39.18-.27.14-.5.13-.84 0-.37-.14-.57-.2-.94-.08-.4-.15-.64-.14-1.05 0-.63-.04-1.08.34-1.57.25-.32.66-.6.83-.62.14.14-.06.5-.04.83.04.46.13.71.3 1.15.2.56.47.8.7 1.36.2.52.4.81.41 1.37.02.45-.02.73-.2 1.15a2 2 0 0 1-.62.84c-.27.22-.45.32-.8.42-.24.02-.4-.01-.62-.11z"/>
</g>
</g>
<use xlink:href="#b" y="36.59"/>
<g fill="none" stroke="#703d29" stroke-width=".8">
<path d="M412.66 249.25h82.18v82.02h-82.18zM503.6 249.25h82.18v82.02H503.6zM412.97 402.41c.23 1.48.76 4.01 2.16 6.6 1.48 2.34.94 2.28 4.28 6.01 1.64 1.84 4.21 3.41 6.23 4.5 2.02 1.08 3.51 1.62 6.84 2.49 6.52 1.71 11.09 1.82 16.57 1.6 4.28-.17 7.55-.7 10.25-1.06 3.86-.52 6.73-.83 11.12-1.01 2.13-.1 4.15-.11 6.14 0 2.4.13 4.78.5 7.3 1a79.61 79.61 0 0 1 10.97 3.2l.01-85.66-82.19-.02v58.54s.17 2.86.32 3.8zM585.48 402.39a20.75 20.75 0 0 1-2.16 6.6c-1.48 2.34-.94 2.28-4.28 6-1.64 1.85-4.21 3.42-6.23 4.5-2.02 1.1-3.51 1.63-6.84 2.5-6.52 1.71-11.09 1.82-16.57 1.6-4.28-.17-7.55-.7-10.25-1.06-3.86-.52-6.73-.83-11.12-1.01a63.34 63.34 0 0 0-6.14 0c-2.4.13-4.78.5-7.3 1-5.45 1.1-11.04 3.2-11.04 3.2l.05-85.66 82.2-.02v58.54s-.17 2.86-.32 3.8z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 47 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 6 3"><path fill="#00843D" d="M0 0h6v3H0z"/><path fill="#fff" d="M0 1h6v2H0z"/><path d="M0 2h6v1H0z"/><path fill="#C8102E" d="M0 0h1.5v3H0z"/></svg>

After

Width:  |  Height:  |  Size: 200 B

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 186 KiB

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