scaffolding frontend common dom element

This commit is contained in:
Giuseppe Naponiello
2026-06-15 01:16:01 +02:00
parent 36bcc9a842
commit 611c554490
24 changed files with 945 additions and 15 deletions

10
.vscode/settings.json vendored
View File

@@ -4,5 +4,13 @@
// segnala falsi positivi "Unknown at-rule". Le elabora @tailwindcss/vite.
"css.lint.unknownAtRules": "ignore",
"scss.lint.unknownAtRules": "ignore",
"less.lint.unknownAtRules": "ignore"
"less.lint.unknownAtRules": "ignore",
// SonarLint (estensione, diversa dal linter CSS di VS Code): disattiva la regola
// css:S4662 "Unknown at-rule", che segnala le at-rule di Tailwind v4
// (@theme, @plugin, @apply, @custom-variant, @source, @utility). Coerente con
// l'esclusione lato server in sonar-project.properties.
"sonarlint.rules": {
"css:S4662": { "level": "off" }
}
}

View File

@@ -12,7 +12,7 @@ DC := docker compose
EXEC := $(DC) exec -u $(UID):$(GID) backend
.DEFAULT_GOAL := help
.PHONY: help up down build logs composer be-install be-update artisan migrate import tinker fe-install fe-rebuild fe-dev fe-build permissions
.PHONY: help up down build logs composer be-install be-update artisan migrate import tinker fe-install fe-add fe-rebuild fe-dev fe-build permissions
help: ## Mostra questo aiuto
@grep -hE '^[a-zA-Z_-]+:.*?## ' $(MAKEFILE_LIST) | awk 'BEGIN{FS=":.*?## "}{printf " \033[36m%-14s\033[0m %s\n",$$1,$$2}'
@@ -45,13 +45,15 @@ tinker: ## REPL artisan (container)
## --- Frontend / Node ---
# In dev Vite gira NEL container (make up): HMR via bind-mount, node_modules musl
# nel volume anonimo. Su host npm serve solo a tenere package-lock + node_modules
# host sincronizzati per il type-check dell'IDE; dopo ogni modifica a package.json
# rigenerare l'immagine frontend con `make fe-rebuild`.
fe-install: ## npm install host (aggiorna package-lock + node_modules host per l'IDE)
# nel volume anonimo. npm gira sull'HOST (package.json/lock + node_modules host per
# il type-check dell'IDE); poi si rigenera immagine + volume node_modules del container.
# AGGIUNGERE UNA LIBRERIA: make fe-add p="leaflet" && make fe-rebuild
fe-install: ## npm install host da package.json (package-lock + node_modules host per l'IDE)
cd frontend && npm install
fe-rebuild: ## Ricostruisce l'immagine frontend dopo modifiche a package.json (aggiorna node_modules del container)
$(DC) up -d --build frontend
fe-add: ## Aggiunge una dipendenza (host) — es: make fe-add p="leaflet" oppure p="-D nome"; poi make fe-rebuild
cd frontend && npm install $(p)
fe-rebuild: ## Rigenera immagine frontend E il volume node_modules del container (dopo modifiche a package.json)
$(DC) up -d --build --renew-anon-volumes frontend
fe-dev: ## ALTERNATIVA: vite dev server su host senza Docker (conflitto porta 5173 se lo stack è su)
cd frontend && npm run dev
fe-build: ## build di produzione su host (smoke test locale)

View File

@@ -1,11 +1,60 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0">
<title>Dynamic Collection - Index</title>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" />
<title>Dynamic Collection Index</title>
<meta name="description" content="Dynamic Collection: catalogo e curatela di collezioni digitali di reperti archeologici, con visualizzazione 3D interattiva." />
<link rel="canonical" href="https://dyncoll-dev.local/" />
<!-- NB produzione: sostituire l'host di canonical/og:url/og:image con il dominio reale,
idealmente iniettandolo a build-time via env Vite (import.meta.env). -->
<meta name="robots" content="index, follow" />
<meta name="author" content="Dynamic Collection Crew — Lund University" />
<meta property="og:type" content="website" />
<meta property="og:site_name" content="Dynamic Collection" />
<meta property="og:title" content="Dynamic Collection — Curated digital collections of archaeological artefacts" />
<meta property="og:description" content="Catalogo e curatela di collezioni digitali di reperti archeologici, con visualizzazione 3D interattiva." />
<meta property="og:url" content="https://dyncoll-dev.local/" />
<meta property="og:image" content="https://dyncoll-dev.local/og-image.png" />
<meta property="og:image:alt" content="Dynamic Collection" />
<meta property="og:locale" content="en_GB" />
<meta name="twitter:card" content="summary_large_image" />
<meta name="twitter:title" content="Dynamic Collection" />
<meta name="twitter:description" content="Collezioni digitali di reperti archeologici con visualizzazione 3D interattiva." />
<meta name="twitter:image" content="https://dyncoll-dev.local/og-image.png" />
<meta name="theme-color" content="#22458a" />
<meta name="color-scheme" content="light dark" />
<link rel="manifest" href="/manifest.json" />
<link rel="icon" href="/favicon.svg" type="image/svg+xml" />
<link rel="icon" href="/favicon.png" type="image/png" sizes="32x32" />
<link rel="apple-touch-icon" href="/icons/apple-touch-icon.png" />
<meta name="apple-mobile-web-app-title" content="Dynamic Collection" />
<meta name="mobile-web-app-capable" content="yes" />
</head>
<body>
<header class="border-b border-white shadow">
<div id="header-brand" class="h-full w-auto">
<a href="/" aria-label="Dynamic Collection — home" class="inline-block h-full">
<img src="/icons/lunds-unversitet.svg" alt="Lunds universitet" width="636" height="130" class="h-full w-auto" />
</a>
</div>
<nav id="header-menu" aria-label="Menu principale" class="h-full w-auto"></nav>
</header>
<main id="main-container"></main>
<aside class="user-panel" aria-label="Area utente">
<div class="user-card"></div>
<nav aria-label="Menu utente"></nav>
</aside>
<footer id="main-footer" class="h-[500px] w-full">
<img src="/logo/logo_footer_dark.png" class="h-1/2 w-auto" alt="">
</footer>
<script type="module" src="./src/pages/index/index.ts"></script>
</body>
</html>

View File

@@ -8,8 +8,12 @@
"name": "dyncoll-frontend",
"version": "3.0.0",
"dependencies": {
"@fontsource/titillium-web": "^5.2.8",
"axios": "^1.17.0",
"leaflet": "^1.9.4"
"chart.js": "^4.5.1",
"chartjs-plugin-datalabels": "^2.2.0",
"leaflet": "^1.9.4",
"lucide": "^1.18.0"
},
"devDependencies": {
"@tailwindcss/vite": "^4.3.1",
@@ -110,6 +114,14 @@
"tslib": "^2.4.0"
}
},
"node_modules/@fontsource/titillium-web": {
"version": "5.2.8",
"resolved": "https://registry.npmjs.org/@fontsource/titillium-web/-/titillium-web-5.2.8.tgz",
"integrity": "sha512-DNhXS1ib/de+LwbJiEmKgB9WAGK6MZfG9qFbJbz1JoY1f4KCt9HDK7lSUtqJPxdK47D2o0vqdWcg5SD+yphWOw==",
"funding": {
"url": "https://github.com/sponsors/ayuhito"
}
},
"node_modules/@jridgewell/gen-mapping": {
"version": "0.3.13",
"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
@@ -155,6 +167,11 @@
"@jridgewell/sourcemap-codec": "^1.4.14"
}
},
"node_modules/@kurkle/color": {
"version": "0.3.4",
"resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.4.tgz",
"integrity": "sha512-M5UknZPHRu3DEDWoipU6sE8PdkZ6Z/S+v4dD+Ke8IaNlpdSQah50lz1KtcFBa2vsdOnwbbnxJwVM4wty6udA5w=="
},
"node_modules/@napi-rs/wasm-runtime": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz",
@@ -992,6 +1009,25 @@
"node": ">=18"
}
},
"node_modules/chart.js": {
"version": "4.5.1",
"resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.5.1.tgz",
"integrity": "sha512-GIjfiT9dbmHRiYi6Nl2yFCq7kkwdkp1W/lp2J99rX0yo9tgJGn3lKQATztIjb5tVtevcBtIdICNWqlq5+E8/Pw==",
"dependencies": {
"@kurkle/color": "^0.3.0"
},
"engines": {
"pnpm": ">=8"
}
},
"node_modules/chartjs-plugin-datalabels": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/chartjs-plugin-datalabels/-/chartjs-plugin-datalabels-2.2.0.tgz",
"integrity": "sha512-14ZU30lH7n89oq+A4bWaJPnAG8a7ZTk7dKf48YAzMvJjQtjrgg5Dpk9f+LbjCF6bpx3RAGTeL13IXpKQYyRvlw==",
"peerDependencies": {
"chart.js": ">=3.0.0"
}
},
"node_modules/cliui": {
"version": "9.0.1",
"resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz",
@@ -1785,6 +1821,11 @@
"url": "https://opencollective.com/parcel"
}
},
"node_modules/lucide": {
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/lucide/-/lucide-1.18.0.tgz",
"integrity": "sha512-xzUa3LbA/Uvn3DCs7B7YfDcOZeqV8aZ4r4OFyCgJSfZGUdMglJiK3PJSbd26SXLLQvGGsYX9PdETCRXvfK4rnA=="
},
"node_modules/magic-string": {
"version": "0.30.21",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",

View File

@@ -24,7 +24,11 @@
"vitest": "^4.1.8"
},
"dependencies": {
"@fontsource/titillium-web": "^5.2.8",
"axios": "^1.17.0",
"leaflet": "^1.9.4"
"chart.js": "^4.5.1",
"chartjs-plugin-datalabels": "^2.2.0",
"leaflet": "^1.9.4",
"lucide": "^1.18.0"
}
}

BIN
frontend/public/favicon.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -0,0 +1,5 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" role="img" aria-label="Dynamic Collection">
<rect width="64" height="64" rx="12" fill="#22458a"/>
<text x="32" y="43" font-family="system-ui, -apple-system, Segoe UI, Roboto, sans-serif"
font-size="30" font-weight="700" text-anchor="middle" fill="#ffffff">DC</text>
</svg>

After

