Compare commits

..

389 Commits

Author SHA1 Message Date
vabene1111
ed313cbf9a temporary fix to merge ingredients without recipes 2021-06-07 18:28:16 +02:00
vabene1111
b1db591e9f fixed importer description overflow 2021-06-07 17:17:34 +02:00
vabene1111
94c51f90cd fixed recipe book entry remove 2021-06-07 17:12:00 +02:00
vabene1111
3074d916dc many signup and space management fixes 2021-06-07 16:46:28 +02:00
vabene1111
bf467b1ec0 manage link for hosted version 2021-06-07 16:09:26 +02:00
vabene1111
348c1c78f1 split signup forms working again 2021-06-07 16:03:10 +02:00
vabene1111
913e896906 fixed invite link system 2021-06-05 19:01:05 +02:00
vabene1111
a0a673a0c9 uncoment debug code 2021-06-05 18:41:48 +02:00
Kaibu
3d60379ed0 style fixes 2021-06-05 18:10:10 +02:00
vabene1111
fd7e20a46b signup captcha support + privacy/terms support 2021-06-05 16:40:28 +02:00
vabene1111
a970f0c00e made tandoor theme default 2021-06-05 16:38:38 +02:00
vabene1111
297dd6244a model metrics 2021-06-05 15:06:54 +02:00
vabene1111
c83eb1a42b prometheus basics and aws fix 2021-06-05 14:41:32 +02:00
vabene1111
8181a6d416 s3 signature version default 2021-06-05 14:14:53 +02:00
vabene1111
4a8b50aeba enable caching for signed s3 urls 2021-06-05 13:43:10 +02:00
vabene1111
388ef32475 actually apply limits everywhere 2021-06-04 17:05:03 +02:00
vabene1111
bfe72210df fixed recipe creation broke with new max_recipes setting 2021-06-04 17:01:58 +02:00
vabene1111
02c5aed0a3 moved demo to space setting 2021-06-04 16:56:18 +02:00
vabene1111
6fc0c02674 started work on supermarket edit view 2021-05-31 18:40:59 +02:00
vabene1111
040af330cc Merge pull request #637 from vabene1111/dependabot/pip/boto3-1.17.84
Bump boto3 from 1.17.83 to 1.17.84
2021-05-31 17:06:56 +02:00
dependabot[bot]
05caad5cfe Bump boto3 from 1.17.83 to 1.17.84
Bumps [boto3](https://github.com/boto/boto3) from 1.17.83 to 1.17.84.
- [Release notes](https://github.com/boto/boto3/releases)
- [Changelog](https://github.com/boto/boto3/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/boto/boto3/compare/1.17.83...1.17.84)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-31 06:14:35 +00:00
Kaibu
7aa1c7b53b minor theme fixes 2021-05-31 01:02:46 +02:00
Kaibu
ad24a44588 new tandoor theme added, minor ux fixes 2021-05-31 00:47:59 +02:00
vabene1111
9f4eb91287 fixed search settinggs cookie 2021-05-30 21:02:32 +02:00
vabene1111
9982cae7c3 persistent search settings 2021-05-30 20:40:46 +02:00
vabene1111
6d065cb939 fixed order 2021-05-30 19:56:34 +02:00
vabene1111
b10163e309 recently viewed 2021-05-30 19:40:46 +02:00
vabene1111
28b8973259 fixed snyc log 2021-05-30 18:37:53 +02:00
vabene1111
4f09970130 fixed frontend localization 2021-05-30 17:12:59 +02:00
vabene1111
e05019d2b1 prevent account spam 2021-05-30 16:16:42 +02:00
vabene1111
3c778927e2 email settings 2021-05-30 15:53:16 +02:00
vabene1111
505b60cb14 fixed recipe tests paths and edit max switch 2021-05-30 09:27:20 +02:00
vabene1111
14ca61b11f Merge pull request #632 from vabene1111/dependabot/pip/boto3-1.17.83
Bump boto3 from 1.17.80 to 1.17.83
2021-05-30 08:58:31 +02:00
vabene1111
22900dc460 Merge pull request #630 from vabene1111/dependabot/pip/drf-writable-nested-0.6.3
Bump drf-writable-nested from 0.6.2 to 0.6.3
2021-05-30 08:58:26 +02:00
vabene1111
28806e6857 Merge pull request #633 from smilerz/fix_url_import
bumped recipe_scrapers and updated expected results
2021-05-29 14:02:15 +02:00
vabene1111
dbf1334ec0 Merge pull request #634 from vabene1111/dependabot/npm_and_yarn/vue/dns-packet-1.3.4
Bump dns-packet from 1.3.1 to 1.3.4 in /vue
2021-05-29 13:57:59 +02:00
dependabot[bot]
7e0d9bfe49 Bump dns-packet from 1.3.1 to 1.3.4 in /vue
Bumps [dns-packet](https://github.com/mafintosh/dns-packet) from 1.3.1 to 1.3.4.
- [Release notes](https://github.com/mafintosh/dns-packet/releases)
- [Changelog](https://github.com/mafintosh/dns-packet/blob/master/CHANGELOG.md)
- [Commits](https://github.com/mafintosh/dns-packet/compare/v1.3.1...v1.3.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-29 04:34:13 +00:00
smilerz
56f80acede bumped recipe_scrapers and updated expected results 2021-05-28 12:53:09 -05:00
vabene1111
46a8a9f60d disable password reset if no mail is set 2021-05-28 18:41:30 +02:00
vabene1111
71fdfe6acb ugly space management hack - will be improved later 2021-05-28 18:19:53 +02:00
vabene1111
50572e9a36 space features 2021-05-28 17:48:09 +02:00
vabene1111
c8054349b2 reworked invite system 2021-05-28 16:49:03 +02:00
dependabot[bot]
0ec5d669dd Bump boto3 from 1.17.80 to 1.17.83
Bumps [boto3](https://github.com/boto/boto3) from 1.17.80 to 1.17.83.
- [Release notes](https://github.com/boto/boto3/releases)
- [Changelog](https://github.com/boto/boto3/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/boto/boto3/compare/1.17.80...1.17.83)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-28 05:29:38 +00:00
dependabot[bot]
6dd778112a Bump drf-writable-nested from 0.6.2 to 0.6.3
Bumps [drf-writable-nested](https://github.com/beda-software/drf-writable-nested) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/beda-software/drf-writable-nested/releases)
- [Changelog](https://github.com/beda-software/drf-writable-nested/blob/master/CHANGELOG.md)
- [Commits](https://github.com/beda-software/drf-writable-nested/compare/v0.6.2...v0.6.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-27 05:46:43 +00:00
vabene1111
a14e33973c signup, reset and other account stuff 2021-05-26 22:36:53 +02:00
vabene1111
a8d01f4d5a fixed test directory finding 2021-05-26 21:34:49 +02:00
vabene1111
58f841a770 s3 support for images 2021-05-26 16:35:48 +02:00
Jesse
c851b54a22 Translated using Weblate (Dutch)
Currently translated at 100.0% (51 of 51 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2021-05-25 07:17:01 +00:00
vabene1111
df53fdeb03 Update README.md 2021-05-24 16:54:31 +02:00
vabene1111
18333563f2 WIP fixing path issues on diffrent systems
relative paths do not appear to work on windows or at least the setup i have
2021-05-22 12:03:37 +02:00
vabene1111
286118093c Merge pull request #622 from smilerz/fix_url_import
updated url import and test due to updated recipe_scraper
2021-05-21 08:25:00 +02:00
smilerz
066ca27712 updated url import and test due to updated recipe_scraper 2021-05-20 11:57:05 -05:00
vabene1111
03c78f539d fixed ordering 2021-05-20 17:16:25 +02:00
vabene1111
be225d2b8c added ignore duplication option in import again 2021-05-20 17:03:47 +02:00
vabene1111
3340ef9ca4 small importer fix 2021-05-20 16:52:51 +02:00
vabene1111
fe3e611dd1 show recently added recipes in search 2021-05-20 16:45:41 +02:00
vabene1111
61d1528911 small improvements 2021-05-20 14:50:23 +02:00
vabene1111
88524b0411 Merge pull request #565 from smilerz/login_redirect
login redirect to intended page
2021-05-20 14:47:24 +02:00
vabene1111
e774845ade fixed and updates openapi shema 2021-05-20 11:43:31 +02:00
vabene1111
9a8049f71b fixed nextcloud importer ignoring certain recipes 2021-05-20 11:17:45 +02:00
vabene1111
d67bb9de25 fixed mealplan update non recipe entries 2021-05-19 13:12:12 +02:00
vabene1111
4b7896f7d1 auto open/close shopping list when checked 2021-05-19 12:58:34 +02:00
vabene1111
66ce1a88f6 Merge pull request #620 from vabene1111/dependabot/pip/jinja2-3.0.1
Bump jinja2 from 3.0.0 to 3.0.1
2021-05-19 08:49:10 +02:00
vabene1111
9ad42ae869 Merge pull request #619 from vabene1111/dependabot/pip/recipe-scrapers-13.2.5
Bump recipe-scrapers from 13.2.3 to 13.2.5
2021-05-19 08:49:00 +02:00
dependabot[bot]
1e72893c84 Bump jinja2 from 3.0.0 to 3.0.1
Bumps [jinja2](https://github.com/pallets/jinja) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/3.0.0...3.0.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-19 05:46:08 +00:00
dependabot[bot]
a21755cf81 Bump recipe-scrapers from 13.2.3 to 13.2.5
Bumps [recipe-scrapers](https://github.com/hhursev/recipe-scrapers) from 13.2.3 to 13.2.5.
- [Release notes](https://github.com/hhursev/recipe-scrapers/releases)
- [Commits](https://github.com/hhursev/recipe-scrapers/compare/13.2.3...13.2.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-19 05:46:02 +00:00
vabene1111
f0ba8eb788 recettetek importer 2021-05-18 18:47:53 +02:00
vabene1111
149020f930 fixed shopping list escaping issue 2021-05-18 18:20:41 +02:00
vabene1111
200adb2fcf fixed zero rating issue 2021-05-18 18:20:08 +02:00
vabene1111
bbd4d20210 uniqueness fixes 2021-05-18 18:20:08 +02:00
vabene1111
8aa11836a3 fixed webpack update and added documentation for new env variable 2021-05-18 18:20:08 +02:00
vabene1111
35338e2765 Merge pull request #578 from itsmegb/importer-recetteke
New Importer - RecetteTek
2021-05-18 18:20:02 +02:00
vabene1111
ddc91d910f Merge pull request #425 from tourn/database-url
Add support for DATABASE_URL env var
2021-05-18 16:30:54 +02:00
vabene1111
34085fc949 Merge pull request #616 from lbarnett83/patch-1
Update authentication.md
2021-05-18 10:10:21 +02:00
vabene1111
4ab56ef9f7 Merge pull request #618 from vabene1111/dependabot/pip/django-tables2-2.4.0
Bump django-tables2 from 2.3.4 to 2.4.0
2021-05-18 10:09:46 +02:00
vabene1111
47b873a2af Merge pull request #604 from sebimarkgraf/fix/rtl-input
Fix servings input field text direction
2021-05-18 10:07:33 +02:00
dependabot[bot]
34128ba3a3 Bump django-tables2 from 2.3.4 to 2.4.0
Bumps [django-tables2](https://github.com/jieter/django-tables2) from 2.3.4 to 2.4.0.
- [Release notes](https://github.com/jieter/django-tables2/releases)
- [Changelog](https://github.com/jieter/django-tables2/blob/master/CHANGELOG.md)
- [Commits](https://github.com/jieter/django-tables2/compare/v2.3.4...v2.4.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-18 07:14:00 +00:00
vabene1111
fae25b83fa Merge pull request #609 from vabene1111/dependabot/pip/recipe-scrapers-13.2.3
Bump recipe-scrapers from 13.2.1 to 13.2.3
2021-05-18 08:53:47 +02:00
vabene1111
a2322c18eb Merge pull request #610 from vabene1111/dependabot/pip/jinja2-3.0.0
Bump jinja2 from 2.11.3 to 3.0.0
2021-05-18 08:53:42 +02:00
vabene1111
f99793fc1a Merge branch 'develop' into dependabot/pip/jinja2-3.0.0 2021-05-18 08:53:38 +02:00
vabene1111
b10b811550 Merge pull request #612 from vabene1111/dependabot/pip/django-webpack-loader-1.0.0
Bump django-webpack-loader from 0.7.0 to 1.0.0
2021-05-18 08:53:13 +02:00
vabene1111
792ee43377 Merge pull request #614 from vabene1111/dependabot/pip/django-3.2.3
Bump django from 3.2.2 to 3.2.3
2021-05-18 08:53:08 +02:00
vabene1111
157beb3376 Merge pull request #617 from vabene1111/dependabot/pip/pytest-django-4.3.0
Bump pytest-django from 4.2.0 to 4.3.0
2021-05-18 08:52:57 +02:00
dependabot[bot]
1313c962fa Bump pytest-django from 4.2.0 to 4.3.0
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases)
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst)
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.2.0...v4.3.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-17 06:29:50 +00:00
Master_of_Pants
17c18c6d08 Update authentication.md
Added a semi-colon that while missing would cause a reverse proxy failure.
2021-05-16 23:47:11 -06:00
tourn
7650edfdc8 Merge remote-tracking branch 'upstream/develop' into database-url 2021-05-15 11:19:52 +02:00
tourn
46e48cd3a5 Parse DATABASE_URL with regex 2021-05-15 11:17:14 +02:00
dependabot[bot]
223f899e88 Bump django from 3.2.2 to 3.2.3
Bumps [django](https://github.com/django/django) from 3.2.2 to 3.2.3.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/3.2.2...3.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-14 05:37:29 +00:00
vabene1111
d56c8c283c Merge pull request #613 from jdtimmerman/patch-1
Fix nginx_proxy docker-compose example
2021-05-13 13:54:51 +02:00
Joost Timmerman
67cd74860f Fix nginx_proxy docker-compose example
A copy/paste error probably?
2021-05-13 11:15:31 +02:00
dependabot[bot]
4df87bc7c7 Bump django-webpack-loader from 0.7.0 to 1.0.0
Bumps [django-webpack-loader](https://github.com/django-webpack/django-webpack-loader) from 0.7.0 to 1.0.0.
- [Release notes](https://github.com/django-webpack/django-webpack-loader/releases)
- [Changelog](https://github.com/django-webpack/django-webpack-loader/blob/master/CHANGELOG.md)
- [Commits](https://github.com/django-webpack/django-webpack-loader/compare/0.7.0...1.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-13 05:50:47 +00:00
dependabot[bot]
16237866a1 Bump jinja2 from 2.11.3 to 3.0.0
Bumps [jinja2](https://github.com/pallets/jinja) from 2.11.3 to 3.0.0.
- [Release notes](https://github.com/pallets/jinja/releases)
- [Changelog](https://github.com/pallets/jinja/blob/main/CHANGES.rst)
- [Commits](https://github.com/pallets/jinja/compare/2.11.3...3.0.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-12 05:16:06 +00:00
dependabot[bot]
79cc8cc905 Bump recipe-scrapers from 13.2.1 to 13.2.3
Bumps [recipe-scrapers](https://github.com/hhursev/recipe-scrapers) from 13.2.1 to 13.2.3.
- [Release notes](https://github.com/hhursev/recipe-scrapers/releases)
- [Commits](https://github.com/hhursev/recipe-scrapers/compare/13.2.1...13.2.3)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-10 07:06:23 +00:00
vabene1111
3e2f3effeb Merge pull request #607 from vabene1111/dependabot/pip/django-3.2.2
Bump django from 3.2.1 to 3.2.2
2021-05-07 07:57:30 +02:00
dependabot[bot]
5623879919 Bump django from 3.2.1 to 3.2.2
Bumps [django](https://github.com/django/django) from 3.2.1 to 3.2.2.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/3.2.1...3.2.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-07 05:53:59 +00:00
vabene1111
b1b1373d65 Merge pull request #606 from vabene1111/dependabot/pip/six-1.16.0
Bump six from 1.15.0 to 1.16.0
2021-05-06 07:57:34 +02:00
dependabot[bot]
3270f56744 Bump six from 1.15.0 to 1.16.0
Bumps [six](https://github.com/benjaminp/six) from 1.15.0 to 1.16.0.
- [Release notes](https://github.com/benjaminp/six/releases)
- [Changelog](https://github.com/benjaminp/six/blob/master/CHANGES)
- [Commits](https://github.com/benjaminp/six/compare/1.15.0...1.16.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-06 05:53:28 +00:00
Sebastian Markgraf
36df86c26c Change minimum of input field to be 0. 2021-05-05 18:11:30 +02:00
Sebastian Markgraf
532d6e2867 Fix rtl input field. 2021-05-05 17:09:31 +02:00
vabene1111
7c6d32456a Merge pull request #603 from vabene1111/dependabot/pip/pytest-6.2.4
Bump pytest from 6.2.3 to 6.2.4
2021-05-05 11:55:24 +02:00
vabene1111
6b8aa99b24 Merge pull request #602 from vabene1111/dependabot/pip/django-3.2.1
Bump django from 3.2 to 3.2.1
2021-05-05 11:55:14 +02:00
dependabot[bot]
65a6c08015 Bump pytest from 6.2.3 to 6.2.4
Bumps [pytest](https://github.com/pytest-dev/pytest) from 6.2.3 to 6.2.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/6.2.3...6.2.4)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-05 05:52:46 +00:00
dependabot[bot]
22f4612d12 Bump django from 3.2 to 3.2.1
Bumps [django](https://github.com/django/django) from 3.2 to 3.2.1.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/3.2...3.2.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-05 05:52:39 +00:00
Jesse
f65a5a9ad7 Translated using Weblate (Dutch)
Currently translated at 100.0% (50 of 50 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2021-05-04 09:02:55 +00:00
Jesse
02b2d953ce Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nl/
2021-05-04 09:02:54 +00:00
vabene1111
19cdf3a919 Merge pull request #600 from smilerz/develop
minor bug fix in bookmarklet
2021-05-03 19:00:03 +02:00
smilerz
6dfe737ec5 minor bug fix in bookmarklet 2021-05-03 08:40:09 -05:00
vabene1111
6110c75f59 Merge pull request #598 from smilerz/develop
updated to handle new behavior of recipe_scrapers
2021-05-03 07:49:37 +02:00
smilerz
984d5aae11 misc cleanup 2021-05-02 20:06:53 -05:00
smilerz
e345d2eb39 updated to handle new behavior of recipe_scrapers 2021-05-02 15:44:27 -05:00
vabene1111
90e1e69dac Merge pull request #515 from smilerz/bookmarklet
Bookmarklet
2021-05-02 17:41:46 +02:00
vabene1111
c4880bf5b0 Merge branch 'develop' into bookmarklet 2021-05-02 17:41:38 +02:00
vabene1111
3baa03396c tweaks to the importer 2021-05-02 17:33:52 +02:00
vabene1111
373df5d99f updated python in ci 2021-05-02 13:44:59 +02:00
vabene1111
d36274066a some fixed for the new importer + bumped python to 3.9 2021-05-02 13:42:14 +02:00
smilerz
59c33798b8 Fix after rebase 2021-05-01 16:30:33 -05:00
smilerz
d7afbc5745 truncate query params on url 2021-05-01 16:30:23 -05:00
smilerz
c62a88d032 include script name prefix in bookmarklet 2021-05-01 16:30:23 -05:00
smilerz
ed76f020c5 fix loading bookmarklet 2021-05-01 16:30:23 -05:00
smilerz
8b61d8c504 no_perm 2021-05-01 16:30:23 -05:00
smilerz
82abdd0144 removed unnecessary console message 2021-05-01 16:30:23 -05:00
smilerz
04d131f534 removed commented out settings 2021-05-01 16:30:22 -05:00
smilerz
8cc74f3dcd removed unused cors_headers 2021-05-01 16:30:22 -05:00
smilerz
bd46962b71 removed line breaks 2021-05-01 16:30:22 -05:00
smilerz
059987fd9f removed console.log() 2021-05-01 16:30:22 -05:00
smilerz
2ecc0ab680 Fix after rebase 2021-05-01 16:30:22 -05:00
smilerz
a69fb4922d updated model 2021-05-01 16:30:22 -05:00
smilerz
358ba5120d convert servings to number on import 2021-05-01 16:30:22 -05:00
smilerz
254267c2a7 update tests to handle url decoding 2021-05-01 16:30:22 -05:00
smilerz
a701437548 bring parser inline with json_import branch 2021-05-01 16:30:22 -05:00
smilerz
25f6adba1f unescape html document 2021-05-01 16:30:22 -05:00
smilerz
018fa0a62f updated bookmarklet to work with updated import process 2021-05-01 16:30:22 -05:00
smilerz
faf458e8ef Squashed commit of the following:
commit 707d862e01a7497a1f22879d314b865a35e0e85b
Author: smilerz <smilerz@gmail.com>
Date:   Wed Apr 14 10:35:00 2021 -0500

    works now

commit 3942a445ed4f2ccec57de25eacd86ea4e4dd6bdb
Author: smilerz <smilerz@gmail.com>
Date:   Wed Apr 14 10:25:24 2021 -0500

    updated serializer and api

commit 10dc746eb175c7f805a8a8ffa7ce49977a7ce97e
Author: smilerz <smilerz@gmail.com>
Date:   Wed Apr 14 10:20:19 2021 -0500

    fixed bookmarklet

commit 9779104902d3be0258c95cd2eeebcba0d5d48892
Merge: bb8262c 0cb3928
Author: smilerz <smilerz@gmail.com>
Date:   Wed Apr 14 09:56:27 2021 -0500

    Merge branch 'bookmarklet' into json_import

commit 0cb39284bb835ffc6cfee3e4306aadc4a64a25be
Author: smilerz <smilerz@gmail.com>
Date:   Wed Apr 14 09:42:53 2021 -0500

    retrieve bookmarklet ID from get

commit e89e0218de684d40b2e2bfb6ba833891206c828e
Author: smilerz <smilerz@gmail.com>
Date:   Wed Apr 14 09:29:33 2021 -0500

    Revert "fixed broken tab"

    This reverts commit ca0a1aede3cc6cb3912bc1fe30c0aa22e3f481a6.

commit bb8262ccabb93c56fbc18c407d5a0653b8b3ca79
Merge: b1e73aa 35a7f62
Author: smilerz <smilerz@gmail.com>
Date:   Sun Apr 11 20:35:57 2021 -0500

    Merge branch 'main_fork' into json_import
2021-05-01 16:30:22 -05:00
smilerz
2c5348fcb4 added missing bookmarklet 2021-05-01 16:30:22 -05:00
smilerz
2b16f966a2 Revert "bug fix url import"
This reverts commit 4ab8ca51e812d02911f4da801767612e52953a23.
2021-05-01 16:30:22 -05:00
smilerz
c2931137bb removed extra string normalization 2021-05-01 16:30:22 -05:00
smilerz
461d53671c updated migration 2021-05-01 16:30:22 -05:00
smilerz
3e4e55e9c5 updated recipe targets in tests to reflect html decoding 2021-05-01 16:30:22 -05:00
smilerz
11fa23f3da fixes #527 2021-05-01 16:30:22 -05:00
smilerz
6de128757f bug fix url import 2021-05-01 16:30:22 -05:00
smilerz
7c682ebab3 url import bug fixes 2021-05-01 16:30:22 -05:00
smilerz
ee165ef0f1 bug fix tests 2021-05-01 16:30:22 -05:00
smilerz
4bc4ce0d7c bug fix url import 2021-05-01 16:30:22 -05:00
smilerz
c50bd039ef recipe import tests 2021-05-01 16:30:22 -05:00
smilerz
5fff5b97da simplified url import 2021-05-01 16:30:21 -05:00
smilerz
2c27e06bfb add data for url_import test 2021-05-01 16:30:21 -05:00
smilerz
e4044016c3 added all ATK sites to custom scraper 2021-05-01 16:30:21 -05:00
smilerz
52df886372 added cooksillustrated custom scraper 2021-05-01 16:30:21 -05:00
smilerz
c7949edb18 ensure time is always a number 2021-05-01 16:30:21 -05:00
smilerz
342a261017 added ability to create custom scrapers 2021-05-01 16:30:21 -05:00
smilerz
e5984abd97 removed old json importer 2021-05-01 16:30:21 -05:00
smilerz
2ea3e4f8f3 updated import from source to use text scraper 2021-05-01 16:30:21 -05:00
smilerz
98b3b002f9 remove old html_import function 2021-05-01 16:30:21 -05:00
smilerz
d2a1a0ac32 wrapper for recipe_scrapers to parse text input 2021-05-01 16:30:21 -05:00
smilerz
2ceefdd9b0 fixed broken tab 2021-05-01 16:30:21 -05:00
smilerz
b22392726f delete bookmarklet on import 2021-05-01 16:30:21 -05:00
smilerz
b89fedd07f removed console message 2021-05-01 16:30:21 -05:00
smilerz
a263771383 fixed ingredient display on preview 2021-05-01 16:30:21 -05:00
smilerz
7cc757ac33 redirect to import url for processing 2021-05-01 16:30:21 -05:00
smilerz
6acbd6d308 added hack to fix scopes & CORS for bookmarklet 2021-05-01 16:30:21 -05:00
smilerz
30a357e27f added CORS middleware 2021-05-01 16:30:21 -05:00
smilerz
7bc3292301 added bookmarklet model and api 2021-05-01 16:30:21 -05:00
smilerz
7fb440a855 bookmarklet passing data to form 2021-05-01 16:30:21 -05:00
smilerz
0e27ddab74 added bookmarklet that doesn't work yet 2021-05-01 16:30:21 -05:00
smilerz
0a38049ce4 Squashed commit of the following:
commit 81a8734fac
Merge: abcef54 f67bb3c
Author: vabene1111 <vabene1111@users.noreply.github.com>
Date:   Sat Mar 20 22:41:13 2021 +0100

    Merge pull request #499 from sebimarkgraf/fix/432-ios-webclip-support

    Add iOS webclip icon support

commit abcef54e72
Merge: e15c92c 7527646
Author: vabene1111 <vabene1111@users.noreply.github.com>
Date:   Sat Mar 20 22:30:43 2021 +0100

    Merge pull request #498 from vabene1111/dependabot/pip/recipe-scrapers-12.2.1

    Bump recipe-scrapers from 12.2.0 to 12.2.1

commit e15c92cda5
Merge: 58fc269 45dba6f
Author: vabene1111 <vabene1111@users.noreply.github.com>
Date:   Sat Mar 20 22:26:06 2021 +0100

    Merge pull request #501 from smilerz/main_fork

    fix json direct import when wrapped in @graph

commit 45dba6fad2
Author: smilerz <smilerz@gmail.com>
Date:   Fri Mar 19 13:23:55 2021 -0500

    fix json direct import when wrapped in @graph

commit f67bb3cb98
Author: Sebastian Markgraf <Sebastian-Markgraf@t-online.de>
Date:   Fri Mar 19 15:49:12 2021 +0100

    Add generated icons from icongenerator.

commit 53b584da56
Author: Sebastian Markgraf <Sebastian-Markgraf@t-online.de>
Date:   Fri Mar 19 12:48:58 2021 +0100

    Fix errors in favicon SVG.

commit 7527646319
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Mar 19 05:51:22 2021 +0000

    Bump recipe-scrapers from 12.2.0 to 12.2.1

    Bumps [recipe-scrapers](https://github.com/hhursev/recipe-scrapers) from 12.2.0 to 12.2.1.
    - [Release notes](https://github.com/hhursev/recipe-scrapers/releases)
    - [Commits](https://github.com/hhursev/recipe-scrapers/compare/12.2.0...12.2.1)

    Signed-off-by: dependabot[bot] <support@github.com>
2021-05-01 16:30:21 -05:00
smilerz
4aaecb4ada updated links to import recipes 2021-05-01 16:30:21 -05:00
smilerz
3f5e64fc4a added collapsable cards 2021-05-01 16:30:21 -05:00
smilerz
154527ef1b cosmetic cleanup 2021-05-01 16:30:21 -05:00
smilerz
788e253749 added image import 2021-05-01 16:30:21 -05:00
smilerz
7c8b489857 consolidated integration imports into url_import 2021-05-01 16:30:21 -05:00
smilerz
cdc25b480d staged app import tabs 2021-05-01 16:30:21 -05:00
smilerz
1568d86143 fixed missing space in keyword when adding recipe 2021-05-01 16:30:21 -05:00
smilerz
adeb360837 removed unused templates 2021-05-01 16:30:20 -05:00
smilerz
9cc6a1dc79 combined json import and source import 2021-05-01 16:30:20 -05:00
smilerz
6a13619bbd more fix from super ugly merge 2021-05-01 16:30:20 -05:00
smilerz
58e33ef31a more cleanup from ugly merge 2021-05-01 16:30:20 -05:00
smilerz
36841d74af fixed ugly merge 2021-05-01 16:30:20 -05:00
smilerz
8094c7d53a added drag and drop to ingredients 2021-05-01 16:30:20 -05:00
smilerz
71e02c0916 manually parse json 2021-05-01 16:30:20 -05:00
smilerz
25fb41baed update urls.py 2021-05-01 16:30:20 -05:00
smilerz
34ff484830 commit merge from Patralos/recipes 2021-05-01 16:30:20 -05:00
smilerz
91e36eb222 updated URL import page with tab interface 2021-05-01 16:30:20 -05:00
smilerz
55ba568f3c import raw json/html 2021-05-01 16:30:20 -05:00
smilerz
8f3f1c230c refactored json parser to create functions for each sub parser 2021-05-01 16:30:20 -05:00
Patrick Pirker
1690abaf47 replace common fractions with their concrete value (else parsing is not possible) 2021-05-01 16:30:20 -05:00
Patrick Pirker
7414033495 Allow recipes to be imported from json directly 2021-05-01 16:30:20 -05:00
vabene1111
d1b9d15816 recipe_scrapers deprectation fix 2021-05-01 22:56:00 +02:00
vabene1111
ff43492265 Merge pull request #505 from smilerz/json_import
Manually Import Recipe
2021-05-01 22:39:27 +02:00
vabene1111
3daebc4170 Merge branch 'develop' into json_import 2021-05-01 22:39:20 +02:00
vabene1111
67485c0ea3 Merge pull request #585 from TimPansino/develop
Fix crash on missing photos in paprika
2021-05-01 22:18:27 +02:00
vabene1111
aafbc497cc search view fixes/updates 2021-05-01 22:16:29 +02:00
vabene1111
0a99791021 Merge branch 'develop' of https://github.com/vabene1111/recipes into develop 2021-05-01 19:20:23 +02:00
vabene1111
7bc4ae9870 fixed paprika importer 2021-05-01 19:19:48 +02:00
vabene1111
84bd33f93e Merge pull request #590 from vabene1111/dependabot/pip/python-dotenv-0.17.1
Bump python-dotenv from 0.17.0 to 0.17.1
2021-05-01 17:26:26 +02:00
its_me_gb
7cd6a7c2a6 Import recipe keywords 2021-05-01 15:02:22 +01:00
Marcel Paluch
c661646f46 Translated using Weblate (German)
Currently translated at 100.0% (50 of 50 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/de/
2021-05-01 13:01:56 +00:00
Marcel Paluch
7a017899ee Translated using Weblate (German)
Currently translated at 99.7% (370 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/de/
2021-05-01 13:01:55 +00:00
its_me_gb
5ef5530392 Move the source url back into the step - inline with other importers 2021-04-30 08:40:00 +01:00
dependabot[bot]
689c447b6c Bump python-dotenv from 0.17.0 to 0.17.1
Bumps [python-dotenv](https://github.com/theskumar/python-dotenv) from 0.17.0 to 0.17.1.
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/master/CHANGELOG.md)
- [Commits](https://github.com/theskumar/python-dotenv/compare/v0.17.0...v0.17.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-30 05:51:53 +00:00
vabene1111
239ba5f861 fixed meal plan notes and recipe links 2021-04-29 17:15:06 +02:00
Timothy Pansino
43c71af2af Fix crash on missing photos in paprika 2021-04-28 20:22:12 -07:00
its_me_gb
b9040cb3a4 parse the servings 2021-04-28 18:41:26 +01:00
its_me_gb
c710d42ccb Add the source url to description not step 2021-04-28 17:50:05 +01:00
its_me_gb
1bc5af1cab import local image, download if fails. 2021-04-28 13:47:51 +01:00
its_me_gb
23415f8a61 Initial importer created. 2021-04-28 13:47:51 +01:00
vabene1111
cc34496c00 added missing files last commit 2021-04-28 11:27:28 +02:00
vabene1111
be84e44e43 recipe view enhancements 2021-04-28 11:27:20 +02:00
vabene1111
ae3eb6cfe5 removed one more old bundle render 2021-04-28 09:46:52 +02:00
vabene1111
d06e6c0ab3 updated webpack loader and lots of javscript stuff 2021-04-28 09:41:06 +02:00
vabene1111
5ee718b578 added persistent search settings and tweaked view 2021-04-26 18:00:54 +02:00
vabene1111
dc27f39393 added recently viewed to new search 2021-04-26 17:21:14 +02:00
vabene1111
ec95f8032c fixed recipe url import issue on some pages without images 2021-04-26 16:41:48 +02:00
vabene1111
94b56ff742 Merge pull request #567 from vabene1111/dependabot/pip/django-cleanup-5.2.0
Bump django-cleanup from 5.1.0 to 5.2.0
2021-04-26 16:39:53 +02:00
vabene1111
fd1258f851 Merge pull request #569 from vabene1111/dependabot/npm_and_yarn/vue/ssri-6.0.2
Bump ssri from 6.0.1 to 6.0.2 in /vue
2021-04-26 16:39:40 +02:00
vabene1111
6f104d8aa4 Merge pull request #572 from vabene1111/dependabot/pip/recipe-scrapers-13.1.1
Bump recipe-scrapers from 12.2.2 to 13.1.1
2021-04-26 16:39:25 +02:00
Jesse
d35f8a0ccd Translated using Weblate (Dutch)
Currently translated at 100.0% (46 of 46 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2021-04-22 18:29:10 +00:00
Jesse
f2d761f7d9 Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nl/
2021-04-22 18:29:10 +00:00
dependabot[bot]
d9a92fac95 Bump recipe-scrapers from 12.2.2 to 13.1.1
Bumps [recipe-scrapers](https://github.com/hhursev/recipe-scrapers) from 12.2.2 to 13.1.1.
- [Release notes](https://github.com/hhursev/recipe-scrapers/releases)
- [Commits](https://github.com/hhursev/recipe-scrapers/compare/12.2.2...13.1.1)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-21 05:52:07 +00:00
smilerz
a1572a4809 changed keyword to get_or_create 2021-04-20 09:15:03 -05:00
smilerz
2b5dceee7c WIP 2021-04-20 08:09:42 -05:00
dependabot[bot]
62e9a7f29c Bump ssri from 6.0.1 to 6.0.2 in /vue
Bumps [ssri](https://github.com/npm/ssri) from 6.0.1 to 6.0.2.
- [Release notes](https://github.com/npm/ssri/releases)
- [Changelog](https://github.com/npm/ssri/blob/v6.0.2/CHANGELOG.md)
- [Commits](https://github.com/npm/ssri/compare/v6.0.1...v6.0.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-20 02:40:53 +00:00
smilerz
66bb5b4328 strip spaces from food, keywords and units 2021-04-19 17:35:53 -05:00
smilerz
0f4cd4b17c fix ATK scraper 2021-04-19 14:37:26 -05:00
smilerz
ae3835b541 update ATK scraper 2021-04-19 14:31:48 -05:00
dependabot[bot]
28fedfda1f Bump django-cleanup from 5.1.0 to 5.2.0
Bumps [django-cleanup](https://github.com/un1t/django-cleanup) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/un1t/django-cleanup/releases)
- [Changelog](https://github.com/un1t/django-cleanup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/un1t/django-cleanup/compare/5.1.0...5.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-19 07:30:31 +00:00
vabene1111
92c65ec1e8 fixed test meal plan 2021-04-18 21:21:41 +02:00
vabene1111
a376c3a5b6 meal plan random fix 2021-04-18 17:55:48 +02:00
vabene1111
058d705170 meal plan in search 2021-04-18 17:19:11 +02:00
vabene1111
4ad5d6ef2f fixed test + added api doc for new search 2021-04-18 15:01:39 +02:00
vabene1111
e676b4bac3 added api pagination for recipes 2021-04-18 14:05:19 +02:00
vabene1111
04488741c4 adv search mobile styling 2021-04-18 11:11:19 +02:00
vabene1111
99004ad34b new search and setting 2021-04-18 11:03:15 +02:00
vabene1111
f78f7dfc14 search ui improvements and filter 2021-04-18 02:55:50 +02:00
smilerz
49fb1e7183 login redirect to intended page 2021-04-17 18:34:56 -05:00
smilerz
7930c2417c update ATK scrape to handle empty headnote 2021-04-17 17:12:43 -05:00
vabene1111
880db58d38 v2 search filtering 2021-04-17 21:28:29 +02:00
smilerz
2f27413c0a parse multiple ingredientGroups
previous version assumed only a single item in a list - this loops through each item
2021-04-17 14:12:24 -05:00
smilerz
5869a8ad1b fixes to pass tests 2021-04-17 13:43:34 -05:00
smilerz
0640a265fc added test for spruce eats 2021-04-17 13:42:56 -05:00
smilerz
d449fc8fd8 updated normalization to skip removing line breaks 2021-04-17 12:49:42 -05:00
smilerz
b9ee77709b updated ATK scraper to include header notes in instructions 2021-04-17 12:49:06 -05:00
smilerz
f594ba4c69 enable import button after error 2021-04-17 11:12:22 -05:00
vabene1111
d1d65d878c v2 search progress 2021-04-17 14:11:10 +02:00
vabene1111
3194a7580d basics of v2 search working 2021-04-17 12:57:02 +02:00
smilerz
ba061df1b6 catch attribute error on cooktime 2021-04-16 17:30:59 -05:00
smilerz
7cc515bcdf fix manual url import 2021-04-16 17:08:25 -05:00
smilerz
724748d38a corrected api import workflow 2021-04-16 14:09:10 -05:00
smilerz
b2c1c6e301 restored missing manual url scrape 2021-04-16 11:26:26 -05:00
smilerz
987be4b04d Fix after rebase 2021-04-16 09:02:27 -05:00
smilerz
ca84da68c4 catch attibute error when scrape missing schema 2021-04-16 09:02:04 -05:00
smilerz
d75e39fbcd set persistent connections to db 2021-04-16 09:02:04 -05:00
smilerz
eb2593aacd handle text in cook times during import 2021-04-16 09:02:04 -05:00
smilerz
496e04cfc8 convert servings to number on import 2021-04-16 09:02:04 -05:00
smilerz
d814d13d54 custom scraper fails safe 2021-04-16 09:02:03 -05:00
smilerz
d0cedaf7a1 added name parser 2021-04-16 09:02:03 -05:00
smilerz
01f504f7b1 updated tests to handle html decoding 2021-04-16 09:02:03 -05:00
smilerz
c716346f1f flake 2021-04-16 09:02:03 -05:00
smilerz
fef5236931 decode url strings in text_parser 2021-04-16 09:02:03 -05:00
smilerz
b115c37eb8 catch error on scrape.image() 2021-04-16 09:02:03 -05:00
smilerz
1e17f3703a trap error on scrape.title() 2021-04-16 09:02:03 -05:00
smilerz
468b986314 updated tests 2021-04-16 09:02:03 -05:00
smilerz
a531d135b5 remove html tags from description 2021-04-16 09:02:03 -05:00
smilerz
7524609cd0 retrieve bookmarklet ID from get 2021-04-16 09:02:03 -05:00
smilerz
a28f8e65d5 Revert "fixed broken tab"
This reverts commit ca0a1aede3cc6cb3912bc1fe30c0aa22e3f481a6.
2021-04-16 09:02:03 -05:00
smilerz
d193637091 added missing bookmarklet 2021-04-16 09:02:03 -05:00
smilerz
0953af05fc Revert "bug fix url import"
This reverts commit 4ab8ca51e812d02911f4da801767612e52953a23.
2021-04-16 09:02:03 -05:00
smilerz
19e8e5cb5b removed extra string normalization 2021-04-16 09:02:03 -05:00
smilerz
43c808380d updated migration 2021-04-16 09:02:03 -05:00
smilerz
7ab8b84044 updated recipe targets in tests to reflect html decoding 2021-04-16 09:02:03 -05:00
smilerz
d739fe6752 fixes #527 2021-04-16 09:02:03 -05:00
smilerz
a84c41e29f bug fix url import 2021-04-16 09:02:03 -05:00
smilerz
393aba1f31 url import bug fixes 2021-04-16 09:02:03 -05:00
smilerz
436a070730 bug fix tests 2021-04-16 09:02:03 -05:00
smilerz
2fe6788ce5 bug fix url import 2021-04-16 09:02:03 -05:00
smilerz
747d146389 recipe import tests 2021-04-16 09:02:03 -05:00
smilerz
efe4c4043d simplified url import 2021-04-16 09:02:03 -05:00
smilerz
c6739ba8e0 add data for url_import test 2021-04-16 09:02:02 -05:00
smilerz
50140db668 added all ATK sites to custom scraper 2021-04-16 09:02:02 -05:00
smilerz
028b2dfb22 added cooksillustrated custom scraper 2021-04-16 09:02:02 -05:00
smilerz
ec6a10ca0a ensure time is always a number 2021-04-16 09:02:02 -05:00
smilerz
3cf949bf8d added ability to create custom scrapers 2021-04-16 09:02:02 -05:00
smilerz
0a62225797 removed old json importer 2021-04-16 09:02:02 -05:00
smilerz
a54f4e1367 updated import from source to use text scraper 2021-04-16 09:02:02 -05:00
smilerz
bf3c30a8fb remove old html_import function 2021-04-16 09:02:02 -05:00
smilerz
f811f5996e wrapper for recipe_scrapers to parse text input 2021-04-16 09:02:02 -05:00
smilerz
a3490240f4 fixed broken tab 2021-04-16 09:02:02 -05:00
smilerz
b26aea96f4 delete bookmarklet on import 2021-04-16 09:02:02 -05:00
smilerz
4d4af5fdf2 removed console message 2021-04-16 09:02:02 -05:00
smilerz
3da74505d6 fixed ingredient display on preview 2021-04-16 09:02:02 -05:00
smilerz
c8a4861df8 redirect to import url for processing 2021-04-16 09:02:02 -05:00
smilerz
5e27cd606e added hack to fix scopes & CORS for bookmarklet 2021-04-16 09:02:02 -05:00
smilerz
a341fd8ebe added CORS middleware 2021-04-16 09:02:02 -05:00
smilerz
9a62b6e4e7 added bookmarklet model and api 2021-04-16 09:02:02 -05:00
smilerz
f80c44bca3 bookmarklet passing data to form 2021-04-16 09:02:02 -05:00
smilerz
09d2e9f831 added bookmarklet that doesn't work yet 2021-04-16 09:02:02 -05:00
smilerz
4d5a9e446f Squashed commit of the following:
commit 81a8734fac
Merge: abcef54 f67bb3c
Author: vabene1111 <vabene1111@users.noreply.github.com>
Date:   Sat Mar 20 22:41:13 2021 +0100

    Merge pull request #499 from sebimarkgraf/fix/432-ios-webclip-support

    Add iOS webclip icon support

commit abcef54e72
Merge: e15c92c 7527646
Author: vabene1111 <vabene1111@users.noreply.github.com>
Date:   Sat Mar 20 22:30:43 2021 +0100

    Merge pull request #498 from vabene1111/dependabot/pip/recipe-scrapers-12.2.1

    Bump recipe-scrapers from 12.2.0 to 12.2.1

commit e15c92cda5
Merge: 58fc269 45dba6f
Author: vabene1111 <vabene1111@users.noreply.github.com>
Date:   Sat Mar 20 22:26:06 2021 +0100

    Merge pull request #501 from smilerz/main_fork

    fix json direct import when wrapped in @graph

commit 45dba6fad2
Author: smilerz <smilerz@gmail.com>
Date:   Fri Mar 19 13:23:55 2021 -0500

    fix json direct import when wrapped in @graph

commit f67bb3cb98
Author: Sebastian Markgraf <Sebastian-Markgraf@t-online.de>
Date:   Fri Mar 19 15:49:12 2021 +0100

    Add generated icons from icongenerator.

commit 53b584da56
Author: Sebastian Markgraf <Sebastian-Markgraf@t-online.de>
Date:   Fri Mar 19 12:48:58 2021 +0100

    Fix errors in favicon SVG.

commit 7527646319
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Fri Mar 19 05:51:22 2021 +0000

    Bump recipe-scrapers from 12.2.0 to 12.2.1

    Bumps [recipe-scrapers](https://github.com/hhursev/recipe-scrapers) from 12.2.0 to 12.2.1.
    - [Release notes](https://github.com/hhursev/recipe-scrapers/releases)
    - [Commits](https://github.com/hhursev/recipe-scrapers/compare/12.2.0...12.2.1)

    Signed-off-by: dependabot[bot] <support@github.com>
2021-04-16 09:02:02 -05:00
smilerz
6a2c27749f updated links to import recipes 2021-04-16 09:02:02 -05:00
smilerz
de60e12073 added collapsable cards 2021-04-16 09:02:02 -05:00
smilerz
1188ed9227 cosmetic cleanup 2021-04-16 09:02:02 -05:00
smilerz
cb708e7e47 added image import 2021-04-16 09:02:02 -05:00
smilerz
215eadb4a0 consolidated integration imports into url_import 2021-04-16 09:02:02 -05:00
smilerz
4ffc54f720 staged app import tabs 2021-04-16 09:02:02 -05:00
smilerz
21f6c7a21f fixed missing space in keyword when adding recipe 2021-04-16 09:02:02 -05:00
smilerz
ce7c6939d2 removed unused templates 2021-04-16 09:02:02 -05:00
smilerz
40a2f7ff90 combined json import and source import 2021-04-16 09:02:01 -05:00
smilerz
4015517c0a more fix from super ugly merge 2021-04-16 09:02:01 -05:00
smilerz
7c8d41753c more cleanup from ugly merge 2021-04-16 09:02:01 -05:00
smilerz
90670613c5 fixed ugly merge 2021-04-16 09:02:01 -05:00
smilerz
647c1678f1 added drag and drop to ingredients 2021-04-16 09:02:01 -05:00
smilerz
44dee16e0a manually parse json 2021-04-16 09:02:01 -05:00
smilerz
f8fedcac82 update urls.py 2021-04-16 09:02:01 -05:00
smilerz
3a48d0e580 commit merge from Patralos/recipes 2021-04-16 09:02:01 -05:00
smilerz
9930789aa8 updated URL import page with tab interface 2021-04-16 09:02:01 -05:00
smilerz
83fce6461a import raw json/html 2021-04-16 09:02:01 -05:00
smilerz
f0d37244b6 refactored json parser to create functions for each sub parser 2021-04-16 09:02:01 -05:00
Patrick Pirker
386834f409 Allow recipes to be imported from json directly 2021-04-16 09:02:01 -05:00
Jesse
17c5084bc0 Translated using Weblate (Dutch)
Currently translated at 100.0% (38 of 38 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/nl/
2021-04-16 12:22:10 +00:00
vabene1111
e38f50c352 v2 search basic display of recipes 2021-04-15 22:49:30 +02:00
vabene1111
c1abff8da0 v2 search basics 2021-04-15 22:12:31 +02:00
vabene1111
625c04257e added a small faq to the docs 2021-04-15 21:15:26 +02:00
vabene1111
5521c29d43 Merge pull request #550 from comradekingu/patch-1
Spelling: Log out
2021-04-15 18:45:17 +02:00
vabene1111
dc3a530928 Merge pull request #555 from smilerz/deprecation-fixes
Deprecation fixes
2021-04-15 18:43:40 +02:00
vabene1111
48f63b4d9f Merge pull request #552 from smilerz/main_fork
fixed tests to work in batch mode
2021-04-15 18:43:34 +02:00
vabene1111
1604ae51de Merge pull request #553 from vabene1111/dependabot/pip/pytest-django-4.2.0
Bump pytest-django from 4.1.0 to 4.2.0
2021-04-15 18:43:21 +02:00
vabene1111
a1502bffd1 translations doc 2021-04-15 18:43:02 +02:00
Jesse
756e5ec668 Added translation using Weblate (Dutch) 2021-04-15 11:23:53 +00:00
Olle Mineur
b9cf0a7136 Translated using Weblate (Swedish)
Currently translated at 97.3% (37 of 38 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/sv/
2021-04-12 20:22:10 +00:00
Olle Mineur
6bf72c4043 Translated using Weblate (Swedish)
Currently translated at 51.2% (190 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/sv/
2021-04-12 20:22:10 +00:00
vabene1111
f2f8342b49 Translated using Weblate (German)
Currently translated at 55.2% (21 of 38 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/de/
2021-04-12 20:22:09 +00:00
Jesse
7d82393789 Translated using Weblate (Dutch)
Currently translated at 100.0% (371 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nl/
2021-04-12 20:22:08 +00:00
Hrachya Kocharyan
2254d6f072 Translated using Weblate (Armenian)
Currently translated at 100.0% (362 of 362 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/hy/
2021-04-12 20:22:08 +00:00
smilerz
8d02cad7d9 resolved deprecation warnings introduced in django 3.2 2021-04-12 14:12:04 -05:00
dependabot[bot]
5c12d00f49 Bump pytest-django from 4.1.0 to 4.2.0
Bumps [pytest-django](https://github.com/pytest-dev/pytest-django) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/pytest-dev/pytest-django/releases)
- [Changelog](https://github.com/pytest-dev/pytest-django/blob/master/docs/changelog.rst)
- [Commits](https://github.com/pytest-dev/pytest-django/compare/v4.1.0...v4.2.0)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-12 07:09:32 +00:00
smilerz
b37fc4e24f fixed tests to work in batch mode 2021-04-11 22:05:27 -05:00
vabene1111
35a7f62837 Added translation using Weblate (Swedish) 2021-04-11 19:15:56 +00:00
vabene1111
ffc1c5a99c Added translation using Weblate (Swedish) 2021-04-11 19:15:43 +00:00
vabene1111
fc2a60a4ba fixed postgres search 2021-04-11 21:02:47 +02:00
vabene1111
fb0f424d82 migrated new vue component system to vue native translations 2021-04-11 18:08:29 +02:00
vabene1111
ffb5291f4b code ql correction 2021-04-11 17:43:15 +02:00
vabene1111
77ba482b79 possible fixed code ql 2021-04-11 17:34:02 +02:00
vabene1111
abb0be69d8 Translated using Weblate (German)
Currently translated at 100.0% (5 of 5 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/de/
2021-04-11 15:29:28 +00:00
Allan Nordhøy
7bb23e8362 Translated using Weblate (Norwegian Bokmål)
Currently translated at 24.7% (92 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/nb_NO/
2021-04-11 15:23:07 +00:00
Oliver Cervera
cbb659da41 Translated using Weblate (Italian)
Currently translated at 100.0% (371 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/it/
2021-04-11 15:23:07 +00:00
vabene1111
52b0382243 Translated using Weblate (German)
Currently translated at 100.0% (371 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/de/
2021-04-11 15:23:07 +00:00
vabene1111
3371dc949a Translated using Weblate (German)
Currently translated at 100.0% (5 of 5 strings)

Translation: Tandoor/Recipes Frontend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-frontend/de/
2021-04-11 15:22:58 +00:00
vabene1111
49f026f2bd Added translation using Weblate (German) 2021-04-11 15:21:18 +00:00
vabene1111
cce373a522 started migrating frontend localization 2021-04-11 17:03:09 +02:00
Allan Nordhøy
b4b3e659de Spelling: Log out 2021-04-11 16:27:16 +02:00
Allan Nordhøy
f81500ec99 Added translation using Weblate (Norwegian Bokmål) 2021-04-11 14:18:57 +00:00
vabene1111
ecba13e97f added more docs 2021-04-11 16:09:04 +02:00
vabene1111
191a6c0d9b updated translation docs 2021-04-11 16:05:01 +02:00
vabene1111
52ba2be586 Translated using Weblate (German)
Currently translated at 99.4% (369 of 371 strings)

Translation: Tandoor/Recipes Backend
Translate-URL: http://translate.tandoor.dev/projects/tandoor/recipes-backend/de/
2021-04-11 13:40:05 +00:00
vabene1111
36129b29b4 made and compiled messages 2021-04-11 15:09:54 +02:00
vabene1111
99e3690a42 Merge pull request #535 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_hy
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'hy' [manual sync]
2021-04-11 14:09:17 +02:00
vabene1111
c780f81dd8 Merge pull request #536 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_ca
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'ca' [manual sync]
2021-04-11 14:09:13 +02:00
vabene1111
27f5e85e11 Merge pull request #537 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_cs
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'cs' [manual sync]
2021-04-11 14:09:09 +02:00
vabene1111
e6d9ffbb9c Merge pull request #538 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_nl
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'nl' [manual sync]
2021-04-11 14:09:04 +02:00
vabene1111
3b188c3c55 Merge pull request #539 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_fr
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'fr' [manual sync]
2021-04-11 14:09:00 +02:00
vabene1111
161e70dc9c Merge pull request #540 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_de
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'de' [manual sync]
2021-04-11 14:08:55 +02:00
vabene1111
1f80df262b Merge pull request #541 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_hu_HU
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'hu_HU' [manual sync]
2021-04-11 14:08:51 +02:00
vabene1111
9928675f48 Merge pull request #542 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_it
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'it' [manual sync]
2021-04-11 14:08:47 +02:00
vabene1111
3d925b29c2 Merge pull request #543 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_lv
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'lv' [manual sync]
2021-04-11 14:08:43 +02:00
vabene1111
4825317a58 Merge pull request #544 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_pl
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'pl' [manual sync]
2021-04-11 14:08:39 +02:00
vabene1111
9a5408e996 Merge pull request #545 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_pt
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'pt' [manual sync]
2021-04-11 14:08:34 +02:00
vabene1111
f13c1a2605 Merge pull request #546 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_es
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'es' [manual sync]
2021-04-11 14:08:30 +02:00
vabene1111
bc8aadbe4e Merge pull request #547 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_tr
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'tr' [manual sync]
2021-04-11 14:08:27 +02:00
vabene1111
e60843b54c Merge pull request #548 from vabene1111/translations_cookbook-locale-en-lc-messages-django-po--develop_vi
Translate '/cookbook/locale/en/LC_MESSAGES/django.po' in 'vi' [manual sync]
2021-04-11 14:08:23 +02:00
transifex-integration[bot]
46dce472db Apply translations in vi
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'vi' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:51:07 +00:00
transifex-integration[bot]
556ca1bcb1 Apply translations in tr
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'tr' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:51:03 +00:00
transifex-integration[bot]
d9b2fcaa87 Apply translations in es
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'es' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:59 +00:00
transifex-integration[bot]
3e950602a7 Apply translations in pt
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'pt' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:55 +00:00
transifex-integration[bot]
1fe0757f6c Apply translations in pl
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'pl' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:51 +00:00
transifex-integration[bot]
b6cf1cf5e6 Apply translations in lv
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'lv' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:47 +00:00
transifex-integration[bot]
ca7d487789 Apply translations in it
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'it' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:43 +00:00
transifex-integration[bot]
cb44136b2e Apply translations in hu_HU
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'hu_HU' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:38 +00:00
transifex-integration[bot]
c92331a79c Apply translations in de
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'de' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:35 +00:00
transifex-integration[bot]
82e7118757 Apply translations in fr
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'fr' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:30 +00:00
transifex-integration[bot]
6d9817183e Apply translations in nl
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'nl' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:25 +00:00
transifex-integration[bot]
0e05d5b18d Apply translations in cs
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'cs' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:17 +00:00
transifex-integration[bot]
da1d88314b Apply translations in ca
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'ca' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:13 +00:00
transifex-integration[bot]
c46f22d71e Apply translations in hy
at least 1% translated for the source file '/cookbook/locale/en/LC_MESSAGES/django.po'
on the 'hy' language.

 Manual sync of partially translated files: untranslated content is included with an empty translation or source language content depending on file format
2021-04-11 11:50:09 +00:00
vabene1111
f21de5eddc fixed public share links 2021-04-10 14:36:56 +02:00
vabene1111
e88fb88d8a Merge pull request #534 from smilerz/backend_filter_fix
fix backend detection
2021-04-10 13:59:45 +02:00
smilerz
6eb14daf4d fix backend detection 2021-04-09 13:13:10 -05:00
vabene1111
fad40dab6c client api generation 2021-04-08 22:05:05 +02:00
vabene1111
015e01afb9 cheftap importer improvement 2021-04-08 21:01:07 +02:00
vabene1111
2acdd16d9e Merge pull request #531 from vabene1111/dependabot/pip/django-3.2
Bump django from 3.1.7 to 3.2
2021-04-07 17:50:31 +02:00
dependabot[bot]
d15162337f Bump django from 3.1.7 to 3.2
Bumps [django](https://github.com/django/django) from 3.1.7 to 3.2.
- [Release notes](https://github.com/django/django/releases)
- [Commits](https://github.com/django/django/compare/3.1.7...3.2)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-07 06:00:38 +00:00
tourn
331d85a993 Add support for DATABASE_URL env var 2021-02-19 11:37:23 +01:00
243 changed files with 89369 additions and 6603 deletions

View File

@@ -20,6 +20,10 @@ POSTGRES_USER=djangouser
POSTGRES_PASSWORD=
POSTGRES_DB=djangodb
# database connection string, when used overrides other database settings.
# format might vary depending on backend
# DATABASE_URL = engine://username:password@host:port/dbname
# the default value for the user preference 'fractions' (enable/disable fraction support)
# default: disabled=0
FRACTION_PREF_DEFAULT=0
@@ -34,7 +38,7 @@ COMMENT_PREF_DEFAULT=1
SHOPPING_MIN_AUTOSYNC_INTERVAL=5
# Default for user setting sticky navbar
#STICKY_NAV_PREF_DEFAULT=1
# STICKY_NAV_PREF_DEFAULT=1
# If staticfiles are stored at a different location uncomment and change accordingly
# STATIC_URL=/static/
@@ -48,11 +52,54 @@ SHOPPING_MIN_AUTOSYNC_INTERVAL=5
# when unset: 1 (true) - this is temporary until an appropriate amount of time has passed for everyone to migrate
GUNICORN_MEDIA=0
# S3 Media settings: store mediafiles in s3 or any compatible storage backend (e.g. minio)
# as long as S3_ACCESS_KEY is not set S3 features are disabled
# S3_ACCESS_KEY=
# S3_SECRET_ACCESS_KEY=
# S3_BUCKET_NAME=
# S3_REGION_NAME= # default none, set your region might be required
# S3_QUERYSTRING_AUTH=1 # default true, set to 0 to serve media from a public bucket without signed urls
# S3_QUERYSTRING_EXPIRE=3600 # number of seconds querystring are valid for
# S3_ENDPOINT_URL= # when using a custom endpoint like minio
# Email Settings, see https://docs.djangoproject.com/en/3.2/ref/settings/#email-host
# Required for email confirmation and password reset (automatically activates if host is set)
# EMAIL_HOST=
# EMAIL_PORT=
# EMAIL_HOST_USER=
# EMAIL_HOST_PASSWORD=
# EMAIL_USE_TLS=0
# EMAIL_USE_SSL=0
# DEFAULT_FROM_EMAIL= # email sender address (default 'webmaster@localhost')
# ACCOUNT_EMAIL_SUBJECT_PREFIX= # prefix used for account related emails (default "[Tandoor Recipes] ")
# allow authentication via reverse proxy (e.g. authelia), leave off if you dont know what you are doing
# see docs for more information https://vabene1111.github.io/recipes/features/authentication/
# when unset: 0 (false)
REVERSE_PROXY_AUTH=0
# Default settings for spaces, apply per space and can be changed in the admin view
# SPACE_DEFAULT_MAX_RECIPES=0 # 0=unlimited recipes
# SPACE_DEFAULT_MAX_USERS=0 # 0=unlimited users per space
# SPACE_DEFAULT_FILES=1 # 1=can upload files (images, etc.) NOT IMPLEMENTED YET
# allow people to create accounts on your application instance (without an invite link)
# when unset: 0 (false)
# ENABLE_SIGNUP=0
# If signup is enabled you might want to add a captcha to it to prevent spam
# HCAPTCHA_SITEKEY=
# HCAPTCHA_SECRET=
# if signup is enabled you might want to provide urls to data protection policies or terms and conditions
# TERMS_URL=
# PRIVACY_URL=
# IMPRINT_URL=
# enable serving of prometheus metrics under the /metrics path
# ATTENTION: view is not secured (as per the prometheus default way) so make sure to secure it
# trough your web server (or leave it open of you dont care if the stats are exposed)
# ENABLE_METRICS=0
# allows you to setup OAuth providers
# see docs for more information https://vabene1111.github.io/recipes/features/authentication/

View File

@@ -9,14 +9,14 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: [3.8]
python-version: [3.9]
steps:
- uses: actions/checkout@v1
- name: Set up Python 3.8
- name: Set up Python 3.9
uses: actions/setup-python@v1
with:
python-version: 3.8
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip

View File

@@ -12,40 +12,42 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
- name: Checkout repository
uses: actions/checkout@v2
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
# Override language selection by uncommenting this and choosing your languages
# with:
# languages: go, javascript, csharp, python, cpp, java
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
# - name: Autobuild
# uses: github/codeql-action/autobuild@v1
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
# Override language selection by uncommenting this and choosing your languages
with:
languages: python, javascript
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
# - name: Autobuild
# uses: github/codeql-action/autobuild@v1
# If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
#- run: |
# make bootstrap
# make release
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
# and modify them (or add more) to build your code if your project
# uses a compiled language
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
#- run: |
# make bootstrap
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
with:
languages: javascript, python

2
.idea/recipes.iml generated
View File

@@ -18,7 +18,7 @@
<excludeFolder url="file://$MODULE_DIR$/staticfiles" />
<excludeFolder url="file://$MODULE_DIR$/venv" />
</content>
<orderEntry type="jdk" jdkName="Python 3.8 (recipes)" jdkType="Python SDK" />
<orderEntry type="jdk" jdkName="Python 3.9 (recipes)" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TemplatesService">

View File

@@ -25,6 +25,10 @@
![Preview](docs/preview.png)
# Your Feedback
Share some information on how you use Tandoor to help me improve the application [Google Survey](https://forms.gle/qNfLK2tWTeWHe9Qd7)
## Features
- 📦 **Sync** files with Dropbox and Nextcloud (more can easily be added)

View File

@@ -7,7 +7,8 @@ from .models import (Comment, CookLog, Food, Ingredient, InviteLink, Keyword,
RecipeBook, RecipeBookEntry, RecipeImport, ShareLink,
ShoppingList, ShoppingListEntry, ShoppingListRecipe,
Space, Step, Storage, Sync, SyncLog, Unit, UserPreference,
ViewLog, Supermarket, SupermarketCategory, SupermarketCategoryRelation, ImportLog, TelegramBot)
ViewLog, Supermarket, SupermarketCategory, SupermarketCategoryRelation,
ImportLog, TelegramBot, BookmarkletImport)
class CustomUserAdmin(UserAdmin):
@@ -165,7 +166,7 @@ admin.site.register(ViewLog, ViewLogAdmin)
class InviteLinkAdmin(admin.ModelAdmin):
list_display = (
'username', 'group', 'valid_until',
'group', 'valid_until',
'created_by', 'created_at', 'used_by'
)
@@ -227,3 +228,10 @@ class TelegramBotAdmin(admin.ModelAdmin):
admin.site.register(TelegramBot, TelegramBotAdmin)
class BookmarkletImportAdmin(admin.ModelAdmin):
list_display = ('id', 'url', 'created_by', 'created_at',)
admin.site.register(BookmarkletImport, BookmarkletImportAdmin)

View File

@@ -49,8 +49,10 @@ with scopes_disabled():
def filter_name(queryset, name, value):
if not name == 'name':
return queryset
if settings.DATABASES['default']['ENGINE'] == 'django.db.backends.postgresql_psycopg2':
queryset = queryset.annotate(similarity=TrigramSimilarity('name', value), ).filter(Q(similarity__gt=0.1) | Q(name__unaccent__icontains=value)).order_by('-similarity')
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2',
'django.db.backends.postgresql']:
queryset = queryset.annotate(similarity=TrigramSimilarity('name', value), ).filter(
Q(similarity__gt=0.1) | Q(name__unaccent__icontains=value)).order_by('-similarity')
else:
queryset = queryset.filter(name__icontains=value)
return queryset

View File

@@ -1,8 +1,12 @@
from django import forms
from django.conf import settings
from django.core.exceptions import ValidationError
from django.forms import widgets
from django.utils.translation import gettext_lazy as _
from django_scopes import scopes_disabled
from django_scopes.forms import SafeModelChoiceField, SafeModelMultipleChoiceField
from emoji_picker.widgets import EmojiPickerTextInput
from hcaptcha.fields import hCaptchaField
from .models import (Comment, Food, InviteLink, Keyword, MealPlan, Recipe,
RecipeBook, RecipeBookEntry, Storage, Sync, Unit, User,
@@ -42,10 +46,15 @@ class UserPreferenceForm(forms.ModelForm):
)
help_texts = {
'nav_color': _('Color of the top navigation bar. Not all colors work with all themes, just try them out!'), # noqa: E501
'nav_color': _('Color of the top navigation bar. Not all colors work with all themes, just try them out!'),
# noqa: E501
'default_unit': _('Default Unit to be used when inserting a new ingredient into a recipe.'), # noqa: E501
'use_fractions': _('Enables support for fractions in ingredient amounts (e.g. convert decimals to fractions automatically)'), # noqa: E501
'plan_share': _('Users with whom newly created meal plan/shopping list entries should be shared by default.'), # noqa: E501
'use_fractions': _(
'Enables support for fractions in ingredient amounts (e.g. convert decimals to fractions automatically)'),
# noqa: E501
'plan_share': _(
'Users with whom newly created meal plan/shopping list entries should be shared by default.'),
# noqa: E501
'show_recent': _('Show recently viewed recipes on search page.'), # noqa: E501
'ingredient_decimals': _('Number of decimals to round ingredients.'), # noqa: E501
'comments': _('If you want to be able to create and see comments underneath recipes.'), # noqa: E501
@@ -69,7 +78,7 @@ class UserNameForm(forms.ModelForm):
fields = ('first_name', 'last_name')
help_texts = {
'first_name': _('Both fields are optional. If none are given the username will be displayed instead') # noqa: E501
'first_name': _('Both fields are optional. If none are given the username will be displayed instead')
}
@@ -112,6 +121,7 @@ class ImportExportBase(forms.Form):
SAFRON = 'SAFRON'
CHEFTAP = 'CHEFTAP'
PEPPERPLATE = 'PEPPERPLATE'
RECETTETEK = 'RECETTETEK'
RECIPESAGE = 'RECIPESAGE'
DOMESTICA = 'DOMESTICA'
MEALMASTER = 'MEALMASTER'
@@ -120,14 +130,16 @@ class ImportExportBase(forms.Form):
type = forms.ChoiceField(choices=(
(DEFAULT, _('Default')), (PAPRIKA, 'Paprika'), (NEXTCLOUD, 'Nextcloud Cookbook'),
(MEALIE, 'Mealie'), (CHOWDOWN, 'Chowdown'), (SAFRON, 'Safron'), (CHEFTAP, 'ChefTap'),
(PEPPERPLATE, 'Pepperplate'), (RECIPESAGE, 'Recipe Sage'), (DOMESTICA, 'Domestica'),
(PEPPERPLATE, 'Pepperplate'), (RECETTETEK, 'RecetteTek'), (RECIPESAGE, 'Recipe Sage'), (DOMESTICA, 'Domestica'),
(MEALMASTER, 'MealMaster'), (REZKONV, 'RezKonv'),
))
class ImportForm(ImportExportBase):
files = forms.FileField(required=True, widget=forms.ClearableFileInput(attrs={'multiple': True}))
duplicates = forms.BooleanField(help_text=_('To prevent duplicates recipes with the same name as existing ones are ignored. Check this box to import everything.'), required=False)
duplicates = forms.BooleanField(help_text=_(
'To prevent duplicates recipes with the same name as existing ones are ignored. Check this box to import everything.'),
required=False)
class ExportForm(ImportExportBase):
@@ -250,7 +262,8 @@ class StorageForm(forms.ModelForm):
fields = ('name', 'method', 'username', 'password', 'token', 'url', 'path')
help_texts = {
'url': _('Leave empty for dropbox and enter only base url for nextcloud (<code>/remote.php/webdav/</code> is added automatically)'),
'url': _(
'Leave empty for dropbox and enter only base url for nextcloud (<code>/remote.php/webdav/</code> is added automatically)'),
}
@@ -365,7 +378,8 @@ class MealPlanForm(forms.ModelForm):
help_texts = {
'shared': _('You can list default users to share recipes with in the settings.'), # noqa: E501
'note': _('You can use markdown to format this field. See the <a href="/docs/markdown/">docs here</a>') # noqa: E501
'note': _('You can use markdown to format this field. See the <a href="/docs/markdown/">docs here</a>')
# noqa: E501
}
widgets = {
@@ -386,17 +400,62 @@ class InviteLinkForm(forms.ModelForm):
super().__init__(*args, **kwargs)
self.fields['space'].queryset = Space.objects.filter(created_by=user).all()
def clean(self):
space = self.cleaned_data['space']
if space.max_users != 0 and (UserPreference.objects.filter(space=space).count() + InviteLink.objects.filter(space=space).count()) >= space.max_users:
raise ValidationError(_('Maximum number of users for this space reached.'))
def clean_email(self):
email = self.cleaned_data['email']
with scopes_disabled():
if email != '' and User.objects.filter(email=email).exists():
raise ValidationError(_('Email address already taken!'))
return email
class Meta:
model = InviteLink
fields = ('username', 'group', 'valid_until', 'space')
fields = ('email', 'group', 'valid_until', 'space')
help_texts = {
'username': _('A username is not required, if left blank the new user can choose one.') # noqa: E501
'email': _('An email address is not required but if present the invite link will be send to the user.'),
}
field_classes = {
'space': SafeModelChoiceField,
}
class SpaceCreateForm(forms.Form):
prefix = 'create'
name = forms.CharField()
def clean_name(self):
name = self.cleaned_data['name']
with scopes_disabled():
if Space.objects.filter(name=name).exists():
raise ValidationError(_('Name already taken.'))
return name
class SpaceJoinForm(forms.Form):
prefix = 'join'
token = forms.CharField()
class AllAuthSignupForm(forms.Form):
captcha = hCaptchaField()
terms = forms.BooleanField(label=_('Accept Terms and Privacy'))
def __init__(self, **kwargs):
super(AllAuthSignupForm, self).__init__(**kwargs)
if settings.PRIVACY_URL == '' and settings.TERMS_URL == '':
self.fields.pop('terms')
if settings.HCAPTCHA_SECRET == '':
self.fields.pop('captcha')
def signup(self, request, user):
pass
class UserCreateForm(forms.Form):
name = forms.CharField(label='Username')
password = forms.CharField(

View File

@@ -1,6 +1,11 @@
import datetime
from django.conf import settings
from allauth.account.adapter import DefaultAccountAdapter
from django.contrib import messages
from django.core.cache import caches
from gettext import gettext as _
class AllAuthCustomAdapter(DefaultAccountAdapter):
@@ -9,11 +14,19 @@ class AllAuthCustomAdapter(DefaultAccountAdapter):
"""
Whether to allow sign ups.
"""
if request.resolver_match.view_name == 'account_signup':
if request.resolver_match.view_name == 'account_signup' and not settings.ENABLE_SIGNUP:
return False
else:
return super(AllAuthCustomAdapter, self).is_open_for_signup(request)
# disable password reset for now
def send_mail(self, template_prefix, email, context):
pass
if settings.EMAIL_HOST != '':
default = datetime.datetime.now()
c = caches['default'].get_or_set(email, default, timeout=360)
if c == default:
super(AllAuthCustomAdapter, self).send_mail(template_prefix, email, context)
else:
messages.add_message(self.request, messages.ERROR, _('In order to prevent spam, the requested email was not send. Please wait a few minutes and try again.'))
else:
pass

View File

@@ -0,0 +1,19 @@
import hashlib
from django.conf import settings
from django.core.cache import cache
from storages.backends.s3boto3 import S3Boto3Storage
class CachedS3Boto3Storage(S3Boto3Storage):
def url(self, name, **kwargs):
key = hashlib.md5(f'recipes_media_urls_{name}'.encode('utf-8')).hexdigest()
if result := cache.get(key):
return result
result = super(CachedS3Boto3Storage, self).url(name, **kwargs)
timeout = int(settings.AWS_QUERYSTRING_EXPIRE * .95)
cache.set(key, result, timeout)
return result

View File

@@ -0,0 +1,13 @@
from django.conf import settings
def context_settings(request):
return {
'EMAIL_ENABLED': settings.EMAIL_HOST != '',
'SIGNUP_ENABLED': settings.ENABLE_SIGNUP,
'CAPTCHA_ENABLED': settings.HCAPTCHA_SITEKEY != '',
'HOSTED': settings.HOSTED,
'TERMS_URL': settings.TERMS_URL,
'PRIVACY_URL': settings.PRIVACY_URL,
'IMPRINT_URL': settings.IMPRINT_URL,
}

View File

@@ -19,7 +19,8 @@ class StyleTreeprocessor(Treeprocessor):
class MarkdownFormatExtension(markdown.Extension):
def extendMarkdown(self, md, md_globals):
# md_ globals deprecated - see here:
def extendMarkdown(self, md):
md.treeprocessors.register(
StyleTreeprocessor(),
'StyleTreeprocessor',

View File

@@ -120,9 +120,12 @@ class GroupRequiredMixin(object):
def dispatch(self, request, *args, **kwargs):
if not has_group_permission(request.user, self.groups_required):
messages.add_message(request, messages.ERROR, _('You do not have the required permissions to view this page!'))
return HttpResponseRedirect(reverse_lazy('index'))
if not request.user.is_authenticated:
messages.add_message(request, messages.ERROR, _('You are not logged in and therefore cannot view this page!'))
return HttpResponseRedirect(reverse_lazy('account_login') + '?next=' + request.path)
else:
messages.add_message(request, messages.ERROR, _('You do not have the required permissions to view this page!'))
return HttpResponseRedirect(reverse_lazy('index'))
try:
obj = self.get_object()
if obj.get_space() != request.space:

View File

@@ -0,0 +1,193 @@
import json
import re
from bs4 import BeautifulSoup
from bs4.element import Tag
from cookbook.helper import recipe_url_import as helper
from cookbook.helper.scrapers.scrapers import text_scraper
from json import JSONDecodeError
from recipe_scrapers._utils import get_host_name, normalize_string
from urllib.parse import unquote
def get_recipe_from_source(text, url, space):
def build_node(k, v):
if isinstance(v, dict):
node = {
'name': k,
'value': k,
'children': get_children_dict(v)
}
elif isinstance(v, list):
node = {
'name': k,
'value': k,
'children': get_children_list(v)
}
else:
node = {
'name': k + ": " + normalize_string(str(v)),
'value': normalize_string(str(v))
}
return node
def get_children_dict(children):
kid_list = []
for k, v in children.items():
kid_list.append(build_node(k, v))
return kid_list
def get_children_list(children):
kid_list = []
for kid in children:
if type(kid) == list:
node = {
'name': "unknown list",
'value': "unknown list",
'children': get_children_list(kid)
}
kid_list.append(node)
elif type(kid) == dict:
for k, v in kid.items():
kid_list.append(build_node(k, v))
else:
kid_list.append({
'name': normalize_string(str(kid)),
'value': normalize_string(str(kid))
})
return kid_list
recipe_json = {
'name': '',
'url': '',
'description': '',
'image': '',
'keywords': [],
'recipeIngredient': [],
'recipeInstructions': '',
'servings': '',
'prepTime': '',
'cookTime': ''
}
recipe_tree = []
parse_list = []
html_data = []
images = []
text = unquote(text)
try:
parse_list.append(remove_graph(json.loads(text)))
if not url and 'url' in parse_list[0]:
url = parse_list[0]['url']
scrape = text_scraper("<script type='application/ld+json'>" + text + "</script>", url=url)
except JSONDecodeError:
soup = BeautifulSoup(text, "html.parser")
html_data = get_from_html(soup)
images += get_images_from_source(soup, url)
for el in soup.find_all('script', type='application/ld+json'):
el = remove_graph(el)
if not url and 'url' in el:
url = el['url']
if type(el) == list:
for le in el:
parse_list.append(le)
elif type(el) == dict:
parse_list.append(el)
for el in soup.find_all(type='application/json'):
el = remove_graph(el)
if type(el) == list:
for le in el:
parse_list.append(le)
elif type(el) == dict:
parse_list.append(el)
scrape = text_scraper(text, url=url)
recipe_json = helper.get_from_scraper(scrape, space)
for el in parse_list:
temp_tree = []
if isinstance(el, Tag):
try:
el = json.loads(el.string)
except TypeError:
continue
for k, v in el.items():
if isinstance(v, dict):
node = {
'name': k,
'value': k,
'children': get_children_dict(v)
}
elif isinstance(v, list):
node = {
'name': k,
'value': k,
'children': get_children_list(v)
}
else:
node = {
'name': k + ": " + normalize_string(str(v)),
'value': normalize_string(str(v))
}
temp_tree.append(node)
if '@type' in el and el['@type'] == 'Recipe':
recipe_tree += [{'name': 'ld+json', 'children': temp_tree}]
else:
recipe_tree += [{'name': 'json', 'children': temp_tree}]
return recipe_json, recipe_tree, html_data, images
def get_from_html(soup):
INVISIBLE_ELEMS = ('style', 'script', 'head', 'title')
html = []
for s in soup.strings:
if ((s.parent.name not in INVISIBLE_ELEMS) and (len(s.strip()) > 0)):
html.append(s)
return html
def get_images_from_source(soup, url):
sources = ['src', 'srcset', 'data-src']
images = []
img_tags = soup.find_all('img')
if url:
site = get_host_name(url)
prot = url.split(':')[0]
urls = []
for img in img_tags:
for src in sources:
try:
urls.append(img[src])
except KeyError:
pass
for u in urls:
u = u.split('?')[0]
filename = re.search(r'/([\w_-]+[.](jpg|jpeg|gif|png))$', u)
if filename:
if (('http' not in u) and (url)):
# sometimes an image source can be relative
# if it is provide the base url
u = '{}://{}{}'.format(prot, site, u)
if 'http' in u:
images.append(u)
return images
def remove_graph(el):
# recipes type might be wrapped in @graph type
if isinstance(el, Tag):
try:
el = json.loads(el.string)
if '@graph' in el:
for x in el['@graph']:
if '@type' in x and x['@type'] == 'Recipe':
el = x
except TypeError:
pass
return el

View File

@@ -0,0 +1,72 @@
from datetime import datetime, timedelta
from functools import reduce
from django.contrib.postgres.search import TrigramSimilarity
from django.db.models import Q, Case, When, Value
from django.forms import IntegerField
from cookbook.models import ViewLog
from recipes import settings
def search_recipes(request, queryset, params):
search_string = params.get('query', '')
search_keywords = params.getlist('keywords', [])
search_foods = params.getlist('foods', [])
search_books = params.getlist('books', [])
search_keywords_or = params.get('keywords_or', True)
search_foods_or = params.get('foods_or', True)
search_books_or = params.get('books_or', True)
search_internal = params.get('internal', None)
search_random = params.get('random', False)
search_last_viewed = int(params.get('last_viewed', 0))
if search_last_viewed > 0:
last_viewed_recipes = ViewLog.objects.filter(created_by=request.user, space=request.space,
created_at__gte=datetime.now() - timedelta(days=14)).order_by('pk').values_list('recipe__pk', flat=True).distinct()
return queryset.filter(pk__in=last_viewed_recipes[len(last_viewed_recipes) - min(len(last_viewed_recipes), search_last_viewed):])
queryset = queryset.annotate(
new_recipe=Case(When(created_at__gte=(datetime.now() - timedelta(days=7)), then=Value(100)),
default=Value(0), )).order_by('-new_recipe', 'name')
if settings.DATABASES['default']['ENGINE'] in ['django.db.backends.postgresql_psycopg2',
'django.db.backends.postgresql']:
queryset = queryset.annotate(similarity=TrigramSimilarity('name', search_string), ).filter(
Q(similarity__gt=0.1) | Q(name__unaccent__icontains=search_string)).order_by('-similarity')
else:
queryset = queryset.filter(name__icontains=search_string)
if len(search_keywords) > 0:
if search_keywords_or == 'true':
queryset = queryset.filter(keywords__id__in=search_keywords)
else:
for k in search_keywords:
queryset = queryset.filter(keywords__id=k)
if len(search_foods) > 0:
if search_foods_or == 'true':
queryset = queryset.filter(steps__ingredients__food__id__in=search_foods)
else:
for k in search_foods:
queryset = queryset.filter(steps__ingredients__food__id=k)
if len(search_books) > 0:
if search_books_or == 'true':
queryset = queryset.filter(recipebookentry__book__id__in=search_books)
else:
for k in search_books:
queryset = queryset.filter(recipebookentry__book__id=k)
queryset = queryset.distinct()
if search_internal == 'true':
queryset = queryset.filter(internal=True)
if search_random == 'true':
queryset = queryset.order_by("?")
return queryset

View File

@@ -1,269 +1,97 @@
import json
import random
import re
from json import JSONDecodeError
from isodate import parse_duration as iso_parse_duration
from isodate.isoerror import ISO8601Error
from recipe_scrapers._exceptions import ElementNotFoundInHtml
import microdata
from bs4 import BeautifulSoup
from cookbook.helper.ingredient_parser import parse as parse_ingredient
from cookbook.helper.ingredient_parser import parse as parse_single_ingredient
from cookbook.models import Keyword
from django.http import JsonResponse
from django.utils.dateparse import parse_duration
from django.utils.translation import gettext as _
from recipe_scrapers import _utils
def get_from_html(html_text, url, space):
soup = BeautifulSoup(html_text, "html.parser")
# first try finding ld+json as its most common
for ld in soup.find_all('script', type='application/ld+json'):
try:
ld_json = json.loads(ld.string.replace('\n', ''))
if type(ld_json) != list:
ld_json = [ld_json]
for ld_json_item in ld_json:
# recipes type might be wrapped in @graph type
if '@graph' in ld_json_item:
for x in ld_json_item['@graph']:
if '@type' in x and x['@type'] == 'Recipe':
ld_json_item = x
if ('@type' in ld_json_item
and ld_json_item['@type'] == 'Recipe'):
return JsonResponse(find_recipe_json(ld_json_item, url, space))
except JSONDecodeError:
return JsonResponse(
{
'error': True,
'msg': _('The requested site provided malformed data and cannot be read.') # noqa: E501
},
status=400)
# now try to find microdata
items = microdata.get_items(html_text)
for i in items:
md_json = json.loads(i.json())
if 'schema.org/Recipe' in str(md_json['type']):
return JsonResponse(find_recipe_json(md_json['properties'], url, space))
return JsonResponse(
{
'error': True,
'msg': _('The requested site does not provide any recognized data format to import the recipe from.') # noqa: E501
},
status=400)
def find_recipe_json(ld_json, url, space):
if type(ld_json['name']) == list:
try:
ld_json['name'] = ld_json['name'][0]
except Exception:
ld_json['name'] = 'ERROR'
# some sites use ingredients instead of recipeIngredients
if 'recipeIngredient' not in ld_json and 'ingredients' in ld_json:
ld_json['recipeIngredient'] = ld_json['ingredients']
if 'recipeIngredient' in ld_json:
# some pages have comma separated ingredients in a single array entry
if (len(ld_json['recipeIngredient']) == 1
and type(ld_json['recipeIngredient']) == list):
ld_json['recipeIngredient'] = ld_json['recipeIngredient'][0].split(',') # noqa: E501
elif type(ld_json['recipeIngredient']) == str:
ld_json['recipeIngredient'] = ld_json['recipeIngredient'].split(',')
for x in ld_json['recipeIngredient']:
if '\n' in x:
ld_json['recipeIngredient'].remove(x)
for i in x.split('\n'):
ld_json['recipeIngredient'].insert(0, i)
ingredients = []
for x in ld_json['recipeIngredient']:
if x.replace(' ', '') != '':
x = x.replace('&frac12;', "0.5").replace('&frac14;', "0.25").replace('&frac34;', "0.75")
try:
amount, unit, ingredient, note = parse_ingredient(x)
if ingredient:
ingredients.append(
{
'amount': amount,
'unit': {
'text': unit,
'id': random.randrange(10000, 99999)
},
'ingredient': {
'text': ingredient,
'id': random.randrange(10000, 99999)
},
'note': note,
'original': x
}
)
except Exception:
ingredients.append(
{
'amount': 0,
'unit': {
'text': '',
'id': random.randrange(10000, 99999)
},
'ingredient': {
'text': x,
'id': random.randrange(10000, 99999)
},
'note': '',
'original': x
}
)
ld_json['recipeIngredient'] = ingredients
else:
ld_json['recipeIngredient'] = []
if 'keywords' in ld_json:
ld_json['keywords'] = parse_keywords(listify_keywords(ld_json['keywords']), space)
if 'recipeInstructions' in ld_json:
instructions = ''
# flatten instructions if they are in a list
if type(ld_json['recipeInstructions']) == list:
for i in ld_json['recipeInstructions']:
if type(i) == str:
instructions += i
else:
if 'text' in i:
instructions += i['text'] + '\n\n'
elif 'itemListElement' in i:
for ile in i['itemListElement']:
if type(ile) == str:
instructions += ile + '\n\n'
elif 'text' in ile:
instructions += ile['text'] + '\n\n'
else:
instructions += str(i)
ld_json['recipeInstructions'] = instructions
ld_json['recipeInstructions'] = re.sub(r'\n\s*\n', '\n\n', ld_json['recipeInstructions']) # noqa: E501
ld_json['recipeInstructions'] = re.sub(' +', ' ', ld_json['recipeInstructions']) # noqa: E501
ld_json['recipeInstructions'] = ld_json['recipeInstructions'].replace('<p>', '') # noqa: E501
ld_json['recipeInstructions'] = ld_json['recipeInstructions'].replace('</p>', '') # noqa: E501
else:
ld_json['recipeInstructions'] = ''
if url != '':
ld_json['recipeInstructions'] += '\n\n' + _('Imported from') + ' ' + url
if 'image' in ld_json:
# check if list of images is returned, take first if so
if (type(ld_json['image'])) == list:
if type(ld_json['image'][0]) == str:
ld_json['image'] = ld_json['image'][0]
elif 'url' in ld_json['image'][0]:
ld_json['image'] = ld_json['image'][0]['url']
# ignore relative image paths
if 'http' not in ld_json['image']:
ld_json['image'] = ''
if 'cookTime' in ld_json:
try:
if (type(ld_json['cookTime']) == list
and len(ld_json['cookTime']) > 0):
ld_json['cookTime'] = ld_json['cookTime'][0]
ld_json['cookTime'] = round(
parse_duration(
ld_json['cookTime']
).seconds / 60
)
except TypeError:
ld_json['cookTime'] = 0
else:
ld_json['cookTime'] = 0
if 'prepTime' in ld_json:
try:
if (type(ld_json['prepTime']) == list
and len(ld_json['prepTime']) > 0):
ld_json['prepTime'] = ld_json['prepTime'][0]
ld_json['prepTime'] = round(
parse_duration(
ld_json['prepTime']
).seconds / 60
)
except TypeError:
ld_json['prepTime'] = 0
else:
ld_json['prepTime'] = 0
ld_json['servings'] = 1
try:
if 'recipeYield' in ld_json:
if type(ld_json['recipeYield']) == str:
ld_json['servings'] = int(re.findall(r'\b\d+\b', ld_json['recipeYield'])[0])
elif type(ld_json['recipeYield']) == list:
ld_json['servings'] = int(re.findall(r'\b\d+\b', ld_json['recipeYield'][0])[0])
except Exception as e:
print(e)
for key in list(ld_json):
if key not in [
'prepTime', 'cookTime', 'image', 'recipeInstructions',
'keywords', 'name', 'recipeIngredient', 'servings', 'description'
]:
ld_json.pop(key, None)
return ld_json
from html import unescape
from recipe_scrapers._schemaorg import SchemaOrgException
from recipe_scrapers._utils import get_minutes
def get_from_scraper(scrape, space):
# converting the scrape_me object to the existing json format based on ld+json
recipe_json = {}
recipe_json['name'] = scrape.title()
try:
recipe_json['name'] = parse_name(scrape.title() or None)
except Exception:
recipe_json['name'] = None
if not recipe_json['name']:
try:
recipe_json['name'] = scrape.schema.data.get('name') or ''
except Exception:
recipe_json['name'] = ''
try:
description = scrape.schema.data.get("description") or ''
recipe_json['prepTime'] = _utils.get_minutes(scrape.schema.data.get("prepTime")) or 0
recipe_json['cookTime'] = _utils.get_minutes(scrape.schema.data.get("cookTime")) or 0
except AttributeError:
except Exception:
description = ''
recipe_json['prepTime'] = 0
recipe_json['cookTime'] = 0
recipe_json['description'] = description
recipe_json['description'] = parse_description(description)
try:
servings = scrape.yields()
servings = int(re.findall(r'\b\d+\b', servings)[0])
except (AttributeError, ValueError, IndexError):
servings = 1
recipe_json['servings'] = servings
servings = scrape.yields() or None
except Exception:
servings = None
if not servings:
try:
servings = scrape.schema.data.get('recipeYield') or 1
except Exception:
servings = 1
if type(servings) != int:
try:
servings = int(re.findall(r'\b\d+\b', servings)[0])
except Exception:
servings = 1
recipe_json['servings'] = max(servings, 1)
try:
recipe_json['prepTime'] = get_minutes(scrape.schema.data.get("prepTime")) or 0
except Exception:
recipe_json['prepTime'] = 0
try:
recipe_json['cookTime'] = get_minutes(scrape.schema.data.get("cookTime")) or 0
except Exception:
recipe_json['cookTime'] = 0
if recipe_json['cookTime'] + recipe_json['prepTime'] == 0:
try:
recipe_json['prepTime'] = scrape.total_time()
except AttributeError:
pass
recipe_json['prepTime'] = get_minutes(scrape.total_time()) or 0
except Exception:
try:
get_minutes(scrape.schema.data.get("totalTime")) or 0
except Exception:
pass
try:
recipe_json['image'] = scrape.image()
except AttributeError:
pass
recipe_json['image'] = parse_image(scrape.image()) or None
except Exception:
recipe_json['image'] = None
if not recipe_json['image']:
try:
recipe_json['image'] = parse_image(scrape.schema.data.get('image')) or ''
except Exception:
recipe_json['image'] = ''
keywords = []
try:
if scrape.schema.data.get("keywords"):
keywords += listify_keywords(scrape.schema.data.get("keywords"))
except Exception:
pass
try:
if scrape.schema.data.get('recipeCategory'):
keywords += listify_keywords(scrape.schema.data.get("recipeCategory"))
except Exception:
pass
try:
if scrape.schema.data.get('recipeCuisine'):
keywords += listify_keywords(scrape.schema.data.get("recipeCuisine"))
except Exception:
pass
try:
recipe_json['keywords'] = parse_keywords(list(set(map(str.casefold, keywords))), space)
except AttributeError:
recipe_json['keywords'] = keywords
@@ -272,7 +100,7 @@ def get_from_scraper(scrape, space):
ingredients = []
for x in scrape.ingredients():
try:
amount, unit, ingredient, note = parse_ingredient(x)
amount, unit, ingredient, note = parse_single_ingredient(x)
if ingredient:
ingredients.append(
{
@@ -306,38 +134,228 @@ def get_from_scraper(scrape, space):
}
)
recipe_json['recipeIngredient'] = ingredients
except AttributeError:
except Exception:
recipe_json['recipeIngredient'] = ingredients
try:
recipe_json['recipeInstructions'] = scrape.instructions()
except AttributeError:
recipe_json['recipeInstructions'] = parse_instructions(scrape.instructions())
except Exception:
recipe_json['recipeInstructions'] = ""
recipe_json['recipeInstructions'] += "\n\nImported from " + scrape.url
if scrape.url:
recipe_json['url'] = scrape.url
recipe_json['recipeInstructions'] += "\n\nImported from " + scrape.url
return recipe_json
def parse_name(name):
if type(name) == list:
try:
name = name[0]
except Exception:
name = 'ERROR'
return normalize_string(name)
def parse_ingredients(ingredients):
# some pages have comma separated ingredients in a single array entry
try:
if type(ingredients[0]) == dict:
return ingredients
except (KeyError, IndexError):
pass
if (len(ingredients) == 1 and type(ingredients) == list):
ingredients = ingredients[0].split(',')
elif type(ingredients) == str:
ingredients = ingredients.split(',')
for x in ingredients:
if '\n' in x:
ingredients.remove(x)
for i in x.split('\n'):
ingredients.insert(0, i)
ingredient_list = []
for x in ingredients:
if x.replace(' ', '') != '':
x = x.replace('&frac12;', "0.5").replace('&frac14;', "0.25").replace('&frac34;', "0.75")
try:
amount, unit, ingredient, note = parse_single_ingredient(x)
if ingredient:
ingredient_list.append(
{
'amount': amount,
'unit': {
'text': unit,
'id': random.randrange(10000, 99999)
},
'ingredient': {
'text': ingredient,
'id': random.randrange(10000, 99999)
},
'note': note,
'original': x
}
)
except Exception:
ingredient_list.append(
{
'amount': 0,
'unit': {
'text': '',
'id': random.randrange(10000, 99999)
},
'ingredient': {
'text': x,
'id': random.randrange(10000, 99999)
},
'note': '',
'original': x
}
)
ingredients = ingredient_list
else:
ingredients = []
return ingredients
def parse_description(description):
return normalize_string(description)
def parse_instructions(instructions):
instruction_text = ''
# flatten instructions if they are in a list
if type(instructions) == list:
for i in instructions:
if type(i) == str:
instruction_text += i
else:
if 'text' in i:
instruction_text += i['text'] + '\n\n'
elif 'itemListElement' in i:
for ile in i['itemListElement']:
if type(ile) == str:
instruction_text += ile + '\n\n'
elif 'text' in ile:
instruction_text += ile['text'] + '\n\n'
else:
instruction_text += str(i)
instructions = instruction_text
return normalize_string(instructions)
def parse_image(image):
# check if list of images is returned, take first if so
if not image:
return None
if type(image) == list:
for pic in image:
if (type(pic) == str) and (pic[:4] == 'http'):
image = pic
elif 'url' in pic:
image = pic['url']
elif type(image) == dict:
if 'url' in image:
image = image['url']
# ignore relative image paths
if image[:4] != 'http':
image = ''
return image
def parse_servings(servings):
if type(servings) == str:
try:
servings = int(re.search(r'\d+', servings).group())
except AttributeError:
servings = 1
elif type(servings) == list:
try:
servings = int(re.findall(r'\b\d+\b', servings[0])[0])
except KeyError:
servings = 1
return servings
def parse_cooktime(cooktime):
if type(cooktime) not in [int, float]:
try:
cooktime = float(re.search(r'\d+', cooktime).group())
except (ValueError, AttributeError):
try:
cooktime = round(iso_parse_duration(cooktime).seconds / 60)
except ISO8601Error:
try:
if (type(cooktime) == list and len(cooktime) > 0):
cooktime = cooktime[0]
cooktime = round(parse_duration(cooktime).seconds / 60)
except AttributeError:
cooktime = 0
return cooktime
def parse_preptime(preptime):
if type(preptime) not in [int, float]:
try:
preptime = float(re.search(r'\d+', preptime).group())
except ValueError:
try:
preptime = round(iso_parse_duration(preptime).seconds / 60)
except ISO8601Error:
try:
if (type(preptime) == list and len(preptime) > 0):
preptime = preptime[0]
preptime = round(parse_duration(preptime).seconds / 60)
except AttributeError:
preptime = 0
return preptime
def parse_keywords(keyword_json, space):
keywords = []
# keywords as list
for kw in keyword_json:
if k := Keyword.objects.filter(name=kw, space=space).first():
keywords.append({'id': str(k.id), 'text': str(k)})
else:
keywords.append({'id': random.randrange(1111111, 9999999, 1), 'text': kw})
kw = normalize_string(kw)
if len(kw) != 0:
if k := Keyword.objects.filter(name=kw, space=space).first():
keywords.append({'id': str(k.id), 'text': str(k)})
else:
keywords.append({'id': random.randrange(1111111, 9999999, 1), 'text': kw})
return keywords
def listify_keywords(keyword_list):
# keywords as string
try:
if type(keyword_list[0]) == dict:
return keyword_list
except (KeyError, IndexError):
pass
if type(keyword_list) == str:
keyword_list = keyword_list.split(',')
# keywords as string in list
if (type(keyword_list) == list
and len(keyword_list) == 1
and ',' in keyword_list[0]):
if (type(keyword_list) == list and len(keyword_list) == 1 and ',' in keyword_list[0]):
keyword_list = keyword_list[0].split(',')
return [x.strip() for x in keyword_list]
def normalize_string(string):
# Convert all named and numeric character references (e.g. &gt;, &#62;)
unescaped_string = unescape(string)
unescaped_string = re.sub('<[^<]+?>', '', unescaped_string)
unescaped_string = re.sub(' +', ' ', unescaped_string)
unescaped_string = re.sub('</p>', '\n', unescaped_string)
unescaped_string = re.sub(r'\n\s*\n', '\n\n', unescaped_string)
unescaped_string = unescaped_string.replace("\xa0", " ").replace("\t", " ").strip()
return unescaped_string

View File

@@ -16,6 +16,12 @@ class ScopeMiddleware:
with scopes_disabled():
return self.get_response(request)
if request.path.startswith('/signup/') or request.path.startswith('/invite/'):
return self.get_response(request)
if request.path.startswith('/accounts/'):
return self.get_response(request)
with scopes_disabled():
if request.user.userpreference.space is None and not reverse('account_logout') in request.path:
return views.no_space(request)

View File

@@ -0,0 +1,68 @@
import json
from recipe_scrapers._abstract import AbstractScraper
class CooksIllustrated(AbstractScraper):
@classmethod
def host(cls, site='cooksillustrated'):
return {
'cooksillustrated': f"{site}.com",
'americastestkitchen': f"{site}.com",
'cookscountry': f"{site}.com",
}.get(site)
def title(self):
return self.schema.title()
def image(self):
return self.schema.image()
def total_time(self):
if not self.recipe:
self.get_recipe()
return self.recipe['recipeTimeNote']
def yields(self):
if not self.recipe:
self.get_recipe()
return self.recipe['yields']
def ingredients(self):
if not self.recipe:
self.get_recipe()
ingredients = []
for group in self.recipe['ingredientGroups']:
ingredients += group['fields']['recipeIngredientItems']
return [
"{} {} {}{}".format(
i['fields']['qty'] or '',
i['fields']['measurement'] or '',
i['fields']['ingredient']['fields']['title'] or '',
i['fields']['postText'] or ''
)
for i in ingredients
]
def instructions(self):
if not self.recipe:
self.get_recipe()
if self.recipe.get('headnote', False):
i = ['Note: ' + self.recipe.get('headnote', '')]
else:
i = []
return "\n".join(
i
+ [self.recipe.get('whyThisWorks', '')]
+ [
instruction['fields']['content']
for instruction in self.recipe['instructions']
]
)
def nutrients(self):
raise NotImplementedError("This should be implemented.")
def get_recipe(self):
j = json.loads(self.soup.find(type='application/json').string)
name = list(j['props']['initialState']['content']['documents'])[0]
self.recipe = j['props']['initialState']['content']['documents'][name]

View File

@@ -0,0 +1,43 @@
from bs4 import BeautifulSoup
from json import JSONDecodeError
from recipe_scrapers import SCRAPERS, get_host_name
from recipe_scrapers._factory import SchemaScraperFactory
from recipe_scrapers._schemaorg import SchemaOrg
from .cooksillustrated import CooksIllustrated
CUSTOM_SCRAPERS = {
CooksIllustrated.host(site="cooksillustrated"): CooksIllustrated,
CooksIllustrated.host(site="americastestkitchen"): CooksIllustrated,
CooksIllustrated.host(site="cookscountry"): CooksIllustrated,
}
SCRAPERS.update(CUSTOM_SCRAPERS)
def text_scraper(text, url=None):
domain = None
if url:
domain = get_host_name(url)
if domain in SCRAPERS:
scraper_class = SCRAPERS[domain]
else:
scraper_class = SchemaScraperFactory.SchemaScraper
class TextScraper(scraper_class):
def __init__(
self,
page_data,
url=None
):
self.wild_mode = False
# self.exception_handling = None # TODO add new method here, old one was deprecated
self.meta_http_equiv = False
self.soup = BeautifulSoup(page_data, "html.parser")
self.url = url
self.recipe = None
try:
self.schema = SchemaOrg(page_data)
except (JSONDecodeError, AttributeError):
pass
return TextScraper(text, url)

View File

@@ -11,7 +11,7 @@ class ChefTap(Integration):
def import_file_name_filter(self, zip_info_object):
print("testing", zip_info_object.filename)
return re.match(r'^cheftap_export/([A-Za-z\d\w\s-])+.txt$', zip_info_object.filename)
return re.match(r'^cheftap_export/([A-Za-z\d\w\s-])+.txt$', zip_info_object.filename) or re.match(r'^([A-Za-z\d\w\s-])+.txt$', zip_info_object.filename)
def get_recipe_from_file(self, file):
source_url = ''

View File

@@ -57,9 +57,8 @@ class Integration:
recipe_stream.write(data)
recipe_zip_obj.writestr(filename, recipe_stream.getvalue())
recipe_stream.close()
try:
recipe_zip_obj.write(r.image.path, 'image.png')
recipe_zip_obj.writestr('image.png', r.image.file.read())
except ValueError:
pass
@@ -109,29 +108,51 @@ class Integration:
import_zip = ZipFile(f['file'])
for z in import_zip.filelist:
if self.import_file_name_filter(z):
recipe = self.get_recipe_from_file(BytesIO(import_zip.read(z.filename)))
recipe.keywords.add(self.keyword)
il.msg += f'{recipe.pk} - {recipe.name} \n'
self.handle_duplicates(recipe, import_duplicates)
try:
recipe = self.get_recipe_from_file(BytesIO(import_zip.read(z.filename)))
recipe.keywords.add(self.keyword)
il.msg += f'{recipe.pk} - {recipe.name} \n'
self.handle_duplicates(recipe, import_duplicates)
except Exception as e:
il.msg += f'-------------------- \n ERROR \n{e}\n--------------------\n'
import_zip.close()
elif '.json' in f['name'] or '.txt' in f['name']:
data_list = self.split_recipe_file(f['file'])
for d in data_list:
recipe = self.get_recipe_from_file(d)
recipe.keywords.add(self.keyword)
il.msg += f'{recipe.pk} - {recipe.name} \n'
self.handle_duplicates(recipe, import_duplicates)
try:
recipe = self.get_recipe_from_file(d)
recipe.keywords.add(self.keyword)
il.msg += f'{recipe.pk} - {recipe.name} \n'
self.handle_duplicates(recipe, import_duplicates)
except Exception as e:
il.msg += f'-------------------- \n ERROR \n{e}\n--------------------\n'
elif '.rtk' in f['name']:
import_zip = ZipFile(f['file'])
for z in import_zip.filelist:
if self.import_file_name_filter(z):
data_list = self.split_recipe_file(import_zip.read(z.filename).decode('utf-8'))
for d in data_list:
try:
recipe = self.get_recipe_from_file(d)
recipe.keywords.add(self.keyword)
il.msg += f'{recipe.pk} - {recipe.name} \n'
self.handle_duplicates(recipe, import_duplicates)
except Exception as e:
il.msg += f'-------------------- \n ERROR \n{e}\n--------------------\n'
import_zip.close()
else:
recipe = self.get_recipe_from_file(f['file'])
recipe.keywords.add(self.keyword)
il.msg += f'{recipe.pk} - {recipe.name} \n'
self.handle_duplicates(recipe, import_duplicates)
except BadZipFile:
il.msg += 'ERROR ' + _('Importer expected a .zip file. Did you choose the correct importer type for your data ?') + '\n'
il.msg += 'ERROR ' + _(
'Importer expected a .zip file. Did you choose the correct importer type for your data ?') + '\n'
if len(self.ignored_recipes) > 0:
il.msg += '\n' + _('The following recipes were ignored because they already existed:') + ' ' + ', '.join(self.ignored_recipes) + '\n\n'
il.msg += '\n' + _(
'The following recipes were ignored because they already existed:') + ' ' + ', '.join(
self.ignored_recipes) + '\n\n'
il.keyword = self.keyword
il.msg += (_('Imported %s recipes.') % Recipe.objects.filter(keywords=self.keyword).count()) + '\n'

View File

@@ -16,8 +16,10 @@ class Mealie(Integration):
def get_recipe_from_file(self, file):
recipe_json = json.loads(file.getvalue().decode("utf-8"))
description = '' if len(recipe_json['description'].strip()) > 500 else recipe_json['description'].strip()
recipe = Recipe.objects.create(
name=recipe_json['name'].strip(), description=recipe_json['description'].strip(),
name=recipe_json['name'].strip(), description=description,
created_by=self.request.user, internal=True, space=self.request.space)
# TODO parse times (given in PT2H3M )
@@ -30,6 +32,9 @@ class Mealie(Integration):
if not ingredients_added:
ingredients_added = True
if len(recipe_json['description'].strip()) > 500:
step.instruction = recipe_json['description'].strip() + '\n\n' + step.instruction
for ingredient in recipe_json['recipeIngredient']:
amount, unit, ingredient, note = parse(ingredient)
f = get_food(ingredient, self.request.space)

View File

@@ -11,13 +11,15 @@ from cookbook.models import Recipe, Step, Food, Unit, Ingredient
class NextcloudCookbook(Integration):
def import_file_name_filter(self, zip_info_object):
return re.match(r'^Recipes/([A-Za-z\d\s])+/recipe.json$', zip_info_object.filename)
return zip_info_object.filename.endswith('.json')
def get_recipe_from_file(self, file):
recipe_json = json.loads(file.getvalue().decode("utf-8"))
description = '' if len(recipe_json['description'].strip()) > 500 else recipe_json['description'].strip()
recipe = Recipe.objects.create(
name=recipe_json['name'].strip(), description=recipe_json['description'].strip(),
name=recipe_json['name'].strip(), description=description,
created_by=self.request.user, internal=True,
servings=recipe_json['recipeYield'], space=self.request.space)
@@ -30,6 +32,9 @@ class NextcloudCookbook(Integration):
instruction=s
)
if not ingredients_added:
if len(recipe_json['description'].strip()) > 500:
step.instruction = recipe_json['description'].strip() + '\n\n' + step.instruction
ingredients_added = True
for ingredient in recipe_json['recipeIngredient']:

View File

@@ -20,11 +20,13 @@ class Paprika(Integration):
recipe_json = json.loads(recipe_zip.read().decode("utf-8"))
recipe = Recipe.objects.create(
name=recipe_json['name'].strip(), description=recipe_json['description'].strip(),
created_by=self.request.user, internal=True, space=self.request.space)
name=recipe_json['name'].strip(), created_by=self.request.user, internal=True, space=self.request.space)
if 'description' in recipe_json:
recipe.description = '' if len(recipe_json['description'].strip()) > 500 else recipe_json['description'].strip()
try:
if re.match(r'([0-9])+\s(.)*', recipe_json['servings'] ):
if re.match(r'([0-9])+\s(.)*', recipe_json['servings']):
s = recipe_json['servings'].split(' ')
recipe.servings = s[0]
recipe.servings_text = s[1]
@@ -40,34 +42,45 @@ class Paprika(Integration):
recipe.save()
instructions = recipe_json['directions']
if len(recipe_json['notes'].strip()) > 0:
if recipe_json['notes'] and len(recipe_json['notes'].strip()) > 0:
instructions += '\n\n### ' + _('Notes') + ' \n' + recipe_json['notes']
if len(recipe_json['nutritional_info'].strip()) > 0:
if recipe_json['nutritional_info'] and len(recipe_json['nutritional_info'].strip()) > 0:
instructions += '\n\n### ' + _('Nutritional Information') + ' \n' + recipe_json['nutritional_info']
if len(recipe_json['source'].strip()) > 0 or len(recipe_json['source_url'].strip()) > 0:
instructions += '\n\n### ' + _('Source') + ' \n' + recipe_json['source'].strip() + ' \n' + recipe_json['source_url'].strip()
try:
if len(recipe_json['source'].strip()) > 0 or len(recipe_json['source_url'].strip()) > 0:
instructions += '\n\n### ' + _('Source') + ' \n' + recipe_json['source'].strip() + ' \n' + recipe_json['source_url'].strip()
except AttributeError:
pass
step = Step.objects.create(
instruction=instructions
)
if len(recipe_json['description'].strip()) > 500:
step.instruction = recipe_json['description'].strip() + '\n\n' + step.instruction
if 'categories' in recipe_json:
for c in recipe_json['categories']:
keyword, created = Keyword.objects.get_or_create(name=c.strip(), space=self.request.space)
recipe.keywords.add(keyword)
for ingredient in recipe_json['ingredients'].split('\n'):
if len(ingredient.strip()) > 0:
amount, unit, ingredient, note = parse(ingredient)
f = get_food(ingredient, self.request.space)
u = get_unit(unit, self.request.space)
step.ingredients.add(Ingredient.objects.create(
food=f, unit=u, amount=amount, note=note
))
try:
for ingredient in recipe_json['ingredients'].split('\n'):
if len(ingredient.strip()) > 0:
amount, unit, ingredient, note = parse(ingredient)
f = get_food(ingredient, self.request.space)
u = get_unit(unit, self.request.space)
step.ingredients.add(Ingredient.objects.create(
food=f, unit=u, amount=amount, note=note
))
except AttributeError:
pass
recipe.steps.add(step)
self.import_recipe_image(recipe, BytesIO(base64.b64decode(recipe_json['photo_data'])))
if recipe_json.get("photo_data", None):
self.import_recipe_image(recipe, BytesIO(base64.b64decode(recipe_json['photo_data'])))
return recipe

View File

@@ -0,0 +1,135 @@
import re
import json
import base64
import requests
from io import BytesIO
from zipfile import ZipFile
import imghdr
from django.utils.translation import gettext as _
from cookbook.helper.ingredient_parser import parse, get_food, get_unit
from cookbook.integration.integration import Integration
from cookbook.models import Recipe, Step, Food, Unit, Ingredient, Keyword
class RecetteTek(Integration):
def import_file_name_filter(self, zip_info_object):
print("testing", zip_info_object.filename)
return re.match(r'^recipes_0.json$', zip_info_object.filename) or re.match(r'^recipes.json$', zip_info_object.filename)
def split_recipe_file(self, file):
recipe_json = json.loads(file)
recipe_list = [r for r in recipe_json]
return recipe_list
def get_recipe_from_file(self, file):
# Create initial recipe with just a title and a decription
recipe = Recipe.objects.create(name=file['title'], created_by=self.request.user, internal=True, space=self.request.space, )
# set the description as an empty string for later use for the source URL, incase there is no description text.
recipe.description = ''
try:
if file['description'] != '':
recipe.description = file['description'].strip()
except Exception as e:
print(recipe.name, ': failed to parse recipe description ', str(e))
instructions = file['instructions']
if not instructions:
instructions = ''
step = Step.objects.create(instruction=instructions)
# Append the original import url to the step (if it exists)
try:
if file['url'] != '':
step.instruction += '\n\nImported from: ' + file['url']
step.save()
except Exception as e:
print(recipe.name, ': failed to import source url ', str(e))
try:
# Process the ingredients. Assumes 1 ingredient per line.
for ingredient in file['ingredients'].split('\n'):
if len(ingredient.strip()) > 0:
amount, unit, ingredient, note = parse(ingredient)
f = get_food(ingredient, self.request.space)
u = get_unit(unit, self.request.space)
step.ingredients.add(Ingredient.objects.create(
food=f, unit=u, amount=amount, note=note
))
except Exception as e:
print(recipe.name, ': failed to parse recipe ingredients ', str(e))
recipe.steps.add(step)
# Attempt to import prep/cooking times
# quick hack, this assumes only one number in the quantity field.
try:
if file['quantity'] != '':
for item in file['quantity'].split(' '):
if item.isdigit():
recipe.servings = int(item)
break
except Exception as e:
print(recipe.name, ': failed to parse quantity ', str(e))
try:
if file['totalTime'] != '':
recipe.waiting_time = int(file['totalTime'])
except Exception as e:
print(recipe.name, ': failed to parse total times ', str(e))
try:
if file['preparationTime'] != '':
recipe.working_time = int(file['preparationTime'])
except Exception as e:
print(recipe.name, ': failed to parse prep time ', str(e))
try:
if file['cookingTime'] != '':
recipe.waiting_time = int(file['cookingTime'])
except Exception as e:
print(recipe.name, ': failed to parse cooking time ', str(e))
recipe.save()
# Import the recipe keywords
try:
if file['keywords'] != '':
for keyword in file['keywords'].split(';'):
k, created = Keyword.objects.get_or_create(name=keyword.strip(), space=self.request.space)
recipe.keywords.add(k)
recipe.save()
except Exception as e:
pass
# TODO: Parse Nutritional Information
# Import the original image from the zip file, if we cannot do that, attempt to download it again.
try:
if file['pictures'][0] !='':
image_file_name = file['pictures'][0].split('/')[-1]
for f in self.files:
if '.rtk' in f['name']:
import_zip = ZipFile(f['file'])
self.import_recipe_image(recipe, BytesIO(import_zip.read(image_file_name)))
else:
if file['originalPicture'] != '':
response=requests.get(file['originalPicture'])
if imghdr.what(BytesIO(response.content)) != None:
self.import_recipe_image(recipe, BytesIO(response.content))
else:
raise Exception("Original image failed to download.")
except Exception as e:
print(recipe.name, ': failed to import image ', str(e))
return recipe
def get_file_from_recipe(self, recipe):
raise NotImplementedError('Method not implemented in storage integration')

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -6,20 +6,21 @@
# Translators:
# H K <hkocharyan@ctemplar.com>, 2021
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2021-02-09 18:01+0100\n"
"PO-Revision-Date: 2020-06-02 19:28+0000\n"
"Last-Translator: H K <hkocharyan@ctemplar.com>, 2021\n"
"Language-Team: Armenian (https://www.transifex.com/django-recipes/teams/110507/hy/)\n"
"PO-Revision-Date: 2021-04-12 20:22+0000\n"
"Last-Translator: Hrachya Kocharyan <hkocharyan@ctemplar.com>\n"
"Language-Team: Armenian <http://translate.tandoor.dev/projects/tandoor/"
"recipes-backend/hy/>\n"
"Language: hy\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: hy\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Weblate 4.5.3\n"
#: .\cookbook\filters.py:22 .\cookbook\templates\base.html:87
#: .\cookbook\templates\forms\edit_internal_recipe.html:219
@@ -54,7 +55,7 @@ msgid ""
"shared by default."
msgstr ""
"Օգտատերեր, ում հետ նոր ստեղծված ճաշացուցակները/գնումների ցուցակները պետք է "
"կիսվեն լռելյայն"
"կիսվեն լռելյայն:"
#: .\cookbook\forms.py:48
msgid "Show recently viewed recipes on search page."
@@ -62,7 +63,7 @@ msgstr "Ցույց տալ վերջերս դիտած բաղադրատոմսերը
#: .\cookbook\forms.py:49
msgid "Number of decimals to round ingredients."
msgstr "Բաղադրիչների կլորացման համար տասնորդականների քանակը"
msgstr "Բաղադրիչների կլորացման համար տասնորդականների քանակը:"
#: .\cookbook\forms.py:50
msgid "If you want to be able to create and see comments underneath recipes."
@@ -84,7 +85,7 @@ msgstr ""
#: .\cookbook\forms.py:55
msgid "Makes the navbar stick to the top of the page."
msgstr "Կցել նավիգացիոն տողը էջի վերևում"
msgstr "Կցել նավիգացիոն տողը էջի վերևում:"
#: .\cookbook\forms.py:71
msgid ""
@@ -152,7 +153,7 @@ msgstr "Հին միավոր"
#: .\cookbook\forms.py:169
msgid "Unit that should be replaced."
msgstr "Փոխարինման ենթակա միավոր"
msgstr "Փոխարինման ենթակա միավոր:"
#: .\cookbook\forms.py:179
msgid "New Food"
@@ -172,7 +173,7 @@ msgstr "Փոխարինման ենթակա սննդամթերք։"
#: .\cookbook\forms.py:198
msgid "Add your comment: "
msgstr "Ավելացրեք ձեր մեկնաբանությունը՝"
msgstr "Ավելացրեք ձեր մեկնաբանությունը՝ "
#: .\cookbook\forms.py:229
msgid "Leave empty for dropbox and enter app password for nextcloud."
@@ -190,8 +191,8 @@ msgid ""
"Leave empty for dropbox and enter only base url for nextcloud "
"(<code>/remote.php/webdav/</code> is added automatically)"
msgstr ""
"Թողնել դատարկ dropbox-ի համար և մուտքագրել միայն հիմքային հղումը nextcloud-ի"
" համար (<code>/remote.php/webdav/</code> ինքնաբերաբար ավելացվում է)"
"Թողնել դատարկ dropbox-ի համար և մուտքագրել միայն հիմքային հղումը nextcloud-ի "
"համար (<code>/remote.php/webdav/</code> ինքնաբերաբար ավելացվում է)"
#: .\cookbook\forms.py:263
msgid "Search String"
@@ -203,13 +204,13 @@ msgstr "Ֆայլի ID"
#: .\cookbook\forms.py:299
msgid "You must provide at least a recipe or a title."
msgstr "Դուք պետք է տրամադրեք առնվազն բաղադրատոմս կամ վերնագիր"
msgstr "Դուք պետք է տրամադրեք առնվազն բաղադրատոմս կամ վերնագիր:"
#: .\cookbook\forms.py:312
msgid "You can list default users to share recipes with in the settings."
msgstr ""
"Դուք կարող եք կարգավորումներում ավելացնել այն օգտատերերին, ում հետ "
"բաղադրատոմսերը պետք է կիսվեն լռելյայն"
"բաղադրատոմսերը պետք է կիսվեն լռելյայն:"
#: .\cookbook\forms.py:313
#: .\cookbook\templates\forms\edit_internal_recipe.html:377
@@ -289,7 +290,7 @@ msgstr "Պատրաստման տևողություն"
#: .\cookbook\templates\forms\ingredients.html:7
#: .\cookbook\templates\index.html:7
msgid "Cookbook"
msgstr "Խոհարարական գիրք "
msgstr "Խոհարարական գիրք"
#: .\cookbook\integration\safron.py:31
msgid "Section"
@@ -409,7 +410,7 @@ msgstr "Դուրս գալ"
#: .\cookbook\templates\account\logout.html:11
msgid "Are you sure you want to sign out?"
msgstr "Համոզվա՞ծ եք, որ ցանկանում եք դուրս գալ"
msgstr "Համոզվա՞ծ եք, որ ցանկանում եք դուրս գալ:"
#: .\cookbook\templates\account\password_reset.html:5
#: .\cookbook\templates\account\password_reset_done.html:5
@@ -419,7 +420,7 @@ msgstr "Գաղտնաբառի վերականգնում"
#: .\cookbook\templates\account\password_reset.html:9
#: .\cookbook\templates\account\password_reset_done.html:9
msgid "Password reset is not implemented for the time being!"
msgstr "Գաղտնաբառի վերականգնում առայժմ իրականացված չէ"
msgstr "Գաղտնաբառի վերականգնում առայժմ իրականացված չէ:"
#: .\cookbook\templates\account\signup.html:5
msgid "Register"
@@ -478,7 +479,7 @@ msgstr "Բացահայտումների մատյան"
#: .\cookbook\templates\base.html:117 .\cookbook\templates\stats.html:10
msgid "Statistics"
msgstr "Վիճակագրություն "
msgstr "Վիճակագրություն"
#: .\cookbook\templates\base.html:119
msgid "Units & Ingredients"
@@ -910,7 +911,7 @@ msgstr "Գրանցել բաղադրատոմսի օգտագործում"
#: .\cookbook\templates\include\log_cooking.html:13
msgid "All fields are optional and can be left empty."
msgstr "Բոլոր դաշտերը կամավոր են և կարող են դատարկ թողնվել"
msgstr "Բոլոր դաշտերը կամավոր են և կարող են դատարկ թողնվել:"
#: .\cookbook\templates\include\log_cooking.html:19
msgid "Rating"
@@ -1201,7 +1202,7 @@ msgid ""
" view."
msgstr ""
"Շաբաթվա առաջին օրվանից հաշված օրերի քանակը, որը պետք է փոխհատուցել լռելյայն "
"էջում"
"էջում:"
#: .\cookbook\templates\meal_plan.html:217
#: .\cookbook\templates\meal_plan.html:294
@@ -1287,7 +1288,7 @@ msgstr "Ճաշացուցակի Դիտման էջ"
#: .\cookbook\templates\meal_plan_entry.html:50
msgid "Never cooked before."
msgstr "Երբեք պատրաստված չէ"
msgstr "Երբեք պատրաստված չէ:"
#: .\cookbook\templates\meal_plan_entry.html:76
msgid "Other meals on this day"
@@ -1412,7 +1413,7 @@ msgstr "Կարգավորում"
msgid ""
"To start using this application you must first create a superuser account."
msgstr ""
"Այս ծրագիրն օգտագործելու համար նախ պետք է ստեղծեք սուպեր-օգտատերի հաշիվ"
"Այս ծրագիրն օգտագործելու համար նախ պետք է ստեղծեք սուպեր-օգտատերի հաշիվ:"
#: .\cookbook\templates\setup.html:20
msgid "Create Superuser account"
@@ -1468,7 +1469,7 @@ msgstr "Ցուցակի նախածանց"
#: .\cookbook\templates\shopping_list.html:696
msgid "There was an error creating a resource!"
msgstr "Ռեսուրսը ստեղծելիս սխալ է գրանցվել"
msgstr "Ռեսուրսը ստեղծելիս սխալ է գրանցվել:"
#: .\cookbook\templates\socialaccount\connections.html:4
#: .\cookbook\templates\socialaccount\connections.html:7
@@ -1490,7 +1491,7 @@ msgstr "Հեռացնել"
#: .\cookbook\templates\socialaccount\connections.html:44
msgid ""
"You currently have no social network accounts connected to this account."
msgstr "Դուք այս հաշվին կապված սոցիալական հաշիվներ չունեք "
msgstr "Դուք այս հաշվին կապված սոցիալական հաշիվներ չունեք:"
#: .\cookbook\templates\socialaccount\connections.html:47
msgid "Add a 3rd Party Account"
@@ -1534,7 +1535,7 @@ msgstr "Ցուցադրել հղումները"
#: .\cookbook\templates\system.html:27
msgid "Backup & Restore"
msgstr "Կրկնօրինակում և վերականգնում "
msgstr "Կրկնօրինակում և վերականգնում"
#: .\cookbook\templates\system.html:28
msgid "Download Backup"
@@ -1673,7 +1674,7 @@ msgstr "Բոլոր բանալի բառերը"
#: .\cookbook\templates\url_import.html:206
msgid "Import all keywords, not only the ones already existing."
msgstr "Ներմուծել բոլոր բանալի բառերը, ոչ միայն արդեն գոյություն ունեցողները"
msgstr "Ներմուծել բոլոր բանալի բառերը, ոչ միայն արդեն գոյություն ունեցողները:"
#: .\cookbook\templates\url_import.html:233
msgid "Information"
@@ -1719,7 +1720,7 @@ msgstr "Այս հատկությունը հասանելի չէ փորձնական
#: .\cookbook\views\api.py:439
msgid "Sync successful!"
msgstr "Սինքրոնիզացիան հաջողված է"
msgstr "Սինքրոնիզացիան հաջողված է:"
#: .\cookbook\views\api.py:444
msgid "Error synchronizing with Storage"
@@ -1727,20 +1728,20 @@ msgstr "Պահոցի հետ սինքրոնիզացիայի սխալ"
#: .\cookbook\views\api.py:510
msgid "The requested page could not be found."
msgstr "Պահանջվող էջը չի գտնվել"
msgstr "Պահանջվող էջը չի գտնվել:"
#: .\cookbook\views\api.py:519
msgid ""
"The requested page refused to provide any information (Status Code 403)."
msgstr ""
"Պահանջվող էջը մերժեց տրամադրել որևէ տեղեկություն (Կարգավիճակի ծածկագիր 403)"
"Պահանջվող էջը մերժեց տրամադրել որևէ տեղեկություն (Կարգավիճակի ծածկագիր 403):"
#: .\cookbook\views\data.py:101
#, python-format
msgid "Batch edit done. %(count)d recipe was updated."
msgid_plural "Batch edit done. %(count)d Recipes where updated."
msgstr[0] "Խմբային խմբագրումն ավարտված է։ %(count)d բաղադրատոմս թարմացված է"
msgstr[1] "Խմբային խմբագրումն ավարտված է։ %(count)d բաղադրատոմս թարմացված է։"
msgstr[0] "Խմբային խմբագրումն ավարտված է։ %(count)d բաղադրատոմս թարմացված է:"
msgstr[1] "Խմբային խմբագրումն ավարտված է։ %(count)d բաղադրատոմսեր թարմացված են։"
#: .\cookbook\views\delete.py:72
msgid "Monitor"
@@ -1779,7 +1780,7 @@ msgstr "Դուք կարող եք խմբագրել այս պահոցը։"
#: .\cookbook\views\edit.py:131
msgid "Storage saved!"
msgstr "Պահոցը պահպանված է"
msgstr "Պահոցը պահպանված է։"
#: .\cookbook\views\edit.py:137
msgid "There was an error updating this storage backend!"
@@ -1791,23 +1792,23 @@ msgstr "Պահոց"
#: .\cookbook\views\edit.py:245
msgid "Changes saved!"
msgstr "Փոփոխությունները պահպանված են"
msgstr "Փոփոխությունները պահպանված են:"
#: .\cookbook\views\edit.py:253
msgid "Error saving changes!"
msgstr "Փոփոխությունների պահպանման սխալ"
msgstr "Փոփոխությունների պահպանման սխալ:"
#: .\cookbook\views\edit.py:289
msgid "Units merged!"
msgstr "Միավորները միավորված են"
msgstr "Միավորները միավորված են:"
#: .\cookbook\views\edit.py:295 .\cookbook\views\edit.py:317
msgid "Cannot merge with the same object!"
msgstr "Հնարավոր չէ միավորել նույն օբյեկտի հետ"
msgstr "Հնարավոր չէ միավորել նույն օբյեկտի հետ:"
#: .\cookbook\views\edit.py:311
msgid "Foods merged!"
msgstr "Սննդամթերքները միավորված են"
msgstr "Սննդամթերքները միավորված են:"
#: .\cookbook\views\import_export.py:42
msgid "Importing is not implemented for this provider"
@@ -1831,7 +1832,7 @@ msgstr "Գնումների ցուցակներ"
#: .\cookbook\views\new.py:107
msgid "Imported new recipe!"
msgstr "Բաղադրատոմսը ներմուծված է"
msgstr "Բաղադրատոմսը ներմուծված է:"
#: .\cookbook\views\new.py:114
msgid "There was an error importing this recipe!"
@@ -1843,15 +1844,15 @@ msgstr "Դուք չունեք բավարար թույլտվություն այս
#: .\cookbook\views\views.py:136
msgid "Comment saved!"
msgstr "Մեկնաբանությունը պահպանված է"
msgstr "Մեկնաբանությունը պահպանված է:"
#: .\cookbook\views\views.py:152
msgid "This recipe is already linked to the book!"
msgstr "Բաղադրատոմսն արդեն կապված է գրքին"
msgstr "Բաղադրատոմսն արդեն կապված է գրքին:"
#: .\cookbook\views\views.py:158
msgid "Bookmark saved!"
msgstr "Էջանիշը պահպանված է"
msgstr "Էջանիշը պահպանված է:"
#: .\cookbook\views\views.py:380
msgid ""
@@ -1865,7 +1866,7 @@ msgstr ""
#: .\cookbook\views\views.py:388 .\cookbook\views\views.py:435
msgid "Passwords dont match!"
msgstr "Գաղտնաբառերը չեն համընկնում"
msgstr "Գաղտնաբառերը չեն համընկնում:"
#: .\cookbook\views\views.py:402 .\cookbook\views\views.py:449
msgid "User has been created, please login!"
@@ -1877,4 +1878,4 @@ msgstr "Հրավերի արատավոր հղում է տրամադրվել։"
#: .\cookbook\views\views.py:470
msgid "Invite Link not valid or already used!"
msgstr "Հրավերի հղումը վավեր չէ, կամ արդեն օգտագործվել է"
msgstr "Հրավերի հղումը վավեր չէ, կամ արդեն օգտագործվել է:"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,15 @@
# Generated by Django 3.2 on 2021-04-11 19:01
from django.contrib.postgres.operations import UnaccentExtension, TrigramExtension
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0118_auto_20210406_1805'),
]
operations = [
TrigramExtension(),
UnaccentExtension(),
]

View File

@@ -0,0 +1,34 @@
# Generated by Django 3.1.7 on 2021-03-29 11:05
import cookbook.models
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('cookbook', '0119_auto_20210411_2101'),
]
operations = [
migrations.AlterField(
model_name='userpreference',
name='use_fractions',
field=models.BooleanField(default=True),
),
migrations.CreateModel(
name='BookmarkletImport',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('html', models.TextField()),
('url', models.CharField(blank=True, max_length=256, null=True)),
('created_at', models.DateTimeField(auto_now_add=True)),
('created_by', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('space', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='cookbook.space')),
],
bases=(models.Model, cookbook.models.PermissionModelMixin),
),
]

View File

@@ -0,0 +1,23 @@
# Generated by Django 3.2.3 on 2021-05-18 14:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0120_bookmarklet'),
]
operations = [
migrations.AlterField(
model_name='userpreference',
name='search_style',
field=models.CharField(choices=[('SMALL', 'Small'), ('LARGE', 'Large'), ('NEW', 'New')], default='LARGE', max_length=64),
),
migrations.AlterField(
model_name='userpreference',
name='use_fractions',
field=models.BooleanField(default=False),
),
]

View File

@@ -0,0 +1,23 @@
# Generated by Django 3.2.3 on 2021-05-27 15:12
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0121_auto_20210518_1638'),
]
operations = [
migrations.AddField(
model_name='space',
name='allow_files',
field=models.BooleanField(default=True),
),
migrations.AddField(
model_name='space',
name='max_users',
field=models.IntegerField(default=0),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 3.2.3 on 2021-05-28 12:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0122_auto_20210527_1712'),
]
operations = [
migrations.AddField(
model_name='invitelink',
name='email',
field=models.EmailField(blank=True, max_length=254),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 3.2.3 on 2021-05-30 15:53
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0123_invitelink_email'),
]
operations = [
migrations.AlterField(
model_name='userpreference',
name='theme',
field=models.CharField(choices=[('BOOTSTRAP', 'Bootstrap'), ('DARKLY', 'Darkly'), ('FLATLY', 'Flatly'), ('SUPERHERO', 'Superhero'), ('TANDOOR', 'Tandoor')], default='FLATLY', max_length=128),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 3.2.3 on 2021-06-04 14:52
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0124_alter_userpreference_theme'),
]
operations = [
migrations.AddField(
model_name='space',
name='demo',
field=models.BooleanField(default=False),
),
]

View File

@@ -0,0 +1,18 @@
# Generated by Django 3.2.3 on 2021-06-05 15:11
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0125_space_demo'),
]
operations = [
migrations.AlterField(
model_name='userpreference',
name='theme',
field=models.CharField(choices=[('TANDOOR', 'Tandoor'), ('BOOTSTRAP', 'Bootstrap'), ('DARKLY', 'Darkly'), ('FLATLY', 'Flatly'), ('SUPERHERO', 'Superhero')], default='TANDOOR', max_length=128),
),
]

View File

@@ -0,0 +1,17 @@
# Generated by Django 3.2.3 on 2021-06-07 14:21
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('cookbook', '0126_alter_userpreference_theme'),
]
operations = [
migrations.RemoveField(
model_name='invitelink',
name='username',
),
]

View File

@@ -1,3 +1,4 @@
import operator
import re
import uuid
from datetime import date, timedelta
@@ -9,6 +10,7 @@ from django.core.validators import MinLengthValidator
from django.db import models
from django.utils import timezone
from django.utils.translation import gettext as _
from django_prometheus.models import ExportModelOperationsMixin
from django_scopes import ScopedManager
from recipes.settings import (COMMENT_PREF_DEFAULT, FRACTION_PREF_DEFAULT,
@@ -52,16 +54,21 @@ class PermissionModelMixin:
def get_space(self):
p = '.'.join(self.get_space_key())
if getattr(self, p, None):
return getattr(self, p)
raise NotImplementedError('get space for method not implemented and standard fields not available')
try:
if space := operator.attrgetter(p)(self):
return space
except AttributeError:
raise NotImplementedError('get space for method not implemented and standard fields not available')
class Space(models.Model):
class Space(ExportModelOperationsMixin('space'), models.Model):
name = models.CharField(max_length=128, default='Default')
created_by = models.ForeignKey(User, on_delete=models.PROTECT, null=True)
message = models.CharField(max_length=512, default='', blank=True)
max_recipes = models.IntegerField(default=0)
allow_files = models.BooleanField(default=True)
max_users = models.IntegerField(default=0)
demo = models.BooleanField(default=False)
def __str__(self):
return self.name
@@ -73,12 +80,14 @@ class UserPreference(models.Model, PermissionModelMixin):
DARKLY = 'DARKLY'
FLATLY = 'FLATLY'
SUPERHERO = 'SUPERHERO'
TANDOOR = 'TANDOOR'
THEMES = (
(TANDOOR, 'Tandoor'),
(BOOTSTRAP, 'Bootstrap'),
(DARKLY, 'Darkly'),
(FLATLY, 'Flatly'),
(SUPERHERO, 'Superhero')
(SUPERHERO, 'Superhero'),
)
# Nav colors
@@ -115,11 +124,12 @@ class UserPreference(models.Model, PermissionModelMixin):
# Search Style
SMALL = 'SMALL'
LARGE = 'LARGE'
NEW = 'NEW'
SEARCH_STYLE = ((SMALL, _('Small')), (LARGE, _('Large')),)
SEARCH_STYLE = ((SMALL, _('Small')), (LARGE, _('Large')), (NEW, _('New')))
user = AutoOneToOneField(User, on_delete=models.CASCADE, primary_key=True)
theme = models.CharField(choices=THEMES, max_length=128, default=FLATLY)
theme = models.CharField(choices=THEMES, max_length=128, default=TANDOOR)
nav_color = models.CharField(
choices=COLORS, max_length=128, default=PRIMARY
)
@@ -242,7 +252,7 @@ class SyncLog(models.Model, PermissionModelMixin):
return f"{self.created_at}:{self.sync} - {self.status}"
class Keyword(models.Model, PermissionModelMixin):
class Keyword(ExportModelOperationsMixin('keyword'), models.Model, PermissionModelMixin):
name = models.CharField(max_length=64)
icon = models.CharField(max_length=16, blank=True, null=True)
description = models.TextField(default="", blank=True)
@@ -262,7 +272,7 @@ class Keyword(models.Model, PermissionModelMixin):
unique_together = (('space', 'name'),)
class Unit(models.Model, PermissionModelMixin):
class Unit(ExportModelOperationsMixin('unit'), models.Model, PermissionModelMixin):
name = models.CharField(max_length=128, validators=[MinLengthValidator(1)])
description = models.TextField(blank=True, null=True)
@@ -276,7 +286,7 @@ class Unit(models.Model, PermissionModelMixin):
unique_together = (('space', 'name'),)
class Food(models.Model, PermissionModelMixin):
class Food(ExportModelOperationsMixin('food'), models.Model, PermissionModelMixin):
name = models.CharField(max_length=128, validators=[MinLengthValidator(1)])
recipe = models.ForeignKey('Recipe', null=True, blank=True, on_delete=models.SET_NULL)
supermarket_category = models.ForeignKey(SupermarketCategory, null=True, blank=True, on_delete=models.SET_NULL)
@@ -293,7 +303,7 @@ class Food(models.Model, PermissionModelMixin):
unique_together = (('space', 'name'),)
class Ingredient(models.Model, PermissionModelMixin):
class Ingredient(ExportModelOperationsMixin('ingredient'), models.Model, PermissionModelMixin):
food = models.ForeignKey(Food, on_delete=models.PROTECT, null=True, blank=True)
unit = models.ForeignKey(Unit, on_delete=models.PROTECT, null=True, blank=True)
amount = models.DecimalField(default=0, decimal_places=16, max_digits=32)
@@ -318,7 +328,7 @@ class Ingredient(models.Model, PermissionModelMixin):
ordering = ['order', 'pk']
class Step(models.Model, PermissionModelMixin):
class Step(ExportModelOperationsMixin('step'), models.Model, PermissionModelMixin):
TEXT = 'TEXT'
TIME = 'TIME'
@@ -375,7 +385,7 @@ class NutritionInformation(models.Model, PermissionModelMixin):
return 'Nutrition'
class Recipe(models.Model, PermissionModelMixin):
class Recipe(ExportModelOperationsMixin('recipe'), models.Model, PermissionModelMixin):
name = models.CharField(max_length=128)
description = models.CharField(max_length=512, blank=True, null=True)
servings = models.IntegerField(default=1)
@@ -407,7 +417,7 @@ class Recipe(models.Model, PermissionModelMixin):
return self.name
class Comment(models.Model, PermissionModelMixin):
class Comment(ExportModelOperationsMixin('comment'), models.Model, PermissionModelMixin):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
text = models.TextField()
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
@@ -420,6 +430,9 @@ class Comment(models.Model, PermissionModelMixin):
def get_space_key():
return 'recipe', 'space'
def get_space(self):
return self.recipe.space
def __str__(self):
return self.text
@@ -438,7 +451,7 @@ class RecipeImport(models.Model, PermissionModelMixin):
return self.name
class RecipeBook(models.Model, PermissionModelMixin):
class RecipeBook(ExportModelOperationsMixin('book'), models.Model, PermissionModelMixin):
name = models.CharField(max_length=128)
description = models.TextField(blank=True)
icon = models.CharField(max_length=16, blank=True, null=True)
@@ -452,7 +465,7 @@ class RecipeBook(models.Model, PermissionModelMixin):
return self.name
class RecipeBookEntry(models.Model, PermissionModelMixin):
class RecipeBookEntry(ExportModelOperationsMixin('book_entry'), models.Model, PermissionModelMixin):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
book = models.ForeignKey(RecipeBook, on_delete=models.CASCADE)
@@ -487,7 +500,7 @@ class MealType(models.Model, PermissionModelMixin):
return self.name
class MealPlan(models.Model, PermissionModelMixin):
class MealPlan(ExportModelOperationsMixin('meal_plan'), models.Model, PermissionModelMixin):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, blank=True, null=True)
servings = models.DecimalField(default=1, max_digits=8, decimal_places=4)
title = models.CharField(max_length=64, blank=True, default='')
@@ -512,7 +525,7 @@ class MealPlan(models.Model, PermissionModelMixin):
return f'{self.get_label()} - {self.date} - {self.meal_type.name}'
class ShoppingListRecipe(models.Model, PermissionModelMixin):
class ShoppingListRecipe(ExportModelOperationsMixin('shopping_list_recipe'), models.Model, PermissionModelMixin):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE, null=True, blank=True)
servings = models.DecimalField(default=1, max_digits=8, decimal_places=4)
@@ -535,7 +548,7 @@ class ShoppingListRecipe(models.Model, PermissionModelMixin):
return None
class ShoppingListEntry(models.Model, PermissionModelMixin):
class ShoppingListEntry(ExportModelOperationsMixin('shopping_list_entry'), models.Model, PermissionModelMixin):
list_recipe = models.ForeignKey(ShoppingListRecipe, on_delete=models.CASCADE, null=True, blank=True)
food = models.ForeignKey(Food, on_delete=models.CASCADE)
unit = models.ForeignKey(Unit, on_delete=models.CASCADE, null=True, blank=True)
@@ -565,7 +578,7 @@ class ShoppingListEntry(models.Model, PermissionModelMixin):
return None
class ShoppingList(models.Model, PermissionModelMixin):
class ShoppingList(ExportModelOperationsMixin('shopping_list'), models.Model, PermissionModelMixin):
uuid = models.UUIDField(default=uuid.uuid4)
note = models.TextField(blank=True, null=True)
recipes = models.ManyToManyField(ShoppingListRecipe, blank=True)
@@ -583,7 +596,7 @@ class ShoppingList(models.Model, PermissionModelMixin):
return f'Shopping list {self.id}'
class ShareLink(models.Model, PermissionModelMixin):
class ShareLink(ExportModelOperationsMixin('share_link'), models.Model, PermissionModelMixin):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
uuid = models.UUIDField(default=uuid.uuid4)
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
@@ -600,9 +613,9 @@ def default_valid_until():
return date.today() + timedelta(days=14)
class InviteLink(models.Model, PermissionModelMixin):
class InviteLink(ExportModelOperationsMixin('invite_link'), models.Model, PermissionModelMixin):
uuid = models.UUIDField(default=uuid.uuid4)
username = models.CharField(blank=True, max_length=64)
email = models.EmailField(blank=True)
group = models.ForeignKey(Group, on_delete=models.CASCADE)
valid_until = models.DateField(default=default_valid_until)
used_by = models.ForeignKey(
@@ -632,7 +645,7 @@ class TelegramBot(models.Model, PermissionModelMixin):
return f"{self.name}"
class CookLog(models.Model, PermissionModelMixin):
class CookLog(ExportModelOperationsMixin('cook_log'), models.Model, PermissionModelMixin):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(default=timezone.now)
@@ -646,7 +659,7 @@ class CookLog(models.Model, PermissionModelMixin):
return self.recipe.name
class ViewLog(models.Model, PermissionModelMixin):
class ViewLog(ExportModelOperationsMixin('view_log'), models.Model, PermissionModelMixin):
recipe = models.ForeignKey(Recipe, on_delete=models.CASCADE)
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
created_at = models.DateTimeField(auto_now_add=True)
@@ -671,3 +684,13 @@ class ImportLog(models.Model, PermissionModelMixin):
def __str__(self):
return f"{self.created_at}:{self.type}"
class BookmarkletImport(ExportModelOperationsMixin('bookmarklet_import'), models.Model, PermissionModelMixin):
html = models.TextField()
url = models.CharField(max_length=256, null=True, blank=True)
created_at = models.DateTimeField(auto_now_add=True)
created_by = models.ForeignKey(User, on_delete=models.CASCADE)
objects = ScopedManager(space='space')
space = models.ForeignKey(Space, on_delete=models.CASCADE)

View File

@@ -14,7 +14,8 @@ from cookbook.models import (Comment, CookLog, Food, Ingredient, Keyword,
RecipeBook, RecipeBookEntry, RecipeImport,
ShareLink, ShoppingList, ShoppingListEntry,
ShoppingListRecipe, Step, Storage, Sync, SyncLog,
Unit, UserPreference, ViewLog, SupermarketCategory, Supermarket, SupermarketCategoryRelation, ImportLog)
Unit, UserPreference, ViewLog, SupermarketCategory, Supermarket,
SupermarketCategoryRelation, ImportLog, BookmarkletImport)
from cookbook.templatetags.custom_tags import markdown
@@ -160,7 +161,7 @@ class KeywordSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
return str(obj)
def create(self, validated_data):
obj, created = Keyword.objects.get_or_create(name=validated_data['name'], space=self.context['request'].space)
obj, created = Keyword.objects.get_or_create(name=validated_data['name'].strip(), space=self.context['request'].space)
return obj
class Meta:
@@ -174,8 +175,12 @@ class KeywordSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
class UnitSerializer(UniqueFieldsMixin, serializers.ModelSerializer):
def create(self, validated_data):
obj, created = Unit.objects.get_or_create(name=validated_data['name'], space=self.context['request'].space)
obj, created = Unit.objects.get_or_create(name=validated_data['name'].strip(), space=self.context['request'].space)
return obj
def update(self, instance, validated_data):
validated_data['name'] = validated_data['name'].strip()
return super(UnitSerializer, self).update(instance, validated_data)
class Meta:
model = Unit
@@ -217,10 +222,11 @@ class FoodSerializer(UniqueFieldsMixin, WritableNestedModelSerializer):
supermarket_category = SupermarketCategorySerializer(allow_null=True, required=False)
def create(self, validated_data):
obj, created = Food.objects.get_or_create(name=validated_data['name'], space=self.context['request'].space)
obj, created = Food.objects.get_or_create(name=validated_data['name'].strip(), space=self.context['request'].space)
return obj
def update(self, instance, validated_data):
validated_data['name'] = validated_data['name'].strip()
return super(FoodSerializer, self).update(instance, validated_data)
class Meta:
@@ -269,6 +275,12 @@ class NutritionInformationSerializer(serializers.ModelSerializer):
class RecipeOverviewSerializer(WritableNestedModelSerializer):
keywords = KeywordLabelSerializer(many=True)
def create(self, validated_data):
pass
def update(self, instance, validated_data):
return instance
class Meta:
model = Recipe
fields = (
@@ -342,7 +354,8 @@ class RecipeBookEntrySerializer(serializers.ModelSerializer):
fields = ('id', 'book', 'recipe',)
class MealPlanSerializer(SpacedModelSerializer):
class MealPlanSerializer(SpacedModelSerializer, WritableNestedModelSerializer):
recipe = RecipeOverviewSerializer(required=False, allow_null=True)
recipe_name = serializers.ReadOnlyField(source='recipe.name')
meal_type_name = serializers.ReadOnlyField(source='meal_type.name')
note_markdown = serializers.SerializerMethodField('get_note_markdown')
@@ -466,6 +479,21 @@ class ImportLogSerializer(serializers.ModelSerializer):
read_only_fields = ('created_by',)
# CORS, REST and Scopes aren't currently working
# Scopes are evaluating before REST has authenticated the user assiging a None space
# I've made the change below to fix the bookmarklet, other serializers likely need a similar/better fix
class BookmarkletImportSerializer(serializers.ModelSerializer):
def create(self, validated_data):
validated_data['created_by'] = self.context['request'].user
validated_data['space'] = self.context['request'].user.userpreference.space
return super().create(validated_data)
class Meta:
model = BookmarkletImport
fields = ('id', 'url', 'html', 'created_by', 'created_at')
read_only_fields = ('created_by', 'space')
# Export/Import Serializers
class KeywordExportSerializer(KeywordSerializer):

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

View File

@@ -0,0 +1,165 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:serif="http://www.serif.com/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="2048"
height="512"
viewBox="0 0 2048 512"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
id="svg48"
sodipodi:docname="brand_logo.svg"
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
id="metadata52"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1377"
id="namedview50"
showgrid="false"
inkscape:zoom="0.4921875"
inkscape:cx="781.42929"
inkscape:cy="329.59753"
inkscape:window-x="1912"
inkscape:window-y="1072"
inkscape:window-maximized="1"
inkscape:current-layer="svg48"
inkscape:document-rotation="0" />
<g
id="Logo"
transform="matrix(0.637323,0,0,0.637323,-243.095,-716.725)">
<g
id="Kreis"
transform="matrix(1.44936,0,0,1.50279,387.258,1039.34)">
<ellipse
cx="273.12299"
cy="324.01501"
rx="259.82199"
ry="250.584"
style="fill:url(#_Linear1)"
id="ellipse2" />
<clipPath
id="_clip2">
<ellipse
cx="273.12299"
cy="324.01501"
rx="259.82199"
ry="250.584"
id="ellipse4" />
</clipPath>
<g
clip-path="url(#_clip2)"
id="g18">
<g
id="Shadow"
transform="matrix(1.10322,0,0,1.064,-5.58287,50.5786)">
<path
d="M 156.285,427.208 389.554,660.477 668.803,495.551 374.012,200.761 Z"
style="fill:#161616"
id="path7" />
<g
transform="translate(-4.22105,0.775864)"
id="g11">
<path
d="M 208.628,178.613 485.935,455.919 590.027,364.63 296.923,71.526 l -2.748,67.463 z"
style="fill:#161616"
id="path9" />
</g>
<g
transform="translate(-85.3876,27.8512)"
id="g15">
<path
d="m 310.385,145.641 277.307,277.307 2.7,-61.591 -293.104,-293.104 -3.113,70.736 z"
style="fill:#161616"
id="path13" />
</g>
</g>
</g>
</g>
<g
transform="matrix(1.471,0,0,1.471,406.537,1149.69)"
id="g23">
<path
d="m 256.049,220 c 30.173,-0.006 56.607,-12.69 73.339,-25.866 16.962,-13.38 41.511,-10.728 55.223,5.966 22.518,27.276 35.987,61.844 35.987,99.43 0,61.55 -37.994,137.571 -90.834,164.176 -22.729,11.444 -46.298,16.88 -73.666,16.893 v 0 H 256.049 256 v 0 C 228.632,480.586 205.063,475.15 182.334,463.706 129.494,437.101 91.5,361.08 91.5,299.53 c 0,-37.586 13.469,-72.154 35.987,-99.43 13.712,-16.694 38.261,-19.346 55.223,-5.966 16.732,13.176 43.166,25.86 73.339,25.866 z"
style="fill:#ffcb76"
id="path21" />
</g>
<g
id="Flame-2"
serif:id="Flame 2"
transform="matrix(0.965725,0,0,0.89175,164.497,436.391)">
<path
d="m 604.408,844.314 c -2.427,-3.469 -2.446,-8.258 -0.046,-11.749 2.401,-3.491 6.643,-4.844 10.407,-3.319 19.101,7.623 44.064,19.383 63.438,35.206 40.319,32.929 51.343,54.955 60.345,77.639 10.656,26.852 12.233,54.589 9.963,73.989 -6.497,55.53 -48.16,101.42 -107.481,101.42 -59.321,0 -106.541,-45.45 -107.481,-101.42 -0.567,-33.708 10.432,-60.637 22.435,-79.86 2.994,-4.783 8.606,-6.751 13.621,-4.776 5.014,1.975 8.148,7.387 7.606,13.136 -1.722,12.136 -2.853,24.792 -2.283,34.904 1.931,34.216 22.239,43.016 43.151,42.806 22.288,-0.21 44.842,-19.12 36.714,-67.395 -7.107,-42.214 -32.435,-84.701 -50.389,-110.581 z"
style="fill:#ff6f00"
id="path25" />
<clipPath
id="_clip3">
<path
d="m 604.408,844.314 c -2.427,-3.469 -2.446,-8.258 -0.046,-11.749 2.401,-3.491 6.643,-4.844 10.407,-3.319 19.101,7.623 44.064,19.383 63.438,35.206 40.319,32.929 51.343,54.955 60.345,77.639 10.656,26.852 12.233,54.589 9.963,73.989 -6.497,55.53 -48.16,101.42 -107.481,101.42 -59.321,0 -106.541,-45.45 -107.481,-101.42 -0.567,-33.708 10.432,-60.637 22.435,-79.86 2.994,-4.783 8.606,-6.751 13.621,-4.776 5.014,1.975 8.148,7.387 7.606,13.136 -1.722,12.136 -2.853,24.792 -2.283,34.904 1.931,34.216 22.239,43.016 43.151,42.806 22.288,-0.21 44.842,-19.12 36.714,-67.395 -7.107,-42.214 -32.435,-84.701 -50.389,-110.581 z"
id="path27" />
</clipPath>
<g
clip-path="url(#_clip3)"
id="g34">
<g
transform="matrix(1.28784,-0.270602,0.285942,1.59598,247.349,825.209)"
id="g32">
<path
d="m 255.004,46.957 c 24.543,11.588 50.996,38.49 58.303,73.204 12.13,57.63 -21.736,73.628 -50.811,72.242 -46.607,-2.222 -62.302,-39.157 -31.17,-83.503 19.305,-27.499 1.337,-72.492 23.678,-61.943 z"
style="fill:#ffd100"
id="path30" />
</g>
</g>
</g>
<g
id="Hut"
transform="matrix(1.521,0,0,1.521,393.566,1149.06)">
<path
d="m 228.197,408.524 c -5.499,0 -10.384,-1.836 -14.173,-4.905 -2.248,-1.825 -3.104,-4.867 -2.136,-7.595 0.968,-2.729 3.549,-4.552 6.444,-4.552 13.882,-0.072 37.78,-0.076 37.78,-0.076 0,0 23.897,0.004 37.779,0.076 2.895,0 5.476,1.823 6.444,4.552 0.968,2.728 0.112,5.77 -2.136,7.595 -3.789,3.069 -8.673,4.905 -14.172,4.905 z M 217.24,378.877 c -3.032,0 -5.94,-1.206 -8.082,-3.352 -2.143,-2.146 -3.344,-5.056 -3.338,-8.089 0.011,-6.317 0.022,-12.897 0.022,-12.897 0,-4.116 -2.745,-7.725 -6.711,-8.825 -13.818,-3.873 -23.931,-16.246 -23.931,-30.891 0,-17.753 14.859,-32.166 33.162,-32.166 0,0 0,0 0,0 7.039,0 13.313,-4.439 15.655,-11.076 3.226,-9.191 12.394,-19.566 31.983,-19.583 v 0 h 0.223 v 0 c 19.589,0.017 28.757,10.392 31.983,19.583 2.343,6.637 8.616,11.076 15.655,11.076 0,0 0,0 0,0 18.303,0 33.162,14.413 33.162,32.166 0,14.645 -10.112,27.018 -23.93,30.891 -3.966,1.1 -6.711,4.709 -6.712,8.825 0,0 0.005,6.588 0.01,12.908 0.003,3.031 -1.2,5.938 -3.342,8.082 -2.142,2.143 -5.048,3.348 -8.078,3.348 -19.356,0 -58.367,0 -77.731,0 z"
style="fill:#161616"
id="path37" />
</g>
</g>
<defs
id="defs46">
<linearGradient
id="_Linear1"
x1="0"
y1="0"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2e-6,0,0,2e-6,3755.77,81.7179)"><stop
offset="0"
style="stop-color:rgb(39,39,39);stop-opacity:1"
id="stop41" /><stop
offset="1"
style="stop-color:rgb(108,108,108);stop-opacity:1"
id="stop43" /></linearGradient>
</defs>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:333.333px;line-height:1.25;font-family:sans-serif;fill:#2e2e2e;fill-opacity:1;stroke:none;"
x="625.77777"
y="373.5943"
id="text56"><tspan
sodipodi:role="line"
id="tspan54"
x="625.77777"
y="373.5943"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.333px;font-family:'Maiandra GD';-inkscape-font-specification:'Maiandra GD';fill:#2e2e2e;fill-opacity:1;">Tandoor</tspan></text></svg>

After

Width:  |  Height:  |  Size: 7.5 KiB

View File

@@ -0,0 +1,167 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:serif="http://www.serif.com/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="2048"
height="512"
viewBox="0 0 2048 512"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"
id="svg48"
sodipodi:docname="brand_logo_white.svg"
inkscape:version="1.0.2-2 (e86c870879, 2021-01-15)"><metadata
id="metadata52"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1377"
id="namedview50"
showgrid="false"
inkscape:zoom="0.4921875"
inkscape:cx="781.42929"
inkscape:cy="329.59753"
inkscape:window-x="1912"
inkscape:window-y="1072"
inkscape:window-maximized="1"
inkscape:current-layer="svg48"
inkscape:document-rotation="0" />
<g
id="g880"
transform="translate(0,2.5332475e-4)"><g
id="Logo"
transform="matrix(0.637323,0,0,0.637323,-243.095,-716.725)">
<g
id="Kreis"
transform="matrix(1.44936,0,0,1.50279,387.258,1039.34)">
<ellipse
cx="273.12299"
cy="324.01501"
rx="259.82199"
ry="250.584"
style="fill:url(#_Linear1)"
id="ellipse2" />
<clipPath
id="_clip2">
<ellipse
cx="273.12299"
cy="324.01501"
rx="259.82199"
ry="250.584"
id="ellipse4" />
</clipPath>
<g
clip-path="url(#_clip2)"
id="g18">
<g
id="Shadow"
transform="matrix(1.10322,0,0,1.064,-5.58287,50.5786)">
<path
d="M 156.285,427.208 389.554,660.477 668.803,495.551 374.012,200.761 Z"
style="fill:#161616"
id="path7" />
<g
transform="translate(-4.22105,0.775864)"
id="g11">
<path
d="M 208.628,178.613 485.935,455.919 590.027,364.63 296.923,71.526 l -2.748,67.463 z"
style="fill:#161616"
id="path9" />
</g>
<g
transform="translate(-85.3876,27.8512)"
id="g15">
<path
d="m 310.385,145.641 277.307,277.307 2.7,-61.591 -293.104,-293.104 -3.113,70.736 z"
style="fill:#161616"
id="path13" />
</g>
</g>
</g>
</g>
<g
transform="matrix(1.471,0,0,1.471,406.537,1149.69)"
id="g23">
<path
d="m 256.049,220 c 30.173,-0.006 56.607,-12.69 73.339,-25.866 16.962,-13.38 41.511,-10.728 55.223,5.966 22.518,27.276 35.987,61.844 35.987,99.43 0,61.55 -37.994,137.571 -90.834,164.176 -22.729,11.444 -46.298,16.88 -73.666,16.893 v 0 H 256.049 256 v 0 C 228.632,480.586 205.063,475.15 182.334,463.706 129.494,437.101 91.5,361.08 91.5,299.53 c 0,-37.586 13.469,-72.154 35.987,-99.43 13.712,-16.694 38.261,-19.346 55.223,-5.966 16.732,13.176 43.166,25.86 73.339,25.866 z"
style="fill:#ffcb76"
id="path21" />
</g>
<g
id="Flame-2"
serif:id="Flame 2"
transform="matrix(0.965725,0,0,0.89175,164.497,436.391)">
<path
d="m 604.408,844.314 c -2.427,-3.469 -2.446,-8.258 -0.046,-11.749 2.401,-3.491 6.643,-4.844 10.407,-3.319 19.101,7.623 44.064,19.383 63.438,35.206 40.319,32.929 51.343,54.955 60.345,77.639 10.656,26.852 12.233,54.589 9.963,73.989 -6.497,55.53 -48.16,101.42 -107.481,101.42 -59.321,0 -106.541,-45.45 -107.481,-101.42 -0.567,-33.708 10.432,-60.637 22.435,-79.86 2.994,-4.783 8.606,-6.751 13.621,-4.776 5.014,1.975 8.148,7.387 7.606,13.136 -1.722,12.136 -2.853,24.792 -2.283,34.904 1.931,34.216 22.239,43.016 43.151,42.806 22.288,-0.21 44.842,-19.12 36.714,-67.395 -7.107,-42.214 -32.435,-84.701 -50.389,-110.581 z"
style="fill:#ff6f00"
id="path25" />
<clipPath
id="_clip3">
<path
d="m 604.408,844.314 c -2.427,-3.469 -2.446,-8.258 -0.046,-11.749 2.401,-3.491 6.643,-4.844 10.407,-3.319 19.101,7.623 44.064,19.383 63.438,35.206 40.319,32.929 51.343,54.955 60.345,77.639 10.656,26.852 12.233,54.589 9.963,73.989 -6.497,55.53 -48.16,101.42 -107.481,101.42 -59.321,0 -106.541,-45.45 -107.481,-101.42 -0.567,-33.708 10.432,-60.637 22.435,-79.86 2.994,-4.783 8.606,-6.751 13.621,-4.776 5.014,1.975 8.148,7.387 7.606,13.136 -1.722,12.136 -2.853,24.792 -2.283,34.904 1.931,34.216 22.239,43.016 43.151,42.806 22.288,-0.21 44.842,-19.12 36.714,-67.395 -7.107,-42.214 -32.435,-84.701 -50.389,-110.581 z"
id="path27" />
</clipPath>
<g
clip-path="url(#_clip3)"
id="g34">
<g
transform="matrix(1.28784,-0.270602,0.285942,1.59598,247.349,825.209)"
id="g32">
<path
d="m 255.004,46.957 c 24.543,11.588 50.996,38.49 58.303,73.204 12.13,57.63 -21.736,73.628 -50.811,72.242 -46.607,-2.222 -62.302,-39.157 -31.17,-83.503 19.305,-27.499 1.337,-72.492 23.678,-61.943 z"
style="fill:#ffd100"
id="path30" />
</g>
</g>
</g>
<g
id="Hut"
transform="matrix(1.521,0,0,1.521,393.566,1149.06)">
<path
d="m 228.197,408.524 c -5.499,0 -10.384,-1.836 -14.173,-4.905 -2.248,-1.825 -3.104,-4.867 -2.136,-7.595 0.968,-2.729 3.549,-4.552 6.444,-4.552 13.882,-0.072 37.78,-0.076 37.78,-0.076 0,0 23.897,0.004 37.779,0.076 2.895,0 5.476,1.823 6.444,4.552 0.968,2.728 0.112,5.77 -2.136,7.595 -3.789,3.069 -8.673,4.905 -14.172,4.905 z M 217.24,378.877 c -3.032,0 -5.94,-1.206 -8.082,-3.352 -2.143,-2.146 -3.344,-5.056 -3.338,-8.089 0.011,-6.317 0.022,-12.897 0.022,-12.897 0,-4.116 -2.745,-7.725 -6.711,-8.825 -13.818,-3.873 -23.931,-16.246 -23.931,-30.891 0,-17.753 14.859,-32.166 33.162,-32.166 0,0 0,0 0,0 7.039,0 13.313,-4.439 15.655,-11.076 3.226,-9.191 12.394,-19.566 31.983,-19.583 v 0 h 0.223 v 0 c 19.589,0.017 28.757,10.392 31.983,19.583 2.343,6.637 8.616,11.076 15.655,11.076 0,0 0,0 0,0 18.303,0 33.162,14.413 33.162,32.166 0,14.645 -10.112,27.018 -23.93,30.891 -3.966,1.1 -6.711,4.709 -6.712,8.825 0,0 0.005,6.588 0.01,12.908 0.003,3.031 -1.2,5.938 -3.342,8.082 -2.142,2.143 -5.048,3.348 -8.078,3.348 -19.356,0 -58.367,0 -77.731,0 z"
style="fill:#161616"
id="path37" />
</g>
</g></g>
<defs
id="defs46">
<linearGradient
id="_Linear1"
x1="0"
y1="0"
x2="1"
y2="0"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(2e-6,0,0,2e-6,3755.77,81.7179)"><stop
offset="0"
style="stop-color:rgb(39,39,39);stop-opacity:1"
id="stop41" /><stop
offset="1"
style="stop-color:rgb(108,108,108);stop-opacity:1"
id="stop43" /></linearGradient>
</defs>
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:333.333px;line-height:1.25;font-family:sans-serif;fill:#ffffff;fill-opacity:1;stroke:none"
x="625.77777"
y="373.5943"
id="text56"><tspan
sodipodi:role="line"
id="tspan54"
x="625.77777"
y="373.5943"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:333.333px;font-family:'Maiandra GD';-inkscape-font-specification:'Maiandra GD';fill:#ffffff;fill-opacity:1">Tandoor</tspan></text></svg>

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@@ -0,0 +1,544 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="3109.5654mm"
height="485.83429mm"
viewBox="0 0 3109.5654 485.83429"
version="1.1"
id="SVGRoot"
inkscape:version="0.92.4 (5da689c313, 2019-01-14)"
sodipodi:docname="header.svg">
<defs
id="defs5069" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="4.3349334"
inkscape:cx="130.47689"
inkscape:cy="1650.2359"
inkscape:document-units="mm"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="2520"
inkscape:window-height="1481"
inkscape:window-x="8629"
inkscape:window-y="570"
inkscape:window-maximized="1" />
<metadata
id="metadata5072">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title />
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(1054.7827,-7.0828552)">
<rect
style="fill:#222222;fill-opacity:0.99215686;stroke:none;stroke-width:1.73483849;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
id="rect5625"
width="3109.5654"
height="485.83429"
x="-1054.7827"
y="7.0828552" />
<path
id="path5627"
d="m -1000.2201,176.94992 c -2.2188,0 -4.0001,-1.78126 -4.0001,-3.99999 0,-3.87501 4.0001,-2.875 4.0001,-8.00001 1.49995,0 3.99995,3.68753 3.99995,7 0,3.3125 -1.78125,5 -3.99995,5 z m 15.99995,0 c -2.21875,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.78125,5 -4,5 z m 16,0 c -2.21875,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.78125,5 -4,5 z m 5.99999,20.00002 h -3.99998 v -18.00002 h -4.00001 v 18.00002 h -12 v -18.00002 h -4 v 18.00002 h -11.99999 v -18.00002 h -4.00006 v 18.00002 h -3.9999 c -3.3126,0 -6,2.68747 -6,5.99997 v 26.00001 h 55.99994 v -26.00001 c 0,-3.3125 -2.6875,-5.99997 -6,-5.99997 z m 2.00001,27.99999 h -48.00005 v -9.00538 c 2.0278,-1.18486 2.991,-2.99462 5.3438,-2.99462 3.49388,0 3.90662,3.99998 9.34375,3.99998 5.35538,0 5.90213,-3.99998 9.3125,-3.99998 3.51849,0 3.90013,3.99998 9.34375,3.99998 5.41964,0 5.84587,-3.99998 9.34375,-3.99998 2.311,0 3.28061,1.80937 5.3125,2.99438 z m 0,-14.04676 c -1.20325,-0.98425 -2.65213,-1.95324 -5.3125,-1.95324 -5.42875,0 -5.85312,4 -9.34375,4 -3.46187,0 -3.93175,-4 -9.34375,-4 -5.35525,0 -5.90225,4 -9.3125,4 -3.51851,0 -3.90024,-4 -9.34375,-4 -2.6829,0 -4.1376,0.97177 -5.3438,1.95724 v -7.95726 c 0,-1.10272 0.8973,-1.99998 2.0001,-1.99998 h 43.99994 c 1.10276,0 2.00001,0.89726 2.00001,1.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5640"
d="m -868.22025,214.94992 c -1.65751,0 -2.99998,1.34249 -2.99998,3 0,1.65624 1.34247,3 2.99998,3 1.65752,0 2.99999,-1.34376 2.99999,-3 0,-1.65751 -1.34247,-3 -2.99999,-3 z m 16.78123,-6.99624 11.21876,-43.00376 h -57.99999 c -3.30872,0 -5.99997,2.69127 -5.99997,6.00004 v 19.99996 c 0,3.30877 2.69125,6 5.99997,6 h 12.78252 l 0.94126,10.82001 c -4.50875,1.7275 -7.72376,6.06374 -7.72376,11.17999 v 6 c 0,2.20873 1.79125,4 3.99999,4 h 39.99999 c 2.20874,0 3.99999,-1.79127 3.99999,-4 v -6 c 0,-4.92499 -2.97374,-9.14752 -7.21876,-10.99624 z m -46.78123,-15.00376 c -1.10123,0 -1.99997,-0.89625 -1.99997,-2 v -19.99996 c 0,-1.10375 0.89874,-2 1.99997,-2 h 10.3475 l 2.08751,23.99996 z m 52.82248,-23.99996 -2.08748,7.99996 h -19.73498 c -0.55253,0 -1.00002,0.44751 -1.00002,1.00004 v 1.99996 c 0,0.55253 0.44749,1 1.00002,1 h 18.69247 l -2.0875,8 h -16.60497 c -0.55253,0 -1.00002,0.44751 -1.00002,1 v 2 c 0,0.55253 0.44749,1 1.00002,1 h 15.56122 l -3.65248,14 h -25.24125 l -3.30501,-37.99996 z m -2.82248,55.99996 h -39.99999 v -6 c 0,-4.41125 3.58875,-8 7.99999,-8 h 24 c 4.41125,0 8,3.58875 8,8 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249999" />
<path
id="path5651"
d="m -587.90184,184.94991 h -17.53413 c -0.68885,0 -1.25244,-0.67497 -1.25244,-1.49998 v -0.99999 c 0,-0.82501 0.56359,-1.50002 1.25244,-1.50002 h 17.53413 c 0.68885,0 1.25244,0.67501 1.25244,1.50002 v 0.99999 c 0,0.82501 -0.56359,1.49998 -1.25244,1.49998 z m 1.25244,6.5 v -0.99999 c 0,-0.82501 -0.56359,-1.49998 -1.25244,-1.49998 h -17.53413 c -0.68885,0 -1.25244,0.67497 -1.25244,1.49998 v 0.99999 c 0,0.82501 0.56359,1.50002 1.25244,1.50002 h 17.53413 c 0.68885,0 1.25244,-0.67501 1.25244,-1.50002 z m 6.75274,33.49998 h 0.34442 c 0.68886,0 1.25244,0.67501 1.25244,1.50002 v 0.99999 c 0,0.82501 -0.56358,1.50002 -1.25244,1.50002 h -37.15569 c -4.61319,0 -8.34963,-4.47501 -8.34963,-10 v -43.99997 c 0,-5.52502 3.73644,-10.00003 8.34963,-10.00003 h 35.90324 c 1.38812,0 2.50489,1.33751 2.50489,3.00004 v 45.99995 c 0,1.25 -0.64707,2.32499 -1.55513,2.775 -0.37572,2.01252 -0.45921,5.7 -0.0416,8.22498 z m -31.80152,-11.99997 h 30.05855 v -43.99997 h -30.05855 z m -10.01952,1.99998 c 1.39856,-1.24997 3.13111,-1.99998 5.00977,-1.99998 h 1.66992 v -43.99997 h -1.66992 c -2.76582,0 -5.00977,2.68749 -5.00977,6 z m 38.85693,9.99999 c -0.32364,-2.54999 -0.30268,-5.64997 0,-7.99998 h -33.84716 c -6.67971,0 -6.67971,7.99998 0,7.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.11422013" />
<path
id="path5662"
d="m -321.10736,168.9499 a 11.896253,11.896253 0 0 0 -7.21627,2.46752 c -2.9175,-3.90501 -7.53374,-6.4675 -12.78372,-6.4675 -5.25,0 -9.86628,2.56249 -12.78378,6.4675 a 11.945003,11.945003 0 0 0 -19.21627,9.53248 c 0,5.21751 8.00003,28.00002 8.00003,28.00002 v 16.00002 a 4.0000012,4.0000012 0 0 0 3.99998,3.99998 h 40.00003 a 4.0000012,4.0000012 0 0 0 3.99997,-3.99998 v -16.00002 c 0,0 8.00003,-22.78251 8.00003,-28.00002 a 12.000003,12.000003 0 0 0 -12,-12 z m -38.00003,54.00004 v -10 h 36.00002 v 10 z m 36.34251,-16.00002 h -3.69375 l 1.35126,-16.84376 a 1.0000003,1.0000003 0 0 0 -0.91624,-1.07622 l -2.00001,-0.16009 h -0.0812 a 1.0000003,1.0000003 0 0 0 -0.99999,0.92124 l -1.37498,17.16252 h -8.71002 v -17.00375 a 1.0000003,1.0000003 0 0 0 -0.99999,-1 h -2.00001 a 1.0000003,1.0000003 0 0 0 -1.00001,1 v 16.99999 h -8.55249 l -1.375,-17.16248 a 1.0000003,1.0000003 0 0 0 -1.00001,-0.92128 h -0.0812 l -2.00001,0.16009 a 1.0000003,1.0000003 0 0 0 -0.91626,1.07623 l 1.35877,16.84751 h -3.69375 c -3.65753,-10.40249 -7.6,-23.33251 -7.65751,-26.00002 a 5.9462515,5.9462515 0 0 1 9.59,-4.74999 l 4.81501,3.65251 3.61749,-4.84124 c 1.9275,-2.58127 4.83502,-4.06127 7.97752,-4.06127 3.14246,0 6.04997,1.48 7.97748,4.05876 l 3.61749,4.84125 4.81502,-3.65001 a 5.9462515,5.9462515 0 0 1 9.59003,4.74001 c -0.0575,2.67749 -4.00001,15.60751 -7.65755,26.01 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500003" />
<path
id="path5673"
d="m -847.60614,77.650015 c -1.68752,-1.42499 -3.825,-2.2 -6.02501,-2.2 -2.7375,0 -5.3125,1.18748 -7.11249,3.26249 l -2.55,-11.12502 c -1.96251,-8.62499 -9.45,-14.63748 -18.20002,-14.63748 -1.41248,0 -2.83748,0.16241 -4.22498,0.4875 -10.05001,2.33751 -16.3375,12.50002 -14.025,22.63751 l 5.57499,24.375005 c 0.05,0.23744 0.1375,0.46249 0.19999,0.7 -1.17499,0.38749 -2.25,1.47499 -2.25,2.79999 V 113.95 c 0,1.66251 1.33752,3 2.97501,3 h 37.8875 c 1.63749,0 3.14999,-1.33749 3.14999,-3 v -9.99999 c 0,-1.42499 -1.17499,-2.55 -2.48751,-2.86248 l 8.3,-10.050035 c 3.32501,-4.02499 2.77501,-10.02498 -1.2125,-13.38748 z m -8.61251,35.300005 h -35.99999 v -8.00001 h 35.99999 z m 6.77501,-24.475005 -10.3125,12.475015 h -30.10001 c -0.14999,-0.46253 -0.33749,-0.92502 -0.44998,-1.412535 l -5.57502,-24.37499 c -1.82499,-7.98748 3.12501,-15.98751 11.05,-17.83751 1.10001,-0.25012 2.21251,-0.38748 3.32501,-0.38748 6.89999,0 12.79999,4.7375 14.34999,11.53751 l 3.43749,15.04998 0.90001,3.92501 2.5625,-3.1 2.42501,-2.9375 c 1.03751,-1.26252 2.56249,-1.97499 4.18749,-1.97499 1.27499,0 2.50002,0.44998 3.48749,1.27498 2.32501,1.94998 2.63752,5.42501 0.71252,7.76251 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5684"
d="m -708.23518,188.94993 h -14.17124 l 13.34127,-13.34124 c 3.01372,-3.01376 2.18871,-8.09377 -1.62252,-10.00002 a 6.2446251,6.2446251 0 0 0 -2.79124,-0.65875 c -1.32752,0 -2.64502,0.42252 -3.74752,1.24875 l -30.33499,22.75126 h -22.67375 c -0.55252,0 -1,0.44749 -1,1.00001 v 2 c 0,0.55249 0.44748,0.99998 1,0.99998 h 3 v 4.00001 c 0,10.17749 6.345,18.85376 15.28624,22.34375 -1.595,2.0975 -2.71249,4.57875 -3.11501,7.30499 -0.18125,1.22877 0.7475,2.35125 1.99002,2.35125 h 27.67748 c 1.24251,0 2.17125,-1.12124 1.99,-2.35125 -0.40125,-2.72624 -1.51872,-5.20874 -3.11497,-7.30499 8.94124,-3.48999 15.28623,-12.16626 15.28623,-22.34375 v -4.00001 h 3 c 0.55252,0 1,-0.44749 1,-0.99998 v -2 c 0,-0.55252 -0.44748,-1.00001 -1,-1.00001 z m -6.59252,-19.55126 c 2.19753,-1.64749 4.90129,1.41375 2.93377,3.38127 l -16.16874,16.16999 h -12.83251 z m -0.40748,27.55126 c 0,8.28875 -5.00124,15.59624 -12.73999,18.6175 l -4.93876,1.92749 3.20999,4.21999 c 0.76002,1.00002 1.35877,2.09377 1.77376,3.23502 h -22.60875 c 0.415,-1.14125 1.01251,-2.235 1.77375,-3.23502 l 3.21001,-4.21999 -4.93877,-1.92749 c -7.73998,-3.02126 -12.74125,-10.32875 -12.74125,-18.6175 v -4.00001 h 48.00001 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5695"
d="m -204.53606,52.950005 h -39.99999 a 8.0000001,8.0000001 0 0 0 -8.00003,7.99999 v 52.000015 a 4.0000002,4.0000002 0 0 0 4.00001,3.99999 h 48.00002 a 4.0000002,4.0000002 0 0 0 3.99998,-3.99999 V 60.949995 a 8.0000001,8.0000001 0 0 0 -7.99999,-7.99999 z m 4.00001,60.000005 h -48.00002 V 72.950005 h 48.00002 z m 0,-43.999995 h -48.00002 v -8.00002 a 4.0000002,4.0000002 0 0 1 4.00002,-3.99998 h 39.99999 a 4.0000002,4.0000002 0 0 1 4.00001,3.99998 z m -6.00001,-8.00002 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2.00001,2 2.0000001,2.0000001 0 0 0 -2.00001,-2 z m -20,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -7.99999,0 a 2.0000001,2.0000001 0 1 0 1.99998,2 2.0000001,2.0000001 0 0 0 -1.99998,-2 z m 0,48.000025 h 35.99999 a 2.0000001,2.0000001 0 0 0 2,-2.00001 V 78.950015 a 2.0000001,2.0000001 0 0 0 -2,-2 h -35.99999 a 2.0000001,2.0000001 0 0 0 -2,2 v 27.999995 a 2.0000001,2.0000001 0 0 0 2,2.00001 z m 1.99998,-28.000005 h 31.99999 v 23.999995 h -31.99999 z m 26.00001,3.99999 h -20 a 2.0000053,2.0000053 0 0 0 0,4.00001 h 20 a 2.0000053,2.0000053 0 0 0 0,-4.00001 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.125" />
<path
id="path5706"
d="m -429.02571,80.321695 c -6.31838,-16.42668 -22.26007,-27.37169 -40.08167,-27.37169 -17.82164,0 -33.76502,10.94501 -40.07832,27.37169 -7.08834,0.27334 -7.92168,6.23499 -7.92168,7.65166 a 7.6816658,7.6816658 0 0 0 7.70333,7.64334 c 0.45338,0 0.79503,-0.0999 1.21997,-0.12669 l 5.41002,16.220015 a 7.6666657,7.6666657 0 0 0 7.27171,5.23998 h 52.79001 a 7.6666657,7.6666657 0 0 0 7.27163,-5.24163 l 5.40494,-16.218365 c 0.42339,0.0284 0.76675,0.12669 1.22005,0.12669 a 7.6816658,7.6816658 0 0 0 7.70828,-7.64334 c 0,-1.46168 -0.8583,-7.35667 -7.91827,-7.65166 z m -11.47331,29.696655 a 2.3333332,2.3333332 0 0 1 -2.21332,1.59832 h -52.79173 a 2.3333332,2.3333332 0 0 1 -2.21333,-1.59664 l -5.20999,-15.631675 a 21.178333,21.178333 0 0 0 4.86665,-2.78166 c 1.51505,-1.12332 2.10001,-1.57168 4.23505,0.0108 2.01999,1.5 5.41165,4.00001 11.32333,4.00001 5.91169,0 9.3066,-2.51001 11.33333,-4.01334 1.51164,-1.11834 2.08496,-1.56667 4.20167,0.008 2.02499,1.5 5.41002,3.99999 11.32163,3.99999 5.91168,0 9.3017,-2.51 11.32334,-4.01 1.81335,-1.34498 2.35331,-1.36667 4.18669,0 a 21.151665,21.151665 0 0 0 4.84659,2.78167 l -5.20991,15.633345 z m 11.68666,-19.735015 c -4.15673,0 -6.36499,-1.63998 -8.15168,-2.96832 -4.95171,-3.66666 -8.34337,-1.615 -10.53672,0.0108 -1.77326,1.31832 -3.98332,2.95833 -8.14497,2.95833 -4.16165,0 -6.36993,-1.64001 -8.15669,-2.9617 -5.30325,-3.94664 -8.91661,-1.2083 -10.54996,0 -1.77664,1.32169 -3.98505,2.9617 -8.15168,2.9617 -4.16658,0 -6.37502,-1.64001 -8.16659,-2.9617 -1.13005,-0.83331 -4.95172,-4.16665 -10.57837,0 -1.78005,1.31668 -4.00001,2.95669 -8.16665,2.95669 a 2.3116664,2.3116664 0 1 1 0,-4.62333 c 0.89828,0 1.84665,0.0801 4.45831,-1.36166 8.88831,-25.65333 33.13662,-26.01 35.84998,-26.01 2.66671,0 26.9534,0.33333 35.83336,25.99997 2.62493,1.48501 3.42832,1.38501 4.46332,1.38501 a 2.3116666,2.3116666 0 1 1 0,4.62333 z m -55.10166,-23.71832 a 2.678333,2.678333 0 0 0 -3.57835,1.19333 l -2.66672,5.33334 a 2.6666664,2.6666664 0 0 0 1.19339,3.57832 c 1.59001,0.78336 3.05998,-0.16676 3.57827,-1.19331 l 2.66671,-5.33333 a 2.6666664,2.6666664 0 0 0 -1.1933,-3.57835 z m 33.18997,1.19168 a 2.6672562,2.6672562 0 1 0 -4.77166,2.38499 l 2.66665,5.33333 c 0.51665,1.02834 1.98834,1.97668 3.57835,1.19334 a 2.6666664,2.6666664 0 0 0 1.1933,-3.57835 z m -18.38333,-1.47333 a 2.6666664,2.6666664 0 0 0 -2.66664,2.66667 v 5.3333 a 2.666681,2.666681 0 1 0 5.33335,0 v -5.3333 a 2.6666664,2.6666664 0 0 0 -2.66671,-2.66667 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16666664" />
<path
id="path5717"
d="m -79.042211,183.93774 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 1.9999 a 0.99249264,0.99249264 0 0 0 1.0001,-1.02498 c -0.2627,-5.26247 -2.4125,-9.16245 -5.1999,-11.93742 -2.3001,-2.33747 -2.6376,-4.77497 -2.7376,-6.11246 a 0.9837427,0.9837427 0 0 0 -1,-0.88749 l -2,0.012 a 0.99999253,0.99999253 0 0 0 -0.9874,1.08748 13.182401,13.182401 0 0 0 3.9,8.71244 c 2.1624,2.14999 3.7999,5.08745 4.0249,9.17491 z m -13.9374,0 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 2 a 0.99249264,0.99249264 0 0 0 1,-1.02498 c -0.2625,-5.26247 -2.4125,-9.16245 -5.2,-11.93742 -2.28754,-2.33747 -2.62494,-4.77497 -2.72494,-6.11246 a 0.98749264,0.98749264 0 0 0 -1.0125,-0.88749 l -2,0.012 a 0.99999253,0.99999253 0 0 0 -0.987499,1.08748 c 0.125,1.86248 0.65,5.44995 3.899999,8.71244 2.16124,2.14999 3.79874,5.08745 4.02494,9.17491 z m 33.9998,5.01246 h -55.999639 a 3.9999701,3.9999701 0 0 0 -4,3.99996 c 0,11.83742 6.4449,22.14485 15.9999,27.68106 v 4.31873 a 3.9999701,3.9999701 0 0 0 3.999899,3.99997 h 23.99984 a 3.9999701,3.9999701 0 0 0 4.0001,-3.99997 v -4.31873 c 9.5548,-5.53621 15.9998,-15.84364 15.9998,-27.68106 a 3.9999701,3.9999701 0 0 0 -3.9999,-3.99996 z m -16,29.3748 v 6.62495 h -23.99984 V 218.325 c -16.542299,-9.58369 -15.999799,-23.22235 -15.999799,-25.37484 h 55.999639 c 0,2.1825 0.4212,15.86113 -16,25.37484 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499907" />
<path
id="path5728"
d="m -984.22013,52.950005 c -17.67247,0 -32.00007,14.32752 -32.00007,32.00002 0,17.672495 14.3276,31.999975 32.00007,31.999975 17.67246,0 31.99999,-14.32748 31.99999,-31.999975 0,-17.6725 -14.32753,-32.00002 -31.99999,-32.00002 z m 0,59.999995 c -15.43875,0 -27.99997,-12.56124 -27.99997,-27.999975 0,-15.43877 12.56122,-28.00002 27.99997,-28.00002 15.43872,0 27.99998,12.56125 27.99998,28.00002 0,15.438735 -12.56126,27.999975 -27.99998,27.999975 z m 19.79873,-27.999975 3.53499,-3.53503 c 0.39001,-0.39 0.39001,-1.02374 0,-1.41373 l -1.41373,-1.41376 c -0.39,-0.38999 -1.02378,-0.38999 -1.41378,0 l -3.53499,3.535 -5.65748,-5.65624 2.82874,-2.82875 2.12126,2.12124 c 0.39,0.38999 1.02373,0.38999 1.41373,0 l 1.41378,-1.41373 c 0.39,-0.39002 0.39,-1.02376 0,-1.41376 l -2.12126,-2.12127 0.70748,-0.70748 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.41373,-1.41376 c -0.39,-0.38999 -1.02373,-0.38999 -1.41373,0 l -0.70753,0.70752 -2.12126,-2.12124 c -0.39,-0.39 -1.02373,-0.39 -1.41373,0 l -1.41374,1.41372 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 2.12122,2.12124 -2.82874,2.82875 -5.65748,-5.65623 3.53622,-3.535 c 0.39,-0.39 0.39,-1.02373 0,-1.41376 l -1.41496,-1.41875 c -0.39,-0.39 -1.02378,-0.39 -1.41378,0 l -3.53623,3.53626 -3.53626,-3.53626 c -0.39,-0.39 -1.02373,-0.39 -1.41373,0 l -1.41379,1.41376 c -0.38999,0.38999 -0.38999,1.02373 0,1.41376 l 3.53627,3.535 -5.65625,5.65623 -2.82874,-2.82875 2.12121,-2.12124 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.41373,-1.41375 c -0.39,-0.39 -1.02373,-0.39 -1.41373,0 l -2.12126,2.12127 -0.70753,-0.70752 c -0.39,-0.38999 -1.02373,-0.38999 -1.41373,0 l -1.4137,1.41376 c -0.39,0.39 -0.39,1.02374 0,1.41376 l 0.7074,0.70748 -2.1212,2.12124 c -0.39,0.39003 -0.39,1.02377 0,1.41376 l 1.4138,1.41376 c 0.39,0.39 1.0237,0.39 1.4137,0 l 2.12126,-2.12127 2.82874,2.82878 -5.6563,5.65624 -3.5362,-3.535 c -0.39,-0.38999 -1.0238,-0.38999 -1.4138,0 l -1.4175,1.41749 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 3.5363,3.53626 -3.5363,3.53623 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 1.4138,1.41376 c 0.39,0.38999 1.0237,0.38999 1.4137,0 l 3.5363,-3.535 5.65627,5.65623 -2.82879,2.82875 -2.12118,-2.12123 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -1.4138,1.41372 c -0.3899,0.39 -0.3899,1.02377 0,1.41376 l 2.1213,2.12124 -0.7075,0.70751 c -0.39,0.390005 -0.39,1.023775 0,1.413765 l 1.4138,1.41373 c 0.39,0.39003 1.0237,0.39003 1.4137,0 l 0.70748,-0.70748 2.12126,2.12124 c 0.39,0.38999 1.02378,0.38999 1.41378,0 l 1.41373,-1.41376 c 0.39,-0.39 0.39,-1.02373 0,-1.41373 l -2.12126,-2.121275 2.82874,-2.82872 5.65753,5.657505 -3.53627,3.53623 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.41378,1.41373 c 0.39,0.39003 1.02373,0.39003 1.41373,0 l 3.53877,-3.535 3.53623,3.53626 c 0.39,0.39 1.02378,0.39 1.41378,0 l 1.41373,-1.41376 c 0.39,-0.38999 0.39,-1.02373 0,-1.41372 l -3.53627,-3.53626 5.65753,-5.657515 2.82874,2.82876 -2.12126,2.121235 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.41373,1.41376 c 0.39,0.39 1.02378,0.39 1.41378,0 l 2.12126,-2.12124 0.70748,0.70748 c 0.39,0.39 1.02373,0.39 1.41373,0 l 1.41378,-1.41376 c 0.39001,-0.38999 0.39001,-1.02373 0,-1.413725 l -0.70752,-0.70751 2.12126,-2.12124 c 0.39,-0.39 0.39,-1.02377 0,-1.41376 l -1.41374,-1.41376 c -0.39,-0.39 -1.02378,-0.39 -1.41378,0 l -2.12121,2.12127 -2.82879,-2.82875 5.65626,-5.65627 3.53626,3.535 c 0.39001,0.38999 1.02374,0.38999 1.41374,0 l 1.41378,-1.41373 c 0.38999,-0.39003 0.38999,-1.02377 0,-1.41376 z m -19.79873,-14.14252 5.65621,5.65627 -5.65621,5.6575 -5.65625,-5.65627 z m -14.14251,14.14252 5.65625,-5.6575 5.65748,5.6575 -5.65748,5.6575 z m 14.14251,14.14249 -5.65752,-5.65751 5.65752,-5.6575 5.65749,5.6575 z m 8.485,-8.48626 -5.65625,-5.65623 5.65748,-5.65627 5.65625,5.65627 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5739"
d="m -456.09491,223.73742 1.77501,-20.60001 c -5.26252,-4.13751 -8.8,-9.62502 -8.8,-16.18747 0.0126,-11.78751 11.02499,-22.00002 19.01247,-22.00002 2.76251,0 5,2.16252 5,4.81249 v 54.37498 c 0,2.65001 -2.23749,4.81253 -5,4.81253 h -6.99998 c -2.84999,0 -5.225,-2.33754 -4.9875,-5.2125 z m -3.01251,-36.78748 c 0,6.37497 4.02501,10.68746 8.975,14.31247 l -1.97499,22.825 c -0.0361,0.46249 0.42497,0.8625 1,0.8625 h 6.99998 c 0.53752,0 1,-0.37512 1,-0.81252 v -54.37498 c 0,-0.43748 -0.46248,-0.81248 -1,-0.81248 -5.57499,0 -14.99999,8.22497 -14.99999,18.00001 z m -9.9125,-17.77502 c -0.41252,-2.43748 -2.64998,-4.225 -5.76248,-4.225 -1.4875,0 -3.01251,0.42502 -4.16253,1.40001 -1.04997,-0.8875 -2.49999,-1.40001 -4.16248,-1.40001 -1.66252,0 -3.11251,0.51251 -4.16252,1.40001 -1.14997,-0.97499 -2.67499,-1.40001 -4.16248,-1.40001 -3.15001,0 -5.35,1.81252 -5.76252,4.225 -0.22515,1.17498 -1.91247,10.57501 -1.91247,14.5125 0,6.36247 3.33749,11.45002 8.87498,13.83749 l -1.42499,26.35001 c -0.14999,2.74997 2.03748,5.075 4.79999,5.075 h 7.49999 c 2.75004,0 4.95002,-2.31253 4.80002,-5.075 l -1.42502,-26.35001 c 5.52502,-2.38747 8.87503,-7.47502 8.87503,-13.83749 0,-3.93749 -1.68754,-13.33752 -1.91252,-14.5125 z m -11.05001,25.775 1.52502,29.13749 c 0.0242,0.46249 -0.33734,0.8625 -0.81252,0.8625 h -7.49999 c -0.46249,0 -0.83749,-0.38759 -0.81249,-0.8625 l 1.52499,-29.13749 c -5.29999,-1.1 -8.96247,-5.37502 -8.96247,-11.2625 0,-3.71249 1.84999,-13.82502 1.84999,-13.82502 0.19982,-1.23749 3.53748,-1.21249 3.68748,0.0241 v 15.31248 c 0.11261,1.43748 3.52503,1.46249 3.6875,0.0241 l 0.92502,-15.36249 c 0.19982,-1.21249 3.4875,-1.21249 3.68748,0 l 0.92502,15.36249 c 0.16244,1.42502 3.575,1.40001 3.6875,-0.0241 v -15.30001 c 0.14999,-1.2375 3.48749,-1.26247 3.68748,-0.0241 0,0 1.84999,10.11252 1.84999,13.82502 0.0126,5.85 -3.625,10.14999 -8.95,11.24998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499996" />
<path
id="path5750"
d="m -218.53608,180.94994 c 3.31375,0 6.00002,-2.68627 6.00002,-6.00002 0,-3.31374 -2.68627,-6.00001 -6.00002,-6.00001 -3.31375,0 -6.00001,2.68627 -6.00001,6.00001 0,3.31375 2.68626,6.00002 6.00001,6.00002 z m 0,-8.00001 c 1.10252,0 2,0.89747 2,1.99999 0,1.10252 -0.89748,1.99999 -2,1.99999 -1.10251,0 -1.99999,-0.89747 -1.99999,-1.99999 0,-1.10252 0.89748,-1.99999 1.99999,-1.99999 z m 22,14.99998 v -1.99999 c 0,-0.5525 -0.4475,-0.99999 -0.99999,-0.99999 h -54.00001 c -0.55249,0 -0.99999,0.44749 -0.99999,0.99999 v 1.99999 c 0,0.5525 0.4475,1 0.99999,1 h 5.84125 c -4.24374,5.72252 -6.84124,12.70252 -6.84124,19.20001 0,4.885 1.47749,8.83126 3.99999,11.94126 v 6.85875 c 0,1.105 0.89503,1.99999 2.00003,1.99999 1.105,0 1.99999,-0.89499 1.99999,-1.99999 v -3.16751 c 5.08248,3.50373 12.15998,5.1675 19.99997,5.1675 7.83875,0 14.91752,-1.66377 20,-5.16624 v 3.16625 c 0,1.105 0.89503,1.99999 2.00004,1.99999 1.105,0 1.99998,-0.89499 1.99998,-1.99999 v -6.85875 c 2.5225,-3.11 3.99999,-7.05626 3.99999,-11.94126 0,-6.49749 -2.5975,-13.47749 -6.84124,-19.20001 h 5.84125 c 0.55249,0 0.99999,-0.4475 0.99999,-1 z m -3.99999,20.20001 c 0,15.1625 -16.78374,16.80002 -24.00002,16.80002 -7.21622,0 -23.99999,-1.63752 -23.99999,-16.80002 0,-6.53124 3.01753,-13.75249 7.95503,-19.20001 h 32.08873 c 4.93872,5.44752 7.95625,12.66877 7.95625,19.20001 z m -32,-35.19999 c 2.20874,0 3.99999,-1.79124 3.99999,-4.00002 0,-2.20875 -1.79125,-3.99999 -3.99999,-3.99999 -2.20874,0 -3.99998,1.79124 -3.99998,3.99999 0,2.20878 1.79124,4.00002 3.99998,4.00002 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500001" />
<path
id="path5761"
d="m -576.61441,73.757113 0.83999,-2.5214 v 0 l 6.09571,-18.28571 h -57.14279 a 11.428558,11.428558 0 0 0 -11.42857,11.42856 v 14.85712 a 1.1428558,1.1428558 0 0 0 1.14286,1.14287 h 2.28572 a 1.1428558,1.1428558 0 0 0 1.14286,-1.14287 v -14.85712 a 6.8571343,6.8571343 0 0 1 6.85713,-6.85711 h 3.80999 l 4.57141,13.71426 v 0 l 0.8643,2.59426 c -7.04426,5.67715 -11.5314,14.21856 -11.5314,23.77999 0,7.352827 2.66001,12.109977 7.0914,16.815687 a 8.1685613,8.1685613 0 0 0 5.93287,2.52429 h 37.9528 a 8.1542755,8.1542755 0 0 0 5.92141,-2.51429 c 4.42857,-4.70714 7.09858,-9.46286 7.10142,-16.817117 0,-9.47286 -4.37571,-18.12141 -11.50711,-23.86142 z m -41.57852,-16.23566 h 42.17137 l -4.57141,13.71426 h -33.02855 z m 5.44999,18.28568 h 31.38569 c 2.99999,2.41714 7.81139,6.01142 10.3571,13.71426 h -52.19421 c 2.58713,-7.71427 7.54572,-11.37283 10.45142,-13.71426 z m 37.2071,35.492797 a 3.5599955,3.5599955 0 0 1 -2.59429,1.07858 h -37.9528 a 3.5714241,3.5714241 0 0 1 -2.60429,-1.08858 c -4.26286,-4.52428 -5.84856,-8.23283 -5.84856,-13.679967 a 25.471396,25.471396 0 0 1 0.27125,-3.51716 h 54.31852 a 25.781397,25.781397 0 0 1 0.26713,3.5243 c 0,5.445697 -1.58857,9.154267 -5.85712,13.682827 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.14285697" />
<path
id="path5772"
d="m -727.23533,93.949125 c -1.65623,0 -2.99995,1.34246 -2.99995,2.99995 0,1.65621 1.34372,2.99992 2.99995,2.99992 1.65621,0 2.99993,-1.34371 2.99993,-2.99992 0,-1.65749 -1.34372,-2.99995 -2.99993,-2.99995 z m -20.9996,-16.99966 c 0,-1.65749 -1.34373,-2.99995 -2.99996,-2.99995 -1.6562,0 -2.99993,1.34246 -2.99993,2.99995 0,1.65621 1.34373,2.99992 2.99993,2.99992 1.65623,0 2.99996,-1.34371 2.99996,-2.99992 z m 0.99998,16.99966 c -1.65622,0 -2.99993,1.34246 -2.99993,2.99995 0,1.65621 1.34371,2.99992 2.99993,2.99992 1.6562,0 2.99996,-1.34371 2.99996,-2.99992 0,-1.65749 -1.34376,-2.99995 -2.99996,-2.99995 z m 11.99976,-11.99978 c -1.6562,0 -2.99995,1.34246 -2.99995,2.99995 0,1.65621 1.34375,2.99995 2.99995,2.99995 1.65621,0 2.99995,-1.34374 2.99995,-2.99995 0,-1.65749 -1.34374,-2.99995 -2.99995,-2.99995 z m 27.81447,2.97744 c -8.7461,-0.10616 -15.80845,-7.21111 -15.80845,-15.98218 -8.77107,0 -15.8747,-7.0611 -15.98217,-15.80595 -0.82749,-0.1262 -1.66123,-0.18865 -2.49122,-0.18865 -2.58494,0 -5.1474,0.60625 -7.4736,1.79122 l -8.64108,4.40243 a 16.527304,16.527304 0 0 0 -7.22362,7.22609 l -4.38743,8.60983 a 16.580302,16.580302 0 0 0 -1.60244,10.11857 l 1.50995,9.53483 a 16.569053,16.569053 0 0 0 4.64493,9.119795 l 6.8461,6.84487 a 16.50418,16.50418 0 0 0 9.08858,4.63242 l 9.58857,1.51748 c 0.85748,0.13639 1.71997,0.20246 2.57995,0.20246 2.58994,0 5.15616,-0.61001 7.4861,-1.79748 l 8.64108,-4.40241 a 16.527304,16.527304 0 0 0 7.22359,-7.22609 l 4.38744,-8.609845 c 1.56998,-3.0787 2.12621,-6.57112 1.61372,-9.98733 z m -5.17739,8.16985 -4.38745,8.611085 c -1.20994,2.37496 -3.10367,4.26866 -5.4761,5.47739 l -8.6411,4.40244 c -1.74747,0.88994 -3.70869,1.36117 -5.66989,1.36117 -0.65124,0 -1.30874,-0.0512 -1.95372,-0.1538 l -9.58732,-1.51745 c -2.62494,-0.41624 -5.00615,-1.62997 -6.88611,-3.50993 l -6.84611,-6.84487 c -1.88746,-1.886215 -3.10495,-4.278665 -3.52244,-6.916135 l -1.50996,-9.53354 c -0.41875,-2.63997 0.004,-5.29489 1.21497,-7.6761 l 4.38742,-8.60983 c 1.20997,-2.37496 3.10368,-4.26866 5.47614,-5.47739 l 8.63983,-4.40368 c 1.41622,-0.72123 2.97495,-1.16624 4.56366,-1.30747 1.64372,7.89361 7.97985,14.11846 15.90593,15.60721 1.48871,7.92733 7.7136,14.26346 15.60846,15.90592 -0.13739,1.59123 -0.58,3.14243 -1.31621,4.58491 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499758" />
<path
id="path5794"
d="m -79.787761,52.950005 c -16.55795,0 -31.006649,10.95333 -39.052249,20.33331 l -16.0613,-14.27832 c -2.2371,-1.84166 -5.5619,0.11165 -4.999,2.92669 l 4.4492,23.01832 -4.4508,23.020035 c -0.5613,2.81333 2.7602,4.76663 4.9922,2.93167 l 16.0615,-14.275035 c 8.0521,9.370005 22.509099,20.323325 39.060449,20.323325 25.291,0 45.7932,-25.600005 45.7932,-31.999995 0,-6.39999 -20.5022,-32 -45.7932,-32 z m 0,58.666695 c -14.1406,0 -27.375449,-9.54502 -35.045149,-18.478335 l -3.3695,-3.92501 c -5.1646,4.24667 -2.0268,1.47999 -15.2467,13.601665 3.6029,-18.981675 3.1079,-16.395005 3.4059,-17.865015 -0.298,-1.46835 0.1985,1.12166 -3.4043,-17.86501 13.2464,12.14167 10.1004,9.36833 15.2467,13.60336 l 3.3695,-3.92503 c 7.6699,-8.93333 20.896449,-18.48001 35.043549,-18.48001 21.2261,0 39.0905,21.08168 40.46,26.66669 -1.3695,5.58501 -19.2339,26.666695 -40.46,26.666695 z m -3.6063,-41.725025 -1.8727,-1.885 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -14.021449,14.11 a 1.3246526,1.333334 0 0 0 0,1.88499 l 1.872799,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 14.02305,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 18.5451,2.66667 -1.8727,-1.88499 a 1.3246526,1.333334 0 0 0 -1.8743,0 l -24.6188,24.77666 a 1.3246526,1.333334 0 0 0 0,1.885 l 1.8729,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 24.6202,-24.77001 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 6.0753,11.44835 a 1.3246526,1.333334 0 0 0 -1.8745,0 l -14.0214,14.11 a 1.3246526,1.333334 0 0 0 0,1.884995 l 1.8726,1.88499 a 1.3246526,1.333334 0 0 0 1.8729,0 l 14.0229,-14.103335 a 1.3246526,1.333334 0 0 0 0,-1.88666 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16612326" />
<path
id="path5805"
d="m -341.10743,94.950015 c -1.09999,0 -2.00002,0.9 -2.00002,1.99998 0,1.1 0.90003,1.99999 2.00002,1.99999 1.09996,0 2,-0.89999 2,-1.99999 0,-1.09998 -0.90004,-1.99998 -2,-1.99998 z m -4.00005,-31.00001 c -1.09996,0 -1.99992,0.9 -1.99992,2.00002 0,1.1 0.89996,1.99999 1.99992,1.99999 1.1001,0 2.00003,-0.89999 2.00003,-1.99999 0,-1.10002 -0.89993,-2.00002 -2.00003,-2.00002 z m 4.00005,23.00001 c -1.09999,0 -2.00002,0.9 -2.00002,1.99999 0,1.1 0.90003,1.99998 2.00002,1.99998 1.09996,0 2,-0.89998 2,-1.99998 0,-1.09999 -0.90004,-1.99999 -2,-1.99999 z m 0,-7.99999 c -1.09999,0 -2.00002,0.9 -2.00002,1.99998 0,1.1 0.90003,2.00003 2.00002,2.00003 1.09996,0 2,-0.90003 2,-2.00003 0,-1.09998 -0.90004,-1.99998 -2,-1.99998 z m 4.00003,-15.00002 c -1.10007,0 -2.00003,0.9 -2.00003,2.00002 0,1.1 0.89996,1.99999 2.00003,1.99999 1.09998,0 2.00001,-0.89999 2.00001,-1.99999 0,-1.10002 -0.90003,-2.00002 -2.00001,-2.00002 z m 23.99995,19.00003 c 0,-5.51253 -4.4875,-10.00002 -9.99996,-10.00002 h -4.95 c 1.28743,-2.88749 1.57497,-6.17501 0.72496,-9.44999 -1.2375,-4.84999 -5.17502,-8.79998 -9.99998,-10.06251 -1.24997,-0.32487 -2.51253,-0.48751 -3.775,-0.48751 -3.81248,0 -7.38754,1.48752 -10.07497,4.17501 -2.68753,2.6875 -4.17501,6.26249 -4.17501,10.07501 0,1.99999 0.42495,3.96249 1.225,5.74999 h -4.97506 c -5.51247,0 -9.99996,4.48749 -9.99996,10.00002 0,5.51246 4.48749,9.99998 9.99996,9.99998 h 3.48761 l -7.25004,7.700005 c -3.47501,4.27498 -2.82504,10.5875 1.44992,14.06247 1.78751,1.4375 4.02512,2.23751 6.31256,2.23751 3.02496,0 5.86249,-1.35001 7.76254,-3.7 l 6.23745,-6.44997 6.23753,6.44997 c 1.89995,2.34999 4.73748,3.7 7.76244,3.7 2.28757,0 4.52496,-0.80001 6.29998,-2.23751 4.27507,-3.47497 4.92501,-9.78749 1.45003,-14.06247 l -7.24993,-7.700005 h 3.49997 c 5.51246,0 9.99996,-4.48752 9.99996,-9.99998 z m -17.925,10.88749 8.57499,9.324985 c 2.0875,2.57501 1.70001,6.35 -0.87498,8.43751 -1.11256,0.89998 -2.45,1.34997 -3.77502,1.34997 -1.74993,0 -3.47497,-0.7625 -4.66245,-2.21247 l -6.23753,-6.45 c -0.79999,-0.98751 -1.95,-1.47501 -3.09999,-1.47501 -1.15001,0 -2.29993,0.4875 -3.10001,1.47501 l -6.23753,6.45 c -1.18744,1.46248 -2.91241,2.21247 -4.66245,2.21247 -1.32499,0 -2.66247,-0.43748 -3.77503,-1.34997 -2.57498,-2.08751 -2.96248,-5.8625 -0.87497,-8.43751 l 8.57502,-9.324985 c 1.58744,-1.9625 0.1999,-4.88752 -2.325,-4.88752 h -5.60007 c -3.31252,0 -5.99995,-2.68749 -5.99995,-5.99997 0,-3.31251 2.68743,-6.00001 5.99995,-6.00001 h 10.20001 c 1.16251,0 1.77499,-1.4375 0.91253,-2.21252 -2.06255,-1.86248 -3.36247,-4.53748 -3.36247,-7.53748 0,-5.6625 4.58747,-10.25001 10.24997,-10.25001 0.90004,0 1.82503,0.11255 2.76252,0.3625 3.44995,0.9 6.26249,3.725 7.13746,7.18748 1.03747,4.06251 -0.33744,7.83754 -3.00001,10.23751 -0.8625,0.78752 -0.27481,2.22502 0.90004,2.22502 h 10.20001 c 3.31241,0 5.99994,2.6875 5.99994,5.99997 0,3.31251 -2.68753,6 -5.99994,6 h -5.58758 c -2.52492,-0.0134 -3.92494,2.91253 -2.33746,4.87503 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499995" />
<path
id="path5627-3"
d="m -755.23517,400.94978 c -2.21875,0 -4.00001,-1.78126 -4.00001,-3.99999 0,-3.87502 4.00001,-2.87501 4.00001,-8.00002 1.49999,0 4,3.68753 4,7.00001 0,3.3125 -1.78126,5 -4,5 z m 15.99999,0 c -2.21874,0 -3.99999,-1.78126 -3.99999,-3.99999 0,-3.87502 3.99999,-2.87501 3.99999,-8.00002 1.5,0 4.00001,3.68753 4.00001,7.00001 0,3.3125 -1.78125,5 -4.00001,5 z m 16,0 c -2.21875,0 -4,-1.78126 -4,-3.99999 0,-3.87502 4,-2.87501 4,-8.00002 1.5,0 4,3.68753 4,7.00001 0,3.3125 -1.78124,5 -4,5 z m 6,20.00002 h -3.99999 v -18.00002 h -4.00001 v 18.00002 h -11.99999 v -18.00002 h -4 v 18.00002 h -12 v -18.00002 h -4 v 18.00002 h -4 c -3.3125,0 -6,2.68747 -6,5.99998 v 26 h 55.99999 v -26 c 0,-3.31251 -2.6875,-5.99998 -6,-5.99998 z m 2.00001,27.99999 h -48.00001 v -9.00537 c 2.02775,-1.18487 2.991,-2.99463 5.34375,-2.99463 3.49388,0 3.90662,3.99999 9.34376,3.99999 5.35537,0 5.90212,-3.99999 9.31249,-3.99999 3.5185,0 3.90013,3.99999 9.34375,3.99999 5.41964,0 5.84588,-3.99999 9.34375,-3.99999 2.31101,0 3.28062,1.80938 5.31251,2.99438 z m 0,-14.04676 c -1.20324,-0.98425 -2.65213,-1.95323 -5.31251,-1.95323 -5.42874,0 -5.85312,3.99999 -9.34375,3.99999 -3.46186,0 -3.93175,-3.99999 -9.34375,-3.99999 -5.35525,0 -5.90224,3.99999 -9.31249,3.99999 -3.51851,0 -3.90025,-3.99999 -9.34376,-3.99999 -2.68286,0 -4.13762,0.97176 -5.34375,1.95723 v -7.95725 c 0,-1.10273 0.89725,-1.99999 2.00001,-1.99999 h 43.99999 c 1.10276,0 2.00001,0.89726 2.00001,1.99999 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5640-5"
d="m -597.67869,438.94978 c -1.65751,0 -2.99998,1.34249 -2.99998,3 0,1.65624 1.34247,3 2.99998,3 1.65752,0 2.99999,-1.34376 2.99999,-3 0,-1.65751 -1.34247,-3 -2.99999,-3 z m 16.78123,-6.99624 11.21876,-43.00377 h -58 c -3.30872,0 -5.99997,2.69127 -5.99997,6.00005 v 19.99996 c 0,3.30877 2.69125,6 5.99997,6 h 12.78253 l 0.94126,10.82001 c -4.50875,1.7275 -7.72376,6.06374 -7.72376,11.17999 v 6 c 0,2.20873 1.79125,4 3.99999,4 h 39.99999 c 2.20874,0 3.99999,-1.79127 3.99999,-4 v -6 c 0,-4.92499 -2.97374,-9.14752 -7.21876,-10.99624 z m -46.78124,-15.00376 c -1.10123,0 -1.99997,-0.89625 -1.99997,-2 v -19.99996 c 0,-1.10376 0.89874,-2.00001 1.99997,-2.00001 h 10.34751 l 2.08751,23.99997 z m 52.82249,-23.99997 -2.08748,7.99997 h -19.73498 c -0.55253,0 -1.00002,0.44751 -1.00002,1.00004 v 1.99996 c 0,0.55253 0.44749,1 1.00002,1 h 18.69247 l -2.0875,8 h -16.60497 c -0.55253,0 -1.00002,0.44751 -1.00002,1 v 2 c 0,0.55253 0.44749,1 1.00002,1 h 15.56122 l -3.65248,14 h -25.24125 l -3.30501,-37.99997 z m -2.82248,55.99997 h -39.99999 v -6 c 0,-4.41125 3.58875,-8 7.99999,-8 h 24 c 4.41125,0 8,3.58875 8,8 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249999" />
<path
id="path5651-5"
d="m -327.33062,408.94977 h -17.53412 c -0.68884,0 -1.25243,-0.67497 -1.25243,-1.49998 v -0.99999 c 0,-0.82501 0.56359,-1.50002 1.25243,-1.50002 h 17.53412 c 0.68887,0 1.25246,0.67501 1.25246,1.50002 v 0.99999 c 0,0.82501 -0.56359,1.49998 -1.25246,1.49998 z m 1.25246,6.5 v -0.99999 c 0,-0.82501 -0.56359,-1.49998 -1.25246,-1.49998 h -17.53412 c -0.68884,0 -1.25243,0.67497 -1.25243,1.49998 v 0.99999 c 0,0.82501 0.56359,1.50002 1.25243,1.50002 h 17.53412 c 0.68887,0 1.25246,-0.67501 1.25246,-1.50002 z m 6.75272,33.49998 h 0.34444 c 0.68884,0 1.25243,0.67501 1.25243,1.50002 v 0.99999 c 0,0.82501 -0.56359,1.50002 -1.25243,1.50002 h -37.1557 c -4.6132,0 -8.34962,-4.47501 -8.34962,-10 v -43.99997 c 0,-5.52503 3.73642,-10.00004 8.34962,-10.00004 h 35.90324 c 1.38811,0 2.50489,1.33751 2.50489,3.00004 v 45.99996 c 0,1.25 -0.64707,2.32499 -1.55514,2.775 -0.37571,2.01252 -0.45919,5.7 -0.0416,8.22498 z m -31.80151,-11.99997 h 30.05854 V 392.9498 h -30.05854 z m -10.01951,1.99998 c 1.39854,-1.24997 3.13111,-1.99998 5.00976,-1.99998 h 1.66991 V 392.9498 h -1.66991 c -2.76583,0 -5.00976,2.6875 -5.00976,6.00001 z m 38.85692,9.99999 c -0.32364,-2.54999 -0.30268,-5.64997 0,-7.99998 h -33.84716 c -6.6797,0 -6.6797,7.99998 0,7.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.11422013" />
<path
id="path5662-5"
d="m -66.979571,392.94975 a 11.896253,11.896253 0 0 0 -7.2163,2.46753 c -2.9175,-3.90502 -7.5338,-6.46751 -12.7838,-6.46751 -5.25,0 -9.86628,2.56249 -12.78378,6.46751 a 11.945003,11.945003 0 0 0 -19.216199,9.53248 c 0,5.21751 8,28.00002 8,28.00002 v 16.00002 a 4.0000013,4.0000013 0 0 0 4,3.99998 h 40.000079 a 4.0000013,4.0000013 0 0 0 4,-3.99998 v -16.00002 c 0,0 8,-22.78251 8,-28.00002 a 12.000003,12.000003 0 0 0 -12,-12.00001 z m -38.000079,54.00005 v -10 h 36.000079 v 10 z m 36.342579,-16.00002 h -3.6938 l 1.3513,-16.84376 a 1.0000003,1.0000003 0 0 0 -0.9162,-1.07622 l -2,-0.16009 h -0.081 a 1.0000003,1.0000003 0 0 0 -1,0.92124 l -1.375,17.16252 h -8.7101 v -17.00375 a 1.0000003,1.0000003 0 0 0 -1,-1 h -2 a 1.0000003,1.0000003 0 0 0 -1.0001,1 v 16.99999 h -8.55238 l -1.375,-17.16248 a 1.0000003,1.0000003 0 0 0 -1.0001,-0.92128 h -0.081 l -1.9999,0.16009 a 1.0000003,1.0000003 0 0 0 -0.9163,1.07623 l 1.3587,16.84751 h -3.6937 c -3.6575,-10.40249 -7.6,-23.33251 -7.6575,-26.00002 a 5.9462517,5.9462517 0 0 1 9.59,-4.74999 l 4.814994,3.65251 3.61748,-4.84124 c 1.9275,-2.58127 4.835,-4.06127 7.9775,-4.06127 3.1425,0 6.05,1.48 7.9775,4.05876 l 3.6176,4.84125 4.815,-3.65001 a 5.9462517,5.9462517 0 0 1 9.59,4.74001 c -0.058,2.67749 -4,15.60751 -7.6575,26.01 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500003" />
<path
id="path5673-3"
d="m -444.49331,301.64985 c -1.68752,-1.42499 -3.825,-2.2 -6.02501,-2.2 -2.7375,0 -5.3125,1.18748 -7.11249,3.26249 l -2.55,-11.12502 c -1.96251,-8.62499 -9.45,-14.63748 -18.20002,-14.63748 -1.41248,0 -2.83748,0.16241 -4.22498,0.4875 -10.05001,2.33751 -16.3375,12.50002 -14.025,22.63751 l 5.57499,24.375 c 0.05,0.23744 0.1375,0.46249 0.19999,0.7 -1.17499,0.38749 -2.25,1.47499 -2.25,2.79999 v 10 c 0,1.66251 1.33752,3 2.97501,3 h 37.8875 c 1.63749,0 3.14999,-1.33749 3.14999,-3 v -10 c 0,-1.42499 -1.17499,-2.55 -2.48751,-2.86248 l 8.3,-10.05003 c 3.32501,-4.02499 2.77501,-10.02498 -1.2125,-13.38748 z m -8.61251,35.30001 h -35.99999 v -8.00002 h 35.99999 z m 6.77501,-24.47501 -10.3125,12.47501 h -30.10001 c -0.14999,-0.46253 -0.33749,-0.92502 -0.44998,-1.41253 l -5.57502,-24.37499 c -1.82499,-7.98748 3.12501,-15.98751 11.05,-17.83751 1.10001,-0.25012 2.21251,-0.38748 3.32501,-0.38748 6.89999,0 12.79999,4.7375 14.34999,11.53751 l 3.43749,15.04998 0.90001,3.92501 2.5625,-3.1 2.42501,-2.9375 c 1.03751,-1.26252 2.56249,-1.97499 4.18749,-1.97499 1.27499,0 2.50002,0.44998 3.48749,1.27498 2.32501,1.94998 2.63752,5.42501 0.71252,7.76251 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5684-1"
d="m -438.10741,412.94979 h -14.17124 l 13.34127,-13.34124 c 3.01371,-3.01376 2.18869,-8.09378 -1.62253,-10.00003 a 6.2446252,6.2446252 0 0 0 -2.79125,-0.65875 c -1.32752,0 -2.64501,0.42252 -3.7475,1.24875 l -30.33501,22.75127 h -22.67374 c -0.55252,0 -1,0.44749 -1,1.00001 v 2 c 0,0.55249 0.44748,0.99998 1,0.99998 h 3 v 4.00001 c 0,10.17749 6.345,18.85376 15.28623,22.34375 -1.59499,2.0975 -2.71248,4.57875 -3.115,7.30499 -0.18125,1.22877 0.74751,2.35125 1.99002,2.35125 h 27.67748 c 1.24251,0 2.17125,-1.12124 1.99001,-2.35125 -0.40127,-2.72624 -1.51873,-5.20874 -3.11499,-7.30499 8.94125,-3.48999 15.28625,-12.16626 15.28625,-22.34375 v -4.00001 h 3 c 0.5525,0 0.99999,-0.44749 0.99999,-0.99998 v -2 c 0,-0.55252 -0.44749,-1.00001 -0.99999,-1.00001 z m -6.59254,-19.55127 c 2.19755,-1.64749 4.9013,1.41376 2.93378,3.38128 l -16.16874,16.16999 h -12.83251 z m -0.40746,27.55127 c 0,8.28875 -5.00126,15.59624 -12.74,18.6175 l -4.93877,1.92749 3.21,4.21999 c 0.76002,1.00002 1.35877,2.09377 1.77377,3.23502 h -22.60875 c 0.415,-1.14125 1.01251,-2.235 1.77374,-3.23502 l 3.21,-4.21999 -4.93876,-1.92749 c -7.73998,-3.02126 -12.74125,-10.32875 -12.74125,-18.6175 v -4.00001 h 48.00002 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5695-7"
d="m -852.22024,276.94984 h -40 a 8.0000001,8.0000001 0 0 0 -8,7.99999 v 52.00003 a 4.0000002,4.0000002 0 0 0 4,3.99999 h 48 a 4.0000002,4.0000002 0 0 0 4,-3.99999 v -52.00003 a 8.0000001,8.0000001 0 0 0 -8,-7.99999 z m 4,60.00002 h -48 v -40.00001 h 48 z m 0,-44 h -48 v -8.00003 a 4.0000002,4.0000002 0 0 1 4,-3.99998 h 40 a 4.0000002,4.0000002 0 0 1 4,3.99998 z m -6,-8.00003 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -20,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m 0,48.00003 h 36 a 2.0000001,2.0000001 0 0 0 2,-2.00001 v -27.99999 a 2.0000001,2.0000001 0 0 0 -2,-2 h -36 a 2.0000001,2.0000001 0 0 0 -2,2 v 27.99999 a 2.0000001,2.0000001 0 0 0 2,2.00001 z m 2,-28 h 32 v 23.99999 h -32 z m 26,3.99999 h -20 a 2.0000055,2.0000055 0 0 0 0,4.00001 h 20 a 2.0000055,2.0000055 0 0 0 0,-4.00001 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.125" />
<path
id="path5706-9"
d="m -46.898011,304.32153 c -6.3184,-16.42668 -22.26,-27.37169 -40.0816,-27.37169 -17.821639,0 -33.765039,10.94501 -40.078339,27.37169 -7.0884,0.27334 -7.9217,6.23499 -7.9217,7.65166 a 7.6816659,7.6816659 0 0 0 7.7033,7.64334 c 0.4534,0 0.795,-0.0999 1.22,-0.12669 l 5.41,16.22001 a 7.6666659,7.6666659 0 0 0 7.2717,5.23999 h 52.790039 a 7.6666659,7.6666659 0 0 0 7.2716,-5.24164 l 5.405,-16.21836 c 0.4234,0.0284 0.7667,0.12669 1.22,0.12669 a 7.6816659,7.6816659 0 0 0 7.7083,-7.64334 c 0,-1.46168 -0.8583,-7.35667 -7.9183,-7.65166 z m -11.4733,29.69665 a 2.3333332,2.3333332 0 0 1 -2.2133,1.59832 h -52.791739 a 2.3333332,2.3333332 0 0 1 -2.2133,-1.59664 l -5.21,-15.63167 a 21.178333,21.178333 0 0 0 4.8666,-2.78166 c 1.5151,-1.12332 2.1,-1.57168 4.2351,0.0108 2.02,1.5 5.4116,4.00001 11.3233,4.00001 5.911739,0 9.306639,-2.51001 11.333339,-4.01334 1.5117,-1.11834 2.085,-1.56667 4.2017,0.008 2.025,1.5 5.41,3.99999 11.3216,3.99999 5.9117,0 9.3017,-2.51 11.3233,-4.01 1.8134,-1.34498 2.3534,-1.36667 4.1867,0 a 21.151665,21.151665 0 0 0 4.8466,2.78167 l -5.2099,15.63334 z m 11.6867,-19.73501 c -4.1568,0 -6.365,-1.63998 -8.1517,-2.96832 -4.9517,-3.66666 -8.3434,-1.615 -10.5367,0.0108 -1.7733,1.31832 -3.9833,2.95833 -8.145,2.95833 -4.1616,0 -6.3699,-1.64001 -8.1566,-2.9617 -5.3033,-3.94664 -8.9167,-1.2083 -10.55,0 -1.7766,1.32169 -3.9851,2.9617 -8.151739,2.9617 -4.1666,0 -6.375,-1.64001 -8.1666,-2.9617 -1.13,-0.83331 -4.9517,-4.16665 -10.5784,0 -1.78,1.31668 -4,2.95669 -8.1666,2.95669 a 2.3116664,2.3116664 0 1 1 0,-4.62333 c 0.8983,0 1.8466,0.0801 4.4583,-1.36166 8.8883,-25.65333 33.136639,-26.01 35.850039,-26.01 2.6667,0 26.9534,0.33333 35.8333,25.99997 2.6249,1.48501 3.4283,1.38501 4.4633,1.38501 a 2.3116666,2.3116666 0 1 1 0,4.62333 z m -55.101739,-23.71832 a 2.6783329,2.6783329 0 0 0 -3.5783,1.19333 l -2.6667,5.33334 a 2.6666664,2.6666664 0 0 0 1.1934,3.57832 c 1.59,0.78336 3.06,-0.16676 3.5782,-1.19331 l 2.6667,-5.33333 a 2.6666664,2.6666664 0 0 0 -1.1933,-3.57835 z m 33.190039,1.19168 a 2.6672561,2.6672561 0 1 0 -4.7716,2.38499 l 2.6666,5.33333 c 0.5167,1.02834 1.9884,1.97668 3.5783,1.19334 a 2.6666664,2.6666664 0 0 0 1.1933,-3.57835 z m -18.3833,-1.47333 a 2.6666664,2.6666664 0 0 0 -2.6667,2.66667 v 5.3333 a 2.6667,2.6667 0 1 0 5.3334,0 v -5.3333 a 2.6666664,2.6666664 0 0 0 -2.6667,-2.66667 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16666666" />
<path
id="path5717-1"
d="m -864.28279,407.93759 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 1.9999 a 0.99249264,0.99249264 0 0 0 1.0001,-1.02498 c -0.2627,-5.26247 -2.4125,-9.16245 -5.1999,-11.93742 -2.3001,-2.33747 -2.6376,-4.77497 -2.7376,-6.11246 a 0.98374271,0.98374271 0 0 0 -1,-0.88749 l -2,0.012 a 0.99999255,0.99999255 0 0 0 -0.9874,1.08748 13.182401,13.182401 0 0 0 3.9,8.71244 c 2.1624,2.14999 3.7999,5.08745 4.0249,9.17491 z m -13.9374,0 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 2 a 0.99249264,0.99249264 0 0 0 1,-1.02498 c -0.2625,-5.26247 -2.4125,-9.16245 -5.2,-11.93742 -2.2875,-2.33747 -2.6249,-4.77497 -2.7249,-6.11246 a 0.98749265,0.98749265 0 0 0 -1.0125,-0.88749 l -2,0.012 a 0.99999255,0.99999255 0 0 0 -0.9875,1.08748 c 0.125,1.86248 0.65,5.44995 3.9,8.71244 2.1612,2.14999 3.7987,5.08745 4.0249,9.17491 z m 33.9998,5.01246 h -55.9996 a 3.99997,3.99997 0 0 0 -4,3.99996 c 0,11.83742 6.4449,22.14485 15.9999,27.68106 v 4.31873 a 3.99997,3.99997 0 0 0 3.9999,3.99997 h 23.9998 a 3.99997,3.99997 0 0 0 4.0001,-3.99997 v -4.31873 c 9.5548,-5.53621 15.9998,-15.84364 15.9998,-27.68106 a 3.99997,3.99997 0 0 0 -3.9999,-3.99996 z m -16,29.3748 v 6.62495 h -23.9998 v -6.62495 c -16.5423,-9.58369 -15.9998,-23.22235 -15.9998,-25.37484 h 55.9996 c 0,2.1825 0.4212,15.86113 -16,25.37484 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499908" />
<path
id="path5728-1"
d="m -601.67865,276.94984 c -17.67251,0 -32.00004,14.32752 -32.00004,32.00002 0,17.67249 14.32753,31.99998 32.00004,31.99998 17.67246,0 31.99998,-14.32749 31.99998,-31.99998 0,-17.6725 -14.32752,-32.00002 -31.99998,-32.00002 z m 0,60 c -15.43876,0 -28.00003,-12.56125 -28.00003,-27.99998 0,-15.43877 12.56127,-28.00002 28.00003,-28.00002 15.43871,0 27.99997,12.56125 27.99997,28.00002 0,15.43873 -12.56126,27.99998 -27.99997,27.99998 z m 19.79873,-27.99998 3.53499,-3.53503 c 0.39,-0.39 0.39,-1.02374 0,-1.41373 l -1.41373,-1.41376 c -0.39,-0.38999 -1.02378,-0.38999 -1.41378,0 l -3.535,3.535 -5.65748,-5.65624 2.82874,-2.82875 2.12126,2.12124 c 0.39,0.38999 1.02374,0.38999 1.41374,0 l 1.41378,-1.41373 c 0.39,-0.39002 0.39,-1.02376 0,-1.41376 l -2.12126,-2.12127 0.70748,-0.70748 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.41374,-1.41376 c -0.39,-0.38999 -1.02373,-0.38999 -1.41373,0 l -0.70753,0.70752 -2.12126,-2.12124 c -0.38999,-0.39 -1.02373,-0.39 -1.41373,0 l -1.41373,1.41372 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 2.12121,2.12124 -2.82874,2.82875 -5.65748,-5.65623 3.53622,-3.535 c 0.39,-0.39 0.39,-1.02373 0,-1.41376 l -1.41496,-1.41875 c -0.39,-0.39 -1.02378,-0.39 -1.41378,0 l -3.53622,3.53626 -3.53627,-3.53626 c -0.39,-0.39 -1.02373,-0.39 -1.41373,0 l -1.41378,1.41376 c -0.39,0.38999 -0.39,1.02373 0,1.41376 l 3.53627,3.535 -5.65625,5.65623 -2.82874,-2.82875 2.12121,-2.12124 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.41373,-1.41375 c -0.39,-0.39 -1.02374,-0.39 -1.41374,0 l -2.12126,2.12127 -0.70752,-0.70752 c -0.39001,-0.38999 -1.02374,-0.38999 -1.41374,0 l -1.41373,1.41376 c -0.39,0.39 -0.39,1.02374 0,1.41376 l 0.70748,0.70748 -2.12126,2.12124 c -0.39,0.39003 -0.39,1.02377 0,1.41376 l 1.41378,1.41376 c 0.39,0.39 1.02373,0.39 1.41373,0 l 2.12126,-2.12127 2.82875,2.82878 -5.65626,5.65624 -3.53627,-3.535 c -0.39,-0.38999 -1.02373,-0.38999 -1.41373,0 l -1.41751,1.41749 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 3.53627,3.53626 -3.53627,3.53623 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 1.41378,1.41376 c 0.39,0.38999 1.02373,0.38999 1.41373,0 l 3.53627,-3.535 5.65625,5.65623 -2.82879,2.82875 -2.12121,-2.12123 c -0.39,-0.39 -1.02378,-0.39 -1.41378,0 l -1.41373,1.41372 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 2.12126,2.12124 -0.70753,0.70751 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.41378,1.41373 c 0.39,0.39003 1.02373,0.39003 1.41373,0 l 0.70748,-0.70748 2.12127,2.12124 c 0.38999,0.38999 1.02377,0.38999 1.41377,0 l 1.41374,-1.41376 c 0.38999,-0.39 0.38999,-1.02373 0,-1.41373 l -2.12126,-2.12127 2.82874,-2.82872 5.65753,5.6575 -3.53627,3.53623 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.41378,1.41373 c 0.39,0.39003 1.02373,0.39003 1.41373,0 l 3.53877,-3.535 3.53622,3.53626 c 0.39,0.39 1.02378,0.39 1.41378,0 l 1.41373,-1.41376 c 0.39001,-0.38999 0.39001,-1.02373 0,-1.41372 l -3.53626,-3.53626 5.65752,-5.65751 2.82874,2.82876 -2.12126,2.12123 c -0.38999,0.39 -0.38999,1.02377 0,1.41376 l 1.41374,1.41376 c 0.38999,0.39 1.02378,0.39 1.41378,0 l 2.12126,-2.12124 0.70748,0.70748 c 0.39,0.39 1.02373,0.39 1.41373,0 l 1.41378,-1.41376 c 0.39,-0.38999 0.39,-1.02373 0,-1.41372 l -0.70753,-0.70751 2.12126,-2.12124 c 0.39,-0.39 0.39,-1.02377 0,-1.41376 l -1.41373,-1.41376 c -0.39,-0.39 -1.02378,-0.39 -1.41378,0 l -2.12121,2.12127 -2.82879,-2.82875 5.65625,-5.65627 3.53627,3.535 c 0.39,0.38999 1.02373,0.38999 1.41373,0 l 1.41378,-1.41373 c 0.39,-0.39003 0.39,-1.02377 0,-1.41376 z m -19.79873,-14.14252 5.6562,5.65627 -5.6562,5.6575 -5.65625,-5.65627 z m -14.14252,14.14252 5.65625,-5.6575 5.65748,5.6575 -5.65748,5.6575 z m 14.14252,14.14249 -5.65753,-5.65751 5.65753,-5.6575 5.65748,5.6575 z m 8.48499,-8.48626 -5.65625,-5.65623 5.65748,-5.65627 5.65625,5.65627 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5739-8"
d="m -211.52356,447.73728 1.77501,-20.60001 c -5.26251,-4.13751 -8.79999,-9.62502 -8.79999,-16.18747 0.0127,-11.78751 11.02498,-22.00003 19.01246,-22.00003 2.76251,0 4.99999,2.16252 4.99999,4.81249 v 54.37499 c 0,2.65001 -2.23748,4.81253 -4.99999,4.81253 h -6.99998 c -2.84998,0 -5.22499,-2.33754 -4.9875,-5.2125 z m -3.01252,-36.78748 c 0,6.37497 4.02503,10.68746 8.97501,14.31247 l -1.97498,22.825 c -0.0361,0.46249 0.42495,0.8625 0.99999,0.8625 h 6.99998 c 0.53753,0 0.99999,-0.37512 0.99999,-0.81252 v -54.37499 c 0,-0.43748 -0.46246,-0.81248 -0.99999,-0.81248 -5.57498,0 -15,8.22498 -15,18.00002 z m -9.91248,-17.77503 c -0.41254,-2.43748 -2.64999,-4.225 -5.76249,-4.225 -1.48749,0 -3.01252,0.42502 -4.16253,1.40001 -1.04997,-0.8875 -2.5,-1.40001 -4.16248,-1.40001 -1.66251,0 -3.11251,0.51251 -4.16253,1.40001 -1.14996,-0.97499 -2.67499,-1.40001 -4.16248,-1.40001 -3.15,0 -5.34998,1.81252 -5.76252,4.225 -0.22513,1.17499 -1.91246,10.57502 -1.91246,14.51251 0,6.36247 3.33748,11.45002 8.87497,13.83749 l -1.42499,26.35001 c -0.14997,2.74997 2.0375,5.075 4.79999,5.075 h 7.50001 c 2.75003,0 4.95001,-2.31253 4.80002,-5.075 l -1.42502,-26.35001 c 5.525,-2.38747 8.87503,-7.47502 8.87503,-13.83749 0,-3.93749 -1.68754,-13.33752 -1.91252,-14.51251 z m -11.05003,25.77501 1.52503,29.13749 c 0.0241,0.46249 -0.33734,0.8625 -0.81251,0.8625 h -7.50001 c -0.46249,0 -0.83748,-0.38759 -0.81248,-0.8625 l 1.525,-29.13749 c -5.3,-1.1 -8.96249,-5.37502 -8.96249,-11.2625 0,-3.71249 1.84999,-13.82503 1.84999,-13.82503 0.19984,-1.23749 3.53748,-1.21249 3.6875,0.0241 v 15.31249 c 0.11261,1.43748 3.52502,1.46249 3.6875,0.0241 l 0.92501,-15.3625 c 0.19981,-1.21249 3.4875,-1.21249 3.68747,0 l 0.92503,15.3625 c 0.16243,1.42502 3.575,1.40001 3.6875,-0.0241 v -15.30002 c 0.14999,-1.2375 3.4875,-1.26247 3.68747,-0.0241 0,0 1.85,10.11253 1.85,13.82503 0.0127,5.85 -3.62501,10.14999 -8.95001,11.24998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499996" />
<path
id="path5750-4"
d="m -978.22015,404.9498 c 3.3137,0 6,-2.68627 6,-6.00002 0,-3.31374 -2.6863,-6.00002 -6,-6.00002 -3.3138,0 -6,2.68628 -6,6.00002 0,3.31375 2.6862,6.00002 6,6.00002 z m 0,-8.00001 c 1.1025,0 2,0.89747 2,1.99999 0,1.10252 -0.8975,1.99999 -2,1.99999 -1.1025,0 -2,-0.89747 -2,-1.99999 0,-1.10252 0.8975,-1.99999 2,-1.99999 z m 22,14.99998 v -1.99999 c 0,-0.5525 -0.4475,-0.99999 -1,-0.99999 h -54.00005 c -0.5525,0 -1,0.44749 -1,0.99999 v 1.99999 c 0,0.5525 0.4475,1 1,1 h 5.8412 c -4.2437,5.72252 -6.8412,12.70252 -6.8412,19.20001 0,4.885 1.4775,8.83126 4,11.94126 v 6.85875 c 0,1.105 0.895,1.99999 2,1.99999 1.105,0 2,-0.89499 2,-1.99999 v -3.16751 c 5.08255,3.50373 12.16005,5.1675 20.00005,5.1675 7.8387,0 14.9175,-1.66377 20,-5.16624 v 3.16625 c 0,1.105 0.895,1.99999 2,1.99999 1.105,0 2,-0.89499 2,-1.99999 v -6.85875 c 2.5225,-3.11 4,-7.05626 4,-11.94126 0,-6.49749 -2.5975,-13.47749 -6.8413,-19.20001 h 5.8413 c 0.5525,0 1,-0.4475 1,-1 z m -4,20.20001 c 0,15.1625 -16.7837,16.80002 -24,16.80002 -7.2163,0 -24.00005,-1.63752 -24.00005,-16.80002 0,-6.53124 3.0175,-13.75249 7.955,-19.20001 h 32.08875 c 4.9388,5.44752 7.9563,12.66877 7.9563,19.20001 z m -32,-35.19999 c 2.2087,0 4,-1.79124 4,-4.00003 0,-2.20875 -1.7913,-3.99999 -4,-3.99999 -2.2087,0 -4,1.79124 -4,3.99999 0,2.20879 1.7913,4.00003 4,4.00003 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500001" />
<path
id="path5761-6"
d="m -199.4718,297.75695 0.84,-2.5214 v 0 l 6.09571,-18.28571 h -57.1428 a 11.428558,11.428558 0 0 0 -11.42855,11.42856 v 14.85712 a 1.1428558,1.1428558 0 0 0 1.14284,1.14287 h 2.28574 a 1.1428558,1.1428558 0 0 0 1.14284,-1.14287 V 288.3784 a 6.8571343,6.8571343 0 0 1 6.85713,-6.85711 h 3.81 l 4.57141,13.71426 v 0 l 0.86429,2.59426 c -7.04427,5.67715 -11.53139,14.21856 -11.53139,23.77999 0,7.35283 2.65999,12.10998 7.09139,16.81569 a 8.1685614,8.1685614 0 0 0 5.93286,2.52429 h 37.95281 a 8.1542755,8.1542755 0 0 0 5.9214,-2.51429 c 4.42857,-4.70714 7.09859,-9.46286 7.10142,-16.81712 0,-9.47286 -4.37571,-18.12141 -11.5071,-23.86142 z m -41.57853,-16.23566 h 42.17138 l -4.57142,13.71426 h -33.02854 z m 5.44999,18.28568 h 31.3857 c 3,2.41714 7.8114,6.01142 10.35711,13.71426 h -52.19422 c 2.58712,-7.71427 7.54573,-11.37283 10.45141,-13.71426 z m 37.20711,35.4928 a 3.5599955,3.5599955 0 0 1 -2.59429,1.07858 h -37.95281 a 3.5714241,3.5714241 0 0 1 -2.60427,-1.08858 c -4.26286,-4.52428 -5.84856,-8.23283 -5.84856,-13.67997 a 25.471396,25.471396 0 0 1 0.27125,-3.51716 h 54.31851 a 25.781397,25.781397 0 0 1 0.26712,3.5243 c 0,5.4457 -1.58856,9.15427 -5.8571,13.68283 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.14285697" />
<path
id="path5772-1"
d="m -329.10761,317.94896 c -1.65624,0 -2.99995,1.34246 -2.99995,2.99995 0,1.65621 1.34371,2.99992 2.99995,2.99992 1.65621,0 2.99993,-1.34371 2.99993,-2.99992 0,-1.65749 -1.34372,-2.99995 -2.99993,-2.99995 z m -20.99961,-16.99966 c 0,-1.65749 -1.34371,-2.99995 -2.99995,-2.99995 -1.65621,0 -2.99992,1.34246 -2.99992,2.99995 0,1.65621 1.34371,2.99992 2.99992,2.99992 1.65624,0 2.99995,-1.34371 2.99995,-2.99992 z m 1,16.99966 c -1.65624,0 -2.99993,1.34246 -2.99993,2.99995 0,1.65621 1.34369,2.99992 2.99993,2.99992 1.65618,0 2.99995,-1.34371 2.99995,-2.99992 0,-1.65749 -1.34377,-2.99995 -2.99995,-2.99995 z m 11.99975,-11.99978 c -1.65621,0 -2.99995,1.34246 -2.99995,2.99995 0,1.65621 1.34374,2.99995 2.99995,2.99995 1.65621,0 2.99995,-1.34374 2.99995,-2.99995 0,-1.65749 -1.34374,-2.99995 -2.99995,-2.99995 z m 27.81448,2.97744 c -8.74612,-0.10616 -15.80846,-7.21111 -15.80846,-15.98218 -8.77107,0 -15.8747,-7.0611 -15.98218,-15.80595 -0.82748,-0.1262 -1.66121,-0.18865 -2.49121,-0.18865 -2.58495,0 -5.14739,0.60625 -7.47361,1.79122 l -8.64108,4.40243 a 16.527304,16.527304 0 0 0 -7.22362,7.22609 l -4.38743,8.60983 a 16.580302,16.580302 0 0 0 -1.60242,10.11857 l 1.50995,9.53483 a 16.569053,16.569053 0 0 0 4.64492,9.11979 l 6.84609,6.84487 a 16.50418,16.50418 0 0 0 9.0886,4.63243 l 9.58855,1.51748 c 0.85749,0.13639 1.71998,0.20246 2.57995,0.20246 2.58996,0 5.15618,-0.61001 7.4861,-1.79748 l 8.64108,-4.40242 a 16.527304,16.527304 0 0 0 7.2236,-7.22609 l 4.38745,-8.60984 c 1.56996,-3.0787 2.12619,-6.57112 1.61372,-9.98733 z m -5.17739,8.16985 -4.38745,8.61108 c -1.20994,2.37496 -3.10367,4.26866 -5.47611,5.47739 l -8.64111,4.40244 c -1.74747,0.88995 -3.70869,1.36118 -5.66989,1.36118 -0.65124,0 -1.30873,-0.0512 -1.95371,-0.1538 l -9.58733,-1.51746 c -2.62493,-0.41624 -5.00613,-1.62997 -6.8861,-3.50993 l -6.84612,-6.84487 c -1.88746,-1.88621 -3.10494,-4.27866 -3.52243,-6.91613 l -1.50997,-9.53354 c -0.41873,-2.63997 0.004,-5.29489 1.21499,-7.6761 l 4.3874,-8.60983 c 1.20997,-2.37496 3.10369,-4.26866 5.47616,-5.47739 l 8.63981,-4.40368 c 1.41624,-0.72123 2.97495,-1.16624 4.56367,-1.30747 1.64372,7.89361 7.97986,14.11846 15.90593,15.60721 1.4887,7.92733 7.71361,14.26346 15.60845,15.90592 -0.13739,1.59123 -0.57999,3.14243 -1.31619,4.58491 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499759" />
<path
id="path5794-5"
d="m -732.04318,276.94984 c -16.5581,0 -31.0068,10.95333 -39.0524,20.33332 l -16.0613,-14.27833 c -2.2371,-1.84166 -5.5619,0.11165 -4.999,2.92669 l 4.4492,23.01833 -4.4508,23.02003 c -0.5613,2.81333 2.7602,4.76664 4.9922,2.93167 l 16.0615,-14.27503 c 8.0521,9.37 22.5091,20.32333 39.0606,20.32333 25.291,0 45.7932,-25.60001 45.7932,-32 0,-6.39999 -20.5022,-32.00001 -45.7932,-32.00001 z m 0,58.6667 c -14.1407,0 -27.3756,-9.54502 -35.0453,-18.47833 l -3.3695,-3.92501 c -5.1646,4.24667 -2.0268,1.47999 -15.2467,13.60166 3.6029,-18.98167 3.1079,-16.395 3.4059,-17.86501 -0.298,-1.46835 0.1985,1.12166 -3.4043,-17.86501 13.2464,12.14167 10.1004,9.36833 15.2467,13.60335 l 3.3695,-3.92502 c 7.6699,-8.93333 20.8965,-18.48002 35.0437,-18.48002 21.2261,0 39.0905,21.08169 40.46,26.6667 -1.3695,5.58501 -19.2339,26.66669 -40.46,26.66669 z m -3.6063,-41.72502 -1.8728,-1.885 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -14.0215,14.11 a 1.3246526,1.333334 0 0 0 0,1.88498 l 1.8728,1.885 a 1.3246526,1.333334 0 0 0 1.8727,0 l 14.0232,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 18.5451,2.66667 -1.8727,-1.88499 a 1.3246526,1.333334 0 0 0 -1.8743,0 l -24.6189,24.77666 a 1.3246526,1.333334 0 0 0 0,1.885 l 1.8729,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 24.6203,-24.77001 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 6.0753,11.44835 a 1.3246526,1.333334 0 0 0 -1.8745,0 l -14.0214,14.11 a 1.3246526,1.333334 0 0 0 0,1.88499 l 1.8726,1.88499 a 1.3246526,1.333334 0 0 0 1.8729,0 l 14.0229,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.88666 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16612327" />
<path
id="path5805-4"
d="m -984.22005,318.94986 c -1.1001,0 -2.0001,0.9 -2.0001,1.99998 0,1.1 0.9,1.99999 2.0001,1.99999 1.0999,0 1.9999,-0.89999 1.9999,-1.99999 0,-1.09998 -0.9,-1.99998 -1.9999,-1.99998 z m -4.0001,-31.00002 c -1.1,0 -1.9999,0.90001 -1.9999,2.00003 0,1.1 0.8999,1.99999 1.9999,1.99999 1.1001,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.8999,-2.00003 -2,-2.00003 z m 4.0001,23.00002 c -1.1001,0 -2.0001,0.9 -2.0001,1.99999 0,1.1 0.9,1.99998 2.0001,1.99998 1.0999,0 1.9999,-0.89998 1.9999,-1.99998 0,-1.09999 -0.9,-1.99999 -1.9999,-1.99999 z m 0,-7.99999 c -1.1001,0 -2.0001,0.9 -2.0001,1.99998 0,1.1 0.9,2.00003 2.0001,2.00003 1.0999,0 1.9999,-0.90003 1.9999,-2.00003 0,-1.09998 -0.9,-1.99998 -1.9999,-1.99998 z m 4,-15.00003 c -1.1001,0 -2.0001,0.90001 -2.0001,2.00003 0,1.1 0.9,1.99999 2.0001,1.99999 1.1,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.9,-2.00003 -2,-2.00003 z m 23.9999,19.00004 c 0,-5.51253 -4.4875,-10.00002 -9.9999,-10.00002 h -4.95 c 1.2874,-2.88749 1.5749,-6.17501 0.7249,-9.45 -1.2375,-4.84999 -5.175,-8.79998 -10,-10.06251 -1.2499,-0.32487 -2.5125,-0.48751 -3.7749,-0.48751 -3.8125,0 -7.3876,1.48752 -10.075,4.17501 -2.6876,2.6875 -4.175,6.26249 -4.175,10.07502 0,1.99999 0.4249,3.96249 1.225,5.74999 h -4.97515 c -5.5125,0 -10,4.48749 -10,10.00002 0,5.51246 4.4875,9.99998 10,9.99998 h 3.48765 l -7.25005,7.7 c -3.475,4.27498 -2.8251,10.5875 1.4499,14.06248 1.7875,1.4375 4.0251,2.23751 6.31255,2.23751 3.025,0 5.8625,-1.35001 7.7626,-3.7 l 6.2375,-6.44998 6.2375,6.44998 c 1.8999,2.34999 4.7374,3.7 7.7624,3.7 2.2876,0 4.525,-0.80001 6.3,-2.23751 4.2751,-3.47498 4.925,-9.7875 1.45,-14.06248 l -7.2499,-7.7 h 3.5 c 5.5124,0 9.9999,-4.48753 9.9999,-9.99998 z m -17.925,10.88749 8.575,9.32498 c 2.0875,2.575 1.7,6.35 -0.875,8.43751 -1.1125,0.89999 -2.45,1.34998 -3.775,1.34998 -1.7499,0 -3.475,-0.7625 -4.6624,-2.21248 l -6.2376,-6.45 c -0.8,-0.98751 -1.95,-1.47501 -3.0999,-1.47501 -1.1501,0 -2.3,0.4875 -3.1001,1.47501 l -6.2375,6.45 c -1.1874,1.46249 -2.9124,2.21248 -4.6625,2.21248 -1.3249,0 -2.66245,-0.43748 -3.77505,-1.34998 -2.575,-2.08751 -2.9625,-5.8625 -0.875,-8.43751 l 8.57515,-9.32498 c 1.5874,-1.9625 0.1999,-4.88752 -2.325,-4.88752 h -5.60015 c -3.3125,0 -6,-2.68749 -6,-5.99997 0,-3.31251 2.6875,-6.00001 6,-6.00001 h 10.20005 c 1.1625,0 1.775,-1.4375 0.9126,-2.21252 -2.0626,-1.86248 -3.3625,-4.53748 -3.3625,-7.53748 0,-5.66251 4.5874,-10.25002 10.25,-10.25002 0.9,0 1.825,0.11255 2.7625,0.3625 3.4499,0.9 6.2624,3.725 7.1374,7.18748 1.0375,4.06252 -0.3374,7.83755 -3,10.23752 -0.8625,0.78752 -0.2748,2.22502 0.9,2.22502 h 10.2001 c 3.3124,0 5.9999,2.6875 5.9999,5.99997 0,3.31251 -2.6875,6 -5.9999,6 h -5.5876 c -2.5249,-0.0134 -3.925,2.91253 -2.3375,4.87503 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499995" />
<path
id="path5627-7"
d="m 30.005309,176.94992 c -2.2187,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.7812,5 -4,5 z m 16,0 c -2.2187,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.7812,5 -4,5 z m 16,0 c -2.2187,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.7812,5 -4,5 z m 6,20.00002 h -4 v -18.00002 h -4 v 18.00002 h -12 v -18.00002 h -4 v 18.00002 h -12 v -18.00002 h -4 v 18.00002 h -4 c -3.3125,0 -6,2.68747 -6,5.99997 v 26.00001 h 56 v -26.00001 c 0,-3.3125 -2.6875,-5.99997 -6,-5.99997 z m 2,27.99999 h -48 v -9.00538 c 2.0278,-1.18486 2.991,-2.99462 5.3438,-2.99462 3.4939,0 3.9066,3.99998 9.3437,3.99998 5.3554,0 5.9022,-3.99998 9.3125,-3.99998 3.5185,0 3.9002,3.99998 9.3438,3.99998 5.4196,0 5.8459,-3.99998 9.3437,-3.99998 2.311,0 3.2806,1.80937 5.3125,2.99438 z m 0,-14.04676 c -1.2032,-0.98425 -2.6521,-1.95324 -5.3125,-1.95324 -5.4287,0 -5.8531,4 -9.3437,4 -3.4619,0 -3.9318,-4 -9.3438,-4 -5.3552,0 -5.9022,4 -9.3125,4 -3.5185,0 -3.9002,-4 -9.3437,-4 -2.6829,0 -4.1376,0.97177 -5.3438,1.95724 v -7.95726 c 0,-1.10272 0.8973,-1.99998 2,-1.99998 h 44 c 1.1028,0 2,0.89726 2,1.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5640-9"
d="m 162.00531,214.94992 c -1.6575,0 -3,1.34249 -3,3 0,1.65624 1.3425,3 3,3 1.6575,0 3,-1.34376 3,-3 0,-1.65751 -1.3425,-3 -3,-3 z m 16.7812,-6.99624 11.2188,-43.00376 h -58 c -3.3087,0 -6,2.69127 -6,6.00004 v 19.99996 c 0,3.30877 2.6913,6 6,6 h 12.7825 l 0.9413,10.82001 c -4.5088,1.7275 -7.7238,6.06374 -7.7238,11.17999 v 6 c 0,2.20873 1.7913,4 4,4 h 40 c 2.2088,0 4,-1.79127 4,-4 v -6 c 0,-4.92499 -2.9737,-9.14752 -7.2188,-10.99624 z m -46.7812,-15.00376 c -1.1012,0 -2,-0.89625 -2,-2 v -19.99996 c 0,-1.10375 0.8988,-2 2,-2 h 10.3475 l 2.0875,23.99996 z m 52.8225,-23.99996 -2.0875,7.99996 h -19.735 c -0.5525,0 -1,0.44751 -1,1.00004 v 1.99996 c 0,0.55253 0.4475,1 1,1 h 18.6925 l -2.0875,8 h -16.605 c -0.5525,0 -1,0.44751 -1,1 v 2 c 0,0.55253 0.4475,1 1,1 h 15.5613 l -3.6525,14 h -25.2413 l -3.305,-37.99996 z m -2.8225,55.99996 h -40 v -6 c 0,-4.41125 3.5888,-8 8,-8 h 24 c 4.4113,0 8,3.58875 8,8 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249999" />
<path
id="path5651-8"
d="m 442.32375,184.94991 h -17.5341 c -0.6889,0 -1.2525,-0.67497 -1.2525,-1.49998 v -0.99999 c 0,-0.82501 0.5636,-1.50002 1.2525,-1.50002 h 17.5341 c 0.6889,0 1.2524,0.67501 1.2524,1.50002 v 0.99999 c 0,0.82501 -0.5635,1.49998 -1.2524,1.49998 z m 1.2524,6.5 v -0.99999 c 0,-0.82501 -0.5635,-1.49998 -1.2524,-1.49998 h -17.5341 c -0.6889,0 -1.2525,0.67497 -1.2525,1.49998 v 0.99999 c 0,0.82501 0.5636,1.50002 1.2525,1.50002 h 17.5341 c 0.6889,0 1.2524,-0.67501 1.2524,-1.50002 z m 6.7528,33.49998 h 0.3444 c 0.6889,0 1.2525,0.67501 1.2525,1.50002 v 0.99999 c 0,0.82501 -0.5636,1.50002 -1.2525,1.50002 h -37.1557 c -4.6132,0 -8.3496,-4.47501 -8.3496,-10 v -43.99997 c 0,-5.52502 3.7364,-10.00003 8.3496,-10.00003 h 35.9033 c 1.3881,0 2.5049,1.33751 2.5049,3.00004 v 45.99995 c 0,1.25 -0.6471,2.32499 -1.5552,2.775 -0.3757,2.01252 -0.4592,5.7 -0.042,8.22498 z m -31.8015,-11.99997 h 30.0585 v -43.99997 h -30.0585 z m -10.0196,1.99998 c 1.3986,-1.24997 3.1311,-1.99998 5.0098,-1.99998 h 1.6699 v -43.99997 h -1.6699 c -2.7658,0 -5.0098,2.68749 -5.0098,6 z m 38.857,9.99999 c -0.3237,-2.54999 -0.3027,-5.64997 0,-7.99998 h -33.8472 c -6.6797,0 -6.6797,7.99998 0,7.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.11422013" />
<path
id="path5662-1"
d="m 709.11835,168.9499 a 11.896253,11.896253 0 0 0 -7.2163,2.46752 c -2.9175,-3.90501 -7.5337,-6.4675 -12.7837,-6.4675 -5.25,0 -9.8663,2.56249 -12.7838,6.4675 a 11.945003,11.945003 0 0 0 -19.2163,9.53248 c 0,5.21751 8.0001,28.00002 8.0001,28.00002 v 16.00002 a 4.0000013,4.0000013 0 0 0 3.9999,3.99998 h 40.0001 a 4.0000013,4.0000013 0 0 0 3.9999,-3.99998 v -16.00002 c 0,0 8.0001,-22.78251 8.0001,-28.00002 a 12.000003,12.000003 0 0 0 -12,-12 z m -38.0001,54.00004 v -10 h 36.0001 v 10 z m 36.3426,-16.00002 h -3.6938 l 1.3513,-16.84376 a 1.0000003,1.0000003 0 0 0 -0.9163,-1.07622 l -2,-0.16009 h -0.081 a 1.0000003,1.0000003 0 0 0 -1,0.92124 l -1.375,17.16252 h -8.71 v -17.00375 a 1.0000003,1.0000003 0 0 0 -1,-1 h -2 a 1.0000003,1.0000003 0 0 0 -1,1 v 16.99999 h -8.5525 l -1.375,-17.16248 a 1.0000003,1.0000003 0 0 0 -1,-0.92128 h -0.081 l -2,0.16009 a 1.0000003,1.0000003 0 0 0 -0.9162,1.07623 l 1.3587,16.84751 h -3.6937 c -3.6576,-10.40249 -7.6,-23.33251 -7.6575,-26.00002 a 5.9462517,5.9462517 0 0 1 9.5899,-4.74999 l 4.8151,3.65251 3.6175,-4.84124 c 1.9274,-2.58127 4.835,-4.06127 7.9775,-4.06127 3.1424,0 6.0499,1.48 7.9775,4.05876 l 3.6174,4.84125 4.8151,-3.65001 a 5.9462517,5.9462517 0 0 1 9.59,4.74001 c -0.058,2.67749 -4,15.60751 -7.6576,26.01 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500003" />
<path
id="path5673-8"
d="m 182.61931,77.650015 c -1.6875,-1.42499 -3.825,-2.2 -6.025,-2.2 -2.7375,0 -5.3125,1.18748 -7.1125,3.26249 l -2.55,-11.12502 c -1.9625,-8.62499 -9.45,-14.63748 -18.2,-14.63748 -1.4125,0 -2.8375,0.16241 -4.225,0.4875 -10.05,2.33751 -16.3375,12.50002 -14.025,22.63751 l 5.575,24.375005 c 0.05,0.23744 0.1375,0.46249 0.2,0.7 -1.175,0.38749 -2.25,1.47499 -2.25,2.79999 V 113.95 c 0,1.66251 1.3375,3 2.975,3 h 37.8875 c 1.6375,0 3.15,-1.33749 3.15,-3 v -9.99999 c 0,-1.42499 -1.175,-2.55 -2.4875,-2.86248 l 8.3,-10.050035 c 3.325,-4.02499 2.775,-10.02498 -1.2125,-13.38748 z m -8.6125,35.300005 h -36 v -8.00001 h 36 z m 6.775,-24.475005 -10.3125,12.475015 h -30.1 c -0.15,-0.46253 -0.3375,-0.92502 -0.45,-1.412535 l -5.575,-24.37499 c -1.825,-7.98748 3.125,-15.98751 11.05,-17.83751 1.1,-0.25012 2.2125,-0.38748 3.325,-0.38748 6.9,0 12.8,4.7375 14.35,11.53751 l 3.4375,15.04998 0.9,3.92501 2.5625,-3.1 2.425,-2.9375 c 1.0375,-1.26252 2.5625,-1.97499 4.1875,-1.97499 1.275,0 2.5,0.44998 3.4875,1.27498 2.325,1.94998 2.6375,5.42501 0.7125,7.76251 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5684-6"
d="m 321.99045,188.94993 h -14.1713 l 13.3413,-13.34124 c 3.0137,-3.01376 2.1887,-8.09377 -1.6225,-10.00002 a 6.2446252,6.2446252 0 0 0 -2.7912,-0.65875 c -1.3276,0 -2.6451,0.42252 -3.7476,1.24875 l -30.335,22.75126 h -22.67374 c -0.5525,0 -1,0.44749 -1,1.00001 v 2 c 0,0.55249 0.4475,0.99998 1,0.99998 h 3 v 4.00001 c 0,10.17749 6.345,18.85376 15.28624,22.34375 -1.595,2.0975 -2.7125,4.57875 -3.115,7.30499 -0.1812,1.22877 0.7475,2.35125 1.99,2.35125 h 27.6775 c 1.2425,0 2.1713,-1.12124 1.99,-2.35125 -0.4012,-2.72624 -1.5187,-5.20874 -3.1149,-7.30499 8.9412,-3.48999 15.2862,-12.16626 15.2862,-22.34375 v -4.00001 h 3 c 0.5525,0 1,-0.44749 1,-0.99998 v -2 c 0,-0.55252 -0.4475,-1.00001 -1,-1.00001 z m -6.5925,-19.55126 c 2.1975,-1.64749 4.9013,1.41375 2.9337,3.38127 l -16.1687,16.16999 h -12.8325 z m -0.4075,27.55126 c 0,8.28875 -5.0013,15.59624 -12.74,18.6175 l -4.9388,1.92749 3.21,4.21999 c 0.7601,1.00002 1.3588,2.09377 1.7738,3.23502 h -22.6088 c 0.415,-1.14125 1.0125,-2.235 1.7738,-3.23502 l 3.21,-4.21999 -4.9388,-1.92749 c -7.74004,-3.02126 -12.74124,-10.32875 -12.74124,-18.6175 v -4.00001 h 48.00004 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5695-2"
d="m 825.68965,52.950005 h -40 a 8.0000001,8.0000001 0 0 0 -8.0001,7.99999 v 52.000015 a 4.0000002,4.0000002 0 0 0 4,3.99999 h 48.0001 a 4.0000002,4.0000002 0 0 0 4,-3.99999 V 60.949995 a 8.0000001,8.0000001 0 0 0 -8,-7.99999 z m 4,60.000005 h -48.0001 V 72.950005 h 48.0001 z m 0,-43.999995 h -48.0001 v -8.00002 a 4.0000002,4.0000002 0 0 1 4.0001,-3.99998 h 40 a 4.0000002,4.0000002 0 0 1 4,3.99998 z m -6.0001,-8.00002 a 2.0000001,2.0000001 0 1 0 2.0001,2 2.0000001,2.0000001 0 0 0 -2.0001,-2 z m -7.9999,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -20,0 a 2.0000001,2.0000001 0 1 0 1.9999,2 2.0000001,2.0000001 0 0 0 -1.9999,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m 0,48.000025 h 35.9999 a 2.0000001,2.0000001 0 0 0 2.0001,-2.00001 V 78.950015 a 2.0000001,2.0000001 0 0 0 -2.0001,-2 h -35.9999 a 2.0000001,2.0000001 0 0 0 -2,2 v 27.999995 a 2.0000001,2.0000001 0 0 0 2,2.00001 z m 2,-28.000005 h 31.9999 v 23.999995 h -31.9999 z m 26,3.99999 h -20 a 2.0000055,2.0000055 0 0 0 0,4.00001 h 20 a 2.0000055,2.0000055 0 0 0 0,-4.00001 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.125" />
<path
id="path5706-1"
d="m 601.19995,80.321695 c -6.3184,-16.42668 -22.26,-27.37169 -40.0816,-27.37169 -17.8217,0 -33.7651,10.94501 -40.0784,27.37169 -7.0883,0.27334 -7.9217,6.23499 -7.9217,7.65166 a 7.6816659,7.6816659 0 0 0 7.7034,7.64334 c 0.4534,0 0.795,-0.0999 1.22,-0.12669 l 5.41,16.220015 a 7.6666659,7.6666659 0 0 0 7.2717,5.23998 h 52.79 a 7.6666659,7.6666659 0 0 0 7.2716,-5.24163 l 5.405,-16.218365 c 0.4234,0.0284 0.7667,0.12669 1.22,0.12669 a 7.6816659,7.6816659 0 0 0 7.7083,-7.64334 c 0,-1.46168 -0.8583,-7.35667 -7.9183,-7.65166 z m -11.4733,29.696655 a 2.3333332,2.3333332 0 0 1 -2.2133,1.59832 h -52.7917 a 2.3333332,2.3333332 0 0 1 -2.2134,-1.59664 l -5.2099,-15.631675 a 21.178333,21.178333 0 0 0 4.8666,-2.78166 c 1.5151,-1.12332 2.1,-1.57168 4.235,0.0108 2.02,1.5 5.4117,4.00001 11.3234,4.00001 5.9117,0 9.3066,-2.51001 11.3333,-4.01334 1.5117,-1.11834 2.085,-1.56667 4.2017,0.008 2.025,1.5 5.41,3.99999 11.3216,3.99999 5.9117,0 9.3017,-2.51 11.3234,-4.01 1.8133,-1.34498 2.3533,-1.36667 4.1866,0 a 21.151665,21.151665 0 0 0 4.8466,2.78167 l -5.2099,15.633345 z m 11.6867,-19.735015 c -4.1567,0 -6.365,-1.63998 -8.1517,-2.96832 -4.9517,-3.66666 -8.3434,-1.615 -10.5367,0.0108 -1.7733,1.31832 -3.9833,2.95833 -8.145,2.95833 -4.1617,0 -6.3699,-1.64001 -8.1567,-2.9617 -5.3032,-3.94664 -8.9166,-1.2083 -10.5499,0 -1.7767,1.32169 -3.9851,2.9617 -8.1517,2.9617 -4.1666,0 -6.3751,-1.64001 -8.1666,-2.9617 -1.1301,-0.83331 -4.9517,-4.16665 -10.5784,0 -1.78,1.31668 -4,2.95669 -8.1666,2.95669 a 2.3116664,2.3116664 0 1 1 0,-4.62333 c 0.8982,0 1.8466,0.0801 4.4583,-1.36166 8.8883,-25.65333 33.1366,-26.01 35.85,-26.01 2.6667,0 26.9534,0.33333 35.8333,25.99997 2.6249,1.48501 3.4283,1.38501 4.4633,1.38501 a 2.3116666,2.3116666 0 1 1 0,4.62333 z m -55.1017,-23.71832 a 2.6783329,2.6783329 0 0 0 -3.5783,1.19333 l -2.6668,5.33334 a 2.6666664,2.6666664 0 0 0 1.1934,3.57832 c 1.5901,0.78336 3.06,-0.16676 3.5783,-1.19331 l 2.6667,-5.33333 a 2.6666664,2.6666664 0 0 0 -1.1933,-3.57835 z m 33.19,1.19168 a 2.6672691,2.6672691 0 1 0 -4.7717,2.38499 l 2.6667,5.33333 c 0.5166,1.02834 1.9883,1.97668 3.5783,1.19334 a 2.6666664,2.6666664 0 0 0 1.1933,-3.57835 z m -18.3833,-1.47333 a 2.6666664,2.6666664 0 0 0 -2.6667,2.66667 v 5.3333 a 2.6667,2.6667 0 1 0 5.3334,0 v -5.3333 a 2.6666664,2.6666664 0 0 0 -2.6667,-2.66667 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16666666" />
<path
id="path5717-4"
d="m 951.18345,183.93774 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 1.9999 a 0.99249264,0.99249264 0 0 0 1.0001,-1.02498 c -0.2627,-5.26247 -2.4125,-9.16245 -5.1999,-11.93742 -2.3001,-2.33747 -2.6376,-4.77497 -2.7376,-6.11246 a 0.98374271,0.98374271 0 0 0 -1,-0.88749 l -2,0.012 a 0.99999255,0.99999255 0 0 0 -0.9874,1.08748 13.182401,13.182401 0 0 0 3.9,8.71244 c 2.1624,2.15 3.7999,5.08746 4.0249,9.17492 z m -13.9374,0 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 2 a 0.99249264,0.99249264 0 0 0 1,-1.02498 c -0.2625,-5.26247 -2.4125,-9.16245 -5.2,-11.93742 -2.2875,-2.33747 -2.625,-4.77497 -2.7249,-6.11246 a 0.98749265,0.98749265 0 0 0 -1.0125,-0.88749 l -2,0.012 a 0.99999255,0.99999255 0 0 0 -0.9875,1.08748 c 0.1249,1.86249 0.65,5.44996 3.8999,8.71244 2.1613,2.15 3.7988,5.08746 4.025,9.17492 z m 33.9998,5.01246 h -55.9996 a 3.99997,3.99997 0 0 0 -4,3.99996 c 0,11.83742 6.4449,22.14485 15.9999,27.68106 v 4.31873 a 3.99997,3.99997 0 0 0 3.9999,3.99997 h 23.9998 a 3.99997,3.99997 0 0 0 4.0001,-3.99997 v -4.31873 c 9.5548,-5.53621 15.9998,-15.84364 15.9998,-27.68106 a 3.99997,3.99997 0 0 0 -3.9999,-3.99996 z m -16,29.3748 v 6.62495 h -23.9998 V 218.325 c -16.5423,-9.58369 -15.9998,-23.22235 -15.9998,-25.37484 h 55.9996 c 0,2.1825 0.4212,15.86113 -16,25.37484 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499908" />
<path
id="path5728-6"
d="m 46.005409,52.950005 c -17.6725,0 -32.0001,14.32752 -32.0001,32.00002 0,17.672495 14.3276,31.999975 32.0001,31.999975 17.6724,0 31.9999,-14.32748 31.9999,-31.999975 0,-17.6725 -14.3275,-32.00002 -31.9999,-32.00002 z m 0,59.999995 c -15.4388,0 -28.0001,-12.56124 -28.0001,-27.999975 0,-15.43877 12.5613,-28.00002 28.0001,-28.00002 15.4387,0 27.9999,12.56125 27.9999,28.00002 0,15.438735 -12.5612,27.999975 -27.9999,27.999975 z m 19.7987,-27.999975 3.535,-3.53503 c 0.39,-0.39 0.39,-1.02374 0,-1.41373 l -1.4138,-1.41376 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -3.535,3.535 -5.6575,-5.65624 2.8287,-2.82875 2.1213,2.12124 c 0.39,0.38999 1.0237,0.38999 1.4137,0 l 1.4138,-1.41373 c 0.39,-0.39002 0.39,-1.02376 0,-1.41376 l -2.1213,-2.12127 0.7075,-0.70748 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4137,-1.41376 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -0.7076,0.70752 -2.1212,-2.12124 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -1.4137,1.41372 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 2.1212,2.12124 -2.8287,2.82875 -5.6575,-5.65623 3.5362,-3.535 c 0.39,-0.39 0.39,-1.02373 0,-1.41376 l -1.4149,-1.41875 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -3.5362,3.53626 -3.5363,-3.53626 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -1.4138,1.41376 c -0.39,0.38999 -0.39,1.02373 0,1.41376 l 3.5362,3.535 -5.6562,5.65623 -2.8287,-2.82875 2.1212,-2.12124 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4138,-1.41375 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -2.1213,2.12127 -0.7075,-0.70752 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -1.4137,1.41376 c -0.39,0.39 -0.39,1.02374 0,1.41376 l 0.7074,0.70748 -2.1212,2.12124 c -0.39,0.39003 -0.39,1.02377 0,1.41376 l 1.4138,1.41376 c 0.39,0.39 1.0237,0.39 1.4137,0 l 2.1212,-2.12127 2.8288,2.82878 -5.6563,5.65624 -3.5362,-3.535 c -0.39,-0.38999 -1.0238,-0.38999 -1.4138,0 l -1.4175,1.41749 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 3.5363,3.53626 -3.5363,3.53623 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 1.4138,1.41376 c 0.39,0.38999 1.0237,0.38999 1.4137,0 l 3.5363,-3.535 5.6563,5.65623 -2.8288,2.82875 -2.1212,-2.12123 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -1.4138,1.41372 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 2.1213,2.12124 -0.7075,0.70751 c -0.39,0.390005 -0.39,1.023775 0,1.413765 l 1.4138,1.41373 c 0.39,0.39003 1.0237,0.39003 1.4137,0 l 0.7075,-0.70748 2.1212,2.12124 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4137,-1.41376 c 0.39,-0.39 0.39,-1.02373 0,-1.41373 l -2.1212,-2.121275 2.8287,-2.82872 5.6575,5.657505 -3.5362,3.53623 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.4138,1.41373 c 0.39,0.39003 1.0237,0.39003 1.4137,0 l 3.5388,-3.535 3.5362,3.53626 c 0.39,0.39 1.0238,0.39 1.4138,0 l 1.4137,-1.41376 c 0.39,-0.38999 0.39,-1.02373 0,-1.41372 l -3.5363,-3.53626 5.6576,-5.657515 2.8287,2.82876 -2.1213,2.121235 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.4138,1.41376 c 0.39,0.39 1.0237,0.39 1.4137,0 l 2.1213,-2.12124 0.7075,0.70748 c 0.39,0.39 1.0237,0.39 1.4137,0 l 1.4138,-1.41376 c 0.39,-0.38999 0.39,-1.02373 0,-1.413725 l -0.7075,-0.70751 2.1212,-2.12124 c 0.39,-0.39 0.39,-1.02377 0,-1.41376 l -1.4137,-1.41376 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -2.1212,2.12127 -2.8288,-2.82875 5.6563,-5.65627 3.5362,3.535 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4138,-1.41373 c 0.3899,-0.39003 0.3899,-1.02377 0,-1.41376 z m -19.7987,-14.14252 5.6562,5.65627 -5.6562,5.6575 -5.6563,-5.65627 z m -14.1426,14.14252 5.6563,-5.6575 5.6575,5.6575 -5.6575,5.6575 z m 14.1426,14.14249 -5.6576,-5.65751 5.6576,-5.6575 5.6574,5.6575 z m 8.485,-8.48626 -5.6563,-5.65623 5.6575,-5.65627 5.6562,5.65627 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5739-2"
d="m 574.13075,223.73742 1.775,-20.60001 c -5.2625,-4.13751 -8.8,-9.62502 -8.8,-16.18747 0.013,-11.78751 11.025,-22.00002 19.0125,-22.00002 2.7625,0 5,2.16252 5,4.81249 v 54.37498 c 0,2.65001 -2.2375,4.81253 -5,4.81253 h -7 c -2.85,0 -5.225,-2.33754 -4.9875,-5.2125 z m -3.0125,-36.78748 c 0,6.37497 4.025,10.68746 8.975,14.31247 l -1.975,22.825 c -0.036,0.46249 0.425,0.8625 1,0.8625 h 7 c 0.5375,0 1,-0.37512 1,-0.81252 v -54.37498 c 0,-0.43748 -0.4625,-0.81248 -1,-0.81248 -5.575,0 -15,8.22497 -15,18.00001 z m -9.9125,-17.77502 c -0.4125,-2.43748 -2.65,-4.225 -5.7625,-4.225 -1.4875,0 -3.0125,0.42502 -4.1625,1.40001 -1.0499,-0.8875 -2.5,-1.40001 -4.1625,-1.40001 -1.6625,0 -3.1125,0.51251 -4.1625,1.40001 -1.15,-0.97499 -2.675,-1.40001 -4.1625,-1.40001 -3.15,0 -5.35,1.81252 -5.7625,4.225 -0.2251,1.17498 -1.9125,10.57501 -1.9125,14.5125 0,6.36247 3.3375,11.45002 8.875,13.83749 l -1.425,26.35001 c -0.15,2.74997 2.0375,5.075 4.8,5.075 h 7.5 c 2.75,0 4.95,-2.31253 4.8,-5.075 l -1.425,-26.35001 c 5.525,-2.38747 8.875,-7.47502 8.875,-13.83749 0,-3.93749 -1.6875,-13.33752 -1.9125,-14.5125 z m -11.05,25.775 1.525,29.13749 c 0.024,0.46249 -0.3373,0.8625 -0.8125,0.8625 h -7.5 c -0.4625,0 -0.8375,-0.38759 -0.8125,-0.8625 l 1.525,-29.13749 c -5.3,-1.1 -8.9624,-5.37502 -8.9624,-11.2625 0,-3.71249 1.8499,-13.82502 1.8499,-13.82502 0.1999,-1.23749 3.5375,-1.21249 3.6875,0.0241 v 15.31248 c 0.1126,1.43748 3.525,1.46249 3.6875,0.0241 l 0.925,-15.36249 c 0.1999,-1.21249 3.4875,-1.21249 3.6875,0 l 0.925,15.36249 c 0.1625,1.42502 3.575,1.40001 3.6875,-0.0241 v -15.30001 c 0.15,-1.2375 3.4875,-1.26247 3.6875,-0.0241 0,0 1.85,10.11252 1.85,13.82502 0.013,5.85 -3.625,10.14999 -8.95,11.24998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499996" />
<path
id="path5750-2"
d="m 811.68965,180.94994 c 3.3138,0 6.0001,-2.68627 6.0001,-6.00002 0,-3.31374 -2.6863,-6.00001 -6.0001,-6.00001 -3.3137,0 -6,2.68627 -6,6.00001 0,3.31375 2.6863,6.00002 6,6.00002 z m 0,-8.00001 c 1.1025,0 2,0.89747 2,1.99999 0,1.10252 -0.8975,1.99999 -2,1.99999 -1.1025,0 -2,-0.89747 -2,-1.99999 0,-1.10252 0.8975,-1.99999 2,-1.99999 z m 22,14.99998 v -1.99999 c 0,-0.5525 -0.4475,-0.99999 -1,-0.99999 h -54 c -0.5524,0 -1,0.44749 -1,0.99999 v 1.99999 c 0,0.5525 0.4476,1 1,1 h 5.8413 c -4.2438,5.72252 -6.8413,12.70252 -6.8413,19.20001 0,4.885 1.4775,8.83126 4,11.94126 v 6.85875 c 0,1.105 0.8951,1.99999 2.0001,1.99999 1.105,0 2,-0.89499 2,-1.99999 v -3.16751 c 5.0824,3.50373 12.1599,5.1675 19.9999,5.1675 7.8388,0 14.9175,-1.66377 20,-5.16624 v 3.16625 c 0,1.105 0.8951,1.99999 2.0001,1.99999 1.105,0 2,-0.89499 2,-1.99999 v -6.85875 c 2.5224,-3.11 3.9999,-7.05626 3.9999,-11.94126 0,-6.49749 -2.5975,-13.47749 -6.8412,-19.20001 h 5.8412 c 0.5525,0 1,-0.4475 1,-1 z m -3.9999,20.20001 c 0,15.1625 -16.7838,16.80002 -24.0001,16.80002 -7.2162,0 -24,-1.63752 -24,-16.80002 0,-6.53124 3.0176,-13.75249 7.955,-19.20001 h 32.0888 c 4.9387,5.44752 7.9563,12.66877 7.9563,19.20001 z m -32.0001,-35.19999 c 2.2088,0 4,-1.79124 4,-4.00002 0,-2.20875 -1.7912,-3.99999 -4,-3.99999 -2.2087,0 -3.9999,1.79124 -3.9999,3.99999 0,2.20878 1.7912,4.00002 3.9999,4.00002 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500001" />
<path
id="path5761-9"
d="m 453.61115,73.757113 0.84,-2.5214 v 0 l 6.0957,-18.28571 h -57.1427 a 11.428558,11.428558 0 0 0 -11.4286,11.42856 v 14.85712 a 1.1428558,1.1428558 0 0 0 1.1429,1.14287 h 2.2857 a 1.1428558,1.1428558 0 0 0 1.1428,-1.14287 v -14.85712 a 6.8571343,6.8571343 0 0 1 6.8572,-6.85711 h 3.8099 l 4.5714,13.71426 v 0 l 0.8643,2.59426 c -7.0442,5.67715 -11.5314,14.21856 -11.5314,23.77999 0,7.352827 2.6601,12.109977 7.0914,16.815687 a 8.1685614,8.1685614 0 0 0 5.9329,2.52429 h 37.9528 a 8.1542755,8.1542755 0 0 0 5.9214,-2.51429 c 4.4286,-4.70714 7.0986,-9.46286 7.1015,-16.817117 0,-9.47286 -4.3758,-18.12141 -11.5072,-23.86142 z m -41.5785,-16.23566 h 42.1714 l -4.5714,13.71426 h -33.0286 z m 5.45,18.28568 h 31.3857 c 3,2.41714 7.8114,6.01142 10.3571,13.71426 h -52.1942 c 2.5871,-7.71427 7.5457,-11.37283 10.4514,-13.71426 z m 37.2071,35.492797 a 3.5599955,3.5599955 0 0 1 -2.5943,1.07858 h -37.9528 a 3.5714241,3.5714241 0 0 1 -2.6043,-1.08858 c -4.2628,-4.52428 -5.8485,-8.23283 -5.8485,-13.679967 a 25.471396,25.471396 0 0 1 0.2712,-3.51716 h 54.3185 a 25.781397,25.781397 0 0 1 0.2672,3.5243 c 0,5.445697 -1.5886,9.154267 -5.8572,13.682827 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.14285697" />
<path
id="path5772-4"
d="m 302.99025,93.949125 c -1.6562,0 -2.9999,1.34246 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65749 -1.3438,-2.99995 -3,-2.99995 z m -20.9996,-16.99966 c 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99992 3,2.99992 1.6562,0 2.9999,-1.34371 2.9999,-2.99992 z m 1,16.99966 c -1.6562,0 -2.9999,1.34246 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65749 -1.3438,-2.99995 -3,-2.99995 z m 11.9998,-11.99978 c -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99995 3,2.99995 1.6562,0 2.9999,-1.34374 2.9999,-2.99995 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 z m 27.8145,2.97744 c -8.7461,-0.10616 -15.8085,-7.21111 -15.8085,-15.98218 -8.7711,0 -15.8747,-7.0611 -15.9822,-15.80595 -0.8275,-0.1262 -1.6612,-0.18865 -2.4912,-0.18865 -2.5849,0 -5.1474,0.60625 -7.4736,1.79122 l -8.64114,4.40243 a 16.527304,16.527304 0 0 0 -7.2236,7.22609 l -4.3874,8.60983 a 16.580302,16.580302 0 0 0 -1.6025,10.11857 l 1.51,9.53483 a 16.569053,16.569053 0 0 0 4.6449,9.119795 l 6.8461,6.84487 a 16.50418,16.50418 0 0 0 9.08864,4.63242 l 9.5886,1.51748 c 0.8574,0.13639 1.7199,0.20246 2.5799,0.20246 2.59,0 5.1562,-0.61001 7.4861,-1.79748 l 8.6411,-4.40241 a 16.527304,16.527304 0 0 0 7.2236,-7.22609 l 4.3874,-8.609845 c 1.57,-3.0787 2.1262,-6.57112 1.6138,-9.98733 z m -5.1774,8.16985 -4.3875,8.611085 c -1.2099,2.37496 -3.1037,4.26866 -5.4761,5.47739 l -8.6411,4.40244 c -1.7475,0.88995 -3.7087,1.36117 -5.6699,1.36117 -0.6512,0 -1.3087,-0.0512 -1.9537,-0.1538 l -9.5873,-1.51745 c -2.625,-0.41624 -5.0062,-1.62997 -6.8861,-3.50993 l -6.84614,-6.84487 c -1.8875,-1.886215 -3.105,-4.278665 -3.5225,-6.916135 l -1.5099,-9.53354 c -0.4188,-2.63997 0,-5.29489 1.2149,-7.6761 l 4.3874,-8.60983 c 1.21,-2.37496 3.1037,-4.26866 5.47624,-5.47739 l 8.6398,-4.40368 c 1.4162,-0.72123 2.975,-1.16624 4.5637,-1.30747 1.6437,7.89361 7.9798,14.11846 15.9059,15.60721 1.4887,7.92733 7.7136,14.26346 15.6085,15.90592 -0.1374,1.59123 -0.58,3.14243 -1.3162,4.58491 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499759" />
<path
id="path5794-0"
d="m 950.43795,52.950005 c -16.558,0 -31.0067,10.95333 -39.0523,20.33331 l -16.0613,-14.27832 c -2.2371,-1.84166 -5.5619,0.11165 -4.999,2.92669 l 4.4492,23.01832 -4.4508,23.020035 c -0.5613,2.81333 2.7602,4.76663 4.9922,2.93167 l 16.0615,-14.275035 c 8.0521,9.370005 22.5091,20.323325 39.0605,20.323325 25.2909,0 45.7931,-25.600005 45.7931,-31.999995 0,-6.39999 -20.5022,-32 -45.7931,-32 z m 0,58.666695 c -14.1407,0 -27.3755,-9.54502 -35.0452,-18.478335 l -3.3695,-3.92501 c -5.1646,4.24667 -2.0268,1.47999 -15.2467,13.601665 3.6029,-18.981675 3.1079,-16.395005 3.4059,-17.865015 -0.298,-1.46835 0.1985,1.12166 -3.4043,-17.86501 13.2464,12.14167 10.1004,9.36833 15.2467,13.60336 l 3.3695,-3.92503 c 7.6699,-8.93333 20.8964,-18.48001 35.0436,-18.48001 21.226,0 39.0904,21.08168 40.46,26.66669 -1.3696,5.58501 -19.234,26.666695 -40.46,26.666695 z m -3.6063,-41.725025 -1.8728,-1.885 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -14.0214,14.11 a 1.3246526,1.333334 0 0 0 0,1.88499 l 1.8728,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 14.0231,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 18.5451,2.66667 -1.8727,-1.88499 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -24.6188,24.77666 a 1.3246526,1.333334 0 0 0 0,1.885 l 1.8729,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 24.6203,-24.77001 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 6.0752,11.44835 a 1.3246526,1.333334 0 0 0 -1.8745,0 l -14.0214,14.11 a 1.3246526,1.333334 0 0 0 0,1.884995 l 1.8726,1.88499 a 1.3246526,1.333334 0 0 0 1.873,0 l 14.0228,-14.103335 a 1.3246526,1.333334 0 0 0 0,-1.88666 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16612327" />
<path
id="path5805-7"
d="m 689.11825,94.950015 c -1.1,0 -2,0.9 -2,1.99998 0,1.1 0.9,1.99999 2,1.99999 1.0999,0 2,-0.89999 2,-1.99999 0,-1.09998 -0.9001,-1.99998 -2,-1.99998 z m -4.0001,-31.00001 c -1.0999,0 -1.9999,0.9 -1.9999,2.00002 0,1.1 0.9,1.99999 1.9999,1.99999 1.1001,0 2.0001,-0.89999 2.0001,-1.99999 0,-1.10002 -0.9,-2.00002 -2.0001,-2.00002 z m 4.0001,23.00001 c -1.1,0 -2,0.9 -2,1.99999 0,1.1 0.9,1.99998 2,1.99998 1.0999,0 2,-0.89998 2,-1.99998 0,-1.09999 -0.9001,-1.99999 -2,-1.99999 z m 0,-7.99999 c -1.1,0 -2,0.9 -2,1.99998 0,1.1 0.9,2.00003 2,2.00003 1.0999,0 2,-0.90003 2,-2.00003 0,-1.09998 -0.9001,-1.99998 -2,-1.99998 z m 4,-15.00002 c -1.1,0 -2,0.9 -2,2.00002 0,1.1 0.9,1.99999 2,1.99999 1.1,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.9,-2.00002 -2,-2.00002 z m 24,19.00003 c 0,-5.51253 -4.4875,-10.00002 -10,-10.00002 h -4.95 c 1.2874,-2.88749 1.575,-6.17501 0.725,-9.44999 -1.2375,-4.84999 -5.175,-8.79998 -10,-10.06251 -1.25,-0.32487 -2.5125,-0.48751 -3.775,-0.48751 -3.8125,0 -7.3875,1.48752 -10.075,4.17501 -2.6875,2.6875 -4.175,6.26249 -4.175,10.07501 0,1.99999 0.425,3.96249 1.225,5.74999 h -4.9751 c -5.5124,0 -9.9999,4.48749 -9.9999,10.00002 0,5.51246 4.4875,9.99998 9.9999,9.99998 h 3.4877 l -7.2501,7.700005 c -3.475,4.27498 -2.825,10.5875 1.4499,14.06247 1.7876,1.4375 4.0252,2.23751 6.3126,2.23751 3.025,0 5.8625,-1.35001 7.7626,-3.7 l 6.2374,-6.44997 6.2375,6.44997 c 1.9,2.34999 4.7375,3.7 7.7625,3.7 2.2875,0 4.5249,-0.80001 6.2999,-2.23751 4.2751,-3.47497 4.925,-9.78749 1.4501,-14.06247 l -7.25,-7.700005 h 3.5 c 5.5125,0 10,-4.48752 10,-9.99998 z m -17.925,10.88749 8.575,9.324985 c 2.0875,2.57501 1.7,6.35 -0.875,8.43751 -1.1126,0.89999 -2.45,1.34997 -3.775,1.34997 -1.75,0 -3.475,-0.76249 -4.6625,-2.21247 l -6.2375,-6.45 c -0.8,-0.98751 -1.95,-1.47501 -3.1,-1.47501 -1.15,0 -2.2999,0.4875 -3.1,1.47501 l -6.2375,6.45 c -1.1875,1.46249 -2.9124,2.21247 -4.6625,2.21247 -1.325,0 -2.6625,-0.43747 -3.775,-1.34997 -2.575,-2.08751 -2.9625,-5.8625 -0.875,-8.43751 l 8.575,-9.324985 c 1.5875,-1.9625 0.1999,-4.88752 -2.325,-4.88752 h -5.6001 c -3.3125,0 -5.9999,-2.68749 -5.9999,-5.99997 0,-3.31251 2.6874,-6.00001 5.9999,-6.00001 h 10.2001 c 1.1625,0 1.775,-1.4375 0.9125,-2.21252 -2.0626,-1.86248 -3.3625,-4.53748 -3.3625,-7.53748 0,-5.6625 4.5875,-10.25001 10.25,-10.25001 0.9,0 1.825,0.11255 2.7625,0.3625 3.45,0.9 6.2625,3.725 7.1375,7.18748 1.0374,4.06251 -0.3375,7.83754 -3,10.23751 -0.8625,0.78752 -0.2748,2.22502 0.9,2.22502 h 10.2 c 3.3124,0 6,2.6875 6,5.99997 0,3.31251 -2.6876,6 -6,6 h -5.5876 c -2.5249,-0.0134 -3.9249,2.91253 -2.3374,4.87503 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499995" />
<path
id="path5627-3-2"
d="m 274.99045,400.94979 c -2.2188,0 -4.00004,-1.78128 -4.00004,-4 0,-3.87501 4.00004,-2.87501 4.00004,-8.00002 1.5,0 4,3.68752 4,7 0,3.31251 -1.7813,5.00002 -4,5.00002 z m 16,0 c -2.2187,0 -4,-1.78128 -4,-4 0,-3.87501 4,-2.87501 4,-8.00002 1.5,0 4,3.68752 4,7 0,3.31251 -1.7813,5.00002 -4,5.00002 z m 16,0 c -2.2188,0 -4,-1.78128 -4,-4 0,-3.87501 4,-2.87501 4,-8.00002 1.5,0 4,3.68752 4,7 0,3.31251 -1.7812,5.00002 -4,5.00002 z m 6,20.00001 h -4 v -18.00003 h -4 v 18.00003 h -12 v -18.00003 h -4 v 18.00003 h -12 v -18.00003 h -4 v 18.00003 h -4.00004 c -3.3125,0 -6,2.68748 -6,5.99998 v 26 h 56.00004 v -26 c 0,-3.3125 -2.6875,-5.99998 -6,-5.99998 z m 2,27.99998 h -48.00004 v -9.00536 c 2.0277,-1.18488 2.991,-2.99463 5.3437,-2.99463 3.49394,0 3.90674,4 9.34384,4 5.3554,0 5.9021,-4 9.3125,-4 3.5185,0 3.9001,4 9.3437,4 5.4197,0 5.8459,-4 9.3438,-4 2.311,0 3.2806,1.80938 5.3125,2.99437 z m 0,-14.04675 c -1.2032,-0.98425 -2.6521,-1.95324 -5.3125,-1.95324 -5.4288,0 -5.8531,4 -9.3438,4 -3.4618,0 -3.9317,-4 -9.3437,-4 -5.3553,0 -5.9022,4 -9.3125,4 -3.5185,0 -3.9003,-4 -9.34384,-4 -2.6828,0 -4.1376,0.97177 -5.3437,1.95723 v -7.95724 c 0,-1.10273 0.8972,-1.99998 2,-1.99998 h 44.00004 c 1.1028,0 2,0.89725 2,1.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5640-5-1"
d="m 432.54695,438.94978 c -1.6576,0 -3,1.34249 -3,3 0,1.65624 1.3424,3.00001 3,3.00001 1.6575,0 3,-1.34377 3,-3.00001 0,-1.65751 -1.3425,-3 -3,-3 z m 16.7812,-6.99625 11.2188,-43.00376 h -58 c -3.3088,0 -6,2.69126 -6,6.00006 v 19.99996 c 0,3.30875 2.6912,5.99999 6,5.99999 h 12.7825 l 0.9412,10.82 c -4.5087,1.72752 -7.7237,6.06375 -7.7237,11.17999 v 6.00001 c 0,2.20872 1.7912,4 4,4 h 40 c 2.2087,0 3.9999,-1.79128 3.9999,-4 v -6.00001 c 0,-4.92498 -2.9737,-9.14752 -7.2187,-10.99624 z m -46.7812,-15.00375 c -1.1013,0 -2,-0.89625 -2,-1.99999 v -19.99996 c 0,-1.10376 0.8987,-2.00001 2,-2.00001 h 10.3475 l 2.0875,23.99996 z m 52.8224,-23.99996 -2.0874,7.99997 h -19.735 c -0.5526,0 -1,0.44749 -1,1.00002 v 1.99998 c 0,0.55253 0.4474,1 1,1 h 18.6924 l -2.0874,7.99999 h -16.605 c -0.5526,0 -1,0.44752 -1,0.99999 v 2.00002 c 0,0.55252 0.4474,0.99999 1,0.99999 h 15.5612 l -3.6525,14 h -25.2412 l -3.305,-37.99996 z m -2.8224,55.99996 h -40 v -6.00001 c 0,-4.41124 3.5887,-7.99999 8,-7.99999 h 23.9999 c 4.4113,0 8.0001,3.58875 8.0001,7.99999 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249999" />
<path
id="path5651-5-5"
d="m 702.89505,408.94978 h -17.5341 c -0.6888,0 -1.2524,-0.67498 -1.2524,-1.5 v -0.99999 c 0,-0.825 0.5636,-1.5 1.2524,-1.5 h 17.5341 c 0.6889,0 1.2525,0.675 1.2525,1.5 v 0.99999 c 0,0.82502 -0.5636,1.5 -1.2525,1.5 z m 1.2525,6.5 v -1 c 0,-0.82502 -0.5636,-1.49997 -1.2525,-1.49997 h -17.5341 c -0.6888,0 -1.2524,0.67495 -1.2524,1.49997 v 1 c 0,0.82499 0.5636,1.5 1.2524,1.5 h 17.5341 c 0.6889,0 1.2525,-0.67501 1.2525,-1.5 z m 6.7527,33.49998 h 0.3444 c 0.6889,0 1.2525,0.675 1.2525,1.5 v 0.99999 c 0,0.82503 -0.5636,1.50003 -1.2525,1.50003 h -37.1557 c -4.6132,0 -8.3496,-4.475 -8.3496,-10.00001 V 398.9498 c 0,-5.52503 3.7364,-10.00003 8.3496,-10.00003 h 35.9033 c 1.3881,0 2.5049,1.33752 2.5049,3.00003 v 45.99998 c 0,1.25 -0.6471,2.32498 -1.5552,2.77498 -0.3757,2.01253 -0.4592,5.7 -0.042,8.225 z m -31.8015,-11.99997 h 30.0585 v -44 h -30.0585 z m -10.0195,1.99996 c 1.3985,-1.24997 3.1311,-1.99996 5.0097,-1.99996 h 1.6699 v -44 h -1.6699 c -2.7658,0 -5.0097,2.68751 -5.0097,6.00001 z m 38.8569,10.00001 c -0.3237,-2.55 -0.3027,-5.64997 0,-8 h -33.8472 c -6.6797,0 -6.6797,8 0,8 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.11422013" />
<path
id="path5662-5-0"
d="m 963.24615,392.94974 a 11.896253,11.896253 0 0 0 -7.2163,2.46753 c -2.9175,-3.90501 -7.5338,-6.4675 -12.7838,-6.4675 -5.25,0 -9.8662,2.56249 -12.7837,6.4675 a 11.945003,11.945003 0 0 0 -19.2163,9.53249 c 0,5.2175 8.0001,28.00003 8.0001,28.00003 v 16.00002 a 4.0000013,4.0000013 0 0 0 4,3.99997 h 40 a 4.0000013,4.0000013 0 0 0 4,-3.99997 v -16.00002 c 0,0 8,-22.78253 8,-28.00003 a 12.000003,12.000003 0 0 0 -12,-12.00002 z m -38.0001,54.00006 v -10.00001 h 36.0001 v 10.00001 z m 36.3426,-16.00002 h -3.6938 l 1.3513,-16.84377 a 1.0000003,1.0000003 0 0 0 -0.9162,-1.07622 l -2,-0.16007 h -0.081 a 1.0000003,1.0000003 0 0 0 -1,0.92122 l -1.375,17.16252 h -8.7101 v -17.00374 a 1.0000003,1.0000003 0 0 0 -1,-0.99999 h -2 a 1.0000003,1.0000003 0 0 0 -1.0001,0.99999 v 16.99998 h -8.5523 l -1.3751,-17.16246 a 1.0000003,1.0000003 0 0 0 -1.0001,-0.92128 h -0.081 l -1.9999,0.16007 a 1.0000003,1.0000003 0 0 0 -0.9163,1.07625 l 1.3588,16.8475 h -3.6938 c -3.6574,-10.40249 -7.5999,-23.33252 -7.6574,-26.00002 a 5.9462517,5.9462517 0 0 1 9.59,-4.74999 l 4.815,3.6525 3.6174,-4.84124 c 1.9275,-2.58125 4.835,-4.06125 7.9775,-4.06125 3.1425,0 6.05,1.48 7.9775,4.05876 l 3.6176,4.84124 4.815,-3.65001 a 5.9462517,5.9462517 0 0 1 9.59,4.74001 c -0.058,2.67748 -4,15.60751 -7.6575,26.01 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500003" />
<path
id="path5673-3-8"
d="m 585.73235,301.64985 c -1.6875,-1.42499 -3.825,-2.2 -6.025,-2.2 -2.7375,0 -5.3125,1.18748 -7.1125,3.26249 l -2.55,-11.12502 c -1.9625,-8.62499 -9.45,-14.63748 -18.2,-14.63748 -1.4125,0 -2.8375,0.16241 -4.225,0.4875 -10.05,2.33751 -16.3375,12.50002 -14.025,22.63751 l 5.575,24.375 c 0.05,0.23743 0.1375,0.46249 0.2,0.70001 -1.175,0.38748 -2.25,1.47497 -2.25,2.79998 v 10 c 0,1.66251 1.3375,3.00001 2.975,3.00001 h 37.8875 c 1.6375,0 3.15,-1.3375 3.15,-3.00001 v -10 c 0,-1.425 -1.175,-2.55001 -2.4875,-2.86248 l 8.3,-10.05003 c 3.325,-4.02499 2.775,-10.02498 -1.2125,-13.38748 z m -8.6125,35.3 h -36 v -8.00002 h 36 z m 6.775,-24.475 -10.3125,12.47501 h -30.1 c -0.15,-0.46252 -0.3375,-0.92501 -0.45,-1.41253 l -5.575,-24.37499 c -1.825,-7.98748 3.125,-15.98751 11.05,-17.83751 1.1,-0.25012 2.2125,-0.38748 3.325,-0.38748 6.9,0 12.8,4.7375 14.35,11.53751 l 3.4375,15.04998 0.9,3.92501 2.5625,-3.1 2.425,-2.9375 c 1.0375,-1.26252 2.5625,-1.97499 4.1875,-1.97499 1.275,0 2.5,0.44998 3.4875,1.27498 2.325,1.94998 2.6375,5.42501 0.7125,7.76251 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5684-1-6"
d="m 592.11825,412.94978 h -14.1712 l 13.3413,-13.34122 c 3.0137,-3.01376 2.1887,-8.09379 -1.6226,-10.00003 a 6.2446252,6.2446252 0 0 0 -2.7912,-0.65876 c -1.3275,0 -2.645,0.42251 -3.7475,1.24875 l -30.335,22.75126 h -22.6738 c -0.5525,0 -1,0.44749 -1,1.00002 v 2.00001 c 0,0.55248 0.4475,0.99997 1,0.99997 h 3 v 4.00002 c 0,10.17749 6.345,18.85376 15.2863,22.34375 -1.595,2.09748 -2.7125,4.57874 -3.1151,7.30498 -0.1812,1.22878 0.7476,2.35125 1.9901,2.35125 h 27.6775 c 1.2425,0 2.1712,-1.12125 1.99,-2.35125 -0.4013,-2.72624 -1.5188,-5.20874 -3.115,-7.30498 8.9412,-3.48999 15.2862,-12.16626 15.2862,-22.34375 v -4.00002 h 3 c 0.5525,0 1,-0.44749 1,-0.99997 v -2.00001 c 0,-0.55253 -0.4475,-1.00002 -1,-1.00002 z m -6.5925,-19.55125 c 2.1975,-1.64751 4.9013,1.41375 2.9338,3.38127 l -16.1688,16.16998 h -12.8325 z m -0.4075,27.55127 c 0,8.28874 -5.0012,15.59624 -12.74,18.61749 l -4.9387,1.92749 3.21,4.22 c 0.76,1.00001 1.3587,2.09375 1.7737,3.235 h -22.6087 c 0.415,-1.14125 1.0125,-2.23499 1.7737,-3.235 l 3.21,-4.22 -4.9387,-1.92749 c -7.74,-3.02125 -12.7413,-10.32875 -12.7413,-18.61749 v -4.00002 h 48 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5695-7-5"
d="m 178.00531,276.94983 h -40 a 8.0000001,8.0000001 0 0 0 -8,7.99999 v 52.00003 a 4.0000002,4.0000002 0 0 0 4,4 h 48 a 4.0000002,4.0000002 0 0 0 4,-4 v -52.00003 a 8.0000001,8.0000001 0 0 0 -8,-7.99999 z m 4,60.00002 h -48 v -40.00001 h 48 z m 0,-44 h -48 v -8.00003 a 4.0000002,4.0000002 0 0 1 4,-3.99998 h 40 a 4.0000002,4.0000002 0 0 1 4,3.99998 z m -6,-8.00003 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -20,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m 0,48.00003 h 36 a 2.0000001,2.0000001 0 0 0 2,-2.00001 v -27.99999 a 2.0000001,2.0000001 0 0 0 -2,-2 h -36 a 2.0000001,2.0000001 0 0 0 -2,2 v 27.99999 a 2.0000001,2.0000001 0 0 0 2,2.00001 z m 2,-28 h 32 v 23.99998 h -32 z m 26,3.99999 h -20 a 2.0000055,2.0000055 0 0 0 0,4.00001 h 20 a 2.0000055,2.0000055 0 0 0 0,-4.00001 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.125" />
<path
id="path5706-9-5"
d="m 983.32765,304.32153 c -6.3184,-16.42668 -22.26,-27.37169 -40.0816,-27.37169 -17.8216,0 -33.765,10.94501 -40.0783,27.37169 -7.0884,0.27334 -7.9217,6.23499 -7.9217,7.65166 a 7.6816659,7.6816659 0 0 0 7.7032,7.64333 c 0.4535,0 0.7951,-0.0999 1.2201,-0.12668 l 5.41,16.22001 a 7.6666659,7.6666659 0 0 0 7.2717,5.24 h 52.79 a 7.6666659,7.6666659 0 0 0 7.2716,-5.24164 l 5.405,-16.21837 c 0.4234,0.0284 0.7667,0.12668 1.22,0.12668 a 7.6816659,7.6816659 0 0 0 7.7083,-7.64333 c 0,-1.46168 -0.8583,-7.35667 -7.9183,-7.65166 z m -11.4733,29.69666 a 2.3333332,2.3333332 0 0 1 -2.2133,1.59832 h -52.7917 a 2.3333332,2.3333332 0 0 1 -2.2134,-1.59666 l -5.2099,-15.63166 a 21.178333,21.178333 0 0 0 4.8665,-2.78166 c 1.5152,-1.12332 2.1001,-1.57168 4.2351,0.0108 2.0201,1.5 5.4117,4.00001 11.3233,4.00001 5.9118,0 9.3067,-2.51001 11.3334,-4.01334 1.5117,-1.11834 2.085,-1.56667 4.2017,0.008 2.025,1.5 5.41,4 11.3216,4 5.9117,0 9.3017,-2.51001 11.3233,-4.01001 1.8134,-1.34498 2.3534,-1.36667 4.1867,0 a 21.151665,21.151665 0 0 0 4.8466,2.78169 l -5.2099,15.63333 z m 11.6867,-19.73502 c -4.1568,0 -6.365,-1.63998 -8.1517,-2.96832 -4.9517,-3.66666 -8.3434,-1.615 -10.5367,0.0108 -1.7733,1.31832 -3.9833,2.95833 -8.145,2.95833 -4.1616,0 -6.3699,-1.64001 -8.1566,-2.9617 -5.3033,-3.94664 -8.9167,-1.2083 -10.55,0 -1.7766,1.32169 -3.9851,2.9617 -8.1518,2.9617 -4.1666,0 -6.375,-1.64001 -8.1666,-2.9617 -1.1299,-0.8333 -4.9517,-4.16664 -10.5783,0 -1.7801,1.31668 -4,2.9567 -8.1666,2.9567 a 2.31167,2.31167 0 1 1 0,-4.62334 c 0.8982,0 1.8466,0.0801 4.4583,-1.36166 8.8882,-25.65333 33.1366,-26.01 35.85,-26.01 2.6667,0 26.9534,0.33333 35.8333,25.99997 2.6249,1.48501 3.4283,1.38502 4.4633,1.38502 a 2.3116666,2.3116666 0 1 1 0,4.62332 z m -55.1017,-23.71832 a 2.6783329,2.6783329 0 0 0 -3.5783,1.19333 l -2.6668,5.33334 a 2.6666664,2.6666664 0 0 0 1.1934,3.57832 c 1.5901,0.78336 3.0601,-0.16676 3.5782,-1.19331 l 2.6668,-5.33333 a 2.6666664,2.6666664 0 0 0 -1.1933,-3.57835 z m 33.19,1.19168 a 2.6672561,2.6672561 0 1 0 -4.7716,2.38499 l 2.6666,5.33333 c 0.5167,1.02834 1.9884,1.97668 3.5783,1.19334 a 2.6666664,2.6666664 0 0 0 1.1933,-3.57835 z m -18.3833,-1.47333 a 2.6666664,2.6666664 0 0 0 -2.6667,2.66667 v 5.3333 a 2.6667,2.6667 0 1 0 5.3334,0 v -5.3333 a 2.6666664,2.6666664 0 0 0 -2.6667,-2.66667 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16666667" />
<path
id="path5717-1-3"
d="m 165.94271,407.93759 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 1.9999 a 0.99249264,0.99249264 0 0 0 1.0001,-1.02497 c -0.2627,-5.26248 -2.4125,-9.16246 -5.1999,-11.93744 -2.3001,-2.33746 -2.6376,-4.77496 -2.7376,-6.11246 a 0.98374271,0.98374271 0 0 0 -1,-0.88749 l -2,0.0119 a 0.99999255,0.99999255 0 0 0 -0.9874,1.08749 13.182401,13.182401 0 0 0 3.9,8.71244 c 2.1624,2.14997 3.7999,5.08743 4.0249,9.1749 z m -13.9374,0 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 2 a 0.99249264,0.99249264 0 0 0 1,-1.02497 c -0.2625,-5.26248 -2.4125,-9.16246 -5.2,-11.93744 -2.2875,-2.33746 -2.6249,-4.77496 -2.7249,-6.11246 a 0.98749265,0.98749265 0 0 0 -1.0125,-0.88749 l -2,0.0119 a 0.99999255,0.99999255 0 0 0 -0.9875,1.08749 c 0.125,1.86245 0.65,5.44994 3.9,8.71244 2.1612,2.14997 3.7987,5.08743 4.0249,9.1749 z m 33.9998,5.01246 h -55.9996 a 3.99997,3.99997 0 0 0 -4,3.99997 c 0,11.8374 6.4449,22.14485 15.9999,27.68105 v 4.31874 a 3.99997,3.99997 0 0 0 3.9999,3.99997 h 23.9998 a 3.99997,3.99997 0 0 0 4.0001,-3.99997 v -4.31874 c 9.5548,-5.5362 15.9998,-15.84365 15.9998,-27.68105 a 3.99997,3.99997 0 0 0 -3.9999,-3.99997 z m -16,29.3748 v 6.62496 h -23.9998 v -6.62496 c -16.5423,-9.58368 -15.9998,-23.22234 -15.9998,-25.37483 h 55.9996 c 0,2.18249 0.4212,15.86113 -16,25.37483 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499909" />
<path
id="path5728-1-8"
d="m 428.54695,276.94984 c -17.6725,0 -32,14.32752 -32,32.00002 0,17.67248 14.3275,31.99999 32,31.99999 17.6725,0 32,-14.32751 32,-31.99999 0,-17.6725 -14.3275,-32.00002 -32,-32.00002 z m 0,60.00001 c -15.4388,0 -28,-12.56125 -28,-27.99999 0,-15.43877 12.5612,-28.00002 28,-28.00002 15.4387,0 28,12.56125 28,28.00002 0,15.43874 -12.5613,27.99999 -28,27.99999 z m 19.7987,-27.99999 3.535,-3.53503 c 0.39,-0.39 0.39,-1.02374 0,-1.41373 l -1.4137,-1.41376 c -0.39,-0.38999 -1.0238,-0.38999 -1.4138,0 l -3.535,3.535 -5.6575,-5.65624 2.8288,-2.82875 2.1212,2.12124 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4137,-1.41373 c 0.39,-0.39002 0.39,-1.02376 0,-1.41376 l -2.1212,-2.12127 0.7075,-0.70748 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4138,-1.41376 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -0.7075,0.70752 -2.1213,-2.12124 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -1.4137,1.41372 c -0.3901,0.39 -0.3901,1.02377 0,1.41376 l 2.1211,2.12124 -2.8287,2.82875 -5.6575,-5.65623 3.5363,-3.535 c 0.39,-0.39 0.39,-1.02373 0,-1.41376 l -1.415,-1.41875 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -3.5362,3.53626 -3.5363,-3.53626 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -1.4138,1.41376 c -0.39,0.38999 -0.39,1.02373 0,1.41376 l 3.5363,3.535 -5.6563,5.65623 -2.8287,-2.82875 2.1212,-2.12124 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4137,-1.41375 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -2.1212,2.12127 -0.7076,-0.70752 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -1.4137,1.41376 c -0.39,0.39 -0.39,1.02374 0,1.41376 l 0.7075,0.70748 -2.1213,2.12124 c -0.39,0.39003 -0.39,1.02377 0,1.41376 l 1.4138,1.41376 c 0.39,0.39 1.0237,0.39 1.4137,0 l 2.1213,-2.12127 2.8287,2.82878 -5.6562,5.65624 -3.5363,-3.535 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -1.4175,1.41749 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 3.5362,3.53626 -3.5362,3.53623 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 1.4137,1.41376 c 0.39,0.38999 1.0238,0.38999 1.4137,0 l 3.5363,-3.535 5.6563,5.65623 -2.8288,2.82874 -2.1212,-2.12121 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -1.4137,1.41372 c -0.39,0.38999 -0.39,1.02375 0,1.41375 l 2.1212,2.12124 -0.7075,0.70752 c -0.39,0.39 -0.39,1.02375 0,1.41375 l 1.4138,1.41372 c 0.39,0.39005 1.0237,0.39005 1.4137,0 l 0.7075,-0.70747 2.1212,2.12125 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4138,-1.41378 c 0.39,-0.38999 0.39,-1.02372 0,-1.41372 l -2.1213,-2.12127 2.8287,-2.82871 5.6576,5.6575 -3.5363,3.53621 c -0.39,0.39 -0.39,1.02378 0,1.41378 l 1.4138,1.41372 c 0.39,0.39002 1.0237,0.39002 1.4137,0 l 3.5388,-3.53499 3.5362,3.53626 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4137,-1.41378 c 0.39,-0.38999 0.39,-1.02372 0,-1.41372 l -3.5362,-3.53626 5.6575,-5.65751 2.8287,2.82877 -2.1212,2.12122 c -0.39,0.39002 -0.39,1.02378 0,1.41377 l 1.4137,1.41375 c 0.39,0.39002 1.0238,0.39002 1.4138,0 l 2.1212,-2.12122 0.7075,0.70747 c 0.39,0.39 1.0237,0.39 1.4137,0 l 1.4138,-1.41377 c 0.39,-0.38997 0.39,-1.02373 0,-1.4137 l -0.7075,-0.70752 2.1213,-2.12124 c 0.39,-0.39 0.39,-1.02378 0,-1.41375 l -1.4138,-1.41378 c -0.39,-0.38999 -1.0237,-0.38999 -1.4138,0 l -2.1212,2.12127 -2.8287,-2.82874 5.6562,-5.65627 3.5363,3.535 c 0.39,0.38999 1.0237,0.38999 1.4137,0 l 1.4138,-1.41373 c 0.39,-0.39003 0.39,-1.02377 0,-1.41376 z m -19.7987,-14.14252 5.6562,5.65627 -5.6562,5.6575 -5.6563,-5.65627 z m -14.1425,14.14252 5.6562,-5.6575 5.6575,5.6575 -5.6575,5.6575 z m 14.1425,14.14249 -5.6575,-5.65751 5.6575,-5.6575 5.6575,5.6575 z m 8.485,-8.48626 -5.6563,-5.65623 5.6575,-5.65627 5.6563,5.65627 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5739-8-9"
d="m 818.70205,447.73728 1.7751,-20.60001 c -5.2626,-4.1375 -8.8,-9.62501 -8.8,-16.18747 0.013,-11.78751 11.0249,-22.00003 19.0124,-22.00003 2.7625,0 5,2.16252 5,4.81248 v 54.375 c 0,2.65001 -2.2375,4.81253 -5,4.81253 h -7 c -2.8499,0 -5.2249,-2.33754 -4.9875,-5.2125 z m -3.0125,-36.78748 c 0,6.37497 4.0251,10.68747 8.975,14.31247 l -1.9749,22.825 c -0.036,0.46249 0.4249,0.86251 0.9999,0.86251 h 7 c 0.5376,0 1,-0.37512 1,-0.81253 v -54.375 c 0,-0.43746 -0.4624,-0.81248 -1,-0.81248 -5.5749,0 -15,8.22499 -15,18.00003 z m -9.9125,-17.77503 c -0.4125,-2.43747 -2.6499,-4.225 -5.7625,-4.225 -1.4874,0 -3.0125,0.42503 -4.1625,1.40002 -1.0499,-0.88752 -2.5,-1.40002 -4.1625,-1.40002 -1.6625,0 -3.1125,0.5125 -4.1625,1.40002 -1.1499,-0.97499 -2.675,-1.40002 -4.1625,-1.40002 -3.15,0 -5.3499,1.81253 -5.7625,4.225 -0.2251,1.17499 -1.9124,10.57502 -1.9124,14.5125 0,6.36249 3.3374,11.45003 8.8749,13.8375 l -1.425,26.35001 c -0.1499,2.74997 2.0375,5.075 4.8,5.075 h 7.5 c 2.7501,0 4.95,-2.31254 4.8001,-5.075 l -1.4251,-26.35001 c 5.525,-2.38747 8.8751,-7.47501 8.8751,-13.8375 0,-3.93748 -1.6876,-13.33751 -1.9126,-14.5125 z m -11.05,25.77502 1.525,29.13748 c 0.024,0.46249 -0.3373,0.86251 -0.8125,0.86251 h -7.5 c -0.4625,0 -0.8374,-0.38761 -0.8125,-0.86251 l 1.525,-29.13748 c -5.3,-1.10001 -8.9624,-5.37504 -8.9624,-11.26252 0,-3.71247 1.8499,-13.82501 1.8499,-13.82501 0.1999,-1.23751 3.5375,-1.2125 3.6875,0.0241 v 15.3125 c 0.1127,1.43748 3.5251,1.46248 3.6876,0.0241 l 0.925,-15.3625 c 0.1998,-1.21248 3.4875,-1.21248 3.6874,0 l 0.9251,15.3625 c 0.1624,1.42502 3.575,1.40002 3.6875,-0.0241 v -15.30001 c 0.1499,-1.23751 3.4875,-1.26249 3.6874,-0.0241 0,0 1.85,10.11253 1.85,13.82504 0.013,5.84999 -3.625,10.14997 -8.95,11.24997 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499996" />
<path
id="path5750-4-7"
d="m 52.005309,404.94981 c 3.3137,0 6,-2.68629 6,-6.00003 0,-3.31375 -2.6863,-6.00001 -6,-6.00001 -3.3138,0 -6,2.68626 -6,6.00001 0,3.31374 2.6862,6.00003 6,6.00003 z m 0,-8.00002 c 1.1025,0 2,0.89747 2,1.99999 0,1.10252 -0.8975,1.99998 -2,1.99998 -1.1025,0 -2,-0.89746 -2,-1.99998 0,-1.10252 0.8975,-1.99999 2,-1.99999 z m 22,14.99997 v -1.99998 c 0,-0.55251 -0.4475,-1 -1,-1 h -54 c -0.5525,0 -1,0.44749 -1,1 v 1.99998 c 0,0.5525 0.4475,1.00002 1,1.00002 h 5.8412 c -4.2437,5.72251 -6.8412,12.70251 -6.8412,19.19999 0,4.88501 1.4775,8.83127 4,11.94128 v 6.85874 c 0,1.10501 0.895,1.99999 2,1.99999 1.105,0 2,-0.89498 2,-1.99999 v -3.16751 c 5.0825,3.50372 12.16,5.1675 20,5.1675 7.8387,0 14.9175,-1.66378 20,-5.16623 v 3.16624 c 0,1.10501 0.895,1.99999 2,1.99999 1.105,0 2,-0.89498 2,-1.99999 v -6.85874 c 2.5225,-3.11001 4,-7.05627 4,-11.94128 0,-6.49748 -2.5975,-13.47748 -6.8413,-19.19999 h 5.8413 c 0.5525,0 1,-0.44752 1,-1.00002 z m -4,20.20001 c 0,15.16251 -16.7837,16.80004 -24,16.80004 -7.2163,0 -24,-1.63753 -24,-16.80004 0,-6.53124 3.0175,-13.75248 7.955,-19.19999 h 32.0887 c 4.9388,5.44751 7.9563,12.66875 7.9563,19.19999 z m -32,-35.19998 c 2.2087,0 4,-1.79123 4,-4.00002 0,-2.20877 -1.7913,-4 -4,-4 -2.2087,0 -4,1.79123 -4,4 0,2.20879 1.7913,4.00002 4,4.00002 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500001" />
<path
id="path5761-6-1"
d="m 830.75385,297.75696 0.84,-2.5214 v 0 l 6.0957,-18.28571 h -57.1428 a 11.428558,11.428558 0 0 0 -11.4285,11.42856 v 14.85712 a 1.1428558,1.1428558 0 0 0 1.1428,1.14287 h 2.2858 a 1.1428558,1.1428558 0 0 0 1.1428,-1.14287 v -14.85712 a 6.8571343,6.8571343 0 0 1 6.8571,-6.85711 h 3.81 l 4.5714,13.71426 v 0 l 0.8643,2.59426 c -7.0442,5.67715 -11.5314,14.21856 -11.5314,23.78 0,7.35282 2.66,12.10998 7.0914,16.81567 a 8.1685614,8.1685614 0 0 0 5.9329,2.52429 h 37.9528 a 8.1542755,8.1542755 0 0 0 5.9214,-2.51429 c 4.4286,-4.70712 7.0986,-9.46284 7.1014,-16.8171 0,-9.47287 -4.3757,-18.12142 -11.5071,-23.86143 z m -41.5785,-16.23566 h 42.1714 l -4.5715,13.71426 h -33.0285 z m 5.45,18.28568 h 31.3857 c 3,2.41714 7.8114,6.01142 10.3571,13.71426 h -52.1942 c 2.5871,-7.71427 7.5457,-11.37283 10.4514,-13.71426 z m 37.2071,35.49281 a 3.5599955,3.5599955 0 0 1 -2.5943,1.07857 h -37.9528 a 3.5714241,3.5714241 0 0 1 -2.6043,-1.08858 c -4.2628,-4.52429 -5.8485,-8.23282 -5.8485,-13.67996 a 25.471396,25.471396 0 0 1 0.2712,-3.51716 h 54.3185 a 25.781397,25.781397 0 0 1 0.2671,3.52428 c 0,5.4457 -1.5885,9.15429 -5.8571,13.68285 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.14285697" />
<path
id="path5772-1-7"
d="m 701.11805,317.94896 c -1.6562,0 -2.9999,1.34247 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65748 -1.3438,-2.99995 -3,-2.99995 z m -20.9996,-16.99966 c 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99992 3,2.99992 1.6562,0 2.9999,-1.34371 2.9999,-2.99992 z m 1,16.99966 c -1.6562,0 -2.9999,1.34247 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65748 -1.3438,-2.99995 -3,-2.99995 z m 11.9998,-11.99978 c -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99995 3,2.99995 1.6562,0 2.9999,-1.34374 2.9999,-2.99995 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 z m 27.8144,2.97744 c -8.7461,-0.10616 -15.8084,-7.21111 -15.8084,-15.98218 -8.7711,0 -15.8747,-7.0611 -15.9822,-15.80595 -0.8275,-0.1262 -1.6612,-0.18865 -2.4912,-0.18865 -2.585,0 -5.1474,0.60625 -7.4736,1.79122 l -8.6411,4.40243 a 16.527304,16.527304 0 0 0 -7.2236,7.22609 l -4.3874,8.60983 a 16.580302,16.580302 0 0 0 -1.6025,10.11857 l 1.51,9.53482 a 16.569053,16.569053 0 0 0 4.6449,9.11979 l 6.8461,6.84488 a 16.50418,16.50418 0 0 0 9.0886,4.63243 l 9.5885,1.51749 c 0.8575,0.13639 1.72,0.20246 2.58,0.20246 2.59,0 5.1562,-0.61003 7.4861,-1.7975 l 8.6411,-4.40241 a 16.527304,16.527304 0 0 0 7.2236,-7.22608 l 4.3874,-8.60986 c 1.57,-3.07869 2.1262,-6.57111 1.6137,-9.98732 z m -5.1773,8.16985 -4.3875,8.61107 c -1.2099,2.37496 -3.1037,4.26866 -5.4761,5.47741 l -8.6411,4.40243 c -1.7475,0.88995 -3.7087,1.36117 -5.6699,1.36117 -0.6512,0 -1.3087,-0.0512 -1.9537,-0.1538 l -9.5873,-1.51744 c -2.625,-0.41624 -5.0062,-1.62999 -6.8861,-3.50993 l -6.8462,-6.84488 c -1.8874,-1.88622 -3.1049,-4.27866 -3.5224,-6.91613 l -1.51,-9.53354 c -0.4187,-2.63997 0,-5.29489 1.215,-7.6761 l 4.3874,-8.60983 c 1.21,-2.37496 3.1037,-4.26866 5.4762,-5.47739 l 8.6398,-4.40368 c 1.4162,-0.72123 2.9749,-1.16624 4.5637,-1.30747 1.6437,7.89361 7.9798,14.11846 15.9059,15.60721 1.4887,7.92733 7.7136,14.26346 15.6085,15.90592 -0.1374,1.59123 -0.58,3.14243 -1.3162,4.58491 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249976" />
<path
id="path5794-5-6"
d="m 298.18245,276.94983 c -16.5581,0 -31.00684,10.95333 -39.05244,20.33332 l -16.0613,-14.27833 c -2.2371,-1.84166 -5.5619,0.11165 -4.999,2.92669 l 4.4492,23.01833 -4.4508,23.02002 c -0.5613,2.81334 2.7602,4.76666 4.9922,2.93169 l 16.0615,-14.27504 c 8.0521,9.37001 22.50914,20.32334 39.06064,20.32334 25.291,0 45.7932,-25.60002 45.7932,-32.00001 0,-6.39999 -20.5022,-32.00001 -45.7932,-32.00001 z m 0,58.6667 c -14.1407,0 -27.37564,-9.54502 -35.04534,-18.47833 l -3.3695,-3.92501 c -5.1646,4.24667 -2.0268,1.47999 -15.2467,13.60166 3.6029,-18.98167 3.1079,-16.395 3.4059,-17.86501 -0.298,-1.46835 0.1985,1.12166 -3.4043,-17.86501 13.2464,12.14167 10.1004,9.36833 15.2467,13.60335 l 3.3695,-3.92502 c 7.6699,-8.93333 20.89654,-18.48002 35.04374,-18.48002 21.2261,0 39.0905,21.08169 40.46,26.6667 -1.3695,5.58501 -19.2339,26.66669 -40.46,26.66669 z m -3.6063,-41.72502 -1.8728,-1.885 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -14.0215,14.11 a 1.3246526,1.333334 0 0 0 0,1.88498 l 1.8728,1.885 a 1.3246526,1.333334 0 0 0 1.8727,0 l 14.0232,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 18.5451,2.66667 -1.8727,-1.88499 a 1.3246526,1.333334 0 0 0 -1.8743,0 l -24.6189,24.77667 a 1.3246526,1.333334 0 0 0 0,1.885 l 1.8729,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 24.6203,-24.77002 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 6.0753,11.44835 a 1.3246526,1.333334 0 0 0 -1.8745,0 l -14.0214,14.11001 a 1.3246526,1.333334 0 0 0 0,1.88497 l 1.8726,1.885 a 1.3246526,1.333334 0 0 0 1.8729,0 l 14.0229,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.88666 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16612327" />
<path
id="path5805-4-6"
d="m 46.005409,318.94985 c -1.1001,0 -2.0001,0.9 -2.0001,1.99998 0,1.10001 0.9,1.99999 2.0001,1.99999 1.0999,0 1.9999,-0.89998 1.9999,-1.99999 0,-1.09998 -0.9,-1.99998 -1.9999,-1.99998 z m -4.0001,-31.00002 c -1.1,0 -1.9999,0.90001 -1.9999,2.00003 0,1.1 0.8999,1.99999 1.9999,1.99999 1.1001,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.8999,-2.00003 -2,-2.00003 z m 4.0001,23.00002 c -1.1001,0 -2.0001,0.9 -2.0001,1.99999 0,1.1 0.9,1.99998 2.0001,1.99998 1.0999,0 1.9999,-0.89998 1.9999,-1.99998 0,-1.09999 -0.9,-1.99999 -1.9999,-1.99999 z m 0,-7.99999 c -1.1001,0 -2.0001,0.9 -2.0001,1.99998 0,1.1 0.9,2.00003 2.0001,2.00003 1.0999,0 1.9999,-0.90003 1.9999,-2.00003 0,-1.09998 -0.9,-1.99998 -1.9999,-1.99998 z m 4,-15.00003 c -1.1001,0 -2.0001,0.90001 -2.0001,2.00003 0,1.1 0.9,1.99999 2.0001,1.99999 1.1,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.9,-2.00003 -2,-2.00003 z m 23.9999,19.00004 c 0,-5.51253 -4.4875,-10.00002 -9.9999,-10.00002 h -4.95 c 1.2874,-2.88749 1.5749,-6.17501 0.7249,-9.45 -1.2375,-4.84999 -5.175,-8.79998 -10,-10.06251 -1.2499,-0.32487 -2.5125,-0.48751 -3.7749,-0.48751 -3.8125,0 -7.3876,1.48752 -10.075,4.17501 -2.6876,2.6875 -4.175,6.26249 -4.175,10.07502 0,1.99999 0.4249,3.96249 1.225,5.74999 h -4.9751 c -5.5125,0 -10,4.48749 -10,10.00002 0,5.51246 4.4875,9.99998 10,9.99998 h 3.4876 l -7.25,7.7 c -3.475,4.27498 -2.8251,10.58751 1.4499,14.06247 1.7875,1.43751 4.0251,2.23753 6.3125,2.23753 3.025,0 5.8625,-1.35001 7.7626,-3.70002 l 6.2375,-6.44998 6.2375,6.44998 c 1.8999,2.35001 4.7374,3.70002 7.7624,3.70002 2.2876,0 4.525,-0.80002 6.3,-2.23753 4.2751,-3.47496 4.925,-9.78749 1.45,-14.06247 l -7.2499,-7.7 h 3.5 c 5.5124,0 9.9999,-4.48753 9.9999,-9.99998 z m -17.925,10.88748 8.575,9.32498 c 2.0875,2.575 1.7,6.35 -0.875,8.43751 -1.1125,0.90001 -2.45,1.34998 -3.775,1.34998 -1.7499,0 -3.475,-0.7625 -4.6624,-2.21247 l -6.2376,-6.45001 c -0.8,-0.98751 -1.95,-1.475 -3.0999,-1.475 -1.1501,0 -2.3,0.48749 -3.1001,1.475 l -6.2375,6.45001 c -1.1874,1.46248 -2.9124,2.21247 -4.6625,2.21247 -1.3249,0 -2.6624,-0.43746 -3.775,-1.34998 -2.575,-2.08751 -2.9625,-5.86248 -0.875,-8.43751 l 8.5751,-9.32498 c 1.5874,-1.96249 0.1999,-4.88751 -2.325,-4.88751 h -5.6001 c -3.3125,0 -6,-2.68749 -6,-5.99997 0,-3.31251 2.6875,-6.00001 6,-6.00001 h 10.2 c 1.1625,0 1.775,-1.4375 0.9126,-2.21252 -2.0626,-1.86248 -3.3625,-4.53748 -3.3625,-7.53748 0,-5.66251 4.5874,-10.25002 10.25,-10.25002 0.9,0 1.825,0.11255 2.7625,0.3625 3.4499,0.9 6.2624,3.725 7.1374,7.18748 1.0375,4.06252 -0.3374,7.83755 -3,10.23752 -0.8625,0.78752 -0.2748,2.22502 0.9,2.22502 h 10.2001 c 3.3124,0 5.9999,2.6875 5.9999,5.99997 0,3.31251 -2.6875,6 -5.9999,6 h -5.5876 c -2.5249,-0.0134 -3.925,2.91253 -2.3375,4.87502 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499995" />
<path
id="path5627-7-8"
d="m 1060.2309,176.94992 c -2.2187,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.7812,5 -4,5 z m 16,0 c -2.2187,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.7812,5 -4,5 z m 16,0 c -2.2187,0 -4,-1.78126 -4,-3.99999 0,-3.87501 4,-2.875 4,-8.00001 1.5,0 4,3.68753 4,7 0,3.3125 -1.7812,5 -4,5 z m 6,20.00002 h -4 v -18.00002 h -4 v 18.00002 h -12 v -18.00002 h -4 v 18.00002 h -12 v -18.00002 h -4 v 18.00002 h -4 c -3.3125,0 -6,2.68747 -6,5.99997 v 26.00001 h 56 v -26.00001 c 0,-3.3125 -2.6875,-5.99997 -6,-5.99997 z m 2,27.99999 h -48 v -9.00538 c 2.0278,-1.18486 2.991,-2.99462 5.3438,-2.99462 3.4939,0 3.9066,3.99998 9.3437,3.99998 5.3554,0 5.9022,-3.99998 9.3125,-3.99998 3.5185,0 3.9002,3.99998 9.3438,3.99998 5.4196,0 5.8459,-3.99998 9.3437,-3.99998 2.311,0 3.2806,1.80937 5.3125,2.99438 z m 0,-14.04676 c -1.2032,-0.98425 -2.6521,-1.95324 -5.3125,-1.95324 -5.4287,0 -5.8531,4 -9.3437,4 -3.4619,0 -3.9318,-4 -9.3438,-4 -5.3552,0 -5.9022,4 -9.3125,4 -3.5185,0 -3.9002,-4 -9.3437,-4 -2.6829,0 -4.1376,0.97177 -5.3438,1.95724 v -7.95726 c 0,-1.10272 0.8973,-1.99998 2,-1.99998 h 44 c 1.1028,0 2,0.89726 2,1.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5640-9-7"
d="m 1192.2309,214.94992 c -1.6575,0 -3,1.34249 -3,3 0,1.65624 1.3425,3 3,3 1.6575,0 3,-1.34376 3,-3 0,-1.65751 -1.3425,-3 -3,-3 z m 16.7812,-6.99624 11.2188,-43.00376 h -58 c -3.3087,0 -6,2.69127 -6,6.00004 v 19.99996 c 0,3.30877 2.6913,6 6,6 h 12.7825 l 0.9413,10.82001 c -4.5088,1.7275 -7.7238,6.06374 -7.7238,11.17999 v 6 c 0,2.20873 1.7913,4 4,4 h 40 c 2.2088,0 4,-1.79127 4,-4 v -6 c 0,-4.92499 -2.9737,-9.14752 -7.2188,-10.99624 z m -46.7812,-15.00376 c -1.1012,0 -2,-0.89625 -2,-2 v -19.99996 c 0,-1.10375 0.8988,-2 2,-2 h 10.3475 l 2.0875,23.99996 z m 52.8225,-23.99996 -2.0875,7.99996 h -19.735 c -0.5525,0 -1,0.44751 -1,1.00004 v 1.99996 c 0,0.55253 0.4475,1 1,1 h 18.6925 l -2.0875,8 h -16.605 c -0.5525,0 -1,0.44751 -1,1 v 2 c 0,0.55253 0.4475,1 1,1 h 15.5613 l -3.6525,14 h -25.2413 l -3.305,-37.99996 z m -2.8225,55.99996 h -40 v -6 c 0,-4.41125 3.5888,-8 8,-8 h 24 c 4.4113,0 8,3.58875 8,8 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249999" />
<path
id="path5651-8-3"
d="m 1472.5493,184.94991 h -17.5341 c -0.6889,0 -1.2525,-0.67497 -1.2525,-1.49998 v -0.99999 c 0,-0.82501 0.5636,-1.50002 1.2525,-1.50002 h 17.5341 c 0.6889,0 1.2524,0.67501 1.2524,1.50002 v 0.99999 c 0,0.82501 -0.5635,1.49998 -1.2524,1.49998 z m 1.2524,6.5 v -0.99999 c 0,-0.82501 -0.5635,-1.49998 -1.2524,-1.49998 h -17.5341 c -0.6889,0 -1.2525,0.67497 -1.2525,1.49998 v 0.99999 c 0,0.82501 0.5636,1.50002 1.2525,1.50002 h 17.5341 c 0.6889,0 1.2524,-0.67501 1.2524,-1.50002 z m 6.7528,33.49998 h 0.3444 c 0.6889,0 1.2525,0.67501 1.2525,1.50002 v 0.99999 c 0,0.82501 -0.5636,1.50002 -1.2525,1.50002 h -37.1557 c -4.6132,0 -8.3496,-4.47501 -8.3496,-10 v -43.99997 c 0,-5.52502 3.7364,-10.00003 8.3496,-10.00003 h 35.9033 c 1.3881,0 2.5049,1.33751 2.5049,3.00004 v 45.99995 c 0,1.25 -0.6471,2.32499 -1.5552,2.775 -0.3757,2.01252 -0.4592,5.7 -0.042,8.22498 z m -31.8015,-11.99997 h 30.0585 v -43.99997 h -30.0585 z m -10.0196,1.99998 c 1.3986,-1.24997 3.1311,-1.99998 5.0098,-1.99998 h 1.6699 v -43.99997 h -1.6699 c -2.7658,0 -5.0098,2.68749 -5.0098,6 z m 38.857,9.99999 c -0.3237,-2.54999 -0.3027,-5.64997 0,-7.99998 h -33.8472 c -6.6797,0 -6.6797,7.99998 0,7.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.11422013" />
<path
id="path5662-1-7"
d="m 1739.3439,168.9499 a 11.896253,11.896253 0 0 0 -7.2163,2.46752 c -2.9175,-3.90501 -7.5337,-6.4675 -12.7837,-6.4675 -5.25,0 -9.8663,2.56249 -12.7838,6.4675 a 11.945003,11.945003 0 0 0 -19.2163,9.53248 c 0,5.21751 8.0001,28.00002 8.0001,28.00002 v 16.00002 a 4.0000013,4.0000013 0 0 0 3.9999,3.99998 h 40.0001 a 4.0000013,4.0000013 0 0 0 3.9999,-3.99998 v -16.00002 c 0,0 8.0001,-22.78251 8.0001,-28.00002 a 12.000003,12.000003 0 0 0 -12,-12 z m -38.0001,54.00004 v -10 h 36.0001 v 10 z m 36.3426,-16.00002 h -3.6938 l 1.3513,-16.84376 a 1.0000003,1.0000003 0 0 0 -0.9163,-1.07622 l -2,-0.16009 h -0.081 a 1.0000003,1.0000003 0 0 0 -1,0.92124 l -1.375,17.16252 h -8.71 v -17.00375 a 1.0000003,1.0000003 0 0 0 -1,-1 h -2 a 1.0000003,1.0000003 0 0 0 -1,1 v 16.99999 h -8.5525 l -1.375,-17.16248 a 1.0000003,1.0000003 0 0 0 -1,-0.92128 h -0.081 l -2,0.16009 a 1.0000003,1.0000003 0 0 0 -0.9162,1.07623 l 1.3587,16.84751 h -3.6937 c -3.6576,-10.40249 -7.6,-23.33251 -7.6575,-26.00002 a 5.9462517,5.9462517 0 0 1 9.5899,-4.74999 l 4.8151,3.65251 3.6175,-4.84124 c 1.9274,-2.58127 4.835,-4.06127 7.9775,-4.06127 3.1424,0 6.0499,1.48 7.9775,4.05876 l 3.6174,4.84125 4.8151,-3.65001 a 5.9462517,5.9462517 0 0 1 9.59,4.74001 c -0.058,2.67749 -4,15.60751 -7.6576,26.01 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500003" />
<path
id="path5673-8-0"
d="m 1212.8449,77.650015 c -1.6875,-1.42499 -3.825,-2.2 -6.025,-2.2 -2.7375,0 -5.3125,1.18748 -7.1125,3.26249 l -2.55,-11.12502 c -1.9625,-8.62499 -9.45,-14.63748 -18.2,-14.63748 -1.4125,0 -2.8375,0.16241 -4.225,0.4875 -10.05,2.33751 -16.3375,12.50002 -14.025,22.63751 l 5.575,24.375005 c 0.05,0.23744 0.1375,0.46249 0.2,0.7 -1.175,0.38749 -2.25,1.47499 -2.25,2.79999 V 113.95 c 0,1.66251 1.3375,3 2.975,3 h 37.8875 c 1.6375,0 3.15,-1.33749 3.15,-3 v -9.99999 c 0,-1.42499 -1.175,-2.55 -2.4875,-2.86248 l 8.3,-10.050035 c 3.325,-4.02499 2.775,-10.02498 -1.2125,-13.38748 z m -8.6125,35.300005 h -36 v -8.00001 h 36 z m 6.775,-24.475005 -10.3125,12.475015 h -30.1 c -0.15,-0.46253 -0.3375,-0.92502 -0.45,-1.412535 l -5.575,-24.37499 c -1.825,-7.98748 3.125,-15.98751 11.05,-17.83751 1.1,-0.25012 2.2125,-0.38748 3.325,-0.38748 6.9,0 12.8,4.7375 14.35,11.53751 l 3.4375,15.04998 0.9,3.92501 2.5625,-3.1 2.425,-2.9375 c 1.0375,-1.26252 2.5625,-1.97499 4.1875,-1.97499 1.275,0 2.5,0.44998 3.4875,1.27498 2.325,1.94998 2.6375,5.42501 0.7125,7.76251 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5684-6-6"
d="m 1352.216,188.94993 h -14.1713 l 13.3413,-13.34124 c 3.0137,-3.01376 2.1887,-8.09377 -1.6225,-10.00002 a 6.2446252,6.2446252 0 0 0 -2.7912,-0.65875 c -1.3276,0 -2.6451,0.42252 -3.7476,1.24875 l -30.335,22.75126 h -22.6737 c -0.5525,0 -1,0.44749 -1,1.00001 v 2 c 0,0.55249 0.4475,0.99998 1,0.99998 h 3 v 4.00001 c 0,10.17749 6.345,18.85376 15.2862,22.34375 -1.595,2.0975 -2.7125,4.57875 -3.115,7.30499 -0.1812,1.22877 0.7475,2.35125 1.99,2.35125 h 27.6775 c 1.2425,0 2.1713,-1.12124 1.99,-2.35125 -0.4012,-2.72624 -1.5187,-5.20874 -3.1149,-7.30499 8.9412,-3.48999 15.2862,-12.16626 15.2862,-22.34375 v -4.00001 h 3 c 0.5525,0 1,-0.44749 1,-0.99998 v -2 c 0,-0.55252 -0.4475,-1.00001 -1,-1.00001 z m -6.5925,-19.55126 c 2.1975,-1.64749 4.9013,1.41375 2.9337,3.38127 l -16.1687,16.16999 h -12.8325 z m -0.4075,27.55126 c 0,8.28875 -5.0013,15.59624 -12.74,18.6175 l -4.9388,1.92749 3.21,4.21999 c 0.7601,1.00002 1.3588,2.09377 1.7738,3.23502 h -22.6088 c 0.415,-1.14125 1.0125,-2.235 1.7738,-3.23502 l 3.21,-4.21999 -4.9388,-1.92749 c -7.74,-3.02126 -12.7412,-10.32875 -12.7412,-18.6175 v -4.00001 h 48 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5695-2-6"
d="m 1855.9152,52.950005 h -40 a 8.0000001,8.0000001 0 0 0 -8.0001,7.99999 v 52.000015 a 4.0000002,4.0000002 0 0 0 4,3.99999 h 48.0001 a 4.0000002,4.0000002 0 0 0 4,-3.99999 V 60.949995 a 8.0000001,8.0000001 0 0 0 -8,-7.99999 z m 4,60.000005 h -48.0001 V 72.950005 h 48.0001 z m 0,-43.999995 h -48.0001 v -8.00002 a 4.0000002,4.0000002 0 0 1 4.0001,-3.99998 h 40 a 4.0000002,4.0000002 0 0 1 4,3.99998 z m -6.0001,-8.00002 a 2.0000001,2.0000001 0 1 0 2.0001,2 2.0000001,2.0000001 0 0 0 -2.0001,-2 z m -7.9999,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -20,0 a 2.0000001,2.0000001 0 1 0 1.9999,2 2.0000001,2.0000001 0 0 0 -1.9999,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m 0,48.000025 h 35.9999 a 2.0000001,2.0000001 0 0 0 2.0001,-2.00001 V 78.950015 a 2.0000001,2.0000001 0 0 0 -2.0001,-2 h -35.9999 a 2.0000001,2.0000001 0 0 0 -2,2 v 27.999995 a 2.0000001,2.0000001 0 0 0 2,2.00001 z m 2,-28.000005 h 31.9999 v 23.999995 h -31.9999 z m 26,3.99999 h -20 a 2.0000055,2.0000055 0 0 0 0,4.00001 h 20 a 2.0000055,2.0000055 0 0 0 0,-4.00001 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.125" />
<path
id="path5706-1-5"
d="m 1631.4255,80.321695 c -6.3184,-16.42668 -22.26,-27.37169 -40.0816,-27.37169 -17.8217,0 -33.7651,10.94501 -40.0784,27.37169 -7.0883,0.27334 -7.9217,6.23499 -7.9217,7.65166 a 7.6816659,7.6816659 0 0 0 7.7034,7.64334 c 0.4534,0 0.795,-0.0999 1.22,-0.12669 l 5.41,16.220005 a 7.6666659,7.6666659 0 0 0 7.2717,5.23999 h 52.79 a 7.6666659,7.6666659 0 0 0 7.2716,-5.24164 l 5.405,-16.218355 c 0.4234,0.0284 0.7667,0.12669 1.22,0.12669 a 7.6816659,7.6816659 0 0 0 7.7083,-7.64334 c 0,-1.46168 -0.8583,-7.35667 -7.9183,-7.65166 z m -11.4733,29.696645 a 2.3333332,2.3333332 0 0 1 -2.2133,1.59832 h -52.7917 a 2.3333332,2.3333332 0 0 1 -2.2134,-1.59664 l -5.2099,-15.631665 a 21.178333,21.178333 0 0 0 4.8666,-2.78166 c 1.5151,-1.12332 2.1,-1.57168 4.235,0.0108 2.02,1.5 5.4117,4.00001 11.3234,4.00001 5.9117,0 9.3066,-2.51001 11.3333,-4.01334 1.5117,-1.11834 2.085,-1.56667 4.2017,0.008 2.025,1.5 5.41,3.99999 11.3216,3.99999 5.9117,0 9.3017,-2.51 11.3234,-4.01 1.8133,-1.34498 2.3533,-1.36667 4.1866,0 a 21.151665,21.151665 0 0 0 4.8466,2.78167 l -5.2099,15.633335 z m 11.6867,-19.735005 c -4.1567,0 -6.365,-1.63998 -8.1517,-2.96832 -4.9517,-3.66666 -8.3434,-1.615 -10.5367,0.0108 -1.7733,1.31832 -3.9833,2.95833 -8.145,2.95833 -4.1617,0 -6.3699,-1.64001 -8.1567,-2.9617 -5.3032,-3.94664 -8.9166,-1.2083 -10.5499,0 -1.7767,1.32169 -3.9851,2.9617 -8.1517,2.9617 -4.1666,0 -6.3751,-1.64001 -8.1666,-2.9617 -1.1301,-0.83331 -4.9517,-4.16665 -10.5784,0 -1.78,1.31668 -4,2.95669 -8.1666,2.95669 a 2.3116664,2.3116664 0 1 1 0,-4.62333 c 0.8982,0 1.8466,0.0801 4.4583,-1.36166 8.8883,-25.65333 33.1366,-26.01 35.85,-26.01 2.6667,0 26.9534,0.33333 35.8333,25.99997 2.6249,1.48501 3.4283,1.38501 4.4633,1.38501 a 2.3116666,2.3116666 0 1 1 0,4.62333 z m -55.1017,-23.71832 a 2.6783329,2.6783329 0 0 0 -3.5783,1.19333 l -2.6668,5.33334 a 2.6666664,2.6666664 0 0 0 1.1934,3.57832 c 1.5901,0.78336 3.06,-0.16676 3.5783,-1.19331 l 2.6667,-5.33333 a 2.6666664,2.6666664 0 0 0 -1.1933,-3.57835 z m 33.19,1.19168 a 2.6672691,2.6672691 0 1 0 -4.7717,2.38499 l 2.6667,5.33333 c 0.5166,1.02834 1.9883,1.97668 3.5783,1.19334 a 2.6666664,2.6666664 0 0 0 1.1933,-3.57835 z m -18.3833,-1.47333 a 2.6666664,2.6666664 0 0 0 -2.6667,2.66667 v 5.3333 a 2.6667,2.6667 0 1 0 5.3334,0 v -5.3333 a 2.6666664,2.6666664 0 0 0 -2.6667,-2.66667 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16666667" />
<path
id="path5717-4-6"
d="m 1981.409,183.93774 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 1.9999 a 0.99249264,0.99249264 0 0 0 1.0001,-1.02498 c -0.2627,-5.26247 -2.4125,-9.16245 -5.1999,-11.93742 -2.3001,-2.33747 -2.6376,-4.77497 -2.7376,-6.11246 a 0.98374271,0.98374271 0 0 0 -1,-0.88749 l -2,0.012 a 0.99999255,0.99999255 0 0 0 -0.9874,1.08748 13.182401,13.182401 0 0 0 3.9,8.71244 c 2.1624,2.15 3.7999,5.08746 4.0249,9.17492 z m -13.9374,0 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 2 a 0.99249264,0.99249264 0 0 0 1,-1.02498 c -0.2625,-5.26247 -2.4125,-9.16245 -5.2,-11.93742 -2.2875,-2.33747 -2.625,-4.77497 -2.7249,-6.11246 a 0.98749265,0.98749265 0 0 0 -1.0125,-0.88749 l -2,0.012 a 0.99999255,0.99999255 0 0 0 -0.9875,1.08748 c 0.1249,1.86249 0.65,5.44996 3.8999,8.71244 2.1613,2.15 3.7988,5.08746 4.025,9.17492 z m 33.9998,5.01246 h -55.9996 a 3.99997,3.99997 0 0 0 -4,3.99996 c 0,11.83742 6.4449,22.14485 15.9999,27.68106 v 4.31873 a 3.99997,3.99997 0 0 0 3.9999,3.99997 h 23.9998 a 3.99997,3.99997 0 0 0 4.0001,-3.99997 v -4.31873 c 9.5548,-5.53621 15.9998,-15.84364 15.9998,-27.68106 a 3.99997,3.99997 0 0 0 -3.9999,-3.99996 z m -16,29.3748 v 6.62495 h -23.9998 V 218.325 c -16.5423,-9.58369 -15.9998,-23.22235 -15.9998,-25.37484 h 55.9996 c 0,2.1825 0.4212,15.86113 -16,25.37484 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499909" />
<path
id="path5728-6-1"
d="m 1076.231,52.950005 c -17.6725,0 -32.0001,14.32752 -32.0001,32.00002 0,17.672495 14.3276,31.999975 32.0001,31.999975 17.6724,0 31.9999,-14.32748 31.9999,-31.999975 0,-17.6725 -14.3275,-32.00002 -31.9999,-32.00002 z m 0,59.999995 c -15.4388,0 -28.0001,-12.56124 -28.0001,-27.999975 0,-15.43877 12.5613,-28.00002 28.0001,-28.00002 15.4387,0 27.9999,12.56125 27.9999,28.00002 0,15.438735 -12.5612,27.999975 -27.9999,27.999975 z m 19.7987,-27.999975 3.535,-3.53503 c 0.39,-0.39 0.39,-1.02374 0,-1.41373 l -1.4138,-1.41376 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -3.535,3.535 -5.6575,-5.65624 2.8287,-2.82875 2.1213,2.12124 c 0.39,0.38999 1.0237,0.38999 1.4137,0 l 1.4138,-1.41373 c 0.39,-0.39002 0.39,-1.02376 0,-1.41376 l -2.1213,-2.12127 0.7075,-0.70748 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4137,-1.41376 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -0.7076,0.70752 -2.1212,-2.12124 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -1.4137,1.41372 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 2.1212,2.12124 -2.8287,2.82875 -5.6575,-5.65623 3.5362,-3.535 c 0.39,-0.39 0.39,-1.02373 0,-1.41376 l -1.4149,-1.41875 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -3.5362,3.53626 -3.5363,-3.53626 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -1.4138,1.41376 c -0.39,0.38999 -0.39,1.02373 0,1.41376 l 3.5362,3.535 -5.6562,5.65623 -2.8287,-2.82875 2.1212,-2.12124 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4138,-1.41375 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -2.1213,2.12127 -0.7075,-0.70752 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -1.4137,1.41376 c -0.39,0.39 -0.39,1.02374 0,1.41376 l 0.7074,0.70748 -2.1212,2.12124 c -0.39,0.39003 -0.39,1.02377 0,1.41376 l 1.4138,1.41376 c 0.39,0.39 1.0237,0.39 1.4137,0 l 2.1212,-2.12127 2.8288,2.82878 -5.6563,5.65624 -3.5362,-3.535 c -0.39,-0.38999 -1.0238,-0.38999 -1.4138,0 l -1.4175,1.41749 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 3.5363,3.53626 -3.5363,3.53623 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 1.4138,1.41376 c 0.39,0.38999 1.0237,0.38999 1.4137,0 l 3.5363,-3.535 5.6563,5.65623 -2.8288,2.82875 -2.1212,-2.12123 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -1.4138,1.41372 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 2.1213,2.12124 -0.7075,0.70751 c -0.39,0.390005 -0.39,1.023775 0,1.413765 l 1.4138,1.41373 c 0.39,0.39003 1.0237,0.39003 1.4137,0 l 0.7075,-0.70748 2.1212,2.12124 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4137,-1.41376 c 0.39,-0.39 0.39,-1.02373 0,-1.41373 l -2.1212,-2.121275 2.8287,-2.82872 5.6575,5.657505 -3.5362,3.53623 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.4138,1.41373 c 0.39,0.39003 1.0237,0.39003 1.4137,0 l 3.5388,-3.535 3.5362,3.53626 c 0.39,0.39 1.0238,0.39 1.4138,0 l 1.4137,-1.41376 c 0.39,-0.38999 0.39,-1.02373 0,-1.41372 l -3.5363,-3.53626 5.6576,-5.657515 2.8287,2.82876 -2.1213,2.121235 c -0.39,0.39 -0.39,1.02377 0,1.41376 l 1.4138,1.41376 c 0.39,0.39 1.0237,0.39 1.4137,0 l 2.1213,-2.12124 0.7075,0.70748 c 0.39,0.39 1.0237,0.39 1.4137,0 l 1.4138,-1.41376 c 0.39,-0.38999 0.39,-1.02373 0,-1.413725 l -0.7075,-0.70751 2.1212,-2.12124 c 0.39,-0.39 0.39,-1.02377 0,-1.41376 l -1.4137,-1.41376 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -2.1212,2.12127 -2.8288,-2.82875 5.6563,-5.65627 3.5362,3.535 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4138,-1.41373 c 0.3899,-0.39003 0.3899,-1.02377 0,-1.41376 z m -19.7987,-14.14252 5.6562,5.65627 -5.6562,5.6575 -5.6563,-5.65627 z m -14.1426,14.14252 5.6563,-5.6575 5.6575,5.6575 -5.6575,5.6575 z m 14.1426,14.14249 -5.6576,-5.65751 5.6576,-5.6575 5.6574,5.6575 z m 8.485,-8.48626 -5.6563,-5.65623 5.6575,-5.65627 5.6562,5.65627 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5739-2-6"
d="m 1604.3563,223.73742 1.775,-20.60001 c -5.2625,-4.13751 -8.8,-9.62502 -8.8,-16.18747 0.013,-11.78751 11.025,-22.00002 19.0125,-22.00002 2.7625,0 5,2.16252 5,4.81249 v 54.37498 c 0,2.65001 -2.2375,4.81253 -5,4.81253 h -7 c -2.85,0 -5.225,-2.33754 -4.9875,-5.2125 z m -3.0125,-36.78748 c 0,6.37497 4.025,10.68746 8.975,14.31247 l -1.975,22.825 c -0.036,0.46249 0.425,0.8625 1,0.8625 h 7 c 0.5375,0 1,-0.37512 1,-0.81252 v -54.37498 c 0,-0.43748 -0.4625,-0.81248 -1,-0.81248 -5.575,0 -15,8.22497 -15,18.00001 z m -9.9125,-17.77502 c -0.4125,-2.43748 -2.65,-4.225 -5.7625,-4.225 -1.4875,0 -3.0125,0.42502 -4.1625,1.40001 -1.0499,-0.8875 -2.5,-1.40001 -4.1625,-1.40001 -1.6625,0 -3.1125,0.51251 -4.1625,1.40001 -1.15,-0.97499 -2.675,-1.40001 -4.1625,-1.40001 -3.15,0 -5.35,1.81252 -5.7625,4.225 -0.2251,1.17498 -1.9125,10.57501 -1.9125,14.5125 0,6.36247 3.3375,11.45002 8.875,13.83749 l -1.425,26.35001 c -0.15,2.74997 2.0375,5.075 4.8,5.075 h 7.5 c 2.75,0 4.95,-2.31253 4.8,-5.075 l -1.425,-26.35001 c 5.525,-2.38747 8.875,-7.47502 8.875,-13.83749 0,-3.93749 -1.6875,-13.33752 -1.9125,-14.5125 z m -11.05,25.775 1.525,29.13749 c 0.024,0.46249 -0.3373,0.8625 -0.8125,0.8625 h -7.5 c -0.4625,0 -0.8375,-0.38759 -0.8125,-0.8625 l 1.525,-29.13749 c -5.3,-1.1 -8.9624,-5.37502 -8.9624,-11.2625 0,-3.71249 1.8499,-13.82502 1.8499,-13.82502 0.1999,-1.23749 3.5375,-1.21249 3.6875,0.0241 v 15.31248 c 0.1126,1.43748 3.525,1.4625 3.6875,0.0241 l 0.925,-15.36249 c 0.1999,-1.21249 3.4875,-1.21249 3.6875,0 l 0.925,15.36249 c 0.1625,1.42502 3.575,1.40001 3.6875,-0.0241 v -15.30001 c 0.15,-1.2375 3.4875,-1.26247 3.6875,-0.0241 0,0 1.85,10.11252 1.85,13.82502 0.013,5.85 -3.625,10.14999 -8.95,11.24998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499996" />
<path
id="path5750-2-5"
d="m 1841.9152,180.94994 c 3.3138,0 6.0001,-2.68627 6.0001,-6.00002 0,-3.31374 -2.6863,-6.00001 -6.0001,-6.00001 -3.3137,0 -6,2.68627 -6,6.00001 0,3.31375 2.6863,6.00002 6,6.00002 z m 0,-8.00001 c 1.1025,0 2,0.89747 2,1.99999 0,1.10252 -0.8975,1.99999 -2,1.99999 -1.1025,0 -2,-0.89747 -2,-1.99999 0,-1.10252 0.8975,-1.99999 2,-1.99999 z m 22,14.99998 v -1.99999 c 0,-0.5525 -0.4475,-0.99999 -1,-0.99999 h -54 c -0.5524,0 -1,0.44749 -1,0.99999 v 1.99999 c 0,0.5525 0.4476,1 1,1 h 5.8413 c -4.2438,5.72252 -6.8413,12.70252 -6.8413,19.20001 0,4.885 1.4775,8.83126 4,11.94126 v 6.85875 c 0,1.105 0.8951,1.99999 2.0001,1.99999 1.105,0 2,-0.89499 2,-1.99999 v -3.16751 c 5.0824,3.50373 12.1599,5.1675 19.9999,5.1675 7.8388,0 14.9175,-1.66377 20,-5.16624 v 3.16625 c 0,1.105 0.8951,1.99999 2.0001,1.99999 1.105,0 2,-0.89499 2,-1.99999 v -6.85875 c 2.5224,-3.11 3.9999,-7.05626 3.9999,-11.94126 0,-6.49749 -2.5975,-13.47749 -6.8412,-19.20001 h 5.8412 c 0.5525,0 1,-0.4475 1,-1 z m -3.9999,20.20001 c 0,15.1625 -16.7838,16.80002 -24.0001,16.80002 -7.2162,0 -24,-1.63752 -24,-16.80002 0,-6.53124 3.0176,-13.75249 7.955,-19.20001 h 32.0888 c 4.9387,5.44752 7.9563,12.66877 7.9563,19.20001 z m -32.0001,-35.19999 c 2.2088,0 4,-1.79124 4,-4.00002 0,-2.20875 -1.7912,-3.99999 -4,-3.99999 -2.2087,0 -3.9999,1.79124 -3.9999,3.99999 0,2.20878 1.7912,4.00002 3.9999,4.00002 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500001" />
<path
id="path5761-9-3"
d="m 1483.8367,73.757113 0.84,-2.5214 v 0 l 6.0957,-18.28571 h -57.1427 a 11.428558,11.428558 0 0 0 -11.4286,11.42856 v 14.85712 a 1.1428558,1.1428558 0 0 0 1.1429,1.14287 h 2.2857 a 1.1428558,1.1428558 0 0 0 1.1428,-1.14287 v -14.85712 a 6.8571343,6.8571343 0 0 1 6.8572,-6.85711 h 3.8099 l 4.5714,13.71426 v 0 l 0.8643,2.59426 c -7.0442,5.67715 -11.5314,14.21856 -11.5314,23.77999 0,7.352827 2.6601,12.109977 7.0914,16.815687 a 8.1685614,8.1685614 0 0 0 5.9329,2.52429 h 37.9528 a 8.1542755,8.1542755 0 0 0 5.9214,-2.51429 c 4.4286,-4.70714 7.0986,-9.46286 7.1015,-16.817117 0,-9.47286 -4.3758,-18.12141 -11.5072,-23.86142 z m -41.5785,-16.23566 h 42.1714 l -4.5714,13.71426 h -33.0286 z m 5.45,18.28568 h 31.3857 c 3,2.41714 7.8114,6.01142 10.3571,13.71426 h -52.1942 c 2.5871,-7.71427 7.5457,-11.37283 10.4514,-13.71426 z m 37.2071,35.492797 a 3.5599955,3.5599955 0 0 1 -2.5943,1.07858 h -37.9528 a 3.5714241,3.5714241 0 0 1 -2.6043,-1.08858 c -4.2628,-4.52428 -5.8485,-8.23283 -5.8485,-13.679967 a 25.471396,25.471396 0 0 1 0.2712,-3.51716 h 54.3185 a 25.781397,25.781397 0 0 1 0.2672,3.5243 c 0,5.445697 -1.5886,9.154267 -5.8572,13.682827 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.14285697" />
<path
id="path5772-4-4"
d="m 1333.2158,93.949125 c -1.6562,0 -2.9999,1.34246 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65749 -1.3438,-2.99995 -3,-2.99995 z m -20.9996,-16.99966 c 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99992 3,2.99992 1.6562,0 2.9999,-1.34371 2.9999,-2.99992 z m 1,16.99966 c -1.6562,0 -2.9999,1.34246 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65749 -1.3438,-2.99995 -3,-2.99995 z m 11.9998,-11.99978 c -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99995 3,2.99995 1.6562,0 2.9999,-1.34374 2.9999,-2.99995 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 z m 27.8145,2.97744 c -8.7461,-0.10616 -15.8085,-7.21111 -15.8085,-15.98218 -8.7711,0 -15.8747,-7.0611 -15.9822,-15.80595 -0.8275,-0.1262 -1.6612,-0.18865 -2.4912,-0.18865 -2.5849,0 -5.1474,0.60625 -7.4736,1.79122 l -8.6411,4.40243 a 16.527304,16.527304 0 0 0 -7.2236,7.22609 l -4.3874,8.60983 a 16.580302,16.580302 0 0 0 -1.6025,10.11857 l 1.51,9.53483 a 16.569053,16.569053 0 0 0 4.6449,9.119795 l 6.8461,6.84486 a 16.50418,16.50418 0 0 0 9.0886,4.63243 l 9.5886,1.51748 c 0.8574,0.13639 1.7199,0.20246 2.5799,0.20246 2.59,0 5.1562,-0.61001 7.4861,-1.79748 l 8.6411,-4.40242 a 16.527304,16.527304 0 0 0 7.2236,-7.22608 l 4.3874,-8.609845 c 1.57,-3.0787 2.1262,-6.57112 1.6138,-9.98733 z m -5.1774,8.16985 -4.3875,8.611085 c -1.2099,2.37496 -3.1037,4.26866 -5.4761,5.47739 l -8.6411,4.40243 c -1.7475,0.88995 -3.7087,1.36118 -5.6699,1.36118 -0.6512,0 -1.3087,-0.0512 -1.9537,-0.1538 l -9.5873,-1.51746 c -2.625,-0.41624 -5.0062,-1.62996 -6.8861,-3.50992 l -6.8461,-6.84487 c -1.8875,-1.886215 -3.105,-4.278665 -3.5225,-6.916135 l -1.5099,-9.53354 c -0.4188,-2.63997 0,-5.29489 1.2149,-7.6761 l 4.3874,-8.60983 c 1.21,-2.37496 3.1037,-4.26866 5.4762,-5.47739 l 8.6398,-4.40368 c 1.4162,-0.72123 2.975,-1.16624 4.5637,-1.30747 1.6437,7.89361 7.9798,14.11846 15.9059,15.60721 1.4887,7.92733 7.7136,14.26346 15.6085,15.90592 -0.1374,1.59123 -0.58,3.14243 -1.3162,4.58491 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249976" />
<path
id="path5794-0-3"
d="m 1980.6635,52.950005 c -16.558,0 -31.0067,10.95333 -39.0523,20.33331 l -16.0613,-14.27832 c -2.2371,-1.84166 -5.5619,0.11165 -4.999,2.92669 l 4.4492,23.01832 -4.4508,23.020035 c -0.5613,2.81332 2.7602,4.76663 4.9922,2.93166 l 16.0615,-14.275025 c 8.0521,9.370005 22.5091,20.323325 39.0605,20.323325 25.2909,0 45.7931,-25.600005 45.7931,-31.999995 0,-6.39999 -20.5022,-32 -45.7931,-32 z m 0,58.666685 c -14.1407,0 -27.3755,-9.54501 -35.0452,-18.478325 l -3.3695,-3.92501 c -5.1646,4.24667 -2.0268,1.47999 -15.2467,13.601665 3.6029,-18.981675 3.1079,-16.395005 3.4059,-17.865015 -0.298,-1.46835 0.1985,1.12166 -3.4043,-17.86501 13.2464,12.14167 10.1004,9.36833 15.2467,13.60336 l 3.3695,-3.92503 c 7.6699,-8.93333 20.8964,-18.48001 35.0436,-18.48001 21.226,0 39.0904,21.08168 40.46,26.66669 -1.3696,5.58501 -19.234,26.666685 -40.46,26.666685 z m -3.6063,-41.725015 -1.8728,-1.885 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -14.0214,14.11 a 1.3246526,1.333334 0 0 0 0,1.88499 l 1.8728,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 14.0231,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 18.5451,2.66667 -1.8727,-1.88499 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -24.6188,24.77666 a 1.3246526,1.333334 0 0 0 0,1.885 l 1.8729,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 24.6203,-24.77001 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 6.0752,11.44835 a 1.3246526,1.333334 0 0 0 -1.8745,0 l -14.0214,14.11 a 1.3246526,1.333334 0 0 0 0,1.884995 l 1.8726,1.88499 a 1.3246526,1.333334 0 0 0 1.873,0 L 2003.55,87.783345 a 1.3246526,1.333334 0 0 0 0,-1.88666 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16612327" />
<path
id="path5805-7-7"
d="m 1719.3438,94.950015 c -1.1,0 -2,0.9 -2,1.99998 0,1.1 0.9,1.99999 2,1.99999 1.0999,0 2,-0.89999 2,-1.99999 0,-1.09998 -0.9001,-1.99998 -2,-1.99998 z m -4.0001,-31.00001 c -1.0999,0 -1.9999,0.9 -1.9999,2.00002 0,1.1 0.9,1.99999 1.9999,1.99999 1.1001,0 2.0001,-0.89999 2.0001,-1.99999 0,-1.10002 -0.9,-2.00002 -2.0001,-2.00002 z m 4.0001,23.00001 c -1.1,0 -2,0.9 -2,1.99999 0,1.1 0.9,1.99998 2,1.99998 1.0999,0 2,-0.89998 2,-1.99998 0,-1.09999 -0.9001,-1.99999 -2,-1.99999 z m 0,-7.99999 c -1.1,0 -2,0.9 -2,1.99998 0,1.1 0.9,2.00003 2,2.00003 1.0999,0 2,-0.90003 2,-2.00003 0,-1.09998 -0.9001,-1.99998 -2,-1.99998 z m 4,-15.00002 c -1.1,0 -2,0.9 -2,2.00002 0,1.1 0.9,1.99999 2,1.99999 1.1,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.9,-2.00002 -2,-2.00002 z m 24,19.00003 c 0,-5.51253 -4.4875,-10.00002 -10,-10.00002 h -4.95 c 1.2874,-2.88749 1.575,-6.17501 0.725,-9.44999 -1.2375,-4.84999 -5.175,-8.79998 -10,-10.06251 -1.25,-0.32487 -2.5125,-0.48751 -3.775,-0.48751 -3.8125,0 -7.3875,1.48752 -10.075,4.17501 -2.6875,2.6875 -4.175,6.26249 -4.175,10.07501 0,1.99999 0.425,3.96249 1.225,5.74999 h -4.9751 c -5.5124,0 -9.9999,4.48749 -9.9999,10.00002 0,5.51246 4.4875,9.99998 9.9999,9.99998 h 3.4877 l -7.2501,7.700005 c -3.475,4.27498 -2.825,10.58749 1.4499,14.06247 1.7876,1.4375 4.0252,2.23751 6.3126,2.23751 3.025,0 5.8625,-1.35001 7.7626,-3.7 l 6.2374,-6.44997 6.2375,6.44997 c 1.9,2.34999 4.7375,3.7 7.7625,3.7 2.2875,0 4.5249,-0.80001 6.2999,-2.23751 4.2751,-3.47498 4.925,-9.78749 1.4501,-14.06247 l -7.25,-7.700005 h 3.5 c 5.5125,0 10,-4.48752 10,-9.99998 z m -17.925,10.88749 8.575,9.324985 c 2.0875,2.57501 1.7,6.35 -0.875,8.4375 -1.1126,0.89999 -2.45,1.34998 -3.775,1.34998 -1.75,0 -3.475,-0.7625 -4.6625,-2.21248 l -6.2375,-6.44999 c -0.8,-0.98751 -1.95,-1.47501 -3.1,-1.47501 -1.15,0 -2.2999,0.4875 -3.1,1.47501 l -6.2375,6.44999 c -1.1875,1.46249 -2.9124,2.21248 -4.6625,2.21248 -1.325,0 -2.6625,-0.43748 -3.775,-1.34998 -2.575,-2.0875 -2.9625,-5.86249 -0.875,-8.4375 l 8.575,-9.324985 c 1.5875,-1.9625 0.1999,-4.88752 -2.325,-4.88752 h -5.6001 c -3.3125,0 -5.9999,-2.68749 -5.9999,-5.99997 0,-3.31251 2.6874,-6.00001 5.9999,-6.00001 h 10.2001 c 1.1625,0 1.775,-1.4375 0.9125,-2.21252 -2.0626,-1.86248 -3.3625,-4.53748 -3.3625,-7.53748 0,-5.6625 4.5875,-10.25001 10.25,-10.25001 0.9,0 1.825,0.11255 2.7625,0.3625 3.45,0.9 6.2625,3.725 7.1375,7.18748 1.0374,4.06251 -0.3375,7.83754 -3,10.23751 -0.8625,0.78752 -0.2748,2.22502 0.9,2.22502 h 10.2 c 3.3124,0 6,2.6875 6,5.99997 0,3.31251 -2.6876,6 -6,6 h -5.5876 c -2.5249,-0.0134 -3.9249,2.91253 -2.3374,4.87503 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499995" />
<path
id="path5627-3-2-2"
d="m 1305.216,400.94979 c -2.2188,0 -4,-1.78128 -4,-4 0,-3.87501 4,-2.87501 4,-8.00002 1.5,0 4,3.68752 4,7 0,3.31251 -1.7813,5.00002 -4,5.00002 z m 16,0 c -2.2187,0 -4,-1.78128 -4,-4 0,-3.87501 4,-2.87501 4,-8.00002 1.5,0 4,3.68752 4,7 0,3.31251 -1.7813,5.00002 -4,5.00002 z m 16,0 c -2.2188,0 -4,-1.78128 -4,-4 0,-3.87501 4,-2.87501 4,-8.00002 1.5,0 4,3.68752 4,7 0,3.31251 -1.7812,5.00002 -4,5.00002 z m 6,20.00001 h -4 v -18.00003 h -4 v 18.00003 h -12 v -18.00003 h -4 v 18.00003 h -12 v -18.00003 h -4 v 18.00003 h -4 c -3.3125,0 -6,2.68748 -6,5.99998 v 26 h 56 v -26 c 0,-3.3125 -2.6875,-5.99998 -6,-5.99998 z m 2,27.99998 h -48 v -9.00536 c 2.0277,-1.18488 2.991,-2.99463 5.3437,-2.99463 3.4939,0 3.9067,4 9.3438,4 5.3554,0 5.9021,-4 9.3125,-4 3.5185,0 3.9001,4 9.3437,4 5.4197,0 5.8459,-4 9.3438,-4 2.311,0 3.2806,1.80938 5.3125,2.99437 z m 0,-14.04675 c -1.2032,-0.98425 -2.6521,-1.95324 -5.3125,-1.95324 -5.4288,0 -5.8531,4 -9.3438,4 -3.4618,0 -3.9317,-4 -9.3437,-4 -5.3553,0 -5.9022,4 -9.3125,4 -3.5185,0 -3.9003,-4 -9.3438,-4 -2.6828,0 -4.1376,0.97177 -5.3437,1.95723 v -7.95724 c 0,-1.10273 0.8972,-1.99998 2,-1.99998 h 44 c 1.1028,0 2,0.89725 2,1.99998 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5640-5-1-1"
d="m 1462.7725,438.94978 c -1.6576,0 -3,1.34249 -3,3 0,1.65624 1.3424,3.00001 3,3.00001 1.6575,0 3,-1.34377 3,-3.00001 0,-1.65751 -1.3425,-3 -3,-3 z m 16.7812,-6.99625 11.2188,-43.00376 h -58 c -3.3088,0 -6,2.69126 -6,6.00006 v 19.99996 c 0,3.30875 2.6912,5.99999 6,5.99999 h 12.7825 l 0.9412,10.82 c -4.5087,1.72752 -7.7237,6.06375 -7.7237,11.17999 v 6.00001 c 0,2.20872 1.7912,4 4,4 h 40 c 2.2087,0 3.9999,-1.79128 3.9999,-4 v -6.00001 c 0,-4.92498 -2.9737,-9.14752 -7.2187,-10.99624 z m -46.7812,-15.00375 c -1.1013,0 -2,-0.89625 -2,-1.99999 v -19.99996 c 0,-1.10376 0.8987,-2.00001 2,-2.00001 h 10.3475 l 2.0875,23.99996 z m 52.8224,-23.99996 -2.0874,7.99997 h -19.735 c -0.5526,0 -1,0.44749 -1,1.00002 v 1.99998 c 0,0.55253 0.4474,1 1,1 h 18.6924 l -2.0874,7.99999 h -16.605 c -0.5526,0 -1,0.44752 -1,0.99999 v 2.00002 c 0,0.55252 0.4474,0.99999 1,0.99999 h 15.5612 l -3.6525,14 H 1450.44 l -3.305,-37.99996 z m -2.8224,55.99996 h -40 v -6.00001 c 0,-4.41124 3.5887,-7.99999 8,-7.99999 h 23.9999 c 4.4113,0 8.0001,3.58875 8.0001,7.99999 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249999" />
<path
id="path5651-5-5-4"
d="m 1733.1206,408.94978 h -17.5341 c -0.6888,0 -1.2524,-0.67498 -1.2524,-1.5 v -0.99999 c 0,-0.825 0.5636,-1.5 1.2524,-1.5 h 17.5341 c 0.6889,0 1.2525,0.675 1.2525,1.5 v 0.99999 c 0,0.82502 -0.5636,1.5 -1.2525,1.5 z m 1.2525,6.5 v -1 c 0,-0.82502 -0.5636,-1.49997 -1.2525,-1.49997 h -17.5341 c -0.6888,0 -1.2524,0.67495 -1.2524,1.49997 v 1 c 0,0.82499 0.5636,1.5 1.2524,1.5 h 17.5341 c 0.6889,0 1.2525,-0.67501 1.2525,-1.5 z m 6.7527,33.49998 h 0.3444 c 0.6889,0 1.2525,0.675 1.2525,1.5 v 0.99999 c 0,0.82503 -0.5636,1.50003 -1.2525,1.50003 h -37.1557 c -4.6132,0 -8.3496,-4.475 -8.3496,-10.00001 V 398.9498 c 0,-5.52503 3.7364,-10.00003 8.3496,-10.00003 h 35.9033 c 1.3881,0 2.5049,1.33752 2.5049,3.00003 v 45.99998 c 0,1.25 -0.6471,2.32498 -1.5552,2.77498 -0.3757,2.01253 -0.4592,5.7 -0.042,8.225 z m -31.8015,-11.99997 h 30.0585 v -44 h -30.0585 z m -10.0195,1.99996 c 1.3985,-1.24997 3.1311,-1.99996 5.0097,-1.99996 h 1.6699 v -44 h -1.6699 c -2.7658,0 -5.0097,2.68751 -5.0097,6.00001 z m 38.8569,10.00001 c -0.3237,-2.55 -0.3027,-5.64997 0,-8 h -33.8472 c -6.6797,0 -6.6797,8 0,8 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.11422013" />
<path
id="path5662-5-0-6"
d="m 1993.4717,392.94974 a 11.896253,11.896253 0 0 0 -7.2163,2.46753 c -2.9175,-3.90501 -7.5338,-6.4675 -12.7838,-6.4675 -5.25,0 -9.8662,2.56249 -12.7837,6.4675 a 11.945003,11.945003 0 0 0 -19.2163,9.53249 c 0,5.2175 8.0001,28.00003 8.0001,28.00003 v 16.00002 a 4.0000013,4.0000013 0 0 0 4,3.99997 h 40 a 4.0000013,4.0000013 0 0 0 4,-3.99997 v -16.00002 c 0,0 8,-22.78253 8,-28.00003 a 12.000003,12.000003 0 0 0 -12,-12.00002 z m -38.0001,54.00006 v -10.00001 h 36.0001 v 10.00001 z m 36.3426,-16.00002 h -3.6938 l 1.3513,-16.84377 a 1.0000003,1.0000003 0 0 0 -0.9162,-1.07622 l -2,-0.16007 h -0.081 a 1.0000003,1.0000003 0 0 0 -1,0.92122 l -1.375,17.16252 h -8.7101 v -17.00374 a 1.0000003,1.0000003 0 0 0 -1,-0.99999 h -2 a 1.0000003,1.0000003 0 0 0 -1.0001,0.99999 v 16.99998 h -8.5523 l -1.3751,-17.16246 a 1.0000003,1.0000003 0 0 0 -1.0001,-0.92128 h -0.081 l -1.9999,0.16007 a 1.0000003,1.0000003 0 0 0 -0.9163,1.07625 l 1.3588,16.8475 h -3.6938 c -3.6574,-10.40249 -7.5999,-23.33252 -7.6574,-26.00002 a 5.9462517,5.9462517 0 0 1 9.59,-4.74999 l 4.815,3.6525 3.6174,-4.84124 c 1.9275,-2.58125 4.835,-4.06125 7.9775,-4.06125 3.1425,0 6.05,1.48 7.9775,4.05876 l 3.6176,4.84124 4.815,-3.65001 a 5.9462517,5.9462517 0 0 1 9.59,4.74001 c -0.058,2.67748 -4,15.60751 -7.6575,26.01 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500003" />
<path
id="path5673-3-8-1"
d="m 1615.9579,301.64985 c -1.6875,-1.42499 -3.825,-2.2 -6.025,-2.2 -2.7375,0 -5.3125,1.18748 -7.1125,3.26249 l -2.55,-11.12502 c -1.9625,-8.62499 -9.45,-14.63748 -18.2,-14.63748 -1.4125,0 -2.8375,0.16241 -4.225,0.4875 -10.05,2.33751 -16.3375,12.50002 -14.025,22.63751 l 5.575,24.375 c 0.05,0.23743 0.1375,0.46249 0.2,0.70001 -1.175,0.38748 -2.25,1.47497 -2.25,2.79998 v 10 c 0,1.66251 1.3375,3.00001 2.975,3.00001 h 37.8875 c 1.6375,0 3.15,-1.3375 3.15,-3.00001 v -10 c 0,-1.425 -1.175,-2.55001 -2.4875,-2.86248 l 8.3,-10.05003 c 3.325,-4.02499 2.775,-10.02498 -1.2125,-13.38748 z m -8.6125,35.3 h -36 v -8.00002 h 36 z m 6.775,-24.475 -10.3125,12.47501 h -30.1 c -0.15,-0.46252 -0.3375,-0.92501 -0.45,-1.41253 l -5.575,-24.37499 c -1.825,-7.98748 3.125,-15.98751 11.05,-17.83751 1.1,-0.25012 2.2125,-0.38748 3.325,-0.38748 6.9,0 12.8,4.7375 14.35,11.53751 l 3.4375,15.04998 0.9,3.92501 2.5625,-3.1 2.425,-2.9375 c 1.0375,-1.26252 2.5625,-1.97499 4.1875,-1.97499 1.275,0 2.5,0.44998 3.4875,1.27498 2.325,1.94998 2.6375,5.42501 0.7125,7.76251 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5684-1-6-3"
d="m 1622.3438,412.94978 h -14.1712 l 13.3413,-13.34122 c 3.0137,-3.01376 2.1887,-8.09379 -1.6226,-10.00003 a 6.2446252,6.2446252 0 0 0 -2.7912,-0.65876 c -1.3275,0 -2.645,0.42251 -3.7475,1.24875 l -30.335,22.75126 h -22.6738 c -0.5525,0 -1,0.44749 -1,1.00002 v 2.00001 c 0,0.55248 0.4475,0.99997 1,0.99997 h 3 v 4.00002 c 0,10.17749 6.345,18.85376 15.2863,22.34375 -1.595,2.09748 -2.7125,4.57874 -3.1151,7.30498 -0.1812,1.22878 0.7476,2.35125 1.9901,2.35125 h 27.6775 c 1.2425,0 2.1712,-1.12125 1.99,-2.35125 -0.4013,-2.72624 -1.5188,-5.20874 -3.115,-7.30498 8.9412,-3.48999 15.2862,-12.16626 15.2862,-22.34375 v -4.00002 h 3 c 0.5525,0 1,-0.44749 1,-0.99997 v -2.00001 c 0,-0.55253 -0.4475,-1.00002 -1,-1.00002 z m -6.5925,-19.55125 c 2.1975,-1.64751 4.9013,1.41375 2.9338,3.38127 l -16.1688,16.16998 h -12.8325 z m -0.4075,27.55127 c 0,8.28874 -5.0012,15.59624 -12.74,18.61749 l -4.9387,1.92749 3.21,4.22 c 0.76,1.00001 1.3587,2.09375 1.7737,3.235 h -22.6087 c 0.415,-1.14125 1.0125,-2.23499 1.7737,-3.235 l 3.21,-4.22 -4.9387,-1.92749 c -7.74,-3.02125 -12.7413,-10.32875 -12.7413,-18.61749 v -4.00002 h 48 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5695-7-5-0"
d="m 1208.2309,276.94983 h -40 a 8.0000001,8.0000001 0 0 0 -8,7.99999 v 52.00003 a 4.0000002,4.0000002 0 0 0 4,4 h 48 a 4.0000002,4.0000002 0 0 0 4,-4 v -52.00003 a 8.0000001,8.0000001 0 0 0 -8,-7.99999 z m 4,60.00002 h -48 v -40.00001 h 48 z m 0,-44 h -48 v -8.00003 a 4.0000002,4.0000002 0 0 1 4,-3.99998 h 40 a 4.0000002,4.0000002 0 0 1 4,3.99998 z m -6,-8.00003 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -20,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m -8,0 a 2.0000001,2.0000001 0 1 0 2,2 2.0000001,2.0000001 0 0 0 -2,-2 z m 0,48.00003 h 36 a 2.0000001,2.0000001 0 0 0 2,-2.00001 v -27.99999 a 2.0000001,2.0000001 0 0 0 -2,-2 h -36 a 2.0000001,2.0000001 0 0 0 -2,2 v 27.99999 a 2.0000001,2.0000001 0 0 0 2,2.00001 z m 2,-28 h 32 v 23.99998 h -32 z m 26,3.99999 h -20 a 2.0000055,2.0000055 0 0 0 0,4.00001 h 20 a 2.0000055,2.0000055 0 0 0 0,-4.00001 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.125" />
<path
id="path5706-9-5-9"
d="m 2013.5532,304.32153 c -6.3184,-16.42668 -22.26,-27.37169 -40.0816,-27.37169 -17.8216,0 -33.765,10.94501 -40.0783,27.37169 -7.0884,0.27334 -7.9217,6.23499 -7.9217,7.65166 a 7.6816659,7.6816659 0 0 0 7.7032,7.64333 c 0.4535,0 0.7951,-0.0999 1.2201,-0.12668 l 5.41,16.22001 a 7.6666659,7.6666659 0 0 0 7.2717,5.24 h 52.79 a 7.6666659,7.6666659 0 0 0 7.2716,-5.24164 l 5.405,-16.21837 c 0.4234,0.0284 0.7667,0.12668 1.22,0.12668 a 7.6816659,7.6816659 0 0 0 7.7083,-7.64333 c 0,-1.46168 -0.8583,-7.35667 -7.9183,-7.65166 z m -11.4733,29.69666 a 2.3333332,2.3333332 0 0 1 -2.2133,1.59832 h -52.7917 a 2.3333332,2.3333332 0 0 1 -2.2134,-1.59666 l -5.2099,-15.63166 a 21.178333,21.178333 0 0 0 4.8665,-2.78166 c 1.5152,-1.12332 2.1001,-1.57168 4.2351,0.0108 2.0201,1.5 5.4117,4.00001 11.3233,4.00001 5.9118,0 9.3067,-2.51002 11.3334,-4.01334 1.5117,-1.11834 2.085,-1.56668 4.2017,0.008 2.025,1.5 5.41,4 11.3216,4 5.9117,0 9.3017,-2.51001 11.3233,-4.01001 1.8134,-1.34498 2.3534,-1.36667 4.1867,0 a 21.151665,21.151665 0 0 0 4.8466,2.78171 l -5.2099,15.63333 z m 11.6867,-19.73502 c -4.1568,0 -6.365,-1.63998 -8.1517,-2.96832 -4.9517,-3.66666 -8.3434,-1.615 -10.5367,0.0108 -1.7733,1.31831 -3.9833,2.95833 -8.145,2.95833 -4.1616,0 -6.3699,-1.64002 -8.1566,-2.9617 -5.3033,-3.94665 -8.9167,-1.2083 -10.55,0 -1.7766,1.32168 -3.9851,2.9617 -8.1518,2.9617 -4.1666,0 -6.375,-1.64002 -8.1666,-2.9617 -1.1299,-0.8333 -4.9517,-4.16664 -10.5783,0 -1.7801,1.31668 -4,2.9567 -8.1666,2.9567 a 2.31167,2.31167 0 1 1 0,-4.62334 c 0.8982,0 1.8466,0.0801 4.4583,-1.36167 8.8882,-25.65332 33.1366,-26.01 35.85,-26.01 2.6667,0 26.9534,0.33333 35.8333,25.99998 2.6249,1.485 3.4283,1.38502 4.4633,1.38502 a 2.3116666,2.3116666 0 1 1 0,4.62331 z m -55.1017,-23.71832 a 2.6783329,2.6783329 0 0 0 -3.5783,1.19333 l -2.6668,5.33334 a 2.6666664,2.6666664 0 0 0 1.1934,3.57832 c 1.5901,0.78336 3.0601,-0.16676 3.5782,-1.19331 l 2.6668,-5.33333 a 2.6666664,2.6666664 0 0 0 -1.1933,-3.57835 z m 33.19,1.19168 a 2.6672561,2.6672561 0 1 0 -4.7716,2.38499 l 2.6666,5.33333 c 0.5167,1.02834 1.9884,1.97668 3.5783,1.19334 a 2.6666664,2.6666664 0 0 0 1.1933,-3.57835 z m -18.3833,-1.47333 a 2.6666664,2.6666664 0 0 0 -2.6667,2.66667 v 5.3333 a 2.6667,2.6667 0 1 0 5.3334,0 v -5.3333 a 2.6666664,2.6666664 0 0 0 -2.6667,-2.66667 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16666667" />
<path
id="path5717-1-3-4"
d="m 1196.1683,407.93759 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 1.9999 a 0.99249264,0.99249264 0 0 0 1.0001,-1.02497 c -0.2627,-5.26248 -2.4125,-9.16246 -5.1999,-11.93744 -2.3001,-2.33746 -2.6376,-4.77496 -2.7376,-6.11246 a 0.98374271,0.98374271 0 0 0 -1,-0.88749 l -2,0.0119 a 0.99999255,0.99999255 0 0 0 -0.9874,1.08749 13.182401,13.182401 0 0 0 3.9,8.71244 c 2.1624,2.14997 3.7999,5.08743 4.0249,9.1749 z m -13.9374,0 a 1.0149924,1.0149924 0 0 0 1,0.97499 h 2 a 0.99249264,0.99249264 0 0 0 1,-1.02497 c -0.2625,-5.26248 -2.4125,-9.16246 -5.2,-11.93744 -2.2875,-2.33746 -2.6249,-4.77496 -2.7249,-6.11246 a 0.98749265,0.98749265 0 0 0 -1.0125,-0.88749 l -2,0.0119 a 0.99999255,0.99999255 0 0 0 -0.9875,1.08749 c 0.125,1.86245 0.65,5.44994 3.9,8.71244 2.1612,2.14997 3.7987,5.08743 4.0249,9.1749 z m 33.9998,5.01246 h -55.9996 a 3.99997,3.99997 0 0 0 -4,3.99997 c 0,11.8374 6.4449,22.14485 15.9999,27.68105 v 4.31874 a 3.99997,3.99997 0 0 0 3.9999,3.99997 h 23.9998 a 3.99997,3.99997 0 0 0 4.0001,-3.99997 v -4.31874 c 9.5548,-5.5362 15.9998,-15.84365 15.9998,-27.68105 a 3.99997,3.99997 0 0 0 -3.9999,-3.99997 z m -16,29.3748 v 6.62496 h -23.9998 v -6.62496 c -16.5423,-9.58368 -15.9998,-23.22234 -15.9998,-25.37483 h 55.9996 c 0,2.18249 0.4212,15.86113 -16,25.37483 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499909" />
<path
id="path5728-1-8-8"
d="m 1458.7725,276.94984 c -17.6725,0 -32,14.32752 -32,32.00002 0,17.67248 14.3275,31.99999 32,31.99999 17.6725,0 32,-14.32751 32,-31.99999 0,-17.6725 -14.3275,-32.00002 -32,-32.00002 z m 0,60.00001 c -15.4388,0 -28,-12.56125 -28,-27.99999 0,-15.43877 12.5612,-28.00002 28,-28.00002 15.4387,0 28,12.56125 28,28.00002 0,15.43874 -12.5613,27.99999 -28,27.99999 z m 19.7987,-27.99999 3.535,-3.53503 c 0.39,-0.39 0.39,-1.02374 0,-1.41373 l -1.4137,-1.41376 c -0.39,-0.38999 -1.0238,-0.38999 -1.4138,0 l -3.535,3.535 -5.6575,-5.65624 2.8288,-2.82875 2.1212,2.12124 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4137,-1.41373 c 0.39,-0.39002 0.39,-1.02376 0,-1.41376 l -2.1212,-2.12127 0.7075,-0.70748 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4138,-1.41376 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -0.7075,0.70752 -2.1213,-2.12124 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -1.4137,1.41372 c -0.3901,0.39 -0.3901,1.02377 0,1.41376 l 2.1211,2.12124 -2.8287,2.82875 -5.6575,-5.65623 3.5363,-3.535 c 0.39,-0.39 0.39,-1.02373 0,-1.41376 l -1.415,-1.41875 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -3.5362,3.53626 -3.5363,-3.53626 c -0.39,-0.39 -1.0237,-0.39 -1.4137,0 l -1.4138,1.41376 c -0.39,0.38999 -0.39,1.02373 0,1.41376 l 3.5363,3.535 -5.6563,5.65623 -2.8287,-2.82875 2.1212,-2.12124 c 0.39,-0.38999 0.39,-1.02376 0,-1.41376 l -1.4137,-1.41375 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -2.1212,2.12127 -0.7076,-0.70752 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -1.4137,1.41376 c -0.39,0.39 -0.39,1.02374 0,1.41376 l 0.7075,0.70748 -2.1213,2.12124 c -0.39,0.39003 -0.39,1.02377 0,1.41376 l 1.4138,1.41376 c 0.39,0.39 1.0237,0.39 1.4137,0 l 2.1213,-2.12127 2.8287,2.82878 -5.6562,5.65624 -3.5363,-3.535 c -0.39,-0.38999 -1.0237,-0.38999 -1.4137,0 l -1.4175,1.41749 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 3.5362,3.53626 -3.5362,3.53623 c -0.39,0.39002 -0.39,1.02376 0,1.41376 l 1.4137,1.41376 c 0.39,0.38999 1.0238,0.38999 1.4137,0 l 3.5363,-3.535 5.6563,5.65623 -2.8288,2.82874 -2.1212,-2.12121 c -0.39,-0.39 -1.0238,-0.39 -1.4138,0 l -1.4137,1.41372 c -0.39,0.38999 -0.39,1.02375 0,1.41375 l 2.1212,2.12124 -0.7075,0.70752 c -0.39,0.39 -0.39,1.02375 0,1.41375 l 1.4138,1.41372 c 0.39,0.39005 1.0237,0.39005 1.4137,0 l 0.7075,-0.70747 2.1212,2.12125 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4138,-1.41378 c 0.39,-0.38999 0.39,-1.02372 0,-1.41372 l -2.1213,-2.12127 2.8287,-2.82871 5.6576,5.6575 -3.5363,3.53621 c -0.39,0.39 -0.39,1.02378 0,1.41378 l 1.4138,1.41372 c 0.39,0.39002 1.0237,0.39002 1.4137,0 l 3.5388,-3.53499 3.5362,3.53626 c 0.39,0.38999 1.0238,0.38999 1.4138,0 l 1.4137,-1.41378 c 0.39,-0.38999 0.39,-1.02372 0,-1.41372 l -3.5362,-3.53626 5.6575,-5.65751 2.8287,2.82877 -2.1212,2.12122 c -0.39,0.39002 -0.39,1.02378 0,1.41377 l 1.4137,1.41375 c 0.39,0.39002 1.0238,0.39002 1.4138,0 l 2.1212,-2.12122 0.7075,0.70747 c 0.39,0.39 1.0237,0.39 1.4137,0 l 1.4138,-1.41377 c 0.39,-0.38997 0.39,-1.02373 0,-1.4137 l -0.7075,-0.70752 2.1213,-2.12124 c 0.39,-0.39 0.39,-1.02378 0,-1.41375 l -1.4138,-1.41378 c -0.39,-0.38999 -1.0237,-0.38999 -1.4138,0 l -2.1212,2.12127 -2.8287,-2.82874 5.6562,-5.65627 3.5363,3.535 c 0.39,0.38999 1.0237,0.38999 1.4137,0 l 1.4138,-1.41373 c 0.39,-0.39003 0.39,-1.02377 0,-1.41376 z m -19.7987,-14.14252 5.6562,5.65627 -5.6562,5.6575 -5.6563,-5.65627 z m -14.1425,14.14252 5.6562,-5.6575 5.6575,5.6575 -5.6575,5.6575 z m 14.1425,14.14249 -5.6575,-5.65751 5.6575,-5.6575 5.6575,5.6575 z m 8.485,-8.48626 -5.6563,-5.65623 5.6575,-5.65627 5.6563,5.65627 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499999" />
<path
id="path5739-8-9-8"
d="m 1848.9276,447.73728 1.7751,-20.60001 c -5.2626,-4.1375 -8.8,-9.62501 -8.8,-16.18747 0.013,-11.78751 11.0249,-22.00003 19.0124,-22.00003 2.7625,0 5,2.16252 5,4.81248 v 54.375 c 0,2.65001 -2.2375,4.81253 -5,4.81253 h -7 c -2.8499,0 -5.2249,-2.33754 -4.9875,-5.2125 z m -3.0125,-36.78748 c 0,6.37497 4.0251,10.68747 8.975,14.31247 l -1.9749,22.825 c -0.036,0.46249 0.4249,0.86251 0.9999,0.86251 h 7 c 0.5376,0 1,-0.37512 1,-0.81253 v -54.375 c 0,-0.43746 -0.4624,-0.81248 -1,-0.81248 -5.5749,0 -15,8.22499 -15,18.00003 z m -9.9125,-17.77503 c -0.4125,-2.43747 -2.6499,-4.225 -5.7625,-4.225 -1.4874,0 -3.0125,0.42503 -4.1625,1.40002 -1.0499,-0.88752 -2.5,-1.40002 -4.1625,-1.40002 -1.6625,0 -3.1125,0.5125 -4.1625,1.40002 -1.1499,-0.97499 -2.675,-1.40002 -4.1625,-1.40002 -3.15,0 -5.3499,1.81253 -5.7625,4.225 -0.2251,1.17499 -1.9124,10.57502 -1.9124,14.5125 0,6.36249 3.3374,11.45003 8.8749,13.8375 l -1.425,26.35001 c -0.1499,2.74997 2.0375,5.075 4.8,5.075 h 7.5 c 2.7501,0 4.95,-2.31254 4.8001,-5.075 l -1.4251,-26.35001 c 5.525,-2.38747 8.8751,-7.47501 8.8751,-13.8375 0,-3.93748 -1.6876,-13.33751 -1.9126,-14.5125 z m -11.05,25.77502 1.525,29.13748 c 0.024,0.46249 -0.3373,0.86251 -0.8125,0.86251 h -7.5 c -0.4625,0 -0.8374,-0.38761 -0.8125,-0.86251 l 1.525,-29.13748 c -5.3,-1.10001 -8.9624,-5.37504 -8.9624,-11.26252 0,-3.71247 1.8499,-13.82501 1.8499,-13.82501 0.1999,-1.23751 3.5375,-1.2125 3.6875,0.0241 v 15.3125 c 0.1127,1.43748 3.5251,1.46248 3.6876,0.0241 l 0.925,-15.3625 c 0.1998,-1.21248 3.4875,-1.21248 3.6874,0 l 0.9251,15.3625 c 0.1624,1.42502 3.575,1.40002 3.6875,-0.0241 v -15.30001 c 0.1499,-1.23751 3.4875,-1.26249 3.6874,-0.0241 0,0 1.85,10.11254 1.85,13.82504 0.013,5.84999 -3.625,10.14997 -8.95,11.24997 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499996" />
<path
id="path5750-4-7-1"
d="m 1082.2309,404.94981 c 3.3137,0 6,-2.68629 6,-6.00003 0,-3.31375 -2.6863,-6.00001 -6,-6.00001 -3.3138,0 -6,2.68626 -6,6.00001 0,3.31374 2.6862,6.00003 6,6.00003 z m 0,-8.00002 c 1.1025,0 2,0.89747 2,1.99999 0,1.10252 -0.8975,1.99998 -2,1.99998 -1.1025,0 -2,-0.89746 -2,-1.99998 0,-1.10252 0.8975,-1.99999 2,-1.99999 z m 22,14.99997 v -1.99998 c 0,-0.55251 -0.4475,-1 -1,-1 h -54 c -0.5525,0 -1,0.44749 -1,1 v 1.99998 c 0,0.5525 0.4475,1.00002 1,1.00002 h 5.8412 c -4.2437,5.72251 -6.8412,12.70251 -6.8412,19.19999 0,4.88501 1.4775,8.83127 4,11.94128 v 6.85874 c 0,1.10501 0.895,1.99999 2,1.99999 1.105,0 2,-0.89498 2,-1.99999 v -3.16751 c 5.0825,3.50372 12.16,5.1675 20,5.1675 7.8387,0 14.9175,-1.66378 20,-5.16623 v 3.16624 c 0,1.10501 0.895,1.99999 2,1.99999 1.105,0 2,-0.89498 2,-1.99999 v -6.85874 c 2.5225,-3.11001 4,-7.05627 4,-11.94128 0,-6.49748 -2.5975,-13.47748 -6.8413,-19.19999 h 5.8413 c 0.5525,0 1,-0.44752 1,-1.00002 z m -4,20.20001 c 0,15.16251 -16.7837,16.80004 -24,16.80004 -7.2163,0 -24,-1.63753 -24,-16.80004 0,-6.53124 3.0175,-13.75248 7.955,-19.19999 h 32.0887 c 4.9388,5.44751 7.9563,12.66875 7.9563,19.19999 z m -32,-35.19998 c 2.2087,0 4,-1.79123 4,-4.00002 0,-2.20877 -1.7913,-4 -4,-4 -2.2087,0 -4,1.79123 -4,4 0,2.20879 1.7913,4.00002 4,4.00002 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12500001" />
<path
id="path5761-6-1-0"
d="m 1860.9794,297.75696 0.84,-2.5214 v 0 l 6.0957,-18.28571 h -57.1428 a 11.428558,11.428558 0 0 0 -11.4285,11.42856 v 14.85712 a 1.1428558,1.1428558 0 0 0 1.1428,1.14287 h 2.2858 a 1.1428558,1.1428558 0 0 0 1.1428,-1.14287 v -14.85712 a 6.8571343,6.8571343 0 0 1 6.8571,-6.85711 h 3.81 l 4.5714,13.71426 v 0 l 0.8643,2.59426 c -7.0442,5.67715 -11.5314,14.21856 -11.5314,23.78 0,7.35282 2.66,12.10998 7.0914,16.81567 a 8.1685614,8.1685614 0 0 0 5.9329,2.52429 h 37.9528 a 8.1542755,8.1542755 0 0 0 5.9214,-2.51429 c 4.4286,-4.70712 7.0986,-9.46284 7.1014,-16.8171 0,-9.47287 -4.3757,-18.12142 -11.5071,-23.86143 z m -41.5785,-16.23566 h 42.1714 l -4.5715,13.71426 h -33.0285 z m 5.45,18.28568 h 31.3857 c 3,2.41714 7.8114,6.01142 10.3571,13.71426 h -52.1942 c 2.5871,-7.71427 7.5457,-11.37283 10.4514,-13.71426 z m 37.2071,35.49281 a 3.5599955,3.5599955 0 0 1 -2.5943,1.07857 h -37.9528 a 3.5714241,3.5714241 0 0 1 -2.6043,-1.08858 c -4.2628,-4.52429 -5.8485,-8.23282 -5.8485,-13.67996 a 25.471396,25.471396 0 0 1 0.2712,-3.51716 h 54.3185 a 25.781397,25.781397 0 0 1 0.2671,3.52428 c 0,5.4457 -1.5885,9.15429 -5.8571,13.68285 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.14285697" />
<path
id="path5772-1-7-4"
d="m 1731.3436,317.94896 c -1.6562,0 -2.9999,1.34247 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65748 -1.3438,-2.99995 -3,-2.99995 z M 1710.344,300.9493 c 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99992 3,2.99992 1.6562,0 2.9999,-1.34371 2.9999,-2.99992 z m 1,16.99966 c -1.6562,0 -2.9999,1.34247 -2.9999,2.99995 0,1.65621 1.3437,2.99992 2.9999,2.99992 1.6562,0 3,-1.34371 3,-2.99992 0,-1.65748 -1.3438,-2.99995 -3,-2.99995 z m 11.9998,-11.99978 c -1.6562,0 -3,1.34246 -3,2.99995 0,1.65621 1.3438,2.99995 3,2.99995 1.6562,0 2.9999,-1.34374 2.9999,-2.99995 0,-1.65749 -1.3437,-2.99995 -2.9999,-2.99995 z m 27.8144,2.97744 c -8.7461,-0.10616 -15.8084,-7.21111 -15.8084,-15.98218 -8.7711,0 -15.8747,-7.0611 -15.9822,-15.80595 -0.8275,-0.1262 -1.6612,-0.18865 -2.4912,-0.18865 -2.585,0 -5.1474,0.60625 -7.4736,1.79122 l -8.6411,4.40243 a 16.527304,16.527304 0 0 0 -7.2236,7.22609 l -4.3874,8.60983 a 16.580302,16.580302 0 0 0 -1.6025,10.11857 l 1.51,9.53482 a 16.569053,16.569053 0 0 0 4.6449,9.11979 l 6.8461,6.84488 a 16.50418,16.50418 0 0 0 9.0886,4.63243 l 9.5885,1.51749 c 0.8575,0.13639 1.72,0.20246 2.58,0.20246 2.59,0 5.1562,-0.61003 7.4861,-1.7975 l 8.6411,-4.40241 a 16.527304,16.527304 0 0 0 7.2236,-7.22608 l 4.3874,-8.60986 c 1.57,-3.07869 2.1262,-6.57111 1.6137,-9.98732 z m -5.1773,8.16985 -4.3875,8.61107 c -1.2099,2.37496 -3.1037,4.26866 -5.4761,5.47741 l -8.6411,4.40243 c -1.7475,0.88995 -3.7087,1.36117 -5.6699,1.36117 -0.6512,0 -1.3087,-0.0512 -1.9537,-0.1538 l -9.5873,-1.51744 c -2.625,-0.41624 -5.0062,-1.62999 -6.8861,-3.50993 l -6.8462,-6.84488 c -1.8874,-1.88622 -3.1049,-4.27866 -3.5224,-6.91613 l -1.51,-9.53354 c -0.4187,-2.63997 0,-5.29489 1.215,-7.6761 l 4.3874,-8.60983 c 1.21,-2.37496 3.1037,-4.26866 5.4762,-5.47739 l 8.6398,-4.40368 c 1.4162,-0.72123 2.9749,-1.16624 4.5637,-1.30747 1.6437,7.89361 7.9798,14.11846 15.9059,15.60721 1.4887,7.92733 7.7136,14.26346 15.6085,15.90592 -0.1374,1.59123 -0.58,3.14243 -1.3162,4.58491 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.1249976" />
<path
id="path5794-5-6-2"
d="m 1328.408,276.94983 c -16.5581,0 -31.0068,10.95333 -39.0524,20.33332 l -16.0613,-14.27833 c -2.2371,-1.84166 -5.5619,0.11165 -4.999,2.92669 l 4.4492,23.01833 -4.4508,23.02002 c -0.5613,2.81334 2.7602,4.76666 4.9922,2.93169 l 16.0615,-14.27504 c 8.0521,9.37001 22.5091,20.32334 39.0606,20.32334 25.291,0 45.7932,-25.60002 45.7932,-32.00001 0,-6.39999 -20.5022,-32.00001 -45.7932,-32.00001 z m 0,58.6667 c -14.1407,0 -27.3756,-9.54502 -35.0453,-18.47833 l -3.3695,-3.92501 c -5.1646,4.24667 -2.0268,1.47999 -15.2467,13.60166 3.6029,-18.98167 3.1079,-16.395 3.4059,-17.86501 -0.298,-1.46835 0.1985,1.12166 -3.4043,-17.86501 13.2464,12.14167 10.1004,9.36833 15.2467,13.60335 l 3.3695,-3.92502 c 7.6699,-8.93333 20.8965,-18.48002 35.0437,-18.48002 21.2261,0 39.0905,21.08169 40.46,26.6667 -1.3695,5.58501 -19.2339,26.66669 -40.46,26.66669 z m -3.6063,-41.72502 -1.8728,-1.885 a 1.3246526,1.333334 0 0 0 -1.8744,0 l -14.0215,14.11 a 1.3246526,1.333334 0 0 0 0,1.88498 l 1.8728,1.885 a 1.3246526,1.333334 0 0 0 1.8727,0 l 14.0232,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 18.5451,2.66667 -1.8727,-1.88499 a 1.3246526,1.333334 0 0 0 -1.8743,0 l -24.6189,24.77667 a 1.3246526,1.333334 0 0 0 0,1.885 l 1.8729,1.88499 a 1.3246526,1.333334 0 0 0 1.8727,0 l 24.6203,-24.77002 a 1.3246526,1.333334 0 0 0 0,-1.89165 z m 6.0753,11.44835 a 1.3246526,1.333334 0 0 0 -1.8745,0 l -14.0214,14.11001 a 1.3246526,1.333334 0 0 0 0,1.88497 l 1.8726,1.885 a 1.3246526,1.333334 0 0 0 1.8729,0 l 14.0229,-14.10333 a 1.3246526,1.333334 0 0 0 0,-1.88666 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.16612327" />
<path
id="path5805-4-6-7"
d="m 1076.231,318.94985 c -1.1001,0 -2.0001,0.9 -2.0001,1.99998 0,1.10001 0.9,1.99999 2.0001,1.99999 1.0999,0 1.9999,-0.89998 1.9999,-1.99999 0,-1.09998 -0.9,-1.99998 -1.9999,-1.99998 z m -4.0001,-31.00002 c -1.1,0 -1.9999,0.90001 -1.9999,2.00003 0,1.1 0.8999,1.99999 1.9999,1.99999 1.1001,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.8999,-2.00003 -2,-2.00003 z m 4.0001,23.00002 c -1.1001,0 -2.0001,0.9 -2.0001,1.99999 0,1.1 0.9,1.99998 2.0001,1.99998 1.0999,0 1.9999,-0.89998 1.9999,-1.99998 0,-1.09999 -0.9,-1.99999 -1.9999,-1.99999 z m 0,-7.99999 c -1.1001,0 -2.0001,0.9 -2.0001,1.99998 0,1.1 0.9,2.00003 2.0001,2.00003 1.0999,0 1.9999,-0.90003 1.9999,-2.00003 0,-1.09998 -0.9,-1.99998 -1.9999,-1.99998 z m 4,-15.00003 c -1.1001,0 -2.0001,0.90001 -2.0001,2.00003 0,1.1 0.9,1.99999 2.0001,1.99999 1.1,0 2,-0.89999 2,-1.99999 0,-1.10002 -0.9,-2.00003 -2,-2.00003 z m 23.9999,19.00004 c 0,-5.51253 -4.4875,-10.00002 -9.9999,-10.00002 h -4.95 c 1.2874,-2.88749 1.5749,-6.17501 0.7249,-9.45 -1.2375,-4.84999 -5.175,-8.79998 -10,-10.06251 -1.2499,-0.32487 -2.5125,-0.48751 -3.7749,-0.48751 -3.8125,0 -7.3876,1.48752 -10.075,4.17501 -2.6876,2.6875 -4.175,6.26249 -4.175,10.07502 0,1.99999 0.4249,3.96249 1.225,5.74999 h -4.9751 c -5.5125,0 -10,4.48749 -10,10.00002 0,5.51246 4.4875,9.99998 10,9.99998 h 3.4876 l -7.25,7.7 c -3.475,4.27498 -2.8251,10.58751 1.4499,14.06247 1.7875,1.43751 4.0251,2.23753 6.3125,2.23753 3.025,0 5.8625,-1.35001 7.7626,-3.70002 l 6.2375,-6.44998 6.2375,6.44998 c 1.8999,2.35001 4.7374,3.70002 7.7624,3.70002 2.2876,0 4.525,-0.80002 6.3,-2.23753 4.2751,-3.47496 4.925,-9.78749 1.45,-14.06247 l -7.2499,-7.7 h 3.5 c 5.5124,0 9.9999,-4.48753 9.9999,-9.99998 z m -17.925,10.88748 8.575,9.32498 c 2.0875,2.575 1.7,6.35 -0.875,8.43751 -1.1125,0.90001 -2.45,1.34998 -3.775,1.34998 -1.7499,0 -3.475,-0.7625 -4.6624,-2.21247 l -6.2376,-6.45001 c -0.8,-0.98751 -1.95,-1.475 -3.0999,-1.475 -1.1501,0 -2.3,0.48749 -3.1001,1.475 l -6.2375,6.45001 c -1.1874,1.46248 -2.9124,2.21247 -4.6625,2.21247 -1.3249,0 -2.6624,-0.43746 -3.775,-1.34998 -2.575,-2.08751 -2.9625,-5.86248 -0.875,-8.43751 l 8.5751,-9.32498 c 1.5874,-1.96249 0.1999,-4.88751 -2.325,-4.88751 h -5.6001 c -3.3125,0 -6,-2.68749 -6,-5.99997 0,-3.31251 2.6875,-6.00001 6,-6.00001 h 10.2 c 1.1625,0 1.775,-1.4375 0.9126,-2.21252 -2.0626,-1.86248 -3.3625,-4.53748 -3.3625,-7.53748 0,-5.66251 4.5874,-10.25002 10.25,-10.25002 0.9,0 1.825,0.11255 2.7625,0.3625 3.4499,0.9 6.2624,3.725 7.1374,7.18748 1.0375,4.06252 -0.3374,7.83755 -3,10.23752 -0.8625,0.78752 -0.2748,2.22502 0.9,2.22502 h 10.2001 c 3.3124,0 5.9999,2.6875 5.9999,5.99997 0,3.31251 -2.6875,6 -5.9999,6 h -5.5876 c -2.5249,-0.0134 -3.925,2.91253 -2.3375,4.87502 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.12499995" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 168 KiB

View File

@@ -0,0 +1,115 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="2000px"
height="2000px"
viewBox="0 0 2000 2000"
version="1.1"
id="SVGRoot"
sodipodi:docname="spinner.svg"
inkscape:version="1.0.1 (3bc2e813f5, 2020-09-07)">
<defs
id="defs265" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="0.24748737"
inkscape:cx="507.59315"
inkscape:cy="671.7335"
inkscape:document-units="px"
inkscape:current-layer="layer1"
inkscape:document-rotation="0"
showgrid="false"
inkscape:window-width="1920"
inkscape:window-height="1017"
inkscape:window-x="1912"
inkscape:window-y="-8"
inkscape:window-maximized="1" />
<metadata
id="metadata268">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1">
<path
id="path5640-9"
d="m 1363.6895,468.03149 c -6.2646,0 -11.3386,5.07398 -11.3386,11.33858 0,6.25981 5.074,11.33859 11.3386,11.33859 6.2645,0 11.3386,-5.07878 11.3386,-11.33859 0,-6.2646 -5.0741,-11.33858 -11.3386,-11.33858 z m 63.425,-26.44248 42.4018,-162.5339 h -219.2126 c -12.5054,0 -22.6772,10.17173 -22.6772,22.67732 v 75.5904 c 0,12.50559 10.1718,22.67716 22.6772,22.67716 h 48.3118 l 3.5576,40.89453 c -17.0411,6.52913 -29.1923,22.91807 -29.1923,42.25508 v 22.67717 c 0,8.34795 6.7703,15.11811 15.1181,15.11811 H 1439.28 c 8.3483,0 15.1181,-6.77016 15.1181,-15.11811 V 483.1496 c 0,-18.61414 -11.2391,-34.5733 -27.2836,-41.56059 z m -176.8108,-56.70713 c -4.1621,0 -7.5591,-3.3874 -7.5591,-7.55905 v -75.5904 c 0,-4.17165 3.397,-7.55905 7.5591,-7.55905 h 39.1086 l 7.8898,90.7085 z m 199.644,-90.7085 -7.8897,30.23606 h -74.589 c -2.0882,0 -3.7795,1.69138 -3.7795,3.77968 v 7.55891 c 0,2.0883 1.6913,3.77953 3.7795,3.77953 h 70.6488 l -7.8897,30.23622 h -62.7591 c -2.0882,0 -3.7795,1.69137 -3.7795,3.77952 v 7.55906 c 0,2.0883 1.6913,3.77952 3.7795,3.77952 h 58.8144 l -13.8048,52.91339 h -95.4001 L 1304.5871,294.17338 Z M 1439.28,505.82677 H 1288.0989 V 483.1496 c 0,-16.67244 13.564,-30.23622 30.2362,-30.23622 h 90.7087 c 16.6726,0 30.2362,13.56378 30.2362,30.23622 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5684-6-0"
d="m 1740.0225,645.7638 h -53.5609 l 50.4238,-50.42358 c 11.3904,-11.39059 8.2723,-30.59063 -6.1322,-37.79536 a 23.601733,23.601733 0 0 0 -10.5495,-2.48976 c -5.0177,0 -9.9972,1.59693 -14.1641,4.71969 l -114.652,85.98901 h -85.6959 c -2.0881,0 -3.7795,1.6913 -3.7795,3.77957 v 7.55905 c 0,2.08815 1.6914,3.77945 3.7795,3.77945 h 11.3386 V 676 c 0,38.4661 23.9811,71.2583 57.7746,84.4488 -6.0283,7.9276 -10.2519,17.3056 -11.7732,27.6095 -0.6848,4.6441 2.8252,8.8866 7.5213,8.8866 h 104.6078 c 4.6961,0 8.2065,-4.2378 7.5213,-8.8866 -1.5163,-10.3039 -5.74,-19.6866 -11.7728,-27.6095 33.7935,-13.1905 57.7746,-45.9827 57.7746,-84.4488 v -15.11813 h 11.3386 c 2.0881,0 3.7795,-1.6913 3.7795,-3.77945 v -7.55905 c 0,-2.08827 -1.6914,-3.77957 -3.7795,-3.77957 z m -24.9166,-73.89453 c 8.3055,-6.22673 18.5246,5.34331 11.088,12.77961 l -61.11,61.11492 h -48.5008 z M 1713.5658,676 c 0,31.3276 -18.9026,58.9464 -48.1512,70.3654 l -18.6664,7.285 12.1323,15.9495 c 2.8729,3.7797 5.1357,7.9135 6.7042,12.2269 h -85.4506 c 1.5685,-4.3134 3.8267,-8.4472 6.7041,-12.2269 l 12.1323,-15.9495 -18.6663,-7.285 C 1551.0506,734.9464 1532.1484,707.3276 1532.1484,676 v -15.11813 h 181.4174 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5695-2"
d="M 1075.5907,1636.198 H 924.40969 a 30.236221,30.236221 0 0 0 -30.2366,30.2361 v 196.5355 a 15.118111,15.118111 0 0 0 15.11811,15.1181 h 181.4177 a 15.118111,15.118111 0 0 0 15.118,-15.1181 v -196.5355 a 30.236221,30.236221 0 0 0 -30.2362,-30.2361 z m 15.1181,226.7716 H 909.2912 v -151.1811 h 181.4176 z m 0,-166.2992 H 909.2912 v -30.2363 a 15.118111,15.118111 0 0 1 15.11849,-15.118 h 151.18101 a 15.118111,15.118111 0 0 1 15.1181,15.118 z m -22.6775,-30.2363 a 7.5590556,7.5590556 0 1 0 7.5594,7.5591 7.5590556,7.5590556 0 0 0 -7.5594,-7.5591 z m -30.2359,0 a 7.5590556,7.5590556 0 1 0 7.5591,7.5591 7.5590556,7.5590556 0 0 0 -7.5591,-7.5591 z m -75.59041,0 a 7.5590556,7.5590556 0 1 0 7.5587,7.5591 7.5590556,7.5590556 0 0 0 -7.5587,-7.5591 z m -30.23625,0 a 7.5590556,7.5590556 0 1 0 7.55906,7.5591 7.5590556,7.5590556 0 0 0 -7.55906,-7.5591 z m 0,181.4175 h 136.06256 a 7.5590556,7.5590556 0 0 0 7.5594,-7.5591 v -105.8268 a 7.5590556,7.5590556 0 0 0 -7.5594,-7.559 H 931.96874 a 7.5590556,7.5590556 0 0 0 -7.55905,7.559 v 105.8268 a 7.5590556,7.5590556 0 0 0 7.55905,7.5591 z m 7.55906,-105.8268 h 120.9444 v 90.7086 H 939.5278 Z m 98.2676,15.118 h -75.59041 a 7.5591,7.5591 0 0 0 0,15.1182 h 75.59041 a 7.5591,7.5591 0 0 0 0,-15.1182 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5673-8-4-5"
d="m 1467.3153,1614.6952 c -6.378,-5.3858 -14.4567,-8.315 -22.7717,-8.315 -10.3464,0 -20.0787,4.4881 -26.8819,12.3307 l -9.6378,-42.0473 c -7.4173,-32.5984 -35.7165,-55.3228 -68.7874,-55.3228 -5.3386,0 -10.7244,0.6139 -15.9685,1.8425 -37.9842,8.8347 -61.748,47.2442 -53.0078,85.5592 l 21.0708,92.126 c 0.189,0.8974 0.5197,1.7479 0.7559,2.6456 -4.4409,1.4646 -8.5039,5.5748 -8.5039,10.5827 v 37.7952 c 0,6.2835 5.0551,11.3386 11.2441,11.3386 h 143.1968 c 6.189,0 11.9055,-5.0551 11.9055,-11.3386 v -37.7952 c 0,-5.3858 -4.4409,-9.6378 -9.4015,-10.8189 l 31.37,-37.9843 c 12.5671,-15.2126 10.4884,-37.8897 -4.5826,-50.5984 z m -32.5512,133.4173 h -136.063 v -30.2362 h 136.063 z m 25.6063,-92.5039 -38.9764,47.1497 h -113.7638 c -0.5669,-1.7482 -1.2756,-3.4962 -1.7008,-5.3388 l -21.0708,-92.1259 c -6.8976,-30.1889 11.811,-60.4253 41.7637,-67.4174 4.1575,-0.9453 8.3622,-1.4645 12.567,-1.4645 26.0787,0 48.3779,17.9055 54.2362,43.6064 l 12.9921,56.8818 3.4016,14.8347 9.685,-11.7166 9.1654,-11.1023 c 3.9213,-4.7718 9.685,-7.4646 15.8268,-7.4646 4.8189,0 9.4488,1.7007 13.1811,4.8189 8.7874,7.37 9.9685,20.504 2.6929,29.3386 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5706-9"
d="m 455.99659,983.47136 c -22.56427,-58.66282 -79.4948,-97.74958 -143.13917,-97.74958 -63.64457,0 -120.58155,39.08676 -143.12757,97.74958 -25.31405,0.97615 -28.28993,22.26634 -28.28993,27.32554 a 27.43272,27.43272 0 0 0 27.50999,27.2958 c 1.61917,0 2.83909,-0.3566 4.35685,-0.4524 l 19.32015,57.9249 a 27.379152,27.379152 0 0 0 25.96867,18.713 h 188.52348 a 27.379152,27.379152 0 0 0 25.96829,-18.719 l 19.30226,-57.9189 c 1.51209,0.1014 2.73806,0.4524 4.35693,0.4524 a 27.43272,27.43272 0 0 0 27.5278,-27.2958 c 0,-5.22 -3.06519,-26.272 -28.27775,-27.32554 z m -40.97343,106.05254 a 8.3327858,8.3327858 0 0 1 -7.9041,5.7079 H 218.5895 a 8.3327858,8.3327858 0 0 1 -7.90412,-5.702 l -18.60593,-55.8237 a 75.631939,75.631939 0 0 0 17.37958,-9.9338 c 5.41071,-4.0116 7.49951,-5.6128 15.12436,0.039 7.21381,5.3568 19.32588,14.2849 40.4377,14.2849 21.11197,0 33.23583,-8.9638 40.47356,-14.3325 5.39857,-3.9937 7.44592,-5.5948 15.00504,0.028 7.23173,5.3568 19.32022,14.2848 40.43164,14.2848 21.11189,0 33.21824,-8.9637 40.43777,-14.3205 6.47601,-4.8032 8.40441,-4.8807 14.95147,0 a 75.536702,75.536702 0 0 0 17.30819,9.9339 l -18.6056,55.8297 z m 41.73547,-70.4775 c -14.8447,0 -22.73066,-5.8568 -29.11133,-10.6005 -17.6834,-13.09438 -29.79589,-5.7675 -37.62855,0.039 -6.33277,4.708 -14.22515,10.5648 -29.08742,10.5648 -14.86181,0 -22.74814,-5.8568 -29.12872,-10.5768 -18.93914,-14.09428 -31.84332,-4.3152 -37.67614,0 -6.34458,4.72 -14.23157,10.5768 -29.11144,10.5768 -14.87973,0 -22.76637,-5.8568 -29.16451,-10.5768 -4.03546,-2.976 -17.68349,-14.87988 -37.77753,0 -6.35673,4.7021 -14.28477,10.5589 -29.16452,10.5589 a 8.2554502,8.2554502 0 1 1 0,-16.5109 c 3.20802,0 6.59458,0.2861 15.92147,-4.86268 31.74184,-91.61298 118.33737,-92.88672 128.02748,-92.88672 9.52324,0 96.25581,1.19038 127.96763,92.85092 9.37404,5.30318 12.24317,4.94608 15.93934,4.94608 a 8.25545,8.25545 0 1 1 0,16.5109 z m -196.779,-84.70277 a 9.5648466,9.5648466 0 0 0 -12.7788,4.26161 l -9.5233,19.04637 a 9.5231832,9.5231832 0 0 0 4.26186,12.77891 c 5.6782,2.7975 10.92787,-0.59555 12.77845,-4.26159 l 9.5233,-19.04632 a 9.5231832,9.5231832 0 0 0 -4.26151,-12.77898 z m 118.52804,4.25571 a 9.5252893,9.5252893 0 1 0 -17.04022,8.51727 l 9.52286,19.04637 c 1.84526,3.67236 7.10105,7.05909 12.77882,4.26159 a 9.5231832,9.5231832 0 0 0 4.2615,-12.77891 z m -65.65025,-5.26154 a 9.5231832,9.5231832 0 0 0 -9.52334,9.5232 v 19.04625 a 9.5233032,9.5233032 0 1 0 19.04658,0 V 942.861 a 9.5231832,9.5231832 0 0 0 -9.52324,-9.5232 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.595201" />
<path
id="path5662-5"
d="m 1075.5909,154.17314 a 44.962217,44.962217 0 0 0 -27.2742,9.3261 C 1037.2899,148.7401 1019.8425,139.0551 1000,139.0551 c -19.84243,0 -37.28983,9.685 -48.31663,24.44414 a 45.146469,45.146469 0 0 0 -72.62811,36.02827 c 0,19.71972 30.23621,105.82684 30.23621,105.82684 v 60.47252 a 15.118115,15.118115 0 0 0 15.1181,15.11803 h 151.18133 a 15.118115,15.118115 0 0 0 15.1181,-15.11803 v -60.47252 c 0,0 30.2362,-86.10712 30.2362,-105.82684 a 45.354343,45.354343 0 0 0 -45.3543,-45.35437 z M 931.96867,358.26781 v -37.79527 h 136.06323 v 37.79527 z M 1069.3264,297.7953 h -13.9609 l 5.1073,-63.66146 a 3.7795287,3.7795287 0 0 0 -3.4628,-4.0676 l -7.5591,-0.60506 h -0.3061 a 3.7795287,3.7795287 0 0 0 -3.7795,3.48185 l -5.1969,64.86621 h -32.92 V 233.5431 a 3.7795287,3.7795287 0 0 0 -3.7796,-3.77952 h -7.55897 a 3.7795287,3.7795287 0 0 0 -3.77986,3.77952 v 64.25193 h -32.324 l -5.1968,-64.86606 a 3.7795287,3.7795287 0 0 0 -3.7799,-3.48201 h -0.3062 l -7.5587,0.60507 a 3.7795287,3.7795287 0 0 0 -3.4631,4.06764 l 5.1352,63.67563 h -13.9604 c -13.8237,-39.3165 -28.72444,-88.18587 -28.94176,-98.26779 a 22.474022,22.474022 0 0 1 36.24566,-17.95272 l 18.1984,13.80476 13.6724,-18.2976 c 7.285,-9.75598 18.274,-15.34968 30.15113,-15.34968 11.8771,0 22.8661,5.5937 30.1511,15.34019 l 13.6729,18.29764 18.1984,-13.79531 a 22.474022,22.474022 0 0 1 36.2456,17.915 c -0.2192,10.11964 -15.1181,58.98901 -28.9417,98.30551 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5739"
d="m 689.18112,501.24409 6.7087,-77.85831 c -19.88984,-15.63783 -33.25984,-36.37803 -33.25984,-61.18099 0.0476,-44.55122 41.66925,-83.14968 71.85815,-83.14968 10.44099,0 18.89764,8.1733 18.89764,18.18894 v 205.51174 c 0,10.01578 -8.45665,18.18909 -18.89764,18.18909 h -26.45661 c -10.77162,0 -19.74803,-8.8348 -18.8504,-19.70079 z m -11.38586,-139.0393 c 0,24.09438 15.21263,40.39355 33.92126,54.09438 l -7.46453,86.26772 c -0.13644,1.74799 1.60619,3.25984 3.77953,3.25984 h 26.45661 c 2.03158,0 3.77953,-1.41778 3.77953,-3.07094 V 297.24405 c 0,-1.65347 -1.74795,-3.0708 -3.77953,-3.0708 -21.07082,0 -56.69287,31.08651 -56.69287,68.03154 z m -37.46457,-67.18118 c -1.55913,-9.21252 -10.01567,-15.9685 -21.77945,-15.9685 -5.62205,0 -11.38587,1.60637 -15.7324,5.29137 -3.96839,-3.35433 -9.44878,-5.29137 -15.73221,-5.29137 -6.28354,0 -11.76382,1.93704 -15.73236,5.29137 -4.34634,-3.685 -10.1102,-5.29137 -15.73221,-5.29137 -11.90555,0 -20.22047,6.85047 -21.7796,15.9685 -0.85096,4.44087 -7.22823,39.96854 -7.22823,54.85039 0,24.04714 12.61413,43.27568 33.54323,52.29918 l -5.38579,99.59059 c -0.56689,10.39359 7.70071,19.18111 18.1417,19.18111 h 28.34641 c 10.39386,0 18.70874,-8.74027 18.14181,-19.18111 l -5.3859,-99.59059 c 20.88197,-9.0235 33.54342,-28.25204 33.54342,-52.29918 0,-14.88185 -6.3781,-50.40952 -7.22842,-54.85039 z m -41.76382,97.41733 5.76386,110.12595 c 0.0915,1.74799 -1.27499,3.25984 -3.07095,3.25984 h -28.34641 c -1.748,0 -3.16532,-1.46491 -3.07083,-3.25984 l 5.76374,-110.12595 c -20.03146,-4.15748 -33.8739,-20.31504 -33.8739,-42.56694 0,-14.03145 6.99208,-52.25204 6.99208,-52.25204 0.75523,-4.67713 13.37001,-4.58264 13.93694,0.0911 V 355.587 c 0.42561,5.433 13.32294,5.52752 13.937,0.0911 l 3.49614,-58.06295 c 0.75523,-4.58264 13.18111,-4.58264 13.93694,0 l 3.49613,58.06295 c 0.61395,5.3859 13.51182,5.29138 13.93701,-0.0911 v -57.82681 c 0.56689,-4.67716 13.18107,-4.77154 13.93693,-0.0911 0,0 6.9921,38.22055 6.9921,52.25205 0.0476,22.11023 -13.70079,38.36217 -33.82678,42.51961 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5772-1"
d="m 1751.068,1034.0124 c -6.2598,0 -11.3384,5.0739 -11.3384,11.3384 0,6.2597 5.0786,11.3383 11.3384,11.3383 6.2597,0 11.3383,-5.0786 11.3383,-11.3383 0,-6.2645 -5.0786,-11.3384 -11.3383,-11.3384 z m -79.3686,-64.25069 c 0,-6.26453 -5.0786,-11.3384 -11.3384,-11.3384 -6.2597,0 -11.3383,5.07387 -11.3383,11.3384 0,6.25969 5.0786,11.33828 11.3383,11.33828 6.2598,0 11.3384,-5.07859 11.3384,-11.33828 z m 3.7795,64.25069 c -6.2598,0 -11.3383,5.0739 -11.3383,11.3384 0,6.2597 5.0785,11.3383 11.3383,11.3383 6.2596,0 11.3384,-5.0786 11.3384,-11.3383 0,-6.2645 -5.0788,-11.3384 -11.3384,-11.3384 z m 45.3534,-45.3535 c -6.2597,0 -11.3384,5.07386 -11.3384,11.33839 0,6.25971 5.0787,11.33841 11.3384,11.33841 6.2597,0 11.3384,-5.0787 11.3384,-11.33841 0,-6.26453 -5.0787,-11.33839 -11.3384,-11.33839 z m 105.1256,11.25331 c -33.0562,-0.40123 -59.7485,-27.25459 -59.7485,-60.40509 -33.1505,0 -59.9989,-26.68762 -60.4051,-59.73902 -3.1275,-0.47698 -6.2786,-0.71299 -9.4156,-0.71299 -9.7699,0 -19.4547,2.29133 -28.2467,6.76995 l -32.6592,16.6391 a 62.465402,62.465402 0 0 0 -27.3019,27.3112 l -16.5824,32.5411 a 62.665709,62.665709 0 0 0 -6.0564,38.24344 l 5.7069,36.0371 a 62.623193,62.623193 0 0 0 17.5556,34.4685 l 25.875,25.8704 a 62.378004,62.378004 0 0 0 34.3506,17.5084 l 36.2402,5.7354 c 3.2409,0.5155 6.5007,0.7652 9.751,0.7652 9.7888,0 19.4879,-2.3056 28.2939,-6.7937 l 32.6592,-16.639 a 62.465402,62.465402 0 0 0 27.3018,-27.3112 l 16.5825,-32.5412 c 5.9337,-11.636 8.036,-24.8357 6.0991,-37.74735 z m -19.5681,30.87819 -16.5825,32.5458 c -4.573,8.9762 -11.7304,16.1335 -20.6971,20.702 l -32.6593,16.6391 c -6.6046,3.3636 -14.0171,5.1446 -21.4295,5.1446 -2.4614,0 -4.9464,-0.1935 -7.3841,-0.5813 l -36.2356,-5.7353 c -9.921,-1.5731 -18.9208,-6.1605 -26.0262,-13.2658 l -25.8751,-25.8704 c -7.1337,-7.129 -11.7352,-16.1713 -13.3131,-26.1397 l -5.707,-36.03228 c -1.5826,-9.97784 0.015,-20.01219 4.5921,-29.01204 l 16.5823,-32.54109 c 4.5731,-8.97622 11.7305,-16.13351 20.6973,-20.70194 l 32.6544,-16.64383 c 5.3527,-2.72591 11.2439,-4.40784 17.2485,-4.94162 6.2125,29.83412 30.1601,53.36111 60.1169,58.98788 5.6266,29.96157 29.1538,53.90912 58.9926,60.11682 -0.5193,6.0141 -2.1921,11.8769 -4.9746,17.3288 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472433" />
<path
id="path5627-3"
d="m 1556.6704,1294.1237 c -8.3858,0 -15.1181,-6.7323 -15.1181,-15.118 0,-14.6458 15.1181,-10.8662 15.1181,-30.2363 5.6693,0 15.1181,13.9371 15.1181,26.4567 0,12.5197 -6.7323,18.8976 -15.1181,18.8976 z m 60.4724,0 c -8.3858,0 -15.118,-6.7323 -15.118,-15.118 0,-14.6458 15.118,-10.8662 15.118,-30.2363 5.6693,0 15.1182,13.9371 15.1182,26.4567 0,12.5197 -6.7323,18.8976 -15.1182,18.8976 z m 60.4725,0 c -8.3858,0 -15.1181,-6.7323 -15.1181,-15.118 0,-14.6458 15.1181,-10.8662 15.1181,-30.2363 5.6693,0 15.1181,13.9371 15.1181,26.4567 0,12.5197 -6.7323,18.8976 -15.1181,18.8976 z m 22.6771,75.5907 h -15.118 v -68.0316 h -15.1182 v 68.0316 h -45.3543 v -68.0316 h -15.1181 v 68.0316 h -45.3543 v -68.0316 h -15.1181 v 68.0316 h -15.1181 c -12.5197,0 -22.6772,10.1573 -22.6772,22.6771 v 98.2677 h 211.6535 v -98.2677 c 0,-12.5198 -10.1575,-22.6771 -22.6772,-22.6771 z m 7.5591,105.8267 h -181.4173 v -34.036 c 7.6639,-4.4783 11.3045,-11.3183 20.1968,-11.3183 13.2052,0 14.7652,15.118 35.315,15.118 20.2408,0 22.3072,-15.118 35.1968,-15.118 13.2983,0 14.7407,15.118 35.315,15.118 20.4837,0 22.0947,-15.118 35.315,-15.118 8.7345,0 12.3992,6.8386 20.0787,11.3173 z m 0,-53.0901 c -4.5476,-3.72 -10.0238,-7.3823 -20.0787,-7.3823 -20.5181,0 -22.1221,15.1181 -35.315,15.1181 -13.0842,0 -14.8602,-15.1181 -35.315,-15.1181 -20.2403,0 -22.3076,15.1181 -35.1968,15.1181 -13.2983,0 -14.7411,-15.1181 -35.315,-15.1181 -10.1399,0 -15.6382,3.6728 -20.1968,7.3974 v -30.0746 c 0,-4.1678 3.3912,-7.5591 7.5591,-7.5591 h 166.2991 c 4.168,0 7.5591,3.3913 7.5591,7.5591 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5794"
d="m 455.82468,561.09456 c -59.4562,0 -111.33852,39.33117 -140.22863,73.01275 l -57.67284,-51.27053 c -8.03297,-6.61302 -19.97164,0.40092 -17.95038,10.50915 L 255.94899,676 239.96708,758.66025 c -2.01551,10.10208 9.91131,17.11599 17.92597,10.52702 l 57.67356,-51.25873 c 28.91344,33.64577 80.82557,72.9769 140.25807,72.9769 90.81482,0 164.43402,-91.92438 164.43402,-114.90544 0,-22.98105 -73.6192,-114.90544 -164.43402,-114.90544 z m 0,210.66009 c -50.77599,0 -98.29963,-34.27421 -125.83995,-66.35192 l -12.09918,-14.09391 c -18.54503,15.24893 -7.27783,5.31435 -54.74779,48.8408 12.93728,-68.15931 11.15984,-58.87111 12.2299,-64.14962 -1.07006,-5.27254 0.71277,4.02766 -12.22415,-64.14959 47.56512,43.59825 36.26847,33.63976 54.74778,48.84688 l 12.09918,-14.09398 c 27.54104,-32.07776 75.03488,-66.35793 125.83421,-66.35793 76.21859,0 140.366,75.69999 145.28359,95.75462 -4.91759,20.05463 -69.065,95.75465 -145.28359,95.75465 z m -12.94948,-149.82603 -6.72448,-6.76864 a 4.7565564,4.7877296 0 0 0 -6.73058,0 l -50.34816,50.66611 a 4.7565564,4.7877296 0 0 0 0,6.76863 l 6.72484,6.76862 a 4.7565564,4.7877296 0 0 0 6.72448,0 l 50.3539,-50.64218 a 4.7565564,4.7877296 0 0 0 0,-6.79254 z m 66.59166,9.57547 -6.72448,-6.7686 a 4.7565564,4.7877296 0 0 0 -6.73023,0 l -88.40107,88.9679 a 4.7565564,4.7877296 0 0 0 0,6.76865 l 6.7252,6.76861 a 4.7565564,4.7877296 0 0 0 6.72449,0 l 88.40609,-88.94403 a 4.7565564,4.7877296 0 0 0 0,-6.79253 z m 21.81517,41.10869 a 4.7565564,4.7877296 0 0 0 -6.73096,0 l -50.34798,50.66612 a 4.7565564,4.7877296 0 0 0 0,6.76863 l 6.72413,6.76861 a 4.7565564,4.7877296 0 0 0 6.7252,0 l 50.35336,-50.64219 a 4.7565564,4.7877296 0 0 0 0,-6.77461 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.596513" />
<path
id="path5728"
d="m 385.71444,1248.7695 c -66.79359,0 -120.94515,54.1512 -120.94515,120.9449 0,66.7937 54.15156,120.9448 120.94515,120.9448 66.79355,0 120.94484,-54.1511 120.94484,-120.9448 0,-66.7937 -54.15129,-120.9449 -120.94484,-120.9449 z m 0,226.7716 c -58.35119,0 -105.82666,-47.4756 -105.82666,-105.8267 0,-58.3512 47.47547,-105.8268 105.82666,-105.8268 58.35107,0 105.82669,47.4756 105.82669,105.8268 0,58.3511 -47.47562,105.8267 -105.82669,105.8267 z m 74.82984,-105.8267 13.3606,-13.3607 c 1.47405,-1.474 1.47405,-3.8693 0,-5.3433 l -5.34324,-5.3433 c -1.47401,-1.474 -3.8694,-1.474 -5.34342,0 l -13.36059,13.3606 -21.3826,-21.3779 10.6913,-10.6913 8.01736,8.0173 c 1.47402,1.4739 3.86922,1.4739 5.34323,0 l 5.34342,-5.3433 c 1.47402,-1.4741 1.47402,-3.8693 0,-5.3433 l -8.01736,-8.0174 2.67394,-2.674 c 1.47402,-1.4739 1.47402,-3.8693 0,-5.3433 l -5.34323,-5.3434 c -1.47401,-1.4739 -3.86921,-1.4739 -5.34323,0 l -2.67413,2.6741 -8.01736,-8.0172 c -1.47402,-1.474 -3.86922,-1.474 -5.34323,0 l -5.34327,5.3431 c -1.47402,1.4741 -1.47402,3.8694 0,5.3434 l 8.01721,8.0173 -10.6913,10.6913 -21.3826,-21.3779 13.36524,-13.3606 c 1.47401,-1.474 1.47401,-3.8692 0,-5.3433 l -5.34788,-5.3622 c -1.47402,-1.474 -3.86941,-1.474 -5.34342,0 l -13.36528,13.3654 -13.36539,-13.3654 c -1.47402,-1.474 -3.86922,-1.474 -5.34324,0 l -5.34346,5.3433 c -1.47397,1.474 -1.47397,3.8692 0,5.3434 l 13.36544,13.3606 -21.37796,21.3779 -10.6913,-10.6914 8.01717,-8.0173 c 1.47402,-1.4739 1.47402,-3.8693 0,-5.3433 l -5.34323,-5.3433 c -1.47402,-1.474 -3.86922,-1.474 -5.34323,0 l -8.01736,8.0174 -2.67413,-2.6741 c -1.47402,-1.474 -3.86922,-1.474 -5.34323,0 l -5.34312,5.3433 c -1.47402,1.474 -1.47402,3.8693 0,5.3434 l 2.67364,2.6739 -8.01714,8.0173 c -1.47401,1.4741 -1.47401,3.8694 0,5.3433 l 5.3435,5.3434 c 1.47401,1.474 3.8691,1.474 5.34312,0 l 8.01736,-8.0174 10.6913,10.6914 -21.37814,21.378 -13.36517,-13.3607 c -1.47402,-1.4739 -3.86948,-1.4739 -5.3435,0 l -5.35748,5.3575 c -1.47401,1.4741 -1.47401,3.8693 0,5.3433 l 13.36555,13.3654 -13.36555,13.3653 c -1.47401,1.4741 -1.47401,3.8693 0,5.3433 l 5.3435,5.3434 c 1.47402,1.474 3.8691,1.474 5.34312,0 l 13.36554,-13.3606 21.37803,21.3778 -10.69149,10.6914 -8.01706,-8.0173 c -1.47401,-1.474 -3.86948,-1.474 -5.34349,0 l -5.3435,5.3432 c -1.47364,1.474 -1.47364,3.8694 0,5.3434 l 8.01751,8.0172 -2.67401,2.6741 c -1.47402,1.474 -1.47402,3.8694 0,5.3434 l 5.34349,5.3432 c 1.47402,1.4741 3.8691,1.4741 5.34312,0 l 2.67394,-2.6739 8.01736,8.0172 c 1.47402,1.474 3.86941,1.474 5.34342,0 l 5.34323,-5.3433 c 1.47402,-1.474 1.47402,-3.8692 0,-5.3432 l -8.01736,-8.0175 10.6913,-10.6912 21.3828,21.3827 -13.36544,13.3652 c -1.47401,1.474 -1.47401,3.8695 0,5.3433 l 5.34343,5.3433 c 1.47401,1.4741 3.86921,1.4741 5.34323,0 l 13.37488,-13.3606 13.36528,13.3653 c 1.47401,1.474 3.8694,1.474 5.34342,0 l 5.34323,-5.3433 c 1.47401,-1.4739 1.47401,-3.8692 0,-5.3432 l -13.36543,-13.3653 21.38279,-21.3828 10.6913,10.6913 -8.01736,8.0173 c -1.47402,1.474 -1.47402,3.8694 0,5.3434 l 5.34323,5.3433 c 1.47402,1.474 3.86941,1.474 5.34342,0 l 8.01736,-8.0173 2.67394,2.674 c 1.47402,1.474 3.86922,1.474 5.34323,0 l 5.34342,-5.3434 c 1.47406,-1.474 1.47406,-3.8692 0,-5.3432 l -2.67409,-2.6741 8.01736,-8.0172 c 1.47402,-1.4741 1.47402,-3.8694 0,-5.3434 l -5.34327,-5.3433 c -1.47401,-1.474 -3.8694,-1.474 -5.34342,0 l -8.01717,8.0174 -10.69149,-10.6914 21.37799,-21.378 13.3654,13.3606 c 1.47405,1.474 3.86925,1.474 5.34326,0 l 5.34343,-5.3432 c 1.47397,-1.474 1.47397,-3.8694 0,-5.3433 z m -74.82984,-53.452 21.3778,21.378 -21.3778,21.3827 -21.37795,-21.3781 z m -53.45201,53.452 21.37795,-21.3827 21.38261,21.3827 -21.38261,21.3827 z m 53.45201,53.4519 -21.38275,-21.3827 21.38275,-21.3826 21.38264,21.3826 z m 32.06929,-32.074 -21.37795,-21.3779 21.3826,-21.378 21.37795,21.378 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472441" />
<path
id="path5717-1"
d="m 692.85695,1593.1058 a 3.8361918,3.8361918 0 0 0 3.77953,3.685 h 7.55867 a 3.7511533,3.7511533 0 0 0 3.77991,-3.8739 c -0.99288,-19.8897 -9.11811,-34.6297 -19.65317,-45.1178 -8.69329,-8.8345 -9.96888,-18.0471 -10.34683,-23.1022 a 3.7180827,3.7180827 0 0 0 -3.77953,-3.3543 l -7.55905,0.045 a 3.7794994,3.7794994 0 0 0 -3.73191,4.1102 49.823248,49.823248 0 0 0 14.74016,32.9289 c 8.17285,8.1259 14.36183,19.2282 15.21222,34.6768 z m -52.67679,0 a 3.8361918,3.8361918 0 0 0 3.77953,3.685 h 7.55905 a 3.7511533,3.7511533 0 0 0 3.77953,-3.8739 c -0.99212,-19.8897 -9.11811,-34.6297 -19.65354,-45.1178 -8.64567,-8.8345 -9.92088,-18.0471 -10.29884,-23.1022 a 3.7322557,3.7322557 0 0 0 -3.82677,-3.3543 l -7.55905,0.045 a 3.7794994,3.7794994 0 0 0 -3.73229,4.1102 c 0.47244,7.0393 2.45669,20.5982 14.74016,32.9289 8.16831,8.1259 14.35729,19.2282 15.21222,34.6768 z m 128.50318,18.9448 H 557.03131 a 15.117997,15.117997 0 0 0 -15.11811,15.1179 c 0,44.7399 24.35868,83.6971 60.47206,104.6214 v 16.3227 a 15.117997,15.117997 0 0 0 15.11773,15.118 h 90.70791 a 15.117997,15.117997 0 0 0 15.11849,-15.118 v -16.3227 c 36.11263,-20.9243 60.47169,-59.8815 60.47169,-104.6214 a 15.117997,15.117997 0 0 0 -15.11774,-15.1179 z m -60.47244,111.0228 v 25.0392 h -90.70791 v -25.0392 c -62.52207,-36.2218 -60.47168,-87.7695 -60.47168,-95.9049 h 211.65203 c 0,8.2488 1.59194,59.9476 -60.47244,95.9049 z"
inkscape:connector-curvature="0"
style="fill:#303030;fill-opacity:1;stroke-width:0.472437" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 24 KiB

17
cookbook/static/css/app.min.css vendored Normal file
View File

@@ -0,0 +1,17 @@
.spinner-tandoor {
animation: rotation 3s infinite linear;
content: url("../assets/spinner.svg");
width: auto;
height: 20vh;
margin: 0;
padding: 0;
}
@keyframes rotation {
from {
transform: rotate(0deg);
}
to {
transform: rotate(359deg);
}
}

View File

@@ -0,0 +1,47 @@
(function(){
var v = "1.3.2";
if (window.jQuery === undefined || window.jQuery.fn.jquery < v) {
var done = false;
var script = document.createElement("script");
script.src = "https://ajax.googleapis.com/ajax/libs/jquery/" + v + "/jquery.min.js";
script.onload = script.onreadystatechange = function(){
if (!done && (!this.readyState || this.readyState == "loaded" || this.readyState == "complete")) {
done = true;
initBookmarklet();
}
};
document.getElementsByTagName("head")[0].appendChild(script);
} else {
initBookmarklet();
}
function initBookmarklet() {
(window.bookmarkletTandoor = function() {
let recipe = document.documentElement.innerHTML
let windowName = "ImportRecipe"
let url = localStorage.getItem('importURL')
let redirect = localStorage.getItem('redirectURL')
let token = localStorage.getItem('token')
let params = { 'url': window.location.protocol + '//' + window.location.host + window.location.pathname, 'html' : recipe};
const xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');
xhr.setRequestHeader('Authorization', 'Token ' + token);
// listen for `onload` event
xhr.onload = () => {
// process response
if (xhr.readyState == 4 && xhr.status == 201) {
// parse JSON data
window.open(redirect.concat('?id=', JSON.parse(xhr.response).id) )
} else {
console.error('Error!');
}
};
xhr.send(JSON.stringify(params));
}
)();
}
})();

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

10464
cookbook/static/themes/tandoor.min.css vendored Normal file

File diff suppressed because it is too large Load Diff

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 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><link href="css/chunk-vendors.css" rel="preload" as="style"><link href="js/chunk-vendors.js" rel="preload" as="script"><link href="js/recipe_search_view.js" rel="preload" as="script"><link href="css/chunk-vendors.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="img/icons/favicon-16x16.png"><link rel="manifest" href="manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="apple-mobile-web-app-title" content="Recipes"><link rel="apple-touch-icon" href="img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><div id="app"></div><script src="js/chunk-vendors.js"></script></body></html>

View File

@@ -0,0 +1 @@
<!DOCTYPE html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Vue App</title><link href="css/chunk-vendors.css" rel="preload" as="style"><link href="js/chunk-vendors.js" rel="preload" as="script"><link href="js/supermarket_view.js" rel="preload" as="script"><link href="css/chunk-vendors.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="img/icons/favicon-16x16.png"><link rel="manifest" href="manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><meta name="apple-mobile-web-app-title" content="Recipes"><link rel="apple-touch-icon" href="img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><div id="app"></div><script src="js/chunk-vendors.js"></script></body></html>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -141,17 +141,17 @@ class ShoppingListTable(tables.Table):
class InviteLinkTable(tables.Table):
link = tables.TemplateColumn(
"<a href='{% url 'view_signup' record.uuid %}' >" + _('Link') + "</a>"
"<input value='{{ request.scheme }}://{{ request.get_host }}{% url 'view_invite' record.uuid %}' class='form-control' />"
)
delete = tables.TemplateColumn(
"<a href='{% url 'delete_invite_link' record.id %}' >" + _('Delete') + "</a>" # noqa: E501
delete_link = tables.TemplateColumn(
"<a href='{% url 'delete_invite_link' record.pk %}' >" + _('Delete') + "</a>", verbose_name=_('Delete')
)
class Meta:
model = InviteLink
template_name = 'generic/table_template.html'
fields = (
'username', 'group', 'valid_until', 'created_by', 'created_at'
'username', 'group', 'valid_until',
)

View File

@@ -0,0 +1,82 @@
{% extends "base.html" %}
{% load crispy_forms_filters %}
{% load i18n %}
{% block title %}{% trans "E-mail Addresses" %}{% endblock %}
{% block content %}
<h3>{% trans "E-mail Addresses" %}</h3>
{% if user.emailaddress_set.all %}
<p>{% trans 'The following e-mail addresses are associated with your account:' %}</p>
<form action="{% url 'account_email' %}" class="email_list" method="post">
{% csrf_token %}
<fieldset class="blockLabels">
{% for emailaddress in user.emailaddress_set.all %}
<div class="ctrlHolder">
<label for="email_radio_{{ forloop.counter }}"
class="{% if emailaddress.primary %}primary_email{% endif %}">
<input id="email_radio_{{ forloop.counter }}" type="radio" name="email"
{% if emailaddress.primary or user.emailaddress_set.count == 1 %}checked="checked"{% endif %}
value="{{ emailaddress.email }}"/>
{{ emailaddress.email }}
{% if emailaddress.verified %}
<span class="badge badge-pill badge-success">{% trans "Verified" %}</span>
{% else %}
<span class="badge badge-pill badge-warning">{% trans "Unverified" %}</span>
{% endif %}
{% if emailaddress.primary %}<span class="badge badge-pill badge-info">{% trans "Primary" %}</span>{% endif %}
</label>
</div>
{% endfor %}
<div class="buttonHolder">
<button class="btn btn-success" type="submit"
name="action_primary">{% trans 'Make Primary' %}</button>
<button class="btn btn-info" type="submit"
name="action_send">{% trans 'Re-send Verification' %}</button>
<button class="btn btn-warning" type="submit" name="action_remove">{% trans 'Remove' %}</button>
</div>
</fieldset>
</form>
{% else %}
<p>
<strong>{% trans 'Warning:' %}</strong> {% trans "You currently do not have any e-mail address set up. You should really add an e-mail address so you can receive notifications, reset your password, etc." %}
</p>
{% endif %}
{% if can_add_email %}
<h3>{% trans "Add E-mail Address" %}</h3>
<form method="post" action="{% url 'account_email' %}" class="add_email">
{% csrf_token %}
{{ form | crispy }}
<button name="action_add" class="btn btn-success" type="submit">{% trans "Add E-mail" %}</button>
</form>
{% endif %}
{% endblock %}
{% block extra_body %}
<script type="text/javascript">
(function () {
var message = "{% trans 'Do you really want to remove the selected e-mail address?' %}";
var actions = document.getElementsByName('action_remove');
if (actions.length) {
actions[0].addEventListener("click", function (e) {
if (!confirm(message)) {
e.preventDefault();
}
});
}
})();
</script>
{% endblock %}

View File

@@ -0,0 +1,34 @@
{% extends "base.html" %}
{% load i18n %}
{% load account %}
{% block title %}{% trans "Confirm E-mail Address" %}{% endblock %}
{% block content %}
<h3>{% trans "Confirm E-mail Address" %}</h3>
{% if confirmation %}
{% user_display confirmation.email_address.user as user_display %}
<p>{% blocktrans with confirmation.email_address.email as email %}Please confirm that
<a href="mailto:{{ email }}">{{ email }}</a> is an e-mail address for user {{ user_display }}
.{% endblocktrans %}</p>
<form method="post" action="{% url 'account_confirm_email' confirmation.key %}">
{% csrf_token %}
<button class="btn btn-primary" type="submit">{% trans 'Confirm' %}</button>
</form>
{% else %}
{% url 'account_email' as email_url %}
<p>{% blocktrans %}This e-mail confirmation link expired or is invalid. Please
<a href="{{ email_url }}">issue a new e-mail confirmation request</a>.{% endblocktrans %}</p>
{% endif %}
{% endblock %}

View File

@@ -1,6 +1,7 @@
{% extends "base.html" %}
{% load crispy_forms_filters %}
{% load i18n %}
{% load static %}
{% load account socialaccount %}
@@ -8,6 +9,7 @@
{% block content %}
<div class="row">
<div class="col-12" style="text-align: center">
<h3>{% trans "Sign In" %}</h3>
@@ -17,6 +19,7 @@
<div class="row">
<div class="col-6 offset-3">
<hr>
<form class="login" method="POST" action="{% url 'account_login' %}">
{% csrf_token %}
{{ form | crispy }}
@@ -25,7 +28,13 @@
<input type="hidden" name="{{ redirect_field_name }}" value="{{ redirect_field_value }}"/>
{% endif %}
<button class="btn btn-primary" type="submit">{% trans "Sign In" %}</button>
<button class="btn btn-success" type="submit">{% trans "Sign In" %}</button>
<a class="btn btn-secondary" href="{% url 'account_signup' %}">{% trans "Sign Up" %}</a>
{% if EMAIL_ENABLED %}
<a class="btn btn-warning float-right"
href="{% url 'account_reset_password' %}">{% trans "Reset My Password" %}</a>
{% endif %}
</form>
</div>
</div>

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