Width:  |  Height:  |  Size: 345 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -0,0 +1,460 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 23.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 636 130" style="enable-background:new 0 0 636 130;" xml:space="preserve">
<style type="text/css">
.st0{fill:#FFFFFF;}
</style>
<g id="Lager_1">
<path class="st0" d="M54.6,103.9v5.2c0,0.3,1.2,0.7,1.2,0.7h-3.7c0,0,1.1-0.5,1.1-0.7v-4.4l-1.2,0.2v-0.2L54.6,103.9L54.6,103.9z
M78.5,104.1c-1.7,0.4-2.5,1.4-2.8,2.6c0.4-0.2,0.8-0.3,1.2-0.3c1.2,0,2,0.7,2,1.7c0,1.1-1,1.9-2.4,1.9c-1.5,0-2.6-1-2.6-2.4
c0-1.8,1.8-3.6,4.4-3.6L78.5,104.1L78.5,104.1z M76.6,106.7c-0.4,0-0.7,0.2-0.9,0.3c0,0.1-0.1,0.4-0.1,0.9c0,0.6,0.1,1.7,1,1.7
s0.9-0.8,0.9-1.5C77.5,107.6,77.4,106.7,76.6,106.7z M70.7,104.1c-1.7,0.4-2.5,1.4-2.8,2.6c0.4-0.2,0.8-0.3,1.2-0.3
c1.2,0,2,0.7,2,1.7c0,1.1-1,1.9-2.4,1.9c-1.5,0-2.6-1-2.6-2.4c0-1.8,1.8-3.6,4.4-3.6L70.7,104.1L70.7,104.1z M68.7,106.7
c-0.4,0-0.7,0.2-0.9,0.3c0,0.1-0.1,0.4-0.1,0.9c0,0.6,0.1,1.7,1,1.7s0.9-0.8,0.9-1.5C69.6,107.6,69.6,106.7,68.7,106.7z
M62.8,104.1c-1.7,0.4-2.5,1.4-2.8,2.6c0.4-0.2,0.8-0.3,1.2-0.3c1.2,0,2,0.7,2,1.7c0,1.1-1,1.9-2.4,1.9c-1.5,0-2.6-1-2.6-2.4
c0-1.8,1.8-3.6,4.4-3.6L62.8,104.1L62.8,104.1z M60.9,106.7c-0.4,0-0.7,0.2-0.9,0.3c0,0.1-0.1,0.4-0.1,0.9c0,0.6,0.1,1.7,1,1.7
s0.9-0.8,0.9-1.5C61.7,107.6,61.7,106.7,60.9,106.7z M11.4,54.3c0.6,0.2,1.3,0.6,1.9,0.9c-0.1,0.2-0.1,0.4-0.2,0.6
c-0.1,0.5,0,1.1-0.1,1.9c-0.4,2.2-2.2,3.7-4.1,3.3c-2-0.3-3.2-2.4-2.8-4.7c0.2-1.1,0.7-1.8,0.8-2v-0.5L8.8,54c0,0-1.9,1.3-2.1,2.3
c-0.3,1.5,0.7,2.8,2.4,3.1c1.7,0.3,3.3-0.7,3.5-2.2C12.7,56.2,11.4,54.3,11.4,54.3L11.4,54.3z M29.1,26.2l-4,4.2
c0,0,0.3-1.3-0.1-1.6l-3.1-3c-0.5-0.4-1.6-0.1-1.6-0.1l2.6-2.7c0,0-0.3,1.3,0.1,1.6l3.2,3.1c0.3,0.3,0.4,0.3,0.7,0l1-1
c0.5-0.5,0.5-2.4,0.5-2.4L29.1,26.2z M25.8,20.1l2.7-2.2c0,0-0.4,1.2,0,1.6l2.7,3.3c0.3,0.4,1.6,0.3,1.6,0.3l-2.7,2.2
c0,0,0.3-1.1,0-1.5l-2.7-3.4C27,20.1,25.8,20.1,25.8,20.1L25.8,20.1z M34.8,20.1c0.3,0.6,1.6,0.6,1.6,0.6l-2.2,1.4
c0,0,0.4-1,0.2-1.4l-2.6-4.3c-0.3,0-1.1-0.1-1.1-0.1l1.9-1.2l6.2,1.6l-1.7-2.8c-0.4-0.7-1.7-0.6-1.7-0.6l2.4-1.5c0,0-0.6,1-0.3,1.4
l3,5L40,18.5l-7.3-1.9L34.8,20.1L34.8,20.1z M74.4,10.9c0,0,1.1,1.9,1.9,2.1c0.7,0.2,1.3-0.2,1.5-0.8c0.3-1.6-3.1-2.3-2.6-4.4
c0.2-1,1.3-1.5,2.5-1.3c0.8,0.2,1.4,0.6,1.6,0.6c0.1,0,0.1,0,0.3-0.1h0.2l-0.2,1.8c0,0-1-1.7-1.9-1.9c-0.6-0.1-1.1,0.1-1.2,0.5
c-0.2,1,1.5,1.5,2.5,3c0.3,0.5,0.4,1,0.3,1.5c-0.2,1.1-1.4,1.8-2.7,1.5c-0.9-0.2-1.6-0.7-1.7-0.7c-0.1,0-0.2,0-0.3,0.1l-0.3-0.1
L74.4,10.9L74.4,10.9z M83.1,8.2l3.3,1.1c0,0-1.2,0.3-1.4,0.9l-1.4,4.1c-0.2,0.5,0.6,1.5,0.6,1.5l-3.3-1.1c0,0,1.1-0.4,1.3-0.8
l1.4-4.1C83.8,9.1,83.1,8.2,83.1,8.2L83.1,8.2z M93.1,17.4l-0.7,1.4c-0.9,0-2-0.2-2.8-0.7c-2.5-1.2-2.9-3.2-2-5.1
c0.9-1.8,3-2.3,5.1-1.3c1,0.5,1.6,1.2,1.9,1.4c0.1,0.1,0.2,0.1,0.4,0l0.2,0.1L94.3,15l-0.4-0.2c0.2-1.1-0.2-2.1-1.2-2.6
c-1.4-0.7-2.9-0.1-3.7,1.5s-0.4,3.3,0.9,4c0.4,0.2,0.8,0.3,1.2,0.3l0.7-1.3c0.2-0.5-0.7-1.6-0.7-1.6l3.2,1.6
C94.3,16.8,93.3,17,93.1,17.4L93.1,17.4z M98.1,15.3l2.8,2c0,0-1.2,0-1.5,0.4l-2.5,3.5c-0.3,0.4,0.1,1.6,0.1,1.6l-2.8-2
c0,0,1.2,0,1.5-0.4l2.5-3.6C98.5,16.4,98.1,15.3,98.1,15.3z M108.2,34.2l-3.7-4.5c0,0,1.2,0.4,1.6,0.1l3.4-2.7
c0.5-0.4,0.3-1.6,0.3-1.6l2.3,2.9c0,0-1.2-0.4-1.6-0.1l-3.5,2.8c-0.3,0.3-0.3,0.4,0,0.7l0.9,1.1c0.5,0.6,2.3,0.8,2.3,0.8
L108.2,34.2L108.2,34.2z M103.4,28.4l-4.3-4c0,0,1.3,0.2,1.6-0.1l2.9-3.2c0.4-0.5,0-1.6,0-1.6l2.7,2.5c0,0-1.3-0.3-1.6,0.1l-3,3.3
c-0.3,0.3-0.3,0.5,0.1,0.7l1,0.9c0.5,0.5,2.4,0.5,2.4,0.5L103.4,28.4L103.4,28.4z M113.9,32.9c0.5-0.7,0.5-1.7,0.5-1.7l1.9,3.2
c0,0-1.3-0.7-1.7-0.1l-2.2,3.2l4.1-0.3c0.4-0.1,0.5-1.5,0.5-1.5l1.4,2.4c0,0-1.1-0.5-2-0.3l-6.4,0.5L113.9,32.9L113.9,32.9z
M118.6,41.7l-3.7,1.1c-0.7,0.2-1.1,1.3-1.1,1.3l-0.8-2.3c0,0,0.9,0.6,1.8,0.3l3.8-1.1c0.5-0.2,0.9-1.1,0.9-1.1l0.8,2.2l-3.6,3.5
l5,0.4l0.8,2.2c0,0-0.7-0.6-1.4-0.3l-3.7,1.6c-0.8,0.4-1.1,1.4-1.1,1.4l-1.2-3.2c0,0,0.7,0.8,1.4,0.6c0.2-0.1,0.3-0.1,0.5-0.2
l3.6-1.5l-6-0.4l-0.1-0.2L118.6,41.7z M119.3,66c-0.7,0-1.3,1-1.3,1l0.1-2.6c0,0,0.6,0.9,1.1,0.9l5,0.2c0.2-0.2,0.7-0.8,0.7-0.8
l-0.1,2.2l-4.8,4.2l3.3,0.1c0.8,0,1.4-1.1,1.4-1.1l-0.1,2.8c0,0-0.5-1-0.9-1l-5.8-0.2v-0.6l5.7-5L119.3,66L119.3,66z M124,75.2
l-0.7,3.4c0,0-0.5-1.1-1-1.2l-4.2-0.8c-0.5-0.1-1.4,0.8-1.4,0.8l0.7-3.4c0,0,0.5,1.1,1,1.2l4.3,0.8C123.1,76,124,75.2,124,75.2
L124,75.2z M117,93.5l1.1-2.1l-2.2-1.1l-0.8,1.6c-0.3,0.5,0.1,1.5,0.1,1.5l-1.9-1c0,0,1-0.2,1.3-0.9l0.7-1.4l-1.7-0.9
c-0.4-0.2-0.5-0.2-0.7,0.1l-0.8,1.6c-0.3,0.6,0.2,2,0.2,2l-1.5-0.9l3-5.8c0,0,0,1.5,0.5,1.7l3.9,2c0.5,0.3,1.6-0.4,1.6-0.4
l-2.7,5.3l-1.5-0.6C115.6,94.1,116.7,93.9,117,93.5L117,93.5z M105.7,102.1c0,0-2.2-0.1-2.8,0.5c-0.5,0.5-0.6,1.2-0.1,1.6
c1.2,1.1,3.6-1.4,5.1,0.1c0.7,0.7,0.6,1.9-0.3,2.8c-0.6,0.6-1.2,0.9-1.4,1c-0.1,0.1-0.2,0.4-0.2,0.4l-1.4-1.1c0,0,2,0.1,2.6-0.5
c0.4-0.4,0.5-1,0.2-1.3c-0.7-0.7-2.1,0.5-3.8,0.5c-0.6,0-1.1-0.2-1.5-0.6c-0.8-0.8-0.7-2.1,0.2-3.1c0.6-0.6,1.4-0.9,1.6-1.1
c0.1-0.1,0.1-0.2,0-0.3l0.2-0.2L105.7,102.1L105.7,102.1z M103.5,110.8l-2.7,2.1c0,0,0.4-1.2,0-1.6l-2.7-3.4
c-0.3-0.4-1.5-0.3-1.5-0.3l2.7-2.1c0,0-0.3,1.1,0,1.5l2.7,3.4C102.3,110.9,103.5,110.8,103.5,110.8z M73.7,124.2l-3.4,0.4
c0,0,0.9-0.8,0.9-1.3l-0.4-4.3c-0.1-0.5-1.1-1.1-1.1-1.1l3.4-0.4c0,0-0.9,0.8-0.8,1.3l0.4,4.3C72.7,123.6,73.7,124.2,73.7,124.2
L73.7,124.2z M66.8,119.8c0,0-1.4-1.6-2.3-1.7c-0.7,0-1.3,0.4-1.3,1c0,1.6,3.5,1.6,3.4,3.8c0,1-0.9,1.8-2.2,1.7
c-0.8,0-1.5-0.3-1.6-0.3s-0.5,0.1-0.5,0.1l-0.2-1.8c0,0,1.4,1.5,2.2,1.5c0.6,0,1.1-0.3,1.1-0.7c0-1-1.8-1.2-3-2.4
c-0.4-0.5-0.6-0.9-0.6-1.4c0-1.1,1-2,2.3-2c0.9,0,1.7,0.4,1.9,0.4c0.1,0,0.5-0.2,0.5-0.2L66.8,119.8L66.8,119.8z M47.9,117.4
l0.4-1.6c0.8-0.1,2-0.2,2.9,0.1c2.7,0.7,3.5,2.5,3,4.6c-0.5,1.9-2.5,2.9-4.7,2.3c-1.1-0.3-1.8-0.9-2.2-1h-0.6l0.5-1.9
c0,0,1,2.1,2.1,2.4c1.5,0.4,2.8-0.5,3.3-2.2s-0.3-3.3-1.7-3.7c-0.4-0.1-0.9-0.1-1.2,0l-0.4,1.4c-0.2,0.9,1,1.4,1,1.4l-3.5-1
C46.9,118.2,47.8,117.9,47.9,117.4L47.9,117.4z M26.5,103l-1.3,1.4l2.6,2.5l1.4-1.4c0.4-0.4,0.1-1.6,0.1-1.6l2.5,2.4
c0,0-1.2-0.2-1.6,0.2l-3,3.1c-0.4,0.4-0.1,1.6-0.1,1.6l-2.5-2.4c0,0,1.1,0.2,1.6-0.2l1.2-1.2l-2.6-2.5l-1.2,1.2
c-0.4,0.4-0.2,1.6-0.2,1.6l-2.5-2.4c0,0,1.2,0.2,1.6-0.2l3-3.1c0.4-0.4,0.1-1.6,0.1-1.6l2.5,2.4C28.1,102.8,26.9,102.6,26.5,103
L26.5,103z M7.8,76.1l3.9-0.2c0.7-0.1,1.4-1.1,1.4-1.1l0.3,2.4c0,0-0.8-0.8-1.7-0.7l-3.9,0.2c-0.6,0-1.1,0.9-1.1,0.9l-0.3-2.3
l4.2-2.7l-4.8-1.4l-0.3-2.3c0,0,0.6,0.8,1.3,0.6l3.9-0.8c0.9-0.2,1.4-1.1,1.4-1.1l0.5,3.4c0,0-0.6-1-1.3-0.9
c-0.2,0-0.3,0.1-0.5,0.1L7,71l5.8,1.7V73L7.8,76.1z M122.9,56.6c0.7-0.4,1.2-1.3,1.2-1.3l0.3,3.8c0,0-0.8-1.2-1.5-0.8l-3,1.7
l3.6,1.6c0.4,0.1,1-1,1-1l0.2,2.7c0,0-0.8-0.9-1.7-1.2l-5.6-2.5L122.9,56.6L122.9,56.6z M121.3,81.2c0.9-0.1,1.6-0.8,1.6-0.8
l-1.1,3.6c0,0-0.3-1.4-1-1.3l-3.4,0.5l2.7,2.9c0.3,0.3,1.3-0.6,1.3-0.6l-0.8,2.6c0,0-0.4-1.1-1.1-1.7l-4.2-4.4L121.3,81.2
L121.3,81.2z M10.4,85.5c-0.6,0.6-0.9,1.6-0.9,1.6l-1.2-3.6c0,0,1.1,0.9,1.6,0.4l2.5-2.4l-3.9-0.7c-0.4,0-0.7,1.2-0.7,1.2l-0.9-2.6
c0,0,1,0.7,1.9,0.7l6,1.1L10.4,85.5z M34.3,109.4c0.3-0.5-0.3-1.7-0.3-1.7l3.2,2.2c0,0-1.4-0.1-1.7,0.3l-3,4.4l1.1,0.7
c0.7,0.5,2.1-0.1,2.1-0.1l-1.1,1.3l-5.7-3.9l0.8-1.6c0,0-0.1,1.5,0.6,2l1.1,0.7L34.3,109.4L34.3,109.4z M77.2,117.8
c-0.1-0.5-1.5-0.9-1.5-0.9l3.8-0.9c0,0-1,0.9-0.9,1.5l1.2,5l1.2-0.3c0.8-0.2,1.3-1.6,1.3-1.6l0.2,1.7l-6.7,1.6l-0.6-1.6
c0,0,1.1,1.1,1.9,0.9l1.2-0.3L77.2,117.8L77.2,117.8z M92.2,111.9c-0.3-0.5-1.7-0.5-1.7-0.5l3.4-2c0,0-0.7,1.2-0.4,1.7l2.7,4.6
l1.1-0.6c0.7-0.4,0.8-1.9,0.8-1.9l0.7,1.6l-6,3.5l-1.1-1.4c0,0,1.3,0.7,2,0.3l1.1-0.6L92.2,111.9z M119.2,53.4
c0-0.6,0.5-1.1,1.1-1.1s1.1,0.5,1.1,1.1s-0.5,1.1-1.1,1.1S119.2,54,119.2,53.4z M57,120.6c0-0.6,0.5-1.1,1.1-1.1s1.1,0.5,1.1,1.1
s-0.5,1.1-1.1,1.1C57.5,121.6,57,121.1,57,120.6z M7.9,64.8c0-0.6,0.5-1.1,1.1-1.1s1.1,0.5,1.1,1.1S9.6,65.9,9,65.9
S7.9,65.4,7.9,64.8z M17.5,34.3c-1.3-1-1.7-2.3-0.8-3.4c1-1.3,2.8-1.1,4.2-0.1c1.2,0.9,1.9,2.2,1,3.4
C20.9,35.4,19.2,35.5,17.5,34.3z M17,35.9c1.5,1.1,3.6,0.8,5.1-1.2c1.5-2.1,1-4.3-0.6-5.5s-3.7-0.7-5.1,1.1
C15,32.3,15.2,34.6,17,35.9z M45.3,13.3L43.2,14l0.1-3.2L45.3,13.3z M46.7,12.5l1.9-0.7c0.8-0.3,1.9,0,1.9,0L49,10.1
c0,0-0.1,0.9-0.7,1.2l-2,0.8l-1.8-2.2l2.9-1C47.9,8.7,49,9.1,49,9.1l-1.3-1.2L41.5,10c0,0,0.8,0.2,0.6,1.3L42,15.9
c-0.1,0.8-0.6,1.6-0.6,1.6l2.3-0.9c0,0-1-0.4-1-0.9l0.1-1.3l2.6-0.8l1.4,1.8l5.7-2.2l-1.2-1.3c0,0,0.4,1-0.2,1.2l-3,1.2L46.7,12.5
L46.7,12.5z M16.1,42.6c0.5,0.2,1.6-0.6,1.6-0.6l-1.6,3.5c0,0-0.1-1.3-0.6-1.5l-3.9-1.8C11.1,42,10,42.7,10,42.7
c0.2-0.5,0.4-0.9,0.5-1.3c0.2-0.6,0.5-1.3,0.7-1.7c0.7-1.5,1.2-2.2,2-2.4c0.5-0.2,0.9-0.1,1.3,0c0.7,0.3,1.1,1.2,0.9,2.2
c0.8-0.4,1.8-0.4,2.8-0.8c0.6-0.2,1.6-0.8,1.6-0.8c-0.1,0.2-0.1,0.3-0.3,0.6c-0.6,1.2-1,1.6-1.7,1.9s-2,0.4-2.9,0.7l-0.4,0.8
L16.1,42.6L16.1,42.6z M14.2,41.7l0.2-0.4c0.6-1.2,0.5-2.1-0.5-2.5c-1-0.5-1.8,0.1-2.2,1.1l-0.2,0.5L14.2,41.7z M12.1,50.9l0.9,0.8
c0.4,0.3,1.3-0.7,1.3-0.7l-0.9,2.9c0,0-0.3-1.1-0.8-1.6l-5.2-4.4l6.8-1.1c0.7-0.1,1.5-0.7,1.5-0.7l-1,3.5c0,0-0.3-1.3-0.8-1.2
l-1.2,0.2L12.1,50.9L12.1,50.9z M9.9,49l1.9,1.5l0.6-1.9L9.9,49z M17.2,90.1c0.5-0.3,0.5-1.6,0.5-1.6l1.8,3.4c0,0-1-0.7-1.6-0.4
l-3.8,2c-0.5,0.2-0.6,1.6-0.6,1.6c-0.3-0.5-0.5-0.8-0.7-1.2c-0.3-0.5-0.7-1.2-0.9-1.5c-0.7-1.4-1-2.3-0.7-3c0.1-0.5,0.4-0.8,0.8-1
c0.7-0.4,1.6-0.2,2.3,0.6c0.2-0.9,0.8-1.7,1.1-2.7c0.2-0.6,0.3-1.8,0.3-1.8c0.1,0.2,0.2,0.3,0.3,0.6c0.6,1.2,0.7,1.8,0.5,2.5
s-0.9,1.8-1.1,2.7l0.4,0.8L17.2,90.1L17.2,90.1z M15.4,91l-0.2-0.4c-0.6-1.2-1.3-1.6-2.4-1.1c-1,0.5-1,1.5-0.5,2.4l0.3,0.5
C12.6,92.4,15.4,91,15.4,91z M16.7,100.2c-1.4-1.8-1.2-4,0.5-5.2c1.6-1.1,3.8-1,5.4,1.1c1.5,2,1.1,4.1-0.4,5.2
C20.4,102.7,18.1,102.2,16.7,100.2z M22,96.2c-0.9-1.2-2.4-1-3.6-0.1c-1.4,1-2.2,2.7-1.2,4c0.8,1.1,2.2,1.2,3.5,0.2
C22.4,99.1,22.9,97.5,22,96.2z M39.9,119.3c-2.1-1-2.9-2.9-2.1-4.8c0.8-1.8,2.9-2.7,5.3-1.6c2.3,1.1,2.9,3.1,2.1,4.8
C44.4,119.7,42.1,120.3,39.9,119.3z M42.7,113.3c-1.4-0.6-2.6,0.2-3.2,1.6c-0.7,1.6-0.6,3.4,0.9,4.1c1.3,0.6,2.5,0,3.2-1.5
C44.5,115.6,44.1,113.9,42.7,113.3z M109.3,96.3c-0.4-0.3-1.7,0.2-1.7,0.2l2.3-3c0,0-0.2,1.3,0.3,1.6l3.4,2.6
c0.4,0.3,1.7-0.1,1.7-0.1c-0.3,0.5-0.5,0.8-0.8,1.2c-0.3,0.5-0.8,1.2-1,1.5c-1,1.3-1.6,1.9-2.4,2c-0.5,0.1-0.9,0-1.3-0.3
c-0.7-0.5-0.8-1.4-0.4-2.3c-0.9,0.2-1.8,0-2.9,0.2c-0.6,0.1-1.7,0.5-1.7,0.5c0.1-0.2,0.2-0.3,0.4-0.5c0.8-1.1,1.3-1.4,2-1.5
c0.8-0.1,2.1,0.1,3-0.1l0.5-0.7L109.3,96.3L109.3,96.3z M110.9,97.6l-0.3,0.3c-0.8,1.1-0.9,1.9,0,2.6s1.8,0.2,2.4-0.6l0.3-0.5
L110.9,97.6z M87.4,115.3v-1.2c0-0.5-1.4-0.6-1.4-0.6l2.8-1.1c0,0-0.7,0.9-0.7,1.6l-0.3,6.8l-5.1-4.7c-0.5-0.5-1.5-0.7-1.5-0.7
l3.4-1.3c0,0-0.9,1-0.5,1.4l0.9,0.8L87.4,115.3L87.4,115.3z M87.3,118.2l0.1-2.4l-1.8,0.7L87.3,118.2L87.3,118.2z M65.9,21
c-0.3-0.8-1.1-1.4-1.1-1.4l3.7,0.2c0,0-1.3,0.6-1,1.3l1.2,3.1l2.1-3.2c0.2-0.3-0.8-1.1-0.8-1.1l2.7,0.2c0,0-1,0.6-1.4,1.4l-3.2,5
L65.9,21L65.9,21z M35.9,32.2c-0.7-0.4-1.7-0.3-1.7-0.3l2.9-2.3c0,0-0.5,1.3,0.1,1.6l2.9,1.5l-0.6-3.8c-0.1-0.4-1.3-0.2-1.3-0.2
l2.1-1.7c0,0-0.3,1.1-0.1,2l1,5.8L35.9,32.2L35.9,32.2z M92.2,30.2c0.3-0.8,0-1.8,0-1.8l2.7,2.5c0,0-1.4-0.3-1.6,0.4l-1,3.3
l3.7-1.4c0.4-0.2,0-1.4,0-1.4l2,1.8c0,0-1.2-0.1-2,0.3l-5.6,1.9L92.2,30.2L92.2,30.2z M47.4,29.5c0.2,0.5,1.6,0.6,1.6,0.6l-3.4,1.6
c0,0,0.8-1.1,0.6-1.6L44,25.4l-1.1,0.5c-0.7,0.3-0.9,1.8-0.9,1.8l-0.6-1.6l6.1-2.9l0.9,1.4c0,0-1.2-0.8-2-0.5l-1.1,0.5L47.4,29.5
L47.4,29.5z M75,22.2l-1.3,3.5c-0.2,0.7,0.4,1.6,0.4,1.6l-2.3-0.6c0,0,1-0.4,1.3-1.2l1.3-3.6c0.2-0.5-0.3-1.4-0.3-1.4l2.1,0.6
l0.7,4.8l3.2-3.7l2.2,0.7c0,0-0.9,0.2-1.1,0.9l-0.9,3.8c-0.2,0.9,0.5,1.7,0.5,1.7l-3.2-1c0,0,1.1-0.1,1.3-0.8
c0-0.2,0.1-0.3,0.1-0.5l0.9-3.7l-3.8,4.4l-0.2-0.1L75,22.2z M101,38.2l-1.4-1.8l-1.9,1.5l1.1,1.3c0.4,0.5,1.3,0.5,1.3,0.5L98.4,41
c0,0,0.3-0.9-0.2-1.5l-1-1.2l-1.5,1.2c-0.4,0.3-0.4,0.4-0.2,0.6l1.1,1.4c0.4,0.5,1.8,0.6,1.8,0.6L97,43l-3.9-5c0,0,1.3,0.6,1.7,0.3
l3.3-2.6c0.4-0.4,0.3-1.5,0.3-1.5l3.6,4.6l-1.1,1C101,39.7,101.3,38.6,101,38.2L101,38.2z M59.8,25.5c0.1,0.5,1.3,1.1,1.3,1.1
L57.4,27c0,0,1-0.7,1-1.3L58,21.6c-0.1-0.5-1.2-1.1-1.2-1.1c0.5-0.1,0.9-0.1,1.3-0.2c0.6-0.1,1.3-0.2,1.7-0.3c1.5-0.2,2.4,0,3,0.4
c0.4,0.3,0.6,0.7,0.6,1.1c0.1,0.8-0.4,1.5-1.4,1.9c0.8,0.5,1.2,1.3,2,2c0.5,0.4,1.5,0.9,1.5,0.9c-0.2,0-0.3,0-0.6,0.1
c-1.3,0.1-1.9,0-2.4-0.4c-0.6-0.5-1.3-1.5-2-2l-0.8,0.1L59.8,25.5L59.8,25.5z M59.6,23.5H60c1.3-0.1,2-0.6,1.8-1.7
c-0.1-1.1-1-1.4-2-1.3l-0.5,0.1L59.6,23.5z M26.1,41.8c0.3-0.5,0.7-1,0.9-1.4c0.3-0.4,0.5-0.8,0.8-1.2c1.2-1.7,2-2.4,3.1-2.6
c0.8-0.1,1.6,0,2.3,0.6c0.8,0.6,1.2,1.4,1.4,2.2c0.1,0.8,0.1,1.8-1.2,3.5l-1.9,2.7c0,0,0.1-1.1-0.4-1.5l-3.3-2.4
C27.1,41.3,26.1,41.8,26.1,41.8z M31.9,42.9c0.6,0.4,0.7,0.4,1.2-0.3c1.4-1.9,0.4-3.4-0.6-4.1c-0.7-0.5-1.5-0.7-2.2-0.6
s-1.3,0.6-1.9,1.4c-0.2,0.2-0.3,0.4-0.4,0.7L31.9,42.9z M26.8,50.8l0.8,0.8C28,52,29,51.1,29,51.1l-1.1,2.7c0,0-0.2-1.1-0.6-1.6
l-4.6-4.8l6.7-0.3c0.7,0,1.5-0.6,1.5-0.6l-1.4,3.3c0,0-0.1-1.3-0.6-1.3l-1.2,0.1L26.8,50.8L26.8,50.8z M24.9,48.7l1.6,1.7l0.7-1.8
L24.9,48.7L24.9,48.7z M88.2,25.6c1.9,1.1,2.6,3,1.7,4.8c-0.9,1.7-3,2.4-5.2,1.2c-2.1-1.2-2.6-3.2-1.8-4.8
C83.9,25,86.1,24.5,88.2,25.6z M85.1,31.3c1.3,0.7,2.5-0.1,3.2-1.4c0.8-1.5,0.8-3.3-0.6-4.1c-1.2-0.6-2.4-0.2-3.2,1.2
C83.5,28.9,83.8,30.6,85.1,31.3z"/>
<path class="st0" d="M88.3,36.4c-2.2-1.8-1.5-1.6-2.1-3.5s-0.2-4.7-0.6-5c-0.4-0.3,1-0.4,1.4,3.7C87.6,35.8,88.3,36.4,88.3,36.4
L88.3,36.4z"/>
<path class="st0" d="M33.1,121.3c9.5,5.4,20.5,8.5,32.2,8.5c35.8,0,64.8-29.1,64.8-64.8c0-35.8-29.1-64.8-64.8-64.8
S0.5,29.3,0.5,65c0,23.6,12.7,44.3,31.5,55.6L33.1,121.3z M33.1,119.8C14.4,108.7,1.8,88.3,1.8,65.1c0-35,28.5-63.5,63.5-63.5
s63.5,28.5,63.5,63.5s-28.5,63.5-63.5,63.5c-11.6,0-22.4-3.1-31.8-8.6L33.1,119.8L33.1,119.8z"/>
<path class="st0" d="M39.8,107.4c7.4,4.5,16.2,7.1,25.5,7.1c27.3,0,49.4-22.2,49.4-49.4S92.5,15.7,65.3,15.7
c-3.2,0-6.3,0.3-9.2,0.9l-0.2,1c3-0.6,6.2-0.9,9.4-0.9c26.7,0,48.4,21.8,48.4,48.4c0,26.7-21.8,48.4-48.4,48.4
c-9.2,0-17.7-2.6-25-7l-0.7-0.4l-0.7,0.7L39.8,107.4z M65.5,7.9l1.7-1.6c0.3,0.3,0.6,0.6,0.8,1.1c0.2,0.4,0.3,0.8,0.2,1.3l-2.3,0.2
L68,10c-0.2,0.4-0.4,0.8-0.8,1.1c-0.3,0.3-0.7,0.5-1.1,0.6l-0.9-2.1l-0.4,2.3c-0.4,0-0.9-0.1-1.3-0.4c-0.4-0.2-0.7-0.5-0.9-0.9
L64.4,9l-2.2,0.4c-0.1-0.4-0.1-0.9,0-1.4c0.1-0.4,0.3-0.8,0.5-1.2L64.6,8l-1-1.9c0.4-0.2,0.8-0.4,1.3-0.5c0.4,0,0.9,0,1.3,0.2
L65.5,7.9L65.5,7.9z"/>
<path class="st0" d="M89.1,51.7c-0.4,0-1-0.4-1.2-0.9s0.3-0.9,0.3-0.9l0.1,0.1l0.1,0.1c0.1,0.1,0.2,0,0.4,0c0.3,0,0.4-0.1,0.3-0.4
c0-0.3-0.2-0.5-0.5-0.4s-0.7,0.1-0.9,0c-0.1-0.1-0.1-0.3,0-0.5c0-0.1,0.1-0.4,0.1-0.4c0-0.2-0.2-0.3-0.4-0.3S87,48.3,87,48.5
c0,0.3,0.2,0.4,0.3,0.5c0.2,0.2,0.1,0.4,0.1,0.5s-0.6,0.2-0.6,0.2h-0.1c-0.3,0-0.5,0.2-0.5,0.4c0,0.3,0.2,0.5,0.5,0.5
c0.2,0,0.4-0.1,0.4-0.3c0,0,0.4,0.3,0.4,0.8c-0.1,0.4-0.1,0.8-0.9,1c-0.6,0.2-1.1-0.2-1.1-0.2s-0.2,0.6-0.8,0.5
c-0.9-0.1-1.1-1.2-1.1-1.2s0.4,0,0.6-0.5c0.2-0.4-0.1-0.7-0.6-0.7c-0.3,0-0.6,0.4-1,0.2s0.2-0.9-0.3-1.2c-0.4-0.3-0.7,0.3-0.7,0.3
s0.7,0.7,1.6,2c0.7,1,1.7,2.3,1.7,2.3l-0.5,0.3c0,0-0.7-1.1-1.8-2.6c-0.9-1.3-1.7-2.1-1.7-2.1s0-0.1,0.2-0.4
c0.3-0.3,0.8-0.8,1.4-0.5c0.6,0.3,0.3,1.2,0.3,1.2s0.3-0.4,0.9-0.3c0.6,0.1,1.1,0.6,1,1.1c-0.1,0.7-0.6,0.9-0.6,0.9
s-0.1,0.3,0.5,0.2c0.3,0,0.6-0.5,0.6-0.5s0.8,0.8,1.3,0.2c0-0.1,0.1-0.1,0.1-0.2h-0.2c-0.6,0-1-0.5-1-1c0-0.6,0.4-1,1-1.1h0.3
c-0.2-0.1-0.5-0.4-0.5-0.8c0-0.5,0.5-1,1-1s1.1,0.4,1.1,0.9c0,0.3-0.2,0.5-0.3,0.7c0.1-0.1,0.3-0.2,0.6-0.2c0.6,0,1,0.5,1,1
c0,0.6-0.4,1-1,1.1h-0.1c0.2,0.2,0.4,0.2,0.7,0.3c0.7,0.1,0.8-0.4,0.8-0.4s0.3,0.3,0.7,0.2c0.5-0.2,0.4-0.5,0.4-0.5
s-0.5,0.1-0.9-0.5c-0.3-0.4-0.3-0.9,0.2-1.2c0.5-0.3,1.1-0.1,1.1-0.1s-0.6-0.7-0.1-1.2c0.4-0.5,1.1-0.3,1.5-0.1
c0.3,0.1,0.6,0.3,0.6,0.3s-0.5,0.8-0.8,2.3c-0.4,2-0.7,3.1-0.7,3.1l-0.5-0.1c0,0,0.3-1.7,0.6-3c0.3-1.4,0.7-1.9,0.7-1.9
s-0.5-0.5-0.9-0.1c-0.3,0.5,0.4,0.8,0.2,1.1c-0.3,0.3-0.8,0-1,0.1c-0.4,0.2-0.3,0.4-0.1,0.7c0.2,0.3,0.7,0.2,0.7,0.2
s0.4,1.1-0.4,1.6c-0.5,0.3-1-0.1-1-0.1S90,51.7,89.1,51.7L89.1,51.7z"/>
<path class="st0" d="M84.3,53.6c-0.1-0.5,1.6-1.2,3.7-1.4c2.1-0.2,3.9,0,4,0.6c0.1,0.5-1.6,1.2-3.7,1.4
C86.1,54.4,84.3,54.1,84.3,53.6z M87.8,53.6c1.3-0.1,2.2-0.4,2.1-0.7c0-0.2-1.1-0.3-2.4-0.2c-1.3,0.1-2.3,0.4-2.3,0.6
C85.3,53.6,86.5,53.7,87.8,53.6L87.8,53.6z M102.3,49.7c-0.4,0-1-0.4-1.2-0.9s0.3-0.9,0.3-0.9l0.1,0.1l0.1,0.1c0.1,0.1,0.2,0,0.4,0
c0.3,0,0.4-0.1,0.3-0.4c0-0.3-0.2-0.5-0.5-0.4s-0.7,0.1-0.9,0c-0.1-0.1-0.1-0.3,0-0.5c0-0.1,0.1-0.4,0.1-0.4c0-0.2-0.2-0.3-0.4-0.3
s-0.4,0.2-0.4,0.4c0,0.3,0.2,0.4,0.3,0.5c0.2,0.2,0.1,0.4,0.1,0.5s-0.6,0.2-0.6,0.2h-0.1c-0.3,0-0.5,0.2-0.5,0.4
c0,0.3,0.2,0.5,0.5,0.5c0.2,0,0.4-0.1,0.4-0.3c0,0,0.4,0.3,0.4,0.8c-0.1,0.4-0.1,0.8-0.9,1c-0.7,0.2-1.1-0.2-1.1-0.2
s-0.2,0.6-0.8,0.5c-0.9-0.1-1.1-1.2-1.1-1.2s0.4,0,0.6-0.5c0.2-0.4-0.1-0.7-0.6-0.7c-0.3,0-0.6,0.4-1,0.2s0.2-0.9-0.3-1.2
c-0.4-0.3-0.7,0.3-0.7,0.3s0.7,0.7,1.6,2c0.7,1,1.7,2.3,1.7,2.3l-0.5,0.3c0,0-0.7-1.1-1.8-2.6c-0.9-1.3-1.7-2.1-1.7-2.1
s0-0.1,0.2-0.4c0.3-0.3,0.8-0.8,1.4-0.5c0.6,0.3,0.3,1.2,0.3,1.2s0.3-0.4,0.9-0.3c0.6,0.1,1.1,0.6,1,1.1c-0.1,0.7-0.6,0.9-0.6,0.9
s-0.1,0.3,0.5,0.2c0.3,0,0.6-0.5,0.6-0.5s0.8,0.8,1.3,0.2c0-0.1,0.1-0.1,0.1-0.2h-0.2c-0.6,0-1-0.5-1-1c0-0.6,0.4-1,1-1.1h0.3
c-0.2-0.1-0.5-0.4-0.5-0.8c0-0.5,0.5-1,1-1s1.1,0.4,1.1,0.9c0,0.3-0.2,0.5-0.3,0.7c0.1-0.1,0.3-0.2,0.6-0.2c0.6,0,1,0.5,1,1
c0,0.6-0.4,1-1,1.1h-0.1c0.2,0.2,0.4,0.2,0.7,0.3c0.7,0.1,0.8-0.4,0.8-0.4s0.3,0.3,0.7,0.2c0.5-0.2,0.4-0.5,0.4-0.5
s-0.5,0.1-0.9-0.5c-0.3-0.4-0.3-0.9,0.2-1.2c0.5-0.3,1.1-0.1,1.1-0.1s-0.6-0.7-0.1-1.2c0.4-0.5,1.1-0.3,1.5-0.1
c0.3,0.1,0.6,0.3,0.6,0.3s-0.5,0.8-0.8,2.3c-0.4,2-0.7,3.1-0.7,3.1l-0.5-0.1c0,0,0.3-1.7,0.6-3c0.4-1.4,0.7-1.9,0.7-1.9
s-0.5-0.5-0.8-0.1s0.4,0.8,0.2,1.1c-0.3,0.3-0.8,0-1,0.1c-0.4,0.2-0.3,0.4-0.1,0.7c0.2,0.3,0.7,0.2,0.7,0.2s0.4,1.1-0.4,1.6
c-0.5,0.3-1-0.1-1-0.1S103.2,49.8,102.3,49.7L102.3,49.7z"/>
<path class="st0" d="M97.5,51.7c-0.1-0.5,1.6-1.2,3.7-1.4c2.1-0.2,3.9,0,4,0.6c0.1,0.5-1.6,1.2-3.7,1.4
C99.3,52.5,97.6,52.2,97.5,51.7z M101.1,51.7c1.3-0.1,2.2-0.4,2.1-0.7c0-0.2-1.1-0.3-2.4-0.2c-1.3,0.1-2.3,0.4-2.3,0.6
C98.5,51.7,99.8,51.8,101.1,51.7L101.1,51.7z M96.8,58.8c-0.4,0-1-0.4-1.2-0.9s0.3-0.9,0.3-0.9l0.1,0.1l0.1,0.1
c0.1,0.1,0.2,0,0.4,0c0.3,0,0.4-0.1,0.3-0.4c0-0.3-0.2-0.5-0.5-0.4s-0.7,0.1-0.9,0c-0.1-0.1-0.1-0.3,0-0.5c0-0.1,0.1-0.4,0.1-0.4
c0-0.2-0.2-0.3-0.4-0.3s-0.4,0.2-0.4,0.4c0,0.3,0.2,0.4,0.3,0.5c0.2,0.2,0.1,0.4,0.1,0.5s-0.6,0.2-0.6,0.2h-0.1
c-0.3,0-0.5,0.2-0.5,0.4c0,0.3,0.2,0.5,0.5,0.5c0.2,0,0.4-0.1,0.4-0.3c0,0,0.4,0.3,0.4,0.8c-0.1,0.4-0.1,0.8-0.9,1
c-0.7,0.2-1.1-0.2-1.1-0.2s-0.2,0.6-0.8,0.5c-0.9-0.1-1.1-1.2-1.1-1.2s0.4,0,0.6-0.5c0.2-0.4-0.1-0.7-0.6-0.7c-0.3,0-0.6,0.4-1,0.2
s0.2-0.9-0.3-1.2c-0.4-0.3-0.7,0.3-0.7,0.3s0.7,0.7,1.6,2c0.7,1,1.7,2.3,1.7,2.3L92.1,61c0,0-0.7-1.1-1.8-2.6
c-0.9-1.3-1.7-2.1-1.7-2.1s0-0.1,0.2-0.4c0.3-0.3,0.8-0.8,1.4-0.5c0.6,0.3,0.3,1.2,0.3,1.2s0.3-0.4,0.9-0.3c0.6,0.1,1.1,0.6,1,1.1
c-0.1,0.7-0.6,0.9-0.6,0.9s-0.1,0.3,0.5,0.2c0.3,0,0.6-0.5,0.6-0.5s0.8,0.8,1.3,0.2c0-0.1,0.1-0.1,0.1-0.2h-0.2c-0.6,0-1-0.5-1-1
c0-0.6,0.4-1,1-1.1h0.3c-0.2-0.1-0.5-0.4-0.5-0.8c0-0.5,0.5-1,1-1S96,54.5,96,55c0,0.3-0.2,0.5-0.3,0.7c0.1-0.1,0.3-0.2,0.6-0.2
c0.6,0,1,0.5,1,1c0,0.6-0.4,1-1,1.1h-0.1c0.2,0.2,0.4,0.2,0.7,0.3c0.7,0.1,0.8-0.4,0.8-0.4s0.3,0.3,0.7,0.2
c0.5-0.2,0.4-0.5,0.4-0.5s-0.5,0.1-0.9-0.5c-0.3-0.4-0.3-0.9,0.2-1.2c0.5-0.3,1.1-0.1,1.1-0.1s-0.6-0.7-0.1-1.2
c0.4-0.5,1.1-0.3,1.5-0.1c0.3,0.1,0.6,0.3,0.6,0.3s-0.5,0.8-0.8,2.3c-0.4,2-0.7,3.1-0.7,3.1l-0.5-0.2c0,0,0.3-1.7,0.6-3
c0.3-1.4,0.7-1.9,0.7-1.9s-0.5-0.5-0.8-0.1s0.4,0.8,0.2,1.1c-0.3,0.3-0.8,0-1,0.1c-0.4,0.2-0.3,0.4-0.1,0.7
c0.2,0.3,0.7,0.2,0.7,0.2s0.4,1.1-0.4,1.6c-0.5,0.3-1-0.1-1-0.1S97.7,58.8,96.8,58.8L96.8,58.8z"/>
<path class="st0" d="M92,60.7c-0.1-0.5,1.6-1.2,3.7-1.4c2.1-0.2,3.9,0,4,0.6c0.1,0.5-1.6,1.2-3.7,1.4C93.9,61.5,92.1,61.2,92,60.7z
M95.6,60.7c1.3-0.1,2.2-0.4,2.1-0.7c0-0.2-1.1-0.3-2.4-0.2C94,59.9,93,60.2,93,60.4C93,60.7,94.3,60.9,95.6,60.7L95.6,60.7z
M69.6,47.2c-1.7,1.9-0.6,4.7-1,7.1c-0.7,2-2.8,3.2-3.4,5.2c-0.2,1.2-0.3,2.8,0.5,3.7c0.1-0.2-0.1-0.2-0.1-0.4
c-0.3-2.4,0.4-4.1,2.5-6.1c3.1-3.6-0.5-6.4,2.5-9.1L69.6,47.2L69.6,47.2z M77,69.6c1.4,0,2.4-0.2,3.8-0.6c1.4-0.4,2.5-0.8,3.8-1.3
c2.8-0.9,4.3-1.5,7.2-1.6h0.4c0.8,0,1.6,0.1,2.3,0.4c0.4,0.1,0.9,0.5,1.2,0.7c1.9,1.6,2,2.5,4.3,4c1.1,0.4,2,1.5,2.9,1.7
c-0.3-0.3-0.7-0.5-1.5-1.3c-1.1-1-3-3.4-5-5c-1.1-0.6-2.3-1-3.6-1.2c-2.6-0.4-5.5,0.3-7.7,1.2c-2.3,0.8-3.2,0.9-5.6,1.3
c-0.9,0.2-1.6,0.1-2.3-0.1c-0.3-2.5-1.2-2-0.9-5c1-3.5,0.6-6.6-0.6-9.4c0.3-1,0.4-2.4-0.5-3.2c-0.7-0.7-2.6-0.9-2.9,0.4
c0.2,1,1.5,0.4,2.1,0.8c0.7,0.2,0.7,1.1,0.6,1.6c-0.2,1.4-1.8,2.2-2.9,2.5c0.4,0.8,2.1,0.3,2.6-0.2c0.6,1.3,0.9,1.5,1.2,3.1
c0.1,2.9-0.7,2.7-1.8,4.6c-0.5,1-0.5,2.3,0.3,4.2c-0.2-3,0.2-3.2,1-4.5c0,0-0.3,1.2-0.3,2.4c0,1.4,0.8,1.8,0.8,3.1
c-0.2,1.1-0.2,1.5-1,2.4c-1.3,1.7-3.6,1.5-4.6,5.9c1.7-2.5,2.1-3.2,3.7-4.1C76.2,71.6,76.5,70.9,77,69.6z"/>
<path class="st0" d="M60.8,55.1c0.8,0.6,1,1.2,1.6,1.9c-0.3-0.1-2.2-1.5-3.2-1.1c-1.4,0.1-3.3,1.4-4.6,0.1
c-0.9-0.4-1.4-1.8-1.6-2.7c0.8,1.4,2.2,2.7,4,2.4c1-0.2,1.5-0.3,2.3-0.3c0.4,0,1.1,0,1.6,0.5c-0.6-0.6-1.4-1.1-2.3-1.1
c-2.1,0-4.3,1-5.6-1.5c1.2,0.9,3.7,1,5.8,1C59.6,54.4,60.3,54.6,60.8,55.1L60.8,55.1z M57.6,51.5c-0.1,0.3-0.5,0.8-0.3,1.1l0.6-0.8
C57.8,51.8,57.6,51.7,57.6,51.5L57.6,51.5z M58.9,52.4c0.2,0.2,0.3,0.5,0.4,0.8c0.3,0.1,0.4-0.4,0.6-0.4L58.9,52.4z M59.3,54
c-0.2-0.6-0.4-1.2-1-1.3c-0.7-0.3-1.3,1.3-1.5,0c-0.3-0.8,0.6-1.3-0.2-2c-0.7-1,0.3-1.3,0-2.4c-0.1-0.8-0.2-1.9,1-2
c1.7-0.4,3.5-0.4,5.1,0.1c0.5-0.4,0.6-0.6,0.7-0.9c0,0,0.8-0.1,1.3,0.1s1.1,0.5,1.1,0.5c-0.5,0.1-1.4,0.2-1.3,0.8
c0.3,0.8,1.1-0.3,3.2,1c0.2,0.2,0.5,0.3,0.5,0.8c-1-0.4-1.5-0.3-2.3-0.6c-0.6-0.2-0.8-0.2-1.5-0.1c-0.2,0-1.3,0.8-1.2,0.3
c0,0,0-0.3-0.1-0.8c-0.2-0.5-0.4-0.4-0.8-0.6c-2.1-0.5-3.2-0.4-4.3-0.1c-0.4,0.1-0.7,0.8-0.5,1.3c0.4,0.8,0.5,0.7,1,0.6
c0.4-0.2,0.6-0.7,1.2-0.8c0.5,0,0.8,0,1,0.5v0.3c-0.2-0.4-0.7-0.2-0.9-0.1c-0.1,0.1-0.2,0.2-0.1,0.4c0.2,0.3,0.3,0.1,0.6,0.2
c-0.2,0.4-1.2,0.5-1.9,0.4c-0.2,0-0.3,0.3-0.4,0.4c-0.2,0.3-0.1,0.6,0,0.9c1,1.2,2.7,1.3,4,2.2c0.3,0.2,0.6,0.8,0.7,1
c-0.6-0.3-0.8,0.7-0.8,0.9l0.3-0.2c0.2-0.1,0.7-0.3,0.8-0.4c0.3,0.3,0.2,0.9,0.3,1.3c0.1-0.4,0.1-0.8,0.3-1.2
c0.4,1.6,1.3,4.3-0.9,7.9c-1.2,2.4-1,2.9-0.9,6.1c-1.6-3.4-0.4-5-0.1-7.1c0-0.2,0-0.5-0.2-0.6c0.1,0.9-0.1,1.5-0.8,2.4
c-1.1,1.3-1.3,3.1-0.7,4.5c0.5,1.5,0.9,2.1,0.8,3.7c-0.2,1.5-0.6,2.4-0.1,4.4c-1.2-2.4-0.8-3.2-0.8-4.6c0-1.2-0.2-2.3-0.9-3.2
l0.4,0.4c-0.4,2.8-4.2,3-2.8,6.8c0.5,0.8,1.6,2.5,1.6,3.3c-0.8-1.4-1.8-1.5-2.5-2.9c-1.8-0.3-3.3,1-5,1.5c-1,0.3-2,0.8-3.8-0.7
c3.2,1.2,5.4-0.9,7.4-1.7c1.2-0.5,0.7-1.3,0.8-2.1c0.4-2.2,2.4-2.1,3-4.2c0-1.8-0.2-2.8,0.3-4s1.4-0.9,1.5-2.3c0.5-1.7-2-1.9-1.6-4
c0.3,0.4,0.9,0.7,1.4,0.9c0.9,0.4,1.8,1.1,2.4,1.8c-0.1-0.3-0.7-1.4-1.1-1.6l-0.9-0.7c0.1-0.3,0.5-0.5,0.8-0.8
c-0.1,1,1.1,1.4,1.6,2c0.3-1.4,0-2.8-0.4-4c0,0-0.5-0.1-0.7,0.3c-0.4-0.9-0.1-1.4,0-2.1c0-0.4-0.3-0.1-0.5-0.1
c-0.3,0.2-0.4,0.3-0.4,0.3L60,53.3C59.9,53.1,59.4,53.6,59.3,54 M74,52.6c0.1,0.4-0.1,0.9-0.3,1.3c-0.1,0.2-0.4,0.3-0.6,0.4
c0-0.4,0.8-0.8,0.3-1.3l-0.8-0.6C72.8,51.9,73.8,51.9,74,52.6L74,52.6z"/>
<path class="st0" d="M60.2,57.9c-0.2,0-0.4,0-0.6-0.1c-0.8-0.3,0.1-0.7,0.1-1.1C60,57,59.9,57.6,60.2,57.9z M63.3,66.5
c0,1.6-0.1,2.7-0.4,3.6c-0.3,0.9-0.4,1.2-1.1,2.4c0.6-1.4,0.8-2.5,1-4.2c0.2-1.5,0.1-3.6,0.7-4.8l0.5-1.4
C63.4,64.5,63.4,65.5,63.3,66.5z M44.4,82.8c0.4-0.5,0.6-0.4,0.8-0.4c0.3,0.3,0.2,0.6,0.6,0.8c0.6,0.3,1.4-0.3,1.9-0.6
c0,0,1.2,0.8,1.8,0.8c0.7,0,0.9-0.7,1.5-0.7s1,0.7,1,0.7s0.6-0.1,3.8-0.6c3.1-0.5,2.4,1.5,2.4,1.5s1.2,0.3,2.5-1.1
c1-1,1.9-2.5,2.2-3.8c0.3-1.4,0.3-6.6,0.3-6.6s-0.9,2.3-1,3.7c-0.1,1.3-0.4,3-1.5,4.7c-0.3,0.4-1.3,0.8-1.3,0.8
c0.1,0-0.3-0.8-0.7-1.1c-0.5-0.4-1-0.5-1-0.5s-2.3,1.6-3.2,1.5s0.1-1.5,0.1-1.5s-2.6,1-4,1.4S49,81.5,49,81.5
c-0.7,0.2-2.1,0.8-2.9,0.5c-0.8-0.4-1.1-0.8-1.4-0.4l-0.8,0.8c-0.7-1.7,1.2-2.3,1.8-2.9l-1.3-0.1c-0.5-0.2-0.8-0.7-0.7-1.1
c-0.7,0-1.4,0.4-1.9,0.5c0.1-1.4,1.8-0.8,2.5-1.7c0.2-0.2,0.7-0.5,1.2-0.2c0,0-1.6-1-1.4-1.4c0.4-1.5,2.9,0.8,3.5,1.1
c-0.2-0.3-0.4-0.4-0.6-0.8c-1.1-2.3-3.8-1.9-4.8,0c0.1,0.2,1-0.5,1.1,0.1c0.2,0.3,0.4,0.6,0.5,0.7c-0.6,0.3-1.2,0.4-1.6,0.6
c-1.6,0.6-1.7,2.8-1.7,2.8s1.7-0.3,2.2-0.5c0.1,0,0.1,0,0.2-0.1c0.2,0.9,1,0.3,0.1,1.9c-0.5,0.9,0.4,2.5,0.4,2.5S44,83.4,44.4,82.8
L44.4,82.8z M66.4,70.6c-0.4,0.7-1.9,3.3-2,5.8c-0.5-2.2,0-4,1.8-6.9c2.5-3.6,1.2-7.2,1.3-8.3C69.5,67.8,67.2,69.4,66.4,70.6z"/>
<path class="st0" d="M58.5,74.4c0.1,0.5,0.4,1.2,0.9,2.2c0.4,0.6,0.8,1.8,0.4,4c-0.5-3.1-0.8-3.1-1.3-4.3c-0.4-0.8-0.8-2.2-0.6-3.4
c0.1-0.4,0.6-1.3,0.9-1.5C58.3,72.1,58.2,73.5,58.5,74.4L58.5,74.4z M65.4,78.6c-0.9,1.3-1.5,2.1-2,2.5c0.4-3.5,2.7-4,3.6-8.4
C67,74.3,66.2,77.5,65.4,78.6z M80.2,83.5c0.5,0.1,0.9,0.3,1.3,0.4c-0.6-0.2-1.7-0.4-2.1-0.4h-0.7c-1.6-0.1-3.5-0.6-4.7-0.1
c-2,0.9-4.3,2.5-4.7,3.7c-1.1,2.3-3.8,0.4-5.6,2.5c-0.5-0.5,0.2-1.3,1.2-1.9c0.8-0.4,2.6,0.2,3.3-0.7c0.4-0.5-0.6-1.5-1.8-1
c-1.6,0.6-1.6,1.5-2.6,2c0.1-1.1,1.1-2.6,2.7-2.7c0.8-0.2,1.6,0.3,2.5,0.1c1-0.6,1.5-1,2.9-1.6c0.8-0.4,1.5-0.6,2.5-0.7
C76.5,82.7,78.3,83.3,80.2,83.5L80.2,83.5z M60.9,58.3c0,0-0.2,0-0.6-0.2c-0.5-0.2-1-0.4-1.1-0.4c-0.2-0.1-0.4-0.1-0.4-0.1
s0.1-0.2,0.2-0.2c0.2,0,0.7,0.1,1.3,0.4c0.5,0.2,0.8,0.5,0.8,0.5L60.9,58.3L60.9,58.3z M74.6,49c0,0-0.1,0.2,0.1,0.6
c0.2,0.4,0.3,0.7,0.3,0.7s-1.9,0.1-1.8-0.2c0.1-0.3,0.3-0.5,0.2-0.7s-0.3-0.5-0.3-0.5L74.6,49z M63.5,54.4c-0.2-0.6-0.4-1-1.7-1.7
s-2.3-0.9-2.8-1.1c-0.4-0.2-1.2-0.4-1.1-0.3c0.1,0.1,2.6,1.5,3.1,1.7s1.2,0.5,1.4,0.7s0.3,0.2,0.4,0.6c0.1,0.3,0,0.8,0.2,1.2
c0.2,0.4,0.4,0.4,0.4,0.4S63.7,55.2,63.5,54.4L63.5,54.4z M60,49.8c0.7,0,1.1,0.1,1.6,0.2c0.5,0.2,0.7,1,1.1,1.5
c0,0-1.3-1.4-2.4-1.4C60.2,50.2,59.7,49.8,60,49.8L60,49.8z M59.4,50.6c0.4-0.1,0.7,0,1,0.1s0.5,0.4,0.8,0.9l-0.3-0.2
c0,0,0.1,0-0.4-0.2c-0.5-0.3-0.7-0.2-0.9-0.3C59.4,50.8,59.2,50.7,59.4,50.6L59.4,50.6z M71.2,49c0,0-0.9,0.8-0.9,2.1
c-0.1,1.3,0.2,3,0.4,4.5s0,2.7-0.6,3.7c-0.5,0.8-0.9,2-0.9,3.2c0.1,1.5,1.2,2.9,1.2,2.9s-1-1.9-0.6-3.6c0.4-1.8,1.4-2.8,1.5-4
c0.1-1.3-0.1-2.5-0.4-4C70.5,51.6,70.5,50.2,71.2,49L71.2,49z"/>
<path class="st0" d="M69.6,70.8c0,0,1-1.5,1-2.9s-0.9-2.8-1.1-4.2c-0.3-1.4-0.3-1.7,0-2.7c0.3-1.1,1.2-1.6,1.2-1.6S70,60.8,70,61.6
c0,0.9-0.1,1.4,0.4,3s1.1,3.2,0.7,4.4c-0.4,1.2-0.9,1.8-1.3,2.3C69.3,71.9,69.1,72,69.6,70.8L69.6,70.8z"/>
<path class="st0" d="M67,81.3c-0.2,0.1-0.4,0.3-0.7,0.5C66.1,82,65.7,82,65.7,82s0.4-0.4,1.2-1.6c1.4-2,1.3-4.1,1.7-6.2
c0.4-1.5,1.6-3.3,2.1-4.1c0.5-0.8,0.2-3.4,0.2-3.4c-0.1,4.4-2.4,4.2-3,7.7c-0.2,1.9-0.8,4-2.4,5.9c-1.2,1.6-3.3,3.4-5.5,4.2
c2.5,0.5,4.1-0.2,6.3-0.3c0.5,0,1.5,0,2.2,0.2c0.5,0.2,0.6-0.3,1.9-1c1-0.5,1.7-0.8,2.5-1.1c1.2-0.3,2.1-0.5,3-0.4
c-0.2-0.1,3.5-0.2,3-0.5c-0.2-0.8-1.5-0.1-1.1-0.6c-1.3,0.6-1.6,0.2-3.1,0.5c0,0-1.3,0.1-2.2,0.1c0,0-0.7,0-1.1-0.2
c-0.9-0.4-0.8-1.2-0.8-1.2c0-0.5,0-0.7,0.1-1.3c0.1-0.6-0.1-1.5-0.1-1.5S68.9,80.2,67,81.3L67,81.3z M96.3,71.9
c0,0-1.9-2.2-3.9-2.7s-5.8,0.1-8.1,1.3s-3.2,2.8-4.4,5c0,0-0.5,0.8-0.8,1.6c-0.4,1.2-0.4,1.7,0.3,2c0.3,0.2,2-0.6,2-0.6
c-0.4-0.5-1.7-0.3-1.7-0.3s0.6-0.9,1.3-1.2c0.7-0.4,1.6-0.2,1.6-0.2l-0.8-0.5c0,0,0-0.5,0.7-2.2c0.8-1.7,1.5-3.1,4.5-3.8
c3-0.8,4.5-0.9,6.3-0.1C95,71,96.3,71.9,96.3,71.9L96.3,71.9z M94.5,83.4c0,0-1-0.6-2.1-1c-1-0.4-2.4-0.8-2.4-0.8s3.2-0.6,5-1
c1.1-0.3,1.7-0.4,2.3-0.8c0.7-0.4,1-0.7,1-0.7s0.4-0.2,1-1.7c0.5-1.2-0.2-3.4,0.1-3.8c0.5-0.7,4.1,0.2,5.6,2.6
c1.1,1.8,0.1,4.6,0.1,4.6s1-0.4,1.1-3c0.1-3.1-3.4-4.8-3.4-4.8s2.1,0.4,3.4,2.6c1.3,2.2,0.5,4.9-1.4,7.3s-6,2.3-7.7,2
c0,0,0.8,0.9,1,1.7c0.4,1.6-0.2,2.5-0.8,2.9c-0.5,0.3-3.6,0.5-4.5,0.5c-1,0-1.3,0-2.8,0.1c-1.4,0.1-2.9-0.2-3.6-0.2
c-0.4,0-0.7,0.1-1.6,0.3c-1.4,0.3-1.4,0-1.4,0s0.2-0.7-1.6-0.4C80.6,90,79.6,90,79.6,90s-1,0.6-2.8,0.3c-1.8-0.3-1.9-1.4-1.9-1.4
s1.4,0.6,2.8,0.6s2.2-0.8,2.2-0.8s0.4,0.6,1.8,0.1c0.8-0.3,1.2-0.6,1.2-0.6s2.8,0.2,3.1,0.2c1,0.1,3.1,0.3,3.1,0.3s0.2,0,2,0.1
c1.2,0.1,2.2,0.2,2.2-0.1c0.1-0.3-0.9-0.7-0.9-0.7s1.7,0.2,2.5,0.2c0.6,0,1.1-0.1,1.5-0.3c0.3-0.2,0.4-1.2,0-1.6
c-0.5-0.5-0.3-0.5-0.9-0.8c-1.5-0.7-1.3-1-1.3-1s-0.4-0.6,0.5-0.1c0.5,0.2-0.1-0.6-0.1-0.6S94.9,83.6,94.5,83.4L94.5,83.4z M101,75
c0,0,0.2,3.2-0.7,4.7S97.1,83,97.1,83c2.5,1,6.9-0.4,7.6-2.8c0.7-2.4-0.4-4.4-1.4-5C102,74.4,101,75,101,75L101,75z"/>
<path class="st0" d="M87.7,80.8c0,0,0.3,0.1,0.8,0.3c0.4,0.1,2.2,0.8,2.2,0.8s0.7,0.1,1.1-0.3c0.6-0.6-1.6,0.1-1.5-0.6
c0-0.2-0.4-0.5-0.4-0.5s-0.6-0.1-1.1-0.1C87.8,80.4,87.7,80.8,87.7,80.8L87.7,80.8z M72.5,81.5c0,0,1.7-0.1,3.5-0.5
c1.7-0.5,2.1-0.9,2.8-1.1c0.6-0.2,1.7-0.1,1.7-0.1s-0.3,0.1-0.4,0.6c-0.1,0.5,0.1,0.8,0.1,0.8s0.6-0.2,1.1-0.2
c0.5,0.1,0.6,0.4,0.6,0.4s-0.5,0.8,0.2,1s1.5,0.2,2.8,0.7c1.4,0.5,2.2,0.6,3.2,0.8c1,0.2,2.2,0.6,2.2,0.6s0.2,0.2-0.2,0.4
s1,0.6,1,0.6s0.1,0.1-0.9,0c-0.8-0.1-1,0-2-0.2C86.6,85,86.1,85,86.1,85s-0.7-0.1-1.5-0.1c-0.5,0-1.9-0.1-3.5-0.3
c-1.6-0.2-2.8-0.4-3.6-0.8c-0.9-0.3-1.9,0-1.9,0s-0.4-0.4-1.2-0.1s-1.2,1.2-1.2,1.2s0.4-0.2,0.8-0.2s0.7,0.1,0.7,0.1
s0.2,0.4-0.1,0.8c-0.4,0.4-1.1,0.7-1.1,0.7s0-0.2-1.7-0.2s-1.8-0.2-2.4,0.6c-0.6,0.8-0.3-1.3-0.3-1.3s0.4-0.6,2.6-1.7
c2.2-1,4-0.9,4.8-1c0.8,0,1.9,0.1,3,0.2c0.7,0.1,2.4,0.7,2.4,0.7s-0.8-0.7-2.3-1.3c-1.3-0.5-4.9-0.5-6.6-0.1
c-1.7,0.4-2.4,0-2.2-0.2C71.1,81.7,72.5,81.5,72.5,81.5L72.5,81.5z"/>
<path class="st0" d="M73.4,84.8c0,0,0.8-0.3,1.3-0.1c0.2,0.1,0.3,0.1,0.4,0.3l0.5,0.5c0,0-1.9,0.2-1.5,1.1s1.4,0.7,1.4,0.7
s-0.5,0.2-0.7,0.8c-0.2,0.6,0.4,0.9,0.4,0.9l1.5,0.6l-0.9,0.3c0,0-0.6-0.3-0.8,0.1s-0.2,0.8-0.2,0.8s-0.6-0.6-0.7-1.5
c-0.1-0.8,0.5-1.5,0.5-1.5s-0.5-0.4-0.9,0s-0.5,0.9-0.5,0.9s-0.7-0.6-0.8-1.4s0.5-1.4,0.5-1.4L73.4,84.8L73.4,84.8z M59.5,64.3
c-0.5,3.3-1.7,4.8-2,5.9c0,0-0.3-0.6-0.9-1.1c-0.6-0.4-1.7,0.2-1.7,0.2s-1-1.3-3.2-2.2c-1.8-0.8-1.6,0.8-1.6,0.8s-1.5-1.6-2.1-2.3
c-0.8-0.9-1.6-0.5-2.3-0.3s-2.8-0.1-2.8-0.1s-1.6-0.1-1.6-1.7c0-1.1,1.2-1.5,1.2-1.5s-1-0.6-0.9-1.7s1.3-1.1,1.3-1.1
S42,58.5,42,57.9c0-0.6,1-1.5,1.7-1.6s3.1,1.2,4.2,1.5c1,0.2,0.6,1.6,2.4,2.3c0.8,0.3,2.1,0.6,3.8,0.6s2.2,0.6,4.1,1.1
c1.9,0.5,2.1-0.3,2.1-0.3S59.7,63.2,59.5,64.3L59.5,64.3z M44.5,57c-0.6-0.3-1-0.2-1.6,0.3c-0.2,0.3-0.2,1,0.2,1.2
c1.3,0.2,1.1-0.8,2.4-0.7C45.2,57.6,44.8,57.3,44.5,57L44.5,57z M43.2,62.4c-0.5,0.1-1.2,0.7-1.1,1.5c0.2,0.7,0.4,0.8,1.2,0.9
c0.4-0.1,0.7-0.2,0.7-0.4c0,0-0.2-0.2,0-0.3c0.5-0.4,0.9-0.3,1.3-0.3c-0.6-0.6-0.9-0.6-1.2-0.8c-0.8-0.7-0.3-1.1,0.1-1.3
c0.2-0.1,1.1-0.1,1.5,0.1l-1.3-1.6c-0.6-0.4-1.6-0.5-1.9,0.3c-0.1,0.2-0.1,0.8,0.2,1C42.9,61.9,43.2,62.1,43.2,62.4L43.2,62.4z
M58.1,66.9c0,0-0.3-1.2,0.1-2.2c0.4-1,1.3-1.8,1.3-1.8c-0.9,0.5-1.4,0-3.7-0.7c-2.4-0.7-3.6-0.5-4.6-0.6c-0.9-0.1-3.1-1.4-3.5-1.7
c-0.3-0.3-0.3-0.6-0.5-1.3c-0.1-0.5-0.8-0.7-1.3-0.6s-0.6,0.4-0.6,0.4s-0.2,0.1-0.7,0.2s-0.8,0.7-0.8,0.7s0.4-0.2,0.8-0.1
c0.4,0,0.7,0.4,0.7,0.4c0,1-0.1,1.1,0.3,1.8c0.6,1,1.8,2,1.8,2c1.2,0.8,2.8,1.4,3,1.6c0.2,0.1,1.1,0.5,2,0.8s1.7,1.3,1.7,1.3
s0-1,1.4-0.6C56.8,66.9,58.1,66.9,58.1,66.9L58.1,66.9z M73,55.6c0,0,0.3,1.8,0,2.6c-0.6,1.5-1.5,1.9-1.8,3.4
c-0.3,1.8,0.2,3.8,0.5,4.8s0.6,2.2,0.3,3.1c-0.4,0.8-1.1,1.7-1.5,2.7c-0.5,1-0.8,2.3-0.8,2.3s0.7-1.6,1.2-2.3
c0.6-0.9,1.5-2,1.8-2.9c0.8-2.2-0.4-3.7-0.6-5c-0.3-1.6,0.1-2.9,1-4c0.8-1.1,1-1.9,1.2-2.9c0.2-1.2,0.2-2.3,0.2-2.3L73,55.6
L73,55.6z M36.2,101.9c0,0,35.9-0.9,45.1-1.7c2.5-0.2,6.8-0.4,9.6-0.6c2.7-0.3,6.7-0.4,6.7-0.4s-1.3,0.6-4.3,0.9
c-3.5,0.3-10,1.1-13,1.1c-3.7,0-16,0.9-19.6,1.1C45.5,102.8,36.2,101.9,36.2,101.9z"/>
<path class="st0" d="M57.2,14.1l-9.2,41c0,0,0,0.5,0.2,0.6c0.3,0.1,0.5,0.2,0.8,0.3c0.3,0.2,0.6,0.5,0.6,0.5s-0.7,0-1.5-0.3
s-0.9-0.7-0.9-0.7l9.4-41.3c0.3-1.8,0.9-5.5,1-6.4s-0.1-0.7-0.5-0.3c-0.4,0.5-1.5,3.3-2,5.7c0,0-9,37.7-9.2,38.8
c-0.2,1-0.1,1.5-0.6,2.4s-1,1-1.6,1c-0.4,0-1.1-0.1-1.2,0.3c-0.1,0.2,0.3,0.4,0.8,0.5s1.2,0,1.7-0.1c0.7-0.2,0.9-0.3,0.9-0.3
s0.2,0.4,0.3,0.5c0.3,0.3,0.6,0.5,1,0.7c0.3,0.1,1.2,0.4,1.8,0.4s0.7,0.3,0.8,0.5s0.5,0.5,1.1,0.2c0.4-0.2,0.4-0.9,0.1-1.3
c-0.5-0.4-1.1,0-1.2-0.2c-0.1-0.2,0.5-0.8,1.3-0.5c0.7,0.3,1.2,0.9,0.9,1.9s-1.4,1-2,0.9s-0.9-0.5-1.1-0.6
c-0.2-0.1-0.7-0.1-0.7-0.1s-4-1.6-4.3-1.7s-1.2,0.1-1.5,0.2s-0.5,0.4-1.3,0.3c-0.4-0.1-1.8-0.6-1.3-1.8c0.3-0.9,0.9-1.3,1.9-1.1
c0.5,0.1,0.5,0.5,0.9,0.6c0.6,0.1,1,0,1.1-0.5c0.2-0.6,9.8-39,9.8-39c1.4-4.6,2.4-7.3,3.4-8.5c0.9-1.2,1.4-2.2,1.2,0.4
C58.1,9.6,57.8,11.4,57.2,14.1L57.2,14.1z M41.4,56c0.3,0,0.5-0.2,0.5-0.5S41.7,55,41.4,55s-0.5,0.2-0.5,0.5
C40.8,55.8,41.1,56,41.4,56z M62.1,77.3c0,0,0.2-3,1.3-6.4c0.5-1.4,1.5-3.1,1.7-4.5c0.2-1.7-0.2-3.7-0.1-4.7s0.2-1.9,0.2-1.9h0.6
c0,0-0.3,2.2-0.1,3.2c0.2,0.9,0.5,2.7,0.1,3.9c-0.5,1.9-1.6,3.2-2,4.8c-0.5,2-0.8,4.2-0.9,6.3L62.1,77.3L62.1,77.3z"/>
<path class="st0" d="M39.5,55.7c0.3,0,0.6-0.3,0.6-0.6s-0.3-0.6-0.6-0.6s-0.6,0.3-0.6,0.6C38.9,55.5,39.2,55.7,39.5,55.7z
M43.9,69.1c0.4,0,0.8-0.3,0.8-0.8c0-0.4-0.4-0.8-0.8-0.8s-0.8,0.3-0.8,0.8C43.1,68.7,43.4,69.1,43.9,69.1z"/>
<path class="st0" d="M43,65.1c0,0,0.2-0.2,0,0.1c-0.2,0.3-0.7,0.8-0.6,1.4c0.1,0.6,0.6,1.3,1.6,1.4s1.8-0.3,2-1.2
c0.2-0.9-0.1-1.2-0.3-1.5c-0.2-0.2-1.3,0.1-1.3,0.1c0.4,0.3,0.6,0.7,0.6,1.1s-0.4,0.7-0.8,0.6c-0.4-0.1-0.8-0.4-0.7-0.9
c0.2-0.6,0.8-0.9,0.8-0.9s0-0.3,0.2-0.4C44.6,64.9,43,65.1,43,65.1L43,65.1z M52.6,58.9c0.5,0,0.8-0.4,0.8-0.8
c0-0.5-0.4-0.8-0.8-0.8s-0.8,0.4-0.8,0.8S52.1,58.9,52.6,58.9z M48.6,83.6c0,0,1,2.1,1.9,3.3c1,1.3,1.6,2.2,2.2,3.2
c0.6,1,2.4,3.8,3.8,5.7c1.4,1.9,4,4.8,4,4.8s-3.3-5.3-4.4-6.6c-1-1.4-2-3-2.9-4.3C52.3,88.5,49.2,84.1,48.6,83.6z M57.1,83.5
c0,0,4,4.8,5.9,7.1c2,2.3,3,4.2,4,5.3c1,1.1,3.8,4.4,3.8,4.4s-1.4-3.1-3-4.9c-1.5-1.6-2.8-3.7-4.1-5.2s-3.2-4.1-4-4.8
C58.8,84.7,57.5,83.4,57.1,83.5L57.1,83.5z M69.7,87.3c0,0,4.9,6.1,5.8,7c0.8,0.8,3.5,4.6,3.5,4.6s2.9,2.9,1,0.2
c-0.5-0.7-2.9-3.8-4-5.2c-1.1-1.4-2.3-2.8-3.4-4C71.4,88.5,69.9,87.5,69.7,87.3L69.7,87.3z M81.8,90.1c0,0,0.8,1.5,1.6,2.3
s2.5,2.6,3,3.3c0.5,0.7,3.7,3.4,3.7,3.4s-1.3-1.8-2.2-2.7c-0.9-0.9-1.9-1.9-2.6-2.7C84.7,92.8,82.3,90.4,81.8,90.1L81.8,90.1z
M90.5,89.7c0,0,2.4,2.6,3.6,4c1.2,1.4,4,3.7,4,3.7s-0.6-1.4-1.5-2.2c-0.9-0.8-2.6-2.6-3.3-3.5s-1.8-1.9-1.8-1.9L90.5,89.7z"/>
<path class="st0" d="M50.8,96c0,0,3.8-0.4,5.6-0.5c1.7-0.1,7.8-0.2,10.1-0.2s11.3-0.7,14.4-0.8c3.1-0.1,8.2-0.7,9.5-0.7
c1.2,0,11.8-0.2,11.8-0.2s-1.6,0.5-4.9,0.7c-0.7,0-7.5,0.6-8.5,0.6S84.7,95,84.7,95s-3,0.3-4.5,0.2c-1.5-0.1-4.4,0.3-4.4,0.3
s-1.4,0-3.2,0.2s-5.1,0-5.5,0.1c-0.3,0.1-2.9,0.4-5.1,0.4c-2.2,0-4.2,0-4.5-0.1s-2,0.1-3.1,0.1C53.3,96.1,50.8,96,50.8,96z
M73,89.2h-5.9c-1,0-4.5,0.3-4.5,0.3s-3.1-0.1-4.8-0.1c-1.6,0-8.8,0.4-8.8,0.4s2.3,0.3,8.8,0.1h5.4c0.7,0,3.6,0,4.5-0.1
C72.9,89.5,73,89.2,73,89.2L73,89.2z M61.4,84.6c0,0-4.9,0.1-6.9,0.2s-5.8,0.1-5.8,0.1s1.2-0.3,3.1-0.4c1.9-0.1,3.6,0,4.7-0.1
C58.3,84.3,61.4,84.6,61.4,84.6L61.4,84.6z M29.8,67.6h-0.3l-0.1,0.1v0.1c-0.2,0.3-0.3,0.6,0,0.9c0.2,0.3,0.7,0.2,0.7,0.7v0.1v-0.2
v0.1c0,0.1-0.1,0.2-0.1,0.2V70c0.2,0.5,0.7,0.7,1.1,0.8c-0.1,0.2-0.3,0.4-0.3,0.7v0.1c0,0.1,0,0.2,0.1,0.2v0.1
c0.1,0.3,0.5,0.4,0.7,0.6c0.1,0.1,0,0.2-0.1,0.3c-0.2,0.4,0,0.8,0.3,1.1c0.2,0.2,0.5,0.2,0.6,0.5c0.2,0.3-0.1,0.7-0.1,1.1
c0.1,0.5,0.5,1,1,1l0.1,0.1c-0.1,0.3-0.3,0.5-0.3,0.9c0.1,0.5,0.5,0.7,0.9,0.9c-0.1,0.1,0.1,0.3-0.1,0.4c-0.1,0.6,0.3,1.3,1,1.3
c0.1,0,0.1,0.1,0.3,0.1h0.2c0-0.1,0-0.1-0.1-0.1c-0.2-0.3-0.6-0.5-0.7-1c0.3-0.6,0.1-1.4-0.6-1.6c0,0-0.1-0.1,0-0.1
c0.2-0.4,0.3-0.8,0.1-1.2c-0.2-0.3-0.5-0.4-0.8-0.5v-0.2c0-0.4,0.2-0.7,0.1-1.1c-0.1-0.5-0.5-0.8-1-1h-0.1c0.4-0.7,0.1-1.6-0.7-1.8
l-0.2-0.2l0.1,0.2v-0.1c0.2-0.4,0.3-0.9-0.1-1.3c-0.2-0.2-0.6-0.2-0.8-0.4l-0.1-0.2v0.2v-0.1l0.1-0.2v-0.3
c-0.1-0.5-0.4-0.8-0.9-0.9c-0.1,0-0.1-0.2-0.1-0.4l0.1-0.2l-0.1,0.1l0.1-0.1C29.6,67.7,29.7,67.7,29.8,67.6
C29.8,67.7,29.8,67.7,29.8,67.6L29.8,67.6z M33.8,66.8c-0.1,0-0.1,0.1-0.2,0.1h-0.1L33.4,67v0.1c-0.2,0.3-0.3,0.6,0,0.9
c0.2,0.3,0.6,0.1,0.6,0.6v0.1v-0.2v0.1c0,0.1-0.1,0.2-0.1,0.2v0.4c0.2,0.5,0.7,0.7,1.1,0.8c-0.1,0.2-0.3,0.4-0.3,0.7v0.1
c0,0.1,0,0.2,0.1,0.2v0.1c0.1,0.3,0.5,0.4,0.7,0.6c0.1,0.1,0,0.2-0.1,0.3c-0.2,0.4,0,0.8,0.3,1.1c0.2,0.2,0.5,0.2,0.6,0.5
c0.2,0.3-0.1,0.7-0.1,1.1c0.1,0.5,0.5,1,1,1l0.1,0.1c-0.1,0.3-0.3,0.5-0.3,0.9c0.1,0.5,0.5,0.7,0.9,0.9c-0.1,0.1,0.1,0.3-0.1,0.4
c-0.1,0.6,0.3,1.3,1,1.3c0.1,0,0.1,0.1,0.3,0.1c0.1,0,0.1,0,0.1-0.1s0-0.1-0.1-0.1c-0.2-0.3-0.6-0.5-0.7-1c0.3-0.6,0.1-1.4-0.6-1.6
c0,0-0.1-0.1,0-0.1c0.2-0.4,0.3-0.8,0.1-1.2c-0.2-0.3-0.5-0.4-0.8-0.5c0,0-0.1-0.1,0-0.2c0-0.4,0.2-0.7,0.1-1.1
c-0.1-0.5-0.5-0.8-1-1h-0.1c0.4-0.7,0.1-1.6-0.7-1.8l-0.2-0.2l0.1,0.2v-0.1c0.2-0.4,0.3-0.9-0.1-1.3c-0.2-0.2-0.6-0.2-0.8-0.4
l-0.1-0.2v0.2v-0.1l0.1-0.2v-0.3c-0.1-0.5-0.3-0.7-0.8-0.8c-0.1,0-0.1-0.2-0.1-0.4l0.1-0.2L33.5,67l0.1-0.1
c-0.1-0.2,0.1-0.1,0.1-0.1v-0.1L33.8,66.8z M37.5,66.4C37,66.9,37.3,67.8,38,68c0.3,0.3,0,0.4-0.1,0.7V69c0.1,0.3,0.3,0.6,0.7,0.7
h0.1l-0.1-0.1c0.2,0.1,0.5,0.3,0.4,0.5c-0.3,0.6,0,1.3,0.6,1.6h0.1l-0.2-0.2l0.2,0.2c0.1,0,0.2,0.1,0.2,0.2s0,0.3-0.1,0.4
c-0.3,0.6,0.3,1.1,0.8,1.5c0.1,0.1,0.1,0.1,0.1,0.2c-0.1,0.5-0.3,1.1,0.2,1.5c0.3,0.3,0.6,0.5,0.7,0.9c0,0.1,0.1,0.2,0.2,0.2
s0.2-0.1,0.2-0.2c0.1-0.4,0.1-0.8-0.2-1.1c-0.2-0.2-0.3-0.3-0.6-0.4c-0.1,0-0.1-0.2-0.1-0.3c0.2-0.5,0.2-1-0.1-1.4
c-0.2-0.2-0.5-0.3-0.6-0.5c-0.2-0.4,0.1-0.8,0-1.2c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2l-0.2-0.1c-0.3-0.1-0.5-0.3-0.6-0.6
c-0.1-0.4,0.2-0.8,0-1.1v-0.1C39.2,69,39.2,69,39.1,69L39,68.9h0.1c-0.1-0.1-0.3-0.1-0.3-0.2l-0.2-0.2v0.2v-0.1
c-0.1,0-0.1-0.1-0.1-0.1c0.2-0.5,0.1-0.9-0.5-1.2c-0.3-0.1-0.2-0.5-0.1-0.8c0-0.1,0-0.2-0.1-0.2C37.6,66.2,37.5,66.3,37.5,66.4
L37.5,66.4z M26,68.3c-0.5,0.5-0.2,1.4,0.5,1.6c0.3,0.3,0,0.6-0.1,0.9v0.3c0.1,0.3,0.3,0.6,0.7,0.7h0.1l-0.1-0.1
c0.2,0.1,0.5,0.3,0.4,0.6c-0.3,0.6,0,1.3,0.5,1.6h0.1l-0.2-0.2l0.2,0.2c0.1,0,0.2,0.1,0.2,0.2s0,0.3-0.1,0.4
c-0.3,0.6,0.3,1.1,0.8,1.5c0.1,0.1,0.1,0.1,0.1,0.2c-0.1,0.5-0.3,1.1,0.2,1.5c0.3,0.3,0.6,0.5,0.7,0.9c0,0.1,0.1,0.2,0.2,0.2
s0.2-0.1,0.2-0.2c0.1-0.4,0.1-0.8-0.2-1.1c-0.2-0.2-0.3-0.3-0.6-0.4c-0.1,0-0.1-0.2-0.1-0.3c0.2-0.5,0.2-1-0.1-1.4
c-0.2-0.2-0.5-0.3-0.6-0.5c-0.2-0.4,0.1-0.8,0-1.2c0-0.1-0.1-0.2-0.1-0.3c0-0.1-0.1-0.1-0.2-0.2l-0.2-0.1c-0.3-0.1-0.5-0.3-0.6-0.6
c-0.1-0.4,0.2-0.8,0-1.2v-0.1c-0.1-0.1-0.1-0.1-0.2-0.1L27.4,71h0.1c-0.1-0.1-0.3-0.1-0.3-0.2L27,70.6v0.2v-0.1
c-0.1,0-0.1-0.1-0.1-0.1c0.2-0.5,0.1-1.2-0.5-1.4c-0.3-0.1-0.2-0.5-0.1-0.8c0-0.1,0-0.2-0.1-0.2C26.2,68.2,26,68.2,26,68.3L26,68.3
z"/>
<path class="st0" d="M29.9,78.4c-0.1,0.4,0,0.7,0.4,0.9c0.1,0.1,0.2,0.3,0.2,0.5l-0.1-0.1c0,0.1,0,0.2-0.1,0.2v0.4
c0.2,0.4,0.5,0.7,0.9,0.9c0.1,0.1,0.3,0.1,0.5,0c0.1-0.1,0.1-0.3,0-0.5c-0.2-0.2-0.4-0.3-0.6-0.5L31,80v0.2v-0.1
c0.2-0.5,0-1.2-0.6-1.3c-0.1,0-0.1,0.1-0.2-0.1C30.1,78.7,30,78.6,29.9,78.4C30,78.4,30,78.4,29.9,78.4L29.9,78.4z M32.7,83.6h-0.1
v-0.1h-0.1l-0.1,0.1c-0.4,0.5,0,1.1,0.2,1.6c0,0-0.1,0.2-0.2,0.3c-0.4,0.2-0.4,0.8-0.1,1.1c0.2,0.2,0.6,0.4,0.4,0.7
c-0.2,0.4-0.6,0.6-0.6,1.1c0,0.3,0.3,0.5,0.4,0.8c0.3,0.4-0.3,0.8-0.4,1.2c-0.1,0.3,0.1,0.8,0.4,0.9c0.2,0.5-0.4,0.7-0.5,1.1v0.3
c0,0.1,0.1,0.3,0.2,0.4c0.1,0.2,0.4,0.3,0.4,0.5c0,0.4-0.3,0.7-0.7,0.9c-0.1,0.1-0.2,0.3-0.1,0.4c0.1,0.1,0.3,0.2,0.4,0.1
c0.6-0.2,1-0.8,1-1.4c0-0.4-0.2-0.7-0.5-0.9h0.1v0.2l0.1-0.2c0.2-0.4,0.5-0.7,0.5-1.1s-0.2-0.7-0.5-1c0.3-0.4,0.5-0.9,0.4-1.4
c0-0.4-0.5-0.6-0.5-1c0-0.3,0.3-0.4,0.4-0.7c0.2-0.5-0.2-1-0.3-1.5c0.2-0.3,0.3-0.6,0.2-0.9c-0.1-0.4-0.6-0.6-0.4-1.1v-0.1h-0.1
c0,0,0.1,0,0.1-0.1C32.8,83.7,32.8,83.6,32.7,83.6c0-0.1-0.1-0.1-0.2-0.1L32.7,83.6L32.7,83.6z M36.6,83.3c-0.2,0-0.3,0-0.4,0.1
c-0.5,0.5-0.2,1.2,0.2,1.8v0.3c-0.4,0.5-0.6,1-0.4,1.6c0.1,0.3,0.4,0.5,0.5,0.7v0.3c-0.6,0.5-0.7,1.5,0,2c0.1,0.3,0.1,0.6-0.2,0.7
l-0.1,0.1c0,0-0.1,0.1-0.1,0.2v0.1c-0.1,0.5,0.2,0.9,0.5,1.3v0.3c-0.4,0.4-0.8,0.8-0.7,1.4c0,0.2,0.2,0.3,0.4,0.3s0.4-0.2,0.3-0.4
c0-0.1-0.1-0.2,0-0.3c0.2-0.4,0.6-0.6,0.7-1c0.1-0.5-0.2-0.8-0.4-1.1c-0.1-0.1-0.1-0.2,0-0.4v-0.1l-0.1,0.2l0.1-0.1
c0.4-0.3,0.5-0.8,0.4-1.3c-0.1-0.3-0.4-0.5-0.5-0.8c-0.1-0.5,0.2-0.8,0.3-1.3v-0.3c-0.1-0.4-0.3-0.7-0.2-1.1s0.3-0.6,0.4-1
c0.1-0.6-0.3-0.9-0.6-1.3C36.4,83.9,36.5,83.6,36.6,83.3C36.7,83.4,36.7,83.4,36.6,83.3L36.6,83.3z M40.3,82.8
c-0.2,0-0.3,0-0.4,0.2c-0.6,0.7,0,1.6,0.3,2.3c-0.1,0.1-0.1,0.3-0.2,0.4c-0.6,0.6-0.3,1.6,0.2,2.1c0.1,0.1,0.2,0.2,0.1,0.3
c-0.1,0.4-0.5,0.7-0.5,1.2c0,0.3,0.2,0.6,0.3,0.9c0.1,0.2,0.2,0.4,0.1,0.6c-0.7,0.6-0.2,1.6,0.2,2.2c0,0.4-0.1,0.8-0.4,1.1
c-0.1,0.1-0.1,0.2-0.1,0.3c0.1,0.1,0.2,0.1,0.3,0.1c0.2-0.1,0.4-0.2,0.6-0.4c0.4-0.6,0.4-1.4-0.1-1.9c-0.4-0.4,0-0.9,0.1-1.3
c0-0.4-0.2-0.8-0.5-1.2c-0.1-0.2-0.2-0.4-0.1-0.6c0.2-0.4,0.5-0.9,0.4-1.4c0-0.1-0.1-0.1-0.2-0.2v-0.1c-0.1-0.3-0.3-0.6-0.1-0.9
l-0.1,0.1c0.5-0.3,0.8-1,0.6-1.6C40.7,84.2,39.9,83.6,40.3,82.8C40.4,82.9,40.4,82.8,40.3,82.8C40.4,82.8,40.3,82.8,40.3,82.8
L40.3,82.8z M44.7,83.9c-0.4,0-0.5,0.4-0.6,0.7c0,0.4,0.1,0.6,0.4,0.9c0.1,0.1,0.1,0.2,0.1,0.3c-0.1,0.4-0.5,0.6-0.5,1
c0,0.5,0.3,1,0.7,1.3l0.1,0.1L44.7,88c0,0.5-0.5,0.7-0.6,1.1c-0.2,0.5,0.2,0.9,0.5,1.3v0.1c-0.3,0.3-0.5,0.7-0.5,1.1
c0,0.5,0.5,0.8,0.7,1.3c0,0.5-0.2,1.1-0.7,1.3c0,0-0.1,0.1,0,0.1c0,0,0.1,0.1,0.1,0c0.3-0.2,0.7-0.3,1-0.6c0.3-0.4,0.5-0.9,0.2-1.4
c-0.2-0.3-0.4-0.5-0.6-0.8c0-0.1-0.1-0.2,0-0.3c0.2-0.3,0.4-0.5,0.4-0.9c0.1-0.4-0.3-0.7-0.5-1c-0.1-0.1-0.1-0.2,0-0.3
c0.3-0.5,0.8-1,0.6-1.6c0-0.1-0.1-0.1-0.2-0.2C45,87,45,86.8,44.7,86.7c0.3-0.4,0.7-0.8,0.6-1.4c-0.1-0.4-0.3-0.7-0.6-1
C44.6,84.5,44.7,84.3,44.7,83.9C44.8,84,44.8,84,44.7,83.9z"/>
<path class="st0" d="M27.3,96.2c0,0,3-0.2,4.7-0.4c1.8-0.2,5.4,0,8.6-0.1c3.5-0.1,7.9-0.5,7.9-0.5s0.4-3.4,0-5.5
c-0.4-2.2-0.1-6.8-0.1-6.8s0.7,2.8,0.8,4.6c0.1,1.7,0.3,4,0.4,5.1c0.1,1.1,0.1,1,0.2,2.2c0.2,1.1,0.2,2.7,0.2,2.7s-2,0.7-3.4,0.6
s-4.9-0.3-6.5,0s-2.8,0.5-5,0.4s-4.4-0.1-4.7,0.2c-0.4,0.3-1.2-0.8-1.2-0.8s3.2-0.5,5.1-0.4c1.9,0.1,6-0.2,7.2-0.3
c1.2-0.1,3.3,0.3,4.3,0.2c2.5-0.2,2.8-0.8,2.8-0.8s-2-0.1-4.5,0c-2.6,0.1-4.7,0.3-6.7,0.3s-5.1,0-6.3,0.1s-2.9,0.3-2.9,0.3
L27.3,96.2L27.3,96.2z"/>
<path class="st0" d="M36.6,98.1c0,0,0.2,0.9,0.3,1.7c0.3,1.8,2.4,3.4,2.4,3.4l1.1,0.4l-0.3-0.8c0,0-1.9-1.6-2.2-2.9
c-0.2-0.6,0-1.8,0-1.8L36.6,98.1L36.6,98.1z M46.5,97.5c0,0,0.1,1,0.5,2.3c0.4,1.4,2.6,3.3,2.4,3c0.3,0.5,1,0.8,1,0.8l0.7-0.1
l-0.3-0.7c0,0-2.2-1.8-2.6-2.8c-0.9-2.1-0.2-2.1-0.5-2.6C47.5,97.1,46.5,97.5,46.5,97.5L46.5,97.5z M20.9,67.4l0.1,0.4
c0,0,3.2-0.7,5.1-1.1c1.9-0.3,2.7-0.3,5.9-0.9c3.2-0.7,7.3-1,7.3-1s1.6,3.2,2.3,4.8c0.7,1.6,2.7,5.2,2.7,5.2s-0.4-2.7-1-3.6
s-1.8-3.3-2.2-4.3s-1.3-3.4-1.3-3.4s-2.4,0.6-2.5,0.7c-0.2,0-0.2-0.1-0.2-0.1s0.1-1.3-0.1-1.9c-0.2-0.6-2.5-4.2-2.5-4.2l-0.9-0.6
l0.4,1.3c0,0,1.4,2,1.7,2.9c0.3,1,0.3,2.6,0.3,2.6l-8.9,1.6c0,0-0.7-2.1-1.5-3.6c-0.3-0.5-2-1.3-2.1-1.5C23.3,60.5,23,60,23,60
l-0.5-0.3c0,0-0.3,1,0,1.5c0.7,0.9,1.6,0.8,2.1,1.6c1,1.5,1.2,3.2,1.2,3.2l-4.5,1L20.9,67.4z"/>
<path class="st0" d="M39.1,65.8l0.2-0.4c0,0-1.8,0.2-2.6,0.3c-0.8,0-3.7,0.6-5.2,1s-4.3,0.5-6,0.8s-4.7,1.2-4.7,1.2
s1.9,3.8,2.5,5.7c0.6,1.9,0.9,5,1.8,6.8c1.1,2.1,3.1,2.4,3.1,2.4s1.8-0.8,4.1-1s4.5-1,6.6-1.2s3.8-0.9,3.8-0.9s-1-0.8-2.4-0.5
s-4.9,1.3-5.7,1.5c-1,0.2-2.9,0.4-3.8,0.7c-0.7,0.2-2.2,0.5-2.2,0.5s-1.7-0.3-2.6-2.9c-0.9-2.3-0.9-3.2-2-5.6
c-0.8-1.8-2.2-5.1-2.2-5.1s1.8-0.4,2.9-0.7c1.2-0.3,1.4,0,4.6-0.7s6.2-1.2,7.7-1.4C37.6,66,39,65.8,39.1,65.8L39.1,65.8z"/>
<path class="st0" d="M28.7,83.3c0,0-0.2,1.9-0.2,3.2c0.1,2.7,1.3,4.4,1,6.2c-0.3,1.8-1.3,3.7-1.3,3.7L27.6,96c0,0,0.9-2.5,0.8-3.8
c-0.1-1.4-0.8-4-0.7-5.5c0.1-1.4,0.4-3.2,0.4-3.2L28.7,83.3L28.7,83.3z M72.3,40.7c0.4-0.3,0.7-0.7,0.7-1.2c0-0.8-0.6-1.4-1.4-1.4
c-0.8,0-1.4,0.6-1.4,1.4c0,0.1,0,0.3,0.1,0.4c-0.3-0.2-0.8-0.3-1.4-0.1c-0.6,0.2-1.1,0.6-1.1,1.5s0.4,1.6,1.4,1.6c0.1,0-0.1,0,0,0
c-0.1,0.1,0-0.1,0,0c-0.1,0.4-0.6,0.9-1.4,0.7c-1.2-0.3-1-1.4-1-1.4S65.7,43,65,42.5c-0.9-0.5-0.4-0.9-0.4-0.9
c1.1,0.1,2-1.1,1.6-2.1c-0.4-0.9-1.5-1.4-2.3-1c0,0,0.2-1.1-1.5-1.3c-1.2-0.2-2,1.5-1.7,2.2c0.2,0.4,0.3,0.5,1.4,2.3
c1.1,1.9,1.4,3,1.4,3v0.4c0,0.2,0.1,0.4,0.1,0.4s1.6,0.2,5.2,1.4c3.6,1.3,6.1,2.6,6.1,2.6s0-0.1,0.1-0.3v-0.1
c0.1-0.2,0.8-1,1.6-1.5c2.4-1.5,3.4-1.9,4.6-2.6c0.8-0.4,0.5-1.9-0.3-2.3c-1.5-0.7-2,0.1-2,0.1c-0.5-0.7-1.8-0.8-2.6-0.2
c-0.8,0.6-0.7,2,0.3,2.4c0,0,0,0.3-1,0.6c-0.9,0.2-1.2-1.1-1.2-1.1s-0.7,0.8-2.1,0.4c-0.4-0.1-0.9-0.6-0.7-1.4
c0.3,0.5,0.6,0.4,1.1,0.4c0.8-0.1,1.4-0.6,1.4-1.5c0-0.7-0.5-1.4-1.2-1.6 M72.8,40.8c-0.2-0.1-0.3-0.1-0.5-0.1 M63.1,42.6
c-0.3-0.8-1.6-2.7-1.8-3.3c-0.2-0.5,0.5-1.2,1.1-1s0.7,1.3,0.7,1.3s0.7-0.9,1.6-0.3c0.6,0.4,0.5,0.9,0.2,1.3
c-0.4,0.4-1.4,0.1-1.4,0.1s-0.8,1.2,0.9,2.3c1.2,0.9,1.9,0,1.9,0s0.1,0.9,1,1.1c0.4,0.1,1.5,0.8,2.4-1c0.2-0.4,0.3-1.1,0.2-1.1
h-0.5c-0.4,0-0.8-0.3-0.8-0.7c0-0.4,0.3-0.8,0.7-0.8c0.2,0,0.4,0.1,0.6,0.2c0,0,0.5,0.6,1-0.1c0.2-0.3,0-0.9,0-0.9v-0.2
c0-0.4,0.3-0.6,0.7-0.6s0.7,0.3,0.7,0.6s-0.2,0.5-0.5,0.6c-0.1,0.1-0.3,0.4-0.4,0.6c-0.1,0.7,0.9,0.7,0.9,0.7
c0.4,0,0.8,0.3,0.8,0.7c0,0.4-0.4,0.8-0.8,0.7c-0.5,0-0.8-0.6-1.1-0.5c0,0-1.6,2.1,0.5,3c1.2,0.5,2.1,0,2.1,0s0.5,0.9,1.5,1
c1.5,0.1,2.3-1.6,2.3-1.6s-1-0.2-1.2-0.7c-0.1-0.4,0.1-1,0.8-1c1.1,0,1.4,1,1.4,1s0.3-0.6,0.9-0.7c0.6-0.1,1.1,0.8,0.6,1.1
c-0.4,0.3-2.4,1.4-3.5,2.1c-1.2,0.8-1.4,0.9-1.9,1.3c-0.3,0.2-0.5,0.6-0.6,0.7l-0.6-0.2l-1.1-0.5c-1.2-0.5-1.3-0.6-1.3-0.6
s-0.6-0.3-2-0.8c-1.3-0.5-2.4-0.8-2.4-0.8s0.2,0.1-1-0.2C64.5,45,64.6,45,64.6,45l-0.7-0.2c0,0,0-0.1-0.1-0.1
C63.9,44.8,63.6,43.7,63.1,42.6L63.1,42.6z M65.1,47.7c0.2,0,1,0.6,1.3,1c0.4,0.4,0.8,1.1,0.8,1.1s-0.9-0.4-2,0
c-1,0.4-1.4,0-1.5-0.4c0-0.4,0.3-0.8,0.3-0.8s-0.3,0.5,0.3,0.6c0.6,0.2,0.9-0.1,0.9-0.1s-0.6-0.1-0.7-0.4c-0.1-0.3,0.2-0.5,0.4-0.6
c0,0-0.2-0.2-1,0c-0.6,0.2-0.6,0.6-0.7,0.8c-0.1,0.1-0.1,0-0.1-0.4C63.2,48,63,47.2,65.1,47.7L65.1,47.7z M70.4,36.1
c0.5,0,0.9-0.4,0.9-0.9s-0.4-0.9-0.9-0.9s-0.9,0.4-0.9,0.9C69.4,35.7,69.9,36.1,70.4,36.1z"/>
<path class="st0" d="M63.8,36.6c0-0.8,0.6-1.4,1.4-1.4c0.8,0,1.4,0.6,1.4,1.4S66,38,65.2,38C64.4,38,63.8,37.4,63.8,36.6z
M65.2,37.2c0.4,0,0.7-0.3,0.7-0.6S65.6,36,65.2,36s-0.7,0.3-0.7,0.6S64.8,37.2,65.2,37.2z M66.8,35.6c0-0.6,0.5-1.2,1.2-1.2
s1.2,0.5,1.2,1.2c0,0.6-0.5,1.1-1.2,1.1S66.8,36.2,66.8,35.6z M68,36c0.3,0,0.5-0.2,0.5-0.5S68.3,35,68,35s-0.5,0.2-0.5,0.5
S67.7,36,68,36z M72.2,30.4c0,0-0.2,0.2-0.4,0.7c-0.2,0.4-0.2,1-0.2,1s1.7-0.3,1.8,0.1s-0.2,0.7-0.2,0.7l1,0.4c0,0-0.1-0.7,0.2-0.8
c0.2-0.1,1.4,1,1.4,1s0.3-0.1,0.6-0.7s-0.1-1-0.1-1s-1.7,0.3-1.7-0.1c0-0.5,1.2-1.6,1.2-1.6s-0.3-0.5-0.9-0.6
c-0.7-0.2-0.9-0.1-0.9-0.1s-0.1,2-0.3,2S72.2,30.4,72.2,30.4L72.2,30.4z"/>
<path class="st0" d="M64.3,38.5c0,0,1.1-1,3.2-1.8s3.3-0.8,3.9-1c0.7-0.2,1.3-0.3,1.3-0.3s0.6,1,0.2,1.2c-0.4,0.1-1-0.1-2.2,0
s-2.2,0.6-3.5,1.1s-1.8,1.5-1.8,1.5L64.3,38.5L64.3,38.5z M74.7,37.3c-0.4-0.3-0.6-0.8-0.3-1.3s0.8-0.6,1.3-0.3
c0.4,0.3,0.6,0.8,0.3,1.3C75.7,37.4,75.2,37.6,74.7,37.3z"/>
<path class="st0" d="M78.4,43.3c0,0-0.5-2.1-1.8-3.9s-2.3-2.4-2.8-2.9l-0.9-0.9c0,0-1.1,0.6-0.8,0.9S73,37,74,37.7
c0.9,0.7,1.5,1.7,2.3,2.8c0.8,1.2,0.8,2.6,0.8,2.6L78.4,43.3L78.4,43.3z"/>
<path class="st0" d="M78,41.9c-0.7-0.4-0.9-1.3-0.5-1.9c0.4-0.7,1.3-0.9,1.9-0.5c0.7,0.4,0.9,1.3,0.5,1.9
C79.6,42.1,78.7,42.3,78,41.9z M78.7,41.3c0.4,0,0.7-0.3,0.7-0.6s-0.3-0.6-0.7-0.6S78,40.4,78,40.7C78.1,41,78.3,41.3,78.7,41.3z
M71.7,34.4c0-0.9,0.7-1.6,1.6-1.6c0.9,0,1.6,0.7,1.6,1.6S74.2,36,73.3,36C72.4,36,71.7,35.3,71.7,34.4z M73.2,35.2
c0.4,0,0.8-0.3,0.8-0.8c0-0.4-0.4-0.8-0.8-0.8s-0.8,0.3-0.8,0.8S72.8,35.2,73.2,35.2z M76.5,39.2c-0.6-0.3-0.8-1-0.4-1.6
c0.3-0.5,1-0.7,1.6-0.4c0.6,0.3,0.8,1,0.4,1.6C77.7,39.4,77,39.5,76.5,39.2z M77,38.7c0.3,0,0.5-0.2,0.5-0.5s-0.2-0.5-0.5-0.5
s-0.5,0.2-0.5,0.5C76.6,38.5,76.8,38.7,77,38.7z M69.5,46.1c0.3,0,0.5-0.4,0.5-0.6c0-0.3-0.3-0.5-0.6-0.5s-0.6,0.2-0.6,0.5
C68.8,45.7,69.2,46.1,69.5,46.1L69.5,46.1z"/>
<g>
<path class="st0" d="M154.9,80.6c1.9,0,3.3-1.4,3.3-3.1V52.6c0-2.4-1.2-3.7-3.1-4.2v-1.1c1.9,0,3.7,0.2,5.6,0.2s3.7-0.2,5.6-0.2
v1.1c-2,0.5-2.7,1.7-2.7,4.3c0,1.5-0.1,4.6-0.1,9.1v17.1c1.1,0.2,2,0.3,5.2,0.3c8.5,0,10-1.5,11.2-4.7l1.8,0.9l-2.1,7
c-1.6-0.6-3.2-0.8-4.7-0.8h-16.2c-1.2,0-2.5,0.2-3.7,0.2L154.9,80.6L154.9,80.6z M186.1,54.1c1.4,0,2.8,0.2,4.3,0.2
c1.4,0,2.9-0.2,4.3-0.2V55c-1.8,0.2-2.2,1.4-2.2,3.9v11.2c0,5.3,2.4,9,8.3,9c3.2,0,7.3-1.9,7.3-6.3v-4.7c0-4.7-0.4-9.3-0.4-11.3
c0-1.1-1.1-1.9-2-2v-0.9c1.4,0,2.8,0.2,4.3,0.2c1.4,0,2.9-0.2,4.3-0.2v0.9c-1.3,0-1.9,1.6-1.9,2.9c0,1.5-0.1,5.6-0.1,10.8v8.6
c0,2.2,0.4,3.4,2.2,3.5v0.9c-1.1,0-2.2-0.2-3.4-0.2c-1.1,0-2.2,0.2-3.3,0.2c0.1-1.3,0.2-2.6,0.3-3.7c-2.9,2.7-5.3,4.2-9.3,4.2
c-5.8,0-10.5-3.4-10.5-9.3v-6.6c0-3.1-0.2-5.8-0.2-8.2c0-1.5-0.3-2.8-1.9-3L186.1,54.1L186.1,54.1z M222.5,80.7
c1.5-0.4,2.4-1.6,2.4-3.8l0.1-23.3h1.7L246,74.8V61.2c0-4.9-1.1-6-3-6.3V54c1.3,0,2.6,0.2,3.9,0.2s2.6-0.2,3.9-0.2v0.9
c-1.7,0.3-2.6,1.7-2.6,4.9L248.1,82h-1.3l-19.5-21.3l0.2,15c0,3.1,1,4.5,2.9,5v0.9c-1.3,0-2.6-0.2-3.9-0.2s-2.6,0.2-3.9,0.2v-0.9
H222.5z M259.2,80.7c1.6-0.4,2-1.1,2-2.8V66.4c0-3.5-0.4-6.5-0.4-8.5c0-1.7-0.6-2.8-2.1-3.2V54c1.9,0,3.7,0.2,5.5,0.2
s3.7-0.2,5.5-0.2c10.8,0,17.3,4.7,17.3,13.6c0,9-5.1,13.9-16.2,13.9c-2,0-3.9-0.2-5.9-0.2s-3.9,0.2-5.9,0.2v-0.8H259.2z
M265.5,79.7c1.9,0.2,3.4,0.3,4.9,0.3c7.5,0,11.3-4.6,11.3-12.2c0-7.1-5-12.2-12-12.2c-1.3,0-2.5,0.1-4.1,0.2
c0,3.5-0.2,6.6-0.2,9.9v14L265.5,79.7z M294.8,76.2h1.5c1.1,3,3.5,4.2,6.5,4.2c2.7,0,5.1-2.2,5.1-4.9c0-8.3-13.4-3.2-13.4-13.9
c0-5.1,4.5-8,9.1-8c2.6,0,5.7,0.9,7,1.8l0.4,4.2h-1.4c-0.6-2.6-3.4-4.4-6-4.4c-3,0-5.3,2-5.3,5c0,6.9,13.5,2.9,13.5,13.2
c0,5.2-4.2,8.6-9.2,8.6c-2.6,0-5.3-0.3-7.7-1.5v-4.3L294.8,76.2z M335,54.1c1.4,0,2.8,0.2,4.3,0.2c1.4,0,2.9-0.2,4.3-0.2V55
c-1.8,0.2-2.2,1.4-2.2,3.9v11.2c0,5.3,2.4,9,8.3,9c3.2,0,7.3-1.9,7.3-6.3v-4.7c0-4.7-0.4-9.3-0.4-11.3c0-1.1-1.1-1.9-2-2v-0.9
c1.4,0,2.8,0.2,4.3,0.2c1.4,0,2.9-0.2,4.3-0.2v0.9c-1.3,0-1.9,1.6-1.9,2.9c0,1.5-0.1,5.6-0.1,10.8v8.6c0,2.2,0.4,3.4,2.2,3.5v0.9
c-1.1,0-2.2-0.2-3.4-0.2c-1.1,0-2.2,0.2-3.3,0.2c0.1-1.3,0.2-2.6,0.3-3.7c-2.9,2.7-5.3,4.2-9.3,4.2c-5.8,0-10.5-3.4-10.5-9.3v-6.6
c0-3.1-0.2-5.8-0.2-8.2c0-1.5-0.3-2.8-1.9-3L335,54.1L335,54.1z M371.4,80.7c1.5-0.4,2.4-1.6,2.4-3.8l0.1-23.3h1.7l19.3,21.2V61.2
c0-4.9-1.1-6-3-6.3V54c1.3,0,2.6,0.2,3.9,0.2s2.6-0.2,3.9-0.2v0.9c-1.7,0.3-2.6,1.7-2.6,4.9L397,82h-1.2l-19.6-21.3l0.2,15
c0,3.1,1,4.5,2.9,5v0.9c-1.3,0-2.6-0.2-3.9-0.2s-2.6,0.2-3.9,0.2v-0.9H371.4z M416.7,54.9c-1.5,0.2-1.6,1.3-1.6,2.6
c0,3.8-0.2,8.5-0.2,12.7v7.7c0,1.3,0.4,2.8,1.9,2.8v0.9c-1.3,0-2.7-0.2-4.1-0.2c-1.4,0-2.7,0.2-4.1,0.2v-0.9c1.3,0,2-1.1,2-2.8
v-5.7c0-4.7-0.4-11.7-0.4-14.2c0-1.6-0.2-2.9-1.8-3.1V54c1.3,0,2.7,0.2,4.1,0.2c1.3,0,2.7-0.2,4.1-0.2v0.9H416.7z M436.4,82.1
l-10.9-23.9c-0.4-1-1.3-2.6-2.8-3.2v-0.9c1.5,0,3,0.2,4.5,0.2s3-0.2,4.5-0.2V55c-0.7,0.2-1.5,0.5-1.5,1.4c0,0.4,0.1,1,0.7,2.4
l7.2,17.2l6.2-16.1c0.4-1.1,0.6-2,0.6-2.6c0-1.5-0.5-2.2-2.1-2.4V54c1.3,0,2.7,0.2,4,0.2s2.7-0.2,4-0.2v0.9
c-1.6,0.2-2.5,1.6-3.3,3.5L438.2,82h-1.8L436.4,82.1z M456.2,80.6c1.5-0.2,2.3-1.1,2.3-2.4v-6.7c0-5.4-0.3-11-0.3-14.5
c0-1-0.8-1.7-2-1.9v-0.9h15.6c1.1,0,2.4-0.4,3.1-0.6c0,1-0.2,2-0.2,3s0.2,1.9,0.2,2.9h-1.5c-0.7-1.9-1.6-3.4-3.8-3.4h-6.9v10.5h6
c2.3,0,3-0.2,4-2.1h1.3c0,1.1-0.2,2.3-0.2,3.4c0,1.2,0.2,2.3,0.2,3.5h-1.3c-0.9-2.7-1.6-2.9-3.9-2.9h-6v11h6.7c2.9,0,4-0.5,5.8-3
l1.2,0.6l-1.4,4.9c-1.2-0.5-2.4-0.6-3.7-0.6h-15.1L456.2,80.6L456.2,80.6z M484.9,80.7c1.3-0.3,2-0.9,2-2.3V68.3
c0-3.4-0.2-6.8-0.2-10.1c0-1.9-0.2-2.8-2.2-3.2v-0.9c1.3,0,2.6,0.2,3.8,0.2s2.4-0.2,5.3-0.2c7.1,0,10.6,3.5,10.6,7.8
c0,4-3.6,6.5-7.1,7.4l8,9.2c0.6,0.7,1.9,2,3,2.2v0.9c-1.3,0-2.6-0.2-3.9-0.2c-1.3,0-2.6,0.2-3.9,0.2v-0.9c0.3,0,0.4-0.2,0.4-0.5
c0-0.4-0.1-0.7-0.6-1.3l-6.5-7.6c-0.6-0.7-1.4-1.7-2.4-1.7v7.8c0,1.7,0.2,2.8,2.2,3.3v0.9c-1.4,0-2.8-0.2-4.2-0.2
s-2.8,0.2-4.2,0.2L484.9,80.7L484.9,80.7z M491.1,68.4c0.6,0,1.1,0.1,1.5,0.1c3.6,0,6.7-2.4,6.7-6.2c0-3.6-1.7-6.9-6-6.9
c-1,0-2.1,0.1-2.1,1.1L491.1,68.4L491.1,68.4z M513.8,76.2h1.5c1.1,3,3.5,4.2,6.5,4.2c2.7,0,5.1-2.2,5.1-4.9
c0-8.3-13.4-3.2-13.4-13.9c0-5.1,4.5-8,9.1-8c2.6,0,5.7,0.9,7,1.8l0.4,4.2h-1.4c-0.6-2.6-3.4-4.4-6-4.4c-3,0-5.3,2-5.3,5
c0,6.9,13.5,2.9,13.5,13.2c0,5.2-4.2,8.6-9.2,8.6c-2.6,0-5.3-0.3-7.7-1.5L513.8,76.2L513.8,76.2z M548,54.9
c-1.5,0.2-1.6,1.3-1.6,2.6c0,3.8-0.2,8.5-0.2,12.7v7.7c0,1.3,0.4,2.8,1.9,2.8v0.9c-1.3,0-2.7-0.2-4.1-0.2c-1.4,0-2.7,0.2-4.1,0.2
v-0.9c1.3,0,2-1.1,2-2.8v-5.7c0-4.7-0.4-11.7-0.4-14.2c0-1.6-0.2-2.9-1.8-3.1V54c1.3,0,2.7,0.2,4.1,0.2c1.3,0,2.7-0.2,4.1-0.2
L548,54.9L548,54.9z M579.4,59.2h-1.5c-0.4-2.3-1.6-3-3.8-3h-5c0,3.4-0.2,7.7-0.2,12.5v8.4c0,2.4,0.8,3.2,2.5,3.7v0.9
c-1.5,0-3-0.2-4.5-0.2s-3,0.2-4.5,0.2v-1c1.8-0.6,2.4-1.5,2.4-3.7v-6.2c0-5.7-0.3-11.3-0.4-14.7h-5.3c-2.2,0-3.4,0.7-3.8,3h-1.5
v-5.6c1.5,0.4,3,0.6,4.6,0.6h17.4c1.1,0,2.8-0.2,3.7-0.6v5.7L579.4,59.2z M584.5,80.6c1.5-0.2,2.3-1.1,2.3-2.4v-6.7
c0-5.4-0.3-11-0.3-14.5c0-1-0.8-1.7-2-1.9v-0.9h15.6c1.1,0,2.4-0.4,3.1-0.6c0,1-0.2,2-0.2,3s0.2,1.9,0.2,2.9h-1.5
c-0.7-1.9-1.6-3.4-3.8-3.4H591v10.5h6c2.3,0,3-0.2,4-2.1h1.3c0,1.1-0.2,2.3-0.2,3.4c0,1.2,0.2,2.3,0.2,3.5h-1.5
c-0.9-2.7-1.6-2.9-3.9-2.9h-6v11h6.7c2.9,0,4-0.5,5.8-3l1.2,0.6l-1.4,4.9c-1.2-0.5-2.4-0.6-3.7-0.6h-15.1v-0.8H584.5z M635.4,59.2
h-1.5c-0.4-2.3-1.6-3-3.8-3h-5c0,3.4-0.2,7.7-0.2,12.5v8.4c0,2.4,0.7,3.2,2.5,3.7v0.9c-1.5,0-3-0.2-4.5-0.2s-3,0.2-4.5,0.2v-1
c1.8-0.6,2.4-1.5,2.4-3.7v-6.2c0-5.7-0.3-11.3-0.4-14.7h-5.3c-2.3,0-3.4,0.7-3.8,3h-1.5v-5.6c1.5,0.4,3,0.6,4.6,0.6h17.4
c1.1,0,2.8-0.2,3.7-0.6v5.7L635.4,59.2z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1006 KiB

View File

@@ -0,0 +1,18 @@
{
"name": "Dynamic Collection",
"short_name": "DynColl",
"description": "Curated digital collections of archaeological artefacts with interactive 3D visualisation.",
"lang": "en",
"dir": "ltr",
"start_url": "/",
"scope": "/",
"display": "minimal-ui",
"orientation": "any",
"background_color": "#ffffff",
"theme_color": "#22458a",
"icons": [
{ "src": "/icons/icon-192.png", "sizes": "192x192", "type": "image/png" },
{ "src": "/icons/icon-512.png", "sizes": "512x512", "type": "image/png" },
{ "src": "/icons/icon-maskable-512.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
]
}

View File

@@ -1,4 +1,5 @@
import "@/styles/main.css"
import { setHeaderMenu } from "./ui";
type BootstrapOptions = {
@@ -12,6 +13,8 @@ export async function bootstrap(options: BootstrapOptions = {}): Promise<void> {
onReady,
} = options;
setHeaderMenu(null);
if(activeLink !== null){setActiveLink(activeLink);}
await onReady?.();

View File

@@ -0,0 +1,73 @@
type IconName =
| 'house'
| 'map-pin'
| 'award'
| 'shield'
| 'book-open'
| 'log-in'
| 'menu';
type Visibility =
| 'always'
| 'guest-only'
| 'auth-only';
type MenuItem = {
id: string;
href: string;
ico: IconName;
label?: string; // opzionale: il toggle utente non ha label
visibility: Visibility;
};
export const ROLE = {
ADMIN: 1,
SUPERVISOR: 2,
USER: 3,
GUEST: 4,
} as const;
export type RoleId = (typeof ROLE)[keyof typeof ROLE];
// Array
const menu: MenuItem[] = [
{ id: 'homeLink', href: '/', ico: 'house', label: 'Home', visibility: 'always' },
{ id: 'mapLink', href: '/', ico: 'map-pin', label: 'Map', visibility: 'always' },
{ id: 'creditsLink', href: 'https://www.darklab.lu.se/digital-collections/dynamic-collections/credits/', ico: 'award', label: 'Credits', visibility: 'always' },
{ id: 'legalLink', href: '/policy', ico: 'shield', label: 'Legal', visibility: 'always' },
{ id: 'docsLink', href: 'https://lunddarklab.github.io/adc/', ico: 'book-open', label: 'Docs', visibility: 'always' },
{ id: 'loginLink', href: '/login', ico: 'log-in', label: 'Login', visibility: 'guest-only' },
{ id: 'userMenuToggle', href: '#', ico: 'menu', visibility: 'auth-only' },
];
export function getVisibleItems(isLoggedIn: boolean) {
return menu.filter(item =>
(item.visibility === 'always' ||
(item.visibility === 'auth-only' && isLoggedIn) ||
(item.visibility === 'guest-only' && !isLoggedIn))
);
}
// Tipi per sidebar
// type SidebarAction = 'logout';
// type SidebarItem = {
// id?: string;
// label: string;
// ico: IconName;
// href?: string; // se presente, la voce è un link
// action?: SidebarAction; // se presente, la voce è un pulsante con comportamento
// };
// Gruppo di voci del menu laterale. `roles` elenca i ruoli che vedono il gruppo:
// per spostare/aggiungere un link basta intervenire qui, senza toccare il DOM.
// type SidebarGroup = {
// title?: string; // titolo di sezione (header colorato); assente nel primo gruppo
// roles: RoleId[];
// items: SidebarItem[];
// };
// Menu laterale (utenti autenticati). I gruppi sono filtrati per ruolo:
// sposta una voce in un altro gruppo per cambiarne la visibilità.
// const ALL_AUTH: RoleId[] = [ROLE.ADMIN, ROLE.SUPERVISOR, ROLE.USER];

View File

@@ -0,0 +1,22 @@
import type { AuthUser } from "@/shared/auth";
import { getVisibleItems } from "./menuTypes";
import { createIcons, House, MapPin, Award, Shield, BookOpen, LogIn, Menu } from 'lucide';
export function setHeaderMenu(user: AuthUser | null): void {
const nav = document.getElementById('header-menu');
if (!nav) {
console.error('Header target element not found');
return;
}
const items = getVisibleItems(false);
console.log(user);
items.forEach(link =>{
const a = document.createElement('a');
a.id = link.id;
a.href = link.href
a.classList.add('h-14', 'w-10');
a.innerHTML = `<i data-lucide="${link.ico}"></i><span>${link.label || ''}</span>`;
nav.appendChild(a);
})
createIcons({ icons: { House, MapPin, Award, Shield, BookOpen, LogIn, Menu }});
}

View File

@@ -0,0 +1,60 @@
import { showToast } from "./components/domEl";
type SetupStatus = 'password_required' | '2fa_setup_required' | 'complete';
export interface AuthUser {
id: number;
name: string;
email: string;
role_id: number;
setup_status: SetupStatus;
}
let _cachedUser: AuthUser | null | undefined = undefined;
export async function getAuthUser(forceRefresh = false): Promise<AuthUser | null> {
if (!forceRefresh && _cachedUser !== undefined) {
return _cachedUser;
}
try {
const response = await fetch('/api/user', {
credentials: 'include',
headers: { 'Accept': 'application/json' },
});
console.log('getAuthUser status:', response.status);
const data = response.ok ? (await response.json() as AuthUser) : null;
console.log('getAuthUser data:', data);
_cachedUser = data;
} catch {
_cachedUser = null;
}
return _cachedUser;
}
export function clearAuthCache(): void {
_cachedUser = undefined;
}
export async function isAuthenticated(): Promise<boolean> {
return (await getAuthUser()) !== null;
}
export async function getCsrfCookie(): Promise<void> {
await fetch('/sanctum/csrf-cookie', { credentials: 'include' });
}
export async function logoutUser(){
await fetch('/api/logout', {
method: 'POST',
credentials: 'include',
headers: { 'Accept': 'application/json' },
});
clearAuthCache();
showToast('Logout effettuato. Verrai reindirizzato alla home...', 'success');
setTimeout(() => { globalThis.location.href = '/'; }, 5000);
}

View File

@@ -0,0 +1,81 @@
import { createIcons, TriangleAlert } from 'lucide';
import { escapeHTML } from '../shared/utils';
export interface ConfirmOptions {
/** Titolo del modal (default: "Conferma"). */
title?: string;
/** Messaggio principale; i "\n" vengono resi come a capo. */
message: string;
/** Etichetta del pulsante di conferma (default: "Conferma"). */
confirmLabel?: string;
/** Etichetta del pulsante di annullamento (default: "Annulla"). */
cancelLabel?: string;
/** Variante cromatica: "danger" per azioni distruttive (default). */
variant?: 'danger' | 'primary';
}
/**
* Modal di conferma basato su <dialog> DaisyUI: alternativa controllabile e
* coerente cross-browser a globalThis.confirm(). Risolve true se l'utente
* conferma, false se annulla (anche via ESC o click sul backdrop).
*
* Il dialog viene creato e rimosso ad ogni chiamata, così non restano
* listener appesi né markup orfano nel DOM.
*/
export function confirmDialog(options: ConfirmOptions): Promise<boolean> {
const {
title = 'Conferma',
message,
confirmLabel = 'Conferma',
cancelLabel = 'Annulla',
variant = 'danger',
} = options;
return new Promise((resolve) => {
const confirmClass = variant === 'danger' ? 'btn-error' : 'btn-primary';
const iconClass = variant === 'danger' ? 'text-error' : 'text-primary';
const dialog = document.createElement('dialog');
dialog.className = 'modal';
dialog.innerHTML = `
<div class="modal-box">
<h3 class="flex items-center gap-2 text-lg font-bold">
<i data-lucide="triangle-alert" class="size-5 ${iconClass}"></i>
${escapeHTML(title)}
</h3>
<p class="py-4 whitespace-pre-line">${escapeHTML(message)}</p>
<div class="modal-action">
<button type="button" data-action="cancel" class="btn btn-ghost">${escapeHTML(cancelLabel)}</button>
<button type="button" data-action="confirm" class="btn ${confirmClass}">${escapeHTML(confirmLabel)}</button>
</div>
</div>
<form method="dialog" class="modal-backdrop">
<button type="submit">chiudi</button>
</form>`;
document.body.appendChild(dialog);
createIcons({ icons: { TriangleAlert }, root: dialog });
let settled = false;
const settle = (result: boolean): void => {
if (settled) return;
settled = true;
resolve(result);
dialog.close();
};
dialog.querySelector('[data-action="confirm"]')?.addEventListener('click', () => settle(true));
dialog.querySelector('[data-action="cancel"]')?.addEventListener('click', () => settle(false));
// Chiusura via ESC o click sul backdrop = annulla; al close rimuovo il nodo
dialog.addEventListener('close', () => {
if (!settled) {
settled = true;
resolve(false);
}
dialog.remove();
});
dialog.showModal();
});
}

View File

@@ -0,0 +1,31 @@
export type ToastType = 'success' | 'error' | 'warning' | 'info';
// Mappa esplicita: Tailwind deve trovare le classi come stringhe letterali complete per includerle nel bundle
const toastAlertClass: Record<ToastType, string> = {
success: 'alert-success',
error: 'alert-error',
warning: 'alert-warning',
info: 'alert-info',
};
export function showToast(message: string, type: ToastType = 'info', duration = 3000): void {
// container toast — uno solo nel DOM
let container = document.getElementById('toast-container');
if (!container) {
container = document.createElement('div');
container.id = 'toast-container';
container.className = 'toast toast-top toast-center z-50';
document.body.appendChild(container);
}
const alert = document.createElement('div');
alert.className = `alert ${toastAlertClass[type]} shadow-lg transition-opacity duration-300`;
alert.innerHTML = `<span>${message}</span>`;
container.appendChild(alert);
// rimozione con fade out
setTimeout(() => {
alert.classList.add('opacity-0');
setTimeout(() => alert.remove(), 300);
}, duration);
}

View File

@@ -1,8 +1,57 @@
@import '@fontsource/titillium-web/400.css';
@import '@fontsource/titillium-web/700.css'; /* per grassetto vero */
@import "tailwindcss";
@plugin "daisyui"; /* NOSONAR */
@theme {
--font-sans: "Titillium Web", ui-sans-serif, system-ui, sans-serif;
}
:root{
--dc-primary: rgb(34, 69, 138);
--dc-dark-blue: rgb(0, 15, 46);
--dc-white: rgb(255, 255, 255);
--dc-dark-blue: rgb(0, 15, 46);
--dc-dark-gray: rgb(34, 34, 34);
}
body{
min-height: 100dvh;
display: flex;
flex-direction: column;
background-color: var(--color-base-200);
}
header {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 70px;
padding: 5px 0 5px 10px;
color: var(--dc-white);
background-color: var(--dc-primary);
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
z-index: 1000;
}
#header-menu{
display: flex;
align-items: center;
justify-content: center;
gap: 3px;
}
#header-menu a{
width:60px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
#main-container{
position:relative;
margin-top:70px;
flex:1;
}

View File

@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=3.0">
<title>Dynamic Collection - Index</title>
</head>
<body>
<header>
<div id="header-brand"></div>
<nav aria-label="Menu principale"></nav>
</header>
<main id="main-container"></main>
<aside class="user-panel" aria-label="Area utente">
<div class="user-card"></div>
<nav aria-label="Menu utente"></nav>
</aside>
<footer id="main-footer"></footer>
<script type="module" src="./src/pages/index/index.ts"></script>
</body>
</html>