Compare commits
56 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9e2acadb7e | ||
|
|
48da93b4ec | ||
|
|
0c1adc8906 | ||
|
|
9e5a0a0209 | ||
|
|
9b96689072 | ||
|
|
5e5674f48d | ||
|
|
272e68ad2e | ||
|
|
01e06979d8 | ||
|
|
e45c77d51d | ||
|
|
bee1130c6e | ||
|
|
5f8448d0e2 | ||
|
|
9438d38dc6 | ||
|
|
d0c66758c2 | ||
|
|
9e8a9d5907 | ||
|
|
7449be39fb | ||
|
|
e9f3d0bce4 | ||
|
|
2abc8aa9b4 | ||
|
|
69b70a2a07 | ||
|
|
0c42bcb8d6 | ||
|
|
091c708a28 | ||
|
|
084be9c990 | ||
|
|
6db1085337 | ||
|
|
66553e106d | ||
|
|
5b01dbd9f8 | ||
|
|
c86f214fc3 | ||
|
|
32149640d9 | ||
|
|
15f16455fc | ||
|
|
15cdfac9d9 | ||
|
|
04de397916 | ||
|
|
4643082c5b | ||
|
|
3b2b74e62d | ||
|
|
68354cf53d | ||
|
|
3e364e0eba | ||
|
|
06ea29bfc7 | ||
|
|
f4e178955c | ||
|
|
51d531d732 | ||
|
|
e40c4ca97d | ||
|
|
b8ede70f3a | ||
|
|
50b349b464 | ||
|
|
67d097cca7 | ||
|
|
494385a379 | ||
|
|
c2ee84b753 | ||
|
|
c1e0296cda | ||
|
|
f041223c38 | ||
|
|
d36738d7ef | ||
|
|
e51ff34c89 | ||
|
|
ba4ed9cf27 | ||
|
|
33b7f1684d | ||
|
|
3d14df6a11 | ||
|
|
08ce1e28ce | ||
|
|
e4118a1620 | ||
|
|
64d0c09b08 | ||
|
|
008e5eb024 | ||
|
|
e6553065fd | ||
|
|
de996a4566 | ||
|
|
4784ae4cd0 |
@@ -84,6 +84,7 @@ jobs:
|
||||
docker run test-changedetectionio bash -c 'python3 -m unittest changedetectionio.tests.unit.test_watch_model'
|
||||
docker run test-changedetectionio bash -c 'python3 -m unittest changedetectionio.tests.unit.test_jinja2_security'
|
||||
docker run test-changedetectionio bash -c 'python3 -m unittest changedetectionio.tests.unit.test_semver'
|
||||
docker run test-changedetectionio bash -c 'python3 -m unittest changedetectionio.tests.unit.test_html_to_text'
|
||||
|
||||
# Basic pytest tests with ancillary services
|
||||
basic-tests:
|
||||
|
||||
@@ -11,6 +11,7 @@ recursive-include changedetectionio/realtime *
|
||||
recursive-include changedetectionio/static *
|
||||
recursive-include changedetectionio/templates *
|
||||
recursive-include changedetectionio/tests *
|
||||
recursive-include changedetectionio/translations *
|
||||
recursive-include changedetectionio/widgets *
|
||||
prune changedetectionio/static/package-lock.json
|
||||
prune changedetectionio/static/styles/node_modules
|
||||
|
||||
@@ -183,6 +183,9 @@ docker compose pull && docker compose up -d
|
||||
|
||||
See the wiki for more information https://github.com/dgtlmoon/changedetection.io/wiki
|
||||
|
||||
## Different browser viewport sizes (mobile, desktop etc)
|
||||
|
||||
If you are using the recommended `sockpuppetbrowser` (which is in the docker-compose.yml as a setting to be uncommented) you can easily set different viewport sizes for your web page change detection, [see more information here about setting up different viewport sizes](https://github.com/dgtlmoon/sockpuppetbrowser?tab=readme-ov-file#setting-viewport-size).
|
||||
|
||||
## Filters
|
||||
|
||||
|
||||
5
babel.cfg
Normal file
@@ -0,0 +1,5 @@
|
||||
[python: **.py]
|
||||
keywords = _:1,_l:1,gettext:1
|
||||
|
||||
[jinja2: **/templates/**.html]
|
||||
encoding = utf-8
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# Read more https://github.com/dgtlmoon/changedetection.io/wiki
|
||||
# Semver means never use .01, or 00. Should be .1.
|
||||
__version__ = '0.51.4'
|
||||
__version__ = '0.52.7'
|
||||
|
||||
from changedetectionio.strtobool import strtobool
|
||||
from json.decoder import JSONDecodeError
|
||||
@@ -41,9 +41,10 @@ from loguru import logger
|
||||
#
|
||||
# IMPLEMENTATION:
|
||||
# 1. Explicit contexts everywhere (primary protection):
|
||||
# - Watch.py: ctx = multiprocessing.get_context('spawn')
|
||||
# - playwright.py: ctx = multiprocessing.get_context('spawn')
|
||||
# - puppeteer.py: ctx = multiprocessing.get_context('spawn')
|
||||
# - isolated_opencv.py: ctx = multiprocessing.get_context('spawn')
|
||||
# - isolated_libvips.py: ctx = multiprocessing.get_context('spawn')
|
||||
#
|
||||
# 2. Global default (defense-in-depth, below):
|
||||
# - Safety net if future code forgets explicit context
|
||||
@@ -286,7 +287,9 @@ def main():
|
||||
return dict(right_sticky="v{}".format(datastore.data['version_tag']),
|
||||
new_version_available=app.config['NEW_VERSION_AVAILABLE'],
|
||||
has_password=datastore.data['settings']['application']['password'] != False,
|
||||
socket_io_enabled=datastore.data['settings']['application']['ui'].get('socket_io_enabled', True)
|
||||
socket_io_enabled=datastore.data['settings']['application']['ui'].get('socket_io_enabled', True),
|
||||
all_paused=datastore.data['settings']['application'].get('all_paused', False),
|
||||
all_muted=datastore.data['settings']['application'].get('all_muted', False)
|
||||
)
|
||||
|
||||
# Monitored websites will not receive a Referer header when a user clicks on an outgoing link.
|
||||
|
||||
@@ -2,7 +2,9 @@ from changedetectionio import queuedWatchMetaData
|
||||
from changedetectionio import worker_handler
|
||||
from flask_expects_json import expects_json
|
||||
from flask_restful import abort, Resource
|
||||
from loguru import logger
|
||||
|
||||
import threading
|
||||
from flask import request
|
||||
from . import auth
|
||||
|
||||
@@ -28,18 +30,36 @@ class Tag(Resource):
|
||||
abort(404, message=f'No tag exists with the UUID of {uuid}')
|
||||
|
||||
if request.args.get('recheck'):
|
||||
# Recheck all, including muted
|
||||
# Get most overdue first
|
||||
i=0
|
||||
# Recheck all watches with this tag, including muted
|
||||
# First collect watches to queue
|
||||
watches_to_queue = []
|
||||
for k in sorted(self.datastore.data['watching'].items(), key=lambda item: item[1].get('last_checked', 0)):
|
||||
watch_uuid = k[0]
|
||||
watch = k[1]
|
||||
if not watch['paused'] and tag['uuid'] not in watch['tags']:
|
||||
continue
|
||||
worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': watch_uuid}))
|
||||
i+=1
|
||||
if not watch['paused'] and tag['uuid'] in watch['tags']:
|
||||
watches_to_queue.append(watch_uuid)
|
||||
|
||||
return f"OK, {i} watches queued", 200
|
||||
# If less than 20 watches, queue synchronously for immediate feedback
|
||||
if len(watches_to_queue) < 20:
|
||||
for watch_uuid in watches_to_queue:
|
||||
worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': watch_uuid}))
|
||||
return {'status': f'OK, queued {len(watches_to_queue)} watches for rechecking'}, 200
|
||||
else:
|
||||
# 20+ watches - queue in background thread to avoid blocking API response
|
||||
def queue_watches_background():
|
||||
"""Background thread to queue watches - discarded after completion."""
|
||||
try:
|
||||
for watch_uuid in watches_to_queue:
|
||||
worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': watch_uuid}))
|
||||
logger.info(f"Background queueing complete for tag {tag['uuid']}: {len(watches_to_queue)} watches queued")
|
||||
except Exception as e:
|
||||
logger.error(f"Error in background queueing for tag {tag['uuid']}: {e}")
|
||||
|
||||
# Start background thread and return immediately
|
||||
thread = threading.Thread(target=queue_watches_background, daemon=True, name=f"QueueTag-{tag['uuid'][:8]}")
|
||||
thread.start()
|
||||
|
||||
return {'status': f'OK, queueing {len(watches_to_queue)} watches in background'}, 202
|
||||
|
||||
if request.args.get('muted', '') == 'muted':
|
||||
self.datastore.data['settings']['application']['tags'][uuid]['notification_muted'] = True
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import os
|
||||
import threading
|
||||
|
||||
from changedetectionio.validate_url import is_safe_valid_url
|
||||
|
||||
@@ -64,8 +65,17 @@ class Watch(Resource):
|
||||
@validate_openapi_request('getWatch')
|
||||
def get(self, uuid):
|
||||
"""Get information about a single watch, recheck, pause, or mute."""
|
||||
import time
|
||||
from copy import deepcopy
|
||||
watch = deepcopy(self.datastore.data['watching'].get(uuid))
|
||||
watch = None
|
||||
for _ in range(20):
|
||||
try:
|
||||
watch = deepcopy(self.datastore.data['watching'].get(uuid))
|
||||
break
|
||||
except RuntimeError:
|
||||
# Incase dict changed, try again
|
||||
time.sleep(0.01)
|
||||
|
||||
if not watch:
|
||||
abort(404, message='No watch exists with the UUID of {}'.format(uuid))
|
||||
|
||||
@@ -302,18 +312,28 @@ class WatchHistoryDiff(Resource):
|
||||
from_version_file_contents = watch.get_history_snapshot(from_timestamp)
|
||||
to_version_file_contents = watch.get_history_snapshot(to_timestamp)
|
||||
|
||||
# Get diff preferences (using defaults similar to the existing code)
|
||||
diff_prefs = {
|
||||
'diff_ignoreWhitespace': False,
|
||||
'diff_changesOnly': True
|
||||
}
|
||||
# Get diff preferences from query parameters (matching UI preferences in DIFF_PREFERENCES_CONFIG)
|
||||
# Support both 'type' (UI parameter) and 'word_diff' (API parameter) for backward compatibility
|
||||
diff_type = request.args.get('type', 'diffLines')
|
||||
if diff_type == 'diffWords':
|
||||
word_diff = True
|
||||
|
||||
# Generate the diff
|
||||
# Get boolean diff preferences with defaults from DIFF_PREFERENCES_CONFIG
|
||||
changes_only = strtobool(request.args.get('changesOnly', 'true'))
|
||||
ignore_whitespace = strtobool(request.args.get('ignoreWhitespace', 'false'))
|
||||
include_removed = strtobool(request.args.get('removed', 'true'))
|
||||
include_added = strtobool(request.args.get('added', 'true'))
|
||||
include_replaced = strtobool(request.args.get('replaced', 'true'))
|
||||
|
||||
# Generate the diff with all preferences
|
||||
content = diff.render_diff(
|
||||
previous_version_file_contents=from_version_file_contents,
|
||||
newest_version_file_contents=to_version_file_contents,
|
||||
ignore_junk=diff_prefs.get('diff_ignoreWhitespace'),
|
||||
include_equal=not diff_prefs.get('diff_changesOnly'),
|
||||
ignore_junk=ignore_whitespace,
|
||||
include_equal=changes_only,
|
||||
include_removed=include_removed,
|
||||
include_added=include_added,
|
||||
include_replaced=include_replaced,
|
||||
word_diff=word_diff,
|
||||
)
|
||||
|
||||
@@ -419,7 +439,8 @@ class CreateWatch(Resource):
|
||||
|
||||
new_uuid = self.datastore.add_watch(url=url, extras=extras, tag=tags)
|
||||
if new_uuid:
|
||||
worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': new_uuid}))
|
||||
# Dont queue because the scheduler will check that it hasnt been checked before anyway
|
||||
# worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': new_uuid}))
|
||||
return {'uuid': new_uuid}, 201
|
||||
else:
|
||||
return "Invalid or unsupported URL", 400
|
||||
@@ -449,8 +470,58 @@ class CreateWatch(Resource):
|
||||
}
|
||||
|
||||
if request.args.get('recheck_all'):
|
||||
for uuid in self.datastore.data['watching'].keys():
|
||||
worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
return {'status': "OK"}, 200
|
||||
# Collect all watches to queue
|
||||
watches_to_queue = self.datastore.data['watching'].keys()
|
||||
|
||||
# If less than 20 watches, queue synchronously for immediate feedback
|
||||
if len(watches_to_queue) < 20:
|
||||
# Get already queued/running UUIDs once (efficient)
|
||||
queued_uuids = set(self.update_q.get_queued_uuids())
|
||||
running_uuids = set(worker_handler.get_running_uuids())
|
||||
|
||||
# Filter out watches that are already queued or running
|
||||
watches_to_queue_filtered = [
|
||||
uuid for uuid in watches_to_queue
|
||||
if uuid not in queued_uuids and uuid not in running_uuids
|
||||
]
|
||||
|
||||
# Queue only the filtered watches
|
||||
for uuid in watches_to_queue_filtered:
|
||||
worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
|
||||
# Provide feedback about skipped watches
|
||||
skipped_count = len(watches_to_queue) - len(watches_to_queue_filtered)
|
||||
if skipped_count > 0:
|
||||
return {'status': f'OK, queued {len(watches_to_queue_filtered)} watches for rechecking ({skipped_count} already queued or running)'}, 200
|
||||
else:
|
||||
return {'status': f'OK, queued {len(watches_to_queue_filtered)} watches for rechecking'}, 200
|
||||
else:
|
||||
# 20+ watches - queue in background thread to avoid blocking API response
|
||||
# Capture queued/running state before background thread
|
||||
queued_uuids = set(self.update_q.get_queued_uuids())
|
||||
running_uuids = set(worker_handler.get_running_uuids())
|
||||
|
||||
def queue_all_watches_background():
|
||||
"""Background thread to queue all watches - discarded after completion."""
|
||||
try:
|
||||
queued_count = 0
|
||||
skipped_count = 0
|
||||
for uuid in watches_to_queue:
|
||||
# Check if already queued or running (state captured at start)
|
||||
if uuid not in queued_uuids and uuid not in running_uuids:
|
||||
worker_handler.queue_item_async_safe(self.update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
queued_count += 1
|
||||
else:
|
||||
skipped_count += 1
|
||||
|
||||
logger.info(f"Background queueing complete: {queued_count} watches queued, {skipped_count} skipped (already queued/running)")
|
||||
except Exception as e:
|
||||
logger.error(f"Error in background queueing all watches: {e}")
|
||||
|
||||
# Start background thread and return immediately
|
||||
thread = threading.Thread(target=queue_all_watches_background, daemon=True, name="QueueAllWatches-Background")
|
||||
thread.start()
|
||||
|
||||
return {'status': f'OK, queueing {len(watches_to_queue)} watches in background'}, 202
|
||||
|
||||
return list, 200
|
||||
@@ -1,5 +1,4 @@
|
||||
from blinker import signal
|
||||
|
||||
from .processors.exceptions import ProcessorException
|
||||
import changedetectionio.content_fetchers.exceptions as content_fetchers_exceptions
|
||||
from changedetectionio.processors.text_json_diff.processor import FilterNotFoundInResponse
|
||||
@@ -9,7 +8,7 @@ from changedetectionio.flask_app import watch_check_update
|
||||
import asyncio
|
||||
import importlib
|
||||
import os
|
||||
import queue
|
||||
import sys
|
||||
import time
|
||||
|
||||
from loguru import logger
|
||||
@@ -17,36 +16,51 @@ from loguru import logger
|
||||
# Async version of update_worker
|
||||
# Processes jobs from AsyncSignalPriorityQueue instead of threaded queue
|
||||
|
||||
async def async_update_worker(worker_id, q, notification_q, app, datastore):
|
||||
IN_PYTEST = "pytest" in sys.modules or "PYTEST_CURRENT_TEST" in os.environ
|
||||
DEFER_SLEEP_TIME_ALREADY_QUEUED = 0.3 if IN_PYTEST else 10.0
|
||||
|
||||
async def async_update_worker(worker_id, q, notification_q, app, datastore, executor=None):
|
||||
"""
|
||||
Async worker function that processes watch check jobs from the queue.
|
||||
|
||||
|
||||
Args:
|
||||
worker_id: Unique identifier for this worker
|
||||
q: AsyncSignalPriorityQueue containing jobs to process
|
||||
notification_q: Standard queue for notifications
|
||||
app: Flask application instance
|
||||
datastore: Application datastore
|
||||
executor: ThreadPoolExecutor for queue operations (optional)
|
||||
"""
|
||||
# Set a descriptive name for this task
|
||||
task = asyncio.current_task()
|
||||
if task:
|
||||
task.set_name(f"async-worker-{worker_id}")
|
||||
|
||||
|
||||
logger.info(f"Starting async worker {worker_id}")
|
||||
|
||||
|
||||
while not app.config.exit.is_set():
|
||||
update_handler = None
|
||||
watch = None
|
||||
|
||||
try:
|
||||
# Use native janus async interface - no threads needed!
|
||||
queued_item_data = await asyncio.wait_for(q.async_get(), timeout=1.0)
|
||||
# Use sync interface via run_in_executor since each worker has its own event loop
|
||||
loop = asyncio.get_event_loop()
|
||||
queued_item_data = await asyncio.wait_for(
|
||||
loop.run_in_executor(executor, q.get, True, 1.0), # block=True, timeout=1.0
|
||||
timeout=1.5
|
||||
)
|
||||
|
||||
except asyncio.TimeoutError:
|
||||
# No jobs available, continue loop
|
||||
continue
|
||||
except Exception as e:
|
||||
# Handle expected Empty exception from queue timeout
|
||||
import queue
|
||||
if isinstance(e, queue.Empty):
|
||||
# Queue is empty, normal behavior - just continue
|
||||
continue
|
||||
|
||||
# Unexpected exception - log as critical
|
||||
logger.critical(f"CRITICAL: Worker {worker_id} failed to get queue item: {type(e).__name__}: {e}")
|
||||
|
||||
# Log queue health for debugging
|
||||
@@ -61,24 +75,25 @@ async def async_update_worker(worker_id, q, notification_q, app, datastore):
|
||||
continue
|
||||
|
||||
uuid = queued_item_data.item.get('uuid')
|
||||
|
||||
# RACE CONDITION FIX: Check if this UUID is already being processed by another worker
|
||||
from changedetectionio import worker_handler
|
||||
from changedetectionio.queuedWatchMetaData import PrioritizedItem
|
||||
if worker_handler.is_watch_running(uuid):
|
||||
logger.trace(f"Worker {worker_id} skipping UUID {uuid} - already being processed, re-queuing for later")
|
||||
# Re-queue with MUCH lower priority (higher number = processed later)
|
||||
# This prevents tight loop where high-priority item keeps getting picked immediately
|
||||
if worker_handler.is_watch_running_by_another_worker(uuid, worker_id):
|
||||
logger.trace(f"Worker {worker_id} detected UUID {uuid} already being processed by another worker - deferring")
|
||||
# Sleep to avoid tight loop and give the other worker time to finish
|
||||
await asyncio.sleep(DEFER_SLEEP_TIME_ALREADY_QUEUED)
|
||||
|
||||
# Re-queue with lower priority so it gets checked again after current processing finishes
|
||||
deferred_priority = max(1000, queued_item_data.priority * 10)
|
||||
deferred_item = PrioritizedItem(priority=deferred_priority, item=queued_item_data.item)
|
||||
worker_handler.queue_item_async_safe(q, deferred_item, silent=True)
|
||||
await asyncio.sleep(0.1) # Brief pause to avoid tight loop
|
||||
logger.debug(f"Worker {worker_id} re-queued UUID {uuid} for subsequent check")
|
||||
continue
|
||||
|
||||
fetch_start_time = round(time.time())
|
||||
|
||||
# Mark this UUID as being processed
|
||||
worker_handler.set_uuid_processing(uuid, processing=True)
|
||||
# Mark this UUID as being processed by this worker
|
||||
worker_handler.set_uuid_processing(uuid, worker_id=worker_id, processing=True)
|
||||
|
||||
try:
|
||||
if uuid in list(datastore.data['watching'].keys()) and datastore.data['watching'][uuid].get('url'):
|
||||
@@ -117,8 +132,14 @@ async def async_update_worker(worker_id, q, notification_q, app, datastore):
|
||||
# All fetchers are now async, so call directly
|
||||
await update_handler.call_browser()
|
||||
|
||||
# Run change detection (this is synchronous)
|
||||
changed_detected, update_obj, contents = update_handler.run_changedetection(watch=watch)
|
||||
# Run change detection in executor to avoid blocking event loop
|
||||
# This includes CPU-intensive operations like HTML parsing (lxml/inscriptis)
|
||||
# which can take 2-10ms and cause GIL contention across workers
|
||||
loop = asyncio.get_event_loop()
|
||||
changed_detected, update_obj, contents = await loop.run_in_executor(
|
||||
executor,
|
||||
lambda: update_handler.run_changedetection(watch=watch)
|
||||
)
|
||||
|
||||
except PermissionError as e:
|
||||
logger.critical(f"File permission error updating file, watch: {uuid}")
|
||||
@@ -412,17 +433,16 @@ async def async_update_worker(worker_id, q, notification_q, app, datastore):
|
||||
datastore.update_watch(uuid=uuid, update_obj={'last_error': f"Worker error: {str(e)}"})
|
||||
|
||||
finally:
|
||||
|
||||
try:
|
||||
await update_handler.fetcher.quit(watch=watch)
|
||||
except Exception as e:
|
||||
logger.error(f"Exception while cleaning/quit after calling browser: {e}")
|
||||
|
||||
# Always cleanup - this runs whether there was an exception or not
|
||||
if uuid:
|
||||
try:
|
||||
# Mark UUID as no longer being processed
|
||||
worker_handler.set_uuid_processing(uuid, processing=False)
|
||||
if update_handler and hasattr(update_handler, 'fetcher') and update_handler.fetcher:
|
||||
await update_handler.fetcher.quit(watch=watch)
|
||||
except Exception as e:
|
||||
logger.error(f"Exception while cleaning/quit after calling browser: {e}")
|
||||
try:
|
||||
# Mark UUID as no longer being processed by this worker
|
||||
worker_handler.set_uuid_processing(uuid, worker_id=worker_id, processing=False)
|
||||
|
||||
# Send completion signal
|
||||
if watch:
|
||||
@@ -458,7 +478,9 @@ async def async_update_worker(worker_id, q, notification_q, app, datastore):
|
||||
logger.debug(f"Worker {worker_id} completed watch {uuid} in {time.time()-fetch_start_time:.2f}s")
|
||||
except Exception as cleanup_error:
|
||||
logger.error(f"Worker {worker_id} error during cleanup: {cleanup_error}")
|
||||
|
||||
|
||||
del(uuid)
|
||||
|
||||
# Brief pause before continuing to avoid tight error loops (only on error)
|
||||
if 'e' in locals():
|
||||
await asyncio.sleep(1.0)
|
||||
|
||||
@@ -3,6 +3,7 @@ import glob
|
||||
import threading
|
||||
|
||||
from flask import Blueprint, render_template, send_from_directory, flash, url_for, redirect, abort
|
||||
from flask_babel import gettext
|
||||
import os
|
||||
|
||||
from changedetectionio.store import ChangeDetectionStore
|
||||
@@ -82,19 +83,24 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
@backups_blueprint.route("/request-backup", methods=['GET'])
|
||||
def request_backup():
|
||||
if any(thread.is_alive() for thread in backup_threads):
|
||||
flash("A backup is already running, check back in a few minutes", "error")
|
||||
flash(gettext("A backup is already running, check back in a few minutes"), "error")
|
||||
return redirect(url_for('backups.index'))
|
||||
|
||||
if len(find_backups()) > int(os.getenv("MAX_NUMBER_BACKUPS", 100)):
|
||||
flash("Maximum number of backups reached, please remove some", "error")
|
||||
flash(gettext("Maximum number of backups reached, please remove some"), "error")
|
||||
return redirect(url_for('backups.index'))
|
||||
|
||||
# Be sure we're written fresh
|
||||
datastore.sync_to_json()
|
||||
zip_thread = threading.Thread(target=create_backup, args=(datastore.datastore_path, datastore.data.get("watching")))
|
||||
zip_thread = threading.Thread(
|
||||
target=create_backup,
|
||||
args=(datastore.datastore_path, datastore.data.get("watching")),
|
||||
daemon=True,
|
||||
name="BackupCreator"
|
||||
)
|
||||
zip_thread.start()
|
||||
backup_threads.append(zip_thread)
|
||||
flash("Backup building in background, check back in a few minutes.")
|
||||
flash(gettext("Backup building in background, check back in a few minutes."))
|
||||
|
||||
return redirect(url_for('backups.index'))
|
||||
|
||||
@@ -157,7 +163,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
for backup in backups:
|
||||
os.unlink(backup)
|
||||
|
||||
flash("Backups were deleted.")
|
||||
flash(gettext("Backups were deleted."))
|
||||
|
||||
return redirect(url_for('backups.index'))
|
||||
|
||||
|
||||
@@ -21,31 +21,154 @@ from changedetectionio.flask_app import login_optionally_required
|
||||
from loguru import logger
|
||||
|
||||
browsersteps_sessions = {}
|
||||
browsersteps_watch_to_session = {} # Maps watch_uuid -> browsersteps_session_id
|
||||
io_interface_context = None
|
||||
import json
|
||||
import hashlib
|
||||
from flask import Response
|
||||
import asyncio
|
||||
import threading
|
||||
import time
|
||||
|
||||
def run_async_in_browser_loop(coro):
|
||||
"""Run async coroutine using the existing async worker event loop"""
|
||||
from changedetectionio import worker_handler
|
||||
|
||||
# Use the existing async worker event loop instead of creating a new one
|
||||
if worker_handler.USE_ASYNC_WORKERS and worker_handler.async_loop and not worker_handler.async_loop.is_closed():
|
||||
logger.debug("Browser steps using existing async worker event loop")
|
||||
future = asyncio.run_coroutine_threadsafe(coro, worker_handler.async_loop)
|
||||
return future.result()
|
||||
else:
|
||||
# Fallback: create a new event loop (for sync workers or if async loop not available)
|
||||
logger.debug("Browser steps creating temporary event loop")
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
# Dedicated event loop for ALL browser steps sessions
|
||||
_browser_steps_loop = None
|
||||
_browser_steps_thread = None
|
||||
_browser_steps_loop_lock = threading.Lock()
|
||||
|
||||
def _start_browser_steps_loop():
|
||||
"""Start a dedicated event loop for browser steps in its own thread"""
|
||||
global _browser_steps_loop
|
||||
|
||||
# Create and set the event loop for this thread
|
||||
loop = asyncio.new_event_loop()
|
||||
asyncio.set_event_loop(loop)
|
||||
_browser_steps_loop = loop
|
||||
|
||||
logger.debug("Browser steps event loop started")
|
||||
|
||||
try:
|
||||
# Run the loop forever - handles all browsersteps sessions
|
||||
loop.run_forever()
|
||||
except Exception as e:
|
||||
logger.error(f"Browser steps event loop error: {e}")
|
||||
finally:
|
||||
try:
|
||||
return loop.run_until_complete(coro)
|
||||
# Cancel all remaining tasks
|
||||
pending = asyncio.all_tasks(loop)
|
||||
for task in pending:
|
||||
task.cancel()
|
||||
|
||||
# Wait for tasks to finish cancellation
|
||||
if pending:
|
||||
loop.run_until_complete(asyncio.gather(*pending, return_exceptions=True))
|
||||
except Exception as e:
|
||||
logger.debug(f"Error during browser steps loop cleanup: {e}")
|
||||
finally:
|
||||
loop.close()
|
||||
logger.debug("Browser steps event loop closed")
|
||||
|
||||
def _ensure_browser_steps_loop():
|
||||
"""Ensure the browser steps event loop is running"""
|
||||
global _browser_steps_loop, _browser_steps_thread
|
||||
|
||||
with _browser_steps_loop_lock:
|
||||
if _browser_steps_thread is None or not _browser_steps_thread.is_alive():
|
||||
logger.debug("Starting browser steps event loop thread")
|
||||
_browser_steps_thread = threading.Thread(
|
||||
target=_start_browser_steps_loop,
|
||||
daemon=True,
|
||||
name="BrowserStepsEventLoop"
|
||||
)
|
||||
_browser_steps_thread.start()
|
||||
|
||||
# Wait for the loop to be ready
|
||||
timeout = 5.0
|
||||
start_time = time.time()
|
||||
while _browser_steps_loop is None:
|
||||
if time.time() - start_time > timeout:
|
||||
raise RuntimeError("Browser steps event loop failed to start")
|
||||
time.sleep(0.01)
|
||||
|
||||
logger.debug("Browser steps event loop thread started and ready")
|
||||
|
||||
def run_async_in_browser_loop(coro):
|
||||
"""Run async coroutine using the dedicated browser steps event loop"""
|
||||
_ensure_browser_steps_loop()
|
||||
|
||||
if _browser_steps_loop and not _browser_steps_loop.is_closed():
|
||||
logger.debug("Browser steps using dedicated event loop")
|
||||
future = asyncio.run_coroutine_threadsafe(coro, _browser_steps_loop)
|
||||
return future.result()
|
||||
else:
|
||||
raise RuntimeError("Browser steps event loop is not available")
|
||||
|
||||
def cleanup_expired_sessions():
|
||||
"""Remove expired browsersteps sessions and cleanup their resources"""
|
||||
global browsersteps_sessions, browsersteps_watch_to_session
|
||||
|
||||
expired_session_ids = []
|
||||
|
||||
# Find expired sessions
|
||||
for session_id, session_data in browsersteps_sessions.items():
|
||||
browserstepper = session_data.get('browserstepper')
|
||||
if browserstepper and browserstepper.has_expired:
|
||||
expired_session_ids.append(session_id)
|
||||
|
||||
# Cleanup expired sessions
|
||||
for session_id in expired_session_ids:
|
||||
logger.debug(f"Cleaning up expired browsersteps session {session_id}")
|
||||
session_data = browsersteps_sessions[session_id]
|
||||
|
||||
# Cleanup playwright resources asynchronously
|
||||
browserstepper = session_data.get('browserstepper')
|
||||
if browserstepper:
|
||||
try:
|
||||
run_async_in_browser_loop(browserstepper.cleanup())
|
||||
except Exception as e:
|
||||
logger.error(f"Error cleaning up session {session_id}: {e}")
|
||||
|
||||
# Remove from sessions dict
|
||||
del browsersteps_sessions[session_id]
|
||||
|
||||
# Remove from watch mapping
|
||||
for watch_uuid, mapped_session_id in list(browsersteps_watch_to_session.items()):
|
||||
if mapped_session_id == session_id:
|
||||
del browsersteps_watch_to_session[watch_uuid]
|
||||
break
|
||||
|
||||
if expired_session_ids:
|
||||
logger.info(f"Cleaned up {len(expired_session_ids)} expired browsersteps session(s)")
|
||||
|
||||
def cleanup_session_for_watch(watch_uuid):
|
||||
"""Cleanup a specific browsersteps session for a watch UUID"""
|
||||
global browsersteps_sessions, browsersteps_watch_to_session
|
||||
|
||||
session_id = browsersteps_watch_to_session.get(watch_uuid)
|
||||
if not session_id:
|
||||
logger.debug(f"No browsersteps session found for watch {watch_uuid}")
|
||||
return
|
||||
|
||||
logger.debug(f"Cleaning up browsersteps session {session_id} for watch {watch_uuid}")
|
||||
|
||||
session_data = browsersteps_sessions.get(session_id)
|
||||
if session_data:
|
||||
browserstepper = session_data.get('browserstepper')
|
||||
if browserstepper:
|
||||
try:
|
||||
run_async_in_browser_loop(browserstepper.cleanup())
|
||||
except Exception as e:
|
||||
logger.error(f"Error cleaning up session {session_id} for watch {watch_uuid}: {e}")
|
||||
|
||||
# Remove from sessions dict
|
||||
del browsersteps_sessions[session_id]
|
||||
|
||||
# Remove from watch mapping
|
||||
del browsersteps_watch_to_session[watch_uuid]
|
||||
|
||||
logger.debug(f"Cleaned up session for watch {watch_uuid}")
|
||||
|
||||
# Opportunistically cleanup any other expired sessions
|
||||
cleanup_expired_sessions()
|
||||
|
||||
def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
browser_steps_blueprint = Blueprint('browser_steps', __name__, template_folder="templates")
|
||||
@@ -123,6 +246,9 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
if not watch_uuid:
|
||||
return make_response('No Watch UUID specified', 500)
|
||||
|
||||
# Cleanup any existing session for this watch
|
||||
cleanup_session_for_watch(watch_uuid)
|
||||
|
||||
logger.debug("Starting connection with playwright")
|
||||
logger.debug("browser_steps.py connecting")
|
||||
|
||||
@@ -131,6 +257,10 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
browsersteps_sessions[browsersteps_session_id] = run_async_in_browser_loop(
|
||||
start_browsersteps_session(watch_uuid)
|
||||
)
|
||||
|
||||
# Store the mapping of watch_uuid -> browsersteps_session_id
|
||||
browsersteps_watch_to_session[watch_uuid] = browsersteps_session_id
|
||||
|
||||
except Exception as e:
|
||||
if 'ECONNREFUSED' in str(e):
|
||||
return make_response('Unable to start the Playwright Browser session, is sockpuppetbrowser running? Network configuration is OK?', 401)
|
||||
|
||||
@@ -1,13 +1,8 @@
|
||||
from flask import Blueprint, request, redirect, url_for, flash, render_template
|
||||
from loguru import logger
|
||||
|
||||
from changedetectionio.store import ChangeDetectionStore
|
||||
from changedetectionio.auth_decorator import login_optionally_required
|
||||
from changedetectionio import worker_handler
|
||||
from changedetectionio.blueprint.imports.importer import (
|
||||
import_url_list,
|
||||
import_distill_io_json,
|
||||
import_xlsx_wachete,
|
||||
import_xlsx_custom
|
||||
)
|
||||
|
||||
def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMetaData):
|
||||
import_blueprint = Blueprint('imports', __name__, template_folder="templates")
|
||||
@@ -17,15 +12,26 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
def import_page():
|
||||
remaining_urls = []
|
||||
from changedetectionio import forms
|
||||
|
||||
#
|
||||
if request.method == 'POST':
|
||||
# from changedetectionio import worker_handler
|
||||
|
||||
from changedetectionio.blueprint.imports.importer import (
|
||||
import_url_list,
|
||||
import_distill_io_json,
|
||||
import_xlsx_wachete,
|
||||
import_xlsx_custom
|
||||
)
|
||||
|
||||
# URL List import
|
||||
if request.values.get('urls') and len(request.values.get('urls').strip()):
|
||||
# Import and push into the queue for immediate update check
|
||||
importer_handler = import_url_list()
|
||||
importer_handler.run(data=request.values.get('urls'), flash=flash, datastore=datastore, processor=request.values.get('processor', 'text_json_diff'))
|
||||
for uuid in importer_handler.new_uuids:
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
logger.debug(f"Imported {len(importer_handler.new_uuids)} new UUIDs")
|
||||
# Dont' add to queue because scheduler can see that they haven't been checked and will add them to the queue
|
||||
# for uuid in importer_handler.new_uuids:
|
||||
# worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
|
||||
if len(importer_handler.remaining_data) == 0:
|
||||
return redirect(url_for('watchlist.index'))
|
||||
@@ -37,8 +43,10 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
# Import and push into the queue for immediate update check
|
||||
d_importer = import_distill_io_json()
|
||||
d_importer.run(data=request.values.get('distill-io'), flash=flash, datastore=datastore)
|
||||
for uuid in d_importer.new_uuids:
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
# Dont' add to queue because scheduler can see that they haven't been checked and will add them to the queue
|
||||
# for uuid in importer_handler.new_uuids:
|
||||
# worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
|
||||
|
||||
# XLSX importer
|
||||
if request.files and request.files.get('xlsx_file'):
|
||||
@@ -60,8 +68,10 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
w_importer.import_profile = map
|
||||
w_importer.run(data=file, flash=flash, datastore=datastore)
|
||||
|
||||
for uuid in w_importer.new_uuids:
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
# Dont' add to queue because scheduler can see that they haven't been checked and will add them to the queue
|
||||
# for uuid in importer_handler.new_uuids:
|
||||
# worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
|
||||
|
||||
# Could be some remaining, or we could be on GET
|
||||
form = forms.importForm(formdata=request.form if request.method == 'POST' else None)
|
||||
|
||||
@@ -2,6 +2,7 @@ from abc import abstractmethod
|
||||
import time
|
||||
from wtforms import ValidationError
|
||||
from loguru import logger
|
||||
from flask_babel import gettext
|
||||
|
||||
from changedetectionio.forms import validate_url
|
||||
|
||||
@@ -41,7 +42,7 @@ class import_url_list(Importer):
|
||||
now = time.time()
|
||||
|
||||
if (len(urls) > 5000):
|
||||
flash("Importing 5,000 of the first URLs from your list, the rest can be imported again.")
|
||||
flash(gettext("Importing 5,000 of the first URLs from your list, the rest can be imported again."))
|
||||
|
||||
for url in urls:
|
||||
url = url.strip()
|
||||
@@ -74,7 +75,7 @@ class import_url_list(Importer):
|
||||
self.remaining_data = []
|
||||
self.remaining_data.append(url)
|
||||
|
||||
flash("{} Imported from list in {:.2f}s, {} Skipped.".format(good, time.time() - now, len(self.remaining_data)))
|
||||
flash(gettext("{} Imported from list in {:.2f}s, {} Skipped.").format(good, time.time() - now, len(self.remaining_data)))
|
||||
|
||||
|
||||
class import_distill_io_json(Importer):
|
||||
@@ -94,11 +95,11 @@ class import_distill_io_json(Importer):
|
||||
try:
|
||||
data = json.loads(data.strip())
|
||||
except json.decoder.JSONDecodeError:
|
||||
flash("Unable to read JSON file, was it broken?", 'error')
|
||||
flash(gettext("Unable to read JSON file, was it broken?"), 'error')
|
||||
return
|
||||
|
||||
if not data.get('data'):
|
||||
flash("JSON structure looks invalid, was it broken?", 'error')
|
||||
flash(gettext("JSON structure looks invalid, was it broken?"), 'error')
|
||||
return
|
||||
|
||||
for d in data.get('data'):
|
||||
@@ -135,7 +136,7 @@ class import_distill_io_json(Importer):
|
||||
self.new_uuids.append(new_uuid)
|
||||
good += 1
|
||||
|
||||
flash("{} Imported from Distill.io in {:.2f}s, {} Skipped.".format(len(self.new_uuids), time.time() - now, len(self.remaining_data)))
|
||||
flash(gettext("{} Imported from Distill.io in {:.2f}s, {} Skipped.").format(len(self.new_uuids), time.time() - now, len(self.remaining_data)))
|
||||
|
||||
|
||||
class import_xlsx_wachete(Importer):
|
||||
@@ -156,7 +157,7 @@ class import_xlsx_wachete(Importer):
|
||||
wb = load_workbook(data)
|
||||
except Exception as e:
|
||||
# @todo correct except
|
||||
flash("Unable to read export XLSX file, something wrong with the file?", 'error')
|
||||
flash(gettext("Unable to read export XLSX file, something wrong with the file?"), 'error')
|
||||
return
|
||||
|
||||
row_id = 2
|
||||
@@ -196,7 +197,7 @@ class import_xlsx_wachete(Importer):
|
||||
validate_url(data.get('url'))
|
||||
except ValidationError as e:
|
||||
logger.error(f">> Import URL error {data.get('url')} {str(e)}")
|
||||
flash(f"Error processing row number {row_id}, URL value was incorrect, row was skipped.", 'error')
|
||||
flash(gettext("Error processing row number {}, URL value was incorrect, row was skipped.").format(row_id), 'error')
|
||||
# Don't bother processing anything else on this row
|
||||
continue
|
||||
|
||||
@@ -210,12 +211,11 @@ class import_xlsx_wachete(Importer):
|
||||
good += 1
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
flash(f"Error processing row number {row_id}, check all cell data types are correct, row was skipped.", 'error')
|
||||
flash(gettext("Error processing row number {}, check all cell data types are correct, row was skipped.").format(row_id), 'error')
|
||||
else:
|
||||
row_id += 1
|
||||
|
||||
flash(
|
||||
"{} imported from Wachete .xlsx in {:.2f}s".format(len(self.new_uuids), time.time() - now))
|
||||
flash(gettext("{} imported from Wachete .xlsx in {:.2f}s").format(len(self.new_uuids), time.time() - now))
|
||||
|
||||
|
||||
class import_xlsx_custom(Importer):
|
||||
@@ -236,7 +236,7 @@ class import_xlsx_custom(Importer):
|
||||
wb = load_workbook(data)
|
||||
except Exception as e:
|
||||
# @todo correct except
|
||||
flash("Unable to read export XLSX file, something wrong with the file?", 'error')
|
||||
flash(gettext("Unable to read export XLSX file, something wrong with the file?"), 'error')
|
||||
return
|
||||
|
||||
# @todo cehck atleast 2 rows, same in other method
|
||||
@@ -265,7 +265,7 @@ class import_xlsx_custom(Importer):
|
||||
validate_url(url)
|
||||
except ValidationError as e:
|
||||
logger.error(f">> Import URL error {url} {str(e)}")
|
||||
flash(f"Error processing row number {row_i}, URL value was incorrect, row was skipped.", 'error')
|
||||
flash(gettext("Error processing row number {}, URL value was incorrect, row was skipped.").format(row_i), 'error')
|
||||
# Don't bother processing anything else on this row
|
||||
url = None
|
||||
break
|
||||
@@ -294,9 +294,8 @@ class import_xlsx_custom(Importer):
|
||||
good += 1
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
flash(f"Error processing row number {row_i}, check all cell data types are correct, row was skipped.", 'error')
|
||||
flash(gettext("Error processing row number {}, check all cell data types are correct, row was skipped.").format(row_i), 'error')
|
||||
else:
|
||||
row_i += 1
|
||||
|
||||
flash(
|
||||
"{} imported from custom .xlsx in {:.2f}s".format(len(self.new_uuids), time.time() - now))
|
||||
flash(gettext("{} imported from custom .xlsx in {:.2f}s").format(len(self.new_uuids), time.time() - now))
|
||||
@@ -47,9 +47,6 @@ def construct_single_watch_routes(rss_blueprint, datastore):
|
||||
if len(dates) < 2:
|
||||
return f"Watch {uuid} does not have enough history snapshots to show changes (need at least 2)", 400
|
||||
|
||||
# Add uuid to watch for proper functioning
|
||||
watch['uuid'] = uuid
|
||||
|
||||
# Get the number of diffs to include (default: 5)
|
||||
rss_diff_length = datastore.data['settings']['application'].get('rss_diff_length', 5)
|
||||
|
||||
@@ -101,7 +98,7 @@ def construct_single_watch_routes(rss_blueprint, datastore):
|
||||
date_index_from, date_index_to)
|
||||
|
||||
# Create and populate feed entry
|
||||
guid = f"{watch['uuid']}/{timestamp_to}"
|
||||
guid = f"{uuid}/{timestamp_to}"
|
||||
fe = fg.add_entry()
|
||||
title_suffix = f"Change @ {res['original_context']['change_datetime']}"
|
||||
populate_feed_entry(fe, watch, res.get('body', ''), guid, timestamp_to,
|
||||
|
||||
@@ -63,11 +63,8 @@ def construct_tag_routes(rss_blueprint, datastore):
|
||||
|
||||
# Only include unviewed watches
|
||||
if not watch.viewed:
|
||||
# Add uuid to watch for proper functioning
|
||||
watch['uuid'] = uuid
|
||||
|
||||
# Include a link to the diff page
|
||||
diff_link = {'href': url_for('ui.ui_diff.diff_history_page', uuid=watch['uuid'], _external=True)}
|
||||
# Include a link to the diff page (use uuid from loop, don't modify watch dict)
|
||||
diff_link = {'href': url_for('ui.ui_diff.diff_history_page', uuid=uuid, _external=True)}
|
||||
|
||||
# Get watch label
|
||||
watch_label = get_watch_label(datastore, watch)
|
||||
|
||||
@@ -5,6 +5,7 @@ from zoneinfo import ZoneInfo, available_timezones
|
||||
import secrets
|
||||
import flask_login
|
||||
from flask import Blueprint, render_template, request, redirect, url_for, flash
|
||||
from flask_babel import gettext
|
||||
|
||||
from changedetectionio.store import ChangeDetectionStore
|
||||
from changedetectionio.auth_decorator import login_optionally_required
|
||||
@@ -60,7 +61,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
# SALTED_PASS means the password is "locked" to what we set in the Env var
|
||||
if not os.getenv("SALTED_PASS", False):
|
||||
datastore.remove_password()
|
||||
flash("Password protection removed.", 'notice')
|
||||
flash(gettext("Password protection removed."), 'notice')
|
||||
flask_login.logout_user()
|
||||
return redirect(url_for('settings.settings_page'))
|
||||
|
||||
@@ -77,14 +78,20 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
# Handle dynamic worker count adjustment
|
||||
old_worker_count = datastore.data['settings']['requests'].get('workers', 1)
|
||||
new_worker_count = form.data['requests'].get('workers', 1)
|
||||
|
||||
|
||||
datastore.data['settings']['requests'].update(form.data['requests'])
|
||||
|
||||
|
||||
# Adjust worker count if it changed
|
||||
if new_worker_count != old_worker_count:
|
||||
from changedetectionio import worker_handler
|
||||
from changedetectionio.flask_app import update_q, notification_q, app, datastore as ds
|
||||
|
||||
|
||||
# Check CPU core availability and warn if worker count is high
|
||||
cpu_count = os.cpu_count()
|
||||
if cpu_count and new_worker_count >= (cpu_count * 0.9):
|
||||
flash(gettext("Warning: Worker count ({}) is close to or exceeds available CPU cores ({})").format(
|
||||
new_worker_count, cpu_count), 'warning')
|
||||
|
||||
result = worker_handler.adjust_async_worker_count(
|
||||
new_count=new_worker_count,
|
||||
update_q=update_q,
|
||||
@@ -92,18 +99,18 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
app=app,
|
||||
datastore=ds
|
||||
)
|
||||
|
||||
|
||||
if result['status'] == 'success':
|
||||
flash(f"Worker count adjusted: {result['message']}", 'notice')
|
||||
flash(gettext("Worker count adjusted: {}").format(result['message']), 'notice')
|
||||
elif result['status'] == 'not_supported':
|
||||
flash("Dynamic worker adjustment not supported for sync workers", 'warning')
|
||||
flash(gettext("Dynamic worker adjustment not supported for sync workers"), 'warning')
|
||||
elif result['status'] == 'error':
|
||||
flash(f"Error adjusting workers: {result['message']}", 'error')
|
||||
flash(gettext("Error adjusting workers: {}").format(result['message']), 'error')
|
||||
|
||||
if not os.getenv("SALTED_PASS", False) and len(form.application.form.password.encrypted_password):
|
||||
datastore.data['settings']['application']['password'] = form.application.form.password.encrypted_password
|
||||
datastore.needs_write_urgent = True
|
||||
flash("Password protection enabled.", 'notice')
|
||||
flash(gettext("Password protection enabled."), 'notice')
|
||||
flask_login.logout_user()
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
@@ -122,10 +129,10 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
if plugin_form.data:
|
||||
save_plugin_settings(datastore.datastore_path, plugin_id, plugin_form.data)
|
||||
|
||||
flash("Settings updated.")
|
||||
flash(gettext("Settings updated."))
|
||||
|
||||
else:
|
||||
flash("An error occurred, please see below.", "error")
|
||||
flash(gettext("An error occurred, please see below."), "error")
|
||||
|
||||
# Convert to ISO 8601 format, all date/time relative events stored as UTC time
|
||||
utc_time = datetime.now(ZoneInfo("UTC")).isoformat()
|
||||
@@ -175,7 +182,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
secret = secrets.token_hex(16)
|
||||
datastore.data['settings']['application']['api_access_token'] = secret
|
||||
datastore.needs_write_urgent = True
|
||||
flash("API Key was regenerated.")
|
||||
flash(gettext("API Key was regenerated."))
|
||||
return redirect(url_for('settings.settings_page')+'#api')
|
||||
|
||||
@settings_blueprint.route("/notification-logs", methods=['GET'])
|
||||
@@ -186,4 +193,32 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
logs=notification_debug_log if len(notification_debug_log) else ["Notification logs are empty - no notifications sent yet."])
|
||||
return output
|
||||
|
||||
@settings_blueprint.route("/toggle-all-paused", methods=['GET'])
|
||||
@login_optionally_required
|
||||
def toggle_all_paused():
|
||||
current_state = datastore.data['settings']['application'].get('all_paused', False)
|
||||
datastore.data['settings']['application']['all_paused'] = not current_state
|
||||
datastore.needs_write_urgent = True
|
||||
|
||||
if datastore.data['settings']['application']['all_paused']:
|
||||
flash(gettext("Automatic scheduling paused - checks will not be queued."), 'notice')
|
||||
else:
|
||||
flash(gettext("Automatic scheduling resumed - checks will be queued normally."), 'notice')
|
||||
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
@settings_blueprint.route("/toggle-all-muted", methods=['GET'])
|
||||
@login_optionally_required
|
||||
def toggle_all_muted():
|
||||
current_state = datastore.data['settings']['application'].get('all_muted', False)
|
||||
datastore.data['settings']['application']['all_muted'] = not current_state
|
||||
datastore.needs_write_urgent = True
|
||||
|
||||
if datastore.data['settings']['application']['all_muted']:
|
||||
flash(gettext("All notifications muted."), 'notice')
|
||||
else:
|
||||
flash(gettext("All notifications unmuted."), 'notice')
|
||||
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
return settings_blueprint
|
||||
@@ -25,6 +25,7 @@
|
||||
<li class="tab"><a href="#ui-options">{{ _('UI Options') }}</a></li>
|
||||
<li class="tab"><a href="#api">{{ _('API') }}</a></li>
|
||||
<li class="tab"><a href="#rss">{{ _('RSS') }}</a></li>
|
||||
<li class="tab"><a href="{{ url_for('backups.index') }}" class="pure-menu-link">{{ _('Backups') }}</a></li>
|
||||
<li class="tab"><a href="#timedate">{{ _('Time & Date') }}</a></li>
|
||||
<li class="tab"><a href="#proxies">{{ _('CAPTCHA & Proxies') }}</a></li>
|
||||
{% if plugin_tabs %}
|
||||
@@ -53,9 +54,9 @@
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.application.form.filter_failure_notification_threshold_attempts, class="filter_failure_notification_threshold_attempts") }}
|
||||
<span class="pure-form-message-inline">After this many consecutive times that the CSS/xPath filter is missing, send a notification
|
||||
<span class="pure-form-message-inline">{{ _('After this many consecutive times that the CSS/xPath filter is missing, send a notification') }}
|
||||
<br>
|
||||
Set to <strong>0</strong> to disable
|
||||
{{ _('Set to') }} <strong>0</strong> {{ _('to disable') }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
@@ -64,36 +65,33 @@
|
||||
{{ render_button(form.application.form.removepassword_button) }}
|
||||
{% else %}
|
||||
{{ render_field(form.application.form.password) }}
|
||||
<span class="pure-form-message-inline">Password protection for your changedetection.io application.</span>
|
||||
<span class="pure-form-message-inline">{{ _('Password protection for your changedetection.io application.') }}</span>
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<span class="pure-form-message-inline">Password is locked.</span>
|
||||
<span class="pure-form-message-inline">{{ _('Password is locked.') }}</span>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.shared_diff_access, class="shared_diff_access") }}
|
||||
<span class="pure-form-message-inline">Allow access to the watch change history page when password is enabled (Good for sharing the diff page)
|
||||
</span>
|
||||
<span class="pure-form-message-inline">{{ _('Allow access to the watch change history page when password is enabled (Good for sharing the diff page)') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.empty_pages_are_a_change) }}
|
||||
<span class="pure-form-message-inline">When a request returns no content, or the HTML does not contain any text, is this considered a change?</span>
|
||||
<span class="pure-form-message-inline">{{ _('When a request returns no content, or the HTML does not contain any text, is this considered a change?') }}</span>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane-inner" id="notifications">
|
||||
<fieldset>
|
||||
<div class="field-group">
|
||||
{{ render_common_settings_form(form.application.form, emailprefix, settings_application, extra_notification_token_placeholder_info) }}
|
||||
</div>
|
||||
{{ render_common_settings_form(form.application.form, emailprefix, settings_application, extra_notification_token_placeholder_info) }}
|
||||
</fieldset>
|
||||
<div class="pure-control-group" id="notification-base-url">
|
||||
{{ render_field(form.application.form.base_url, class="m-d") }}
|
||||
<span class="pure-form-message-inline">
|
||||
Base URL used for the <code>{{ '{{ base_url }}' }}</code> token in notification links.<br>
|
||||
Default value is the system environment variable '<code>BASE_URL</code>' - <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Configurable-BASE_URL-setting">read more here</a>.
|
||||
{{ _('Base URL used for the') }} <code>{{ '{{ base_url }}' }}</code> {{ _('token in notification links.') }}<br>
|
||||
{{ _('Default value is the system environment variable') }} '<code>BASE_URL</code>' - <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Configurable-BASE_URL-setting">{{ _('read more here') }}</a>.
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -102,15 +100,15 @@
|
||||
<div class="pure-control-group inline-radio">
|
||||
{{ render_field(form.application.form.fetch_backend, class="fetch-backend") }}
|
||||
<span class="pure-form-message-inline">
|
||||
<p>Use the <strong>Basic</strong> method (default) where your watched sites don't need Javascript to render.</p>
|
||||
<p>The <strong>Chrome/Javascript</strong> method requires a network connection to a running WebDriver+Chrome server, set by the ENV var 'WEBDRIVER_URL'. </p>
|
||||
<p>{{ _('Use the') }} <strong>{{ _('Basic') }}</strong> {{ _('method (default) where your watched sites don\'t need Javascript to render.') }}</p>
|
||||
<p>{{ _('The') }} <strong>{{ _('Chrome/Javascript') }}</strong> {{ _('method requires a network connection to a running WebDriver+Chrome server, set by the ENV var') }} 'WEBDRIVER_URL'. </p>
|
||||
</span>
|
||||
</div>
|
||||
<fieldset class="pure-group" id="webdriver-override-options" data-visible-for="application-fetch_backend=html_webdriver">
|
||||
<div class="pure-form-message-inline">
|
||||
<strong>If you're having trouble waiting for the page to be fully rendered (text missing etc), try increasing the 'wait' time here.</strong>
|
||||
<strong>{{ _('If you\'re having trouble waiting for the page to be fully rendered (text missing etc), try increasing the \'wait\' time here.') }}</strong>
|
||||
<br>
|
||||
This will wait <i>n</i> seconds before extracting the text.
|
||||
{{ _('This will wait') }} <i>n</i> {{ _('seconds before extracting the text.') }}
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.application.form.webdriver_delay) }}
|
||||
@@ -119,27 +117,27 @@
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.requests.form.workers) }}
|
||||
{% set worker_info = get_worker_status_info() %}
|
||||
<span class="pure-form-message-inline">Number of concurrent workers to process watches. More workers = faster processing but higher memory usage.<br>
|
||||
Currently running: <strong>{{ worker_info.count }}</strong> operational {{ worker_info.type }} workers{% if worker_info.active_workers > 0 %} ({{ worker_info.active_workers }} actively processing){% endif %}.</span>
|
||||
<span class="pure-form-message-inline">{{ _('Number of concurrent workers to process watches. More workers = faster processing but higher memory usage.') }}<br>
|
||||
{{ _('Currently running:') }} <strong>{{ worker_info.count }}</strong> {{ _('operational') }} {{ worker_info.type }} {{ _('workers') }}{% if worker_info.active_workers > 0 %} ({{ worker_info.active_workers }} {{ _('actively processing') }}){% endif %}.</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.requests.form.jitter_seconds, class="jitter_seconds") }}
|
||||
<span class="pure-form-message-inline">Example - 3 seconds random jitter could trigger up to 3 seconds earlier or up to 3 seconds later</span>
|
||||
<span class="pure-form-message-inline">{{ _('Example - 3 seconds random jitter could trigger up to 3 seconds earlier or up to 3 seconds later') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.requests.form.timeout) }}
|
||||
<span class="pure-form-message-inline">For regular plain requests (not chrome based), maximum number of seconds until timeout, 1-999.<br>
|
||||
<span class="pure-form-message-inline">{{ _('For regular plain requests (not chrome based), maximum number of seconds until timeout, 1-999.') }}</span><br>
|
||||
</div>
|
||||
<div class="pure-control-group inline-radio">
|
||||
{{ render_field(form.requests.form.default_ua) }}
|
||||
<span class="pure-form-message-inline">
|
||||
Applied to all requests.<br><br>
|
||||
Note: Simply changing the User-Agent often does not defeat anti-robot technologies, it's important to consider <a href="https://changedetection.io/tutorial/what-are-main-types-anti-robot-mechanisms">all of the ways that the browser is detected</a>.
|
||||
{{ _('Applied to all requests.') }}<br><br>
|
||||
{{ _('Note: Simply changing the User-Agent often does not defeat anti-robot technologies, it\'s important to consider') }} <a href="https://changedetection.io/tutorial/what-are-main-types-anti-robot-mechanisms">{{ _('all of the ways that the browser is detected') }}</a>.
|
||||
</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
<br>
|
||||
Tip: <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration#brightdata-proxy-support">Connect using Bright Data and Oxylabs Proxies, find out more here.</a>
|
||||
{{ _('Tip:') }} <a href="https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration#brightdata-proxy-support">{{ _('Connect using Bright Data and Oxylabs Proxies, find out more here.') }}</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -148,15 +146,15 @@
|
||||
|
||||
<fieldset class="pure-group">
|
||||
{{ render_checkbox_field(form.application.form.ignore_whitespace) }}
|
||||
<span class="pure-form-message-inline">Ignore whitespace, tabs and new-lines/line-feeds when considering if a change was detected.<br>
|
||||
<i>Note:</i> Changing this will change the status of your existing watches, possibly trigger alerts etc.
|
||||
<span class="pure-form-message-inline">{{ _('Ignore whitespace, tabs and new-lines/line-feeds when considering if a change was detected.') }}<br>
|
||||
<i>{{ _('Note:') }}</i> {{ _('Changing this will change the status of your existing watches, possibly trigger alerts etc.') }}
|
||||
</span>
|
||||
</fieldset>
|
||||
<fieldset class="pure-group">
|
||||
{{ render_checkbox_field(form.application.form.render_anchor_tag_content) }}
|
||||
<span class="pure-form-message-inline">Render anchor tag content, default disabled, when enabled renders links as <code>(link text)[https://somesite.com]</code>
|
||||
<span class="pure-form-message-inline">{{ _('Render anchor tag content, default disabled, when enabled renders links as') }} <code>(link text)[https://somesite.com]</code>
|
||||
<br>
|
||||
<i>Note:</i> Changing this could affect the content of your existing watches, possibly trigger alerts etc.
|
||||
<i>{{ _('Note:') }}</i> {{ _('Changing this could affect the content of your existing watches, possibly trigger alerts etc.') }}
|
||||
</span>
|
||||
</fieldset>
|
||||
<fieldset class="pure-group">
|
||||
@@ -167,9 +165,9 @@ nav
|
||||
//*[contains(text(), 'Advertisement')]") }}
|
||||
<span class="pure-form-message-inline">
|
||||
<ul>
|
||||
<li> Remove HTML element(s) by CSS and XPath selectors before text conversion. </li>
|
||||
<li> Don't paste HTML here, use only CSS and XPath selectors </li>
|
||||
<li> Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML. </li>
|
||||
<li> {{ _('Remove HTML element(s) by CSS and XPath selectors before text conversion.') }} </li>
|
||||
<li> {{ _('Don\'t paste HTML here, use only CSS and XPath selectors') }} </li>
|
||||
<li> {{ _('Add multiple elements, CSS or XPath selectors per line to ignore multiple parts of the HTML.') }} </li>
|
||||
</ul>
|
||||
</span>
|
||||
</fieldset>
|
||||
@@ -177,50 +175,50 @@ nav
|
||||
{{ render_field(form.application.form.global_ignore_text, rows=5, placeholder="Some text to ignore in a line
|
||||
/some.regex\d{2}/ for case-INsensitive regex
|
||||
") }}
|
||||
<span class="pure-form-message-inline">Note: This is applied globally in addition to the per-watch rules.</span><br>
|
||||
<span class="pure-form-message-inline">{{ _('Note: This is applied globally in addition to the per-watch rules.') }}</span><br>
|
||||
<span class="pure-form-message-inline">
|
||||
<ul>
|
||||
<li>Matching text will be <strong>ignored</strong> in the text snapshot (you can still see it but it wont trigger a change)</li>
|
||||
<li>Note: This is applied globally in addition to the per-watch rules.</li>
|
||||
<li>Each line processed separately, any line matching will be ignored (removed before creating the checksum)</li>
|
||||
<li>Regular Expression support, wrap the entire line in forward slash <code>/regex/</code></li>
|
||||
<li>Changing this will affect the comparison checksum which may trigger an alert</li>
|
||||
<li>{{ _('Matching text will be') }} <strong>{{ _('ignored') }}</strong> {{ _('in the text snapshot (you can still see it but it wont trigger a change)') }}</li>
|
||||
<li>{{ _('Note: This is applied globally in addition to the per-watch rules.') }}</li>
|
||||
<li>{{ _('Each line processed separately, any line matching will be ignored (removed before creating the checksum)') }}</li>
|
||||
<li>{{ _('Regular Expression support, wrap the entire line in forward slash') }} <code>/regex/</code></li>
|
||||
<li>{{ _('Changing this will affect the comparison checksum which may trigger an alert') }}</li>
|
||||
</ul>
|
||||
</span>
|
||||
</fieldset>
|
||||
<fieldset class="pure-group">
|
||||
{{ render_checkbox_field(form.application.form.strip_ignored_lines) }}
|
||||
<span class="pure-form-message-inline">Remove any text that appears in the "Ignore text" from the output (otherwise its just ignored for change-detection)<br>
|
||||
<i>Note:</i> Changing this will change the status of your existing watches, possibly trigger alerts etc.
|
||||
<span class="pure-form-message-inline">{{ _('Remove any text that appears in the "Ignore text" from the output (otherwise its just ignored for change-detection)') }}<br>
|
||||
<i>{{ _('Note:') }}</i> {{ _('Changing this will change the status of your existing watches, possibly trigger alerts etc.') }}
|
||||
</span>
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
<div class="tab-pane-inner" id="api">
|
||||
<h4>API Access</h4>
|
||||
<p>Drive your changedetection.io via API, More about <a href="https://changedetection.io/docs/api_v1/index.html">API access and examples here</a>.</p>
|
||||
<h4>{{ _('API Access') }}</h4>
|
||||
<p>{{ _('Drive your changedetection.io via API, More about') }} <a href="https://changedetection.io/docs/api_v1/index.html">{{ _('API access and examples here') }}</a>.</p>
|
||||
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.api_access_token_enabled) }}
|
||||
<div class="pure-form-message-inline">Restrict API access limit by using <code>x-api-key</code> header - required for the Chrome Extension to work</div><br>
|
||||
<div class="pure-form-message-inline"><br>API Key <span id="api-key">{{api_key}}</span>
|
||||
<span style="display:none;" id="api-key-copy" >copy</span>
|
||||
<div class="pure-form-message-inline">{{ _('Restrict API access limit by using') }} <code>x-api-key</code> {{ _('header - required for the Chrome Extension to work') }}</div><br>
|
||||
<div class="pure-form-message-inline"><br>{{ _('API Key') }} <span id="api-key">{{api_key}}</span>
|
||||
<span style="display:none;" id="api-key-copy" >{{ _('copy') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
<a href="{{url_for('settings.settings_reset_api_key')}}" class="pure-button button-small button-cancel">Regenerate API key</a>
|
||||
<a href="{{url_for('settings.settings_reset_api_key')}}" class="pure-button button-small button-cancel">{{ _('Regenerate API key') }}</a>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
<h4>Chrome Extension</h4>
|
||||
<p>Easily add any web-page to your changedetection.io installation from within Chrome.</p>
|
||||
<strong>Step 1</strong> Install the extension, <strong>Step 2</strong> Navigate to this page,
|
||||
<strong>Step 3</strong> Open the extension from the toolbar and click "<i>Sync API Access</i>"
|
||||
<h4>{{ _('Chrome Extension') }}</h4>
|
||||
<p>{{ _('Easily add any web-page to your changedetection.io installation from within Chrome.') }}</p>
|
||||
<strong>{{ _('Step 1') }}</strong> {{ _('Install the extension,') }} <strong>{{ _('Step 2') }}</strong> {{ _('Navigate to this page,') }}
|
||||
<strong>{{ _('Step 3') }}</strong> {{ _('Open the extension from the toolbar and click') }} "<i>{{ _('Sync API Access') }}</i>"
|
||||
<p>
|
||||
<a id="chrome-extension-link"
|
||||
title="Try our new Chrome Extension!"
|
||||
title="{{ _('Try our new Chrome Extension!') }}"
|
||||
href="https://chromewebstore.google.com/detail/changedetectionio-website/kefcfmgmlhmankjmnbijimhofdjekbop">
|
||||
<img alt="Chrome store icon" src="{{ url_for('static_content', group='images', filename='google-chrome-icon.png') }}" alt="Chrome">
|
||||
Chrome Webstore
|
||||
<img alt="{{ _('Chrome store icon') }}" src="{{ url_for('static_content', group='images', filename='google-chrome-icon.png') }}" >
|
||||
{{ _('Chrome Webstore') }}
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
@@ -231,20 +229,20 @@ nav
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.application.form.rss_diff_length) }}
|
||||
<span class="pure-form-message-inline">Maximum number of history snapshots to include in the watch specific RSS feed.</span>
|
||||
<span class="pure-form-message-inline">{{ _('Maximum number of history snapshots to include in the watch specific RSS feed.') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.rss_reader_mode) }}
|
||||
<span class="pure-form-message-inline">For watching other RSS feeds - When watching RSS/Atom feeds, convert them into clean text for better change detection.</span>
|
||||
<span class="pure-form-message-inline">{{ _('For watching other RSS feeds - When watching RSS/Atom feeds, convert them into clean text for better change detection.') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group grey-form-border">
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.application.form.rss_content_format) }}
|
||||
<span class="pure-form-message-inline">Does your reader support HTML? Set it here</span>
|
||||
<span class="pure-form-message-inline">{{ _('Does your reader support HTML? Set it here') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.application.form.rss_template_type) }}
|
||||
<span class="pure-form-message-inline">'System default' for the same template for all items, or re-use your "Notification Body" as the template.</span>
|
||||
<span class="pure-form-message-inline">{{ _('\'System default\' for the same template for all items, or re-use your "Notification Body" as the template.') }}</span>
|
||||
</div>
|
||||
<div>
|
||||
{{ render_field(form.application.form.rss_template_override) }}
|
||||
@@ -257,38 +255,38 @@ nav
|
||||
</div>
|
||||
<div class="tab-pane-inner" id="timedate">
|
||||
<div class="pure-control-group">
|
||||
Ensure the settings below are correct, they are used to manage the time schedule for checking your web page watches.
|
||||
{{ _('Ensure the settings below are correct, they are used to manage the time schedule for checking your web page watches.') }}
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
<p><strong>UTC Time & Date from Server:</strong> <span id="utc-time" >{{ utc_time }}</span></p>
|
||||
<p><strong>Local Time & Date in Browser:</strong> <span class="local-time" data-utc="{{ utc_time }}"></span></p>
|
||||
<p>
|
||||
<p><strong>{{ _('UTC Time & Date from Server:') }}</strong> <span id="utc-time" >{{ utc_time }}</span></p>
|
||||
<p><strong>{{ _('Local Time & Date in Browser:') }}</strong> <span class="local-time" data-utc="{{ utc_time }}"></span></p>
|
||||
<div>
|
||||
{{ render_field(form.application.form.scheduler_timezone_default) }}
|
||||
<datalist id="timezones" style="display: none;">
|
||||
{%- for timezone in available_timezones -%}<option value="{{ timezone }}">{{ timezone }}</option>{%- endfor -%}
|
||||
</datalist>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tab-pane-inner" id="ui-options">
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.ui.form.open_diff_in_new_tab, class="open_diff_in_new_tab") }}
|
||||
<span class="pure-form-message-inline">Enable this setting to open the diff page in a new tab. If disabled, the diff page will open in the current tab.</span>
|
||||
<span class="pure-form-message-inline">{{ _('Enable this setting to open the diff page in a new tab. If disabled, the diff page will open in the current tab.') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.ui.form.socket_io_enabled, class="socket_io_enabled") }}
|
||||
<span class="pure-form-message-inline">Realtime UI Updates Enabled - (Restart required if this is changed)</span>
|
||||
<span class="pure-form-message-inline">{{ _('Realtime UI Updates Enabled - (Restart required if this is changed)') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.ui.form.favicons_enabled, class="") }}
|
||||
<span class="pure-form-message-inline">Enable or Disable Favicons next to the watch list</span>
|
||||
<span class="pure-form-message-inline">{{ _('Enable or Disable Favicons next to the watch list') }}</span>
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_checkbox_field(form.application.form.ui.use_page_title_in_list) }}
|
||||
</div>
|
||||
<div class="pure-control-group">
|
||||
{{ render_field(form.application.form.pager_size) }}
|
||||
<span class="pure-form-message-inline">Number of items per page in the watch overview list, 0 to disable.</span>
|
||||
<span class="pure-form-message-inline">{{ _('Number of items per page in the watch overview list, 0 to disable.') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -336,18 +334,18 @@ nav
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<p><strong>Tip</strong>: "Residential" and "Mobile" proxy type can be more successfull than "Data Center" for blocked websites.
|
||||
<p><strong>{{ _('Tip') }}</strong>: {{ _('"Residential" and "Mobile" proxy type can be more successfull than "Data Center" for blocked websites.') }}</p>
|
||||
|
||||
<div class="pure-control-group" id="extra-proxies-setting">
|
||||
{{ render_fieldlist_with_inline_errors(form.requests.form.extra_proxies) }}
|
||||
<span class="pure-form-message-inline">"Name" will be used for selecting the proxy in the Watch Edit settings</span><br>
|
||||
<span class="pure-form-message-inline">SOCKS5 proxies with authentication are only supported with 'plain requests' fetcher, for other fetchers you should whitelist the IP access instead</span>
|
||||
<span class="pure-form-message-inline">{{ _('"Name" will be used for selecting the proxy in the Watch Edit settings') }}</span><br>
|
||||
<span class="pure-form-message-inline">{{ _('SOCKS5 proxies with authentication are only supported with \'plain requests\' fetcher, for other fetchers you should whitelist the IP access instead') }}</span>
|
||||
{% if form.requests.proxy %}
|
||||
<div>
|
||||
<br>
|
||||
<div class="inline-radio">
|
||||
{{ render_field(form.requests.form.proxy, class="fetch-backend-proxy") }}
|
||||
<span class="pure-form-message-inline">Choose a default proxy for all watches</span>
|
||||
<span class="pure-form-message-inline">{{ _('Choose a default proxy for all watches') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import threading
|
||||
from flask import Blueprint, request, render_template, flash, url_for, redirect
|
||||
|
||||
from flask_babel import gettext
|
||||
from loguru import logger
|
||||
|
||||
from changedetectionio.store import ChangeDetectionStore
|
||||
from changedetectionio.flask_app import login_optionally_required
|
||||
@@ -43,11 +45,11 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
title = request.form.get('name').strip()
|
||||
|
||||
if datastore.tag_exists_by_name(title):
|
||||
flash(f'The tag "{title}" already exists', "error")
|
||||
flash(gettext('The tag "{}" already exists').format(title), "error")
|
||||
return redirect(url_for('tags.tags_overview_page'))
|
||||
|
||||
datastore.add_tag(title)
|
||||
flash("Tag added")
|
||||
flash(gettext("Tag added"))
|
||||
|
||||
|
||||
return redirect(url_for('tags.tags_overview_page'))
|
||||
@@ -62,39 +64,73 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
@tags_blueprint.route("/delete/<string:uuid>", methods=['GET'])
|
||||
@login_optionally_required
|
||||
def delete(uuid):
|
||||
removed = 0
|
||||
# Delete the tag, and any tag reference
|
||||
# Delete the tag from settings immediately
|
||||
if datastore.data['settings']['application']['tags'].get(uuid):
|
||||
del datastore.data['settings']['application']['tags'][uuid]
|
||||
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
if watch.get('tags') and uuid in watch['tags']:
|
||||
removed += 1
|
||||
watch['tags'].remove(uuid)
|
||||
# Remove tag from all watches in background thread to avoid blocking
|
||||
def remove_tag_background(tag_uuid):
|
||||
"""Background thread to remove tag from watches - discarded after completion."""
|
||||
removed_count = 0
|
||||
try:
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
if watch.get('tags') and tag_uuid in watch['tags']:
|
||||
watch['tags'].remove(tag_uuid)
|
||||
removed_count += 1
|
||||
logger.info(f"Background: Tag {tag_uuid} removed from {removed_count} watches")
|
||||
except Exception as e:
|
||||
logger.error(f"Error removing tag from watches: {e}")
|
||||
|
||||
flash(f"Tag deleted and removed from {removed} watches")
|
||||
# Start daemon thread
|
||||
threading.Thread(target=remove_tag_background, args=(uuid,), daemon=True).start()
|
||||
|
||||
flash(gettext("Tag deleted, removing from watches in background"))
|
||||
return redirect(url_for('tags.tags_overview_page'))
|
||||
|
||||
@tags_blueprint.route("/unlink/<string:uuid>", methods=['GET'])
|
||||
@login_optionally_required
|
||||
def unlink(uuid):
|
||||
unlinked = 0
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
if watch.get('tags') and uuid in watch['tags']:
|
||||
unlinked += 1
|
||||
watch['tags'].remove(uuid)
|
||||
# Unlink tag from all watches in background thread to avoid blocking
|
||||
def unlink_tag_background(tag_uuid):
|
||||
"""Background thread to unlink tag from watches - discarded after completion."""
|
||||
unlinked_count = 0
|
||||
try:
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
if watch.get('tags') and tag_uuid in watch['tags']:
|
||||
watch['tags'].remove(tag_uuid)
|
||||
unlinked_count += 1
|
||||
logger.info(f"Background: Tag {tag_uuid} unlinked from {unlinked_count} watches")
|
||||
except Exception as e:
|
||||
logger.error(f"Error unlinking tag from watches: {e}")
|
||||
|
||||
flash(f"Tag unlinked removed from {unlinked} watches")
|
||||
# Start daemon thread
|
||||
threading.Thread(target=unlink_tag_background, args=(uuid,), daemon=True).start()
|
||||
|
||||
flash(gettext("Unlinking tag from watches in background"))
|
||||
return redirect(url_for('tags.tags_overview_page'))
|
||||
|
||||
@tags_blueprint.route("/delete_all", methods=['GET'])
|
||||
@login_optionally_required
|
||||
def delete_all():
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
watch['tags'] = []
|
||||
# Clear all tags from settings immediately
|
||||
datastore.data['settings']['application']['tags'] = {}
|
||||
|
||||
flash(f"All tags deleted")
|
||||
# Clear tags from all watches in background thread to avoid blocking
|
||||
def clear_all_tags_background():
|
||||
"""Background thread to clear tags from all watches - discarded after completion."""
|
||||
cleared_count = 0
|
||||
try:
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
watch['tags'] = []
|
||||
cleared_count += 1
|
||||
logger.info(f"Background: Cleared tags from {cleared_count} watches")
|
||||
except Exception as e:
|
||||
logger.error(f"Error clearing tags from watches: {e}")
|
||||
|
||||
# Start daemon thread
|
||||
threading.Thread(target=clear_all_tags_background, daemon=True).start()
|
||||
|
||||
flash(gettext("All tags deleted, clearing from watches in background"))
|
||||
return redirect(url_for('tags.tags_overview_page'))
|
||||
|
||||
@tags_blueprint.route("/edit/<string:uuid>", methods=['GET'])
|
||||
@@ -106,7 +142,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
|
||||
default = datastore.data['settings']['application']['tags'].get(uuid)
|
||||
if not default:
|
||||
flash("Tag not found", "error")
|
||||
flash(gettext("Tag not found"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
form = group_restock_settings_form(
|
||||
@@ -181,7 +217,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
datastore.data['settings']['application']['tags'][uuid].update(form.data)
|
||||
datastore.data['settings']['application']['tags'][uuid]['processor'] = 'restock_diff'
|
||||
datastore.needs_write_urgent = True
|
||||
flash("Updated")
|
||||
flash(gettext("Updated"))
|
||||
|
||||
return redirect(url_for('tags.tags_overview_page'))
|
||||
|
||||
|
||||
@@ -50,7 +50,8 @@
|
||||
<td>{{ "{:,}".format(tag_count[uuid]) if uuid in tag_count else 0 }}</td>
|
||||
<td class="title-col inline"> <a href="{{url_for('watchlist.index', tag=uuid) }}">{{ tag.title }}</a></td>
|
||||
<td>
|
||||
<a class="pure-button pure-button-primary" href="{{ url_for('tags.form_tag_edit', uuid=uuid) }}">{{ _('Edit') }}</a>
|
||||
<a class="pure-button pure-button-primary" href="{{ url_for('tags.form_tag_edit', uuid=uuid) }}">{{ _('Edit') }}</a>
|
||||
<a href="{{ url_for('ui.form_watch_checknow', tag=uuid) }}" class="pure-button pure-button-primary" >{{ _('Recheck') }}</a>
|
||||
<a class="pure-button button-error"
|
||||
href="{{ url_for('tags.delete', uuid=uuid) }}"
|
||||
data-requires-confirm
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
import time
|
||||
import threading
|
||||
from flask import Blueprint, request, redirect, url_for, flash, render_template, session
|
||||
from flask_babel import gettext
|
||||
from loguru import logger
|
||||
|
||||
from changedetectionio.store import ChangeDetectionStore
|
||||
@@ -16,42 +18,42 @@ def _handle_operations(op, uuids, datastore, worker_handler, update_q, queuedWat
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.delete(uuid)
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches deleted")
|
||||
flash(gettext("{} watches deleted").format(len(uuids)))
|
||||
|
||||
elif op == 'pause':
|
||||
for uuid in uuids:
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.data['watching'][uuid]['paused'] = True
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches paused")
|
||||
flash(gettext("{} watches paused").format(len(uuids)))
|
||||
|
||||
elif op == 'unpause':
|
||||
for uuid in uuids:
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.data['watching'][uuid.strip()]['paused'] = False
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches unpaused")
|
||||
flash(gettext("{} watches unpaused").format(len(uuids)))
|
||||
|
||||
elif (op == 'mark-viewed'):
|
||||
for uuid in uuids:
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.set_last_viewed(uuid, int(time.time()))
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches updated")
|
||||
flash(gettext("{} watches updated").format(len(uuids)))
|
||||
|
||||
elif (op == 'mute'):
|
||||
for uuid in uuids:
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.data['watching'][uuid]['notification_muted'] = True
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches muted")
|
||||
flash(gettext("{} watches muted").format(len(uuids)))
|
||||
|
||||
elif (op == 'unmute'):
|
||||
for uuid in uuids:
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.data['watching'][uuid]['notification_muted'] = False
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches un-muted")
|
||||
flash(gettext("{} watches un-muted").format(len(uuids)))
|
||||
|
||||
elif (op == 'recheck'):
|
||||
for uuid in uuids:
|
||||
@@ -59,21 +61,21 @@ def _handle_operations(op, uuids, datastore, worker_handler, update_q, queuedWat
|
||||
# Recheck and require a full reprocessing
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches queued for rechecking")
|
||||
flash(gettext("{} watches queued for rechecking").format(len(uuids)))
|
||||
|
||||
elif (op == 'clear-errors'):
|
||||
for uuid in uuids:
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.data['watching'][uuid]["last_error"] = False
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches errors cleared")
|
||||
flash(gettext("{} watches errors cleared").format(len(uuids)))
|
||||
|
||||
elif (op == 'clear-history'):
|
||||
for uuid in uuids:
|
||||
if datastore.data['watching'].get(uuid):
|
||||
datastore.clear_watch_history(uuid)
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches cleared/reset.")
|
||||
flash(gettext("{} watches cleared/reset.").format(len(uuids)))
|
||||
|
||||
elif (op == 'notification-default'):
|
||||
from changedetectionio.notification import (
|
||||
@@ -86,7 +88,7 @@ def _handle_operations(op, uuids, datastore, worker_handler, update_q, queuedWat
|
||||
datastore.data['watching'][uuid]['notification_urls'] = []
|
||||
datastore.data['watching'][uuid]['notification_format'] = USE_SYSTEM_DEFAULT_NOTIFICATION_FORMAT_FOR_WATCH
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches set to use default notification settings")
|
||||
flash(gettext("{} watches set to use default notification settings").format(len(uuids)))
|
||||
|
||||
elif (op == 'assign-tag'):
|
||||
op_extradata = extra_data
|
||||
@@ -101,7 +103,7 @@ def _handle_operations(op, uuids, datastore, worker_handler, update_q, queuedWat
|
||||
|
||||
datastore.data['watching'][uuid]['tags'].append(tag_uuid)
|
||||
if emit_flash:
|
||||
flash(f"{len(uuids)} watches were tagged")
|
||||
flash(gettext("{} watches were tagged").format(len(uuids)))
|
||||
|
||||
if uuids:
|
||||
for uuid in uuids:
|
||||
@@ -138,9 +140,9 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_handle
|
||||
try:
|
||||
datastore.clear_watch_history(uuid)
|
||||
except KeyError:
|
||||
flash('Watch not found', 'error')
|
||||
flash(gettext('Watch not found'), 'error')
|
||||
else:
|
||||
flash("Cleared snapshot history for watch {}".format(uuid))
|
||||
flash(gettext("Cleared snapshot history for watch {}").format(uuid))
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
@ui_blueprint.route("/clear_history", methods=['GET', 'POST'])
|
||||
@@ -150,11 +152,26 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_handle
|
||||
confirmtext = request.form.get('confirmtext')
|
||||
|
||||
if confirmtext == 'clear':
|
||||
for uuid in datastore.data['watching'].keys():
|
||||
datastore.clear_watch_history(uuid)
|
||||
flash("Cleared snapshot history for all watches")
|
||||
# Run in background thread to avoid blocking
|
||||
def clear_history_background():
|
||||
# Capture UUIDs first to avoid race conditions
|
||||
watch_uuids = list(datastore.data['watching'].keys())
|
||||
logger.info(f"Background: Clearing history for {len(watch_uuids)} watches")
|
||||
|
||||
for uuid in watch_uuids:
|
||||
try:
|
||||
datastore.clear_watch_history(uuid)
|
||||
except Exception as e:
|
||||
logger.error(f"Error clearing history for watch {uuid}: {e}")
|
||||
|
||||
logger.info("Background: Completed clearing history")
|
||||
|
||||
# Start daemon thread
|
||||
threading.Thread(target=clear_history_background, daemon=True).start()
|
||||
|
||||
flash(gettext("History clearing started in background"))
|
||||
else:
|
||||
flash('Incorrect confirmation text.', 'error')
|
||||
flash(gettext('Incorrect confirmation text.'), 'error')
|
||||
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
@@ -168,18 +185,32 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_handle
|
||||
# Save the current newest history as the most recently viewed
|
||||
with_errors = request.args.get('with_errors') == "1"
|
||||
tag_limit = request.args.get('tag')
|
||||
logger.debug(f"Limiting to tag {tag_limit}")
|
||||
now = int(time.time())
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
if with_errors and not watch.get('last_error'):
|
||||
continue
|
||||
|
||||
if tag_limit and ( not watch.get('tags') or tag_limit not in watch['tags'] ):
|
||||
logger.debug(f"Skipping watch {watch_uuid}")
|
||||
continue
|
||||
# Mark watches as viewed in background thread to avoid blocking
|
||||
def mark_viewed_background():
|
||||
"""Background thread to mark watches as viewed - discarded after completion."""
|
||||
marked_count = 0
|
||||
try:
|
||||
for watch_uuid, watch in datastore.data['watching'].items():
|
||||
if with_errors and not watch.get('last_error'):
|
||||
continue
|
||||
|
||||
datastore.set_last_viewed(watch_uuid, now)
|
||||
if tag_limit and (not watch.get('tags') or tag_limit not in watch['tags']):
|
||||
continue
|
||||
|
||||
datastore.set_last_viewed(watch_uuid, now)
|
||||
marked_count += 1
|
||||
|
||||
logger.info(f"Background marking complete: {marked_count} watches marked as viewed")
|
||||
except Exception as e:
|
||||
logger.error(f"Error in background mark as viewed: {e}")
|
||||
|
||||
# Start background thread and return immediately
|
||||
thread = threading.Thread(target=mark_viewed_background, daemon=True)
|
||||
thread.start()
|
||||
|
||||
flash(gettext("Marking watches as viewed in background..."))
|
||||
return redirect(url_for('watchlist.index', tag=tag_limit))
|
||||
|
||||
@ui_blueprint.route("/delete", methods=['GET'])
|
||||
@@ -188,14 +219,14 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_handle
|
||||
uuid = request.args.get('uuid')
|
||||
|
||||
if uuid != 'all' and not uuid in datastore.data['watching'].keys():
|
||||
flash('The watch by UUID {} does not exist.'.format(uuid), 'error')
|
||||
flash(gettext('The watch by UUID {} does not exist.').format(uuid), 'error')
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# More for testing, possible to return the first/only
|
||||
if uuid == 'first':
|
||||
uuid = list(datastore.data['watching'].keys()).pop()
|
||||
datastore.delete(uuid)
|
||||
flash('Deleted.')
|
||||
flash(gettext('Deleted.'))
|
||||
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
@@ -212,7 +243,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_handle
|
||||
if not datastore.data['watching'].get(uuid).get('paused'):
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=5, item={'uuid': new_uuid}))
|
||||
|
||||
flash('Cloned, you are editing the new watch.')
|
||||
flash(gettext('Cloned, you are editing the new watch.'))
|
||||
|
||||
return redirect(url_for("ui.ui_edit.edit_page", uuid=new_uuid))
|
||||
|
||||
@@ -224,38 +255,81 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_handle
|
||||
uuid = request.args.get('uuid')
|
||||
with_errors = request.args.get('with_errors') == "1"
|
||||
|
||||
i = 0
|
||||
|
||||
running_uuids = worker_handler.get_running_uuids()
|
||||
|
||||
if uuid:
|
||||
if uuid not in running_uuids:
|
||||
# Single watch - check if already queued or running
|
||||
if worker_handler.is_watch_running(uuid) or uuid in update_q.get_queued_uuids():
|
||||
flash(gettext("Watch is already queued or being checked."))
|
||||
else:
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': uuid}))
|
||||
i += 1
|
||||
|
||||
flash(gettext("Queued 1 watch for rechecking."))
|
||||
else:
|
||||
# Recheck all, including muted
|
||||
# Get most overdue first
|
||||
# Multiple watches - first count how many need to be queued
|
||||
watches_to_queue = []
|
||||
for k in sorted(datastore.data['watching'].items(), key=lambda item: item[1].get('last_checked', 0)):
|
||||
watch_uuid = k[0]
|
||||
watch = k[1]
|
||||
if not watch['paused']:
|
||||
if watch_uuid not in running_uuids:
|
||||
if with_errors and not watch.get('last_error'):
|
||||
continue
|
||||
if not watch['paused'] and watch_uuid:
|
||||
if with_errors and not watch.get('last_error'):
|
||||
continue
|
||||
if tag != None and tag not in watch['tags']:
|
||||
continue
|
||||
watches_to_queue.append(watch_uuid)
|
||||
|
||||
if tag != None and tag not in watch['tags']:
|
||||
continue
|
||||
# If less than 20 watches, queue synchronously for immediate feedback
|
||||
if len(watches_to_queue) < 20:
|
||||
# Get already queued/running UUIDs once (efficient)
|
||||
queued_uuids = set(update_q.get_queued_uuids())
|
||||
running_uuids = set(worker_handler.get_running_uuids())
|
||||
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': watch_uuid}))
|
||||
i += 1
|
||||
# Filter out watches that are already queued or running
|
||||
watches_to_queue_filtered = []
|
||||
for watch_uuid in watches_to_queue:
|
||||
if watch_uuid not in queued_uuids and watch_uuid not in running_uuids:
|
||||
watches_to_queue_filtered.append(watch_uuid)
|
||||
|
||||
if i == 1:
|
||||
flash("Queued 1 watch for rechecking.")
|
||||
if i > 1:
|
||||
flash(f"Queued {i} watches for rechecking.")
|
||||
if i == 0:
|
||||
flash("No watches available to recheck.")
|
||||
# Queue only the filtered watches
|
||||
for watch_uuid in watches_to_queue_filtered:
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': watch_uuid}))
|
||||
|
||||
# Provide feedback about skipped watches
|
||||
skipped_count = len(watches_to_queue) - len(watches_to_queue_filtered)
|
||||
if skipped_count > 0:
|
||||
flash(gettext("Queued {} watches for rechecking ({} already queued or running).").format(
|
||||
len(watches_to_queue_filtered), skipped_count))
|
||||
else:
|
||||
if len(watches_to_queue_filtered) == 1:
|
||||
flash(gettext("Queued 1 watch for rechecking."))
|
||||
else:
|
||||
flash(gettext("Queued {} watches for rechecking.").format(len(watches_to_queue_filtered)))
|
||||
else:
|
||||
# 20+ watches - queue in background thread to avoid blocking HTTP response
|
||||
# Capture queued/running state before background thread
|
||||
queued_uuids = set(update_q.get_queued_uuids())
|
||||
running_uuids = set(worker_handler.get_running_uuids())
|
||||
|
||||
def queue_watches_background():
|
||||
"""Background thread to queue watches - discarded after completion."""
|
||||
try:
|
||||
queued_count = 0
|
||||
skipped_count = 0
|
||||
for watch_uuid in watches_to_queue:
|
||||
# Check if already queued or running (state captured at start)
|
||||
if watch_uuid not in queued_uuids and watch_uuid not in running_uuids:
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': watch_uuid}))
|
||||
queued_count += 1
|
||||
else:
|
||||
skipped_count += 1
|
||||
|
||||
logger.info(f"Background queueing complete: {queued_count} watches queued, {skipped_count} skipped (already queued/running)")
|
||||
except Exception as e:
|
||||
logger.error(f"Error in background queueing: {e}")
|
||||
|
||||
# Start background thread and return immediately
|
||||
thread = threading.Thread(target=queue_watches_background, daemon=True, name="QueueWatches-Background")
|
||||
thread.start()
|
||||
|
||||
# Return immediately with approximate message
|
||||
flash(gettext("Queueing watches for rechecking in background..."))
|
||||
|
||||
return redirect(url_for('watchlist.index', **({'tag': tag} if tag else {})))
|
||||
|
||||
@@ -326,7 +400,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, worker_handle
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Error sharing -{str(e)}")
|
||||
flash(f"Could not share, something went wrong while communicating with the share server - {str(e)}", 'error')
|
||||
flash(gettext("Could not share, something went wrong while communicating with the share server - {}").format(str(e)), 'error')
|
||||
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from flask import Blueprint, request, redirect, url_for, flash, render_template, make_response, send_from_directory
|
||||
from flask_babel import gettext
|
||||
|
||||
import re
|
||||
import importlib
|
||||
@@ -89,12 +90,12 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
try:
|
||||
watch = datastore.data['watching'][uuid]
|
||||
except KeyError:
|
||||
flash("No history found for the specified link, bad link?", "error")
|
||||
flash(gettext("No history found for the specified link, bad link?"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
dates = list(watch.history.keys())
|
||||
if not dates or len(dates) < 2:
|
||||
flash("Not enough history (2 snapshots required) to show difference page for this watch.", "error")
|
||||
flash(gettext("Not enough history (2 snapshots required) to show difference page for this watch."), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Get the processor type for this watch
|
||||
@@ -150,7 +151,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
try:
|
||||
watch = datastore.data['watching'][uuid]
|
||||
except KeyError:
|
||||
flash("No history found for the specified link, bad link?", "error")
|
||||
flash(gettext("No history found for the specified link, bad link?"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Get the processor type for this watch
|
||||
@@ -206,7 +207,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
try:
|
||||
watch = datastore.data['watching'][uuid]
|
||||
except KeyError:
|
||||
flash("No history found for the specified link, bad link?", "error")
|
||||
flash(gettext("No history found for the specified link, bad link?"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Get the processor type for this watch
|
||||
@@ -273,7 +274,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
try:
|
||||
watch = datastore.data['watching'][uuid]
|
||||
except KeyError:
|
||||
flash("No history found for the specified link, bad link?", "error")
|
||||
flash(gettext("No history found for the specified link, bad link?"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Get the processor type for this watch
|
||||
|
||||
@@ -2,6 +2,7 @@ from copy import deepcopy
|
||||
import os
|
||||
import importlib.resources
|
||||
from flask import Blueprint, request, redirect, url_for, flash, render_template, abort
|
||||
from flask_babel import gettext
|
||||
from loguru import logger
|
||||
from jinja2 import Environment, FileSystemLoader
|
||||
|
||||
@@ -31,14 +32,14 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
|
||||
# More for testing, possible to return the first/only
|
||||
if not datastore.data['watching'].keys():
|
||||
flash("No watches to edit", "error")
|
||||
flash(gettext("No watches to edit"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
if uuid == 'first':
|
||||
uuid = list(datastore.data['watching'].keys()).pop()
|
||||
|
||||
if not uuid in datastore.data['watching']:
|
||||
flash("No watch with the UUID %s found." % (uuid), "error")
|
||||
flash(gettext("No watch with the UUID {} found.").format(uuid), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
switch_processor = request.args.get('switch_processor')
|
||||
@@ -46,12 +47,18 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
for p in processors.available_processors():
|
||||
if p[0] == switch_processor:
|
||||
datastore.data['watching'][uuid]['processor'] = switch_processor
|
||||
flash(f"Switched to mode - {p[1]}.")
|
||||
flash(gettext("Switched to mode - {}.").format(p[1]))
|
||||
datastore.clear_watch_history(uuid)
|
||||
redirect(url_for('ui_edit.edit_page', uuid=uuid))
|
||||
|
||||
# be sure we update with a copy instead of accidently editing the live object by reference
|
||||
default = deepcopy(datastore.data['watching'][uuid])
|
||||
default = None
|
||||
while not default:
|
||||
try:
|
||||
default = deepcopy(datastore.data['watching'][uuid])
|
||||
except RuntimeError as e:
|
||||
# Dictionary changed
|
||||
continue
|
||||
|
||||
# Defaults for proxy choice
|
||||
if datastore.proxy_list is not None: # When enabled
|
||||
@@ -65,7 +72,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
processor_name = datastore.data['watching'][uuid].get('processor', '')
|
||||
processor_classes = next((tpl for tpl in processors.find_processors() if tpl[1] == processor_name), None)
|
||||
if not processor_classes:
|
||||
flash(f"Cannot load the edit form for processor/plugin '{processor_classes[1]}', plugin missing?", 'error')
|
||||
flash(gettext("Cannot load the edit form for processor/plugin '{}', plugin missing?").format(processor_classes[1]), 'error')
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
parent_module = processors.get_parent_module(processor_classes[0])
|
||||
@@ -235,7 +242,14 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
# Recast it if need be to right data Watch handler
|
||||
watch_class = processors.get_custom_watch_obj_for_processor(form.data.get('processor'))
|
||||
datastore.data['watching'][uuid] = watch_class(datastore_path=datastore.datastore_path, default=datastore.data['watching'][uuid])
|
||||
flash("Updated watch - unpaused!" if request.args.get('unpause_on_save') else "Updated watch.")
|
||||
flash(gettext("Updated watch - unpaused!") if request.args.get('unpause_on_save') else gettext("Updated watch."))
|
||||
|
||||
# Cleanup any browsersteps session for this watch
|
||||
try:
|
||||
from changedetectionio.blueprint.browser_steps import cleanup_session_for_watch
|
||||
cleanup_session_for_watch(uuid)
|
||||
except Exception as e:
|
||||
logger.debug(f"Error cleaning up browsersteps session: {e}")
|
||||
|
||||
# Re #286 - We wait for syncing new data to disk in another thread every 60 seconds
|
||||
# But in the case something is added we should save straight away
|
||||
@@ -279,7 +293,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
|
||||
else:
|
||||
if request.method == 'POST' and not form.validate():
|
||||
flash("An error occurred, please see below.", "error")
|
||||
flash(gettext("An error occurred, please see below."), "error")
|
||||
|
||||
# JQ is difficult to install on windows and must be manually added (outside requirements.txt)
|
||||
jq_support = True
|
||||
@@ -324,8 +338,6 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
'url': url_for('rss.rss_single_watch', uuid=watch['uuid'], token=app_rss_token)
|
||||
},
|
||||
'settings_application': datastore.data['settings']['application'],
|
||||
'system_has_playwright_configured': os.getenv('PLAYWRIGHT_DRIVER_URL'),
|
||||
'system_has_webdriver_configured': os.getenv('WEBDRIVER_URL'),
|
||||
'ui_edit_stats_extras': collect_ui_edit_stats_extras(watch),
|
||||
'visual_selector_data_ready': datastore.visualselector_data_is_ready(watch_uuid=uuid),
|
||||
'timezone_default_config': datastore.data['settings']['application'].get('scheduler_timezone_default'),
|
||||
|
||||
@@ -118,6 +118,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
sent_obj = process_notification(n_object, datastore)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
e_str = str(e)
|
||||
# Remove this text which is not important and floods the container
|
||||
e_str = e_str.replace(
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from flask import Blueprint, request, url_for, flash, render_template, redirect
|
||||
from flask_babel import gettext
|
||||
import time
|
||||
from loguru import logger
|
||||
|
||||
@@ -32,7 +33,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
try:
|
||||
watch = datastore.data['watching'][uuid]
|
||||
except KeyError:
|
||||
flash("No history found for the specified link, bad link?", "error")
|
||||
flash(gettext("No history found for the specified link, bad link?"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Get the processor type for this watch
|
||||
@@ -74,7 +75,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
blocked_line_numbers = []
|
||||
|
||||
if datastore.data['watching'][uuid].history_n == 0 and (watch.get_error_text() or watch.get_error_snapshot()):
|
||||
flash("Preview unavailable - No fetch/check completed or triggers not reached", "error")
|
||||
flash(gettext("Preview unavailable - No fetch/check completed or triggers not reached"), "error")
|
||||
else:
|
||||
# So prepare the latest preview or not
|
||||
preferred_version = request.args.get('version')
|
||||
@@ -156,7 +157,7 @@ def construct_blueprint(datastore: ChangeDetectionStore):
|
||||
try:
|
||||
watch = datastore.data['watching'][uuid]
|
||||
except KeyError:
|
||||
flash("No history found for the specified link, bad link?", "error")
|
||||
flash(gettext("No history found for the specified link, bad link?"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Get the processor type for this watch
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div id="diff-jump">
|
||||
<div id="diff-jump" style="display:none;"><!-- disabled for now -->
|
||||
<a id="jump-next-diff" title="{{ _('Jump to next difference') }}">{{ _('Jump') }}</a>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -206,7 +206,7 @@ Math: {{ 1 + 1 }}") }}
|
||||
|
||||
<div class="tab-pane-inner" id="browser-steps">
|
||||
{% if capabilities.supports_browser_steps %}
|
||||
{% if visual_selector_data_ready %}
|
||||
{% if true %}
|
||||
<img class="beta-logo" src="{{url_for('static_content', group='images', filename='beta-logo.png')}}" alt="New beta functionality">
|
||||
<fieldset>
|
||||
<div class="pure-control-group">
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
from flask import Blueprint, request, redirect, url_for, flash
|
||||
from flask_babel import gettext
|
||||
from changedetectionio.store import ChangeDetectionStore
|
||||
from changedetectionio.auth_decorator import login_optionally_required
|
||||
from changedetectionio import worker_handler
|
||||
@@ -20,7 +21,7 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
|
||||
url = request.form.get('url').strip()
|
||||
if datastore.url_exists(url):
|
||||
flash(f'Warning, URL {url} already exists', "notice")
|
||||
flash(gettext('Warning, URL {} already exists').format(url), "notice")
|
||||
|
||||
add_paused = request.form.get('edit_and_watch_submit_button') != None
|
||||
processor = request.form.get('processor', 'text_json_diff')
|
||||
@@ -28,12 +29,12 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
|
||||
if new_uuid:
|
||||
if add_paused:
|
||||
flash('Watch added in Paused state, saving will unpause.')
|
||||
flash(gettext('Watch added in Paused state, saving will unpause.'))
|
||||
return redirect(url_for('ui.ui_edit.edit_page', uuid=new_uuid, unpause_on_save=1, tag=request.args.get('tag')))
|
||||
else:
|
||||
# Straight into the queue.
|
||||
worker_handler.queue_item_async_safe(update_q, queuedWatchMetaData.PrioritizedItem(priority=1, item={'uuid': new_uuid}))
|
||||
flash("Watch added.")
|
||||
flash(gettext("Watch added."))
|
||||
|
||||
return redirect(url_for('watchlist.index', tag=request.args.get('tag','')))
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@ import os
|
||||
import time
|
||||
|
||||
from flask import Blueprint, request, make_response, render_template, redirect, url_for, flash, session
|
||||
from flask_login import current_user
|
||||
from flask_paginate import Pagination, get_page_parameter
|
||||
from flask_babel import gettext as _
|
||||
|
||||
from changedetectionio import forms
|
||||
from changedetectionio import processors
|
||||
@@ -74,7 +74,10 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
|
||||
pagination = Pagination(page=page,
|
||||
total=total_count,
|
||||
per_page=datastore.data['settings']['application'].get('pager_size', 50), css_framework="semantic")
|
||||
per_page=datastore.data['settings']['application'].get('pager_size', 50),
|
||||
css_framework="semantic",
|
||||
display_msg=_('displaying <b>{start} - {end}</b> {record_name} in total <b>{total}</b>'),
|
||||
record_name=_('records'))
|
||||
|
||||
sorted_tags = sorted(datastore.data['settings']['application'].get('tags').items(), key=lambda x: x[1]['title'])
|
||||
|
||||
@@ -85,16 +88,19 @@ def construct_blueprint(datastore: ChangeDetectionStore, update_q, queuedWatchMe
|
||||
app_rss_token=datastore.data['settings']['application'].get('rss_access_token'),
|
||||
datastore=datastore,
|
||||
errored_count=errored_count,
|
||||
extra_classes='has-queue' if not update_q.empty() else '',
|
||||
form=form,
|
||||
generate_tag_colors=processors.generate_processor_badge_colors,
|
||||
guid=datastore.data['app_guid'],
|
||||
has_proxies=datastore.proxy_list,
|
||||
hosted_sticky=os.getenv("SALTED_PASS", False) == False,
|
||||
now_time_server=round(time.time()),
|
||||
pagination=pagination,
|
||||
processor_badge_css=processors.get_processor_badge_css(),
|
||||
processor_badge_texts=processors.get_processor_badge_texts(),
|
||||
processor_descriptions=processors.get_processor_descriptions(),
|
||||
processor_badge_css=processors.get_processor_badge_css(),
|
||||
queued_uuids=[q_uuid.item['uuid'] for q_uuid in update_q.queue],
|
||||
queue_size=update_q.qsize(),
|
||||
queued_uuids=update_q.get_queued_uuids(),
|
||||
search_q=request.args.get('q', '').strip(),
|
||||
sort_attribute=request.args.get('sort') if request.args.get('sort') else request.cookies.get('sort'),
|
||||
sort_order=request.args.get('order') if request.args.get('order') else request.cookies.get('order'),
|
||||
|
||||
@@ -22,6 +22,33 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
|
||||
/* Auto-generated processor badge colors */
|
||||
{{ processor_badge_css|safe }}
|
||||
|
||||
/* Auto-generated tag colors */
|
||||
{%- for uuid, tag in tags -%}
|
||||
{%- if tag and tag.title -%}
|
||||
{%- set class_name = tag.title|sanitize_tag_class -%}
|
||||
{%- set colors = generate_tag_colors(tag.title) -%}
|
||||
.button-tag.tag-{{ class_name }} {
|
||||
background-color: {{ colors['light']['bg'] }};
|
||||
color: {{ colors['light']['color'] }};
|
||||
}
|
||||
|
||||
.watch-tag-list.tag-{{ class_name }} {
|
||||
background-color: {{ colors['light']['bg'] }};
|
||||
color: {{ colors['light']['color'] }};
|
||||
}
|
||||
|
||||
html[data-darkmode="true"] .button-tag.tag-{{ class_name }} {
|
||||
background-color: {{ colors['dark']['bg'] }};
|
||||
color: {{ colors['dark']['color'] }};
|
||||
}
|
||||
|
||||
html[data-darkmode="true"] .watch-tag-list.tag-{{ class_name }} {
|
||||
background-color: {{ colors['dark']['bg'] }};
|
||||
color: {{ colors['dark']['color'] }};
|
||||
}
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
</style>
|
||||
<div class="box" id="form-quick-watch-add">
|
||||
|
||||
@@ -35,7 +62,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
{{ render_nolabel_field(form.edit_and_watch_submit_button, title=_("Edit first then Watch") ) }}
|
||||
</div>
|
||||
<div id="watch-group-tag">
|
||||
{{ render_field(form.tags, value=active_tag.title if active_tag_uuid else '', placeholder="Watch group / tag", class="transparent-field") }}
|
||||
{{ render_field(form.tags, value=active_tag.title if active_tag_uuid else '', placeholder=_("Watch group / tag"), class="transparent-field") }}
|
||||
</div>
|
||||
<div id="quick-watch-processor-type">
|
||||
{{ render_simple_field(form.processor) }}
|
||||
@@ -72,9 +99,14 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
data-confirm-message="{{ _('<p>Are you sure you want to delete the selected watches?</strong></p><p>This action cannot be undone.</p>') }}"
|
||||
data-confirm-button="{{ _('Delete') }}"><i data-feather="trash" style="width: 14px; height: 14px; stroke: white; margin-right: 4px;"></i>{{ _('Delete') }}</button>
|
||||
</div>
|
||||
{%- if watches|length >= pagination.per_page -%}
|
||||
{{ pagination.info }}
|
||||
{%- endif -%}
|
||||
|
||||
<div id="stats_row">
|
||||
<div class="left">{%- if watches|length >= pagination.per_page -%}{{ pagination.info }}{%- endif -%}</div>
|
||||
<div class="right" >{{ _('Queued size') }}: <span id="queue-size-int">{{ queue_size }}</span></div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
{%- if search_q -%}<div id="search-result-info">{{ _('Searching') }} "<strong><i>{{search_q}}</i></strong>"</div>{%- endif -%}
|
||||
<div>
|
||||
<a href="{{url_for('watchlist.index')}}" class="pure-button button-tag {{'active' if not active_tag_uuid }}">{{ _('All') }}</a>
|
||||
@@ -82,7 +114,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
<!-- tag list -->
|
||||
{%- for uuid, tag in tags -%}
|
||||
{%- if tag != "" -%}
|
||||
<a href="{{url_for('watchlist.index', tag=uuid) }}" class="pure-button button-tag {{'active' if active_tag_uuid == uuid }}">{{ tag.title }}</a>
|
||||
<a href="{{url_for('watchlist.index', tag=uuid) }}" class="pure-button button-tag tag-{{ tag.title|sanitize_tag_class }} {{'active' if active_tag_uuid == uuid }}">{{ tag.title }}</a>
|
||||
{%- endif -%}
|
||||
{%- endfor -%}
|
||||
</div>
|
||||
@@ -127,7 +159,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
<tbody>
|
||||
{%- if not watches|length -%}
|
||||
<tr>
|
||||
<td colspan="{{ cols_required }}" style="text-wrap: wrap;">{{ _('No website watches configured, please add a URL in the box above, or') }} <a href="{{ url_for('imports.import_page')}}" >{{ _('import a list') }}</a>.</td>
|
||||
<td colspan="{{ cols_required }}" style="text-wrap: wrap;">{{ _('No web page change detection watches configured, please add a URL in the box above, or') }} <a href="{{ url_for('imports.import_page')}}" >{{ _('import a list') }}</a>.</td>
|
||||
</tr>
|
||||
{%- endif -%}
|
||||
|
||||
@@ -169,7 +201,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
<div class="flex-wrapper">
|
||||
{% if 'favicons_enabled' not in ui_settings or ui_settings['favicons_enabled'] %}
|
||||
<div>{# A page might have hundreds of these images, set IMG options for lazy loading, don't set SRC if we dont have it so it doesnt fetch the placeholder' #}
|
||||
<img alt="Favicon thumbnail" class="favicon" loading="lazy" decoding="async" fetchpriority="low" {% if favicon %} src="{{url_for('static_content', group='favicon', filename=watch.uuid)}}" {% else %} src='data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="7.087" height="7.087" viewBox="0 0 7.087 7.087"%3E%3Ccircle cx="3.543" cy="3.543" r="3.279" stroke="%23e1e1e1" stroke-width="0.45" fill="none" opacity="0.74"/%3E%3C/svg%3E' {% endif %} />
|
||||
<img alt="Favicon thumbnail" class="favicon" loading="lazy" decoding="async" fetchpriority="low" {% if favicon %} src="{{url_for('static_content', group='favicon', filename=watch.uuid)}}" {% else %} src='data:image/svg+xml;utf8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="7.087" height="7.087" viewBox="0 0 7.087 7.087"%3E%3Ccircle cx="3.543" cy="3.543" r="3.279" stroke="%23e1e1e1" stroke-width="0.45" fill="none" opacity="0.74"/%3E%3C/svg%3E' {% endif %} >
|
||||
</div>
|
||||
{% endif %}
|
||||
<div>
|
||||
@@ -191,7 +223,7 @@ document.addEventListener('DOMContentLoaded', function() {
|
||||
<span class="processor-badge processor-badge-{{ watch['processor'] }}" title="{{ processor_descriptions.get(watch['processor'], watch['processor']) }}">{{ processor_badge_texts[watch['processor']] }}</span>
|
||||
{%- endif -%}
|
||||
{%- for watch_tag_uuid, watch_tag in datastore.get_all_tags_for_watch(watch['uuid']).items() -%}
|
||||
<span class="watch-tag-list">{{ watch_tag.title }}</span>
|
||||
<span class="watch-tag-list tag-{{ watch_tag.title|sanitize_tag_class }}">{{ watch_tag.title }}</span>
|
||||
{%- endfor -%}
|
||||
</div>
|
||||
<div class="status-icons">
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import gc
|
||||
import json
|
||||
import os
|
||||
from urllib.parse import urlparse
|
||||
@@ -185,20 +186,33 @@ class fetcher(Fetcher):
|
||||
super().screenshot_step(step_n=step_n)
|
||||
screenshot = await capture_full_page_async(page=self.page, screenshot_format=self.screenshot_format)
|
||||
|
||||
# Request GC immediately after screenshot to free memory
|
||||
# Screenshots can be large and browser steps take many of them
|
||||
await self.page.request_gc()
|
||||
|
||||
if self.browser_steps_screenshot_path is not None:
|
||||
destination = os.path.join(self.browser_steps_screenshot_path, 'step_{}.jpeg'.format(step_n))
|
||||
logger.debug(f"Saving step screenshot to {destination}")
|
||||
with open(destination, 'wb') as f:
|
||||
f.write(screenshot)
|
||||
# Clear local reference to allow screenshot bytes to be collected
|
||||
del screenshot
|
||||
gc.collect()
|
||||
|
||||
async def save_step_html(self, step_n):
|
||||
super().save_step_html(step_n=step_n)
|
||||
content = await self.page.content()
|
||||
|
||||
# Request GC after getting page content
|
||||
await self.page.request_gc()
|
||||
|
||||
destination = os.path.join(self.browser_steps_screenshot_path, 'step_{}.html'.format(step_n))
|
||||
logger.debug(f"Saving step HTML to {destination}")
|
||||
with open(destination, 'w', encoding='utf-8') as f:
|
||||
f.write(content)
|
||||
# Clear local reference
|
||||
del content
|
||||
gc.collect()
|
||||
|
||||
async def run(self,
|
||||
fetch_favicon=True,
|
||||
@@ -305,6 +319,12 @@ class fetcher(Fetcher):
|
||||
|
||||
if self.status_code != 200 and not ignore_status_codes:
|
||||
screenshot = await capture_full_page_async(self.page, screenshot_format=self.screenshot_format)
|
||||
# Cleanup before raising to prevent memory leak
|
||||
await self.page.close()
|
||||
await context.close()
|
||||
await browser.close()
|
||||
# Force garbage collection to release Playwright resources immediately
|
||||
gc.collect()
|
||||
raise Non200ErrorCodeReceived(url=url, status_code=self.status_code, screenshot=screenshot)
|
||||
|
||||
if not empty_pages_are_a_change and len((await self.page.content()).strip()) == 0:
|
||||
@@ -313,48 +333,52 @@ class fetcher(Fetcher):
|
||||
await browser.close()
|
||||
raise EmptyReply(url=url, status_code=response.status)
|
||||
|
||||
# Run Browser Steps here
|
||||
if self.browser_steps_get_valid_steps():
|
||||
await self.iterate_browser_steps(start_url=url)
|
||||
|
||||
await self.page.wait_for_timeout(extra_wait * 1000)
|
||||
|
||||
now = time.time()
|
||||
# So we can find an element on the page where its selector was entered manually (maybe not xPath etc)
|
||||
if current_include_filters is not None:
|
||||
await self.page.evaluate("var include_filters={}".format(json.dumps(current_include_filters)))
|
||||
else:
|
||||
await self.page.evaluate("var include_filters=''")
|
||||
await self.page.request_gc()
|
||||
|
||||
# request_gc before and after evaluate to free up memory
|
||||
# @todo browsersteps etc
|
||||
MAX_TOTAL_HEIGHT = int(os.getenv("SCREENSHOT_MAX_HEIGHT", SCREENSHOT_MAX_HEIGHT_DEFAULT))
|
||||
self.xpath_data = await self.page.evaluate(XPATH_ELEMENT_JS, {
|
||||
"visualselector_xpath_selectors": visualselector_xpath_selectors,
|
||||
"max_height": MAX_TOTAL_HEIGHT
|
||||
})
|
||||
await self.page.request_gc()
|
||||
|
||||
self.instock_data = await self.page.evaluate(INSTOCK_DATA_JS)
|
||||
await self.page.request_gc()
|
||||
|
||||
self.content = await self.page.content()
|
||||
await self.page.request_gc()
|
||||
logger.debug(f"Scrape xPath element data in browser done in {time.time() - now:.2f}s")
|
||||
|
||||
|
||||
# Bug 3 in Playwright screenshot handling
|
||||
# Some bug where it gives the wrong screenshot size, but making a request with the clip set first seems to solve it
|
||||
# JPEG is better here because the screenshots can be very very large
|
||||
|
||||
# Screenshots also travel via the ws:// (websocket) meaning that the binary data is base64 encoded
|
||||
# which will significantly increase the IO size between the server and client, it's recommended to use the lowest
|
||||
# acceptable screenshot quality here
|
||||
# Wrap remaining operations in try/finally to ensure cleanup
|
||||
try:
|
||||
# Run Browser Steps here
|
||||
if self.browser_steps_get_valid_steps():
|
||||
await self.iterate_browser_steps(start_url=url)
|
||||
|
||||
await self.page.wait_for_timeout(extra_wait * 1000)
|
||||
|
||||
now = time.time()
|
||||
# So we can find an element on the page where its selector was entered manually (maybe not xPath etc)
|
||||
if current_include_filters is not None:
|
||||
await self.page.evaluate("var include_filters={}".format(json.dumps(current_include_filters)))
|
||||
else:
|
||||
await self.page.evaluate("var include_filters=''")
|
||||
await self.page.request_gc()
|
||||
|
||||
# request_gc before and after evaluate to free up memory
|
||||
# @todo browsersteps etc
|
||||
MAX_TOTAL_HEIGHT = int(os.getenv("SCREENSHOT_MAX_HEIGHT", SCREENSHOT_MAX_HEIGHT_DEFAULT))
|
||||
self.xpath_data = await self.page.evaluate(XPATH_ELEMENT_JS, {
|
||||
"visualselector_xpath_selectors": visualselector_xpath_selectors,
|
||||
"max_height": MAX_TOTAL_HEIGHT
|
||||
})
|
||||
await self.page.request_gc()
|
||||
|
||||
self.instock_data = await self.page.evaluate(INSTOCK_DATA_JS)
|
||||
await self.page.request_gc()
|
||||
|
||||
self.content = await self.page.content()
|
||||
await self.page.request_gc()
|
||||
logger.debug(f"Scrape xPath element data in browser done in {time.time() - now:.2f}s")
|
||||
|
||||
|
||||
# Bug 3 in Playwright screenshot handling
|
||||
# Some bug where it gives the wrong screenshot size, but making a request with the clip set first seems to solve it
|
||||
# JPEG is better here because the screenshots can be very very large
|
||||
|
||||
# Screenshots also travel via the ws:// (websocket) meaning that the binary data is base64 encoded
|
||||
# which will significantly increase the IO size between the server and client, it's recommended to use the lowest
|
||||
# acceptable screenshot quality here
|
||||
# The actual screenshot - this always base64 and needs decoding! horrible! huge CPU usage
|
||||
self.screenshot = await capture_full_page_async(page=self.page, screenshot_format=self.screenshot_format)
|
||||
|
||||
except ScreenshotUnavailable:
|
||||
# Re-raise screenshot unavailable exceptions
|
||||
raise
|
||||
except Exception as e:
|
||||
# It's likely the screenshot was too long/big and something crashed
|
||||
raise ScreenshotUnavailable(url=url, status_code=self.status_code)
|
||||
@@ -389,6 +413,10 @@ class fetcher(Fetcher):
|
||||
pass
|
||||
browser = None
|
||||
|
||||
# Force Python GC to release Playwright resources immediately
|
||||
# Playwright objects can have circular references that delay cleanup
|
||||
gc.collect()
|
||||
|
||||
|
||||
# Plugin registration for built-in fetcher
|
||||
class PlaywrightFetcherPlugin:
|
||||
|
||||
@@ -204,7 +204,7 @@ class fetcher(Fetcher):
|
||||
import re
|
||||
self.delete_browser_steps_screenshots()
|
||||
|
||||
n = int(os.getenv("WEBDRIVER_DELAY_BEFORE_CONTENT_READY", 5)) + self.render_extract_delay
|
||||
n = int(os.getenv("WEBDRIVER_DELAY_BEFORE_CONTENT_READY", 12)) + self.render_extract_delay
|
||||
extra_wait = min(n, 15)
|
||||
|
||||
logger.debug(f"Extra wait set to {extra_wait}s, requested was {n}s.")
|
||||
@@ -288,28 +288,27 @@ class fetcher(Fetcher):
|
||||
# Enable Network domain to detect when first bytes arrive
|
||||
await self.page._client.send('Network.enable')
|
||||
|
||||
# Now set up the frame navigation handlers
|
||||
async def handle_frame_navigation(event=None):
|
||||
# Wait n seconds after the frameStartedLoading, not from any frameStartedLoading/frameStartedNavigating
|
||||
logger.debug(f"Frame navigated: {event}")
|
||||
w = extra_wait - 2 if extra_wait > 4 else 2
|
||||
logger.debug(f"Waiting {w} seconds before calling Page.stopLoading...")
|
||||
await asyncio.sleep(w)
|
||||
logger.debug("Issuing stopLoading command...")
|
||||
await self.page._client.send('Page.stopLoading')
|
||||
logger.debug("stopLoading command sent!")
|
||||
|
||||
async def setup_frame_handlers_on_first_response(event):
|
||||
# Only trigger for the main document response
|
||||
if event.get('type') == 'Document':
|
||||
logger.debug("First response received, setting up frame handlers for forced page stop load.")
|
||||
|
||||
# De-register this listener - we only need it once
|
||||
self.page._client.remove_listener('Network.responseReceived', setup_frame_handlers_on_first_response)
|
||||
|
||||
# Now set up the frame navigation handlers
|
||||
async def handle_frame_navigation(event):
|
||||
# Wait n seconds after the frameStartedLoading, not from any frameStartedLoading/frameStartedNavigating
|
||||
logger.debug(f"Frame navigated: {event}")
|
||||
w = extra_wait - 2 if extra_wait > 4 else 2
|
||||
logger.debug(f"Waiting {w} seconds before calling Page.stopLoading...")
|
||||
await asyncio.sleep(w)
|
||||
logger.debug("Issuing stopLoading command...")
|
||||
await self.page._client.send('Page.stopLoading')
|
||||
logger.debug("stopLoading command sent!")
|
||||
|
||||
self.page._client.on('Page.frameStartedNavigating', lambda e: asyncio.create_task(handle_frame_navigation(e)))
|
||||
self.page._client.on('Page.frameStartedLoading', lambda e: asyncio.create_task(handle_frame_navigation(e)))
|
||||
self.page._client.on('Page.frameStoppedLoading', lambda e: logger.debug(f"Frame stopped loading: {e}"))
|
||||
logger.debug("First response received, setting up frame handlers for forced page stop load DONE SETUP")
|
||||
# De-register this listener - we only need it once
|
||||
self.page._client.remove_listener('Network.responseReceived', setup_frame_handlers_on_first_response)
|
||||
|
||||
# Listen for first response to trigger frame handler setup
|
||||
self.page._client.on('Network.responseReceived', setup_frame_handlers_on_first_response)
|
||||
@@ -318,8 +317,11 @@ class fetcher(Fetcher):
|
||||
attempt=0
|
||||
while not response:
|
||||
logger.debug(f"Attempting page fetch {url} attempt {attempt}")
|
||||
asyncio.create_task(handle_frame_navigation())
|
||||
response = await self.page.goto(url, timeout=0)
|
||||
await asyncio.sleep(1 + extra_wait)
|
||||
await self.page._client.send('Page.stopLoading')
|
||||
|
||||
if response:
|
||||
break
|
||||
if not response:
|
||||
|
||||
@@ -15,7 +15,7 @@ class fetcher(Fetcher):
|
||||
proxy_url = None
|
||||
|
||||
# Capability flags
|
||||
supports_browser_steps = True
|
||||
supports_browser_steps = False
|
||||
supports_screenshots = True
|
||||
supports_xpath_element_data = True
|
||||
|
||||
@@ -156,6 +156,19 @@ class fetcher(Fetcher):
|
||||
from PIL import Image
|
||||
import io
|
||||
img = Image.open(io.BytesIO(screenshot_png))
|
||||
# Convert to RGB if needed (JPEG doesn't support transparency)
|
||||
# Always convert non-RGB modes to RGB to ensure JPEG compatibility
|
||||
if img.mode in ('RGBA', 'LA', 'P', 'PA'):
|
||||
# Handle transparency by compositing onto white background
|
||||
if img.mode == 'P':
|
||||
img = img.convert('RGBA')
|
||||
background = Image.new('RGB', img.size, (255, 255, 255))
|
||||
if img.mode in ('RGBA', 'LA', 'PA'):
|
||||
background.paste(img, mask=img.split()[-1]) # Use alpha channel as mask
|
||||
img = background
|
||||
elif img.mode != 'RGB':
|
||||
# For other modes, direct conversion
|
||||
img = img.convert('RGB')
|
||||
jpeg_buffer = io.BytesIO()
|
||||
img.save(jpeg_buffer, format='JPEG', quality=int(os.getenv("SCREENSHOT_QUALITY", 72)))
|
||||
self.screenshot = jpeg_buffer.getvalue()
|
||||
|
||||
@@ -57,14 +57,15 @@ class SignalPriorityQueue(queue.PriorityQueue):
|
||||
def put(self, item, block=True, timeout=None):
|
||||
# Call the parent's put method first
|
||||
super().put(item, block, timeout)
|
||||
|
||||
|
||||
# After putting the item in the queue, check if it has a UUID and emit signal
|
||||
if hasattr(item, 'item') and isinstance(item.item, dict) and 'uuid' in item.item:
|
||||
uuid = item.item['uuid']
|
||||
# Get the signal and send it if it exists
|
||||
watch_check_update = signal('watch_check_update')
|
||||
if watch_check_update:
|
||||
# Send the watch_uuid parameter
|
||||
# NOTE: This would block other workers from .put/.get while this signal sends
|
||||
# Signal handlers may iterate the queue/datastore while holding locks
|
||||
watch_check_update.send(watch_uuid=uuid)
|
||||
|
||||
# Send queue_length signal with current queue size
|
||||
@@ -312,14 +313,15 @@ class AsyncSignalPriorityQueue(asyncio.PriorityQueue):
|
||||
async def put(self, item):
|
||||
# Call the parent's put method first
|
||||
await super().put(item)
|
||||
|
||||
|
||||
# After putting the item in the queue, check if it has a UUID and emit signal
|
||||
if hasattr(item, 'item') and isinstance(item.item, dict) and 'uuid' in item.item:
|
||||
uuid = item.item['uuid']
|
||||
# Get the signal and send it if it exists
|
||||
watch_check_update = signal('watch_check_update')
|
||||
if watch_check_update:
|
||||
# Send the watch_uuid parameter
|
||||
# NOTE: This would block other workers from .put/.get while this signal sends
|
||||
# Signal handlers may iterate the queue/datastore while holding locks
|
||||
watch_check_update.send(watch_uuid=uuid)
|
||||
|
||||
# Send queue_length signal with current queue size
|
||||
|
||||
@@ -9,6 +9,7 @@ import threading
|
||||
import time
|
||||
import timeago
|
||||
from blinker import signal
|
||||
from pathlib import Path
|
||||
|
||||
from changedetectionio.strtobool import strtobool
|
||||
from threading import Event
|
||||
@@ -27,7 +28,6 @@ from flask import (
|
||||
url_for,
|
||||
)
|
||||
from flask_compress import Compress as FlaskCompress
|
||||
from flask_login import current_user
|
||||
from flask_restful import abort, Api
|
||||
from flask_cors import CORS
|
||||
|
||||
@@ -44,6 +44,7 @@ from changedetectionio.api import Watch, WatchHistory, WatchSingleHistory, Watch
|
||||
from changedetectionio.api.Search import Search
|
||||
from .time_handler import is_within_schedule
|
||||
from changedetectionio.languages import get_available_languages, get_language_codes, get_flag_for_locale, get_timeago_locale
|
||||
IN_PYTEST = "pytest" in sys.modules or "PYTEST_CURRENT_TEST" in os.environ
|
||||
|
||||
datastore = None
|
||||
|
||||
@@ -54,7 +55,7 @@ extra_stylesheets = []
|
||||
# Use bulletproof janus-based queues for sync/async reliability
|
||||
update_q = RecheckPriorityQueue()
|
||||
notification_q = NotificationQueue()
|
||||
MAX_QUEUE_SIZE = 2000
|
||||
MAX_QUEUE_SIZE = 5000
|
||||
|
||||
app = Flask(__name__,
|
||||
static_url_path="",
|
||||
@@ -83,6 +84,10 @@ app.config['NEW_VERSION_AVAILABLE'] = False
|
||||
if os.getenv('FLASK_SERVER_NAME'):
|
||||
app.config['SERVER_NAME'] = os.getenv('FLASK_SERVER_NAME')
|
||||
|
||||
# Babel/i18n configuration
|
||||
app.config['BABEL_TRANSLATION_DIRECTORIES'] = str(Path(__file__).parent / 'translations')
|
||||
app.config['BABEL_DEFAULT_LOCALE'] = 'en_GB'
|
||||
|
||||
#app.config["EXPLAIN_TEMPLATE_LOADING"] = True
|
||||
|
||||
|
||||
@@ -296,6 +301,25 @@ def _jinja2_filter_fetcher_status_icons(fetcher_name):
|
||||
|
||||
return ''
|
||||
|
||||
@app.template_filter('sanitize_tag_class')
|
||||
def _jinja2_filter_sanitize_tag_class(tag_title):
|
||||
"""Sanitize a tag title to create a valid CSS class name.
|
||||
Removes all non-alphanumeric characters and converts to lowercase.
|
||||
|
||||
Args:
|
||||
tag_title: The tag title string
|
||||
|
||||
Returns:
|
||||
str: A sanitized string suitable for use as a CSS class name
|
||||
"""
|
||||
import re
|
||||
# Remove all non-alphanumeric characters and convert to lowercase
|
||||
sanitized = re.sub(r'[^a-zA-Z0-9]', '', tag_title).lower()
|
||||
# Ensure it starts with a letter (CSS requirement)
|
||||
if sanitized and not sanitized[0].isalpha():
|
||||
sanitized = 'tag' + sanitized
|
||||
return sanitized if sanitized else 'tag'
|
||||
|
||||
# Import login_optionally_required from auth_decorator
|
||||
from changedetectionio.auth_decorator import login_optionally_required
|
||||
|
||||
@@ -350,6 +374,16 @@ def changedetection_app(config=None, datastore_o=None):
|
||||
global datastore, socketio_server
|
||||
datastore = datastore_o
|
||||
|
||||
# Set datastore reference in notification queue for all_muted checking
|
||||
notification_q.set_datastore(datastore)
|
||||
|
||||
# Import and create a wrapper for is_safe_url that has access to app
|
||||
from changedetectionio.is_safe_url import is_safe_url as _is_safe_url
|
||||
|
||||
def is_safe_url(target):
|
||||
"""Wrapper for is_safe_url that passes the app instance"""
|
||||
return _is_safe_url(target, app)
|
||||
|
||||
# so far just for read-only via tests, but this will be moved eventually to be the main source
|
||||
# (instead of the global var)
|
||||
app.config['DATASTORE'] = datastore_o
|
||||
@@ -368,13 +402,9 @@ def changedetection_app(config=None, datastore_o=None):
|
||||
def get_locale():
|
||||
# 1. Try to get locale from session (user explicitly selected)
|
||||
if 'locale' in session:
|
||||
locale = session['locale']
|
||||
print(f"DEBUG: get_locale() returning from session: {locale}")
|
||||
return locale
|
||||
return session['locale']
|
||||
# 2. Fall back to Accept-Language header
|
||||
locale = request.accept_languages.best_match(language_codes)
|
||||
print(f"DEBUG: get_locale() returning from Accept-Language: {locale}")
|
||||
return locale
|
||||
return request.accept_languages.best_match(language_codes)
|
||||
|
||||
# Initialize Babel with locale selector
|
||||
babel = Babel(app, locale_selector=get_locale)
|
||||
@@ -397,6 +427,12 @@ def changedetection_app(config=None, datastore_o=None):
|
||||
if request.endpoint and request.endpoint == 'static_content' and request.view_args:
|
||||
# Handled by static_content handler
|
||||
return None
|
||||
# Permitted - static flag icons need to load on login page
|
||||
elif request.endpoint and request.endpoint == 'static_flags':
|
||||
return None
|
||||
# Permitted - language selection should work on login page
|
||||
elif request.endpoint and request.endpoint == 'set_language':
|
||||
return None
|
||||
# Permitted
|
||||
elif request.endpoint and 'login' in request.endpoint:
|
||||
return None
|
||||
@@ -465,37 +501,73 @@ def changedetection_app(config=None, datastore_o=None):
|
||||
|
||||
@login_manager.unauthorized_handler
|
||||
def unauthorized_handler():
|
||||
flash("You must be logged in, please log in.", 'error')
|
||||
return redirect(url_for('login', next=url_for('watchlist.index')))
|
||||
# Pass the current request path so users are redirected back after login
|
||||
return redirect(url_for('login', redirect=request.path))
|
||||
|
||||
@app.route('/logout')
|
||||
def logout():
|
||||
flask_login.logout_user()
|
||||
|
||||
# Check if there's a redirect parameter to return to after re-login
|
||||
redirect_url = request.args.get('redirect')
|
||||
|
||||
# If redirect is provided and safe, pass it to login page
|
||||
if redirect_url and is_safe_url(redirect_url):
|
||||
return redirect(url_for('login', redirect=redirect_url))
|
||||
|
||||
# Otherwise just go to watchlist
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
@app.route('/set-language/<locale>')
|
||||
def set_language(locale):
|
||||
"""Set the user's preferred language in the session"""
|
||||
if not request.cookies:
|
||||
logger.error("Cannot set language without session cookie")
|
||||
flash("Cannot set language without session cookie", 'error')
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Validate the locale against available languages
|
||||
if locale in language_codes:
|
||||
session['locale'] = locale
|
||||
|
||||
# CRITICAL: Flask-Babel caches the locale in the request context (ctx.babel_locale)
|
||||
# We must refresh to clear this cache so the new locale takes effect immediately
|
||||
# This is especially important for tests where multiple requests happen rapidly
|
||||
from flask_babel import refresh
|
||||
refresh()
|
||||
else:
|
||||
logger.error(f"Invalid locale {locale}, available: {language_codes}")
|
||||
|
||||
# Redirect back to the page they came from, or home
|
||||
# Check if there's a redirect parameter to return to the same page
|
||||
redirect_url = request.args.get('redirect')
|
||||
|
||||
# If redirect is provided and safe, use it
|
||||
if redirect_url and is_safe_url(redirect_url):
|
||||
return redirect(redirect_url)
|
||||
|
||||
# Otherwise redirect to watchlist
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# https://github.com/pallets/flask/blob/93dd1709d05a1cf0e886df6223377bdab3b077fb/examples/tutorial/flaskr/__init__.py#L39
|
||||
# You can divide up the stuff like this
|
||||
@app.route('/login', methods=['GET', 'POST'])
|
||||
def login():
|
||||
# Extract and validate the redirect parameter
|
||||
redirect_url = request.args.get('redirect') or request.form.get('redirect')
|
||||
|
||||
# Validate the redirect URL - default to watchlist if invalid
|
||||
if redirect_url and is_safe_url(redirect_url):
|
||||
validated_redirect = redirect_url
|
||||
else:
|
||||
validated_redirect = url_for('watchlist.index')
|
||||
|
||||
if request.method == 'GET':
|
||||
if flask_login.current_user.is_authenticated:
|
||||
flash("Already logged in")
|
||||
return redirect(url_for("watchlist.index"))
|
||||
|
||||
output = render_template("login.html")
|
||||
# Already logged in - redirect immediately to the target
|
||||
flash(gettext("Already logged in"))
|
||||
return redirect(validated_redirect)
|
||||
flash(gettext("You must be logged in, please log in."), 'error')
|
||||
output = render_template("login.html", redirect_url=validated_redirect)
|
||||
return output
|
||||
|
||||
user = User()
|
||||
@@ -505,23 +577,13 @@ def changedetection_app(config=None, datastore_o=None):
|
||||
|
||||
if (user.check_password(password)):
|
||||
flask_login.login_user(user, remember=True)
|
||||
|
||||
# For now there's nothing else interesting here other than the index/list page
|
||||
# It's more reliable and safe to ignore the 'next' redirect
|
||||
# When we used...
|
||||
# next = request.args.get('next')
|
||||
# return redirect(next or url_for('watchlist.index'))
|
||||
# We would sometimes get login loop errors on sites hosted in sub-paths
|
||||
|
||||
# note for the future:
|
||||
# if not is_safe_valid_url(next):
|
||||
# return flask.abort(400)
|
||||
return redirect(url_for('watchlist.index'))
|
||||
# Redirect to the validated URL after successful login
|
||||
return redirect(validated_redirect)
|
||||
|
||||
else:
|
||||
flash('Incorrect password', 'error')
|
||||
flash(gettext('Incorrect password'), 'error')
|
||||
|
||||
return redirect(url_for('login'))
|
||||
return redirect(url_for('login', redirect=redirect_url if redirect_url else None))
|
||||
|
||||
@app.before_request
|
||||
def before_request_handle_cookie_x_settings():
|
||||
@@ -531,6 +593,40 @@ def changedetection_app(config=None, datastore_o=None):
|
||||
app.config['SESSION_COOKIE_PATH'] = request.headers['X-Forwarded-Prefix']
|
||||
return None
|
||||
|
||||
@app.route("/static/flags/<path:flag_path>", methods=['GET'])
|
||||
def static_flags(flag_path):
|
||||
"""Handle flag icon files with subdirectories"""
|
||||
from flask import make_response
|
||||
import re
|
||||
|
||||
# flag_path comes in as "1x1/de.svg" or "4x3/de.svg"
|
||||
if re.match(r'^(1x1|4x3)/[a-z0-9-]+\.svg$', flag_path.lower()):
|
||||
# Reconstruct the path safely with additional validation
|
||||
parts = flag_path.lower().split('/')
|
||||
if len(parts) != 2:
|
||||
abort(404)
|
||||
|
||||
subdir = parts[0]
|
||||
svg_file = parts[1]
|
||||
|
||||
# Extra validation: ensure subdir is exactly 1x1 or 4x3
|
||||
if subdir not in ['1x1', '4x3']:
|
||||
abort(404)
|
||||
|
||||
# Extra validation: ensure svg_file only contains safe characters
|
||||
if not re.match(r'^[a-z0-9-]+\.svg$', svg_file):
|
||||
abort(404)
|
||||
|
||||
try:
|
||||
response = make_response(send_from_directory(f"static/flags/{subdir}", svg_file))
|
||||
response.headers['Content-type'] = 'image/svg+xml'
|
||||
response.headers['Cache-Control'] = 'max-age=86400, public' # Cache for 24 hours
|
||||
return response
|
||||
except FileNotFoundError:
|
||||
abort(404)
|
||||
else:
|
||||
abort(404)
|
||||
|
||||
@app.route("/static/<string:group>/<string:filename>", methods=['GET'])
|
||||
def static_content(group, filename):
|
||||
from flask import make_response
|
||||
@@ -781,13 +877,13 @@ def changedetection_app(config=None, datastore_o=None):
|
||||
worker_handler.start_workers(n_workers, update_q, notification_q, app, datastore)
|
||||
|
||||
# @todo handle ctrl break
|
||||
ticker_thread = threading.Thread(target=ticker_thread_check_time_launch_checks).start()
|
||||
threading.Thread(target=notification_runner).start()
|
||||
ticker_thread = threading.Thread(target=ticker_thread_check_time_launch_checks, daemon=True, name="TickerThread-ScheduleChecker").start()
|
||||
threading.Thread(target=notification_runner, daemon=True, name="NotificationRunner").start()
|
||||
|
||||
in_pytest = "pytest" in sys.modules or "PYTEST_CURRENT_TEST" in os.environ
|
||||
# Check for new release version, but not when running in test/build or pytest
|
||||
if not os.getenv("GITHUB_REF", False) and not strtobool(os.getenv('DISABLE_VERSION_CHECK', 'no')) and not in_pytest:
|
||||
threading.Thread(target=check_for_new_version).start()
|
||||
threading.Thread(target=check_for_new_version, daemon=True, name="VersionChecker").start()
|
||||
|
||||
# Return the Flask app - the Socket.IO will be attached to it but initialized separately
|
||||
# This avoids circular dependencies
|
||||
@@ -832,7 +928,7 @@ def notification_runner():
|
||||
# At the moment only one thread runs (single runner)
|
||||
n_object = notification_q.get(block=False)
|
||||
except queue.Empty:
|
||||
time.sleep(1)
|
||||
app.config.exit.wait(1)
|
||||
|
||||
else:
|
||||
|
||||
@@ -869,7 +965,7 @@ def notification_runner():
|
||||
app.config['watch_check_update_SIGNAL'].send(app_context=app, watch_uuid=n_object.get('uuid'))
|
||||
|
||||
# Process notifications
|
||||
notification_debug_log+= ["{} - SENDING - {}".format(now.strftime("%Y/%m/%d %H:%M:%S,000"), json.dumps(sent_obj))]
|
||||
notification_debug_log+= ["{} - SENDING - {}".format(now.strftime("%c"), json.dumps(sent_obj))]
|
||||
# Trim the log length
|
||||
notification_debug_log = notification_debug_log[-100:]
|
||||
|
||||
@@ -885,6 +981,10 @@ def ticker_thread_check_time_launch_checks():
|
||||
logger.debug(f"System env MINIMUM_SECONDS_RECHECK_TIME {recheck_time_minimum_seconds}")
|
||||
|
||||
# Workers are now started during app initialization, not here
|
||||
WAIT_TIME_BETWEEN_LOOP = 1.0 if not IN_PYTEST else 0.01
|
||||
if IN_PYTEST:
|
||||
# The time between loops should be less than the first .sleep/wait in def wait_for_all_checks() of tests/util.py
|
||||
logger.warning(f"Looks like we're in PYTEST! Setting time between searching for items to add to the queue to {WAIT_TIME_BETWEEN_LOOP}s")
|
||||
|
||||
while not app.config.exit.is_set():
|
||||
|
||||
@@ -902,12 +1002,20 @@ def ticker_thread_check_time_launch_checks():
|
||||
|
||||
if health_result['status'] != 'healthy':
|
||||
logger.warning(f"Worker health check: {health_result['message']}")
|
||||
|
||||
|
||||
last_health_check = now
|
||||
|
||||
# Check if all checks are paused
|
||||
if datastore.data['settings']['application'].get('all_paused', False):
|
||||
app.config.exit.wait(1)
|
||||
continue
|
||||
|
||||
# Get a list of watches by UUID that are currently fetching data
|
||||
running_uuids = worker_handler.get_running_uuids()
|
||||
|
||||
# Build set of queued UUIDs once for O(1) lookup instead of O(n) per watch
|
||||
queued_uuids = {q_item.item['uuid'] for q_item in update_q.queue}
|
||||
|
||||
# Re #232 - Deepcopy the data incase it changes while we're iterating through it all
|
||||
watch_uuid_list = []
|
||||
while True:
|
||||
@@ -924,16 +1032,17 @@ def ticker_thread_check_time_launch_checks():
|
||||
else:
|
||||
break
|
||||
|
||||
# Re #438 - Don't place more watches in the queue to be checked if the queue is already large
|
||||
while update_q.qsize() >= 2000:
|
||||
logger.warning(f"Recheck watches queue size limit reached ({MAX_QUEUE_SIZE}), skipping adding more items")
|
||||
time.sleep(3)
|
||||
|
||||
|
||||
recheck_time_system_seconds = int(datastore.threshold_seconds)
|
||||
|
||||
# Check for watches outside of the time threshold to put in the thread queue.
|
||||
for uuid in watch_uuid_list:
|
||||
for watch_index, uuid in enumerate(watch_uuid_list):
|
||||
# Re #438 - Check queue size every 100 watches for CPU efficiency (not every watch)
|
||||
if watch_index % 100 == 0:
|
||||
current_queue_size = update_q.qsize()
|
||||
if current_queue_size >= MAX_QUEUE_SIZE:
|
||||
logger.debug(f"Queue size limit reached ({current_queue_size}/{MAX_QUEUE_SIZE}), stopping scheduler this iteration.")
|
||||
break
|
||||
|
||||
now = time.time()
|
||||
watch = datastore.data['watching'].get(uuid)
|
||||
if not watch:
|
||||
@@ -983,7 +1092,7 @@ def ticker_thread_check_time_launch_checks():
|
||||
seconds_since_last_recheck = now - watch['last_checked']
|
||||
|
||||
if seconds_since_last_recheck >= (threshold + watch.jitter_seconds) and seconds_since_last_recheck >= recheck_time_minimum_seconds:
|
||||
if not uuid in running_uuids and uuid not in [q_uuid.item['uuid'] for q_uuid in update_q.queue]:
|
||||
if not uuid in running_uuids and uuid not in queued_uuids:
|
||||
|
||||
# Proxies can be set to have a limit on seconds between which they can be called
|
||||
watch_proxy = datastore.get_preferred_proxy_for_watch(uuid=uuid)
|
||||
@@ -1025,8 +1134,5 @@ def ticker_thread_check_time_launch_checks():
|
||||
# Reset for next time
|
||||
watch.jitter_seconds = 0
|
||||
|
||||
# Wait before checking the list again - saves CPU
|
||||
time.sleep(1)
|
||||
|
||||
# Should be low so we can break this out in testing
|
||||
app.config.exit.wait(1)
|
||||
app.config.exit.wait(WAIT_TIME_BETWEEN_LOOP)
|
||||
|
||||
@@ -727,8 +727,8 @@ class ValidateStartsWithRegex(object):
|
||||
raise ValidationError(self.message or _l("Invalid value."))
|
||||
|
||||
class quickWatchForm(Form):
|
||||
url = fields.URLField('URL', validators=[validateURL()])
|
||||
tags = StringTagUUID('Group tag', [validators.Optional()])
|
||||
url = fields.URLField(_l('URL'), validators=[validateURL()])
|
||||
tags = StringTagUUID(_l('Group tag'), validators=[validators.Optional()])
|
||||
watch_submit_button = SubmitField(_l('Watch'), render_kw={"class": "pure-button pure-button-primary"})
|
||||
processor = RadioField(_l('Processor'), choices=lambda: processors.available_processors(), default="text_json_diff")
|
||||
edit_and_watch_submit_button = SubmitField(_l('Edit > Watch'), render_kw={"class": "pure-button pure-button-primary"})
|
||||
@@ -781,11 +781,12 @@ class SingleBrowserStep(Form):
|
||||
|
||||
class processor_text_json_diff_form(commonSettingsForm):
|
||||
|
||||
url = fields.URLField('URL', validators=[validateURL()])
|
||||
tags = StringTagUUID('Group tag', [validators.Optional()], default='')
|
||||
url = fields.URLField('Web Page URL', validators=[validateURL()])
|
||||
tags = StringTagUUID('Group Tag', [validators.Optional()], default='')
|
||||
|
||||
time_between_check = EnhancedFormField(
|
||||
TimeBetweenCheckForm,
|
||||
label=_l('Time Between Check'),
|
||||
conditional_field='time_between_check_use_default',
|
||||
conditional_message=REQUIRE_ATLEAST_ONE_TIME_PART_WHEN_NOT_GLOBAL_DEFAULT,
|
||||
conditional_test_function=validate_time_between_check_has_values
|
||||
@@ -947,7 +948,7 @@ class DefaultUAInputForm(Form):
|
||||
|
||||
# datastore.data['settings']['requests']..
|
||||
class globalSettingsRequestForm(Form):
|
||||
time_between_check = RequiredFormField(TimeBetweenCheckForm)
|
||||
time_between_check = RequiredFormField(TimeBetweenCheckForm, label=_l('Time Between Check'))
|
||||
time_schedule_limit = FormField(ScheduleLimitForm)
|
||||
proxy = RadioField(_l('Default proxy'))
|
||||
jitter_seconds = IntegerField(_l('Random jitter seconds ± check'),
|
||||
@@ -1007,7 +1008,7 @@ class globalSettingsApplicationForm(commonSettingsForm):
|
||||
render_kw={"placeholder": "0.1", "style": "width: 8em;"}
|
||||
)
|
||||
|
||||
password = SaltyPasswordField()
|
||||
password = SaltyPasswordField(_l('Password'))
|
||||
pager_size = IntegerField(_l('Pager size'),
|
||||
render_kw={"style": "width: 5em;"},
|
||||
validators=[validators.NumberRange(min=0,
|
||||
|
||||
@@ -539,6 +539,18 @@ def cdata_in_document_to_text(html_content: str, render_anchor_tag_content=False
|
||||
|
||||
|
||||
def html_to_text(html_content: str, render_anchor_tag_content=False, is_rss=False, timeout=10) -> str:
|
||||
"""
|
||||
Convert HTML content to plain text using inscriptis.
|
||||
|
||||
Thread-Safety: This function uses inscriptis.get_text() which internally calls
|
||||
lxml.html.fromstring() with the default parser. Testing with 50 concurrent threads
|
||||
confirms this approach is thread-safe and produces deterministic output.
|
||||
|
||||
Alternative Approach Rejected: An explicit HTMLParser instance (thread-local or fresh)
|
||||
would also be thread-safe, but was found to break change detection logic in subtle ways
|
||||
(test_check_basic_change_detection_functionality). The default parser provides correct
|
||||
and reliable behavior.
|
||||
"""
|
||||
from inscriptis import get_text
|
||||
from inscriptis.model.config import ParserConfig
|
||||
|
||||
|
||||
113
changedetectionio/is_safe_url.py
Normal file
@@ -0,0 +1,113 @@
|
||||
"""
|
||||
URL redirect validation module for preventing open redirect vulnerabilities.
|
||||
|
||||
This module provides functionality to safely validate redirect URLs, ensuring they:
|
||||
1. Point to internal routes only (no external redirects)
|
||||
2. Are properly normalized (preventing browser parsing differences)
|
||||
3. Match registered Flask routes (no fake/non-existent pages)
|
||||
4. Are fully logged for security monitoring
|
||||
|
||||
References:
|
||||
- https://flask-login.readthedocs.io/ (safe redirect patterns)
|
||||
- https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-v-user-logins
|
||||
- https://www.pythonkitchen.com/how-prevent-open-redirect-vulnerab-flask/
|
||||
"""
|
||||
|
||||
from urllib.parse import urlparse, urljoin
|
||||
from flask import request
|
||||
from loguru import logger
|
||||
|
||||
|
||||
def is_safe_url(target, app):
|
||||
"""
|
||||
Validate that a redirect URL is safe to prevent open redirect vulnerabilities.
|
||||
|
||||
This follows Flask/Werkzeug best practices by ensuring the redirect URL:
|
||||
1. Is a relative path starting with exactly one '/'
|
||||
2. Does not start with '//' (double-slash attack)
|
||||
3. Has no external protocol handlers
|
||||
4. Points to a valid registered route in the application
|
||||
5. Is properly normalized to prevent browser parsing differences
|
||||
|
||||
Args:
|
||||
target: The URL to validate (e.g., '/settings', '/login#top')
|
||||
app: The Flask application instance (needed for route validation)
|
||||
|
||||
Returns:
|
||||
bool: True if the URL is safe for redirection, False otherwise
|
||||
|
||||
Examples:
|
||||
>>> is_safe_url('/settings', app)
|
||||
True
|
||||
>>> is_safe_url('//evil.com', app)
|
||||
False
|
||||
>>> is_safe_url('/settings#general', app)
|
||||
True
|
||||
>>> is_safe_url('/fake-page', app)
|
||||
False
|
||||
"""
|
||||
if not target:
|
||||
return False
|
||||
|
||||
# Normalize the URL to prevent browser parsing differences
|
||||
# Strip whitespace and replace backslashes (which some browsers interpret as forward slashes)
|
||||
target = target.strip()
|
||||
target = target.replace('\\', '/')
|
||||
|
||||
# First, check if it starts with // or more (double-slash attack)
|
||||
if target.startswith('//'):
|
||||
logger.warning(f"Blocked redirect attempt with double-slash: {target}")
|
||||
return False
|
||||
|
||||
# Parse the URL to check for scheme and netloc
|
||||
parsed = urlparse(target)
|
||||
|
||||
# Block any URL with a scheme (http://, https://, javascript:, etc.)
|
||||
if parsed.scheme:
|
||||
logger.warning(f"Blocked redirect attempt with scheme: {target}")
|
||||
return False
|
||||
|
||||
# Block any URL with a network location (netloc)
|
||||
# This catches patterns like //evil.com, user@host, etc.
|
||||
if parsed.netloc:
|
||||
logger.warning(f"Blocked redirect attempt with netloc: {target}")
|
||||
return False
|
||||
|
||||
# At this point, we have a relative URL with no scheme or netloc
|
||||
# Use urljoin to resolve it and verify it points to the same host
|
||||
ref_url = urlparse(request.host_url)
|
||||
test_url = urlparse(urljoin(request.host_url, target))
|
||||
|
||||
# Check: ensure the resolved URL has the same netloc as current host
|
||||
if not (test_url.scheme in ('http', 'https') and ref_url.netloc == test_url.netloc):
|
||||
logger.warning(f"Blocked redirect attempt with mismatched netloc: {target}")
|
||||
return False
|
||||
|
||||
# Additional validation: Check if the URL matches a registered route
|
||||
# This prevents redirects to non-existent pages or unintended endpoints
|
||||
try:
|
||||
# Get the path without query string and fragment
|
||||
# Fragments (like #general) are automatically stripped by urlparse
|
||||
path = parsed.path
|
||||
|
||||
# Create a URL adapter bound to the server name
|
||||
adapter = app.url_map.bind(ref_url.netloc)
|
||||
|
||||
# Try to match the path to a registered route
|
||||
# This will raise NotFound if the route doesn't exist
|
||||
endpoint, values = adapter.match(path, return_rule=False)
|
||||
|
||||
# Block redirects to static file endpoints - these are catch-all routes
|
||||
# that would match arbitrary paths, potentially allowing unintended redirects
|
||||
if endpoint in ('static_content', 'static', 'static_flags'):
|
||||
logger.warning(f"Blocked redirect to static endpoint: {target}")
|
||||
return False
|
||||
|
||||
# Successfully matched a valid route
|
||||
logger.debug(f"Validated safe redirect to endpoint '{endpoint}': {target}")
|
||||
return True
|
||||
|
||||
except Exception as e:
|
||||
# Route doesn't exist or can't be matched
|
||||
logger.warning(f"Blocked redirect to non-existent route: {target} (error: {e})")
|
||||
return False
|
||||
@@ -29,18 +29,24 @@ def get_timeago_locale(flask_locale):
|
||||
"""
|
||||
locale_map = {
|
||||
'zh': 'zh_CN', # Chinese Simplified
|
||||
# timeago library just hasn't been updated to use the more modern locale naming convention, before BCP 47 / RFC 5646.
|
||||
'zh_TW': 'zh_TW', # Chinese Traditional (timeago uses zh_TW)
|
||||
'zh_Hant_TW': 'zh_TW', # Flask-Babel normalizes zh_TW to zh_Hant_TW, map back to timeago's zh_TW
|
||||
'pt': 'pt_PT', # Portuguese (Portugal)
|
||||
'sv': 'sv_SE', # Swedish
|
||||
'no': 'nb_NO', # Norwegian Bokmål
|
||||
'hi': 'in_HI', # Hindi
|
||||
'cs': 'en', # Czech not supported by timeago, fallback to English
|
||||
'en_GB': 'en', # British English - timeago uses 'en'
|
||||
'en_US': 'en', # American English - timeago uses 'en'
|
||||
}
|
||||
return locale_map.get(flask_locale, flask_locale)
|
||||
|
||||
# Language metadata: flag icon CSS class and native name
|
||||
# Using flag-icons library: https://flagicons.lipis.dev/
|
||||
LANGUAGE_DATA = {
|
||||
'en': {'flag': 'fi fi-gb fis', 'name': 'English'},
|
||||
'en_GB': {'flag': 'fi fi-gb fis', 'name': 'English (UK)'},
|
||||
'en_US': {'flag': 'fi fi-us fis', 'name': 'English (US)'},
|
||||
'de': {'flag': 'fi fi-de fis', 'name': 'Deutsch'},
|
||||
'fr': {'flag': 'fi fi-fr fis', 'name': 'Français'},
|
||||
'ko': {'flag': 'fi fi-kr fis', 'name': '한국어'},
|
||||
@@ -50,7 +56,7 @@ LANGUAGE_DATA = {
|
||||
'it': {'flag': 'fi fi-it fis', 'name': 'Italiano'},
|
||||
'ja': {'flag': 'fi fi-jp fis', 'name': '日本語'},
|
||||
'zh': {'flag': 'fi fi-cn fis', 'name': '中文 (简体)'},
|
||||
'zh_TW': {'flag': 'fi fi-tw fis', 'name': '繁體中文'},
|
||||
'zh_Hant_TW': {'flag': 'fi fi-tw fis', 'name': '繁體中文'},
|
||||
'ru': {'flag': 'fi fi-ru fis', 'name': 'Русский'},
|
||||
'pl': {'flag': 'fi fi-pl fis', 'name': 'Polski'},
|
||||
'nl': {'flag': 'fi fi-nl fis', 'name': 'Nederlands'},
|
||||
@@ -71,10 +77,7 @@ def get_available_languages():
|
||||
"""
|
||||
translations_dir = Path(__file__).parent / 'translations'
|
||||
|
||||
# Always include English as base language
|
||||
available = {
|
||||
'en': LANGUAGE_DATA['en']
|
||||
}
|
||||
available = {}
|
||||
|
||||
# Scan for translation directories
|
||||
if translations_dir.exists():
|
||||
@@ -85,6 +88,10 @@ def get_available_languages():
|
||||
if po_file.exists():
|
||||
available[lang_dir.name] = LANGUAGE_DATA[lang_dir.name]
|
||||
|
||||
# If no English variants found, fall back to adding en_GB as default
|
||||
if 'en_GB' not in available and 'en_US' not in available:
|
||||
available['en_GB'] = LANGUAGE_DATA['en_GB']
|
||||
|
||||
return available
|
||||
|
||||
|
||||
|
||||
@@ -37,6 +37,8 @@ class model(dict):
|
||||
},
|
||||
'application': {
|
||||
# Custom notification content
|
||||
'all_paused': False,
|
||||
'all_muted': False,
|
||||
'api_access_token_enabled': True,
|
||||
'base_url' : None,
|
||||
'empty_pages_are_a_change': False,
|
||||
|
||||
@@ -10,54 +10,23 @@ from pathlib import Path
|
||||
from loguru import logger
|
||||
|
||||
from .. import jinja2_custom as safe_jinja
|
||||
from ..diff import ADDED_PLACEMARKER_OPEN
|
||||
from ..html_tools import TRANSLATE_WHITESPACE_TABLE
|
||||
|
||||
FAVICON_RESAVE_THRESHOLD_SECONDS=86400
|
||||
BROTLI_COMPRESS_SIZE_THRESHOLD = int(os.getenv('SNAPSHOT_BROTLI_COMPRESSION_THRESHOLD', 1024))
|
||||
|
||||
def _brotli_compress_worker(conn, filepath, mode=None):
|
||||
minimum_seconds_recheck_time = int(os.getenv('MINIMUM_SECONDS_RECHECK_TIME', 3))
|
||||
mtable = {'seconds': 1, 'minutes': 60, 'hours': 3600, 'days': 86400, 'weeks': 86400 * 7}
|
||||
|
||||
def _brotli_save(contents, filepath, mode=None, fallback_uncompressed=False):
|
||||
"""
|
||||
Worker function to compress data with brotli in a separate process.
|
||||
This isolates memory - when process exits, OS reclaims all memory.
|
||||
|
||||
Args:
|
||||
conn: multiprocessing.Pipe connection to receive data
|
||||
filepath: destination file path
|
||||
mode: brotli compression mode (e.g., brotli.MODE_TEXT)
|
||||
"""
|
||||
import brotli
|
||||
|
||||
try:
|
||||
# Receive data from parent process via pipe (avoids pickle overhead)
|
||||
contents = conn.recv()
|
||||
|
||||
if mode is not None:
|
||||
compressed_data = brotli.compress(contents, mode=mode)
|
||||
else:
|
||||
compressed_data = brotli.compress(contents)
|
||||
|
||||
with open(filepath, 'wb') as f:
|
||||
f.write(compressed_data)
|
||||
|
||||
# Send success status back
|
||||
conn.send(True)
|
||||
# No need for explicit cleanup - process exit frees all memory
|
||||
except Exception as e:
|
||||
logger.error(f"Brotli compression worker failed: {e}")
|
||||
conn.send(False)
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
|
||||
def _brotli_subprocess_save(contents, filepath, mode=None, timeout=30, fallback_uncompressed=False):
|
||||
"""
|
||||
Save compressed data using subprocess to isolate memory.
|
||||
Uses Pipe to avoid pickle overhead for large data.
|
||||
Save compressed data using native brotli.
|
||||
Testing shows no memory leak when using gc.collect() after compression.
|
||||
|
||||
Args:
|
||||
contents: data to compress (str or bytes)
|
||||
filepath: destination file path
|
||||
mode: brotli compression mode (e.g., brotli.MODE_TEXT)
|
||||
timeout: subprocess timeout in seconds
|
||||
fallback_uncompressed: if True, save uncompressed on failure; if False, raise exception
|
||||
|
||||
Returns:
|
||||
@@ -67,88 +36,43 @@ def _brotli_subprocess_save(contents, filepath, mode=None, timeout=30, fallback_
|
||||
Exception: if compression fails and fallback_uncompressed is False
|
||||
"""
|
||||
import brotli
|
||||
import multiprocessing
|
||||
import sys
|
||||
import gc
|
||||
|
||||
# Ensure contents are bytes
|
||||
if isinstance(contents, str):
|
||||
contents = contents.encode('utf-8')
|
||||
|
||||
# Use explicit spawn context for thread safety (avoids fork() with multi-threaded parent)
|
||||
# Always use spawn - consistent behavior in tests and production
|
||||
ctx = multiprocessing.get_context('spawn')
|
||||
parent_conn, child_conn = ctx.Pipe()
|
||||
|
||||
# Run compression in subprocess using spawn (not fork)
|
||||
proc = ctx.Process(target=_brotli_compress_worker, args=(child_conn, filepath, mode))
|
||||
|
||||
# Windows-safe: Set daemon=False explicitly to avoid issues with process cleanup
|
||||
proc.daemon = False
|
||||
proc.start()
|
||||
|
||||
try:
|
||||
# Send data to subprocess via pipe (avoids pickle)
|
||||
parent_conn.send(contents)
|
||||
logger.debug(f"Starting brotli compression of {len(contents)} bytes.")
|
||||
|
||||
# Wait for result with timeout
|
||||
if parent_conn.poll(timeout):
|
||||
success = parent_conn.recv()
|
||||
if mode is not None:
|
||||
compressed_data = brotli.compress(contents, mode=mode)
|
||||
else:
|
||||
success = False
|
||||
logger.warning(f"Brotli compression subprocess timed out after {timeout}s")
|
||||
# Graceful termination with platform-aware cleanup
|
||||
try:
|
||||
proc.terminate()
|
||||
except Exception as term_error:
|
||||
logger.debug(f"Process termination issue (may be normal on Windows): {term_error}")
|
||||
compressed_data = brotli.compress(contents)
|
||||
|
||||
parent_conn.close()
|
||||
proc.join(timeout=5)
|
||||
with open(filepath, 'wb') as f:
|
||||
f.write(compressed_data)
|
||||
|
||||
# Force kill if still alive after graceful termination
|
||||
if proc.is_alive():
|
||||
try:
|
||||
if sys.platform == 'win32':
|
||||
# Windows: use kill() which is more forceful
|
||||
proc.kill()
|
||||
else:
|
||||
# Unix: terminate() already sent SIGTERM, now try SIGKILL
|
||||
proc.kill()
|
||||
proc.join(timeout=2)
|
||||
except Exception as kill_error:
|
||||
logger.warning(f"Failed to kill brotli compression process: {kill_error}")
|
||||
logger.debug(f"Finished brotli compression - From {len(contents)} to {len(compressed_data)} bytes.")
|
||||
|
||||
# Check if file was created successfully
|
||||
if success and os.path.exists(filepath):
|
||||
return filepath
|
||||
# Force garbage collection to prevent memory buildup
|
||||
gc.collect()
|
||||
|
||||
return filepath
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Brotli compression error: {e}")
|
||||
try:
|
||||
parent_conn.close()
|
||||
except:
|
||||
pass
|
||||
try:
|
||||
proc.terminate()
|
||||
proc.join(timeout=2)
|
||||
except:
|
||||
pass
|
||||
|
||||
# Compression failed
|
||||
if fallback_uncompressed:
|
||||
logger.warning(f"Brotli compression failed for {filepath}, saving uncompressed")
|
||||
fallback_path = filepath.replace('.br', '')
|
||||
with open(fallback_path, 'wb') as f:
|
||||
f.write(contents)
|
||||
return fallback_path
|
||||
else:
|
||||
raise Exception(f"Brotli compression subprocess failed for {filepath}")
|
||||
# Compression failed
|
||||
if fallback_uncompressed:
|
||||
logger.warning(f"Brotli compression failed for {filepath}, saving uncompressed")
|
||||
fallback_path = filepath.replace('.br', '')
|
||||
with open(fallback_path, 'wb') as f:
|
||||
f.write(contents)
|
||||
return fallback_path
|
||||
else:
|
||||
raise Exception(f"Brotli compression failed for {filepath}: {e}")
|
||||
|
||||
FAVICON_RESAVE_THRESHOLD_SECONDS=86400
|
||||
|
||||
|
||||
minimum_seconds_recheck_time = int(os.getenv('MINIMUM_SECONDS_RECHECK_TIME', 3))
|
||||
mtable = {'seconds': 1, 'minutes': 60, 'hours': 3600, 'days': 86400, 'weeks': 86400 * 7}
|
||||
|
||||
class model(watch_base):
|
||||
__newest_history_key = None
|
||||
@@ -492,7 +416,6 @@ class model(watch_base):
|
||||
|
||||
self.ensure_data_dir_exists()
|
||||
|
||||
threshold = int(os.getenv('SNAPSHOT_BROTLI_COMPRESSION_THRESHOLD', 1024))
|
||||
skip_brotli = strtobool(os.getenv('DISABLE_BROTLI_TEXT_SNAPSHOT', 'False'))
|
||||
|
||||
# Binary data - detect file type and save without compression
|
||||
@@ -516,7 +439,7 @@ class model(watch_base):
|
||||
|
||||
# Text data - use brotli compression if enabled and above threshold
|
||||
else:
|
||||
if not skip_brotli and len(contents) > threshold:
|
||||
if not skip_brotli and len(contents) > BROTLI_COMPRESS_SIZE_THRESHOLD:
|
||||
# Compressed text
|
||||
import brotli
|
||||
snapshot_fname = f"{snapshot_id}.txt.br"
|
||||
@@ -524,7 +447,7 @@ class model(watch_base):
|
||||
|
||||
if not os.path.exists(dest):
|
||||
try:
|
||||
actual_dest = _brotli_subprocess_save(contents, dest, mode=brotli.MODE_TEXT, fallback_uncompressed=True)
|
||||
actual_dest = _brotli_save(contents, dest, mode=brotli.MODE_TEXT, fallback_uncompressed=True)
|
||||
if actual_dest != dest:
|
||||
snapshot_fname = os.path.basename(actual_dest)
|
||||
except Exception as e:
|
||||
@@ -950,13 +873,13 @@ class model(watch_base):
|
||||
def save_last_text_fetched_before_filters(self, contents):
|
||||
import brotli
|
||||
filepath = os.path.join(self.watch_data_dir, 'last-fetched.br')
|
||||
_brotli_subprocess_save(contents, filepath, mode=brotli.MODE_TEXT, fallback_uncompressed=False)
|
||||
_brotli_save(contents, filepath, mode=brotli.MODE_TEXT, fallback_uncompressed=False)
|
||||
|
||||
def save_last_fetched_html(self, timestamp, contents):
|
||||
self.ensure_data_dir_exists()
|
||||
snapshot_fname = f"{timestamp}.html.br"
|
||||
filepath = os.path.join(self.watch_data_dir, snapshot_fname)
|
||||
_brotli_subprocess_save(contents, filepath, mode=None, fallback_uncompressed=True)
|
||||
_brotli_save(contents, filepath, mode=None, fallback_uncompressed=True)
|
||||
self._prune_last_fetched_html_snapshots()
|
||||
|
||||
def get_fetched_html(self, timestamp):
|
||||
|
||||
@@ -7,6 +7,7 @@ and exporting to CSV format. This is the default extractor that all processors
|
||||
"""
|
||||
|
||||
import os
|
||||
from flask_babel import gettext
|
||||
from loguru import logger
|
||||
|
||||
|
||||
@@ -101,7 +102,7 @@ def process_extraction(watch, datastore, request, url_for, make_response, send_f
|
||||
)
|
||||
|
||||
if not extract_form.validate():
|
||||
flash("An error occurred, please see below.", "error")
|
||||
flash(gettext("An error occurred, please see below."), "error")
|
||||
# render_template needs to be imported from Flask for this to work
|
||||
from flask import render_template as flask_render_template
|
||||
return render_form(
|
||||
@@ -127,5 +128,5 @@ def process_extraction(watch, datastore, request, url_for, make_response, send_f
|
||||
response.headers['Expires'] = "0"
|
||||
return response
|
||||
|
||||
flash('No matches found while scanning all of the watch history for that RegEx.', 'error')
|
||||
flash(gettext('No matches found while scanning all of the watch history for that RegEx.'), 'error')
|
||||
return redirect(url_for('ui.ui_diff.diff_history_page_extract_GET', uuid=uuid))
|
||||
|
||||
@@ -8,6 +8,7 @@ of concerns and easy backend swapping (LibVIPS, OpenCV, PIL, etc.).
|
||||
import os
|
||||
import json
|
||||
import time
|
||||
from flask_babel import gettext
|
||||
from loguru import logger
|
||||
|
||||
from changedetectionio.processors.image_ssim_diff import SCREENSHOT_COMPARISON_THRESHOLD_OPTIONS_DEFAULT, PROCESSOR_CONFIG_NAME, \
|
||||
@@ -129,7 +130,7 @@ def get_asset(asset_name, watch, datastore, request):
|
||||
except Exception as e:
|
||||
exception_container[0] = e
|
||||
|
||||
thread = threading.Thread(target=thread_target)
|
||||
thread = threading.Thread(target=thread_target, daemon=True, name="ImageDiff-Asset")
|
||||
thread.start()
|
||||
thread.join(timeout=60)
|
||||
|
||||
@@ -283,7 +284,7 @@ def _draw_bounding_box_if_configured(img_bytes, watch, datastore):
|
||||
except Exception as e:
|
||||
exception_container[0] = e
|
||||
|
||||
thread = threading.Thread(target=thread_target)
|
||||
thread = threading.Thread(target=thread_target, daemon=True, name="ImageDiff-BoundingBox")
|
||||
thread.start()
|
||||
thread.join(timeout=15)
|
||||
|
||||
@@ -324,7 +325,7 @@ def render(watch, datastore, request, url_for, render_template, flash, redirect)
|
||||
versions = list(watch.history.keys())
|
||||
|
||||
if len(versions) < 2:
|
||||
flash("Not enough history to compare. Need at least 2 snapshots.", "error")
|
||||
flash(gettext("Not enough history to compare. Need at least 2 snapshots."), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Default: compare latest two versions
|
||||
@@ -359,7 +360,7 @@ def render(watch, datastore, request, url_for, render_template, flash, redirect)
|
||||
|
||||
except Exception as e:
|
||||
logger.error(f"Failed to load screenshots: {e}")
|
||||
flash(f"Failed to load screenshots: {e}", "error")
|
||||
flash(gettext("Failed to load screenshots: {}").format(e), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Calculate change percentage using isolated subprocess to prevent memory leaks (async-safe)
|
||||
@@ -392,7 +393,7 @@ def render(watch, datastore, request, url_for, render_template, flash, redirect)
|
||||
except Exception as e:
|
||||
exception_container[0] = e
|
||||
|
||||
thread = threading.Thread(target=thread_target)
|
||||
thread = threading.Thread(target=thread_target, daemon=True, name="ImageDiff-ChangePercentage")
|
||||
thread.start()
|
||||
thread.join(timeout=60)
|
||||
|
||||
@@ -408,7 +409,7 @@ def render(watch, datastore, request, url_for, render_template, flash, redirect)
|
||||
logger.error(f"Failed to calculate change percentage: {e}")
|
||||
import traceback
|
||||
logger.error(traceback.format_exc())
|
||||
flash(f"Failed to calculate diff: {e}", "error")
|
||||
flash(gettext("Failed to calculate diff: {}").format(e), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Load historical data if available (for charts/visualization)
|
||||
|
||||
@@ -13,14 +13,9 @@ Research: https://github.com/libvips/pyvips/issues/234
|
||||
|
||||
import multiprocessing
|
||||
|
||||
# CRITICAL: Use 'spawn' instead of 'fork' to avoid inheriting parent's
|
||||
# CRITICAL: Use 'spawn' context instead of 'fork' to avoid inheriting parent's
|
||||
# LibVIPS threading state which can cause hangs in gaussblur operations
|
||||
# https://docs.python.org/3/library/multiprocessing.html#contexts-and-start-methods
|
||||
try:
|
||||
multiprocessing.set_start_method('spawn', force=False)
|
||||
except RuntimeError:
|
||||
# Already set, ignore
|
||||
pass
|
||||
|
||||
|
||||
def _worker_generate_diff(conn, img_bytes_from, img_bytes_to, threshold, blur_sigma, max_width, max_height):
|
||||
@@ -95,9 +90,10 @@ def generate_diff_isolated(img_bytes_from, img_bytes_to, threshold, blur_sigma,
|
||||
Returns:
|
||||
bytes: JPEG diff image or None on failure
|
||||
"""
|
||||
parent_conn, child_conn = multiprocessing.Pipe()
|
||||
ctx = multiprocessing.get_context('spawn')
|
||||
parent_conn, child_conn = ctx.Pipe()
|
||||
|
||||
p = multiprocessing.Process(
|
||||
p = ctx.Process(
|
||||
target=_worker_generate_diff,
|
||||
args=(child_conn, img_bytes_from, img_bytes_to, threshold, blur_sigma, max_width, max_height)
|
||||
)
|
||||
@@ -140,7 +136,8 @@ def calculate_change_percentage_isolated(img_bytes_from, img_bytes_to, threshold
|
||||
Returns:
|
||||
float: Change percentage
|
||||
"""
|
||||
parent_conn, child_conn = multiprocessing.Pipe()
|
||||
ctx = multiprocessing.get_context('spawn')
|
||||
parent_conn, child_conn = ctx.Pipe()
|
||||
|
||||
def _worker_calculate(conn):
|
||||
try:
|
||||
@@ -185,7 +182,7 @@ def calculate_change_percentage_isolated(img_bytes_from, img_bytes_to, threshold
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
p = multiprocessing.Process(target=_worker_calculate, args=(child_conn,))
|
||||
p = ctx.Process(target=_worker_calculate, args=(child_conn,))
|
||||
p.start()
|
||||
|
||||
result = 0.0
|
||||
@@ -233,7 +230,8 @@ def compare_images_isolated(img_bytes_from, img_bytes_to, threshold, blur_sigma,
|
||||
tuple: (changed_detected, change_percentage)
|
||||
"""
|
||||
print(f"[Parent] Starting compare_images_isolated subprocess", flush=True)
|
||||
parent_conn, child_conn = multiprocessing.Pipe()
|
||||
ctx = multiprocessing.get_context('spawn')
|
||||
parent_conn, child_conn = ctx.Pipe()
|
||||
|
||||
def _worker_compare(conn):
|
||||
try:
|
||||
@@ -301,7 +299,7 @@ def compare_images_isolated(img_bytes_from, img_bytes_to, threshold, blur_sigma,
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
p = multiprocessing.Process(target=_worker_compare, args=(child_conn,))
|
||||
p = ctx.Process(target=_worker_compare, args=(child_conn,))
|
||||
print(f"[Parent] Starting subprocess (pid will be assigned)", flush=True)
|
||||
p.start()
|
||||
print(f"[Parent] Subprocess started (pid={p.pid}), waiting for result (30s timeout)", flush=True)
|
||||
|
||||
@@ -4,6 +4,7 @@ Preview rendering for SSIM screenshot processor.
|
||||
Renders images properly in the browser instead of showing raw bytes.
|
||||
"""
|
||||
|
||||
from flask_babel import gettext
|
||||
from loguru import logger
|
||||
|
||||
|
||||
@@ -87,7 +88,7 @@ def render(watch, datastore, request, url_for, render_template, flash, redirect)
|
||||
versions = list(watch.history.keys())
|
||||
|
||||
if len(versions) == 0:
|
||||
flash("Preview unavailable - No snapshots captured yet", "error")
|
||||
flash(gettext("Preview unavailable - No snapshots captured yet"), "error")
|
||||
return redirect(url_for('watchlist.index'))
|
||||
|
||||
# Get the version to display (default: latest)
|
||||
|
||||
@@ -16,8 +16,11 @@ from ..base import difference_detection_processor, SCREENSHOT_FORMAT_PNG
|
||||
# All image operations now use OpenCV via isolated_opencv subprocess handler
|
||||
# Template matching temporarily disabled pending OpenCV implementation
|
||||
|
||||
name = 'Visual / Image screenshot change detection'
|
||||
description = 'Compares screenshots using fast OpenCV algorithm, 10-100x faster than SSIM'
|
||||
# Translation marker for extraction
|
||||
def _(x): return x
|
||||
name = _('Visual / Image screenshot change detection')
|
||||
description = _('Compares screenshots using fast OpenCV algorithm, 10-100x faster than SSIM')
|
||||
del _
|
||||
processor_weight = 2
|
||||
list_badge_text = "Visual"
|
||||
|
||||
@@ -201,7 +204,7 @@ class perform_site_check(difference_detection_processor):
|
||||
except Exception as e:
|
||||
exception_container[0] = e
|
||||
|
||||
thread = threading.Thread(target=thread_target)
|
||||
thread = threading.Thread(target=thread_target, daemon=True, name="ImageDiff-Processor")
|
||||
thread.start()
|
||||
thread.join(timeout=60)
|
||||
|
||||
|
||||
@@ -8,8 +8,11 @@ import time
|
||||
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
# Translatable strings - extracted by pybabel, translated at runtime in __init__.py
|
||||
name = 'Re-stock & Price detection for pages with a SINGLE product' # _()
|
||||
description = 'Detects if the product goes back to in-stock' # _()
|
||||
# Use a marker function so pybabel can extract these strings
|
||||
def _(x): return x # Translation marker for extraction only
|
||||
name = _('Re-stock & Price detection for pages with a SINGLE product')
|
||||
description = _('Detects if the product goes back to in-stock')
|
||||
del _ # Remove marker function
|
||||
processor_weight = 1
|
||||
list_badge_text = "Restock" # _()
|
||||
|
||||
|
||||
@@ -17,8 +17,11 @@ from changedetectionio.processors.magic import guess_stream_type
|
||||
|
||||
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
|
||||
|
||||
name = 'Webpage Text/HTML, JSON and PDF changes'
|
||||
description = 'Detects all text changes where possible'
|
||||
# Translation marker for extraction - allows pybabel to find these strings
|
||||
def _(x): return x
|
||||
name = _('Webpage Text/HTML, JSON and PDF changes')
|
||||
description = _('Detects all text changes where possible')
|
||||
del _ # Remove marker
|
||||
processor_weight = -100
|
||||
list_badge_text = "Text"
|
||||
|
||||
|
||||
@@ -86,6 +86,7 @@ class RecheckPriorityQueue:
|
||||
|
||||
def get(self, block: bool = True, timeout: Optional[float] = None):
|
||||
"""Thread-safe sync get with priority ordering"""
|
||||
import queue
|
||||
try:
|
||||
# Wait for notification
|
||||
self.sync_q.get(block=block, timeout=timeout)
|
||||
@@ -103,8 +104,11 @@ class RecheckPriorityQueue:
|
||||
logger.debug(f"Successfully retrieved item: {self._get_item_uuid(item)}")
|
||||
return item
|
||||
|
||||
except queue.Empty:
|
||||
# Queue is empty with timeout - expected behavior, re-raise without logging
|
||||
raise
|
||||
except Exception as e:
|
||||
logger.critical(f"CRITICAL: Failed to get item from queue: {str(e)}")
|
||||
# Re-raise without logging - caller (worker) will handle and log appropriately
|
||||
raise
|
||||
|
||||
# ASYNC INTERFACE (for workers)
|
||||
@@ -172,7 +176,16 @@ class RecheckPriorityQueue:
|
||||
def empty(self) -> bool:
|
||||
"""Check if queue is empty"""
|
||||
return self.qsize() == 0
|
||||
|
||||
|
||||
def get_queued_uuids(self) -> list:
|
||||
"""Get list of all queued UUIDs efficiently with single lock"""
|
||||
try:
|
||||
with self._lock:
|
||||
return [item.item['uuid'] for item in self._priority_items if hasattr(item, 'item') and 'uuid' in item.item]
|
||||
except Exception as e:
|
||||
logger.critical(f"CRITICAL: Failed to get queued UUIDs: {str(e)}")
|
||||
return []
|
||||
|
||||
def close(self):
|
||||
"""Close the janus queue"""
|
||||
try:
|
||||
@@ -348,21 +361,31 @@ class NotificationQueue:
|
||||
Simple wrapper around janus with bulletproof error handling.
|
||||
"""
|
||||
|
||||
def __init__(self, maxsize: int = 0):
|
||||
def __init__(self, maxsize: int = 0, datastore=None):
|
||||
try:
|
||||
self._janus_queue = janus.Queue(maxsize=maxsize)
|
||||
# BOTH interfaces required - see class docstring for why
|
||||
self.sync_q = self._janus_queue.sync_q # Flask routes, threads
|
||||
self.async_q = self._janus_queue.async_q # Async workers
|
||||
self.notification_event_signal = signal('notification_event')
|
||||
self.datastore = datastore # For checking all_muted setting
|
||||
logger.debug("NotificationQueue initialized successfully")
|
||||
except Exception as e:
|
||||
logger.critical(f"CRITICAL: Failed to initialize NotificationQueue: {str(e)}")
|
||||
raise
|
||||
|
||||
def set_datastore(self, datastore):
|
||||
"""Set datastore reference after initialization (for circular dependency handling)"""
|
||||
self.datastore = datastore
|
||||
|
||||
def put(self, item: Dict[str, Any], block: bool = True, timeout: Optional[float] = None):
|
||||
"""Thread-safe sync put with signal emission"""
|
||||
try:
|
||||
# Check if all notifications are muted
|
||||
if self.datastore and self.datastore.data['settings']['application'].get('all_muted', False):
|
||||
logger.debug(f"Notification blocked - all notifications are muted: {item.get('uuid', 'unknown')}")
|
||||
return False
|
||||
|
||||
self.sync_q.put(item, block=block, timeout=timeout)
|
||||
self._emit_notification_signal(item)
|
||||
logger.debug(f"Successfully queued notification: {item.get('uuid', 'unknown')}")
|
||||
@@ -374,6 +397,11 @@ class NotificationQueue:
|
||||
async def async_put(self, item: Dict[str, Any]):
|
||||
"""Pure async put with signal emission"""
|
||||
try:
|
||||
# Check if all notifications are muted
|
||||
if self.datastore and self.datastore.data['settings']['application'].get('all_muted', False):
|
||||
logger.debug(f"Notification blocked - all notifications are muted: {item.get('uuid', 'unknown')}")
|
||||
return False
|
||||
|
||||
await self.async_q.put(item)
|
||||
self._emit_notification_signal(item)
|
||||
logger.debug(f"Successfully async queued notification: {item.get('uuid', 'unknown')}")
|
||||
|
||||
@@ -150,11 +150,8 @@ def handle_watch_update(socketio, **kwargs):
|
||||
# Get list of watches that are currently running
|
||||
running_uuids = worker_handler.get_running_uuids()
|
||||
|
||||
# Get list of watches in the queue
|
||||
queue_list = []
|
||||
for q_item in update_q.queue:
|
||||
if hasattr(q_item, 'item') and 'uuid' in q_item.item:
|
||||
queue_list.append(q_item.item['uuid'])
|
||||
# Get list of watches in the queue (efficient single-lock method)
|
||||
queue_list = update_q.get_queued_uuids()
|
||||
|
||||
# Get the error texts from the watch
|
||||
error_texts = watch.compile_error_texts()
|
||||
@@ -254,21 +251,32 @@ def init_socketio(app, datastore):
|
||||
from changedetectionio import queuedWatchMetaData
|
||||
from changedetectionio import worker_handler
|
||||
from changedetectionio.flask_app import update_q, watch_check_update
|
||||
import threading
|
||||
|
||||
logger.trace(f"Got checkbox operations event: {data}")
|
||||
|
||||
datastore = socketio.datastore
|
||||
|
||||
_handle_operations(
|
||||
op=data.get('op'),
|
||||
uuids=data.get('uuids'),
|
||||
datastore=datastore,
|
||||
extra_data=data.get('extra_data'),
|
||||
worker_handler=worker_handler,
|
||||
update_q=update_q,
|
||||
queuedWatchMetaData=queuedWatchMetaData,
|
||||
watch_check_update=watch_check_update,
|
||||
emit_flash=False
|
||||
)
|
||||
def run_operation():
|
||||
"""Run the operation in a background thread to avoid blocking the socket.io event loop"""
|
||||
try:
|
||||
_handle_operations(
|
||||
op=data.get('op'),
|
||||
uuids=data.get('uuids'),
|
||||
datastore=datastore,
|
||||
extra_data=data.get('extra_data'),
|
||||
worker_handler=worker_handler,
|
||||
update_q=update_q,
|
||||
queuedWatchMetaData=queuedWatchMetaData,
|
||||
watch_check_update=watch_check_update,
|
||||
emit_flash=False
|
||||
)
|
||||
except Exception as e:
|
||||
logger.error(f"Error in checkbox operation thread: {e}")
|
||||
|
||||
# Start operation in a disposable daemon thread
|
||||
thread = threading.Thread(target=run_operation, daemon=True, name=f"checkbox-op-{data.get('op')}")
|
||||
thread.start()
|
||||
|
||||
@socketio.on('connect')
|
||||
def handle_connect():
|
||||
|
||||
@@ -82,27 +82,22 @@ echo "RUNNING WITH BASE_URL SET"
|
||||
# Re #65 - Ability to include a link back to the installation, in the notification.
|
||||
export BASE_URL="https://really-unique-domain.io"
|
||||
|
||||
REMOVE_REQUESTS_OLD_SCREENSHOTS=false pytest -vv -s --maxfail=1 tests/test_notification.py
|
||||
|
||||
|
||||
# Re-run with HIDE_REFERER set - could affect login
|
||||
export HIDE_REFERER=True
|
||||
pytest -vv -s --maxfail=1 tests/test_access_control.py
|
||||
REMOVE_REQUESTS_OLD_SCREENSHOTS=false pytest -vv -s --maxfail=1 tests/test_notification.py tests/test_access_control.py
|
||||
|
||||
|
||||
# Re-run a few tests that will trigger brotli based storage
|
||||
export SNAPSHOT_BROTLI_COMPRESSION_THRESHOLD=5
|
||||
pytest -vv -s --maxfail=1 tests/test_access_control.py
|
||||
REMOVE_REQUESTS_OLD_SCREENSHOTS=false pytest tests/test_notification.py
|
||||
pytest -vv -s --maxfail=1 tests/test_backend.py
|
||||
pytest -vv -s --maxfail=1 tests/test_rss.py
|
||||
pytest -vv -s --maxfail=1 tests/test_unique_lines.py
|
||||
# And again with brotli+screenshot attachment
|
||||
SNAPSHOT_BROTLI_COMPRESSION_THRESHOLD=5 REMOVE_REQUESTS_OLD_SCREENSHOTS=false pytest -vv -s --maxfail=1 --dist=load tests/test_backend.py tests/test_rss.py tests/test_unique_lines.py tests/test_notification.py tests/test_access_control.py
|
||||
|
||||
# Try high concurrency
|
||||
FETCH_WORKERS=130 pytest tests/test_history_consistency.py -v -l
|
||||
FETCH_WORKERS=50 pytest tests/test_history_consistency.py -vv -l -s
|
||||
|
||||
# Check file:// will pickup a file when enabled
|
||||
echo "Hello world" > /tmp/test-file.txt
|
||||
ALLOW_FILE_URI=yes pytest -vv -s tests/test_security.py
|
||||
|
||||
|
||||
|
||||
# Run it again so that brotli kicks in
|
||||
TEST_WITH_BROTLI=1 SNAPSHOT_BROTLI_COMPRESSION_THRESHOLD=100 FETCH_WORKERS=20 pytest tests/test_history_consistency.py -vv -l -s
|
||||
|
||||
148
changedetectionio/static/flags/1x1/ad.svg
Normal file
@@ -0,0 +1,148 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ad" viewBox="0 0 512 512">
|
||||
<path fill="#d0103a" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fedf00" d="M0 0h348.2v512H0z"/>
|
||||
<path fill="#0018a8" d="M0 0h163.8v512H0z"/>
|
||||
<path fill="#c7b37f" d="M240.3 173.3c6.2 0 8.7 5.3 14.9 5.3 3.8 0 6-1.2 9.3-3.1 2.4-1.3 3.8-2 6.5-2s4.4.8 5.8 3.1a9 9 0 0 1 1 5.4 32 32 0 0 1-2.1 6.7c-.5 1.2-1 2-1 3.3 0 3.3 4.4 4.4 7.4 4.5.7 0 6.3 0 9.7-3.4-1.9 0-4-1.5-4-3.4 0-2 1.5-3.5 3.5-4.1.4-.1 1 .2 1.4 0 .5-.2.2-.8.7-1.1 1-.8 1.6-1.3 2.9-1.3a3 3 0 0 1 2 .6c.3.2.5.6.9.6 1 0 1.4-.6 2.3-.6.7 0 1.2 0 1.8.4.6.3.6 1.2 1.2 1.2.3 0 1.9-.6 2.8-.6 1.7 0 2.7.6 3.8 2 .3.3.5 1 .8 1a5 5 0 0 1 3.9 2.4c.2.3.5 1.1.9 1.3.4.1.7.1 1.3.5a4.8 4.8 0 0 1 2.3 3.9c0 .5-.3 1.2-.4 1.7-1.5 5.2-5.1 7-8.7 11.4-1.6 2-2.8 3.5-2.8 6 0 .6.8 1.7 1 2.2-.1-1.2.4-2.6 1.6-2.7 1.7 0 3 1.2 3.2 2.8 0 .4 0 1.1-.2 1.5.9-.6 2-1 3.2-1.1a9.9 9.9 0 0 1 1.5 0 13 13 0 0 1 7.4 3 16.9 16.9 0 0 1 5.9 13.4c-.7 4.3-.3 11.9-11 15 2 .8 3.3 2.3 3.3 4.1 0 2-1.5 3.8-3.5 3.8a3.5 3.5 0 0 1-2.8-1.1c-2.2 2.2-2.7 4.5-2.7 7.7 0 1.9.4 3 1.2 4.7a9 9 0 0 0 3 4.2c.8-1.2 1.6-2 3-2 1.5 0 2.7.4 3.3 1.7.1.3 0 .7.2 1 .2.5.7.6 1 1.1.3.8 0 1.4.3 2.2.2.5.7.6 1 1 .3.9.4 1.4.4 2.3 0 2.4-2.2 4-4.6 4-.8 0-1.2-.2-1.9-.1 1.4 1.3 2.4 2 3.5 3.6a14.1 14.1 0 0 1 2.3 8.2c0 3.6-.6 5.8-2.2 9a16 16 0 0 1-5.6 6.8 28 28 0 0 1-12.8 5c-3.4.7-5.3 1-8.8 1.2l-11.3.6c-5.7.4-9.7 1.2-13.8 5.3 2 1.4 3.3 2.8 3.3 5.2 0 2.4-1.5 4.2-3.9 5-.5.1-1 0-1.4.2-.6.3-.6 1-1.2 1.4a5 5 0 0 1-3 .8c-2.2 0-3.6-.5-5.2-2-1.7 1.4-2.3 2.7-4.3 3.9-.7.3-1 .8-1.7.8-1.2 0-1.8-.7-2.7-1.4a18.4 18.4 0 0 1-3.6-3.3c-1.8 1.1-2.9 2-5 2a5.2 5.2 0 0 1-3.1-.9c-.6-.3-.7-.9-1.3-1.2-.6-.4-1-.2-1.7-.5-2.4-1-4-2.8-4-5.5 0-2.3 1.5-3.8 3.6-4.7-4-4-8-4.7-13.6-5-4.4-.4-7-.4-11.3-.7-3.4-.2-5.4-.6-8.8-1.1-2.6-.4-4.1-.6-6.5-1.7-8.2-3.8-13.4-9-14.5-18v-2c0-4.7 1.8-7.5 5-10.8-.8-.2-1.3 0-2.2-.2-2-.8-3.5-2.2-3.5-4.4 0-.8 0-1.4.4-2 .3-.6.8-.7 1-1.2.1-.8 0-1.3.3-2 .2-.5.6-.5.8-1 .7-1.5 1.6-2.7 3.3-2.7 1.4 0 2.3.8 3 2 1.4-.7 1.8-1.7 2.6-3 1.3-2.2 1.8-3.7 1.8-6.2a11 11 0 0 0-.7-4.4c-.4-1.2-.5-2-1.4-3a3.5 3.5 0 0 1-2.8 1.2c-2.3 0-4-2-4-4.3 0-1.7.8-3 2.4-3.7-1.3-1-2.4-1.2-3.7-2-2.1-1.4-2.9-2.7-4.2-4.8-1-1.4-1.2-2.3-1.6-3.8a15 15 0 0 1-.9-5v-1.3c.6-3.9 1.3-6.4 3.8-9.5a11 11 0 0 1 4.6-3.9 11.6 11.6 0 0 1 6.5-1.3c1 .2 1.5.2 2.3.7.3.2.9.7.9.3l-.2-1c0-1.7 1.2-3.2 2.8-3.2 1.2 0 1.7 1 2.3 2 .4-.6.6-1 .6-1.7 0-2.8-1.5-4.2-3.2-6.3-3.7-4.7-8.4-6.9-8.4-12.8 0-1.8.9-3 2.4-4 .4-.2 1 0 1.5-.2.3-.3.3-.7.5-1.1a4 4 0 0 1 1.3-1.3c.8-.8 1.6-.5 2.5-1.2.5-.3.6-.7 1-1.2 1-1.2 2-1.8 3.6-1.8.8 0 1.3 0 2 .3.3 0 .8.5.9.4.1-.2.6-.7 1.1-1 .7-.3 1-.4 1.8-.4.9 0 1.4.5 2.3.5.4 0 .4-.3.7-.5.8-.5 1.2-.8 2.2-.8 1 0 1.4.3 2.2.8.7.4.8 1 1.6 1.5l1.2.3c2 .6 3.6 2 3.6 4.2 0 1.2-.2 2-1.1 2.8-.7.6-1.4.5-2.3.8a13 13 0 0 0 9 2.8c3.5 0 7.6-1.3 7.6-4.7 0-1.6-.9-2.4-1.5-3.8a15 15 0 0 1-1.7-6.9c0-2.2.2-3.5 1.5-5.3 1.3-1.9 3-2.3 5.2-2.3"/>
|
||||
<g fill="none" stroke="#703d29">
|
||||
<path stroke-linejoin="round" stroke-width=".5" d="M217.9 191.2c.2.9.9 1.6 2 2a3 3 0 0 0 3-1.1c.8-1 .7-2.3.5-3.3a3.8 3.8 0 0 0-1.4-1.8z"/>
|
||||
<path stroke-linecap="round" stroke-width=".5" d="M320.8 252.9c-1-2.3-3.4-1.3-3.6 0-.3 3 2.3 3.8 4.1 3.3.9-.2 1.6-.8 2-1.5.5-.8.6-2 .3-3a4 4 0 0 0-.7-1.3 4 4 0 0 0-1-1c-.7-.4-1.5-.5-2.7-.5-4.4 0-8.3 5.3-9.6 10.8a23.6 23.6 0 0 0-.2 9.6 18 18 0 0 0 4.7 9 20 20 0 0 0 7.9 4.7c1.1.3 2.2.3 3.1 0 2.7-.5 3.9-3 2.6-5.5-1.1-2-4.3-3.2-5.8-.6a2.6 2.6 0 0 0-.4 1.3c0 .7.3 1.5.8 1.8 1.2.8 3 .6 3-1.5"/>
|
||||
<path stroke-width=".7" d="M307 283.2a9 9 0 0 1 5.3-3c2.4-.2 4.5.5 6.6 1.6a14.9 14.9 0 0 1 8.6 13.6c0 3-.8 6-1.5 7.6-.7 1.3-2.5 7.1-12.3 11.2a67.4 67.4 0 0 1-20.5 3c-8.4.4-16 .7-20.5 6.2"/>
|
||||
<g stroke-width=".6">
|
||||
<path d="M309.1 292.6c-.2-.9 0-1.7.7-2.7 1-1.3 2.9-1.7 4.7-.7.6.3 1.3.8 2 1.7l1 1.2.8 2c2 5.6-1.2 11.7-5.2 14.1-3.2 2-7 2.8-11.5 3.3l-5.3.3h-7.6a56.3 56.3 0 0 0-5.8 0l-6 .6-4.4.8-1.5.4-1 .3a31.9 31.9 0 0 0-7.7 3.3c-.7.4-1.5.9-2 1.4l-1.1 1c-1.5 1.4-3.1 3-3.5 5.3v1.3c0 1.4 1.1 3.4 4.3 4m4.4-136.1c.6 1.2 1 2 .6 3.1-.4 1.4-1.4 2.3-2.8 2.3-3.2 0-5-3.8-3.6-6.2 2.5-4.3 7.4-1.9 12 .2-.3-1-.7-1.4-.6-2.8 0-3.3 2.6-4.8 3.6-8 .6-1.8.8-3.4-.6-4.7-1.1-1.2-2.5-1.1-4-.5-3.1 1.2-6.8 4.6-13.3 4.7-6.5 0-10.3-3.5-13.4-4.7-1.5-.6-2.9-.7-4 .5-1.4 1.3-1.2 3-.6 4.8 1 3 3.5 4.6 3.6 8 0 1.3-.3 1.6-.6 2.7 4.6-2 9.7-4.7 12-.2 1.3 2.5-.4 6.2-3.6 6.2-1.4 0-2.4-1-2.8-2.3-.4-1.1 0-2.2.6-3.1"/>
|
||||
<path stroke-linecap="round" d="M251.7 191.9c1.2 1 2 2.1 1.9 4-.1 2-.7 2.5-2.2 3.6m1.9-3c-.1 1.2-.6 2-1.8 2.5"/>
|
||||
</g>
|
||||
<path fill="#c7b37f" stroke="none" d="m221.4 186.6.5.4.6.7.4.8.2.6v1.5l-.2.7-.4.5-.4.5-.7.3-.9.2-.7.2-.8-.4-.8-.5-.4-.7-.3-.8v-.3z"/>
|
||||
<path stroke-linecap="round" stroke-width=".5" d="M220.2 189.7c-.3-1.3-1.8-1.6-2.4-.8-1 1.2-.3 3.2 1.6 3.8a3 3 0 0 0 3-1.1c.8-1 .8-2.3.5-3.2-.2-.7-.7-1.2-1.4-1.7-2.2-1.7-5.7-1.3-6.8 1.5-1.5 3.6 1.7 6.3 4.7 8.3 3.8 2.5 8 3 11.3 3 7.3-.1 12.9-3.6 16.5-5.6.8-.5 1.7-.4 2.1.2.5.6.5 1.5-.2 2.2"/>
|
||||
<path stroke-width=".5" d="m198.4 289-1.6.5-1.7 1.3-.7 1-.9 1.6-.4 1.2-.3 1.5-.2 1m15.2-8v1.4l-.3 1-.7 1.7-1.1 1.5-1.2 1-1 .4-1.2.3"/>
|
||||
<path stroke-width=".6" d="M255.8 327.3c-.3 1.3-1.5 2.8-4.3 3.4h-.5"/>
|
||||
<path stroke-width=".7" d="M323.4 285a14.6 14.6 0 0 1 4.5 10.8c-.1 2.8-.8 6-1.6 7.5-.7 1.3-2.5 7.2-12.3 11.2a67.7 67.7 0 0 1-20.5 3.1c-8.2.4-15.8.7-20.3 6"/>
|
||||
<path stroke-width=".5" d="M310 290.3c.6-.9 2.8-1.9 4.6-1a5 5 0 0 1 2 1.7"/>
|
||||
<path stroke-width=".7" d="m321.3 283 1.1.4a5.6 5.6 0 0 0 3.2 0c2.2-.6 3.7-2.7 2.5-5.5a4.5 4.5 0 0 0-1.4-1.7"/>
|
||||
<path stroke-linecap="round" stroke-width=".5" d="M192.2 223.8c-1.5 1-2.6 1.2-3.8 2.5a22.5 22.5 0 0 0-2.1 5.5m36.9-41.4c0 1.4-1 2.3-2.4 2.6"/>
|
||||
<path stroke-width=".5" d="M317.7 217.6c3.8 0 14.8 2.9 14.9 15.8 0 12.8-8 14.9-11.1 15.7"/>
|
||||
<path stroke-width=".5" d="M318.7 217.6c6.5-.3 13.2 4.5 13.5 16.5.3 9.4-6.4 13.6-9.6 14.5m-7.6 14.1.2-1.2.4-2 .6-1.7.7-1.3.8-1m6.3-2.7-.1 1.2-.4.9-.5.8-.7.5-1 .3h-1.5m-11.4-42.3.3-1.3.6-1.3.7-1.2 1.4-1.7 1-1.2 1.7-1.7 1.5-1.5 1-1.1 1.2-1.5 1-1.7.7-1.3.4-1.8.1-2.1-.2-.7M310 296.7l1.3-.3 1-.5.5-.5.4-.7.2-1v-.6M187 283.3l.9.1h1.2l1.3-.5m4-29.3-.2 1.2-.2.4-.4.5-.5.4-.6.3-.8.1h-.5m8-12.5-.3 1.8-.4.7-.7 1-1 .7-.9.5-1.8.4m12.2-31.8-.3 1-.5.8-.6.9-.8.7-1 .5-.8.2h-.6m.3-5v.8"/>
|
||||
<g stroke-width=".5">
|
||||
<path stroke-linecap="round" d="M203.4 243.3a5.5 5.5 0 0 1-1.6 1M322.2 280l.4.2c1 .7 3.3-.2 2.7-2"/>
|
||||
<path d="M318.2 255.7c.8 1 2.4 1.3 3.6 1 .9-.2 1.5-.8 2-1.6.4-.8.6-1.9.3-3a4 4 0 0 0-.7-1.3 5.4 5.4 0 0 0-1.1-1.1l-.3-.2m5.2 27.2a3.1 3.1 0 0 0 0-.6c0-.9-.4-1.7-1-2.3-.2-.2-.4-.5-.7-.6m.4.3c0-1.5-1.3-2.5-2.8-2.8m-3.3 2.3c-.4-.3-.8-.5-1-.9a12.6 12.6 0 0 1-3.5-8.5c0-3.3 1.3-6.7 2.8-8M273 323.3l1.5-1.3 1-.8 1.8-1.1 1.8-.9 1.2-.3 2.5-.5 2.9-.5M262 333.4a14.1 14.1 0 0 1-6.1 5 14.1 14.1 0 0 1-6.1-5"/>
|
||||
<path stroke-linecap="round" d="M251.5 330.1a8 8 0 0 1-1.7 3.3"/>
|
||||
<path d="m251.8 328.4-.4 1.8m-1.8 3.3-.8.8-1.4.7-1.5.5m-4.5-142.2c.2-.6.4-1.1.3-2.1 0-3.4-2.5-4.9-3.5-8-.6-1.8-.9-3.4.5-4.8 1.2-1.1 2.5-1 4-.5 3.2 1.2 6.9 4.7 13.4 4.8-6.5-.1-10.2-3.6-13.3-4.8-1.6-.6-3-.8-4.2.4-1.4 1.3-1 3-.4 5 1 3 3.3 4.5 3.4 7.9 0 1-.2 1.5-.4 2m14.9-10.7c6.4-.4 11.9-4.7 13.7-5 1.6-.3 2.4-.2 3.6.9-1.2-1.1-2.5-1-4-.5-3 1.2-6.8 4.7-13.3 4.8m63.7 90.3a12.4 12.4 0 0 1-5-9.9c0-3.3 1.3-6.7 2.9-8m-56 78a14.1 14.1 0 0 1-6 5 14 14 0 0 1-6.2-5"/>
|
||||
<path stroke-linecap="round" d="m245.3 195 1.9-1c.8-.6 1.9-.5 2.3 0 .5.7.6 1.7-.1 2.3"/>
|
||||
<path d="M235.8 199.4c4.4-.9 8-2.9 10.6-4.4m25.9 131.4.6.7.2.7c.2 1.2-.6 2-1.5 2.1a2.7 2.7 0 0 1-2.8-1.6m-33.3-129.1c4.4-1 8-2.9 10.7-4.4m78 85.5c-.7.3-1.2.3-2.2-.2l-1.5-.8c-2-1.1-4.5-3-6.8-7.2a15 15 0 0 1-1.3-3.6c-.2-.9-.4-1.8-.4-2.7a20.5 20.5 0 0 1 .5-5 16.2 16.2 0 0 1 3.2-7.2c1-1.3 1.7-2 3.5-2m-115-31.5a5.7 5.7 0 0 1 2.1 4.6c0 2.5-2 6.5-7.2 8-2 .5-3.8 0-5-.7"/>
|
||||
<path d="M205 228.5c1 .6 1.3 1.4 1.3 2.6 0 .8-.5 2-1.5 3a9.9 9.9 0 0 1-7 3.2 8.2 8.2 0 0 1-4.8-1.4 7.3 7.3 0 0 1-3-4.3"/>
|
||||
<path d="M205 233.8c1 1 1.3 2.2 1.3 3.7 0 2.2-.9 3.9-3 5.7a5 5 0 0 1-1.5 1m103.6-17.6v2.9m-.3-3.6v4m.3-12.6v5.2m-.3-6.3v7m-1.5 65.7c-1 2-1.8 3-3.3 4.5a15.7 15.7 0 0 1-4.7 3.3 19.7 19.7 0 0 1-5.2 1.7c-2.1.5-3.4.6-5.5.7-2 0-3.1 0-5.1-.2-2.1 0-3.3-.4-5.4-.6-1.7-.1-2.7-.3-4.5-.3a22.8 22.8 0 0 0-8.7 1.5c-2.2.9-4.6 2.4-5.1 3-.5-.6-3-2.1-5.1-3a22.8 22.8 0 0 0-8.8-1.5c-1.7 0-2.7.2-4.4.3-2.1.2-3.3.5-5.4.6a37.3 37.3 0 0 1-10.6-.5c-2.1-.5-3.3-.8-5.3-1.8a15.7 15.7 0 0 1-5-3.7m33.6 42.7 1.5-.2m24.2-1.9 1.4-.1 1.4-.6 1-.5 1.3-1.6.3-.6.2-1.3v-.6M314 218.8c.6-2.1-.2-4.3-2.2-4.3m-105.6 37.3a6.5 6.5 0 0 1-2.9 3.7m3-37.4a5.2 5.2 0 0 1-3 3.2c-1.4.7-3.2 0-4-.6"/>
|
||||
<path stroke-linecap="round" d="M195 225.9c1.3.6 2.5-.3 2.3-1.9a2.3 2.3 0 0 0-2-1.8"/>
|
||||
<path d="M200.1 293.3c.3.3.4.6.7.6.5.1 1 .3 1.5-.4.7-.9.3-2.2-.4-3.1a4 4 0 0 0-4.7-.7c-.5.3-1.3.7-2 1.6l-.9 1.3-.9 2c-1.6 4.6.3 9.5 3.4 12.5"/>
|
||||
<path stroke-linecap="round" d="m272.2 326.3.5.6.2.7c.2 1.2-.6 2-1.6 2-1.3.2-2.2-.6-2.7-1.6"/>
|
||||
<path d="M311.6 187.8a6 6 0 0 1 5 5.6c0 3.6-1.2 4.9-3.1 7.4-2 2.7-8.5 7.7-8.5 13.4 0 3.4 1 5.6 3.4 6.7 1.6.7 3.5 0 4.3-.8 2-1.9 1.3-5.2-1-5.6-2.5-.4-3 3.7-.5 3.4m14.3 55.3a3 3 0 0 0-2.9-2.5 3 3 0 0 0-3 3c0 .8.4 1.5.9 2"/>
|
||||
<path d="M307.1 220.1a5.7 5.7 0 0 0-2.1 4.6c0 2.5 2 6.5 7.2 8 1.9.5 3.8.4 5-.3m-124.9-8.2a7.5 7.5 0 0 0-3.8 2.7 13.5 13.5 0 0 0-1.9 4.9c-.1.7-.3 3 .1 5.3a12.7 12.7 0 0 0 1.9 4.5l.8 1 .9.7m51.2 73.6c3.9 1.8 6.7 3 9.2 6.9a8.2 8.2 0 0 1-1.7 10 6.6 6.6 0 0 1-5.4 1.6c-1.5-.2-3-1.3-3.2-2m-37.2-90a6.6 6.6 0 0 1 3.1 6c0 3-1.5 4.8-3.2 5.9"/>
|
||||
<path stroke-linecap="round" d="M201.2 253.1c3.3 4.1 5 6.5 5.1 11.3.1 4.6-1.4 7.7-4 11"/>
|
||||
<path d="M263.8 199.5a3.3 3.3 0 0 0 1.3-1.8c.4-1.2.4-2.2-.3-3.1.8 1 .9 1.9.7 3.1-.2.8-.7 1.2-1.3 1.8m41.2 69v12.8a19.6 19.6 0 0 1-.3 3.4m0-17.5V283l-.4 2.1m.4-34.3v11.6m.3-10.7v9.4m0-21.5v7.1m-.3-7.9v8.8m.3-15.2v2.8m-.3-3.4v4m-1.4 52.2-.3.5a15 15 0 0 1-3.4 4.6 15.7 15.7 0 0 1-4.6 3.2 19.7 19.7 0 0 1-5.3 1.8c-2 .5-3.3.6-5.5.7-2 0-3 0-5-.2-2.2-.1-3.3-.4-5.4-.6-1.8-.1-2.8-.3-4.5-.3a22.9 22.9 0 0 0-8.8 1.5c-2.1.9-4.5 2.4-5 3a17 17 0 0 0-5.1-3 22.9 22.9 0 0 0-8.8-1.5c-1.7 0-2.7.2-4.5.3-2 .2-3.2.5-5.4.6a37.3 37.3 0 0 1-10.5-.5 19.8 19.8 0 0 1-10-5 17.6 17.6 0 0 1-1.9-2.3m-1.6-2.5a8 8 0 0 1-1.8 6.2c-.7.7-2.2 2-4 2-3 .1-4-2-4.1-2.5"/>
|
||||
<path d="M204.5 287a8.2 8.2 0 0 1 1.5 2.1c.7 1.4.5 3.8-.1 5a3.7 3.7 0 0 1-.3.3m-16.1 14.4c1.8 2 4.5 4 8.7 5.7a67.4 67.4 0 0 0 20.5 3.1c8 .3 15.5.7 20 5.7m13.9-3.3a12 12 0 0 1 3.2 4.5m-5.9 9.2a7 7 0 0 1-.5.5 6.6 6.6 0 0 1-5.3 1.6 5 5 0 0 1-3.5-2m-4.3-2.4.3.3a6 6 0 0 0 4 2m21.6 0a14.1 14.1 0 0 1-6.1 4.9 14.1 14.1 0 0 1-6.1-5l-.2-.3m12.4.3.6.6a6.6 6.6 0 0 0 5.3 1.6 4.4 4.4 0 0 0 3.3-2l.4-.6"/>
|
||||
<path d="m271.2 333.3-.6 1-.9.7-1.3.6H267"/>
|
||||
<path d="M274.4 324.2a6.1 6.1 0 0 1 1.9 2.3c.2.6.4 1.3.4 2a4.7 4.7 0 0 1-1.1 3.2 6 6 0 0 1-4.4 2 4.4 4.4 0 0 1-.3 0m.1-.2a5.5 5.5 0 0 1-4.1-1.7m51-54.3a19 19 0 0 1-4-5.2 15 15 0 0 1-1.3-3.6c-.2-.9-.4-1.7-.4-2.6 0-1.6.1-3.2.5-5a16.7 16.7 0 0 1 3.3-7.3c.5-.6 1-1.4 1.6-1.8m-1-60.6c2 .2 3.8 2.3 3.8 4.5 0 3.1-1 4.4-3.5 7.4-2.1 2.7-8.5 7.3-8.3 11.7 0 .8.5 1.6 1 2.2M307 220c.4.5 1 .8 1.6 1.1a4 4 0 0 0 3.4-.2m-16.9-34.6a4.8 4.8 0 0 1 1.8 2.1c1.4 3.6-1.8 6.3-4.8 8.3a17 17 0 0 1-6.6 2.6"/>
|
||||
<path d="M291.7 193.2c-.7 0-1.6-.2-2.5-1.2a2.7 2.7 0 0 1-.6-.7m-11.9 3.9a3.7 3.7 0 0 1-1-.8c-.7-.8-1.2-1.9-.7-3.5.5-1.5 3-5.8 3-8.7.3-4.5-1.5-7.2-4.2-8.2"/>
|
||||
<path stroke-linecap="round" d="m277.9 181.2-.1 1.7-.5 1.7-.9 2.3-.7 1.6-.7 1.5-.3 1-.2.8.1.8m30.5 101c0 .3.4.6.4.6a6.2 6.2 0 0 0 4.4 2.5c3 0 3.7-2.1 3.8-2.6.4-2.3-.4-3-1.6-3.6 0 0-.7-.3-1.5-.2"/>
|
||||
<path d="M189.6 283.5a5.5 5.5 0 0 1-3 0c-2.3-.7-4-2.9-3.1-5.5m10.7-25.5c.2.2.3.6.3.8.3 3-2.2 3.8-4 3.4a4.5 4.5 0 0 1-2.5-1.9 3.8 3.8 0 0 1-.5-1.8m17.7-19c.4.5.8 1 1 1.5m-1-6.8c.5.3.8.6 1 1"/>
|
||||
<path stroke-linecap="round" d="M206.3 232.4a6.8 6.8 0 0 1-1.3 2 9.9 9.9 0 0 1-7 3.1 8.2 8.2 0 0 1-4.8-1.4 7.6 7.6 0 0 1-3.3-4.4"/>
|
||||
<path d="M204.3 220.2a6.2 6.2 0 0 1 2 2.7"/>
|
||||
<path stroke-linecap="round" d="M206.3 226.6a9.4 9.4 0 0 1-7 6.3 7 7 0 0 1-5.2-.9"/>
|
||||
<path d="M192 226c.2 2.1 1.7 3.7 4.3 3.8 3.8 0 6-5.4 2.7-9.3"/>
|
||||
<path stroke-linecap="round" d="M183.6 244.4c.5.7 1.2 1.3 1.8 1.9a13.4 13.4 0 0 0 4.8 2.6m4.2.4c3.4-.4 5.3-2.9 4.9-5.8-.3-2.3-2.4-4-3.8-4"/>
|
||||
<path d="M199.9 214.5c1.4 0 2.3 1.3 2.2 2.4"/>
|
||||
<path stroke-linecap="round" d="M199.5 194.5a9.2 9.2 0 0 0 4 4.6M319 224a3.7 3.7 0 0 1-3.3 5.7 4.2 4.2 0 0 1-3.5-2"/>
|
||||
<path d="M305.4 199.3v12.6"/>
|
||||
<path stroke-linecap="round" d="M195 225.9c1.2.8 2.6-.6 2-2.1-.3-1-1.8-2.1-3.8-.8-2.1 1.5-1.5 6.3 2.7 6.3 3.7.1 6-5.4 2.7-9.2-3.2-3.7-9-2.9-13 .2a17.1 17.1 0 0 0-5.6 9.3 17 17 0 0 0 0 7.4 16.7 16.7 0 0 0 2.4 6l1 1.3 1.6 1.6a12 12 0 0 0 8.3 3c3.8-.1 6-2.8 5.5-5.9-.4-3-3.4-4.5-5.4-3-1.3.9-1.8 3.8.6 4.5 1.3.4 2.5-1.3 1.6-2.3m103.6-57.5c2.2-1.2 3.8-1 5 .7a7.9 7.9 0 0 1 1.3 5.8c-.4 2.2-1 3-2.8 4.6"/>
|
||||
<path stroke-linecap="round" d="M304.4 185.6c2.5-1.6 5.2-1 6.6 1.3a7.3 7.3 0 0 1 1.3 4.9 9 9 0 0 1-4.6 7.3"/>
|
||||
<path d="M316 191.3c2 .2 3.7 2 3.7 4.2 0 3-.8 4.4-3.3 7.4-2.1 2.6-8.4 7.2-8.3 11.7 0 1.6 1.5 3.2 2.7 3.3"/>
|
||||
<path stroke-linecap="round" d="M316.3 225.9c-1.2.8-2.6-.5-2-2 .4-1 1.8-2.2 3.7-.9 2.2 1.5 1.6 6.3-2.6 6.3-3.7.1-6.3-5.2-2.7-9.2 3.3-3.7 9.4-3 13.2 0 1.6 1.4 5 5 5.6 9.6.9 5.6.7 12.6-5 16.8a13.8 13.8 0 0 1-8.5 2.4c-3.8-.1-6-2.8-5.5-5.9.4-3 3.3-4.3 5.4-3 2.2 1.1 1.8 4.3-.6 4.5-1.4.2-2.5-1.3-1.6-2.3"/>
|
||||
<path d="M314.3 224c.6-2.9 3-3.1 5-3.1 5.2 0 8.9 6.3 9 12.4 0 7.6-3.3 12.1-9 12.3-1.3.1-3.8-.6-3.9-2.3"/>
|
||||
<path stroke-linecap="square" d="M317.5 222.7c5.6 1.2 7.6 6.2 7.6 11 0 3.9-.4 9.2-8 11"/>
|
||||
<path d="M326.7 276.3a3.1 3.1 0 1 0-5 1.8"/>
|
||||
<path stroke-linecap="round" d="M315.6 271.5a13.3 13.3 0 0 0 5 4.8m-1 8.4c-2.7-1.7-7.7-4-12.2-1.8a6.3 6.3 0 0 0-3.4 3.5 8 8 0 0 0 1.5 7.7 6 6 0 0 0 4 2.1c3 0 3.7-2 3.8-2.5.3-2.2-1-3.1-1.6-3.3-.6-.2-2.2-.2-2.6 1-.1.4-.1 1.1.2 1.6"/>
|
||||
<path stroke-linecap="round" d="M272.4 326.7c.8 1.8-.1 2.6-1.3 2.7-1.7.2-2.6-1.1-2.7-2.3-.2-2 1.5-3.9 3.5-3.8a4.4 4.4 0 0 1 4 2.8c.2.6.3 1.2.3 1.9a4.7 4.7 0 0 1-1.1 3.3 6 6 0 0 1-4.3 2c-3.4.1-6-3-6-6.3 0-6.1 9.1-9.5 12.8-10.4a67 67 0 0 1 14.3-1.8c2.9-.2 5-.1 8.1-.4 2.8-.3 4.3-.5 7.2-1.1a22 22 0 0 0 10-5.2 13.7 13.7 0 0 0 3.7-17.7 11.5 11.5 0 0 0-8.2-5.3c-3-.5-5.6.8-7.2 3.8a6.2 6.2 0 0 0 .1 5c.5.9 2 2.3 3.8 2.3 3 0 3.8-2 3.9-2.5.3-2.2-1-3.1-1.6-3.3-.6-.2-2.2-.2-2.6 1-.1.4-.1 1.1.2 1.6"/>
|
||||
<path stroke-linecap="round" d="M269.8 317c-4 1.7-6.8 3-9.2 6.7a7.9 7.9 0 0 0-1 4c0 2.1 1 4.5 2.7 6a6.6 6.6 0 0 0 5.4 1.7c1.5-.2 3-1.3 3.2-2"/>
|
||||
<path d="M308 243.3c-1.7.6-3 3.4-3 6 0 3 1.4 5 3.2 6"/>
|
||||
<path stroke-linecap="round" d="M310 253.1c-3.2 4.1-5 6.5-5 11.3-.1 4.6 1.3 7.7 4 11"/>
|
||||
<path d="m292.7 185.6.3-.4c1.3-2 3.7-2.5 5.5-1.2 2 1.6 2.6 4.3 2 7.2a7 7 0 0 1-3.2 4.4"/>
|
||||
<path stroke-linecap="round" d="M212 184.7c-2-1-3.7-.8-5 .7a7.5 7.5 0 0 0-1.2 5.8c.4 2.1 1 3 2.8 4.6"/>
|
||||
<path d="M206.9 185.6c-2.5-1.6-5.2-1-6.6 1.3a7.3 7.3 0 0 0-1.3 4.9 9 9 0 0 0 4.6 7.3"/>
|
||||
<path d="M199.7 187.8a5.5 5.5 0 0 0-4.8 5.3c0 3.6.9 5 2.9 7.7s8.5 7.7 8.5 13.4c0 3.4-1 5.6-3.4 6.7-1.6.7-3.5 0-4.3-.8-2-1.9-1.2-5.2.9-5.6 2.6-.4 3.1 3.7.6 3.4"/>
|
||||
<path d="M195.2 191.3c-2 .2-4 2-4 4 0 3.1 1.2 4.5 3.7 7.6 2 2.6 8 7.2 7.9 11.6 0 1.6-1.2 3.7-2.3 3.4"/>
|
||||
<path stroke-linecap="round" d="M190.5 252.9c1-2.3 3.4-1.3 3.5 0 .4 3-2.2 3.8-4 3.3-1-.2-1.6-.8-2-1.5a3.9 3.9 0 0 1 .4-4.3 4 4 0 0 1 1-1c.7-.4 1.5-.5 2.7-.5 4.4 0 8.3 5.3 9.6 10.8a23.6 23.6 0 0 1 .2 9.6 18 18 0 0 1-4.7 9 20.1 20.1 0 0 1-7.9 4.7 5.6 5.6 0 0 1-3.2 0c-2.2-.6-3.7-2.8-2.5-5.5 1-2.1 4.3-3.2 5.8-.6.1.3.3.7.3 1.3 0 .7-.3 1.5-.8 1.8-1.1.8-3 .6-2.9-1.5"/>
|
||||
<path d="M187 280.3c.8.3 1.3.3 2.3-.2l1.5-.8c2-1.1 4.5-3 6.7-7.2a15.1 15.1 0 0 0 1.4-3.6c.2-.9.4-1.8.4-2.7a20.5 20.5 0 0 0-.5-5 16.2 16.2 0 0 0-3.2-7.2c-1-1.3-1.7-2-3.5-2m-7.5 24.7a3.1 3.1 0 1 1 5 1.8"/>
|
||||
<path d="M185.8 273.2a3 3 0 0 1 2.9-2.5 3 3 0 0 1 3 3 3 3 0 0 1-1 2"/>
|
||||
<path d="M191.5 273a12.4 12.4 0 0 0 5-9.9c0-3.3-1.3-6.7-2.9-8"/>
|
||||
<path stroke-linecap="round" d="M195.7 271.5a13.2 13.2 0 0 1-5 4.8"/>
|
||||
<path d="M203.7 283c-.8-1.8-2.2-2.6-4.6-2.9a11 11 0 0 0-6.6 1.6 14.8 14.8 0 0 0-8 9 13.7 13.7 0 0 0-.6 4.6c0 2.9.8 6 1.6 7.5.6 1.4 2.4 7.2 12.2 11.2a67.7 67.7 0 0 0 20.6 3.2c8.3.3 16 .6 20.4 6.1"/>
|
||||
<path stroke-linecap="round" d="M191.7 284.7c2.7-1.7 7.6-4 12.1-1.8a7 7 0 0 1 3.5 3.5 8 8 0 0 1-1.5 7.7c-.7.7-2.1 2-4 2.1-3 0-3.7-2-3.8-2.5-.3-2.2 1-3.1 1.6-3.3.5-.2 2.2-.2 2.6 1 .1.4.1 1.1-.2 1.6"/>
|
||||
<path d="M202.2 292.6a2.7 2.7 0 0 0-.7-2.7 4.1 4.1 0 0 0-4.7-.7 5 5 0 0 0-2 1.7l-1 1.2-.8 2c-2 5.6 1.2 11.6 5.2 14.1a24 24 0 0 0 11.5 3.3l5.3.3h13.4l6 .6 4.4.8 1.5.4 1 .3a31.9 31.9 0 0 1 7.7 3.3c.7.4 1.5.8 2 1.4l1.1 1c1.5 1.4 3.1 3 3.5 5.3v1.3c0 1.4-1.1 3.4-4.3 4"/>
|
||||
<path d="M239 326.7c-1 1.8 0 2.6 1.2 2.7 1.7.2 2.6-1.1 2.7-2.3.2-2-1.5-3.9-3.5-3.8a4.4 4.4 0 0 0-4 2.8 5.5 5.5 0 0 0-.3 1.9 4.7 4.7 0 0 0 1 3.3 6 6 0 0 0 4.4 2c3.4.1 6-3 6-6.3 0-6.1-9.1-9.5-12.8-10.4a67 67 0 0 0-14.3-1.8c-2.9-.2-5-.1-8.1-.4-2.8-.3-4.3-.5-7.2-1.1a22 22 0 0 1-10-5.2 13.7 13.7 0 0 1-3.7-17.7 11.5 11.5 0 0 1 8.2-5.3c3-.5 5.6.8 7.1 3.8.8 1.4.6 3.8 0 5a4.8 4.8 0 0 1-3.9 2.3c-3 0-3.7-2-3.8-2.5-.3-2.2 1-3.1 1.6-3.3.5-.2 2.2-.2 2.6 1 .1.4.1 1.1-.2 1.6"/>
|
||||
<path stroke-linecap="round" d="M218.6 185.6a97 97 0 0 0-.3-.4c-1.3-2-3.7-2.5-5.5-1.2-2 1.6-2.6 4.3-2 7.2a7 7 0 0 0 3.2 4.4"/>
|
||||
<path d="M293.4 191.7c-3.2 3.5-6.5 4.6-11.3 4.8-1.5 0-4.4-.5-6-1.7-1-.8-2.3-2-1.5-4.4.5-1.5 3-5.7 3-8.7.2-4.5-1.5-7-4.2-7.9-5-1.8-10.4 3.2-13.6 4.3a11 11 0 0 1-4.1.6c-1.6 0-2.5 0-4.2-.6-3.2-1.1-8.6-6-13.6-4.3-2.7 1-4.4 3.4-4.2 8 0 2.9 2.5 7.1 3 8.6.8 2.3-.4 3.6-1.5 4.4a11.6 11.6 0 0 1-6 1.7c-4.9-.2-8-1.3-11.3-4.8"/>
|
||||
<path stroke-linecap="round" d="M237.9 315.5c.6.3.1-.1 4.2 1.7 3.8 1.7 6.6 3.2 9 7a8.5 8.5 0 0 1 .7 5.9"/>
|
||||
<path d="M238.1 332.8a6.4 6.4 0 0 0 2.6.7c3.4.1 6-3 6-6.3 0-2.2-1.2-4-2.9-5.6"/>
|
||||
<path stroke-linecap="round" d="M238.9 326.7c-.9 1.9.3 2.8 1.5 3 1.7.2 2.6-1.2 2.8-2.4a3.6 3.6 0 0 0-1.7-3.3"/>
|
||||
<path d="M312 187.8c2.6 0 4.9 2.9 4.9 5.8 0 3.4-1.8 5.5-3.1 7-1 1.3-2.2 2.4-3.6 3.8"/>
|
||||
<path stroke-linecap="round" d="M309 185.1a5 5 0 0 1 2.3 2 7.3 7.3 0 0 1 1.2 4.9c-.1 3.4-2.5 5.7-4.7 7.1m-3.8-14 .5.6a7 7 0 0 1 1.2 5.7 6.5 6.5 0 0 1-3 4.4m-4-11.6c2 1.6 2.7 4.4 2 7.2-.5 2-1.8 3.3-3.3 4.2m8.9 32.9c.2.7.6 1 1.2 1.5a10.8 10.8 0 0 0 4.9 2.9 6.2 6.2 0 0 0 5-.7M187 275.4c1 0 2 .6 2.7 1.8a2.6 2.6 0 0 1 .3 1.2c0 .7-.3 1.4-.8 1.8-1.2.7-3.2.4-3.1-1.7"/>
|
||||
<path d="M193.2 249c4 .8 7.7 5.5 9 10.7a23.6 23.6 0 0 1 .2 9.6 18 18 0 0 1-4.7 9c-.5.6-1 1-1.7 1.5l-.9.6m-6.3-9.7c1.6 0 3 1.5 3 3.2a3 3 0 0 1-.8 2"/>
|
||||
<path d="M187.7 272.6c1.7 0 3.3 1.6 3.3 3.3a3.1 3.1 0 0 1-1.2 2.5"/>
|
||||
<path stroke-linecap="round" d="M203.2 255.6c1.5 2 2.6 3.9 3 6.2m0 6.8a13.8 13.8 0 0 1-1.2 3.2 14.2 14.2 0 0 1-2.8 3.7"/>
|
||||
<path d="M203.4 243.5a7.5 7.5 0 0 1 2.8 3.8"/>
|
||||
<path stroke-linecap="round" d="M206.3 239.6a8.7 8.7 0 0 1-2.7 3.7m-7.3-13.8 1.7-.4 1-.8.7-1 .5-1.4.3-1.2"/>
|
||||
<path d="m192.8 223.4-2 .7a7 7 0 0 0-2.8 2.4 13.5 13.5 0 0 0-1.8 4.8c-.2.7-.4 3 0 5.3a12.6 12.6 0 0 0 2 4.6l.8 1c1 1 2 1.7 3.5 1.4"/>
|
||||
<path stroke-linecap="round" d="M202.4 215.8c-.2 1-.8 2.3-2.4 2.2"/>
|
||||
<path d="M196.5 222.8c-1.5-1.5-4.8-1.9-8 .2-.5.2-.9.6-1.3 1a7 7 0 0 0-1.1 1.2l-1.2 2a10 10 0 0 0-.7 2c-.6 2.3-.6 4.5-.6 5l.3 2.2a15 15 0 0 0 1.8 5 8.2 8.2 0 0 0 6.2 4.3c1.4.1 3.9-.6 4-2.4"/>
|
||||
<path stroke-linecap="round" d="M291 189.7c.2-1.4 1.8-1.6 2.4-.8 1 1.2.4 3.2-1.5 3.8a3 3 0 0 1-3-1.1c-.9-1-.8-2.2-.5-3.2.2-.7.7-1.2 1.4-1.7 2.1-1.7 5.7-1.3 6.8 1.5 1.5 3.6-1.7 6.3-4.7 8.3-3.8 2.5-8 3-11.3 3-7.3-.1-12.9-3.6-16.5-5.6-.8-.5-1.7-.4-2.1.2-.5.6-.5 1.5.2 2.1"/>
|
||||
<path stroke-linecap="round" d="M292.5 188.4c.8 0 1 .4 1.2.7 1 1.2.3 3.2-1.6 3.8m14.3 41.2c-2.8 3-.3 8.3 1.8 9.5.7.5 1 .2 1.6.6"/>
|
||||
<path d="M306.5 228.3c-1 .7-1.2 1.4-1.3 2.6a4.2 4.2 0 0 0 1.2 3.2 11.2 11.2 0 0 0 7.3 3 8.2 8.2 0 0 0 4.9-1.4 7.3 7.3 0 0 0 3-4.3M305 281v2c-.4 2.2-.7 3.5-1.7 5.5a15 15 0 0 1-3.4 4.5 15.7 15.7 0 0 1-4.7 3.3 19.7 19.7 0 0 1-5.2 1.8 33 33 0 0 1-5.5.6h-5l-5.5-.7c-1.7-.2-2.7-.3-4.4-.3a22.8 22.8 0 0 0-8.8 1.5 17 17 0 0 0-5 3c-.6-.6-3-2.2-5.2-3a17.6 17.6 0 0 0-4.1-1.2c-1.8-.3-2.8-.3-4.6-.3-1.8 0-2.7.1-4.5.3-2 .2-3.3.5-5.4.6-2 .1-3 .2-5 .1-2.2 0-3.4-.2-5.6-.6a19.7 19.7 0 0 1-5.2-1.8c-2-1-3-1.7-4.7-3.3a15 15 0 0 1-3.3-4.5 15.1 15.1 0 0 1-1.7-5.5v-83.4H305z"/>
|
||||
</g>
|
||||
<g fill="#c7b37f" stroke="#c7b37f">
|
||||
<path stroke-width=".3" d="M198.3 292.5a2 2 0 1 1 4 0 2 2 0 0 1-4 0zm-12.2-14.1c0-1 .6-1.8 1.4-1.8.8 0 1.4.8 1.4 1.8s-.6 1.8-1.4 1.8c-.8 0-1.4-.8-1.4-1.8z"/>
|
||||
<path stroke="none" d="M193 242.9c0-.8.7-1.5 1.4-1.5.8 0 1.4.7 1.4 1.5s-.6 1.4-1.4 1.4c-.7 0-1.3-.6-1.3-1.4zm24.6-52.5c-.1-.9.4-1.6 1-1.6.7-.1 1.4.5 1.5 1.3 0 .8-.4 1.5-1.1 1.6-.7 0-1.4-.5-1.4-1.3"/>
|
||||
</g>
|
||||
<g stroke="#c7b37f" stroke-linecap="round" stroke-width=".5">
|
||||
<path d="M191.4 251.2a1.8 1.8 0 0 0-.6.4l-.5.7-.2 1m3.8 21.3.7-.8.6-.8.4-.7.5-1m-1 11-1.2.6-.9.5a14 14 0 0 0-1 .7l-1 .8m12-30.3-.6-.7-.7-.7-.8-.5"/>
|
||||
<path stroke-linecap="butt" d="m203.3 244-1 .4a4 4 0 0 1-1.1.2"/>
|
||||
<path d="M190 230.8c0 .4.1.7.3 1.1l.7 1.4a6.8 6.8 0 0 0 2.2 2.1l1.2.7m-.9-4.7 1 .5a6 6 0 0 0 2.4.5l1.5-.1m5.7-32.5-1.6-1a9.6 9.6 0 0 1-2.4-2.3l-.7-1m6-3.6.5 1.3 1.2 1.7c.7.8 1.3 1 2.2 1.6m1.1-4.7.5 1.2.7 1 1 1c.6.5 1 .6 1.6 1"/>
|
||||
</g>
|
||||
<path fill="#703d29" stroke-width=".1" d="M266.6 185.3c0-1.4-1.3-1.5-1.9-1.5-1.4 0-1.8 1-3.7 2a9.5 9.5 0 0 1-5.3 1.4 9 9 0 0 1-5.4-1.5c-1.9-1-2.2-1.9-3.6-1.9-.8 0-1.9.7-1.8 2v.7s.2 0 .2.2c0-.7.1-1 .4-1.4a1.8 1.8 0 0 1 1.3-.7c1.5 0 2 1 3.9 2a9.5 9.5 0 0 0 5.3 1.5c2 0 3.1-.3 5.4-1.5 1.9-1 2.4-2 3.9-2 .5 0 .8.3 1 .8v.7h.2c0-.1.2-.2.1-.8z"/>
|
||||
</g>
|
||||
<g fill="#703d29">
|
||||
<path d="M211.5 299.2c.4-.4.8-.3.8-.5l-.2-.2-.7-.2-.7-.3s-.3-.2-.4 0c0 .3.9.3.5 1.1 0 .2-.1.5-.6 1l-2.1 2.3-.2.2V299l.1-1.4c.2-.4.6 0 .7-.3 0-.2 0-.2-.2-.3-.2 0-.4 0-1-.3l-.7-.3c-.1 0-.4-.2-.5 0l.1.2c.3.2.4.3.4.7v6c0 .4.1.6.2.6l.3-.2 4.2-4.6z"/>
|
||||
<path d="M214 300.1c.3-.8.8-.3.9-.6l-.3-.2-1-.3-1-.4h-.3c0 .4 1 .4.7 1.3l-1.4 4.4c-.3.8-.8.4-.9.7v.1l1 .3 1.2.4h.3c.1-.3-1-.2-.6-1.3zm3 1c.1-.6.4-.6.7-.5.8.3 1 1.1.8 2-.2.5-.4 1-1.6.7-.3-.1-.6-.2-.5-.4zm-2.3 3.9c-.4 1.1-1 .6-1 1l.2.1 1.3.4.7.2h.3c0-.4-.9-.2-.6-1.2l.5-1.6c0-.3 0-.4.5-.3.4.2.5.3.6.7l.3 1.7c0 .6.2 1.3.8 1.4.3.2 1 .1 1-.2v-.1h-.3l-.3-.3-.5-3 .6-.2c.3-.2.6-.4.8-1 .1-.4.3-1.7-1.5-2.3l-1.6-.4-1-.3h-.2c-.1.4.9.3.6 1.3l-1.2 4zm6.7 2c-.2 1-1 .4-1.2.7 0 .2.1.3.3.3l1.2.2 1.1.4.5-.1c0-.3-1.1-.3-.8-1.4l1-4.2c0-.5.2-.5.5-.4l.7.2c1 .2.5 1.1.8 1.2.3 0 .2-.3.3-.5v-1.1l-2.6-.6-2.5-.6c-.2 0-.2 0-.2.2l-.5 1.2v.3c.5.1.5-1.2 1.4-1l.7.2c.4.1.5.2.4.6l-1 4.3zm10.2-2.7c.3-.5.7-.4.7-.6l-.3-.2h-.7l-.7-.2c-.1 0-.4-.1-.4 0 0 .4.9.2.7 1 0 .2-.1.6-.5 1.1l-1.7 2.7-.1.2v-.3l-.6-3.2a4.3 4.3 0 0 1-.1-1.3c0-.4.5-.2.6-.5l-.3-.2-1-.1-.8-.2c-.1 0-.4-.1-.4 0l.1.2c.4.2.5.3.5.7l1.1 5.9c.1.4.2.5.3.5l.2-.2zm.5 5.4.1.4 1.4.6c1.1.2 2-.5 2.3-1.7.2-1.2-.3-1.7-1.2-2.3-1-.8-1.5-1-1.3-1.6 0-.6.5-1 1-.8 1.5.2 1.4 2 1.6 2 .1 0 .2 0 .2-.3l.1-1.3v-.3h-.5c-.3 0-.5-.4-1.2-.5-1-.2-1.8.5-2 1.6-.2 1 .2 1.4 1 1.9 1.2.9 1.7 1 1.6 1.9-.2.7-.8 1.1-1.4 1-1-.2-1.3-1.1-1.5-2l-.1-.3c-.2 0-.2.3-.2.4v1.3zm12.6-3.5c.3-.6.6-.5.7-.7 0-.2-.2-.2-.3-.2h-.8l-.7-.1-.4.1c0 .4 1 0 .8 1 0 .1 0 .5-.3 1l-1.4 2.9-.2.2v-.2l-1-3.2a4.3 4.3 0 0 1-.2-1.3c0-.4.6-.3.6-.5s0-.2-.3-.2h-1l-.8-.1c-.1 0-.4-.1-.4 0l.1.2c.4.2.5.3.6.6l1.7 5.8c.1.4.2.5.3.5l.2-.3z"/>
|
||||
<path d="M246 310.8c0 1-.8.8-.8 1.2h1l1 .1.4-.1c0-.5-1.1.2-1.1-1.7v-3.4s.2 0 .3.2l4 5h.3v-.2l.1-5.3c0-1 .8-.8.8-1.1l-.2-.1h-2v.1c0 .3 1 .2 1 1v3.2l-.1.4-.3-.3-3.4-4.2c-.1-.2 0-.3-.3-.3h-1.4l-.1.2c0 .4 1-.2.9 1.7v3.6zm8.4-4.3c0-1 .6-.6.6-.9l-.3-.1h-2.3c0 .4.9.1.9 1v4.6c0 1-.6.7-.6 1v.1h2.3l.3-.1c0-.3-1 .1-1-1zm3.6 4.4c0 1.2-1 .7-1 1 0 .3.2.3.3.3h2.4c.3 0 .5 0 .5-.2 0-.3-1.1 0-1.1-1.2v-4.3c0-.5 0-.5.3-.5h.8c1 0 .7 1 1 1 .3 0 .2-.4.2-.5l-.1-.9s0-.2-.2-.2H256c-.2 0-.2.2-.2.3l-.1 1.2.1.4c.4 0 .1-1.3 1.1-1.3h.7c.4 0 .5 0 .5.5v4.4zm5-1.8h-.3v-.4l.6-1.8h.1l1 1.7v.3l-.2.1zm1.5.4c.2 0 .3 0 .6.8l.2.6c0 .6-.6.6-.6.8 0 .2.2.1.3.1h1l1-.1c.3 0 .4 0 .4-.2 0-.3-.5.1-.8-.6l-2.8-5.6-.2-.3-.2.4-1.9 5.9c-.2.5-.6.5-.6.7 0 .2.2.1.3.1h1.5c.2-.1.5 0 .5-.3 0-.2-1 0-1-.7l.1-.7c.2-.7.3-.7.5-.7zm6.6-4c0-.6 0-.6 1-.7 1.6-.3 1.1 1 1.5.9.2 0 .1-.4.1-.5l-.1-1h-.2l-2 .2-2.2.3c-.2 0-.2 0-.2.2 0 .3 1 0 1 .8l.6 4.4c.2 1.2-.5.7-.5 1.2h.2l1.1-.1 1-.1c.2 0 .4 0 .4-.2 0-.3-1 0-1.1-1l-.2-1.4c0-.5-.1-.6.3-.7h.6c.9-.2.8.9 1 .8.3 0 .2-.3.1-.5l-.2-1.6c0-.3-.2-.3-.2-.3-.2 0-.1 1-.8 1l-.6.1c-.4 0-.4 0-.4-.4zm3.2 2.2c.3 2 1.7 3 3.4 2.7 2.7-.5 2.8-3 2.5-4.2-.3-2-1.8-3-3.5-2.7-2 .4-2.8 2.2-2.4 4.2m.9-.7c-.3-1.4 0-2.7 1.4-3 1-.3 2.3.6 2.7 2.7.3 1.6 0 3-1.4 3.2-1.5.3-2.4-1.5-2.7-2.9m6.7-3.3c-.2-.6.1-.7.4-.7.8-.2 1.5.3 1.7 1.3.1.5.2 1-1 1.3-.3.1-.6.2-.7 0l-.4-2zm0 4.5c.3 1.2-.5 1-.4 1.3 0 .2.2.2.3.1l1.3-.3.7-.1c.2 0 .2-.2.2-.2 0-.4-.8.2-1-.8l-.4-1.6c-.1-.3-.2-.4.3-.5.4 0 .6 0 .9.3l1 1.3c.4.5.8 1 1.5.9.3-.1.8-.5.7-.7 0-.1 0-.2-.1-.1h-.6l-2-2.3.5-.5c.1-.3.3-.7.2-1.3-.1-.4-.6-1.7-2.5-1.2l-1.6.4-1 .2-.2.2c.1.4 1-.2 1.2.8zm6.9-1.5c.3 1-.8.9-.7 1.2 0 .2.2.2.3.2l1.2-.4 1.2-.3c.2 0 .4 0 .3-.2 0-.3-1 .2-1.3-.9l-1.1-4.2c-.1-.4 0-.5.3-.6l.7-.2c1-.3 1 .8 1.3.8.2 0 0-.4 0-.5l-.4-.9s0-.2-.2-.2l-2.5.7-2.5.7c-.2 0-.1.1-.1.2l.2 1.3c0 .1 0 .3.2.3.3-.1-.2-1.3.7-1.5l.7-.2c.3 0 .4 0 .6.4l1 4.3zm4.4-5.9c-.3-.9.4-.7.3-1h-.3c-.4 0-.7.2-1 .3l-1 .2s-.3 0-.2.2c0 .3 1-.2 1.2.6l1.2 4.4c.2 1-.4.8-.3 1.2l1-.2 1.3-.3c.2-.1.2-.2.2-.3 0-.3-.9.4-1.2-.7zm1.8 2.1c.6 1.9 2.1 2.7 3.8 2.2 2.6-.9 2.3-3.3 1.9-4.5-.6-2-2.3-2.7-3.8-2.2-2 .7-2.6 2.6-1.9 4.5m.8-.8c-.4-1.3-.4-2.7 1-3.2 1-.4 2.3.3 3 2.4.5 1.5.5 2.8-1 3.3-1.4.5-2.5-1.2-3-2.5m6.1-4.3c-.2-.6 0-.7.4-.8.8-.3 1.5.2 1.8 1 .2.6.4 1-.8 1.6-.3 0-.6.2-.7 0zm.7 4.5c.4 1-.4 1-.2 1.3 0 .2.2.1.3 0 .4 0 .8-.3 1.2-.4l.7-.3c.2 0 .2-.1.2-.2-.1-.3-.8.3-1.2-.6l-.6-1.5c0-.4-.2-.4.3-.6.4-.1.5-.1.9.2l1.2 1.2c.5.4 1 .8 1.6.6.3-.1.7-.5.6-.8 0 0 0-.1-.1 0h-.6l-2.2-2 .3-.5c.1-.3.2-.7 0-1.3-.2-.4-.8-1.6-2.6-.9l-1.6.7-1 .3v.2c.1.3.8-.4 1.2.6z"/>
|
||||
</g>
|
||||
<g fill="#fedf00" transform="translate(0 76.8)scale(.512)">
|
||||
<path fill="#d52b1e" d="M412.7 249.3h82.1v82h-82.1z"/>
|
||||
<path id="ad-a" fill="#fff" d="M451.2 313.8s0 3-.8 5.3c-1 2.7-1 2.7-1.9 4a13.2 13.2 0 0 1-3.8 4c-2 1.2-4 1.8-6 1.6-5.4-.4-8-6.4-9.2-11.2-1.3-5.1-5-8-7.5-6-1.4 1-1.4 2.8-.3 4.6a9 9 0 0 0 4.1 2.8l-2.9 3.7s-6.3-.8-7.5-7.4c-.5-2.5.7-7.1 4.9-8.5 5.3-1.8 8.6 2 10.3 5.2 2.2 4.4 3.2 12.4 9.4 11.2 3.4-.7 5-5.6 5-7.9l2.4-2.6 3.7 1.2z"/>
|
||||
<use xlink:href="#ad-a" width="100%" height="100%" transform="matrix(-1 0 0 1 907.5 0)"/>
|
||||
<path d="m461.1 279 10.8-11.7s1.6-1.3 1.6-3.4l-2.2.4-.5-1.2-.1-1.1 3-.7V260l.3-1.3-3.2.2.3-1.4.5-1 1.9-.4h1.9c1.8-3.4 9.2-6.4 14.4-1 3.8 4 3 11.2-2 13.2a6.3 6.3 0 0 1-6.8-1.1l2-4c2.7 1.7 5-.3 4.8-2.4-.2-2.7-2-4.3-4.3-4.5-2.3-.2-4 1-5 3-.6 1.3-.3 2.2-.5 3.6-.2 1.5 0 2.3-.5 3.8a8.8 8.8 0 0 1-2.4 3.6l-11 12-43 46.4-3.2-3z"/>
|
||||
<path fill="#fff" d="M429.5 283s2.7 13.4 11.9 33.5c4.7-1.7 7.4-2.8 12.4-2.8 4.9 0 7.6 1 12.3 2.8A171 171 0 0 0 478 283l-24.2-31z"/>
|
||||
<path d="m456.1 262.4 16.8 21.7s-2.2 10.5-9 26.3c-2.7-.6-5-1.1-7.8-1.3zm-4.7 0-16.8 21.7s2.2 10.5 9 26.3c2.7-.6 5-1.1 7.8-1.3z"/>
|
||||
</g>
|
||||
<g fill="#d52b1e">
|
||||
<path fill="#fedf00" d="M257.8 204.4H300v42h-42z"/>
|
||||
<path d="M263.7 204.4h6.3v42h-6.3zm12 0h6.3v42h-6.2zm12 0h6.3v42h-6.2z"/>
|
||||
</g>
|
||||
<g fill="#d52b1e" stroke="#d52b1e" stroke-width=".5">
|
||||
<path fill="#fedf00" stroke="none" d="M211.4 282.8c.2.8.4 2 1.1 3.4.8 1.2.5 1.2 2.2 3a13.8 13.8 0 0 0 6.7 3.6c3.4 1 5.7 1 8.5.9 2.2-.1 3.9-.4 5.3-.6 2-.2 3.4-.4 5.7-.5a32.4 32.4 0 0 1 3.1 0c1.2 0 2.4.3 3.7.5 2.8.6 5.6 1.7 5.6 1.7v-43.9h-42v30z"/>
|
||||
<path stroke-width=".3" d="m216.3 290.5 2 1.2 2.7 1v-41.8h-4.7zm23.4 2v-41.6H235v42.2l4.7-.5zm9.3-41.6h-4.6v41.7a31 31 0 0 1 4.6.8zm-18.6 0v42.7h-4.7v-42.7z"/>
|
||||
</g>
|
||||
<g transform="translate(0 76.8)scale(.512)">
|
||||
<path fill="#fedf00" d="M585.5 402.4a20.8 20.8 0 0 1-2.2 6.6c-1.5 2.3-1 2.3-4.3 6a26.3 26.3 0 0 1-13 7 51.8 51.8 0 0 1-16.6 1.6c-4.3-.2-7.5-.7-10.3-1-3.8-.6-6.7-.9-11-1a62.9 62.9 0 0 0-6.2 0 83.3 83.3 0 0 0-18.3 4.2V340h82.2v58.5z"/>
|
||||
<g id="ad-b">
|
||||
<path fill="#d52b1e" d="m524.6 347-.6.2-.8.8c-.4.4-.7.5-1.2.8l-.6.5c-.3.3 0 .6-.3 1-.1.4-.3.6-.6 1-.4.4-.7.5-1 1l-1.2 1-.3.1h-.6c-.4.2-.5.6-.8.8l.3.6.8 1.4c.2.3.2.7.5.8.5.2.9.2 1.3.1.8.2 1.3.2 2 .5l1.5.8c.5.3.8.4 1.3.5h1.8v.3l2 1a1.7 1.7 0 0 0-.1.4c-.1.3-.2.7-.1.8.6 1.9 1.2 3 1.5 3.2.6.2.8.9 1.1 1.5l-.3.3c-.6.6-1.2 1-1.7 1.8-.7 1.2-1.2 1.2-.3 2.8l1.5 2.4c.4.7.6 1.2.8 2 .2.7.3 1.2.3 2l1 .3.7-.6.6-1.2v-1c-.2-.1-.3-.4-.2-.7 0-.4.5-.3.7-.6.3-.5-.4-.8-.7-1.1-.6-.7-1.4-.9-1.6-1.9 0-.2 0-.4.4-.7l2-1.8c.2.1.6.2 1 .1l1.3.4c.6.2.9 0 1.2 0h.4l.1.6c.1 1-.1 3 .2 3.5l.3.6.2.6v2l-.2 1.7c0 .4-.2.7-.5 1-.2.4-.6.4-1 .7v1l1.1.5 1.3.3.7-.3.1-.6.5-.5c.4-.2.8 0 .9-.1.2-.3 0-.4 0-.8 0-.6-.2-1-.3-1.6a11.8 11.8 0 0 1-.1-2.8c0-.6 0-1 .2-1.5.1-1 .4-1.4.6-2.2.3-1 .3-1.6.4-2.5a24.4 24.4 0 0 0 10.1-.6c.8.7 1.7 1.2 2.7 1.6v1c0 .3 0 .4.2.7l.3.3c.3 0 .5 0 .7-.2.2-.2.2-.4.2-.7v-.7h1.8v1.1c.1.3.3.4.5.4a.7.7 0 0 0 .6 0c.3-.2.2-.6.3-1v-.7l1-.4a5.1 5.1 0 0 1 0 .9l-.3.9c-.2.6-.5.8-.8 1.4-.4.6-.5 1-1 1.5l-.6.7-.6.9-.9 1c-.7.6-1.2.2-2 .9l-.3 1 1.4.6 1.3.2.4-.2c0-.3 0-.6.3-.8.2-.3.4-.3.7-.4.4 0 .8 0 1-.2.4-.3.4-1 .7-1.5a12.7 12.7 0 0 1 3-3.9l1.7-1.4c.2-.4.5-.5.5-1l-.2-.6-.2-1c1.5.7 1 .7 1.2 1.4.3.6 0 1 .1 1.7.1.8.5 1.1.5 1.9.1.9-.1 1.4-.3 2.3-.1.8-.1 1.3-.5 2a3.8 3.8 0 0 1-1.1 1.5l-.6.5-.1 1 1.1.4 1.6.4.4-.3c.2-.7 0-1.7.4-1.7.4-.1.7 0 .8-.3v-.7l.7-4.5.4-1.9.4-1.7c.7-2-.2-2.3-1-3.6-.5-.7-.7-1-.7-1.5V362a42.7 42.7 0 0 1 0-2.8l.4-.2c1.2-.7 1.7-.9 2.4-2.5a3.4 3.4 0 0 0 .3-1.5v-1l-.4-1a3.2 3.2 0 0 0-.6-.8c-.7-1-1.7-1.1-2.7-1.5-1.5-.5-2.5-.4-4-.5-1.8-.2-2.7-.2-4.4 0-2 0-3.1.4-5.1.7l-4.9.4c-2.3 0-4.4-.5-5.8-.4-2.4.2-2.5.8-6.2 1.1a67 67 0 0 1-3.8.2l-2.2-.7c.9-.3 1.1-.5 1.5-1 .3-.4.2-.7.6-1.1l.7-1a2.2 2.2 0 0 0-.9-.4h-1a3 3 0 0 0-1.2.3l-.8.6-2.2-1.2a8.8 8.8 0 0 0-3-.9zm2 11.8"/>
|
||||
<g fill="none" stroke="#fedf00" stroke-linecap="round">
|
||||
<path d="m568.8 359.5-.8.3c-.9.4-1.6.4-2.6.5-2.6.2-4.3-1.1-7-.9-1.4.1-2 1.2-3.5 1.6a9.3 9.3 0 0 1-1.7.2l.5-1s-1.2.3-2 .3a7.5 7.5 0 0 1-1.6-.2l1-1-1.3-.2a4 4 0 0 1-1-.7 20.5 20.5 0 0 0 1.7-.3c1.5-.4 2-1.2 3.9-1.4 1.1 0 3 0 7.6.8 3 .5 4.4.2 5.5-.3.8-.3 1-1 1.1-1.8.1-.8-.4-1.4-.8-1.8-.1 0-.5-.3-1.1-.4"/>
|
||||
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M524.8 350.6c-.5 0-.9 0-1.3.3-.5.3-.6.7-1 1.1.5.1.8.4 1.2.3.4 0 .5-.2.8-.5.3-.4.4-.7.4-1.2z"/>
|
||||
<path d="M536 363.8a13.6 13.6 0 0 0 1 2.3c.2.8 0 1.2.2 2v1.6m6.8-7-.3 1.3-1 3.5v.7m-11-4c.9.2.6 3.3 1.9 4"/>
|
||||
<path stroke-linecap="butt" d="m560.1 369.8.4-.3a8.2 8.2 0 0 0 2.7-1.8"/>
|
||||
<path d="M552.4 368c3.5-.9 5.9-2.6 7.6-2.9m-4-1.5h.8c1.5-.3 1.7.6 2.7 1.2 1.9 1 2.1 2.3 4.3 3.4l.4.1.8.4"/>
|
||||
<path fill="#fcd900" stroke-linecap="butt" stroke-width=".5" d="M517.7 354.5h.7l.8-.2c.3 0 .5 0 .7.2.2 0 .2.1.3.3 0 .2.2.3.1.5 0 .2-.3.4-.6.4-.2 0-.4 0-.5-.3a.5.5 0 0 1 0-.4 1 1 0 0 1-.9 0 1 1 0 0 1-.6-.5z"/>
|
||||
</g>
|
||||
<path fill="#0065bd" d="m525.1 364.2-2-.9c.4-.2.7-.2 1-.5.3-.4.3-.8.5-1.3s.2-1 .7-1.4c.3-.2.8-.2 1.1-.1.4 0 .8.4.9.7 0 .6-.2 1-.3 1.5 0 .6-.3.9-.2 1.4 0 .4.2.6.4 1l-2-.4zm-1 1a.6.6 0 1 1 .7.5.6.6 0 0 1-.7-.6zm-1.7-16.6h-.2c-.4-.4-.4-.8-.6-1.2a4 4 0 0 1-.3-1.2v-2c0-.3 0-.6-.2-.9 0-.2-.4-.3-.3-.4 0-.1.3 0 .4 0 .4 0 .6.1 1 .4.3.3.5.6.6 1l.4 1.5.3.8.5.6-.7.8zm3.6 10.6 2.2 1a9.2 9.2 0 0 0 3.5-3.8c.9-1.8 1-2.7 1.4-4.4l-1.8-.5h-.4c-.5 1.8-.7 2.7-1.6 4.2-.8 1.3-1.7 2.3-2.6 3zm5 18.2.8-1.3 1.4-1.1h.4a8.7 8.7 0 0 1-.5 2.8l-.4 1-.5.5c-.5-.8-1.3-1.3-1.3-2zm33 1.8 1.4.6 1.5.9v.5l-1.5.2a8.4 8.4 0 0 1-1.3 0h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8zm-9.8-2 1.4.5 1.5 1c0 .1.1.3 0 .4a9 9 0 0 1-2.7.3l-1-.1-.7-.3c.6-.7.9-1.7 1.5-1.8m-17.4 2.1 1.5.5 1.5 1v.5a9 9 0 0 1-2.8.2h-1l-.6-.4c.5-.7.8-1.6 1.4-1.8m-9-29.8c-.6-.3-1-1-.6-1.6.1-.2.4-.2.6-.4.2-.3.1-.5 0-.8l-.1-1-.2-1c0-.6 0-1 .4-1.6.2-.3.7-.6.8-.6.2.1 0 .5 0 .8 0 .5.1.7.3 1.2l.7 1.3c.2.6.4.8.4 1.4 0 .5 0 .7-.2 1.2a2 2 0 0 1-.6.8 2 2 0 0 1-.8.4 1.1 1.1 0 0 1-.6 0z"/>
|
||||
</g>
|
||||
<use xlink:href="#ad-b" width="100%" height="100%" y="36.6"/>
|
||||
</g>
|
||||
<path fill="none" stroke="#703d29" stroke-width=".4" d="M211.3 204.4h42v42h-42zm46.5 0H300v42h-42zm-46.4 78.4c.2.8.4 2 1.1 3.4.8 1.2.5 1.2 2.2 3a13.8 13.8 0 0 0 6.7 3.6c3.4 1 5.7 1 8.5.9 2.2-.1 3.9-.4 5.3-.6 2-.2 3.4-.4 5.7-.5a32.4 32.4 0 0 1 3.1 0c1.2 0 2.4.3 3.7.5 2.8.6 5.6 1.7 5.6 1.7v-43.9h-42v30zm88.4 0c-.1.8-.4 2-1.1 3.4-.8 1.2-.5 1.2-2.2 3a13.8 13.8 0 0 1-6.7 3.6 26.1 26.1 0 0 1-8.5.9c-2.2-.1-3.9-.4-5.3-.6a55.6 55.6 0 0 0-5.6-.5 32.4 32.4 0 0 0-3.2 0c-1.2 0-2.4.3-3.7.5-2.8.6-5.7 1.7-5.7 1.7v-43.9H300v30z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 32 KiB |
6
changedetectionio/static/flags/1x1/ae.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ae" viewBox="0 0 512 512">
|
||||
<path fill="#00732f" d="M0 0h512v170.7H0z"/>
|
||||
<path fill="#fff" d="M0 170.7h512v170.6H0z"/>
|
||||
<path fill="#000001" d="M0 341.3h512V512H0z"/>
|
||||
<path fill="red" d="M0 0h180v512H0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 274 B |
81
changedetectionio/static/flags/1x1/af.svg
Normal file
@@ -0,0 +1,81 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-af" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd" stroke-width="1pt">
|
||||
<path fill="#000001" d="M0 0h512v512H0z"/>
|
||||
<path fill="#090" d="M341.3 0H512v512H341.3z"/>
|
||||
<path fill="#bf0000" d="M170.7 0h170.6v512H170.7z"/>
|
||||
</g>
|
||||
<g fill="#fff" fill-rule="evenodd" stroke="#bd6b00" stroke-width=".5" transform="translate(2.2 86.8)scale(.84611)">
|
||||
<path d="M319.5 225.8h8.3c0 3.2 2 6.6 4.5 8.5h-16c2.5-2.2 3.2-5 3.2-8.5z"/>
|
||||
<path stroke="none" d="m266.7 178.5 4.6 5 57 .2 4.6-5-14.6-.3-7-5h-23l-6.6 5.1z"/>
|
||||
<path d="M290 172.7h19.7c2.6-1.4 3.5-5.9 3.5-8.4 0-7.4-5.3-11-10.5-11.2-.8 0-1.7-.6-1.9-1.3-.5-1.6-.4-2.7-1-2.6-.4 0-.3 1-.7 2.4-.3.8-1.1 1.5-2 1.6-6.4.3-10.6 5-10.5 11.1.1 4 .6 6.4 3.4 8.4z"/>
|
||||
<path stroke="none" d="M257.7 242.8H342l-7.5-6.1h-69.4z"/>
|
||||
<path d="m296.4 219.7 1.5 4.6h3.5l-2.8-4.6zm-2 4.6 1 4.6h4l-1.5-4.6zm7 0 2.8 4.6h5.9l-4.6-4.6zm-34.5 10.4c3.1-2.9 5.1-5.3 5.1-8.8h7.6c0 2 .7 3.1 1.8 3h7.7v-4.5h-5.6v-24.7c-.2-8.8 10.6-13.8 15-13.8h-26.3v-.8h55.3v.8H301c7.9 0 15.5 7.5 15.6 13.8v7h-1l-.1-6.9c0-6.9-8.7-13.3-15.7-13.1-6 .1-15.4 5.9-15.3 13v2.2l14.3.1-.1 2.5 2.2 1.4 4.5 1.4v3.8l3.2.9v3.7l3.8 1.7v3.8l2.5 1.5-.1 3.9 3.3 2.3h-7.8l4.9 5.5h-7.3l-3.6-5.5h-4.7l2.1 5.4h-5l-1.3-5.4h-6.2v5.8H267zm22.2-15v4.6h5.3l-1-4.6H289z"/>
|
||||
<path fill="none" d="M289.4 211.7h3.3v7.6h-3.3z"/>
|
||||
<path fill="none" d="M284.7 219.8h3.2v-5.6c0-2.4 2.2-4.9 3.2-5 1.2 0 2.9 2.3 3 4.8v5.8h3.4v-14.4h-12.8zm25.6 3.3h4v3.2h-4zm-2.4-5.3h4v3.1h-4zm-3.9-5.4h4v3.1h-4zm-3.3-4.5h4v3.1h-4z"/>
|
||||
<path fill="none" d="m298 219.8 4.2.2 7.3 6.4v-3.8l-2.5-1.8v-3l-3.6-2v-3.3l-3.5-1.2V207l-1.7-1.5z"/>
|
||||
<path d="M315.4 210.3h1v7.1h-1z"/>
|
||||
<g id="af-a">
|
||||
<path d="M257.3 186.5c-1.2-2-2.7 2.8-7.8 6.3-2.3 1.6-4 5.9-4 8.7 0 2 .2 3.9 0 5.8-.1 1.1-1.4 3.8-.5 4.5 2.2 1.6 5.1 5.4 6.4 6.7 1.2 1 2.2-5.3 3-8 1-3 .6-6.7 3.2-9.4 1.8-2 6.4-3.8 6-4.6z"/>
|
||||
<path fill="#bf0000" d="M257 201.9a10 10 0 0 0-1.6-2.6 6.1 6.1 0 0 0-2.4-1.8 5.3 5.3 0 0 1-2.4-1.5 3.6 3.6 0 0 1-.8-1.5 5.9 5.9 0 0 1 0-2l-.3.3c-2.3 1.6-4 5.9-4 8.7a28.5 28.5 0 0 0 0 2.3c.2.5.3 1 .6 1.3l1.1.8 2.7.7a7.1 7.1 0 0 1 2.6 2 10.5 10.5 0 0 1 1.8 2.6l.2-.8c.8-2.7.7-5.9 2.6-8.5z"/>
|
||||
<path fill="none" d="M249.8 192.4c-.5 3.3 1.4 4.5 3.2 5.1 1.8.7 3.3 2.6 4 4.4m-11.7 1.5c.8 3 2.8 2.6 4.6 3.2 1.8.7 3.7 3 4.5 4.8"/>
|
||||
<path d="m255.6 184.5 1-.6 17.7 29.9-1 .6z"/>
|
||||
<path d="M257.5 183.3a2 2 0 1 1-4 0 2 2 0 1 1 4 0zm15.2-24h7.2v1.6h-7.2zm0 3.1h7.2v13.8h-7.2zm-.4-5h8c.2-2.7-2.5-5.6-4-5.6-1.6.1-4.1 3-4 5.6z"/>
|
||||
<path fill="#bd6b00" stroke="none" d="M292.6 155.8c-1.5.6-2.7 2.3-3.4 4.3-.7 2-1 4.3-.6 6.1 0 .7.3 1.1.5 1.5.2.3.4.5.6.5.3 0 .6 0 .7-.3l.2-.8c-.1-2-.1-3.8.3-5.4a7.7 7.7 0 0 1 3-4.4c.3-.2.4-.5.5-.7a1 1 0 0 0-.3-.7c-.4-.3-1-.4-1.5-.1m.2.4c.4-.2.8 0 1 .1l.1.2c0 .1 0 .2-.3.4a8.2 8.2 0 0 0-3.1 4.6 16.7 16.7 0 0 0-.3 5.6 1 1 0 0 1-.2.6s0 .1-.2 0c0 0-.2 0-.4-.3a3.9 3.9 0 0 1-.4-1.2c-.3-1.8 0-4 .7-6 .7-1.8 1.8-3.4 3-4z"/>
|
||||
<path fill="#bd6b00" stroke="none" d="M295.2 157.7c-1.5.7-2.5 2.3-3 4.2a13.6 13.6 0 0 0-.3 5.9c.2 1.3 1 2 1.6 2 .3.1.6 0 .8-.3.2-.3.3-.6.2-1-.4-1.6-.5-3.4-.3-5.1.3-1.7 1-3.2 2.2-4.1.3-.3.5-.5.5-.8a.8.8 0 0 0-.2-.6c-.4-.3-1-.4-1.5-.2m.2.5c.4-.2.8-.1 1 0l.1.3-.3.4a6.5 6.5 0 0 0-2.4 4.4c-.3 1.8-.1 3.7.2 5.2.1.4 0 .6 0 .8l-.5.1c-.3 0-1-.5-1.2-1.7-.3-1.7-.2-3.9.3-5.7.5-1.8 1.5-3.3 2.8-3.8"/>
|
||||
<path d="M272.3 187.4h8v11h-8zm.5 17.4h7.7v2.4h-7.7zm-.2 4.1h8v8.7h-8zm-.6 10.5h8.7v4.9H272zm1.1-16.6h7l1.4-2.4h-9.6zm9.4-8.6.1-6h4.8a17.4 17.4 0 0 0-4.9 6z"/>
|
||||
<path fill="none" d="M273.6 196.7c0 1.3 1.5.8 1.5.1v-5.6c0-1 2.4-.8 2.4-.1v6c0 1 1.7.9 1.6 0v-7c0-2.2-5.5-2.1-5.5-.1zm0 13.3h5.7v7h-5.7z"/>
|
||||
<path d="M277.2 213h2v1h-2zm-3.5 0h2v1h-2zm2-3h1.5v3h-1.5zm0 4h1.5v3.1h-1.5zM244 139c.4 5.5-1.4 8.6-4.3 8.1-.8-3 1-5.1 4.3-8.1zm-6.5 12.3c-2.6-1.3-.7-11.5.3-15.8.7 5.5 2 13.3-.3 15.8z"/>
|
||||
<path d="M238.4 151.8c4.4 1.5 8-3.2 9.1-8.7-3.6 5-9.5 5-9 8.7zm-3.3 5.1c-3.4-.9-1.4-11.7-.7-16 .7 4.5 3.1 14.5.7 16zm1.2-.3c.2-3.7 3.9-2.7 6.5-4.7-.5 2-2 5.2-6.5 4.7zm-4.2 5c-3.4-1-1.4-12.6-1.6-17.4 1 4.2 4.2 16.3 1.6 17.4zm1.6-.5c2.8.9 6.5-1 6.8-4.3-2.5 1.7-6.3.4-6.8 4.3z"/>
|
||||
<path d="M229.5 166.7c-3.2.3-1.8-9.6-1.8-18.8 1.2 8.6 4.5 16.5 1.8 18.8z"/>
|
||||
<path d="M230.7 166.3c2.2 1 6.1-.7 7.2-4.4-4 1.7-6.6 0-7.2 4.4zm25.6-22.2c-.6 4.9-2.6 7.7-5.5 7.2-.8-3 1.6-5 5.5-7.2zm-7.8 12.4c4.9.7 6.6-3 10-7.9-4.7 3.4-10.2 4-10 8z"/>
|
||||
<path d="M247 156c-2.6-3.2 0-7.3 2-10.7-.4 5.1 1.3 8-2 10.7zm-1 5.3c-.4-3.2 5-3.9 7.4-5.6-.9 1.8-2 6.7-7.5 5.6z"/>
|
||||
<path d="M244.8 161.3c-3.7-.4-2.2-6.7.5-10.1-1.1 4.8 2 8.1-.5 10.1z"/>
|
||||
<path d="M242 166.6c-4.2-2-1.5-7.2 0-10.3-.6 4.1 2.8 7.2 0 10.2z"/>
|
||||
<path d="M242.8 166c2.2 3 6.5-.8 7.4-5.2-3.7 3.1-6.5 2.6-7.4 5.3zm-9.6 20.3c-.4-4.3 2.8-12 .5-16.2-.3-.6.7-2.1 1.4-1.2 1 1.5 2 5.7 2.5 4.1.4-1.7.5-4.6 2-5.2 1-.3 2.3-.6 1.9 1-.4 1.4-1.2 3.4-.3 3.5.5 0 2-2 3.3-3 1-.8 2.6.6 1 1.8-4.8 4-9.5 5.9-12.3 15.2zm-8.7 64.5c-.6 0-1.3-.3-.6.6 5.7 7 7.3 9 15.6 8 8.3-1.1 10.3-3.4 16.2-6.7a14.6 14.6 0 0 1 11.2-1c1.6.5 2.6.5 1.4-.7-1.2-1.1-2.5-2.7-4-3.8a17.5 17.5 0 0 0-12.7-2.7c-6 1-11.1 4.9-17.2 6.4a25 25 0 0 1-9.9 0zm47.8 12.5c1 .2 1.7 2.2 2.3.9.8-2.3.2-4-.8-3.9-1.2.3-3.1 3-1.5 3z"/>
|
||||
<path stroke="none" d="M220.6 183c-1.2-1.4-.9-1.8 1-1.9 1.4 0 4.2 1 5.3.1 1-.7.5-3.7 1-5 .2-.9.7-2 2-.2 3.6 5.8 8 12.8 10 19.6 1 3.8 0 9.8-3.4 13.8 0-3.4-1.2-5.7-2.7-8.6-2-3.7-9.1-14-13.2-17.9z"/>
|
||||
<path d="M235.5 213.4c4 0 4.7-5.3 4.7-6.8-2 .4-5.4 3.7-4.7 6.8zm34.5 51.9c2.8.6 2.7-6.2-.2-9.1 1.3 4.4-2 8.4.1 9zm-1.2-.1c.2 3.2-8-.4-10-3 4.8 2.1 9.8.4 10 3zm-3.5-4.6c.3 3.1-7 .3-9.3-2.1 4.9 1.6 9-.5 9.3 2zm1.3.4c2.9.7 2.4-6.4-.4-8.8 1.4 4.7-1.8 8.1.4 8.8zm-3-4.3c2.9.7 1.2-5.4-.9-7.8.4 4.4-1 7.5 1 7.8zm-1.5 0c.3 3.2-5.4.8-7.6-2.3 4.8 1.5 7.3-.3 7.6 2.3zm-1.5-2.5c1.8-1.3-.1-4.8-3.7-4.6.4 2.1 1.6 5.9 3.7 4.6zm14 14.7c.1 3.2-8 1.6-10.6-1.8 5.2 1 10.3-.8 10.5 1.8zm-32.4-5.8c.3 3.2-8.6-.4-10.8-3.4 4.7 1.6 10.5.8 10.8 3.4zm5.4 1.3c1.9-1.3-1.9-4.7-5-5.5.4 2.1 3 6.8 5 5.6zm.6 2.3c.2 2.9-9.5 1.3-12-1.4 8.3 1.5 11.7-1.1 12 1.4z"/>
|
||||
<path d="M252.8 268.6c1 2.7-8.3 2-11.6.5 5.3 0 10.8-2.4 11.6-.5z"/>
|
||||
<path d="M257.1 270.6c1 2.4-7.6 2.4-11.8 1 5.6 0 10.8-3.4 11.8-1zm6.3 1.3c1.6 2.9-7.6 3.1-10.5 1.7 5.2-.7 9.2-4 10.5-1.7zm-10.7-4.9c-2.9 1.8-2.7-3.6-5-7.3 3.6 3.3 7 5.6 5 7.3z"/>
|
||||
<path d="M257.9 269c-2.4 2.1-4.4-5.3-6.6-9.5 3.6 4 8.8 7.7 6.6 9.4zm6.8 2c-2 2.4-8-7-10.2-12 3.3 3.9 11.8 10 10.2 12zm-5.8 7.2c-1 3.6-16.2-3.4-18-7.1 8.8 4.6 18.2 3.6 18 7zm-48.7-73.8c-.4-.5-1.4 0-1.2 1.1.3 1.5 2.5 9.2 6.3 11.8 2.7 2 17 5.1 23.4 6.5 3.6.7 6.5 2.5 8.9 5.3a94.4 94.4 0 0 0-3-9.8c-1.2-3-4.4-6.2-7.8-6.3-6.1-.3-14.1-.8-20-3.3a16 16 0 0 1-6.7-5.3z"/>
|
||||
<path d="M245.5 234.9c2 1.4 4.1-3.7 1.7-8.6-.1 4.7-3.8 6.3-1.7 8.6z"/>
|
||||
<path d="M247.4 239.6c2.7.8 3.5-4 1.8-7.8.3 4.1-4.3 6.6-1.8 7.8z"/>
|
||||
<path d="M249.5 243.4c2.6 1.3 3.5-3.6 1.7-7.1.2 4.5-3.7 5.9-1.7 7z"/>
|
||||
<path d="M248.4 243.7c-1 3-7-2.7-8-5.8 3.7 3.7 8.7 3.2 8 5.7z"/>
|
||||
<path d="M245.7 239c-1.2 3-8.7-5-10.4-8.7 3.7 3.7 11.2 6.5 10.4 8.6z"/>
|
||||
<path d="M244.2 234.3c-1.2 3.5-9.3-5.8-11.7-9.1 4 3.6 12.6 6.6 11.7 9.1zm-.3-3.4c3-.6-.1-3-3.7-6.9-.1 4.1.5 7 3.7 6.9z"/>
|
||||
<path d="M239 228.5c1.3-1.3-1.1-1.9-4.1-5.3-.5 2.3 2.8 6.5 4.2 5.3zm14 15.2c1.6 1 2.6-2.3.7-5.2-.5 3.2-2.1 4-.7 5.2zm-34.2-20.3c-3.3 2-8.6-6-10-9.3 2.9 3.8 10.6 7.2 10 9.3z"/>
|
||||
<path d="M221.7 228c-1.9 2-7.7-3.5-9.7-6.3 3 2.7 10.5 3 9.7 6.3z"/>
|
||||
<path d="M224.8 232.2c-.6 2.8-9-3.5-11-6.5 3.6 3.5 11.6 3.2 11 6.5z"/>
|
||||
<path d="M223.5 235.3c-1.3 2.5-8.2-3.8-9.9-7 4.3 3.6 11 4.5 10 7zM220 223c2.1-2.3 1.2-3.4-.4-7-.8 3.7-2.1 5.2.4 7zm2.9 4.3c4 .2 0-4.6-1-8.7.4 4.6-1 8.3 1 8.7z"/>
|
||||
<path d="M225.4 231.1c2.7-.6 2-4.5-.2-9.2.5 5.1-2.3 8 .2 9.2zm-1 7.7c-1 3-8.8-4-10-6.8 4 3.4 10.7 4.5 10 6.8z"/>
|
||||
<path d="M229.1 243.6c-1.1 3-9.3-3.2-11.8-6.6 4.9 4 12.4 3.6 11.8 6.6z"/>
|
||||
<path d="M233.9 248.5c-1.3 4.3-9.9-2.6-12.4-6 5.4 4.2 13 3 12.4 6zm-8-11c2.3 1.1 3.2-5.4 1.9-10.1 0 5-4.7 8.8-2 10z"/>
|
||||
<path d="M229.8 242.7c2.8.8 2-6.3-.5-11-.3 4.7-2.3 9 .5 11zm5 4.9c3 .1 1-6.1-1.6-9.6.4 4.5-1 9 1.6 9.6zm-5.5 2.6c-1 1.6-3.2-1.3-7-3.5 3.4 1 7.4 2 7 3.5zm-1.8-52.7c3-2.2.7-6.2 0-10-1 3.6-3.4 8.4 0 10zm0 5.3c-4.5-.5-3.8-6.1-4-9.7 1.4 4.9 5 5.7 4 9.8zm.6-.7c3.7-.2 3.5-4.4 3.7-8.6-1.9 3.9-4 4.5-3.7 8.6z"/>
|
||||
<path d="M228 207.3c-3 .3-4.4-2.6-5-7 2.7 4.1 5.1 2.8 5 7zm1-.3c3.7.5 3-3.8 3-7-1.2 3-4.2 4-3 7z"/>
|
||||
<path d="M223.2 205.2c.3 2.8 2.1 7.6 5 6.5 1.1-3.4-2.6-4.1-5-6.5z"/>
|
||||
<path d="M229 212c-1.2-2.4 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 7zm-11.9-29.2c2.3-2.4.3-6.4-.4-10.2-1 3.6-2.5 8.4.4 10.2zm0 4.6c-4 .5-5-7.7-5.5-11.3 1.4 4.9 6 7 5.5 11.4zm.8 0c2.8-1.5 2.2-4.7 3-7-1.8 2.9-3.6 3.3-3 7z"/>
|
||||
<path d="M217 192.8c-4.1.3-6.6-8.8-6.8-12.4 1.3 4.9 7.4 7.5 6.9 12.4zm.9-.2c4-.9 3.5-3.5 2.9-7.6-1.3 4.2-3.5 3.3-2.9 7.6z"/>
|
||||
<path d="M217 198c-4.6.8-4.3-6.6-8-11.9 3.2 4 9 9 8 11.9zm1-.3c3.6.2 4-5.1 3.8-7.3-.9 2.2-5 4.2-3.7 7.4z"/>
|
||||
<path d="M209.8 192.3c1.7 5.7 4.2 11.4 7.2 11 1.5-3.3-2.9-3.7-7.2-11z"/>
|
||||
<path d="M218.1 202.4c-1.2-2.5 3-3.7 3.8-6.9.5 4.6.1 7.6-3.8 6.9zm-7.1-3.6c2.5 5.1 3.6 11 7 10.1 1.3-4-3.8-4.8-7-10.1z"/>
|
||||
<path d="M218.7 208c-1.5-2.8 2.7-3.7 3.8-7.4.5 4.8 0 8.3-3.8 7.3zm7.2-34.5c2.4.6 5-2.1 4.1-6.2-2.8.6-4 3.2-4.1 6.2zm-7.9-2.1c.2 1.2 1.7 1.3 1.2-.4a5.3 5.3 0 0 1 0-3.4 7.5 7.5 0 0 0 0-4.6c-.4-1-1.8-.4-1.2.4.6.9.7 2.8.2 3.7-.6 1.3-.4 3-.2 4.3zm22.9 16c-1 1.3-2.9.4-1.4-1.5 1.2-1.5 3-2.8 3-4.4.2-2 1.3-5 2.4-6.1 1.1-1.1 2.4.4 1.2 1.2-1.3.8-2.2 4.4-2.1 5.8-.1 2-2 3.5-3.1 5zm-3-2.3c-1 1.4-2.4.5-1.6-1.7.7-1.5.8-3.5 1.6-4.6 1.2-1.7 3-3.1 4.1-4.2 1.2-1 2 0 1 1a27 27 0 0 0-3.3 4c-1.4 2.2-.8 4-1.8 5.5zm-15.7-7.2c-.1 2 1.5 2.4 1.4-.4 0-3-2.2-5.8-1-10.3.8-2.2.8-6.3.4-8.4-.4-2.2-2-.8-1.3.9.6 2-.1 5.6-.6 7.5-1.5 5.4 1.2 8 1 10.7zm4.3-11c-.2 1.9-1.8 2-1.3-.5.4-2 .4-3.6 0-5.3-.6-2.1-.4-5.7 0-7.2.5-1.6 2-.7 1.4.5a9.9 9.9 0 0 0-.3 5.9c.6 2 .5 4.8.2 6.7zM210.9 204c.8.9 2 .3 1-1-1-1-.7-1.2-1.3-2.4-.6-1.4-.5-2.1-1.2-3-.7-1-1.6 0-1 .7.8 1 .6 1.6 1 2.5 1 1.5.7 2.3 1.5 3.2zm20.4 24.6a8.6 8.6 0 0 1 4.4 6.7 16 16 0 0 0 2 7.1c-2-.5-3-3.7-3.3-6.8-.3-3.2-2-4.5-3-7zm5.1 5.9c1.7 3.1 4 4.3 4.2 6.6.2 2.7.4 2.8 1.1 5.4-2-.5-2.5-.7-3-4.7-.3-2.8-2.6-4.7-2.3-7.3z"/>
|
||||
<path stroke="none" d="M289 263.3c1 1.8 2 4.5 4 4 0-1.3-2.1-2.3-4-4m3 .6c3.7 1.6 7 1.2 7.5 3.6-3.6.4-5-1-7.6-3.6zm-16.1-12.7a14 14 0 0 1 5 7.7 29 29 0 0 0 3.6 7.8 13 13 0 0 1-5.3-7.4c-.7-3-1.6-5.3-3.3-8zm3.1 0c2.8 2.2 5.4 4.8 6.2 7.9.8 2.9 1.3 5.1 3.2 8-3-1.9-4.1-4.7-5-7.8-.7-3-2.5-5.2-4.4-8zm9.2 7.3a1.1 1.1 0 0 1 .7-1.2 33.4 33.4 0 0 1 2.6-.8c1-.3 1.6.4 1.6.9v2c0 .7-.2.8-.7.9-.7.1-1.7.2-2.4.7-.6.4-1.2.1-1.5-.5zm10.6 0c0-.6-.2-1.1-.6-1.2a5.4 5.4 0 0 0-2.4-.4c-1 0-1.1.2-1.1.6v2.1c0 .8 0 .8.4 1 .7 0 1.8 0 2.5.6.5.3 1 0 1.1-.6z"/>
|
||||
</g>
|
||||
<use xlink:href="#af-a" width="100%" height="100%" x="-600" transform="scale(-1 1)"/>
|
||||
<g stroke="none">
|
||||
<path d="M328.5 286.6c0 1.2.2 2.2 1 3.1a19 19 0 0 0-13.8 1.1c-1.8.8-4-1-1.9-2.7 3-2.3 9.7-1 14.7-1.5m-57.5 0a7 7 0 0 1-.4 3c4.4-1.7 9.1-.2 13.6 1.6 3 1.3 3.3-1 2.8-1.7a6.5 6.5 0 0 0-5-2.9zm3.8-21.7c-1.3-.5-2.7 0-4 1.4-4.3 4.2-9.4 8.3-13.5 11.6-1.5 1.3-3 3.7 3.4 6 .3.2 5 2 8 2 1.3 0 1.3 1.8 1 2.3-.5 1-.1 1.4-1.1 2.3-1.1 1 0 2.1 1 1.3 3.6-3.2 9.6-1.1 15.3.7 1.4.4 3.8.3 3.8-1.6 0-2 1.5-3.4 2.4-3.5 2.4.4 14 .5 17.5.1 2-.3 2.2 2.9 3.3 4 .8.9 3.7 1.1 5.8.2 4-1.8 10-1.8 12.5 0 1 .7 1.9 0 1.3-.7-.8-1-.7-1.6-1.1-2.4-1-2-.2-2.4.8-2.5 11-1.5 14.6-5.2 11.2-8.3-4.4-3.8-9.2-7.7-13.4-12.2-1.2-1.2-2-1.7-4.3-.7a66.5 66.5 0 0 1-25.3 5.9 76 76 0 0 1-24.6-5.8z"/>
|
||||
<path fill="#bd6b00" d="m326.6 265.5-1.6.4c-9 3.2-17.2 5.4-25.7 5.4-8.3 0-17-2.4-24.9-5.6a2.3 2.3 0 0 0-1.5 0c-.5.1-1 .4-1.3.7a115.5 115.5 0 0 1-11.8 10.3c-.7.5-.6 1.8.5 2.2 8.3 3 16.4 8.5 39.6 8.3 23.5-.2 31.8-5.6 39.2-8.1.5-.2 1-.5 1.3-1a1 1 0 0 0 .1-.8 2 2 0 0 0-.6-.8c-4.3-3.5-8.8-6.3-11.8-10.4-.3-.5-.9-.6-1.5-.5zm0 .5c.5 0 1 0 1.1.3 3 4.3 7.7 7 11.9 10.5l.4.7a.5.5 0 0 1 0 .4c-.1.3-.6.6-1 .7-7.6 2.6-15.7 8-39 8.2-23.2.2-31.2-5.3-39.5-8.3-.8-.4-.7-1.2-.4-1.4 4.2-3.2 8.2-6.8 11.8-10.4a2.5 2.5 0 0 1 1.1-.6h1.2a68 68 0 0 0 25 5.6c8.7 0 17-2.2 26-5.3a6.7 6.7 0 0 1 1.5-.4z"/>
|
||||
<path d="M269.7 114.6c0-1.4 2-1.5 1.8.4-.3 2.3 4.5 8.3 4.9 12 .3 2.5-1.5 4.6-3.2 6a6.6 6.6 0 0 1-6.8.5c-.9-.8-1.7-3.3-1-4.3.2-.3 1.3 3.7 3.7 3.7 3.3 0 6-2.5 6-4.7.2-3.8-5.3-9.8-5.4-13.6m9.5 9.4c.6-.4 1.4 1.3.8 1.7-.5.3-1.5-1.3-.8-1.8zm1.5-3.5c-.3.2-.8 0-.7-.2a12 12 0 0 1 3.6-3.3c.4-.2 1 .4.8.7a11 11 0 0 1-3.7 2.8m12.6-10c.3-.6 2.1-1.3 2.6-1.7.4-.5.6.4.4.7-.3.7-1.9 1.7-2.6 1.8-.3 0-.6-.4-.4-.7zm4.3.3a8.3 8.3 0 0 1 2.5-3.4c.5-.3 1.3 0 1.1.4a9 9 0 0 1-2.9 3.3c-.3.3-.8 0-.7-.3m-3.7 2.7c-.3.2-.1.7.1.8.6.2 1.5.2 2 0 .6-.4.3-2.9-.5-1.6-.6.8-1 .6-1.6.8m-7.3 5.6c-1.3-1 .4-2.4 1.7-1.4 2.7 2-4 9.8-7.6 13.4-.7.7-1.3-1-.4-1.9a33.7 33.7 0 0 0 6.7-7.6c.4-.5.7-1.6-.4-2.5m15.3-6.6c.1-1-1.6 0-1.6-1.3 0-.7 1.9-1.2 2.7-.4 1.3 1.4.3 3.7-2 3.9-1.8 0-5 2.7-4.5 3.2.5.7 5.4 1.1 8.3.7 1.8-.3 1.4 1.3-.4 1.5-1.8.2-3.2 0-4.8.6-2 .5-2.8 3-3.9 4-.2.2-.8-.8-.6-1.2.8-1.2 2-3 3.4-3.6.8-.3-2.4-.4-3.4-.7-.8-.2-.6-1.3-.3-1.9.4-.8 3.4-3.9 4.7-3.8 1.1 0 2.3-.3 2.4-1m5 .2c.6-.5 1-1.3 1.5-1.8.3-.3.9 0 .8.8-.1.7-1 1.2-1.5 1.7-.5.3-1-.4-.7-.7zm6.5-2.3c.9 0 1 1.6.2 1.8-.6.2-1-1.7-.2-1.8m-2.1 5c0 1.5.7 1.4 2 1.3 1.3 0 2.4 0 2.4-1.2 0-1.3-.7-2.5-1-1.6-.1.8-.3 2.2-.8 1.6-.4-.5-.2-.6-1 .2-.5.5-.5-.2-.8-.6-.2-.3-.8.2-.8.4zm-9.2 7.2c-.3 1.9 0 4.5.9 4.5 1.2 0 3.6-4 4.8-6.2.7-1.2 1.8-1.4 1.3-.1-.7 1.9-.6 6 0 7.2.4.6 3-.6 3.4-1.5.8-1.7.1-4.8.4-6.7.1-1.2 1.3-1.5 1.2-.3a75.6 75.6 0 0 0-.1 7.5c0 1 2.9 2.4 3.3-.6.2-1.8 1.2-3.7 0-5.7-.8-1.3 1.1-1.2 2.1.6.7 1.2-.6 3.2-.5 4.7 0 2.4-1.8 3.8-3.1 3.8-1.2 0-2-1.5-3-1.5s-2.2 1.7-3 1.6c-3.6-.2-1.7-5.3-2.8-5.4-1.2 0-2.5 5-4 4.9-1.4-.2-3-4.2-2.3-5.8.5-1.6 1.5-2 1.4-1m16.9-8c-1.7-1 0-3.7.9-2.8 1.6 2 3.2 6.5 4.4 6.9.7.2.6-3.4 1.1-5 .4-1.3 1.8-.9 1.6.7-.1.5-2 6.4-1.8 6.6a47.1 47.1 0 0 1 3.3 7.8c.3 1.2-1.1.4-1.3.2-.9-1.4-2.4-6.5-2.4-6.2l-1.7 7.7c-.2 1-1.7.8-1.3-1 .3-1.4 2.3-8.3 2.2-8.6a17.2 17.2 0 0 0-5-6.3"/>
|
||||
<path d="M322 131.2c-.4 0-1.2 1 1.2 1.5 3.1.6 6.6-.5 7.6-3.6 1.3-3.7 2-7.2 2.7-8.5.8-1.5 1.8-1.4 1-3.6-.5-1.7-1.5-1.2-1.7-.3-.5 2.3-2.6 10-3.3 11.3-1.2 2.6-3.7 3.6-7.5 3.2"/>
|
||||
<path d="M328.4 119c-.4-.7-1.2 0-1 .7a1.2 1.2 0 0 0 1.2 1c.7 0 2.2.1 2.2-1 0-.8-.7-1.5-1.1-.6-.5.8-1 .7-1.3 0zm.7-3c-.2.2 0 1.1.3 1a7 7 0 0 0 3.3-.8c.2-.2.1-.7-.2-.7-1 0-2.6 0-3.4.5m8.8 2.3c.8-1.2 2.8-1.3 2 .4a614.3 614.3 0 0 1-6.3 12.3c-.8 1.4-1.4.7-.8-.4.7-1.4 4.9-12 5.1-12.3"/>
|
||||
<path d="M330.2 133c-.2-.8-1.5-2-1.3.2.2 3.8 5.5 2.6 7 1.3s.3 4.3 2.2 4.9c1 .3 3-1.1 4-2.4 2.7-3.5 4.5-8.6 7-12 1-1.4-.5-2.4-1-1.3-2.4 3.8-5.2 11.6-8.3 13.6-2.5 1.6-1.7-2-1.8-3.2-.1-.8-1.1-2-2.4-.9a5.5 5.5 0 0 1-3.7 1.2c-.7 0-1.4 0-1.7-1.4"/>
|
||||
<path d="M339.6 126c0-.3-1.1-.4-1 .7 0 .8 1 1 1.1 1 1.5-1.2-.3-.6-.1-1.8zm-2.3 4.4c-.3 0-.6 1 .2 1.1l3.9-.2c.4 0 .6-.9-.4-.8-1.2 0-2.7-.3-3.7 0zm-62-16.6c.5 0 1.6 1.4 1.5 1.9 0 .2-1.2 0-1.5-.3-.3-.3-.2-1.6 0-1.6m-5.3 10.4c-1 .6.2 1.7 1 1.2 2.8-1.9 7-3.8 8-7.5.3-1.2 1.4-3.1 2.5-3.5 1-.5 2.6 1.9 3.6 0 .6-1 2.7.7 3.2-.4.6-1.3.3-2 .3-3.4 0-.8-.7-1-1.2.3-.2.6 0 1.2-.1 1.6-.2.2-.6.4-1 .2-.2-.2 0-.7-.6-1-.2 0-.6-.1-.8.2-.7 1.3-1 2.5-2.1 1-.9-1-1.4-3.1-2-.3-.2 1-1.7 2.4-2.6 2.4-1.1 0-.8-3-3.2-2.5-1.3.3-1.2 2.7-1 3.5.3 1.3 4 .4 3.7 1.2-.6 2.7-4.4 5.4-7.7 7m-22.7 13.2c-.1.5.5 1.7 1.1 1.8.6 0 1-1.3.8-1.8-.2-.3-1.8-.3-1.9 0m3.3 4.9c-.4-.4-1.6.7-.6 1.5.5.5 2.5 1.1 3 .2.8-1.2-.7-5.5 0-6 .5-.5 2.8 2.8 4 3 2.7.4 2-4.6 5-4.2 1.9.2 2.1-2.2 1.8-3.8-.2-1.5-2.6-3.6-3.7-4.6-1.4-1.2-2.1 1-1.2 1.6 1.2 1 3.3 2.9 3.6 4.1.1.6-1.4 1.8-2 1.5-1.4-.8-2.6-4-3.8-4.7-.4-.2-1.4.3-1 1.3.6 1.1 3 2.7 3.1 3.9.1 1-1 3.2-1.8 3.2-.9 0-3-2.7-3.7-4-.4-.5-1.5-.5-1.7.4a22 22 0 0 0 .5 5.5c.2 1.6-.9 1.7-1.5 1.1m-4-8.6c-.4.4.8 1.2 1 1 .4-.4 2.1-2.3 1.8-3-.3-.6-2.6-2-3-1.3-.7 1.1 2.2 1.7 1.7 2a7 7 0 0 0-1.5 1.3m4.1-8.4s.8 2.5 1.4 1.4c.4-.7-1.4-1.4-1.4-1.4m1.2 4c-.2 0-1 .7-.5 1 .8.4 2.9.8 2.4-.7-.3-.9 3.2 0 2.3-2.4a3.7 3.7 0 0 0-1.7-1.7c-.4 0-1.5.5-.8.9.5.2 2 1.1 1.5 1.7-.7.6-1.1-.3-1.9-.1-.4 0-.1 1.2-.4 1.5 0 .2-.7-.4-.9-.3zm5.5-9.5a3.5 3.5 0 0 0-1.2 2c0 .2.3.6.5.5a3.2 3.2 0 0 0 1.2-1.9c0-.3-.2-.8-.5-.6m2.8-.3c-.8-1 1-2.6 1.7-.5.5 1.3 5.5 7.9 6.5 10.1.8 1.5 0 2.1-.9 1-2.5-3.2-4.6-7.2-7.3-10.6m5.2.1c.9-1 2.7-3 2.2-4-.4-1-1.5-1-1.7-.7-1 1.3.8 1 .5 1.4-.5 1-1 1.6-1.3 2.6-.1.3.1.9.3.7m77.8 3.2c-.7-.5.6-3 1.5-2 2.3 2.7 3.4 11.6 4.1 18.3 0 0-1 .9-1 .7 0-3.5-1.5-14.4-4.6-17m-53.1-8.6c-.8-1.8 1.1-2.4 1.4-1.2 1.3 5.8 4.5 10.2 7 14.1.7 1.2 0 2-1.7.8-1.2-.8-2.5-3.9-3-4-1.2-.2-3.8 5-9.1 3.5-1.4-.4-1.3-4.5-1.4-6.3 0-.9 1-1 1 0 0 1.7 0 5.2 2.1 5.4 1.8 0 5.6-2.4 6.4-4.4.8-2-1.9-5.9-2.7-8z"/>
|
||||
<path d="M344.6 138.4c.4-1.2 6.1-10.8 6.9-12.9.4-1 2 1.8.4 3.3-1.4 1.2-5.5 8-6.3 10.4-.4 1-1.4.5-1-.8"/>
|
||||
<path d="M354.3 129.3c1-4 3.6.6 1.3 2.8-3.4 3.4-4.5 9.9-10 10.9-1.4.3-4-.7-4.8-1.3-.3-.2.2-1.6 1.1-.9 1.3 1 4.1 1.3 5.6.1a25.4 25.4 0 0 0 6.8-11.6m-57 12.7c-.3.3-1 .3-1.1.7-.3 1.4 0 2.2-.3 3.6s-1.3 1.4-1.2.3c0-1.4 1.3-3.5.4-3.6-.6-.1-1-.9-.4-1.3 1.1-.7 1.7-.6 2.4-.4.3.1.4.5.2.7"/>
|
||||
<path d="M296.5 140c-1.4 1.4-2.8 1.9-4.1 3.5-.6.6-.5 1.5-.9 2.4-.3.9-1.4 1-1.7.9-.5-.4-.4-2-1-1.2-.6.9-.9 2-1.7 2-.7 0-2-1.5-1.3-1.5 2.3-.3 2.2-2 3-2.2 1-.1 1 1.5 1.7 1.2.4-.2.7-2.1 1.2-2.6 1.5-1.6 2.7-2.4 4.3-3.6.7-.6 1.3.5.5 1.2zm5.3 5c-1.2.2-1 1.7-.6 1.8.5.3 1.4.4 1.7-1.3.2-.7.3 3.5 1.8 1.9 1-1 3.1.2 4-1 .7-.9 1-1.5.4-2.7-.2-.3-1-.2-1 .7 0 .8-.5 1.7-1.3 1.6-.4-.1.2-1.9-.2-2.4a.5.5 0 0 0-.7 0c-.3.4.3 2.2-.6 2.4-1.2.2-.6-1.2-1-1.4-1.7-.8-1.8.2-2.5.3zm9-3c.9-.2.6-.2 2-1.3.5-.4.6.8.5 1.3 0 .7-1 .2-1.3.9-.4.9-.2 3-.4 3.8 0 .4-.8.4-.8 0-.2-1 .1-2 0-3.3 0-.4-.5-1.1 0-1.3zm-5-2.5c-.2.9-.2 1.6-.2 2.3 0 .5 1 .2 1 .1 0-.8.2-2 0-2.3-.2-.1-.7-.3-.8-.1"/>
|
||||
<path d="m299.5 130.2-1.4 5.6-2-3.8v3.9l-4.4-5.2 1.5 5.6-4-3.4 2.2 3.8-7-4.5 4.4 5.2-5.6-2.8 4 3.4-9-3.4 8.7 4.3a29 29 0 0 1 12.6-2.6c4.9 0 9.3 1 12.5 2.6l8.8-4.3-9 3.4 4-3.4-5.5 2.8 4.3-5.2-7 4.5 2.2-3.8-4 3.3 1.5-5.5-4.3 5.2V132l-2 3.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path fill="#fff" d="m249 299.7-.1 2.2h-.4v-1.5a7.4 7.4 0 0 0-.4-1.3 5.8 5.8 0 0 0-.5-1 11.3 11.3 0 0 0-.8-1.1l.7-1.8a5.3 5.3 0 0 1 1.1 2 7.5 7.5 0 0 1 .5 2.5m5.5-3.4c0 .6-.1 1-.3 1.2-.2.3-.6.5-1 .6l.2 1.1a5.3 5.3 0 0 1 0 1.7v1h-.4v-1a4.4 4.4 0 0 0-.2-.8 28.8 28.8 0 0 0-.3-.8 8.4 8.4 0 0 0-.6-1.2l-.8-1.3.5-1.6.8.9.7.2c.7 0 1-.3 1-1h.3a8 8 0 0 0 0 .5v.5m5.1 3.9-.4 1.7-.6-.6a3.5 3.5 0 0 1-.3-1 9.9 9.9 0 0 1 0-1.4 3 3 0 0 1-.9.1c-.4 0-.7 0-1-.3a1 1 0 0 1-.4-.8c0-.7.2-1.3.6-1.8.3-.6.7-.9 1.2-.9.3 0 .6.1.7.3l.3.8v1.6c0 .7 0 1.2.2 1.4 0 .3.3.5.6.9m-1.5-2.9c0-.4-.3-.6-.7-.6a.8.8 0 0 0-.4.1c-.2.1-.2.2-.2.3 0 .2.2.3.8.3a2.2 2.2 0 0 0 .5 0m6.9 2.3-.2 2.1c-.4-.3-.8-.8-1.1-1.5a20 20 0 0 1-1.1-3.3 41.3 41.3 0 0 1-.8 3l-.6 1.3a2 2 0 0 1-.6.6v-2l.8-1.2a6 6 0 0 0 .6-1.4 16 16 0 0 0 .3-2h.4l.7 2a6.7 6.7 0 0 0 1.6 2.4"/>
|
||||
<path fill="#bf0000" d="M280.5 319.2c.3.3.5.6.6 1l.2 1.2h-.6a6.2 6.2 0 0 0-.7-1.1 15.2 15.2 0 0 0-1-1l-1.3-1.2a27.3 27.3 0 0 0-1.6-1.3l-.5-.4-.2-.6a9 9 0 0 1-.1-1.3l2.1 1.7a35.3 35.3 0 0 1 2 1.8zm-7.6-4.6-.1 1.6-2.5-.1.2-1.6h2.4m6.7 7.1-6 1.9-1.2-1.6 5.2-1.5a6.3 6.3 0 0 0-.5-.7l-.7-.5a1.1 1.1 0 0 1-.4.8 2 2 0 0 1-.8.5 2.7 2.7 0 0 1-1.4 0c-.5 0-.8-.3-1-.6a3.1 3.1 0 0 1-.5-1.7c0-.8.2-1.3.6-1.5.6-.2 1.4 0 2.5.5a6.5 6.5 0 0 1 2.4 2zm-4.7-3.2a3.1 3.1 0 0 0-.6-.2.9.9 0 0 0-.5 0 .5.5 0 0 0-.4.3.4.4 0 0 0 0 .4l.4.2h.5a.9.9 0 0 0 .3-.3zm-6.4-1.2-.4 1.6-2.5-.3.4-1.5zm6 6-1.4.4a4.2 4.2 0 0 1-1.4 0 2.8 2.8 0 0 1-1.2-.3c-.2.4-.6.7-1.1 1a5.9 5.9 0 0 1-1.3.4l-1 .3-.8-1.6 1-.2 1-.3.6-.4a4.7 4.7 0 0 0-.7-.4 1 1 0 0 0-.6-.1.3.3 0 0 0-.2 0 .5.5 0 0 0 0 .3h-.5c-.4-.7-.5-1.2-.3-1.6.3-.4.8-.7 1.6-.9.8-.2 1.5-.2 2.1 0 .6 0 1 .3 1.2.6.1.2.2.4.1.6 0 .2 0 .5-.3 1a1.6 1.6 0 0 0 1 0l1.3-.3zm-6.4 1.5-1.3.2c-.7 0-1.3 0-1.8-.4a4.3 4.3 0 0 1-1.3-2l-.6-1.7a2 2 0 0 0-.6-1l-.8-.3.5-1.7 1.1.9.8 1.3.4 1.2a5 5 0 0 0 1 1.7c.2.3.4.4.7.3l1.3-.2zm-5.5-6-.9 1.5-2.3-.6.8-1.5zm1.4 6.7-6 .5-.3-1.6 5-.5a1.9 1.9 0 0 0-.6-.7 6 6 0 0 0-.8-.5l.5-1.5c.5.3 1 .6 1.2 1 .2.4.5 1 .6 1.7zm-4.8.8a13 13 0 0 1-1.8-.2 8.3 8.3 0 0 1-1.3-.4 4.5 4.5 0 0 1-1 .3h-3c-.5 0-.8 0-1-.2l-.6-.8a3.3 3.3 0 0 1-1.3.7 4 4 0 0 1-1.3.2h-1.4l.2-1.8 1.3.1c.7 0 1.3 0 1.7-.3.6-.3 1-.8 1-1.4h.6a22.9 22.9 0 0 0-.1 1c0 .3 0 .5.3.6l.7.2h2.9c.4-.2.6-.5.7-1l.1-.3a2.6 2.6 0 0 1 .4-.2l.4-.1v.6l-.3.8a6.4 6.4 0 0 0 1.7.4c0-.1 0-.3-.2-.5 0-.3-.2-.4-.2-.5a.4.4 0 0 1 .1-.2l.3-.2.8-.7.3.7c0 .2.1.5 0 .8l-.1 2.4m-9-7-1.5 1-1.1-.6-1.1.8-1.5-.9 1.4-1 1.2.7 1.1-.9zm-2.4 6.4-5.8-1 .7-1.6 4.8.8a1.3 1.3 0 0 0 0-.8 4 4 0 0 0-.5-.6l1.3-1.3c.3.4.5.8.5 1.2 0 .4 0 1-.4 1.7zm-4.9-.8-1.2-.3c-.7-.1-1.1-.4-1.2-.9-.1-.5.1-1.2.7-2.2l1-1.7.2-.9-.3-.6 1.8-1.2.2 1.1c0 .4-.2.9-.6 1.4l-.6 1.2a4 4 0 0 0-.7 1.7c0 .3.1.5.4.5l1.2.3zm-3-6.3-2 .9-1.4-1.4 2-.8zm-.9 5.3a4 4 0 0 1-1.2 1.1c-.4.3-.9.4-1.4.5a7 7 0 0 1-1.9 0 11.8 11.8 0 0 1-2.2-.6 6 6 0 0 1-2.7-1.6c-.5-.6-.5-1.2 0-1.8a5.6 5.6 0 0 1 1.5-1.3 18.8 18.8 0 0 1 3-1.2l.4.4c-1 .4-1.8.7-2.2 1a3.3 3.3 0 0 0-1 .7c-.3.4-.3.8.1 1.3a8.4 8.4 0 0 0 5 1.8c1 0 1.6-.3 1.9-.6l.4-.7.1-1.4 2-1.2-.1 1.2c-.1.4-.4.8-.8 1.3z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 20 KiB |
14
changedetectionio/static/flags/1x1/ag.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ag" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="ag-a">
|
||||
<path fill="#25ff01" d="M109 47.6h464.8v464.9H109z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" clip-path="url(#ag-a)" transform="translate(-120 -52.4)scale(1.1014)">
|
||||
<path fill="#fff" d="M0 47.6h693V512H0z"/>
|
||||
<path fill="#000001" d="M109 47.6h464.8v186.1H109z"/>
|
||||
<path fill="#0072c6" d="M128.3 232.1h435.8v103.5H128.3z"/>
|
||||
<path fill="#ce1126" d="M692.5 49.2v463.3H347zm-691.3 0v463.3h345.7z"/>
|
||||
<path fill="#fcd116" d="m508.8 232.2-69.3-17.6 59-44.4-72.5 10.3 37.3-63-64.1 37.2 11.3-73.5-43.4 58-17.6-67.3-19.6 69.3-43.4-59 12.4 75.6-64.1-39.3 37.2 63-70.3-11.3 57.9 43.4-72.4 18.6z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 751 B |
29
changedetectionio/static/flags/1x1/ai.svg
Normal file
@@ -0,0 +1,29 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ai" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<path id="ai-b" fill="#f90" d="M271 87c1.5 3.6 6.5 7.6 7.8 9.6-1.7 2-2 1.8-1.8 5.4 3-3.1 3-3.5 5-3 4.2 4.2.8 13.3-2.8 15.3-3.4 2.1-2.8 0-8 2.6 2.3 2 5.1-.3 7.4.3 1.2 1.5-.6 4.1.4 6.7 2-.2 1.8-4.3 2.2-5.8 1.5-5.4 10.4-9.1 10.8-14.1 1.9-.9 3.7-.3 6 1-1.1-4.6-4.9-4.6-5.9-6-2.4-3.7-4.5-7.8-9.6-9-3.8-.7-3.5.3-6-1.4-1.6-1.2-6.3-3.4-5.5-1.6"/>
|
||||
</defs>
|
||||
<clipPath id="ai-a">
|
||||
<path d="M0 0v128h298.7v128H256zm256 0H128v298.7H0V256z"/>
|
||||
</clipPath>
|
||||
<path fill="#012169" d="M0 0h512v512H0z"/>
|
||||
<path stroke="#fff" stroke-width="50" d="m0 0 256 256m0-256L0 256"/>
|
||||
<path stroke="#c8102e" stroke-width="30" d="m0 0 256 256m0-256L0 256" clip-path="url(#ai-a)"/>
|
||||
<path stroke="#fff" stroke-width="75" d="M128 0v298.7M0 128h298.7"/>
|
||||
<path stroke="#c8102e" stroke-width="50" d="M128 0v298.7M0 128h298.7"/>
|
||||
<path fill="#012169" d="M0 256h256V0h85.3v341.3H0z"/>
|
||||
<path fill="#fff" d="M323.6 224.1c0 90.4 9.8 121.5 29.4 142.5a179.4 179.4 0 0 0 35 30 179.7 179.7 0 0 0 35-30c19.5-21 29.3-52.1 29.3-142.5-14.2 6.5-22.3 9.7-34 9.5a78.4 78.4 0 0 1-30.3-9.5 78.4 78.4 0 0 1-30.3 9.5c-11.7.2-19.8-3-34-9.5z"/>
|
||||
<g transform="matrix(1.96 0 0 2.002 -141.1 95.2)">
|
||||
<use xlink:href="#ai-b"/>
|
||||
<circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/>
|
||||
</g>
|
||||
<g transform="matrix(-.916 -1.77 1.733 -.935 463.1 861.4)">
|
||||
<use xlink:href="#ai-b"/>
|
||||
<circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/>
|
||||
</g>
|
||||
<g transform="matrix(-1.01 1.716 -1.68 -1.031 825 -71)">
|
||||
<use xlink:href="#ai-b"/>
|
||||
<circle cx="281.3" cy="91.1" r=".8" fill="#fff" fill-rule="evenodd"/>
|
||||
</g>
|
||||
<path fill="#9cf" d="M339.8 347.4a78 78 0 0 0 13.2 19.2 179.4 179.4 0 0 0 35 30 180 180 0 0 0 35-30 78 78 0 0 0 13.2-19.2z"/>
|
||||
<path fill="#fdc301" d="M321 220.5c0 94.2 10.1 126.6 30.5 148.5a187 187 0 0 0 36.5 31 186.3 186.3 0 0 0 36.4-31.1C444.8 347 455 314.7 455 220.5c-14.8 6.8-23.3 10.1-35.5 10-11-.3-22.6-5.7-31.5-10-9 4.3-20.6 9.7-31.5 10-12.3.1-20.7-3.2-35.6-10zm4 5c13.9 6.5 21.9 9.6 33.4 9.4a76.4 76.4 0 0 0 29.6-9.4c8.4 4 19.3 9.2 29.6 9.4 11.5.2 19.4-3 33.4-9.4 0 89-9.6 119.6-28.8 140.2a176 176 0 0 1-34.2 29.4 175.6 175.6 0 0 1-34.3-29.4c-19.2-20.6-28.7-51.3-28.7-140.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.3 KiB |
5
changedetectionio/static/flags/1x1/al.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-al" viewBox="0 0 512 512">
|
||||
<path fill="red" d="M0 0h512v512H0z"/>
|
||||
<path id="al-a" fill="#000001" d="M204.9 99.5c-5 0-13.2 1.6-13 5.4-14-2.3-15.4 3.4-14.6 8.5 1.4-2 3-3.1 4.2-3.3 1.9-.3 3.8.3 5.8 1.5a23 23 0 0 1 5 4.4c-4.8 1.1-8.6.4-12.4-.3a17.6 17.6 0 0 1-6.1-2.5c-1.6-1.1-2.1-2.1-4.6-4.7-2.9-3-6-2.1-5 2.5 2.2 4.3 6 6.3 10.7 7 2.2.4 5.6 1.2 9.4 1.2 3.8 0 8.1-.5 10.5 0-1.4.8-3 2.4-6.2 3-3.2.6-8-2-11-2.6.4 2.5 3.5 4.8 9.7 6 10.2 2.2 18.7 4 24.3 7 5.6 3 9.1 6.8 11.6 9.8 5 6 5.3 10.5 5.6 11.5 1 9.5-2.2 14.8-8.4 16.4-3 .8-8.5-.7-10.5-3-2-2.4-4-6.4-3.4-12.7.5-2.5 3.4-9 1-10.3a291.6 291.6 0 0 0-34.4-16c-2.7-1.1-5 2.5-5.8 4A53.5 53.5 0 0 1 129 107c-4.6-8.1-12.1 0-10.9 7.7 2.1 8.6 8.6 14.8 16.5 19.2 8 4.5 18.1 8.8 28.3 8.6 5.5 1 5.5 8.2-1.1 9.5-13 0-23.2-.2-32.9-9.6-7.4-6.7-11.5 1.3-9.4 5.8 3.6 14 23.6 18 43.8 13.4 7.8-1.3 3.1 7 .9 7.2-8.4 6-23.5 12-36.8-.1-6.1-4.7-10.2-.7-8 6 6 17.5 28.5 13.8 44 5.2 4-2.2 7.6 3 2.7 6.9-19.2 13.4-28.9 13.6-37.6 8.4-10.8-4.3-11.8 7.8-5.3 11.8 7.2 4.4 25.4 1 38.9-7.4 5.7-4.2 6 2.4 2.3 5-15.9 13.8-22.2 17.5-38.8 15.2-8.2-.6-8 9.5-1.6 13.5 8.8 5.4 26.1-3.6 39.5-14.7 5.6-3 6.6 2 3.8 7.8a57.4 57.4 0 0 1-23.3 19.2 29.1 29.1 0 0 1-19.5.7c-6.2-2.2-7 4.2-3.6 10 2 3.5 10.6 4.7 19.7 1.4 9.2-3.2 19-10.8 25.7-19.8 6-5.1 5.2 1.8 2.5 6.7-13.5 21.3-25.9 29.2-42.1 27.9-7.3-1.2-8.9 4.4-4.3 9.6 8 6.7 18.2 6.4 27-.2a751 751 0 0 0 30.8-32.6c5.5-4.4 7.3 0 5.7 9-1.5 5.1-5.2 10.5-15.3 14.5-7 4-1.8 9.4 3.4 9.5 2.9 0 8.7-3.3 13-8.3 5.9-6.5 6.2-11 9.5-21.1 3-5 8.4-2.7 8.4 2.5-2.6 10.2-4.8 12-10 16.2-5.1 4.7 3.4 6.3 6.3 4.4 8.3-5.6 11.3-12.8 14.1-19.4 2-4.8 7.8-2.5 5.1 5.3-6.4 18.5-17 25.8-35.5 29.6-1.9.3-3 1.4-2.4 3.6l7.5 7.5c-11.5 3.3-20.8 5.2-32.2 8.5L142 300.6c-1.5-3.4-2.2-8.7-10.4-5-5.7-2.6-8.2-1.6-11.4 1 4.5.1 6.5 1.3 8.3 3.4 2.3 6 7.6 6.6 13 5 3.5 2.9 5.4 5.2 9 8.2l-17.8-.6c-6.3-6.7-11.3-6.3-15.8-1-3.5.5-5 .5-7.3 4.7 3.7-1.5 6-2 7.7-.3 6.6 3.9 11 3 14.3 0l18.7 1.1c-2.3 2-5.6 3.1-8 5.2-9.7-2.8-14.7 1-16.4 8.8a18.2 18.2 0 0 0-1.4 10c1-3.2 2.5-5.9 5.3-7.6 8.6 2.2 11.8-1.3 12.3-6.5 4.2-3.4 10.5-4.1 14.6-7.6 4.9 1.6 7.2 2.6 12.1 4.1 1.7 5.3 5.7 7.4 12 6 7.7.3 6.3 3.4 7 5.9 2-3.6 2-7-2.8-10.3-1.7-4.6-5.5-6.7-10.4-4-4.7-1.3-5.9-3.2-10.5-4.6 11.7-3.7 20-4.5 31.8-8.3 3 2.8 5.2 4.8 8.2 7.2 1.6 1 3 1.2 4 0 7.3-10.6 10.6-20 17.4-27 2.6-2.9 6-6.8 9.6-7.8 1.8-.4 4-.2 5.5 1.4 1.4 1.6 2.6 4.4 2 8.7-.6 6.2-2 8.2-3.8 11.8-1.7 3.7-3.9 6-6 8.8-4.4 5.7-10.1 9-13.5 11.2-6.8 4.4-9.7 2.5-15 2.2-6.7.8-8.5 4.1-3 8.7a21 21 0 0 0 13.7 2.3c3.3-.6 7-4.8 9.8-7 3-3.6 8.1.6 4.7 4.7-6.3 7.5-12.6 12.4-20.3 12.3-8.2 1-6.7 5.7-1.3 7.9 9.8 4 18.6-3.5 23-8.5 3.5-3.7 6-3.9 5.3 2-3.4 10.5-8.1 14.6-15.7 15.1-6.2-.5-6.3 4.2-1.7 7.5 10.3 7 17.7-5 21.2-12.4 2.5-6.6 6.3-3.5 6.7 2 0 7.3-3.2 13.2-12 20.7 6.7 10.7 14.5 21.7 21.3 32.5l20.5-228.2-20.5-36c-2.1-2-9.3-10.5-11.2-11.7-.7-.7-1.1-1.2-.1-1.6 1-.4 3.2-.8 4.8-1-4.4-4.4-8-5.8-16.3-8.2 2-.8 4-.3 9.9-.6a32.3 32.3 0 0 0-14.4-11c4.5-3 5.3-3.3 9.8-7-7.7-.6-14.3-2-20.8-4a41 41 0 0 0-12.8-3.7m.7 9c4 0 6.6 1.4 6.6 3 0 1.7-2.5 3.1-6.6 3.1-4 0-6.6-1.5-6.6-3.2 0-1.7 2.6-3 6.6-3z"/>
|
||||
<use xlink:href="#al-a" width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.2 KiB |
5
changedetectionio/static/flags/1x1/am.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-am" viewBox="0 0 512 512">
|
||||
<path fill="#d90012" d="M0 0h512v170.7H0z"/>
|
||||
<path fill="#0033a0" d="M0 170.7h512v170.6H0z"/>
|
||||
<path fill="#f2a800" d="M0 341.3h512V512H0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 236 B |
13
changedetectionio/static/flags/1x1/ao.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ao" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd" stroke-width="1pt">
|
||||
<path fill="red" d="M0 0h512v259.8H0z"/>
|
||||
<path fill="#000001" d="M0 252.2h512V512H0z"/>
|
||||
</g>
|
||||
<path fill="#ffec00" fill-rule="evenodd" d="M228.7 148.2c165.2 43.3 59 255.6-71.3 167.2l-8.8 13.6c76.7 54.6 152.6 10.6 174-46.4 22.2-58.8-7.6-141.5-92.6-150z"/>
|
||||
<path fill="#ffec00" fill-rule="evenodd" d="m170 330.8 21.7 10.1-10.2 21.8-21.7-10.2zm149-99.5h24v24h-24zm-11.7-38.9 22.3-8.6 8.7 22.3-22.3 8.7zm-26-29.1 17.1-16.9 16.9 17-17 16.9zm-26.2-39.8 22.4 8.4-8.5 22.4-22.4-8.4zM316 270l22.3 8.9-9 22.2-22.2-8.9zm-69.9 70 22-9.3 9.5 22-22 9.4zm-39.5 2.8h24v24h-24zm41.3-116-20.3-15-20.3 14.6 8-23-20.3-15h24.5l8.5-22.6 7.8 22.7 24.7-.3-19.6 15.3z"/>
|
||||
<path fill="#fe0" fill-rule="evenodd" d="M336 346.4c-1.2.4-6.2 12.4-9.7 18.2l3.7 1c13.6 4.8 20.4 9.2 26.2 17.5a7.9 7.9 0 0 0 10.2.7s2.8-1 6.4-5c3-4.5 2.2-8-1.4-11.1-11-8-22.9-14-35.4-21.3"/>
|
||||
<path fill="#000001" fill-rule="evenodd" d="M365.3 372.8a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.6 0zm-21.4-13.6a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0m10.9 7a4.3 4.3 0 1 1-8.7 0 4.3 4.3 0 0 1 8.7 0"/>
|
||||
<path fill="#fe0" fill-rule="evenodd" d="M324.5 363.7c-42.6-24.3-87.3-50.5-130-74.8-18.7-11.7-19.6-33.4-7-49.9 1.2-2.3 2.8-1.8 3.4-.5 1.5 8 6 16.3 11.4 21.5A5288 5288 0 0 1 334 345.6c-3.4 5.8-6 12.3-9.5 18z"/>
|
||||
<path fill="#ffec00" fill-rule="evenodd" d="m297.2 305.5 17.8 16-16 17.8-17.8-16z"/>
|
||||
<path fill="none" stroke="#000" stroke-width="3" d="m331.5 348.8-125-75.5m109.6 58.1L274 304.1m18.2 42.7L249.3 322"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
5
changedetectionio/static/flags/1x1/aq.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-aq" viewBox="0 0 512 512">
|
||||
<path fill="#3a7dce" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fff" d="M107.7 240.9c-3.5-7.9-3.5-7.9-3.5-15.7-1.8 0-2.1.4-3.1 0-1-.3-1.4 7.3-4.7 5.8-.5-.7 2.4-6.2-.8-8.4-1-.8.3-5.3-.2-7.2 0 0-4 2.3-7-5.9-1.4-2.1-3.4 2-3.4 2s.9 2.5-.7 3c-2.3-1.8-3.9-.8-6.7-3.3-2.9-2.5.6-5.4-4.8-7.6 3.5-9.8 3.5-7.8 12.2-11.8-5.2-3.9-5.2-3.9-8.7-9.8-5.3-2-7-3.9-12.2-7.8-7-9.8-10.5-29.4-10.5-43.2 4.4-4.6 10.5 15.7 19.2 21.6l12.2 5.9c7 4 8.7 7.8 14 11.8l15.6 5.9c7 5.8 10.5 13.7 15.7 15.6 5.7 0 6.8-3.6 8.6-3.9 10.2-.5 15.5-2 17.5-5.5 2-2.8 7 1.6 21-4.3l-1.8-7.8s3.8-3.5 8.8-2c-.2-3.6-.5-13.1 4.4-17.5-3-3.5-1-6-1-6s2.8-3 3.2-4.6c-1.5-8.7 1.2-8.8 1.9-11.3.6-2.6-2.4-1.7-1.6-5.2.9-3.5 6-4.4 6.6-7.3.7-2.8-1.5-4.3-1.3-5 1-2.7.1-9.2 0-11.7 9.3-2.9 12.4-11.4 15.7-7.9 1.7-11.8 3.5-15.7 14-15.7 1.4-3.6-3.9-6.7-1.8-7.8 3.5-.5 6.1-.3 10.2 5.7 1.3 1.9 1.5-2.8 2.8-3.3 1.4-.5 4.5-.5 5-2.8.4-2.4 1.1-5.5 2.9-9.4 1.5-3.2 2.6 1.2 4 7.4 7.3.3 23.9 2.2 30.9 4.3 5.2 1.6 8.7-1.5 13.7-2.1 3.7 4.2 7.2 1 9.1 10 2.8 4.7 7.3.3 8.3 1.8 5.9 18 26 5.8 27.4 6.1 2.6 0 5.7 8.1 7.7 8 3.3-.7 2.4-3.2 5.2-2.2-.7 6.8 5.7 14.7 5.7 19.7 0 0 1.5.9 3-.6 1.4-1.5 2.7-5.4 4-5.3 3 .5 4.3 1 7.8 1.6 9.4 3.7 14.3 4.5 18 6.3 1.6 3.6 3.3 5.4 6.8 4.7 2.8 2.2.7 5 2.4 5.2 3.5-2 4.7-4.1 8.1-2.2 3.5 2 7 6 8.8 9.8 0 2-1.8 9.8 0 21.6.8 4 1.3 7 5 13.8-1 6.9 4.7 18.5 4.7 21.5 0 3.9-2.8 6-4.5 9.8 7 6 0 15.7-3.5 21.6 26.2 5.9 14 17.7 34.9 11.8-5.3 13.7-3.4 12.6 1.8 26.3-10.4 7.9-.2 10.3-7.2 20-.4.7 4.2 8.6 10.6 8.6-1.7 15.7-7 9.8-5.2 33.3-13.8-.3-8.2 17.6-17.5 15.7.6 11.3 5.3 12.2 3.5 23.6-7 2-7 2-10.4 7.8l-5.3-2c-1.7 9.9-5.2 11.8 0 21.6 0 0-6.7.3-8.7 0-.1 3.4 3 4.3 3.5 7.9-.3 1.4-10 7.6-17.4 7.8-2 4.9 5.2 10 4.8 12.5-8.2 1.7-11.8 13-11.8 13s4.2 2 3.5 4c-2.3-1.9-3.5-2-7-2-1.7.5-6-.1-10 7.6-4.5 1.7-6.6 1-10 6.1-1.5-4.8-3.7 0-6.3 2-2.7 1.8-6.2 6.4-6.7 6.2.1-1.3 1.6-6.2 1.6-6.2l-8.7 2h-1c-.8.1-.6-5.7-2.2-5.5-1.7.3-6.4 7.3-8 7.6-1.6.2-2.1-2.3-3.5-2-1.4.1-4.1 7.4-5 7.6-1 .2-5-4.4-8.3-3.8-17.2 6.8-19.9-13.4-22.6-2-3.6-2.1-3-.9-6.6.2-2.3.7-2.5-3.5-4.6-3.4-4.2.1-4 4.5-6.2 3.2-1.8-9.2-13-7.5-14.1-11.5-.9-4 4.8-4 6.7-6.8 1.4-4-1.5-5.5 4.3-9.4 7.4-5.7 3.1-7.8 4.4-12.1 2.4-6.2 2.4-7.7.4-13.2 0 0-5.8-17.6-7-17.6-3.4-1.1-3.4 6.5-8.5 8.6-10.5 3.9-29-10-32.2-10-3 .1-16.5 3.7-16-4-2 7.5-9.6 1.8-10 1.8-7 0-4.3 6-9 5.8-2.1-.8-23.6-2.2-23.6-2.2v4l-14-8-12.2-3.9c-10.4-3.9-5.2-13.7-22.6-7.8v-11.8h-8.7c3.4-23.5 0-11.7-1.8-33.3l-7 2c-7-10.7 9.7-8.6-5.2-15.8 0 0 .3-11.7-3.5-7.8-.7.5 1.8 5.9 1.8 5.9-14-2-17.5-5.9-17.5-21.6 0 0 11.5 1.9 10.5 0-1.6-3-3.8-22-3.4-23.3-.2-2.6 10.7-9.1 8.6-15.3 1.3-.6 5.3-.6 5.3-.6"/>
|
||||
<path fill="none" stroke="#fff" stroke-linejoin="round" stroke-width="2.5" d="M595.5 297.6c-.6 1.3-.5 2.6.1 3.6 1.1-1.7.2-2.4 0-3.6zm-476-149.4s-3-.4-2.4 2.3c1-2 2.3-2.2 2.4-2.3zm-.3-6.4c-1.7 0-3.8-.2-3 2.5 1-2.1 3-2.4 3-2.5zm12.7 36.3s2.6-.2 2 2.5c-1-2-2-2.4-2-2.5z" transform="matrix(.86021 0 0 .96774 -50 10)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
32
changedetectionio/static/flags/1x1/ar.svg
Normal file
@@ -0,0 +1,32 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-ar" viewBox="0 0 512 512">
|
||||
<path fill="#74acdf" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fff" d="M0 170.7h512v170.7H0z"/>
|
||||
<g id="ar-c" transform="translate(-153.6)scale(1.024)">
|
||||
<path id="ar-a" fill="#f6b40e" stroke="#85340a" stroke-width="1.1" d="m396.8 251.3 28.5 62s.5 1.2 1.3.9c.8-.4.3-1.6.3-1.6l-23.7-64m-.7 24.2c-.4 9.4 5.4 14.6 4.7 23-.8 8.5 3.8 13.2 5 16.5 1 3.3-1.2 5.2-.3 5.7 1 .5 3-2.1 2.4-6.8-.7-4.6-4.2-6-3.4-16.3.8-10.3-4.2-12.7-3-22"/>
|
||||
<use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(22.5 400 250)"/>
|
||||
<use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(45 400 250)"/>
|
||||
<use xlink:href="#ar-a" width="100%" height="100%" transform="rotate(67.5 400 250)"/>
|
||||
<path id="ar-b" fill="#85340a" d="M404.3 274.4c.5 9 5.6 13 4.6 21.3 2.2-6.5-3.1-11.6-2.8-21.2m-7.7-23.8 19.5 42.6-16.3-43.9"/>
|
||||
<use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(22.5 400 250)"/>
|
||||
<use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(45 400 250)"/>
|
||||
<use xlink:href="#ar-b" width="100%" height="100%" transform="rotate(67.5 400 250)"/>
|
||||
</g>
|
||||
<use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(90 256 256)"/>
|
||||
<use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(180 256 256)"/>
|
||||
<use xlink:href="#ar-c" width="100%" height="100%" transform="rotate(-90 256 256)"/>
|
||||
<circle cx="256" cy="256" r="28.4" fill="#f6b40e" stroke="#85340a" stroke-width="1.5"/>
|
||||
<path id="ar-h" fill="#843511" stroke-width="1" d="M265.7 250c-2 0-3.8.8-4.9 2.5 2.2 2 7 2.2 10.3-.2a7.5 7.5 0 0 0-5.4-2.4zm0 .4c1.9 0 3.6.8 3.9 1.7-2.2 2.4-5.7 2.2-7.9.4 1-1.5 2.5-2.1 4-2.1"/>
|
||||
<use xlink:href="#ar-d" width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)"/>
|
||||
<use xlink:href="#ar-e" width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)"/>
|
||||
<use xlink:href="#ar-f" width="100%" height="100%" transform="translate(19.3)"/>
|
||||
<use xlink:href="#ar-g" width="100%" height="100%" transform="matrix(-1 0 0 1 512.3 0)"/>
|
||||
<path fill="#85340a" d="M251.6 260a2 2 0 1 0 2 3c.8.6 1.8.6 2.4.6h.3c.5 0 1.6 0 2.3-.6.4.5 1 .8 1.6.8a2 2 0 0 0 .4-3.9c.5.2.9.7.9 1.3a1.3 1.3 0 0 1-2.7 0 3 3 0 0 1-2.7 1.8 3.3 3.3 0 0 1-2.7-1.8c0 .7-.6 1.3-1.3 1.3a1.3 1.3 0 0 1-.4-2.6zm2.2 5.8c-2.2 0-3 2-5 3.3 1-.5 2-1.3 3.5-2.2 1.5-.9 2.8.2 3.7.2.9 0 2.2-1.1 3.7-.2 1.5.9 2.4 1.7 3.5 2.2-2-1.4-2.8-3.3-5-3.3a6 6 0 0 0-2.2.6c-1-.4-1.8-.6-2.2-.6"/>
|
||||
<path fill="#85340a" d="M253 268.3c-.8 0-2 .3-3.6.8 4-1 4.8.4 6.6.4 1.7 0 2.6-1.3 6.6-.4-4.4-1.4-5.3-.5-6.6-.5-.9 0-1.5-.3-3-.3"/>
|
||||
<path fill="#85340a" d="M249.6 269h-.8c4.6.5 2.4 3.1 7.2 3.1 4.8 0 2.6-2.6 7.2-3-4.8-.5-3.3 2.4-7.2 2.4-3.7 0-2.6-2.5-6.4-2.5"/>
|
||||
<path fill="#85340a" d="M260 276.1a4 4 0 0 0-8 0 4 4 0 0 1 8 0"/>
|
||||
<path id="ar-e" fill="#85340a" stroke-width="1" d="M238.3 249.9c5-4.4 11.4-5 14.9-1.8a8.6 8.6 0 0 1 1.6 3.7c.5 2.5-.3 5.2-2.3 8 .3 0 .7.1 1 .4 1.7-3.4 2.3-6.8 1.7-10l-.7-2.5c-4.8-4-11.4-4.4-16.2 2.2"/>
|
||||
<path id="ar-d" fill="#85340a" stroke-width="1" d="M246.2 248.6c2.8 0 3.5.6 4.8 1.7 1.3 1.1 2 .9 2.2 1.1.2.2 0 .9-.4.7-.5-.3-1.4-.7-2.7-1.8-1.3-1-2.6-1-4-1-3.8 0-6 3.2-6.5 3-.4-.2 2.2-3.7 6.6-3.7"/>
|
||||
<use xlink:href="#ar-h" width="100%" height="100%" transform="translate(-19.6)"/>
|
||||
<circle id="ar-f" cx="246.3" cy="252.1" r="2" fill="#85340a" stroke-width="1"/>
|
||||
<path id="ar-g" fill="#85340a" stroke-width="1" d="M241 253.4c3.7 2.8 7.4 2.6 9.6 1.3 2.2-1.3 2.2-1.8 1.7-1.8-.4 0-.9.5-2.6 1.4-1.8.8-4.4.8-8.8-1z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
109
changedetectionio/static/flags/1x1/arab.svg
Normal file
@@ -0,0 +1,109 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" version="1.0" id="flag-icons-arab" viewBox="0 0 512 512">
|
||||
<path fill="#006233" d="M0 0v512h512V0Z" class="arab-fil0 arab-str0"/>
|
||||
<g fill="#fff" fill-rule="evenodd" stroke="#fff">
|
||||
<path stroke-width=".4" d="M1071.9 2779.7c-25.9 38.9-7.2 64.2 19.5 66 17.6 1.3 54.2-24.9 54.1-55.7l-10-5.6c5.6 15.8-.2 20.8-12.1 31.6-23.5 21.3-71.5 22.8-51.5-36.3z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path d="M1277.2 2881.7c145.8 4.1 192.2-137 102.2-257.8l-8.9 13.3c5.8 56.3 14.2 111.8 15 169.5-17.6 20.7-43.2 13-48.3-10 .3-31.2-9.9-57.6-22.8-82.8l-7.2 13.3c8.4 20.7 17.5 44 19.4 69.5-41.6 49.9-87.6 60-70.5-5.6-32.9 57.5 16.9 98 73.3 9.5 12.1 60.4 58.9 22.9 61.7 9.9 5.1-39.6 2.5-103.4-7.8-153.8 40.6 70.3 42 121 20.4 154.9-24 37.7-76.2 55.3-126.5 70.1z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path d="M1359.9 2722.2c-31.2 2.3-47.2-4.1-30.3-27.2 16.7-22.6 32.3-4.6 36.5 25.6 3.9 28.3-54.8 64.4-75.1 64.4-30.7 0-44.9-39.5-16.6-75-36.4 103.6 78.6 43.5 85.5 12.2zm-21.6-24c-3.8-.2-6.6 6.5-4.7 7.8 5.5 3.8 14.2 1.5 15.1-.4 1.9-4.2-5.1-7.2-10.4-7.4z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path d="M1190.5 2771.1c-30 59-.1 83.4 38.4 76.6 22.4-4.1 50.8-20 67.2-41.7.3-47.8-.4-95.2-4.6-141.5 15-17.9-1.3-17.8-7-37-2.6 11.2-8.9 23.3-2.8 32 4.3 46.7 6.7 94 6.6 142.2-30.2 24.3-52.9 33.3-69.1 33.1-33.5-.3-40.7-28.5-28.7-63.7z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path d="M1251.8 2786.7c-.5-44.5-1.2-95-5.2-126.1 15.6-17.3-.8-17.7-5.9-37.1-3 11-9.6 23-3.8 31.9 2.6 47.6 5.1 95.2 5.6 142.8 3.6-2.3 7.7-3.2 9.3-11.5z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path stroke-width=".4" d="M1135.4 2784.6c-3.8-4.8-6.5-10.2-9.6-14.9-.5-6.7 4-12.9 4.6-16.3 5.1 7.9 8.1 13.9 12.2 17.8m5.4 3.1c7.5 3 16.7 3 25.2 3.2 32.8.6 67.3-4.8 63.6 39.6a66.2 66.2 0 0 1-65.2 61.9c-41.7-.4-77.3-46.4-13-131.1 6.2-1 14.3.7 21 1.3 11.5.9 23.3-.2 36.8-11-1.6-27.9-1.6-54.3-5-79.5-5.8-8.9.8-20.8 3.8-31.9 5.1 19.4 21.4 19.8 5.9 37.2 3.7 28 4.1 56.5 4.1 73.5-7.8 11.9-13.9 24.5-36.7 29.3-23.3-3.4-33.8-36-58.1-25.2 6.7-29.4 68.4-36.1 74.6-12.9-4.1 24.2-61.7 14.5-77 92.7-4.7 24.1 20.7 46.3 46.8 44.5 25.5-1.7 52.7-19.4 55.4-49.2 2.1-24.9-33-22-47.7-21.7-21.4.5-34.9-2.8-43-7.5m21.9-53.9c3.8-3.6 17.1-6.1 21.9-.3-3.6 2.4-7.1 5-10 8.1-5-2.6-8.3-5.2-11.9-7.8z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path d="M1194 2650.9a49 49 0 0 1 5.3 21c-2.2 10.4-11.1 20.1-20.3 20.4-5.7.2-12.1-1.4-16.6-10.3-.5-1.1-2.9-3.7-5.2-2.5-10.1 16.6-17.6 23.6-26.7 23.5-18.2-.3-12.8-16.5-29.6-21.5-7-.2-18.5 6.9-24.4 20.8-22.4 63.5-42.8-.2-34.1-29.8 1.3 28.3 8.1 45.1 15.1 44.6 5.1-.5 9.6-12.3 16.1-24.7 5-9.5 17-26.6 29.7-26.6 11.6.3 4.3 21.6 27.5 21.3 11.2-.2 21.5-8.8 31.9-26 2.3-.4 2.9 3.7 3.4 5.1 1.6 5.9 11.8 22.1 25.6 7.3-.7-3.2-.4-8.5-3.9-9.6z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path stroke-width=".4" d="M1266.9 2598.3c-12.3 6.1-21.3.5-26.4-4.9 8.9-1.8 15.8-5 17.8-12-4-9-13.5-12.9-26.9-13-17.9.5-27.1 7.7-28.2 17.6 8.3.3 15.8-2 19 6-14.7 7.2-32 9.8-50.8 9.7-30.8 1.6-35.3-12.3-43.4-24.5-.6-.8-3.3-2.1-4.7-1.9-9.5 0-16.5 33.2-27.2 33.1-10.7-1.4-8.3-21.4-11.4-32.8-2.6 17.9 3.3 84.5 36.4 12.2 1-2.4 2.4-1.7 3.3.3 8.9 20.2 27 27.2 46.5 28.2 16.3.9 37.1-6.2 59.4-18.8 5.9 6.5 10.6 13.9 23 15.3 14.5.7 30-9.8 33.5-22.8 1.8-6.7 2.1-19.9-5-20.1-9.9-.3-17.1 23.7-14.8 45.3.2-.3 1.3-5.4 1.3-5.4m-43.8-28.8c6.5-3 12.8-4.4 17.8 2.2a27.4 27.4 0 0 0-8.4 4c-2.8-2.2-6.6-3.3-9.4-6.2zm47.8 14.9c1.6-7.1 2.5-12.8 8.3-16.5 1.2 7.5 1.4 11.7-8.3 16.5zm39 11c-1.9-6.1-3.8-11.4-4.4-18-1.4-13.4 10.1-21 20.5-19.9 10.7 1.1 17.8 5.1 28 8.6 8 2.7 18.8 4.8 29.1 7.7 5.8 2.6 0 9.4-1.5 10.3-25.8 10.1-44.1 26.1-60.5 26.8-9.8.5-18.5-5.9-26.4-19-.5-25.4-1.4-55.2-3.9-73.9 3.8-3.8 4.6-6.6 6.4-9.7 2 24.7 2.8 50.7 3.3 76.9 2.1 4.5 4.7 8.3 9.4 10.2zm16.5 2c-13.8 3.9-12.1-7.8-13.4-15-1.5-8.4-.5-17.9 10.2-15.5 13.9 3.7 26.6 8.6 38.9 13.8z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path stroke-width=".4" d="m1314.3 2621.3 1.9 9.3h1.5l-.6-8.7" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="4" d="m1094.2 2718.5 7-7.2 8.1 6.9-7.5 6.7zm17.8-2.4 7.1-7.2 8.1 6.9-7.5 6.7zm-49.5-74.6 7.1-7.2 8.1 6.9-7.5 6.7zm3.2 21.2 7.1-7.2 8 6.9-7.5 6.7zm128.5 35.5 6.5-5.3 6 6.5-6.8 4.8zm-85.8-135.7 4.6-4.7 5.3 4.5-4.9 4.4zm11.7-1.5 4.6-4.8 5.3 4.6-4.9 4.3zm245.6 53.7-4.4 3.7-4.2-4.3 4.6-3.4z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path stroke-width=".4" d="m1158.7 2747.4-.5 7.9 12.6 1.2 10.1-7.6z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
<path d="m1265.2 2599.8 3.7-.8-.4 10.3-2.3.9z" transform="matrix(.38779 0 0 .35285 -224 -715.6)"/>
|
||||
</g>
|
||||
<path fill="#fff" d="M256 348c55 0 99.8-40.7 99.8-90.8a87.3 87.3 0 0 0-34.7-68.8 74.9 74.9 0 0 1 20.5 51.3c0 43.5-38.3 78.8-85.6 78.8s-85.6-35.3-85.6-78.8a74.8 74.8 0 0 1 20.6-51.3 87.3 87.3 0 0 0-34.8 68.8c0 50.1 44.8 90.9 99.8 90.9z" class="arab-fil2"/>
|
||||
<g fill="#fff" stroke="#000" stroke-width="8">
|
||||
<path d="M-54 1623c-88 44-198 32-291-28-4-2-6 1-2 12 10 29 18 52-12 95-13 19 2 22 24 20 112-11 222-36 275-57zm-2 52c-35 14-95 31-162 43-27 4-26 21 22 27 49 5 112-30 150-61z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M0 1579c12 0 34-5 56-8 41-7 11 56-56 56v21c68 0 139-74 124-107-21-48-79-7-124-7s-103-41-124 7c-15 33 56 107 124 107v-21c-67 0-97-63-56-56 22 3 44 8 56 8z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M54 1623c88 44 198 32 291-28 4-2 6 1 2 12-10 29-18 52 12 95 13 19-2 22-24 20-112-11-222-36-275-57zm2 52c35 14 94 31 162 43 27 4 26 21-22 27-49 5-112-30-150-61z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M3 1665c2 17 5 54 28 38 31-21 38-37 38-67 0-19-23-47-69-47s-69 28-69 47c0 30 7 46 38 67 23 16 25-21 28-38 1-6 6-4 6 0z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
</g>
|
||||
<g fill="#fff" stroke="#000" stroke-width="8">
|
||||
<path d="M-29 384c-13-74-122-79-139-91-20-13-17 0-10 20 20 52 88 73 119 79 25 4 33 6 30-8z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M4 386c11-76-97-112-110-129-15-18-17-7-10 14 13 45 60 98 88 112 23 12 30 17 32 3z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M93 430c10-91-78-105-101-134-15-18-16-8-11 13 10 46 54 100 81 117 21 13 30 18 31 4z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M66 410c-91-59-155-26-181-29-25-3-33 13 10 37 53 29 127 25 156 14 30-12 21-18 15-22zm137 40c-28-98-93-82-112-94s-21-9-17 13c8 39 75 82 108 95 12 4 27 10 21-14z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M190 467c-78-63-139-16-163-23-18-5-10 7-3 12 50 35 112 54 160 32 19-8 20-10 6-21zm169 64c1-62-127-88-154-126-16-23-30-11-22 26 12 48 100 101 148 111 29 6 28-4 28-11z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M355 542c-81-73-149-49-174-56-25-6-35 9 4 39 48 36 122 43 153 36s23-14 17-19zm145 107c-23-106-96-128-114-148-17-20-35-14-20 34 18 57 77 107 108 119 30 13 28 3 26-5z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M499 663c-59-95-136-92-160-105-23-14-39-2-8 39 36 50 110 78 144 80s28-7 24-14z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M575 776c34-108-44-148-52-166-9-18-18-18-23 1-22 77 49 152 60 167 11 14 13 7 15-2z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M559 806c-27-121-98-114-114-131-17-17-19-5-16 17 8 59 79 99 111 119 10 6 22 13 19-5zm68 142c49-114-9-191-27-208-18-16-29-23-23 0 8 35-20 125 23 191 14 22 16 43 27 17z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M601 971c11-70-29-134-72-159-25-15-26-11-26 10 2 65 63 119 81 149 17 28 16 7 17 0z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M590 1153c-36-132 39-208 62-223 22-16 36-22 26 3-15 37 1 140-56 205-18 22-25 45-32 15z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M598 1124c30-115-35-180-55-193-19-13-31-18-22 3 12 32-1 122 49 178 16 19 22 38 28 12z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M561 1070c-54 58-55 143-31 193 15 29 17 27 31 6 38-61 15-149 17-188 1-37-11-17-17-11z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M650 1162c0 80-49 145-101 165-30 11-30 8-26-16 14-90 83-123 108-152 24-28 19-5 19 3z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M464 1400c88-80 41-136 45-188 2-28-9-21-19-11-56 55-59 153-47 191 5 17 13 15 21 8z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M582 1348c-29 88-106 142-171 145-38 2-37-1-24-27 49-94 136-105 175-129 36-22 23 2 20 11z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M343 1513c114-57 91-152 112-176 15-17-3-15-12-9-67 39-121 101-122 167 0 25 2 28 22 18z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M187 1619c144 23 211-86 253-96 22-5 6-14-5-15-96-11-218 34-255 84-15 20-15 24 7 27z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M333 1448c-29 95-137 173-218 179-38 3-38-1-24-26 65-118 178-138 218-168 34-26 27 6 24 15zM29 384c13-74 122-79 139-91 20-13 17 0 10 20-20 52-88 73-119 79-25 4-33 6-30-8z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-4 386c-11-76 97-112 110-129 15-18 17-7 10 14-13 45-60 98-88 112-23 12-30 17-32 3z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-93 430c-10-91 78-105 101-134 15-18 16-8 11 13-10 46-54 100-81 117-21 13-30 18-31 4z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-66 410c91-59 155-26 181-29 25-3 33 13-10 37-53 29-127 25-156 14-30-12-21-18-15-22zm-137 40c28-98 93-82 112-94s21-9 17 13c-8 39-75 82-108 95-12 4-27 10-21-14z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-190 467c78-63 139-16 163-23 18-5 10 7 3 12-50 35-112 54-160 32-19-8-20-10-6-21zm-169 64c-1-62 127-88 154-126 16-23 30-11 22 26-12 48-100 101-148 111-29 6-28-4-28-11z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-355 542c81-73 149-49 174-56 25-6 35 9-4 39-48 36-122 43-153 36s-23-14-17-19zm-145 107c23-106 96-128 114-148 17-20 35-14 20 34-18 57-77 107-108 119-30 13-28 3-26-5z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-499 663c59-95 136-92 160-105 23-14 39-2 8 39-36 50-110 78-144 80s-28-7-24-14z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-575 776c-34-108 44-148 52-166 9-18 18-18 23 1 22 77-49 152-60 167-11 14-13 7-15-2z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-559 806c27-121 98-114 114-131 17-17 19-5 16 17-8 59-79 99-111 119-10 6-22 13-19-5zm-68 142c-49-114 9-191 27-208 18-16 29-23 23 0-8 35 20 125-23 191-14 22-16 43-27 17z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-601 971c-11-70 29-134 72-159 25-15 26-11 26 10-2 65-63 119-81 149-17 28-16 7-17 0z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-590 1153c36-132-39-208-62-223-22-16-36-22-26 3 15 37-1 140 56 205 18 22 24 45 32 15z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-598 1124c-30-115 35-180 55-193 19-13 31-18 22 3-12 32 1 122-49 178-16 19-22 38-28 12z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-561 1070c54 58 55 143 31 193-15 29-17 27-31 6-38-61-15-149-17-188-1-37 11-17 17-11z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-650 1162c0 80 49 145 101 165 30 11 30 8 26-16-14-90-83-123-108-152-24-28-19-5-19 3z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-464 1400c-88-80-41-136-45-188-2-28 9-21 19-11 56 55 59 153 47 191-5 17-13 15-21 8z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-582 1348c29 88 106 142 171 145 38 2 37-1 24-27-49-94-136-105-175-129-36-22-23 2-20 11z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-343 1513c-114-57-91-152-112-176-15-17 3-15 12-9 67 39 121 101 122 167 0 25-2 28-22 18z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-187 1619c-144 23-211-86-253-96-22-5-6-14 5-15 96-11 218 34 255 84 15 20 15 24-7 27z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
<path d="M-333 1448c29 95 137 173 218 179 38 3 38-1 24-26-65-118-178-138-218-168-34-26-27 6-24 15z" class="arab-fil2 arab-str2" transform="matrix(.25022 0 0 .22768 256 29)"/>
|
||||
</g>
|
||||
<path fill="#006233" d="M298.3 137.4c-4.8-3.1-22.3-1.3-25.5-3.4 6.2 4.8 20.2 1.4 25.5 3.4m42.3 8.2c-3.8-6.1-26-10.2-29.3-15.7 5.8 10.5 23 9.1 29.3 15.7m-3.3 7c-8.2-7.2-27.5-4.2-33.2-8.6 13.5 11.2 21 2.5 33.2 8.7zM289 120.4c5.3 2.5 11.8 5 15 10.9-3.7-4.6-10.5-6.4-16-10.2.3 0 .8-.5 1-.7m82.1 46.9c-3.3-6.9-14.8-14.4-15.8-16.9 3.3 8.9 12.8 11 15.8 16.9m3 12c-10-14.3-25.8-12.7-32-18.2 4.7 5.3 22.8 8.7 32 18.2m23.3 22.1c.7-15.2-11.8-21-12.3-29.6-.2 10.3 12.8 24.2 12.3 29.6m-6.3 8.2c-2.5-13.2-19.5-14.1-22.5-21.8 0 7.2 20 14.8 22.5 21.8m14-7.5c9 10 2.8 25.3 6.5 36.4-4.5-8.2-2.2-28.6-6.5-36.4m-14.7 42.8c13.5 13.2 8 28 13.5 34.4-6.8-9-5.8-26.2-13.5-34.4m28 1.8c-11.5 11.6-4.5 29.1-10.5 37.4 6.7-7.1 5.7-28.8 10.5-37.4m-14.5 0c-1.5-13.4-15.3-20.5-16.5-27.8-1.5 7.3 13.2 18.7 16.5 27.8m-7 32.1c2.2 9.4-6 29.4-3.5 35.5-5.5-10.7 4.7-31 3.5-35.5m17.7 21.4c-5.5 16.6-16.5 15.5-20 25.5 2.5-9.5 17-18.2 20-25.5m-35.7 7.8c-7.3 11.1-1.3 23.9-7.3 31.8 8.5-8 4-22.7 7.3-31.8m17.5 30.5c-8.8 14.8-26.8 13.4-34 24.1 7.2-13.4 29.5-15.7 34-24.1m-31.8-1.9c-15.5 9.8-10.8 20-22.5 31 14.7-11 13.5-23 22.5-31m-7.3 39.7c-15-.5-36.5 17.3-49.5 15.9 13 2.5 37-13.4 49.5-16zm-24.2-16c-1 13.9-40 22.8-44.3 32.1 4.7-12.3 39-21.4 44.3-32zm-88.4-256c-5-4-11-7.1-12.7-11 1.2 5 6.2 8.7 11.2 12 .5-.2 1-.9 1.5-1m-8.5 4c-7.7-3.4-16.7-3.2-20.7-8 2.5 4.8 11 6.7 18.2 9.2.8-.5 1.8-1 2.6-1.2zm-22.5 29.2c4.8-3.2 22.3-1.4 25.5-3.4-6.2 4.7-20.2 1.3-25.5 3.4m-42.3 8.2c3.8-6.2 26-10.3 29.3-15.7-5.8 10.4-23 9-29.3 15.7m3.3 7c8.2-7.3 27.5-4.3 33.3-8.6-13.5 11.1-21 2.5-33.3 8.6m33.3-21.4c4.7-9 18.2-10.2 21.7-15.7-5.2 8.2-16.7 9.6-21.7 15.7m38.5-8c13.8-5.9 27.3-.9 33.8-3.6-8 3.9-27 2-33.8 3.7zm-105.6 44c3.3-6.8 14.8-14.4 15.8-16.9-3.3 9-12.8 11-15.8 16.9m-3 12c10-14.3 25.8-12.7 32-18.2-4.7 5.3-22.7 8.7-32 18.3zm-23.3 22.1c-.7-15.2 11.8-21 12.3-29.6.2 10.3-12.8 24.2-12.3 29.6m6.3 8.2c2.5-13.2 19.5-14 22.5-21.8 0 7.3-20 14.8-22.5 21.8m-14-7.5c-9 10-2.8 25.3-6.5 36.4 4.5-8.1 2.2-28.6 6.5-36.4m14.7 42.8c-13.5 13.2-8 28-13.5 34.4 6.8-8.9 5.8-26.2 13.5-34.4m-28 1.9c11.5 11.6 4.5 29 10.5 37.3-6.7-7-5.7-28.7-10.5-37.3m14.5 0c1.5-13.5 15.3-20.5 16.5-27.8 1.5 7.3-13.2 18.7-16.5 27.8m7 32c-2.2 9.4 6 29.4 3.5 35.6 5.5-10.7-4.7-31-3.5-35.5zm-17.7 21.4c5.5 16.7 16.5 15.5 20 25.5-2.5-9.5-17-18.2-20-25.4zm35.8 7.8c7.2 11.2 1.2 23.9 7.2 31.9-8.5-8-4-22.8-7.2-31.9m-17.6 30.5c8.8 14.8 26.8 13.4 34 24.1-7.2-13.4-29.5-15.7-34-24.1m31.8-1.8c15.5 9.8 10.8 20 22.5 31-14.7-11-13.5-23-22.5-31m7.3 39.6c15-.5 36.5 17.3 49.5 16-13 2.4-37-13.5-49.5-16m24.3-16c1 14 40 22.8 44.2 32.2-4.7-12.3-39-21.4-44.3-32.1zm56.7-236.5c3-12.3 18-14.6 20-21.9-.7 7.8-18.5 16.4-20 22zM280 93.3c-2.2 9.3-18.5 14.6-20.7 21.6.7-9.5 17.5-15 20.7-21.6m-12.7 22c7.7-11.3 23.7-8.3 29.3-15-4 7.8-23.8 8-29.3 15" class="arab-fil0"/>
|
||||
<path fill="none" stroke="#f7c608" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.9" d="M373.2 256c0 59.2-52.7 107.1-117.7 107.1s-117.6-47.9-117.6-107c0-59.2 52.6-107 117.6-107s117.7 47.8 117.7 107z"/>
|
||||
<path fill="#f7c608" d="m232.4 363.2-.4 1.3c-.3.9-1.2 1.3-2.2 1.3-2.5-.7-5.6-1.3-8.5-2l2.7-8.3a90.2 90.2 0 0 0 8.5 1.8c1 .2 1.5 1 1.2 2l-.4 1m-20.2-5.1.4-1.3c.3-1 1.2-1.4 2.2-1.1 2.3.8 5.1 1.8 8.3 2.7l-2.7 8.3c-3-.8-5.8-1.6-8.3-2.5-1-.5-1.2-2.2-.9-3"/>
|
||||
<path fill="#006233" d="m230.8 362.5-.3.9c-.2.6-1 1-1.8.9l-7-1.8 1.9-5.9a87 87 0 0 0 7 1.6c.9.2 1.3.8 1 1.5l-.2.7m-16.8-4.3.3-1c.2-.6 1-.9 1.8-.6l6.9 2.1-2 6a105.5 105.5 0 0 1-7-2c-.6-.4-.9-1.7-.7-2.3"/>
|
||||
<path fill="#f7c608" d="m200.2 352.8-.8 1.2c-.5.7-1.5 1-2.5.6-2.1-1.2-5-2.6-7.5-4.1l5.1-7.3a85.7 85.7 0 0 0 7.6 4c.9.5 1.1 1.4.6 2.2l-.7 1m-17.8-10.2.8-1.2c.5-.7 1.6-1 2.4-.5 2 1.5 4.4 3.1 7.1 4.7l-5.1 7.3a97 97 0 0 1-7.2-4.5c-.8-.7-.4-2.4 0-3.1"/>
|
||||
<path fill="#006233" d="m198.9 351.7-.6.8c-.4.6-1.2.7-2 .4l-6.2-3.5 3.7-5.2c2.2 1.4 4.6 2.5 6.3 3.4.7.4 1 1 .5 1.6l-.5.7m-14.8-8.5.6-.8c.4-.5 1.2-.6 2-.2a95.4 95.4 0 0 0 5.9 3.8l-3.7 5.2a68.3 68.3 0 0 1-6-3.7c-.6-.5-.5-1.8-.1-2.3"/>
|
||||
<path fill="#f7c608" d="m172.6 334.6-1.2.9c-.7.6-1.8.5-2.6 0l-6-5.9 7.3-5.6c2 2.2 4.4 4.3 6 5.7.7.7.6 1.6-.1 2.2l-1 .8m-14-14.3 1.2-1a1.8 1.8 0 0 1 2.5.2 78 78 0 0 0 5.3 6.4l-7.1 5.6a98.8 98.8 0 0 1-5.6-6.1c-.4-.9.4-2.5 1.1-3"/>
|
||||
<path fill="#006233" d="m171.6 333.2-.8.6c-.5.5-1.3.3-2-.1l-5-5 5.2-4a78.2 78.2 0 0 0 5 4.8c.6.6.6 1.3 0 1.8l-.6.5m-11.6-12 .8-.5c.6-.5 1.4-.4 2 .2a76.5 76.5 0 0 0 4.4 5.2l-5.1 4a67.8 67.8 0 0 1-4.6-5c-.5-.7 0-1.9.6-2.3"/>
|
||||
<path fill="#f7c608" d="m151.7 310-1.4.6c-.9.4-2 0-2.5-.7-1-2-2.7-4.7-4-7.1l8.7-3.6c1.4 2.7 3 5.3 4.1 7 .4.9 0 1.8-.8 2.1l-1.2.5m-9-17.3 1.4-.6c1-.3 2 0 2.3.8a75.3 75.3 0 0 0 3.2 7.5l-8.6 3.6c-1.3-2.5-2.5-5-3.4-7.4-.2-1 1-2.2 2-2.6"/>
|
||||
<path fill="#006233" d="m151.2 308.4-1 .4c-.6.3-1.4 0-1.9-.6l-3.2-6 6.2-2.6a72.3 72.3 0 0 0 3.4 6c.3.6 0 1.3-.6 1.6l-.8.4m-7.4-14.4 1-.4c.6-.3 1.4 0 1.7.7.7 1.8 1.6 4 2.7 6.2l-6.2 2.5a78 78 0 0 1-2.9-6c-.1-.8.7-1.8 1.4-2"/>
|
||||
<path fill="#f7c608" d="m139.2 281.1-1.5.2a2.1 2.1 0 0 1-2.2-1.3l-1.5-7.9 9.4-1.2a68 68 0 0 0 1.7 7.8c.2 1-.4 1.7-1.4 1.8l-1.3.2m-3.2-18.9 1.5-.2c1-.1 1.8.4 2 1.4 0 2.2.2 5 .7 8l-9.4 1.1c-.4-2.7-.9-5.3-1-7.9.1-1 1.7-1.8 2.7-2"/>
|
||||
<path fill="#006233" d="m139.2 279.5-1 .1c-.7.1-1.3-.4-1.6-1.1-.3-1.9-.9-4.3-1.2-6.6l6.7-.9a68.7 68.7 0 0 0 1.4 6.6c0 .7-.3 1.3-1 1.4l-1 .2m-2.6-15.8 1-.1c.8 0 1.4.4 1.5 1.2.1 1.8.3 4.1.7 6.5l-6.8 1c-.3-2.3-.7-4.6-.8-6.6 0-.8 1.2-1.5 2-1.6"/>
|
||||
<path fill="#f7c608" d="m136.2 250.2-1.5-.2c-1-.1-1.6-1-1.7-1.9l1-7.9 9.4 1.3a69 69 0 0 0-.7 7.9c-.2.9-1 1.5-2 1.3l-1.3-.1m2.8-19 1.5.2c1 .2 1.6 1 1.4 1.8a73.3 73.3 0 0 0-1.7 7.9l-9.4-1.3a85 85 0 0 1 1.5-7.8c.4-1 2.2-1.4 3.2-1.2"/>
|
||||
<path fill="#006233" d="m136.8 248.6-1.1-.2c-.7 0-1.2-.7-1.2-1.5l.9-6.5 6.7.8a69.3 69.3 0 0 0-.7 6.7c-.1.7-.7 1.2-1.4 1.1l-1-.1m2.4-15.8 1 .2c.8 0 1.2.7 1 1.4-.4 1.9-1 4.1-1.3 6.5l-6.7-.8c.3-2.3.7-4.5 1.2-6.6.3-.7 1.6-1 2.3-1"/>
|
||||
<path fill="#f7c608" d="m142.9 219.7-1.3-.6c-1-.3-1.3-1.2-1.1-2.2 1-2 2.1-4.8 3.4-7.3l8.6 3.6a75 75 0 0 0-3.2 7.4c-.4.9-1.4 1.2-2.3.8l-1.1-.4m8.5-17.5 1.3.5c1 .4 1.3 1.3.9 2.1a77.3 77.3 0 0 0-4.1 7l-8.6-3.5a78 78 0 0 1 3.8-7.1c.7-.8 2.6-.8 3.5-.4"/>
|
||||
<path fill="#006233" d="m144 218.4-1-.5c-.7-.2-1-1-.7-1.7l2.8-6 6.2 2.5a70.7 70.7 0 0 0-2.7 6.1c-.3.7-1 1-1.7.8l-.9-.4m7.1-14.5 1 .4c.7.3.9 1 .6 1.7a76.1 76.1 0 0 0-3.4 5.9l-6.2-2.6a82.2 82.2 0 0 1 3.2-6c.5-.6 2-.6 2.6-.4"/>
|
||||
<path fill="#f7c608" d="m158.8 192.2-1.2-.9c-.7-.6-.8-1.6-.3-2.4 1.6-1.7 3.5-4.1 5.5-6.2l7.2 5.7a76.9 76.9 0 0 0-5.4 6.3 1.8 1.8 0 0 1-2.4.2l-1-.8m13.6-14.6 1.1 1c.8.5.9 1.5.2 2.2a83.6 83.6 0 0 0-6.1 5.7l-7.2-5.7 6-5.8c.8-.6 2.6 0 3.4.5"/>
|
||||
<path fill="#006233" d="m160.2 191.1-.8-.6c-.6-.4-.6-1.2-.2-1.9l4.7-5 5.1 4a76.1 76.1 0 0 0-4.5 5.2c-.5.6-1.3.7-1.9.3l-.7-.6m11.3-12.1.9.6c.5.5.5 1.2 0 1.8a85 85 0 0 0-5 4.8l-5.2-4a58 58 0 0 1 4.9-5c.6-.5 2-.1 2.5.3"/>
|
||||
<path fill="#f7c608" d="m182.5 169.9-.8-1.2c-.6-.8-.3-1.7.4-2.4l7.2-4.5 5.1 7.3a83.2 83.2 0 0 0-7 4.7 1.8 1.8 0 0 1-2.5-.5l-.7-1m17.6-10.5.8 1.2c.6.7.3 1.7-.5 2.2a83.6 83.6 0 0 0-7.7 3.9l-5.1-7.3c2.5-1.5 5-3 7.5-4.1 1-.3 2.6.7 3 1.4"/>
|
||||
<path fill="#006233" d="m184.2 169.2-.6-.8c-.4-.6-.2-1.3.4-1.8 1.8-1 4-2.5 6-3.8l3.7 5.2-5.9 3.9c-.7.4-1.5.3-1.9-.2l-.5-.7m14.6-8.8.6.9c.4.5.2 1.2-.5 1.6a88.8 88.8 0 0 0-6.4 3.3l-3.6-5.2a96.5 96.5 0 0 1 6.2-3.4c.8-.3 2 .4 2.4 1"/>
|
||||
<path fill="#f7c608" d="m212.2 154.5-.4-1.3c-.3-.9.2-1.7 1-2.2 2.5-.6 5.5-1.7 8.4-2.5l2.7 8.3a88 88 0 0 0-8.3 2.7c-1 .3-1.9-.2-2.1-1l-.4-1.1m20-5.7.5 1.3c.3 1-.2 1.8-1.2 2a94.8 94.8 0 0 0-8.5 1.8l-2.7-8.3c2.9-.7 5.8-1.5 8.5-2 1 0 2.2 1.3 2.5 2.2"/>
|
||||
<path fill="#006233" d="m214 154.3-.3-1c-.2-.6.2-1.2 1-1.5 2-.6 4.5-1.4 7-2l1.9 5.9a86.6 86.6 0 0 0-7 2.2c-.8.1-1.5-.1-1.7-.8l-.2-.7m16.7-4.7.3 1c.2.6-.3 1.2-1 1.4a98 98 0 0 0-7.2 1.6l-1.9-6a107 107 0 0 1 7-1.7c1 0 1.9.9 2 1.5"/>
|
||||
<path fill="#f7c608" d="M245.4 147.4v-1.3c0-1 .8-1.6 1.8-1.9l8.7-.2v8.7a89.5 89.5 0 0 0-8.7.4c-1 0-1.8-.7-1.8-1.6v-1.1m21-.3v1.4c0 1-.7 1.6-1.7 1.6a96 96 0 0 0-8.8-.4V144c3 0 6 0 8.8.2 1 .2 1.7 1.8 1.7 2.7"/>
|
||||
<path fill="#006233" d="M247.2 147.7v-1c0-.6.6-1.1 1.5-1.3l7.3-.1v6.1a92 92 0 0 0-7.3.4c-.9 0-1.5-.5-1.5-1.2v-.8m17.5-.2v1c0 .7-.6 1.2-1.5 1.2a87.9 87.9 0 0 0-7.2-.4v-6.1l7.2.1c.9.2 1.5 1.3 1.5 2"/>
|
||||
<path fill="#f7c608" d="m277.3 149 .4-1.4c.2-.8 1.2-1.3 2.2-1.3 2.4.6 5.6 1.2 8.5 2l-2.6 8.3a90.2 90.2 0 0 0-8.6-1.7c-1-.3-1.5-1.1-1.2-2l.4-1.1m20.3 5-.5 1.3c-.2.9-1.2 1.4-2.1 1.1a93.4 93.4 0 0 0-8.3-2.6l2.6-8.3a82 82 0 0 1 8.3 2.4c1 .4 1.2 2.2 1 3"/>
|
||||
<path fill="#006233" d="m279 149.7.2-1c.2-.6 1-1 1.8-.9 2 .6 4.6 1 7 1.7l-1.8 6a89 89 0 0 0-7.1-1.6c-.8-.2-1.3-.8-1-1.4l.2-.8m16.8 4.2-.3 1c-.2.6-1 .9-1.7.7a92.3 92.3 0 0 0-7-2.2l2-6 6.9 2c.8.4 1 1.7.8 2.3"/>
|
||||
<path fill="#f7c608" d="m309.5 159 .8-1c.6-.9 1.6-1 2.6-.8l7.5 4-5 7.4a86 86 0 0 0-7.7-3.8 1.6 1.6 0 0 1-.6-2.3l.7-1m18 10-.9 1.2a1.8 1.8 0 0 1-2.4.5 87.8 87.8 0 0 0-7.1-4.6l5-7.3c2.6 1.4 5.1 2.9 7.3 4.4.7.7.4 2.4-.1 3.2"/>
|
||||
<path fill="#006233" d="m310.9 160.2.6-.8c.4-.6 1.2-.7 2-.4 1.7 1 4.1 2.1 6.2 3.4l-3.6 5.2a84.9 84.9 0 0 0-6.4-3.3c-.7-.4-1-1-.5-1.6l.5-.7m14.8 8.3-.5.8c-.4.6-1.2.7-2 .3a86.9 86.9 0 0 0-6-3.8l3.7-5.2c2.1 1.2 4.3 2.4 6 3.6.7.6.6 1.8.2 2.4"/>
|
||||
<path fill="#f7c608" d="m337.4 177 1.1-.8c.8-.7 1.8-.6 2.7 0 1.6 1.7 4 3.7 6 5.8l-7.2 5.7a79.8 79.8 0 0 0-6.2-5.7c-.6-.7-.5-1.6.2-2.2l1-.8m14 14.2-1.1 1a1.8 1.8 0 0 1-2.5-.2c-1.4-1.9-3.3-4-5.4-6.3l7.2-5.7c2 2 3.9 4 5.5 6.1.5.8-.3 2.4-1 3"/>
|
||||
<path fill="#006233" d="m338.3 178.5.8-.7c.6-.4 1.4-.3 2 .1 1.4 1.5 3.4 3.2 5 5l-5 4a78.5 78.5 0 0 0-5.2-4.8c-.5-.5-.5-1.3 0-1.7l.7-.6m11.7 11.9-.8.6c-.6.4-1.4.3-2-.2a80.2 80.2 0 0 0-4.5-5.2l5.1-4c1.7 1.6 3.3 3.3 4.7 5 .4.6-.1 1.8-.6 2.3"/>
|
||||
<path fill="#f7c608" d="m358.5 201.5 1.4-.6c.9-.4 1.9 0 2.5.7 1 2 2.7 4.6 4 7l-8.7 3.7c-1.3-2.7-3-5.2-4.1-7-.4-.8 0-1.7.8-2.1l1.2-.5m9 17.2-1.3.6c-.9.4-1.9 0-2.3-.8a75.5 75.5 0 0 0-3.3-7.4l8.7-3.6a86.5 86.5 0 0 1 3.4 7.3c.2 1-1 2.2-2 2.6"/>
|
||||
<path fill="#006233" d="m359 203 1-.4c.6-.2 1.4 0 1.9.7.9 1.7 2.2 3.9 3.2 6l-6.1 2.5a79.4 79.4 0 0 0-3.4-5.8c-.4-.7-.2-1.4.5-1.7l.8-.4m7.6 14.4-1 .4c-.7.3-1.4 0-1.8-.7-.7-1.8-1.6-4-2.7-6.2l6.1-2.6a86.3 86.3 0 0 1 3 6c.1.9-.7 1.8-1.4 2.1"/>
|
||||
<path fill="#f7c608" d="m371.2 230.3 1.5-.2c1-.2 1.9.4 2.3 1.3l1.5 7.8-9.3 1.3a69.8 69.8 0 0 0-1.9-7.8c-.1-.9.5-1.7 1.5-1.8l1.2-.2m3.4 18.9-1.4.2c-1 .1-1.9-.4-2-1.3l-.8-8 9.3-1.3c.5 2.7 1 5.4 1.1 7.9 0 1-1.7 1.9-2.7 2"/>
|
||||
<path fill="#006233" d="m371.2 232 1-.2c.8-.1 1.4.4 1.7 1.1l1.3 6.5-6.7 1a68.8 68.8 0 0 0-1.5-6.6c-.1-.7.3-1.3 1-1.4l1-.2m2.7 15.7-1 .2c-.7.1-1.4-.4-1.5-1.2a71.7 71.7 0 0 0-.7-6.5l6.7-1c.4 2.3.8 4.5 1 6.6-.1.8-1.3 1.5-2 1.6"/>
|
||||
<path fill="#f7c608" d="m374.5 261.2 1.5.2c1 0 1.7.9 1.8 1.8-.4 2.3-.6 5.2-1 8l-9.4-1.2c.5-3 .7-6 .7-8 .1-.9 1-1.5 2-1.3l1.2.1m-2.5 19-1.5-.2c-1-.1-1.7-.9-1.5-1.8.5-2.2 1.2-4.9 1.6-7.8l9.5 1.1c-.4 2.7-.8 5.4-1.5 7.9-.3.9-2.2 1.3-3.2 1.2"/>
|
||||
<path fill="#006233" d="m374 262.8 1 .1c.8 0 1.2.7 1.3 1.5l-.8 6.6-6.8-.8c.4-2.5.6-5 .7-6.6 0-.8.7-1.3 1.4-1.2h.9m-2.2 15.9-1-.1c-.8-.1-1.2-.8-1-1.5.4-1.9.9-4 1.3-6.6l6.7.9a82 82 0 0 1-1.2 6.5c-.2.8-1.6 1.2-2.3 1"/>
|
||||
<path fill="#f7c608" d="m368.2 291.7 1.3.6c1 .3 1.3 1.2 1.1 2.2-1 2-2 4.8-3.3 7.3l-8.7-3.5a76 76 0 0 0 3.1-7.5c.4-.8 1.4-1.1 2.3-.8l1.2.5m-8.4 17.6-1.3-.6c-1-.4-1.3-1.3-1-2.1 1.3-2 2.8-4.4 4.1-7l8.7 3.4c-1.2 2.5-2.5 5-3.8 7.2-.6.8-2.5.7-3.5.3"/>
|
||||
<path fill="#006233" d="m367.1 293 1 .5c.7.3.9 1 .7 1.7l-2.8 6.1-6.2-2.5a70.7 70.7 0 0 0 2.6-6.2c.4-.6 1.1-1 1.8-.7l.8.3m-7 14.6-1-.4c-.6-.2-.8-1-.5-1.7a76 76 0 0 0 3.3-5.9l6.2 2.5a86 86 0 0 1-3.1 6c-.5.7-1.9.7-2.5.5"/>
|
||||
<path fill="#f7c608" d="m352.5 319.4 1.2.8c.8.6.8 1.6.4 2.4l-5.5 6.2-7.2-5.6c2-2.2 4-4.6 5.3-6.3.6-.7 1.6-.8 2.4-.2l1 .7m-13.5 14.7-1.1-.8c-.8-.6-.9-1.6-.2-2.3a77 77 0 0 0 6-5.8l7.3 5.6a94.1 94.1 0 0 1-5.9 6c-.8.5-2.6 0-3.4-.6"/>
|
||||
<path fill="#006233" d="m351.1 320.4.9.6c.5.5.5 1.2.1 1.9l-4.6 5.1-5.2-4c1.8-1.8 3.4-3.8 4.5-5.2.5-.6 1.3-.7 1.9-.3l.7.5m-11.2 12.3-.8-.7c-.6-.4-.6-1.1 0-1.7a82 82 0 0 0 5-4.9l5.1 4a77 77 0 0 1-4.8 5c-.7.5-2 .2-2.6-.3"/>
|
||||
<path fill="#f7c608" d="m329 341.9.8 1.1c.6.8.4 1.7-.3 2.4l-7.2 4.6-5.2-7.3a83 83 0 0 0 7-4.7 1.8 1.8 0 0 1 2.5.4l.6 1m-17.4 10.7-.8-1.2c-.6-.7-.4-1.7.5-2.2a89.9 89.9 0 0 0 7.6-4l5.2 7.3c-2.5 1.4-5 3-7.5 4.1-1 .4-2.5-.6-3-1.4"/>
|
||||
<path fill="#006233" d="m327.3 342.5.6.9c.4.5.2 1.2-.4 1.8l-6 3.7-3.7-5.1a84.6 84.6 0 0 0 5.9-4c.7-.4 1.5-.3 1.9.3l.5.7m-14.6 8.8-.5-.8c-.4-.6-.2-1.3.5-1.7a88.6 88.6 0 0 0 6.3-3.3l3.7 5.1c-2 1.3-4.2 2.5-6.2 3.5-.8.3-2-.3-2.4-.9"/>
|
||||
<path fill="#f7c608" d="m299.5 357.4.4 1.4c.3.8-.2 1.7-1 2.1l-8.4 2.6-2.7-8.3a80.4 80.4 0 0 0 8.2-2.7c1-.3 1.9.1 2.2 1l.3 1.1m-20 5.8-.4-1.3c-.3-.9.2-1.8 1.1-2 2.5-.4 5.5-1 8.6-1.9l2.7 8.3c-2.9.8-5.7 1.6-8.4 2-1 .1-2.3-1.2-2.6-2"/>
|
||||
<path fill="#006233" d="m297.7 357.7.3.9c.2.6-.2 1.2-1 1.6-2 .6-4.5 1.4-7 2l-1.9-5.8a87.7 87.7 0 0 0 6.9-2.3c.8-.2 1.5.1 1.8.7l.2.8m-16.7 4.8-.3-1c-.2-.6.3-1.2 1-1.4a87.9 87.9 0 0 0 7.1-1.6l2 5.9a106 106 0 0 1-7 1.7c-.9.1-1.8-.8-2-1.4"/>
|
||||
<path fill="#f7c608" d="M266.3 364.8v1.4c0 1-.7 1.6-1.7 1.8-2.5 0-5.7.3-8.8.3v-8.6a87.7 87.7 0 0 0 8.7-.5c1 0 1.8.6 1.8 1.5v1.2m-21 .4v-1.4c0-.9.7-1.6 1.7-1.6 2.5.2 5.5.4 8.7.4l.1 8.6a100.6 100.6 0 0 1-8.7-.1c-1-.2-1.8-1.8-1.8-2.7"/>
|
||||
<path fill="#006233" d="M264.5 364.6v1c0 .6-.6 1-1.4 1.3l-7.3.2v-6.2c2.6 0 5.3-.2 7.2-.4.9 0 1.5.5 1.5 1.1v.8m-17.5.4v-1c0-.7.6-1.2 1.4-1.2 2.1.2 4.6.3 7.3.3l.1 6.2-7.3-.1c-.8-.2-1.5-1.3-1.5-2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 26 KiB |
73
changedetectionio/static/flags/1x1/as.svg
Normal file
@@ -0,0 +1,73 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-as" viewBox="0 0 512 512">
|
||||
<path fill="#006" d="M0 0h512v512H0Z"/>
|
||||
<path fill="#bd1021" d="M0 256 512 0v512Z"/>
|
||||
<path fill="#fff" d="m41.4 256 470-228.6v457.2"/>
|
||||
<path d="M334.9 288.5c5.4.3 5.2 5.7 5.2 5.7l19.3.5c2.5-6.8 5-6 9.7-2.6a35 35 0 0 0 9.3 4.5c2-9.6 15.6-7.7 15.6-7.7 5.8-13.9 6.3-13.7 2.8-15.5a11.4 11.4 0 0 1-4.9-4.7 28 28 0 0 1-5.4-13.3c-.4-3.5-4.5 1.7-5.2.7-.7-1.2-6.8-.5-6.8-.5 1.5 1.6-3.6.6-3.6.6.5.5 0 2 0 2-.5-.7-4.4-1.4-4.4-1.4a6.5 6.5 0 0 1-1.2 1.7c-2.1-.8-6.3-.7-6.3-.7a21.4 21.4 0 0 0-11.7 3c-1.7 1-8 4-13 9-5.1 5-8 4.3-8 4.3-1.5 5.6-13.6 12.3-13.6 12.3-2 1.7-8.1 2.5-11.2 0-3.1-2.6 0-7.4 0-7.4 1.2-2 2.3-2 2.4-9.5.1-5 5.3-9.2 10.7-15 6.6-7.3 15.9-19.3 15.9-19.3 0 3.7 2 4.3 2 4.3 1.8-3.7 4.4-6.7 4.4-6.7.2.3.6.5.6.5 2-2.8 3.3-3.9 3.3-3.9-.7-.3-6.5 0-11.8 4.7-5.4 4.7-9 3.1-9 3.1-3.7-1.2-4-4-4-4-2.8-11.8 7.9-20 7.9-20-14.3-3.5-4-21.7 13.8-29.5 17.7-7.7 17.5-11.2 17.5-11.2a13.9 13.9 0 0 1 2 3.3c0-.1 1.4-2 11.7-6.6a76 76 0 0 0 15-8.5c1.4 2.6 1.2 4.4 1.2 4.4 28-9.8 55.5-32.4 55.5-32.4.8 1.9.4 4.8.4 4.8 4.6-4.3 21-14 21-14 .3 6.2-4.8 8.6-4.8 8.6a8.2 8.2 0 0 1 .8 2.5 384 384 0 0 0 15.4-10.2c4.6 4 .5 10.4.5 10.4 1.6-.2 2.7-1.6 2.7-1.6 1.3 6.8-6.3 12.8-6.3 12.8a10 10 0 0 0 3.6-1.4c-1.5 7.4-15.5 15.6-15.5 15.6 2 1.8.1 4.2-1.6 5.4-1.7 1-4.6 3.4-3.7 4.4.9 1 7.1-3.5 7.1-3.5 1 3.1-6.9 9.3-6.9 9.3 5.6.7 21-6.3 21-6.3-1.3 6-7 10.6-14.3 13.3-7.1 2.7-6.7 3.1-6.7 3.1 1.2 1 11-1.9 11-1.9-2.9 6.6-13.2 11.2-13.2 11.2 2.8 2.5 6.7-.4 10.6-3a62 62 0 0 1 15-6.9c5.7-2 9.8-.5 9.8-.5 5-1.5 9 .7 9 .7 9.2.7 10.2 4 10.2 4 1 .3 1.8.7 4.2 2.5 2.4 1.7 2.2 7.1 2.1 9.8 0 2.6-.8 2.6-1.3 3.3-.4.8-.5 1.6-.5 2.6s-2.4 7.4-16.7 7.4h-21.8c-1.2 0-2.6.7-2.6.7-6 3-2.8-2-10 3.8-7.2 6-10.9 5-10.9 5a96.2 96.2 0 0 1-13 11.2c-4.3 2.8-3.6 2.5.2 4.1s9.4 0 9.4 0c-3.6 2.5-1 3.6-1 3.6 4.6-3 7.6-1.9 7.6-1.9 1.5 4.2-4 10.8-4 10.8 2.1.2 6.1 0 6.1 0-1 2.8-4.9 5.9-7.8 6.8-3 1-2.5 1.4-1.6 3 .8 1.9.2 3.7.2 3.7-5.2-3.5-5.3-.4-5.3-.4-.6 4.1-.5 10.2-.5 10.2-3.6-1.8-3.8.6-3.8.6a23 23 0 0 1-5.4 8.1c-.1-2.3-2.3-3-2.3-3-2.3 4.5-6.6 7.2-6.6 7.2-.5 3.8.6 9.1.6 9.1-2.8-.5-3.8-.5-4.2.1-.4.7.6 1 .6 1l35.6.9c.5 0 2.6.3 2.6 4 .1 4-3 4.2-3 4.2l-39-1s.2 1.1-1.8 2.2-1.3-1.2-2 3.6c-.5 4.7-8.2-.4-8.2-.4-1.3 1.9-4.3 4.3-4.3 4.3-1.8-5.3-3.6-7-6.4-2.4-2.7 4.6 5.1 3.8 5.1 3.8l48.2-7c2.5-.2 5.1 0 6.3 3.4 1 3.5-5.6 4-5.6 4l-46.9 5.2c-1 2.7-4.9 2.6-4.9 2.6.4 2.6-2.4 4.3-3.8 5.2-1.5 1-6 .6-6 .6-5.4 3.7-8 .8-8 .8-3.6 1.5-5.8.8-8.7-.4-3-1.3-2.7-4.8-2.7-4.8l-29.6 3a7.2 7.2 0 0 0-2.3 1.5c1 1.3-2.2 4.4-2.2 4.4 1 .6 2.6 2.3 2.9 6 .2 4-4.8 4.6-2.3 7.4 2.4 2.7 7.1.4 12.3-2 5-2.5 10-2.2 12.2-2.2 2.2 0 8.3 1.6 12.1 3 3.8 1.2 5.1.4 5.4-1.5.2-2 2-2.5 2-2.5-.5 1.9.5 2.8.5 2.8 1.5 0 4-1.4 4-1.4-.2 1.5-2.1 2.4-2.1 2.4-3.7 2.4 1.4 1.5 1.4 1.5a50.3 50.3 0 0 1 16.5-1.6 130.7 130.7 0 0 1 15.2 5.6c.4-1.3.2-4.4.2-4.4a9 9 0 0 1 4.4 2.8c1.3-1.3.5-3.6.5-3.6 10.2 5.8-2.2 8.4-5.5 9.6-3.3 1-3.3 2.4-3.3 2.4 2.8-.8 4.7-1.2 7-1.4 2.2-.1 1.4 0 6.9-1 5.5-1.2 8.3 1.2 8.3 1.2-4.6.2-6 1.6-6 1.6 3 1.9.2 3.6.2 3.6-4.1-5.2-7.7.2-7.7.2a16.3 16.3 0 0 1 6.8 1.4c.9.6 3 1.7 5.7 3 3.8 1.6 3 .6 6 1.6 3 1.2 1.8 4 1.8 4a7.3 7.3 0 0 0-4-3.2c-.2 3.1-3.3 3.7-3.3 3.7 3.9-4.2-4.4-6.1-8.3-6-3.8 0-6.7 2.5-6.7 2.5 7.8 7.4 13.2 5 13.2 5-1 2.6-7.4 1.5-7.4 1.5 3 2.3 2.6 3.9 2.6 3.9-1.6-1.6-4.1-.8-9.8-4.4-5.5-3.6-10.5-2.4-10.5-2.4 5.5 5.7-2 9.2-2 9.2-2.8 1.7 1.2 3.7 1.2 3.7-3.5.7-4-2.8-4-2.8-1.8-.4-4.4 1.8-4.4 1.8.2-3.5 4.9-1.7 5-5.4.1-3.7-4.3-6.6-17.5-4.8-13.2 1.9-17-2.4-17-2.4-1.2 0-1.3 1.2-1.3 1.2 2 2.1 3 3 2.7 4.4-.4 1.5.7 2 .7 2-2.5-.2-2.6-3-2.6-3 0 1.2-.5 1.2-1.3 2.5s0 2.8 0 2.8c-1.1-.9-3-2-1.2-4.5 1.3-2-2.8-4.5-2.8-4.5-1.7-1.7-6-.1-6-.1-9 1.7-14.2-4-14.2-4-1 0-3-.5-3-.5-9.5 4.2-17.9-5-17.9-5-7.1 1.4-10.4-2-12.5-5.5a12.3 12.3 0 0 0-5.6-5.4c-2.8-1.6-5.5-6.6-2.8-9.2 2.2-2.3 1.6-2.8 1.6-2.8-3.8-6.3 6.5-8.2 6.8-9.8.2-2.1 2.4-3.5 4.7-3.7 2.4-.1 2.4 0 4-1.4 1.4-1.7 4.3.3 4.3.3.7-.4 5.8-4.4 10.3-2.4 4.6 2 8.4.7 8.4.7 3.2-.7 29.9-4.3 29.9-4.3 1.6-2.7 3-5.8 10.3-7.4s12.8-6.4 12.8-6.4c-1.3-1.4-3.5-1.3-4.6-1.4-1.1-.1-3.4-2.2-3.4-2.2-1.4.7-2 .4-11.7 6.3-8.7 5.2-9-5.2-9-5.2h-18.7c-.3 4-3.3 5.6-3.3 5.6l-7 .3c-3.7-2-3.7-8.8-3.7-8.8a65.2 65.2 0 0 0-32.2 7.7c-23.4-11.9-41.7-14.7-41.7-14.7 28.4-3 43.5-11 43.5-11a67.5 67.5 0 0 0 30.4 9.7c.5-5.7 4.4-7.1 4.4-7.1z"/>
|
||||
<path fill="#ffc221" d="M301 335.7c-5.9 3.4-4.8 5.3-4.3 6.4.5 1 .6 2.1-1 3.8-1.7 1.6-1.5 2.2-1.5 2.2.3 5.7 4.3 7 6 8.4 1.5 1.1 3.9 4.9 3.9 4.9a9.3 9.3 0 0 0 8.7 4.4c2.4 0 2.2-.2 1-1.3l-3.6-3a18.8 18.8 0 0 1 6.2 4.5c6 6.6 11.6 5.7 14 5.4 2.5-.3 2.1-1.8 2.1-1.8-.1-.2-2.4-.4-2.4-.4-9.2-.8-11.9-6.8-11.9-6.8a25.7 25.7 0 0 0 16.7 6.4c2.6-.1 2.4.7 1.9.8-.6.1-1.3 0-2.6-.1-1.2 0-1.2.2-1 .8.4.4 1.5.5 3 .4 1.4 0 .2.2 4 3 3.8 3 13 .6 13 .6-6-1.5-6.8-4.3-6.8-4.3-8.2 1-11.5-3.9-11.5-3.9a34.7 34.7 0 0 0-5.9-3.7c-4.6-2-5.3-6.2-5.3-6.2 1.3 2 3.8 4 7 5 3.3.8 4.1 1.2 4.1 1.2a4 4 0 0 1-2.4-.2c-3.2-1-1.4.3-1.4.3 3.6 2.9 4.5 2.6 4.5 2.6 9.3 1 4.7-2.7 4.7-2.7 6.5 1.6 7.7-.9 7.7-.9 1.4 3 6.4 1.8 6.4 1.8-6.7 3.3-1.7 2.3-1.7 2.3 6.8-1.2 8.2.5 8.2.5 1.7 1.7 3.6 1.5 3.6 1.5s1.2 0 3.7.5c2.6.5 6.6 2.7 10.3 2.3 3.6-.5 4.3.6 4.3.6-.8-.2-2.4-.5-5.2.8-2.9 1.3-7.9 1.7-15.2 0s-7.8-1.4-7.8-1.4a10 10 0 0 1 3.6 4.3c.3 1.2 1.6 1.3 1.6 1.3.5-1.6 2.6-2.3 2.6-2.3 1.5 1.3 5.4 3 5.4 3 .4-.8 0-1.4 0-1.4 2.7 2.7 6 1.9 6 1.9.8-.6.6-2.2.6-2.2 1.1 0 1.3.7 2 1.3 1 .4 3.4.1 3.4.1-1-.4-1.7-1.8-1.7-1.8 3.8-2.5 11.7-1.5 11.7-1.5 5.7 1.1 5 4.9 5 4.9a11 11 0 0 1 2.8 2.3c.5-1.4 0-2.7 0-2.7 2.7 1.2 3.2 4.3 3.2 4.3 3-3.5-2.9-7.4-2.9-7.4 2.9-.4 6-.1 8 .1a14.7 14.7 0 0 1 7 3.3 19 19 0 0 0 6.2 2.7c0-.8-2.2-2.1-2.7-2.4-.5-.2-.7-1-.7-1 2 .4 3.3.2 3.3.2a47.2 47.2 0 0 1-8.7-6.2c2.6.3 4.1-1.3 4.1-1.3-5.5 0-5.7-1.3-5.7-1.3.7.1 3.2.8 6.5.1s7.8 0 7.8 0c-2.4-3.8-11.5-3.1-14.5-3-3 .2-4-.2-4-.2.4-.2 1-.7 3.2-.8 2.3 0 4.6.3 7.2-1.6 2.5-1.7 6.1-1.1 6.1-1.1-.8-1.8-5-2.4-8.6 0-3.6 2.2-7 1.6-7 1.6 5.8-.8 7.4-2.9 7.4-2.9-1.6-.5-2.6.1-6 .8-3.5.7-4.4-.5-4.4-.5 3.7-2.2 6.4-3.1 6.4-3.1-3.2-.8-6.2-2.2-6.2-2.2-3.3 3.2-6 5-12.4 1.7-6.4-3.5-9.8-3-9.8-3a15 15 0 0 1 15.7.6c4.2 2.5 5.5.5 5.5.5-1.4-.8-1.2-1.6-1.2-1.6 10.2 5.2 14.7 2 17 .5 2.2-1.6-1.1-3.6-1.1-3.6-.2 3.2-4.4 4.9-7.7 3.7-3.3-1.1-6.3-2.5-11-4.6-4.8-2-10.6-.9-16.2.3-5.6 1.1-6.2.6-6.8.2-.5-.5-.7-1.8-3.6-.7-2.8 1.2-9.4-1.9-13.5-2.9a25 25 0 0 0-16.5 2.7c-5.8 3.3-8.7 2.5-10.4 1.7-1.7-.8-2.9-3-1-5s2-2.4 1.9-5.2c-.2-2.8-3-4.5-3-4.5 2.6-2.6 3.2-3.3 2.3-4.4-.8-1.1.5-1.1 2-1.8 1.5-.6.8-.7.5-1.6-.4-.8-1.2-.6-1.2-.6-3.4.1-5.3-.9-5.3-.9-5.5-2.5-10.8 2.5-10.8 2.5-3.1-2.5-3.9-.8-4.5-.3-.4.6-1.6 1-3 1.2-1.4.1-3.5.6-4.1 2 0 0-.7 1 0 2 0 0 .9 1.4-.6 3-1.6 1.6-2.2 1.9-1.6 3.4.4 1.5.3 2.7-.4 3.6 0 0-.7-.8-.5-1.8.2-1 .2-1.7 0-2.2 0 0-1.6 1.5-1.8 2.6 0 0-.7-1.7 1.6-4 2.2-2.2 3.3-3.3 2.6-4.2-.5-.7-2.1.4-2.5.7z"/>
|
||||
<path d="M307.5 360.6s-2.8-2.2-2.5-5.2c.3-3 .3-3.2 0-4 0 0-.6.3-.5 1.5l-.2 2.4s-1.5-2.4-2.2-2.9c0 0 .6-2.6-.2-3.7s-1.6-1.2-2.5-.8c-1.4.4-2.3 1.6 2 5.2 0 0 1.6 1.3 2.7 4 1.1 2.9 3 3.3 3.3 3.5zm14-8.3s-.3-1.6 1.3-4.6a6.5 6.5 0 0 0 .2-6c-.3-.8-.5-.5 1-1.8 2-1.6-.7-3.6 2.5-6.4 0 0 2-1.7 2.4-2.4 0 0-3.2 1.7-5.4 2.6-2.2.9-10.3 4.9-8.5 7.6 1.8 2.7 1.6 2.8 1.3 4 0 0-5-2.6-3.1-6.8 0 0 .7-1.6 2.7-3.6 2-1.7.9.4 4.6-1.8 0 0 3-1.8 4.6-4.1 0 0-2 1.2-2.7 1.4 0 0-4.4.8-6.2 2.6-1.7 2-5.5 5.1-4.3 8.7 0 0-4.3-.5-5.3-5 0 0-8.1 9.9 9 14.6 0 0 3 .9 5.9 1"/>
|
||||
<path fill="#ffc221" d="M396.2 318.9c6.4-.9 43.2-6.5 46.6-6.9 3.6-.3 5-.8 6.2 2.2 1.4 3.2-5 3.3-5 3.3l-44 5c-2 .2-2.5-.6-2.5-.6l-1.7-2.2s-.5-.6.4-.8"/>
|
||||
<path fill="#5a3719" d="M306.4 339s-4.8 9.9 13.9 12.3c0 0 0-1 .8-2.7.8-1.5 2.4-4.7.8-6.7-1.5-2 1.3-1 1.6-3.7.5-2.6-.2-2.3 1.1-4 0 0-5.8 2.1-8 4.7-2.3 2.6 3 4.5 0 7.4 0 0-2.8-1-4.3-3.9 0 0-3.6.1-6-3.5z"/>
|
||||
<path d="M324.7 351.2s4.6 4 10 3.8c5.5-.2 7.9-1.6 9.3-3.8 0 0 1 1.6 1 2.7 0 0 4.8-3.9 13-.4s5.6 2.4 7.4 2.7c0 0-3.5-.6-11.4 3-8.2 3.7-29.6 2.4-29.4-8z"/>
|
||||
<path fill="#5a3719" d="M317 333.5s2 .4 4-2c0 0-2.7.6-4 2m-15.7 18.6s-3.8-3-1.4-3.6c0 0 1.8-.4 1.4 3.6"/>
|
||||
<path d="M385.1 371s2.2-3.7 8-3.7c6 0 6.6 2.8 14 3.3 0 0-8.9 2.5-15.1.3a8.9 8.9 0 0 0-6.9.1"/>
|
||||
<path fill="#5a3719" d="M326.6 353.9s9 5.3 16.8-.5c0 0 .6.6 1.2 2 0 0 6-5.7 16.6.5 0 0-1.3-.2-6.3 2-6.5 2.8-22.9 4.7-28.3-4.1z"/>
|
||||
<path d="M360.8 359.3s8.5 1 15.6.5c4.4-.2 9.2-1 6.9.4-2.5 1.5-1.3 1.7 8.9.8 10-1-.1 1.9 6.8 2.8 0 0-16.9 8.6-38.2-4.5"/>
|
||||
<path fill="#5a3719" d="M383 353.9s5-1.8 9.7.3c4.5 2.2 3.8 2.4 6.9 2.7 0 0-2.1 3-7.2.6a31 31 0 0 0-9.4-3.6m5.6 15.2s4.9-2.4 10.3.1c.6.4 2 1 3.5 1.3 0 0-4.1 1.3-8.4 0a30 30 0 0 0-5.4-1.4m-24.2-8.7s11 1 16.8-.2c0 0-6.8 3.3 10.4 1.8 0 0 3.7-.4 3.3.2-.5.6-.8 1 1.1 1.6 0 0-12.7 5.8-31.6-3.4"/>
|
||||
<path d="M310 351.2s.1.8 2.5 1.9c2.5 1 3.8 3 4.3 4a6 6 0 0 0 3.7 3.1s-8.6 1.8-12.3-2.7c0 0-3-3.1 1.7-6.3"/>
|
||||
<path fill="#5a3719" d="M377.2 370.9s-3.3-.3-8-1.8c-4.6-1.7-5.8-.3-8.4-2.2-2.6-2-7.9-.8-8.8-.6-1 0-3.8 0-.4-2.3 0 0-2.7 0-3.8-1.5 0 0-1.2 1.3-6 .8 0 0 2.2 3.3-6.3 2.3a11 11 0 0 0 11.8 3.3s-.6 2.6 3.3 3.6c4 1 4.7 1.7 6.8 2.5 0 0 .2-1.6-5-5.4 0 0 2.8-.1 6.8.9s13.1 3.2 18 .4m2.1 3.9s.9 2 3.5 1.5c2.5-.5 6.7-1.2 10.8.9 0 0 .8-3.5-7.5-3.7 0 0-5.1.2-6.8 1.3m-69.6-22.4s-3.2 2.6-.3 5.3c2.6 2.5 6.7 2.3 8.7 2.2 0 0-1.3-.6-2.2-2.2-1.1-1.5-1.1-2.6-3.3-3.6-2.2-1-2.5-1.2-2.9-1.7m-3.2-13.5s-4.9 10 13.9 12.4c0 0 0-1 .8-2.7.6-1.5 2.3-4.7.8-6.7-1.6-2 1.2-1 1.6-3.7.4-2.6-.3-2.3 1-4 0 0-5.8 2.1-8 4.7-2.3 2.6 3 4.5 0 7.4 0 0-2.8-1-4.3-3.8 0 0-3.6 0-6-3.6z"/>
|
||||
<path d="M355.4 362s4-.7 13.9 3c10 3.7 14.1 2.8 15.6 2.8 0 0-5.6 2.9-14.3-1-7.7-3.4-8.2-2-15.2-4.8"/>
|
||||
<path fill="#ffc221" d="M417.8 359.8s2.2-.1 3.6.4c0 0 .8-.7 3-1 0 0-1.4-1.2-6.6.6m-6.8-5.6s2.2 0 3-1.2c0 0-1.3-1.4-3-2.2 0 0 .4 1.7 0 3.4m-76.5-25.4s-.5-1.2 2-1.5l33.3-4.8s1.6 0 1.9 1c.2 1.3-.2 2.1-7.7 3-7.5.8-27.3 3.3-27.3 3.3s-2 .4-2.2-1"/>
|
||||
<path fill="#ffc221" d="M364.7 327.4s0 4.4 4.5 5c4.3.7 5.8-.2 7-2.5.3-.6 1.6-5.2-.3-5.5a7 7 0 0 0-3.1.3c-1.5.7-2.9 1.4-2.5 2.1 1.2 1.7 1.4 2 1 2.2-1.1.3-1.9-.7-2.1-1.4-.2-.8.6-1.3-2.3-.8-1.2.1-2.2.1-2.2.6"/>
|
||||
<path fill="#ffc221" d="M383.3 324c2.2.3 2 5.1-.6 7.3-3 2.4-5.7 1.5-5.7 1.5-1.6-.6-1.3-.4-.2-2.1 1-1.7 1.6-3.9 1-5.4-.2-.5.3-1 1-1 0 0 2.2-.5 4.5-.3"/>
|
||||
<path fill="#ffc221" d="M385.3 324.5s1.6 2-.4 5.8c0 0-1 1.1 1.1 1 2-.2 6.6-2.3 6-5.1 0 0 0-.7-1.3-.7-1.2.1-.2-.6.3-.8.5 0 2-.7-2-3.3 0 0-.6-.5-1.4-.3-.6.3-2.7 1-2.7 2.4 0 .5.4 1 .4 1"/>
|
||||
<path fill="#ffc221" d="M389.6 321s3.3 2.3 3.2 3c0 .6-.3 1.6.6 1.4.8 0 4.2-.8 3.3-3-1-2.3-2-3-3.5-3.7-1.6-.5-2 .2-3.4 1.3 0 0-1 .6-.2 1m-17.1 3.2s.5-1.6-2.4-2.3c0 0 1.2-1 3.7-.5 2.3.5 2.1 2.2 2.1 2.3 0 0-1.9 0-3.4.5m6.2-.4s3.2-.6 4.7-.4c0 0-1.6-3.6-6-2.5 0 0 1.6 2 1.3 2.9m5.6-.8s0-1.2 2.8-2.3c0 0-1.3-1.3-3.3-1.1-2.1 0-2.6.8-2.6.8s2.5.9 3.1 2.5zm1-4s1.9.6 3 1.5c0 0 1.6-1.8 3-2.2 0 0-2.7-1.4-6 .8z"/>
|
||||
<path fill="#5a3719" d="M294 310.3s7.7-6.5 12-5.7c4.3.8 2.2.3 6.8-.5 4.8-.7 9.6-1.2 11.6-1 0 0-5.8-4-15.9-4 0 0-7.1 2.5-12 5.8 0 0-9.6-5.3-19.4-2.2 0 0 10.7 4 17 7.6z"/>
|
||||
<path fill="#ffc221" d="m375.6 321.6 1.3-.2s2.1 2.6.6 2.6c-1.3 0-.9-.3-1-1a2.5 2.5 0 0 0-1-1.4zm-9.7.2s-.8 1 .7.8c1.8-.3 1.5 0 3.3-1.3 0 0 1.3-1.3 3.5-.5 0 0 1.8.6 3.3-.1 1.6-.8 1.9-.7 2.7-.7.8.1.8.3 1.8-.5 1.2-.8 3-.2 4.2-1.2 1.2-1 2.7-.1 0-2 0 0-.6-.6-.5-1 0 0 1 .3 1.9 1 .8.7 2 .5 2.3.3 0 0 .2-2.4 2.5-4.6 2.4-2.2 2.4-2.3 1-2.3s-3.7-.6-4.5 0-7.7 5.1-11.8 5.9c-4 .8-7.7 2-10.4 6.2m-108-25s12.5 3.2 15.2 4.5c0 0 .7-2-5-3.6 0 0 13.8-.4 28.2 6.2 0 0 7-6 29.6-4.2 0 0 0-2 .2-3.5 0 0-15.8-.5-30.3-9.3 0 0-13.1 6.4-37.9 10zm69 6c-.7-12.7 4-13.9 4-13.9s2.4.1 4.8.5c0 0-3.8 4.6-2.8 13.7 0 0 .4 1.4-2.8 1.4S327 303 327 303z"/>
|
||||
<path fill="#5a3719" d="M330.3 311.2s-2.4-2.4-2.6-5.2c0 0 0-.7 2.3-.7 2.4.1 2.7-.1 3.3 1.3.5 1.3 2 4.1 2.4 4.5z"/>
|
||||
<path fill="#ffc221" d="M335.4 304.9a30.2 30.2 0 0 1-.3-4.9c.2-7 1.3-6.4 1.8-5.5h2.5s-1.8-8-4-3.3a20.3 20.3 0 0 0-1.6 11.2c.2 2.1.4 3.4.7 4.2z"/>
|
||||
<path fill="#5a3719" d="M362.8 304.9s4.6.8-2.5 2.4c0 0 .3 8.7 8.7 2.6 0 0 5.1-3.2 8.5-4.5 0 0 1.8-.5 1.6-1.9 0 0 .2-1.6-1.6-1.2 0 0-1.5 0-2.5-.3 0 0-1-1.2-1.6-.8-.7.5-2.3.2-1 1.8 1.2 1.4 1.6 1 2.2.6.6-.4 3.3-1.4.8.8s-4.4-1.3-5.2-2zm-23.5 1h-2s-1.2 1.6-2-1l-.7 1.7s2.4 9.3 4.7-.7"/>
|
||||
<path fill="#ffc221" d="M336.4 295.1s-1.1 6.2.3 9.8l22.5.5s-.3-4.3 0-10.3H356s-.5 5 0 8h-.6s-.4-4.2 0-8h-2.6s-.4 4.6-.1 8h-.5s-.4-4 0-8h-2.5s-.5 4.1 0 8h-.7s-.5-4.1 0-8h-2.9s-.6 3.9 0 8h-.5s-.7-3.9 0-8h-2.9s-.6 4.4 0 8h-.6s-.4-4.2.1-8h-2.7s-.7 3.7 0 8h-.7s-.4-3.2.2-8zm23.7 11.1s-.5-11 1.5-13.8c2.1-2.8 2.6-2.3 6.2 0s8.2 4.8 9 5c.7.3 1.8.6 1.8 2.6s.3 2.6-2.8 0c-.4-.3-1.9-1.6-3-2-2.7-.8.7.6 1.7 2.1.8 1.2 1.6 1-.6 1.6a233.6 233.6 0 0 0-13.8 4.5"/>
|
||||
<path d="M368 298.3s-1.7-2 .5-2.4c2-.5 2.2 3.2 2.6 5.4.3 2.3-2.6-2.2-3-2.9zm-3 9.7s-2.4.9-.8 1.6c1.6.8 6-2.9 4.5-2.6-1.6.2-3.7 1-3.7 1m3.3-3.4s2.1-.2 1.6.7c-.3 1-1.1.4-1.4.1-.4-.1-1.8-.7-.2-.8"/>
|
||||
<path fill="#ffc221" d="M379.7 301.7s.5 4.2 4.1 5.3c0 0 2.2.5 1.7-1.3l-.6-2.2c-.3-.7-1.8-1.1-2-1.2-.1 0-.3-.5.7-.1 1 .3 1.1.4 1-.4 0-.7-.6-.4-1.5-.8-.3-.2 0-.5.4-.4.4 0 1.3.4 1.3-1 0 0 .2-.9-.9-.9-1.2 0-1.1-.6-.8-.7.4 0 1.6.8 2-.7.4-1.4-1.7-.5-1.4-1.3.3-.8 1.8.4 1.8-.5.2-.8 1.4-1.2-.7-1.5-.9-.1 0-.6 1-.4 1.2.1 1.9-1.2 2.5-1.7.8-.5 4.5-2.7-.6-2-5 .7-6.5 3.2-6.7 3.7a13.9 13.9 0 0 0-1.3 8.1"/>
|
||||
<path fill="#ffc221" d="M391.4 305c.7-.1 1.3 0 1.5.4.8 1.7-1 1.2-2.1 2.4s-1.2 1-2.6.6c-1.5-.5-2-2.7-2-2.7-.2-.8.4-.8 1.1-.7 0 0 2.5.3 4.1 0m-5.4-.9s0 .4 1 .5c.7 0 3.2.3 4.8-.2 0 0 .4 0 .2-1 0 0 0-.7-1.3-.4-1.4.2-3.3 0-4-.1-.6-.2-1 0-.7 1.1zm-.2-3s0 1.2 1.2 1.4h3.7c.6 0 1.5-.3 1.6-1 0-.9.3-1.4-1.4-1s-3.6.1-3.8 0c-.2 0-1.3-.3-1.3.5zm.6-2.8s-.4.7-.3 1.2c0 .6 1 .9 2.7.9 1.7 0 3.3-.3 3.4-.9.1-.6.5-1.3-.8-1a12 12 0 0 1-3.8 0c-.7-.3-1.2-.4-1.2-.2"/>
|
||||
<path fill="#5a3719" d="M450.2 305.1s0 1.1.9 2.4l-48.2-1.4s.6-.4.8-2.3z"/>
|
||||
<path fill="#ffc221" d="M386.8 296.4s-.4 1.2.4 1.4c.8.3 2.3.5 4.3.2 0 0 1 0 1.3-1 .4-1 .3-.5-2.4-1 0 0-.9-.3 1.6-.3 0 0 1.5 0 1.6-.2.3-.2 2.2-1.8-.3-1.6-2.4 0-1.2-.5 0-.5 1.3 0 1.6.3 2 0s0-.2-.6-.9-.2-.5.3 0c.5.3.8.4 1.3 0 .6-.6-.4-1.3 0-1.2.4 0 .7.9 2.2.2 1.7-.9 3.8-.5 4.4 0 .5.4 2.2 1 3.2 0s-1.2-2-.3-2c1-.2 1.6.2 2-.6.4-.8-1.5-1.4.3-2 1.7-.4.2-5.3-.3-5.7 0 0-2 1.1-4.1 4.5-2.2 3.5-3.5 5.6-6.4 4.5-4-1.6-6.3.7-7 1-1 .7 2.2 1 .3 1-1.8 0-1.8.2-2 .5-.1.2 0 .5.4.6.3 0 1 .6-.1.6-1.2 0-2-.2-1.6 1 0 0 0 .2.6.3.7 0 1 .8-.3.8-.8 0-.8.3-.8.4m4.4 12s-.8.6.3.7c1.2 0 1.8.3 2.2-.3s2-.4 1-1.3c-1.2-.9-1.9-.4-3.5 1z"/>
|
||||
<path fill="#ffc221" d="M396.2 293.9s4-3.8 7.3-1.2l3.8 3s.4.3-.5 1.1c-1 .9 0 .9 1 .3 1-.5 1 0 1.5.6.5.5 1.2.8-.4.8H404s-2.2.2-1-.8c1-.9.8-2 .3-2-.6 0 0 .6-.4 1s-1.1.8-2 .8-1.4.6-.2 1c1.3.5-.1.8-.8.8s-3.7.2-.6.6c3.2.4-.3.3 2 1.6 2.7 1.5.8 4.6-.2 4.9 0 0-1 .6.3.4 1.4-.2 2.1-.3 1.1.4-.9.8-2.8 3.1-5.4 1.3 0 0-1.3-.5.9-.7 2.2 0-1.8-.6-2.5-1-.6-.4-3-3-1.5-2.7 1.6.3 1-.6 0-.9-.9-.3-1-1.7 0-1.5 1 .4 2.2 1 3.1.9.9 0 .6-.4-1.2-.9-1.8-.6-2.5-.7-2.1-2.2.4-1.5 2.4.6 2-.5-.5-1.2-2.3-.6-1.4-2s1.2-.9 1.6-.7c.4.1 1 0 0-.8-.9-.6 0-1.4.2-1.6"/>
|
||||
<path d="M399 295s0-.5.8-.4c.7 0 .5-.3.7-.5.2 0 2 .6.3 1.2-.6.2-1.6 0-1.7-.3z"/>
|
||||
<path fill="#ffc221" d="M403 299.2s-1.4.7-.2 2.1c1 1.3 1 1.7 1 2.5-.1.8 46.4 1.3 46.4 1.3s-.1-3 1.8-4.7z"/>
|
||||
<path fill="#5a3719" d="M450.9 304.3s.2-2.6 1.6-3.4c.8-.5 1.8-.2 2.2 1.8.7 2.9-1.8 5.4-2.9 4.3-1-1-.8-2.7-.8-2.7z"/>
|
||||
<path fill="#7b3c20" d="M397.6 315.1s3.1-2.7 3.6-3.8c0 0 8.4 6 7.9.5 0 0 0-1.5.2-2.9 0 0 3 .4 3.5-2l-7.8-.3s-.8-.2-2 1.1-3.7 2.7-6 1.5c0 0-1-.8-2-.1-1 .7-1 .8-.2 1.6s2.5 3.1 2.8 4.4m18-16.4-4.6-.1s-1.6-2.4-4.9-5c0 0-1-.4.8-1.9 2-1.5 2.5-3 2.5-3.8 0-.6 0-1.8.7-1 .6.9 5.3 5.2 6 4 .7-1.3.9-1.9.9-2.3.2-.4.3-1.6 1-.3.7 1.2 1.1.9 1.2 4 0 0 0 3.3.6 4.4 0 0-6-1.9-4.1 2zm-19.8-9.8s3.5 2 5.2-.6c1.6-2.6 2.8-3 1.5-5.7-1.3-2.4 0-3.6 1-4.7 1-1 1.9-.8 2-5 .1-4 3-5.3 4.2-6.6 1.3-1.2 4.4-3.1-.4-4-4.7-.7-14.3-3.2-16.7-6.9-2.5-3.7-3.6-1.5-3.6-1.4 0 .2-.8 2.9 1.6 7.8s4.5 8 7 9.6c2.3 1.7 4.4 2.5 3.2 5.8s-3.2 9.1-5 11.8z"/>
|
||||
<path fill="#5a3719" d="M408.7 278.5s.5 8.5 6.7 11.5c0 0 1.4-3.3.8-6.6 0 0 2 .2 2.6 1.1 0 0 0-2.4-2.8-3.3-3-.9-1.5-6.4-.5-7 1-.6.7-1.8 0-2.8-.7-1-.8-2.4 1.6-1.8 2.4.6 2-.6.5-1.8-1.4-1.2-1.3-2.7.7-2.7s5.5-2 3.4-2.6c-2-.6-2.7-1.3 0-2 2.9-1 4.3-1.9 2.2-2.1-2.2-.3-3.6-1-1.5-1.3 2-.4-.3-2.5-2.7-2.6-2.5-.1-7.5.8-3.5-2.4s-5.7-.8-1.7-3c4-2-1.4-1.2-2.2-1.2-.7 0-.7 0-.4-1 .3-1.1-.5-1.7-1.8-1-1.1.7-1.1.7-1-.8 0-1.5-1.4-.4-2.3 0-1 .4-3.1 2-4.1 1.2-.8-1-1.3-1.9-4-.3-2.9 1.7-2.2.3-2.1-.5 0-.8 1-3.6-2.7-.5s-.8-3.3-3.7-1.2c-3 2.2-3.3 2.6-3.8 1.7-.4-1-1-1.8-4.3.3-3.3 2-.8-1.3-.4-2 .5-.8 1.9-5.5-1-1.8 0 0-1.4 2.6-4.5-2 0 0-3.2 4.6-4.1 2.5-.9-2-1.7-2.2-2.8-.9-1 1.3-.3 0-.7-1.2-.5-1-.8-3.1-6.3.8-5.4 4.1 2 1.2-2.2 3s-14.3 7.5-5.1 6.2c9.3-1.3-4.5 3.6-1.3 4.5 3.2.9 2.2 3.7 14.3.4 12-3.3 10-.5 16.2-3.2 6.2-2.6-1.4.9 6.8.8 8.3-.3 1.4 0 3 1.6 1.7 1.7 8.6 5.7 15 6.5 6.6.6 8.2-1.8 6.4 1-2 2.8-2.6 3.9-3.7 5-1 .8-4.2 3.1-4.3 7 0 3.9-5 4.5-3.2 8.9z"/>
|
||||
<path fill="#5a3719" d="M419.4 288s-1.5-1.1-1.5-3c0 0 1 .2 1.5.8 0 0 3.7-4.2-.9-5.7-4.4-1.6-2.2-5.6-.6-5.6 1.5 0 1.8-.4.5-2.2-1.3-1.6-1.2-1.8 1.4-2.2 2.4-.4 2.2-1 1-1.6a8.2 8.2 0 0 1-2-1.6s7.2-3.1 4.9-4.6c-2.4-1.4 0-1 2-2.5 2.2-1.5 2.5-1.8 2.7-2.4 0 0-2 .2-3.6 0 0 0 1.8-1 0-2.5s-2.4-2.7-5.4-2c-2.8.6-1.8-.3-.8-1.5 1.2-1.2.7-1.9-1.4-2.2 0 0 .3-1.2 1.8-2.7 0 0-3.9.3-5.2-.4 0 0 1.6-1 1.6-2.4 0 0-2 .8-4.8.5 0 0 1.7-1.4 1.7-2.6 0 0-4.8 1-7 2.7 0 0-.4 0-.7-.6-.4-.4-.7-1-5.9.6 0 0 .6-2.3 1.9-3.3 1.2-.8 1-2.6-7 2.4 0 0-1.1-.6-2-3 0 0-1.8 2.4-3.1 3.2 0 0-1.2.5-1-1 .2-1.7-.8-.6-1.6 0-.8.3-1.4 1.5-1-1.7s-1.2-3.9-1.2-3.9-2.4 3.6-3.9 4c0 0-2.6-2.6-3.6-4.3-.9-1.6-.9-2.3-1.8.7-1 3-2 3.2-2 3.2s-1.7-1.4-1.9-2.2c0 0-.2.9-.8 1.2 0 0-1.4-1.7-1.3-4 0 0-8.7 4.8-9.8 7.7 0 0-8.2-.5-11.5.1 0 0 .8-2.6 3-4 0 0-2.2-.2-2.3-2.4 0 0 1.7.2 2.8 0 1-.3-1.5-3.4 1.2-3.5 2.7 0 4.4 1.3 3.3-2.3-1.3-3.6-.8-3.6-.8-3.6s4.8 2.8 5.5 2c.8-.6-.6-2 3.6-1.4 4.2.8 3-1.6 4.7-1.8 1.6 0 2.4 1 1.4-6.5s5.1 3.7 1-7.7c0 0-1-3.5-3.6-5 0 0-.6 2.5-3.3.4-2.9-2.3-8.4-3-6-4.8 2.3-1.8 3.4-4 2.7-5.5 0 0-2.8 2.8-7.5.8-3.8-1.7-4.6 1.3-8.4.5 0 0 0-1 3.2-3.6 3.3-2.6-1.8.8-3.8 1.3-2 .5-2.6 0 1.6-3.3 4.3-3.3 12.8-9 11.6-13.9 0 0 2 2.6 7.3.7 5.2-1.8 9.2-2.5 10.7-5.3 1.6-2.6 5.7-5.3 6.8-6 1.1-.6 2.5-1 .9 1.6-1.7 2.6-4.3 7-11.5 10-7.3 3-10 5.1-11.4 6.8-1.3 1.5-8 5-3.6 4.5 4.3-.7 11.7 0 8.2-1-3.4-1-7.4.6-4.2-2.3s3.8-3.8 8.4-5.8c4.7-2 9.8-6.4 9.3-1.6-.5 4.6-9.2 9.7-11.3 11.2-2.1 1.6-1.3 1.4-1.3 2 0 .6-.3 1.9-1.2 2.4-.9.6-.6 1.3-.4 2.6.3 1.4-.2 1.9.4 2.1.7.2 1.3.3 1.5 1.2.3 1 .7 1.1 2 1 1.2-.1 2 0 2 .8.2.7 1.4 1.7 1.5-.5.1-2.3 1-2.7-1.3-1.7-2.3 1-2.8.7-2.7-.4 0-1-.3-.8-1.2-.9-1 0-1.3-1.4.4-2.3 1.7-.9 1.7 0 3.8-1.8 2.1-1.8 2.1-2.2 2.5-3 .3-.9-3 2.4-4.7 3.1-1.6.8-1.1-.5-.8-2.3.2-1.8 4.2-4.3 6-4.3 1.9 0 6 1 4.3 3.6-1.8 2.5-6.9 5.5-4.8 5.7 2.2.2 2.6-.6 3.9.4 1.2 1.2 0 3.5-.5 4.7a9 9 0 0 1-2.4 3s-2.3-4.2-2.2-.9c0 3.3-.5 4.4 0 4.5.5.2 3 1.9 3.8 1.9s-4.4 2.4-2.2 2.6c2.2.2 5.8-1 7-3.3 0 0-4.6-1-6.3-2.7 0 0 5.1-1.2 3.7-6.2 0 0 5.2 1.4 3 3.8-2.3 2.3-3.7 2-1.7 2.6 2 .6 2.8 1.2 2.8 1.2s1.4.7.6 1.7c-.8 1.2-.8 2.8 0 2.7.5 0 2.7-1 1-2-2-1.2 2-1 .3-2-1.6-1-2.1-1.1-2.5-1.6-.5-.4 21-13 10.1-8.3 0 0 2.3-5 5.5-5 3 0 3.3 2.5 1.6 4.5-1.9 1.9-3 4.9-7.2 5.5 0 0 6 3-1.1 7.8 0 0-1.6.7-1 1.2.6.6 4.8-1.8 5.4-3.2a5.9 5.9 0 0 1 3.1-3.2c1.6-.8 9.6-6.2 12-10.3 2.4-4 3-4.1 7.6-7.9s3.9-3 4.5-3.9c.6-.9.8-2.4 3-3.6 2-1.2 10.4-5.8 13-7.7 2.6-1.9 8-5.4 10.2-8.3 2.3-2.9 8.5-6.6 10-6 1.6.8 0 3-3.7 5.7s-12.6 10-14.1 11.2a47.7 47.7 0 0 1-12 7c-2.8.4-2.5 1.4-4.2 3.3s-5.7 5.7-7 6.7c-1.3 1.2-4.5 3.3-4.7 4.9-.1 1.5.6 1.7-2 4a50.5 50.5 0 0 1-12.7 8.7s4.8 1.6 2 4.9c-2.9 3.2-2.7 2.7-2.9 3 0 0 7.2-1.2 2.2 4.5 0 0-1.1 1.7 1.2 0 2.4-2 1.4-4.4 1.1-4.7 0 0 3.9-2.5 8.4-2.5 4.4 0 4.2-.4.2-1.5 0 0 2.9-3.5 5.2-1.7 2.5 1.6 1.7 2.7-.8 4-2.6 1.4-6.3 1.8-9 3.4 0 0 5.2 1 8-1.1 2.8-2.2 3-1.1 3.3-.7.4.4.7 1-.5 2.9-1.3 1.8-1.4 1.8-1.3 2.2 0 .5-.2 1.7-2.7 2-2.4.5-3.7 1.6-2.8 2.8.8 1.2.8 4.1-1.3 3.9-2.1-.3-1.6-2-2.4-2.7-.8-.6-2-1.6-5.8.3-3.8 2-4-.4-3.9-1.7 0 0-2.4 2.2-4.5.3-2-2-.2-2.8 1-3.8s6-3.1 3.1-2.7c-3 .3-7.2.5-8.1-1.6-1.1-2.3 2-2 2.6-1.8.5.1 2.4 1.8 2.6-.3 0-2.3 3.2-2.5 2.1-3-1-.3-2.6 1-3 1.6 0 0-2.2-3.1-5.8-2.2-3.6 1.1 1.1.7 2 .9 1 .1.4 2-2.8 4.9-3.2 2.8-1.8 2 .6 2 2.5 0 8.3 0 5 2.7-3.5 2.9-4.9 4.2-6.6 3.8-1.8-.5.1-1.7 1-2.3.8-.4 1.2-1.3-.5-.6-1.7.6-2.2.7-3.6-1.6-1.3-2.5-.8-1.7-.2-3.3.6-1.6 1.9-3.2.3-2.6-1.6.6-1.4.6-1.3-1.2.1-1.8-1.8-2.2-1.8-2.2s.9 1.8.1 3c-.6 1.1-.7 1.5.4 1.8 1.2.3 2.2 1.3.7 2.3-1.6 1-1.3.9-.4 1.5 1 .7 2.4 1.4.9 2.9-1.5 1.4-.3 1 .5 1s2.4.6 2.4 2c0 1.5 0 1.8 2.4.5 2.4-1.4 7.2-1.2 7.2.6-.1 2-.7 2.5 2 .8 2.5-1.6 3.6 1.5 5.4 0 1.7-1.5 2.9-3 5-.4 2 2.6 1.3 3.3-1.2 5.2-2.4 1.8 1.3.4 3.1-.6s7.2-1.6 10.3-.2c3 1.3 3.9 1 6 0 2.4-.8 3.5-1 6.9 1.2a13 13 0 0 0 7.8 2.6s-3.7 1.5-8 1.7c-4.2.4-6.4 1-7.2 1.7 0 0 2.5 1.7 3 3.5 0 0 2.8-.4 4.1.1 0 0-.6 2 1 3.1 1.8 1.1 3 1.5 1.7 3s2 .8.1 2.8c-1.8 2.2-2.3 3.1-2.4 4.9 0 1.6.4 1.8-1.2 2-1.6.2.3 2-.5 4.3-.7 2-5.3 1.8-5.1 7.7 0 0 1.3-2.8 4-5.4 2.7-2.4 2.8-2.7 2.7-4.2 0-1.5-.1-1.2 1.4-2.3 1.3-1.2-.7-2.2.8-3.9 1.4-1.6.1-1.3 1.9-2.9 1.6-1.6-1.6-1.8.2-3.5 1.6-1.6-4.3-3.7-2.5-4.7 1.7-1.1 4.6-2.7-5.3-2.5 0 0 2.4-4 10.7-3.1 0 0-2 1.6-2.3 3.1l1.6.7s-.4 1.1-2 2.4c0 0 4.5 2.5 5.2 4 0 0-2.7.8-3.4 2 0 0 1.2 1.4 1.6 3 0 0-3-.3-3.4 2-.4 2.2-1.3.7-1.3 2s0 1.9-1 2.1c-1 .2-.2 1.3 0 2 .1.8.5 2.5.4 3 0 0-1.6 0-2.3.2 0 0 .5 3.3-1.3 3.7-1.8.5 1 1.2-1 1.5-1.9.3-1.6.5-4 4.7 0 0 2-1.1 4-2.5 2.2-1.4 0-1 3.4-4.3 3.4-3.5 2.8-3.7 2.5-5.4-.3-1.7-.3-3.1.9-4.8 1.3-1.6 1.6-3.5 6.1-3.2 0 0-1.3-3-3-3.7 0 0 2.2-1.5 4.4-1.6 0 0-2-2.5-6-4.7 0 0 3.3-2.9 4.1-4.2 0 0-1.5.3-2.8 0 0 0 .6-1.3 3.6-3.3 0 0 1.7 1.5 1.5 3.1 0 0 5.2-2.9 8-2.5 0 0 1.5 3.6-5.6 10.5 0 0 4.4.4 6.3.2 0 0-1 3.3-6.4 5.3-5.3 2 1.1 4.4-4.3 4-5.4-.4-3.8 1.4-3.6 4.1.1 2.8.3 5.7.2 6.4 0 0-4.3-1.4-4.2 2.8 0 4.2-2.3 5.1-2.7 5.5 0 0-1.3-1-3.2-1.8 0 0-2.7 5.1-7 8.1z"/>
|
||||
<path fill="#7b3c20" d="M413.2 235.2s1.4-.2 4 1.4c2.4 1.6 4.9-1.7 2.2-2.5-2.9-.8 0-1.9 2.4.2 2.6 2 3.6 1 4.5.3 1-.7 2-1.2.3-2.3-1.7-1.2 1.2-.6 2.5.3 1.3.8.8 1.6.6 1.8-.2.3-.3 3 2.2.5 2.6-2.6 3.9-5.1 3.8-6.4 0 0 1.4.9 1.6 2.5.2 1.6 2.2-.8 2.8-1.7.7-.8 1.7-3.1 1.6-4.8 0 0 1.7 2.7 4.3 0 2.5-2.6 1.5-1 4.5-1.8a18.8 18.8 0 0 0 9-5.5c2.1-2.6 2.3-.8 5-1.5s8.1-4.4 8.6-6.5c.5-2 .4-3.3-.3-2.5-.8.6-.5 0-1.6-.6-1.3-.8-3 .9-3 .9s1.7 1.3.4 1.9c-1.3.5-2.4 2.4-5 1.6-2.4-.7-5 2.4-5 2.4s2.2 1.7-.8 2.8c-2.8 1.2-2.4 1.5-4.1.3 0 0-3.1 3.9-5 4.7 0 0-.7 0-1.2-.8 0 0-2 2.3-3 2.7 0 0-1.4-1.2-2.5-1.6 0 0-2.5 3-4.5 4 0 0-.6-1.2-1.9-2 0 0-.6 4-4.9 6.3 0 0 .3-1-1.9-2.5 0 0-5.3 4.6-7.3 5.1-2.1.4-.3-1 0-1.6.3-.6 1.6-2.5-1-3.3s-2 .6-2.6.8c-.6.3-.6-.5-2.4-.2-1.6.2-1.4 1-2.1 1.3-.8.2-3.8-.5-3.6 1.4.2 2 1.6 3.4-1 4.5-2.7 1.2 1 1 4.4.4"/>
|
||||
<path fill="#5a3719" d="M423.9 229.7s.6-2.6-1.6-3.8c0 0 14-2.2 3.4-7.6 0 0 12.7-2.5 9.7-6.5s-6-3.3-6.3-3.1c-.4 0 2.7-2.4 3.5-2 .8.3 11 4.1 8.3.8-2.5-3.3-2.3-3.1-2.7-4.1 0 0 3.3 0 8.4 4.9 0 0 1-1 1-3.1 0 0 3.5 1 4.7 2.1 0 0 .6-1.2.3-2 0 0 3.2 1.7 4.3 3.5 0 0 1.4-1.2 1.6-2.7 0 0 3.1 1.3 4 2.3 0 0 1-1.4.6-3.3 0 0 5.1 1.5 5.9-1.6 0 0 5.1 1 1.8 3-4.4 2.7-.5-.6-5 2.5-3.4 2.5-5.3 5.3-7 4.7-1.2-.5-2.7 3-4.3 1.4-1.6-1.8-1.6-1-2.9.8a26.1 26.1 0 0 1-3 3.7s-.8-.5-1.6-1.3c0 0-1 1.7-2.2 3 0 0-1-1.4-2.7-2.2 0 0-2.6 3-4.1 4 0 0-1.6-1.5-3.1-2 0 0-.3 4-3.4 6 0 0-.6-1.2-2.7-2 0 0-1.5 2.4-4.9 4.5z"/>
|
||||
<path fill="#5a3719" d="M416.5 223.5s-1.7 1.3-.6 2.7c1.1 1.4 1.2-.3 2.6-.3 1.4-.2 18.6-3.2 3-7.8 0 0 .6-.7 3.3-.8 2.7-.4 12.5-3 8-6.5-4.6-3.4-8.5 1.2-4.6-3 3-3.3.6-4.9.6-4.9l-11 7.2c-2 1-5 3.3-1.5 4.3 3.4 1 5.7-3.7 6-2.6.3 1-6.9 5-5.8 6.9 1 1.8.8 3.4 2.5 3 1.8-.3 6.6.9 2.7.8-3.9-.2-5.2 1-5.2 1"/>
|
||||
<path d="M422.7 214.8s-1.6 1.2.5.6 6.3-1.5 5.6-2.5c-.9-1.2-3.6.1-6 2z"/>
|
||||
<path fill="#7b3c20" d="M450.4 196.9s8-.3 11.3 2c3.3 2.2 4.9 3.7 5.9 4 0 0-.2 3-5.3.8 0 0 .3 1.5-.3 3 0 0-1.9-1.4-4-1.8 0 0-.5 1.1-1.1 1.8 0 0-2.3-2.3-5-3l-.8 1.6s-2.8-1.7-5-1.7c0 0 .5 1.7 0 2.5 0 0-5.7-4.7-10.9-4.1 0 0 2.5 3.7 4.1 5.5 0 0-10.5-.8-8.7-6.5 1.7-5.6-.1-4.2 6.7-4.1z"/>
|
||||
<path fill="#5a3719" d="M401.3 212.5s-1.2 1 0 1.8 5.3-2.2 5.9-2.6c.6-.5 2-.4 0 1.2s-4 3.2-5.5 4.9c0 0 7-2 11.5-5.8 4.5-4-.2-1.4 7.5-5.1 7.7-3.8 11.7-9.7 7.6-9-4.1.6-7.9 5.3-11.1 7.1-3.2 1.8-5 2-4.5 1s2.8-.7 7.3-4.2c4.4-3.6 3.4-3.2 3.4-4.5 0-1.3-1.6-4.4 5-7.9 6.7-3.5 27.4-15.5 29.2-19.8 0 0-6 .7-14 6.6a74.3 74.3 0 0 1-14.4 9.4c-2.2.8-2 .2-3.3 2a183.2 183.2 0 0 1-10.8 10.4c-1.4 1-1.9 1.8-2 4 0 1.1-9 8-11.7 10.5z"/>
|
||||
<path fill="#5a3719" d="M428.7 196.7s-1.7.6-3.1 0c-1.5-.8-1-4 2.6-5.9a53.3 53.3 0 0 1 13.4-5.1s-.5 4-10.8 7.6c0 0 .7 2-2.1 3.4"/>
|
||||
<path fill="#aa5323" d="M432.3 194s.3 1 0 1.9c0 0 19 1.8 29-9.8 0 0-13.6 1.3-19 4.5 0 0 3.5-4.2 13.6-7.7s14.3-8 15.2-10.3c0 0-13 4.5-19 4.5 0 0-1.2 0-2.4.6-1.2.7-9.3 6.6-11.5 7.6 0 0 4.6-.4 6.2-1.8 0 0-3.2 8.5-12.1 10.5"/>
|
||||
<path fill="#5a3719" d="M395.7 204.9s-2.5 1.8-1.5 2.6c1 .9 2.8 1 6.5-2 3.8-3.3 12.9-11 7.1-11.3 0 0-7.3-.5-7 4 .2 4.5-4.8 6.4-5.1 6.7m-17-2.7s4.9 2.9 3 5.2c0 0 14.9-12.6 10.6-15.4-4-2.7-7.3 2.5-6.3 3s3.1-.4 2.4.5a82.5 82.5 0 0 1-9.7 6.7m-3.9-4s3.3 1 3.5 2.4c0 1.3 9.8-6.9 7.2-10.4-1.2-1.5-6.5-2.2-6.8 1-.3 3 4.9-.4 3 1.8-2.2 3-6.1 4.7-6.9 5.2m34.8-6.9s-2 1.5-.1 2.4c1.9.9 3-.5 4-1.3.9-.9 5.5-4.3 6.5-6.4 1.2-2.2 2.7-2.9 4.4-4 1.7-1 13.5-7 20.8-13.5 7.3-6.5 4.2-4.8 11.7-9s12.5-8 14.1-12.6c0 0-3.5 1.2-6.5 3.2-3.1 2-10 6.3-11.5 7-1.4.5-3.2.6-4.3 1.7-1 1.1-1 2.4-4.6 5.4-3.7 3-22.4 16.2-24.7 18.1a357 357 0 0 0-9.8 9"/>
|
||||
<path fill="#aa5323" d="M394.6 195.7s2-1.1 5.9-.8c3.8.2 19-14.6 23.4-17.5a364.4 364.4 0 0 0 20-14.7c2-1.9 2.3-3.8 3.9-4.9 1.6-1 3.1-.9 6.8-3 3.7-2.1 21.6-12.8 20.6-19 0 0-26.7 15.9-32.8 21.1a400 400 0 0 1-26.3 18.9c-3 2-5.4 5.2-10.5 9.4-5.1 4-10.2 7.6-11 10.5"/>
|
||||
<path fill="#aa5323" d="M389 190s4.9-.5 5.6 2c0 0 10.5-7.3 13-10.3 2.4-3-.9-1.3 5.1-5.2a634 634 0 0 0 28.9-20.4c2.8-2.5 8.3-5.8 12.6-8.8 4.4-2.9 21.3-11.2 19.4-18l-15.2 10.1c-2.8 1.9-4 .8-6.8 3-3 2.3-9.2 6.7-10.3 8.2a172 172 0 0 1-15.3 11.8c-4.7 3-15 9.1-20.1 13.5a643 643 0 0 1-17 14z"/>
|
||||
<path fill="#aa5323" d="M373.7 188.6s2.4 0 3.3 1c0 0 4.5-4.1 9.4 0 0 0 18-12.3 19.8-15.3 1.8-3 4.8-3.1 11.7-8.2 7-5.1 11.4-7.3 16-10.8 4.7-3.7 8.7-7.8 12-10 3.3-2.1 11.8-7.7 10.4-12.4 0 0-6.9 3.8-11.3 8.7-4.5 5-4 .8-8.6 4.8A88.2 88.2 0 0 1 419 159c-5.8 2.9-2.3 2.6-6.6 5.3-4.1 2.7-3.8 2.3-5.4 2.7a10.6 10.6 0 0 0-5.4 3.2 53.6 53.6 0 0 1-10.3 6.9 113.6 113.6 0 0 0-17.7 11.6z"/>
|
||||
<path fill="#aa5323" d="M379 179.3s-.9-2 .8-3.5c1.7-1.4 5-5.2 5.4-7.5.5-2.5.1-2 5-4.1a200.7 200.7 0 0 0 40.8-23c2-1.6 7-5 8.9-6.6 0 0 .9 2.6-1.3 4.5a237 237 0 0 1-23 15.8c-2.3 1.3-8 4.2-10.1 6-2 1.6-1.7 2.1-10.9 6.6-9.1 4.4-9.5 5-9.3 5.3.3.4 4.4-1.4 6.4-2.6 2-1.1 9.4-4.6 11.7-6.4 2.2-1.8 6-4.5 7.6-5.4 1.6-.8 15-9 19-11.9 3.8-2.8 4.9-3.7 5.7-3.2.8.4 2.2.4.5 2s-7.2 6.6-9.3 8c-2.1 1.3-8.7 5.2-10.5 6.1-1.8 1-2.5 2.7-3.6 3.5-1 .8-4 2.8-7.6 3.6s-4.2 3.6-6.6 5.2c-2.4 1.5-19.3 10.6-19.8 11 0 0 1-1 .3-3.4z"/>
|
||||
<path fill="#aa5323" d="M437.5 141.3s-.9.8-.4 1.3c.6.7 3 2.3 6-.6a113.6 113.6 0 0 1 13.4-10.8c2.4-1.5 3.7-2.9 3.6-5 0 0-12.1 6.5-22.6 15.1m16.7-1s1.8-3.2 6.4-6.1c4.6-3 11.5-7.2 12.3-8.2 0 0 1.6 1.8-1.9 4.1a332.5 332.5 0 0 0-11.4 7.5 15 15 0 0 1-5.4 2.6z"/>
|
||||
<path fill="#7b3c20" d="M361.4 174s-5 2.7-3.2 4.4c1.8 1.6 4.5 1.1 5.7.6 1-.4 3.2-1 3.5-1 .3-.1 4.7-1.4 5.9-3.5 1-2 4-4.4 6.4-6 2.4-1.7 3.3-3.5 2.9-4.7 0 0-20 9.4-21.2 10.2m-30.2 23.4s3.6-2.1 8.5-.8c0 0-.2-1.1-1-1.8 0 0 6-1.5 7.3-4.2 1.3-2.7 1.6-2 2.7-2.8 1.2-.8 9.2-7.3 8.3-8.7-1-1.4-1.1-3.2-1.8-3.9 0 0-1.6 2.3-9.5 6-7.8 3.9-16.5 6.7-22.9 15.2-6.3 8.6-5.6 13.5 2.1 15.7 0 0 5.4-3.4 18.7-2.3 13.3 1.3 17.8 6.2 18.7 7.1.8 1 3.5 4.2.9 9.8 0 0 2.7 1.1 2.8-1.4.3-2.6.4-2 1-1.7.7.5 1.4.5 1-1.4-.2-2-1-6.3-2.4-7.8-1.1-1.5.3-.8 1-.6.8.4 3.6 2.7 2-1.6-1.7-4-2.2-2-2.3-1.9 0 .3-.3 1.3-4-1.4a28.6 28.6 0 0 0-9.4-4.8c-2.4-.6-.7-.6.8-1.1 1.5-.6 3.3-.8 4-2.5 0 0-1.4.4-4-.6a14 14 0 0 0-12.3 2.2s1.3-5-2.6-4.7c-4 .3-6.6.2-10.8 3.5 0 0-.2-5 3.7-7.6 4-2.6 3.4-1 5.6-1.7 2.2-.6 2.4-2.8 1.4-3.6 0 0 5.2 1 13.8-6.2 0 0-4.7 6-10.3 7.3 0 0-.9 3.3-6 4-5 .6-4.9 3.6-4.9 4.3z"/>
|
||||
<path fill="#5a3719" d="M316.6 227s2.4-15.1 16.6-16.2c12.2-1 16.2.6 18.6 1.4s8.5 2.5 6.1 4.5c-2.3 1.9-3.6 1.6-3.6 1.6s2.6-3 .2-3.6c-2.5-.4-2.6 1-3 2.2-.4 1.4-.4 2.8-1.7 3.8 0 0-1.2-1.4-3-.2s-.2 1.3.5 1.1c.7-.2 1.6-.6 1.4.6-.2 1-1.1 3-4 4.5-3 1.4-2.9 1.4-6.3 2-3.5.5-6.7 1.9-11.1 5.6-4.5 3.9-9.3 2.6-10.3-1.6-.8-3.7-.4-5.7-.4-5.7"/>
|
||||
<path d="M332.7 226.4s1.3-3-1-4.3c0 0-7.4 1.3-9.7-.9 0 0 8-.5 13-2.5 5-1.8 3.6-3.2 1.9-3.6-1.8-.3-5 .5-5.3 2 0 0-1-1.5.3-2.7 1.3-1.1 3.2-1.3 5-.8 1.8.5 3.3 1.3 9.1-1.7 0 0 3.4.8 3.5 3 0 2.3-.2 3.2-.6 3.5-.2.4-.6 1-1.3 1-.7 0-1.7-.2-2.5 1.3-.8 1.6-1.4 3-2.9 4 0 0 1.7-4.9-2.6-6 0 0-3.5 2-6.2 2.2 0 0 3.5 3.2-.8 5.5z"/>
|
||||
<path fill="#5a3719" d="M340.4 217.4s-1.6-1.7.5-2c2.2 0 5 1.5 4.4 2.9-.5 1.3-3 1.2-4.9-.9"/>
|
||||
<path fill="#fff" d="M461.4 193.7s-4 1.1-.3 3.6c3.6 2.4 5.4 4.5 8 5.1 2.7.7 5.4 1.6 5.4 4.3 0 2.6-.6 3.7-2 5.5-1.5 1.9.8 2.6 2.7 1.6l4.8-2.3c1.2-.8 3.3-.7 1.5.3-2 1-4 1.6-1.5 1.6 2.4.1 17.3.4 20.4-.6 3.1-1 7.2-1.3 7.5-5.3 0 0 .2-1.8 1.3-2.6 1.2-.8 2-2.5.3-1.4-1.7 1.3-3 1.8-3.3 1.5-.3-.4-.5-.6.8-1.2 1.2-.6 1.9 0 3-1.6 1.2-1.8 1.1-1.5.5-2.2-.6-.6-2-1-1.3-1.8.7-.9 1.3-3.3-1.4-2-2.7 1.5-8.1 5.2-10.7 5.8-2.4.6-4.3 1.3-7.6 2a30 30 0 0 0-9 3.4c-3.6 2-3.3-1.2-2.7-1.6 0 0 1.4 2.5 5-.7 3.6-3.1 2.4-.2 11.3-3.1 8.8-2.9 6.7-3.4 10.1-5.1 3.6-1.8 6.8-2 4.4-4.4-2.5-2.4-2.7-2.6-5.8 0a36.8 36.8 0 0 1-17 7s20-8.6 18-9.8a22.1 22.1 0 0 0-5.7-2.7c-1.4-.4-1.8-.7-5 .8-3.2 1.4-3.7 1.7-4.6 1.8-1 0-3.7.6-7.5 2.6s-5.8 2.8-8.5 4.3c0 0 1.8-3.6 9.8-6 7.8-2.3 11.8-4.4 11-4.8s-2.9-.9-4.3-.5c-1.5.2-1-.2-6 1.8-4.7 1.8-2.7 1.4-6.5 2.3-4 .8-5.5 1.6-7.4 2.4 0 0 .8-1 3.4-2 1.4-.4-1.5-1 2.3-1.1h1a34.3 34.3 0 0 0 9.2-3.4c-.8-.2-5.4-.7-10.2 1.6-4.7 2.1-2.6 1.4-4.2 1.6-1.6.4-5.2 2.6-6.4 3.6-1.2 1-2.8 1.7-2.8 1.7"/>
|
||||
<path fill="#5a3719" d="M344.1 215.3s1.9.6 2.4 1.9c.5 1.3 1.6-.6 1.6-1.2 0-.5-1.2-3.2-3.2-2-2 1.2-1 1.2-.8 1.3"/>
|
||||
<path fill="#7b3c20" d="M339 241.1s3.9-1.8 7.3-1.6c0 0-1.4-4.7 1-4 2.3.9 1.6.6 2.1.6 0 0 .2-3.1-.5-4.4 0 0 2.5.6 4.9.6 0 0-2.3-4.4.2-7.5a7.4 7.4 0 0 0 4.5 3.7v-2.6s1.8-.2 3.3.5c1.4.8 2.6-8-1.7-10 0 0-1 1.7-5 2.5s-4 1.6-5.6 4.7-3 3-6.5 5.2a17.8 17.8 0 0 0-5.5 7s1.7 2 1.5 5.3"/>
|
||||
<path fill="#999" d="M472.5 189.7c1.4-.2-1.5-1 2.3-1.1h1a34.3 34.3 0 0 0 9.2-3.4c-.8-.2-5.4-.7-10.2 1.5s-2.6 1.5-4.2 1.8a22 22 0 0 0-6.4 3.5c-1.2 1-2.8 1.7-2.8 1.7s-4 1.1-.3 3.6c3.6 2.4 5.4 4.5 8 5.1 2.7.7 5.4 1.6 5.4 4.3a7.4 7.4 0 0 1-2 5.5c-1.5 1.9.8 2.6 2.7 1.6l4.8-2.3c1.2-.8 3.3-.7 1.4.3-2 1-3.9 1.6-1.4 1.6 2.4.1 17.3.4 20.4-.6 3.1-1 7.2-1.3 7.5-5.3 0 0 .2-1.8 1.3-2.6 1.2-.8 2-2.5.3-1.4-1.7 1.3-3 1.8-3.3 1.5-.3-.4-.5-.6.8-1.2 1.2-.6 1.9 0 3-1.6 1.2-1.8 1.1-1.5.5-2.2-.4-.3-.9-.5-1.1-.9 0 0-1-.8-2-.1a29.4 29.4 0 0 1-7.4 2.8c-1.8.2-3.8 1-7 2.6s-8.8 5-9.7 1.8l-2.8 1.2c-3.7 1.9-3.4-.8-2.7-1.6 0 0-2 2.2-1.9.3 0-2 1.3-1.7 3.5-2.3 2.1-.7 5.5-2 4.1-3.2-1.4-1.1-2.9 1.2-4.4 1.9-1.6.7-4.7 1.3-5.2-1-.5-2.2-.5-3.8-4.6-4-4.2-.2-4.1-2.9-3-4 1.3-1.1 2.2-3 6.2-3.8"/>
|
||||
<path d="M485.9 210s6.5-2.9 12.5-4.3 1.3.2.3.5-10.4 3.4-12.6 4.5c-2.2 1-1.8.1-.2-.5zm1.4 1.5s7.4-2.5 8.8-1.5c1.4 1 .2.6-1.4.8-1.6.2-6 1-7.2 1-1.2 0-.2-.3-.2-.3m11.9-2.6s1.4-.3 1.5.3c.1.5-.6.6-1.4.5-.8-.2-1.4-.6-.1-.8"/>
|
||||
<path fill="#fff" d="M305 273s-.3-6.5 3-9.8 19-19.7 21.4-24.3c0 0 2 1.4 2.1 4 0 0 2.7-4.5 4.8-6.3 0 0 1.9 2 1.6 5.8 0 0 3.8-2 9.7-2 0 0-2.3 2.4-2.3 4 0 0 8.1-1 12.5-.2 0 0-11.3 6.2-8.2 6.8 3.3.6 6.5 0 6.5 0s-3.6 3.6-9.3 4.3c0 0 7.3 0 8.8 1.6 0 0-7.1 1-12.8 5.4 0 0-.6-.3-.6-1.9 0 0-.2 1.5-1.8 2.9-1.7 1.3-5.5 4.2-7 5.7-1.4 1.4-4 4.3-7 4.2 0 0 .6-2.3-1.5-3a6 6 0 0 0-6.3 1.6s-7.6.2-10.1.5c0 0 1.7-2.7 3.3-2.7 1.6 0 8 1 8.6-3.4.5-4.3-4.1-3.2-2.4-5.7 1.8-2.6 1.4-2.5 1.5-2.8 0 0-1.5.8-2.3 3.1a11.4 11.4 0 0 1-4.5 6.4 16 16 0 0 0-5.2 5.3s-1.4.2-2.6.5z"/>
|
||||
<path fill="#fff" d="M312.3 269s.2-.7 2.4-1.2c2.3-.4 2.5-1.4 2.1-2-.3-.3-1.6-.3.5-2.9 0 0 .8.3 1.3.9.6.6 3 5.8-6.3 5.3z"/>
|
||||
<path fill="#999" d="M307 264.5c0 4.3 5.7 2.7 5.7 2.7a22.9 22.9 0 0 0-4.1 3.7c.4-2-3.2-2.6-3.2-2.6a13 13 0 0 1 1.6-3.8m20.6-23 1.8-2.6s2 1.4 2.1 4c0 0 2.7-4.5 4.8-6.3 0 0 1.9 2 1.6 5.8 0 0 3.8-2 9.7-2 0 0-2.3 2.4-2.3 4 0 0 8.1-1 12.5-.2 0 0-11.3 6.2-8.2 6.8 3.3.6 6.5 0 6.5 0s-3.6 3.6-9.3 4.3c0 0 7.3 0 8.8 1.6 0 0-2.2.3-5 1.3 0 0-2-2-8.1-1.6 0 0 4.7-2.7 8.5-3.6 0 0-1.6-2.1-4.3-.2 0 0-5.1-3.5-.8-6.5 0 0-3-.6-5 .8 0 0 0-2.5 2.2-3.5 0 0-5.7-1-7 3.2 0 0-1.2-1.7-.6-3.6 0 0-3.5 2-5.1 4.2 0 0-.6-4.3-2.8-5.9m-11 27.3c-1 .3-2.5.4-4.3.3 0 0 .1-.6 1.4-1 0 0 .3.7 2.8.7"/>
|
||||
<path d="M327 252.6s2.6 2 3.5 3.2c0 0 2.4-1.6 3.2-3 0 0 2 1.2 2.5 3 0 0 1.4-.8 1.6-2 0 0 3.3.6 4.4 1.6 0 0 .5-3 0-5.1 0 0 2.3.2 3.7.8 0 0-1.3-2.1 5.3-4.8 0 0-5 1.1-7 3.2 0 0-2 .2-3-.4v4.7s-1.2-.6-3.7-1.2c0 0-.6 1.1-1 1.4 0 0-1.7-1.4-2.3-2.9 0 0-2.5 2.2-3.3 3.1 0 0-2.4-1.6-4-1.6z"/>
|
||||
<path fill="#ffc221" d="M312 285.2s1 .5 3.4-1.5 9.3-6.3 9.9-9.8c.7-3.5-2.2-3.7-4.4-2.7-2.3 1-1.3 3-1.2 3.6 0 .6.2 3-3.5 6.4l-4.3 4z"/>
|
||||
<path fill="#ffc221" d="M311.2 286.2s-5.5-2.3-.6-4.7 7.1-3.1 7.7-5.2c.6-2 .3-1.7-1.6-.9-1.8.9-8.8 4.1-9.8 1.1 0 0 2.8 1.1 6.4-.6 3.6-1.8 6.6-2.3 4.3-3-2.3-.7-10.6.2-11.9.6-1.4.4-1 .3-1.3 1.6-.2 1.4-1.7 4.3-2.3 5-.5.9-2 4.4.6 6a9.2 9.2 0 0 0 8.5.1"/>
|
||||
<path d="M309 274.3s-1.2.2-1 .7c.3.4.6.4 1 .4.5 0 1.2-.3 1.3-.5 0-.4-.8-.8-1.2-.6z"/>
|
||||
<path fill="#fff" d="M310.8 285s-2.5-1.2.4-2.8c3-1.6 6-3.2 6.5-3.8 0 0-1.4 2-6.8 6.6z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 32 KiB |
4
changedetectionio/static/flags/1x1/at.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-at" viewBox="0 0 512 512">
|
||||
<path fill="#fff" d="M0 170.7h512v170.6H0z"/>
|
||||
<path fill="#c8102e" d="M0 0h512v170.7H0zm0 341.3h512V512H0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 203 B |
8
changedetectionio/static/flags/1x1/au.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-au" viewBox="0 0 512 512">
|
||||
<path fill="#00008B" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fff" d="M256 0v32l-95 96 95 93.5V256h-33.5L127 162l-93 94H0v-34l93-93.5L0 37V0h31l96 94 93-94z"/>
|
||||
<path fill="red" d="m92 162 5.5 17L21 256H0v-1.5zm62-6 27 4 75 73.5V256zM256 0l-96 98-2-22 75-76zM0 .5 96.5 95 67 91 0 24.5z"/>
|
||||
<path fill="#fff" d="M88 0v256h80V0zM0 88v80h256V88z"/>
|
||||
<path fill="red" d="M0 104v48h256v-48zM104 0v256h48V0z"/>
|
||||
<path fill="#fff" d="m202 402.8-45.8 5.4 4.6 45.9-32.8-32.4-33 32.2 4.9-45.9-45.8-5.8L93 377.4 69 338l43.6 15 15.8-43.4 15.5 43.5 43.7-14.7-24.3 39.2 38.8 25.1Zm222.7 8-20.5 2.6 2.2 20.5-14.8-14.4-14.7 14.5 2-20.5-20.5-2.4 17.3-11.2-10.9-17.5 19.6 6.5 6.9-19.5 7.1 19.4 19.5-6.7-10.7 17.6zM415 293.6l2.7-13-9.8-9 13.2-1.5 5.5-12.1 5.5 12.1 13.2 1.5-9.8 9 2.7 13-11.6-6.6zm-84.1-60-20.3 2.2 1.8 20.3-14.4-14.5-14.8 14.1 2.4-20.3-20.2-2.7 17.3-10.8-10.5-17.5 19.3 6.8 7.2-19.1 6.7 19.3 19.4-6.3-10.9 17.3zm175.8-32.8-20.9 2.7 2.3 20.9-15.1-14.7-15 14.8 2.1-21-20.9-2.4 17.7-11.5-11.1-17.9 20 6.7 7-19.8 7.2 19.8 19.9-6.9-11 18zm-82.1-83.5-20.7 2.3 1.9 20.8-14.7-14.8L376 140l2.4-20.7-20.7-2.8 17.7-11-10.7-17.9 19.7 6.9 7.3-19.5 6.8 19.7 19.8-6.5-11.1 17.6z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
186
changedetectionio/static/flags/1x1/aw.svg
Normal file
@@ -0,0 +1,186 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-aw" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="aw-a">
|
||||
<path fill="gray" d="M0 0h512v512H0z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g clip-path="url(#aw-a)">
|
||||
<path fill="#39c" d="M0 0v512h768V0z"/>
|
||||
<path fill="#ff0" d="M0 341.3v28.5h768v-28.5zm0 57v28.4h768v-28.5H0z"/>
|
||||
<path fill="#9cc" d="m122 28 2.4 2.5-2.3-2.4zm-2.3 4.8 2.4 2.4zm4.7 0 2.4 2.4-2.3-2.4z"/>
|
||||
<path fill="#ccf" d="m119.7 35.2 2.4 2.4zm4.7 0 2.4 2.4-2.3-2.4z"/>
|
||||
<path fill="#6cc" d="m117.3 40 2.4 2.3z"/>
|
||||
<path fill="#c66" d="m122 40 2.4 2.3-2.3-2.3z"/>
|
||||
<path fill="#6cc" d="m126.8 40 2.4 2.3z"/>
|
||||
<path fill="#ccf" d="m117.3 42.4 2.4 2.3zm9.5 0 2.4 2.3z"/>
|
||||
<path fill="#fcc" d="m119.7 44.7 2.4 2.4zm4.7 0 2.4 2.4-2.3-2.4z"/>
|
||||
<path fill="#6cc" d="m115 47.1 2.3 2.4-2.4-2.4z"/>
|
||||
<path fill="#c00" stroke="#fff" stroke-width="3" d="M121.7 32.9 105 96.2l-63.5 17.2 63.3 16.5 16.9 63.3 16.9-63.3 63.2-16.9-63.3-16.8z"/>
|
||||
<path fill="#6cc" d="m129.2 47.1 2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m115 49.5 2.3 2.4-2.4-2.4m14.3 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m117.3 51.9 2.4 2.3zm9.5 0 2.4 2.3z"/>
|
||||
<path fill="#69c" d="m112.5 54.3 2.4 2.3z"/>
|
||||
<path fill="#c33" d="m118.1 55.8.8 1.6zm9.5 0 .8 1.6z"/>
|
||||
<path fill="#69c" d="m131.6 54.3 2.4 2.3z"/>
|
||||
<path fill="#9cf" d="M112.5 56.6 115 59zm19 0L134 59z"/>
|
||||
<path fill="#fcc" d="m115 59 2.3 2.4-2.4-2.4m14.3 0 2.4 2.4z"/>
|
||||
<path fill="#69c" d="m110.2 61.4 2.3 2.4zm23.8 0 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m110.2 63.8 2.3 2.4zm23.8 0 2.4 2.4z"/>
|
||||
<path fill="#cff" d="m110.2 66.2 2.3 2.3zm23.8 0 2.4 2.3z"/>
|
||||
<path fill="#69c" d="m107.8 68.5 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="M112.5 68.5 115 71zm19 0L134 71z"/>
|
||||
<path fill="#69c" d="m136.3 68.5 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m107.8 71 2.4 2.3-2.4-2.4z"/>
|
||||
<path fill="#c33" d="m113.3 72.5.8 1.6zm19 0 .9 1.6z"/>
|
||||
<path fill="#9cc" d="m136.3 71 2.4 2.3-2.3-2.4z"/>
|
||||
<path fill="#cff" d="m107.8 73.3 2.4 2.4zm28.6 0 2.3 2.4z"/>
|
||||
<path fill="#fcc" d="m110.2 75.7 2.3 2.3zm23.8 0 2.4 2.3z"/>
|
||||
<path fill="#9cc" d="m105.4 78 2.4 2.4-2.4-2.3z"/>
|
||||
<path fill="#c33" d="m111 79.6.7 1.6zm23.9 0 .8 1.6z"/>
|
||||
<path fill="#9cc" d="m138.7 78 2.4 2.4-2.4-2.3z"/>
|
||||
<path fill="#ccf" d="m105.4 80.4 2.4 2.4zm33.3 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m107.8 82.8 2.4 2.4zm28.6 0 2.3 2.4z"/>
|
||||
<path fill="#9cc" d="m103 85.2 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m108.6 86.8.8 1.6zm28.5 0 .8 1.6z"/>
|
||||
<path fill="#9cc" d="m141.1 85.2 2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m103 87.6 2.4 2.4zm38.1 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m105.4 90 2.4 2.3zm33.3 0 2.4 2.3z"/>
|
||||
<path fill="#9cc" d="m100.6 92.3 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m105.4 92.3 2.4 2.4zm33.3 0 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m143.5 92.3 2.4 2.4zm-50 2.4 2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m95.9 94.7 2.4 2.4zm52.3 0 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m150.6 94.7 2.4 2.4zm-64.2 2.4 2.3 2.4z"/>
|
||||
<path fill="#ccf" d="m88.7 97.1 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m98.3 97.1 2.3 2.4z"/>
|
||||
<path fill="#c33" d="m100.6 97.1 2.4 2.4zm42.9 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m145.9 97.1 2.3 2.4z"/>
|
||||
<path fill="#ccf" d="m155.4 97.1 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m157.8 97.1 2.3 2.4z"/>
|
||||
<path fill="#69c" d="m76.8 99.5 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m79.2 99.5 2.4 2.4z"/>
|
||||
<path fill="#cff" d="m81.6 99.5 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m91.1 99.5 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m95 100.3 1.7.8-1.6-.8m54.7 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m153 99.5 2.4 2.4z"/>
|
||||
<path fill="#cff" d="m162.5 99.5 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m165 99.5 2.3 2.4z"/>
|
||||
<path fill="#69c" d="m167.3 99.5 2.4 2.4zm-97.6 2.4 2.4 2.3z"/>
|
||||
<path fill="#9cc" d="m72 101.9 2.5 2.3z"/>
|
||||
<path fill="#cff" d="m74.5 101.9 2.3 2.3z"/>
|
||||
<path fill="#fcc" d="m84 101.9 2.4 2.3z"/>
|
||||
<path fill="#c33" d="m88 102.7 1.5.8zm69 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m160.2 101.9 2.3 2.3z"/>
|
||||
<path fill="#cff" d="m169.7 101.9 2.3 2.3z"/>
|
||||
<path fill="#9cc" d="m172 101.9 2.4 2.3z"/>
|
||||
<path fill="#69c" d="m174.4 101.9 2.4 2.3zm-111.8 2.3 2.3 2.4z"/>
|
||||
<path fill="#9cf" d="m65 104.2 2.3 2.4-2.4-2.4z"/>
|
||||
<path fill="#fcc" d="m76.8 104.2 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m80.8 105 1.6.8zm83.3 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m167.3 104.2 2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m179.2 104.2 2.4 2.4z"/>
|
||||
<path fill="#69c" d="m181.6 104.2 2.3 2.4z"/>
|
||||
<path fill="#6cc" d="m55.4 106.6 2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m57.8 106.6 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m67.3 106.6 2.4 2.4zm109.5 0 2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m186.3 106.6 2.4 2.4z"/>
|
||||
<path fill="#6cc" d="m188.7 106.6 2.4 2.4zM48.3 109l2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m50.6 109 2.4 2.4-2.3-2.4z"/>
|
||||
<path fill="#fcc" d="m60.2 109 2.3 2.4z"/>
|
||||
<path fill="#c33" d="m64.1 109.8 1.6.8zm116.7 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m184 109 2.3 2.4z"/>
|
||||
<path fill="#ccf" d="m193.5 109 2.4 2.4z"/>
|
||||
<path fill="#6cc" d="m195.9 109 2.3 2.4z"/>
|
||||
<path fill="#9cc" d="m41.1 111.4 2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m43.5 111.4 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m53 111.4 2.4 2.4zm138.1 0 2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m200.6 111.4 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m203 111.4 2.4 2.4zm-166.6 2.4 2.4 2.3z"/>
|
||||
<path fill="#c66" d="m48.3 113.8 2.4 2.3zm147.6 0 2.3 2.3z"/>
|
||||
<path fill="#9cc" d="m207.8 113.8 2.3 2.3zM41 116l2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m43.5 116.1 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m53 116.1 2.4 2.4zm138.1 0 2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m200.6 116.1 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m203 116.1 2.4 2.4z"/>
|
||||
<path fill="#6cc" d="m48.3 118.5 2.4 2.4z"/>
|
||||
<path fill="#ccf" d="M50.6 118.5 53 121l-2.3-2.4z"/>
|
||||
<path fill="#fcc" d="m60.2 118.5 2.3 2.4z"/>
|
||||
<path fill="#c33" d="m64.1 119.3 1.6.8zm116.7 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m184 118.5 2.3 2.4z"/>
|
||||
<path fill="#ccf" d="m193.5 118.5 2.4 2.4z"/>
|
||||
<path fill="#6cc" d="m195.9 118.5 2.3 2.4zM55.4 121l2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m57.8 120.9 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m67.3 120.9 2.4 2.4zm109.5 0 2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m186.3 120.9 2.4 2.4z"/>
|
||||
<path fill="#6cc" d="m188.7 120.9 2.4 2.4z"/>
|
||||
<path fill="#69c" d="m62.5 123.3 2.4 2.4-2.3-2.4z"/>
|
||||
<path fill="#9cf" d="m65 123.3 2.3 2.4-2.4-2.4z"/>
|
||||
<path fill="#fcc" d="m76.8 123.3 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m80.8 124 1.6.9-1.6-.8m83.3 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m167.3 123.3 2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m179.2 123.3 2.4 2.4z"/>
|
||||
<path fill="#69c" d="m181.6 123.3 2.3 2.4zm-111.9 2.4 2.4 2.3z"/>
|
||||
<path fill="#9cc" d="m72 125.7 2.5 2.3z"/>
|
||||
<path fill="#cff" d="m74.5 125.7 2.3 2.3z"/>
|
||||
<path fill="#fcc" d="m84 125.7 2.4 2.3z"/>
|
||||
<path fill="#c33" d="m88 126.5 1.5.7zm69 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m160.2 125.7 2.3 2.3z"/>
|
||||
<path fill="#cff" d="m169.7 125.7 2.3 2.3z"/>
|
||||
<path fill="#9cc" d="m172 125.7 2.4 2.3z"/>
|
||||
<path fill="#69c" d="m174.4 125.7 2.4 2.3zM76.8 128l2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m79.2 128 2.4 2.4z"/>
|
||||
<path fill="#cff" d="m81.6 128 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m91.1 128 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m95 128.8 1.7.8-1.6-.8m54.7 0 1.6.8z"/>
|
||||
<path fill="#fcc" d="m153 128 2.4 2.4z"/>
|
||||
<path fill="#cff" d="m162.5 128 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m165 128 2.3 2.4z"/>
|
||||
<path fill="#69c" d="m167.3 128 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m86.4 130.4 2.3 2.4z"/>
|
||||
<path fill="#ccf" d="m88.7 130.4 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m98.3 130.4 2.3 2.4z"/>
|
||||
<path fill="#c33" d="m100.6 130.4 2.4 2.4zm42.9 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m145.9 130.4 2.3 2.4z"/>
|
||||
<path fill="#ccf" d="m155.4 130.4 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m157.8 130.4 2.3 2.4zm-64.3 2.4 2.4 2.4z"/>
|
||||
<path fill="#ccf" d="m95.9 132.8 2.4 2.4zm52.3 0 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m150.6 132.8 2.4 2.4zm-50 2.4 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m105.4 135.2 2.4 2.4zm33.3 0 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m143.5 135.2 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m105.4 137.6 2.4 2.3zm33.3 0 2.4 2.3z"/>
|
||||
<path fill="#ccf" d="m103 140 2.4 2.3z"/>
|
||||
<path fill="#c33" d="m108.6 141.5.8 1.6zm28.5 0 .8 1.6z"/>
|
||||
<path fill="#ccf" d="m141.1 140 2.4 2.3z"/>
|
||||
<path fill="#9cc" d="m103 142.3 2.4 2.4zm38.1 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m107.8 144.7 2.4 2.4zm28.6 0 2.3 2.4z"/>
|
||||
<path fill="#ccf" d="m105.4 147 2.4 2.5z"/>
|
||||
<path fill="#c33" d="m111 148.7.7 1.6zm23.9 0 .8 1.6z"/>
|
||||
<path fill="#ccf" d="m138.7 147 2.4 2.5z"/>
|
||||
<path fill="#9cc" d="m105.4 149.5 2.4 2.3zm33.3 0 2.4 2.3z"/>
|
||||
<path fill="#fcc" d="m110.2 151.8 2.3 2.4zm23.8 0 2.4 2.3z"/>
|
||||
<path fill="#cff" d="m107.8 154.2 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m113.3 155.8.8 1.6zm19 0 .9 1.6z"/>
|
||||
<path fill="#cff" d="m136.3 154.2 2.4 2.4z"/>
|
||||
<path fill="#9cc" d="m107.8 156.6 2.4 2.4zm28.6 0 2.3 2.4z"/>
|
||||
<path fill="#69c" d="m107.8 159 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m112.5 159 2.4 2.4zm19 0 2.5 2.4z"/>
|
||||
<path fill="#69c" d="m136.3 159 2.4 2.4z"/>
|
||||
<path fill="#cff" d="m110.2 161.4 2.3 2.3zm23.8 0 2.4 2.3z"/>
|
||||
<path fill="#9cc" d="m110.2 163.8 2.3 2.3zm23.8 0 2.4 2.3z"/>
|
||||
<path fill="#69c" d="m110.2 166.1 2.3 2.4zm23.8 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m115 168.5 2.3 2.4-2.4-2.4m14.3 0 2.4 2.4z"/>
|
||||
<path fill="#9cf" d="m112.5 170.9 2.4 2.4z"/>
|
||||
<path fill="#c33" d="m118.1 172.5.8 1.6zm9.5 0 .8 1.6z"/>
|
||||
<path fill="#9cf" d="m131.6 170.9 2.4 2.4z"/>
|
||||
<path fill="#69c" d="m112.5 173.3 2.4 2.3zm19 0 2.5 2.3z"/>
|
||||
<path fill="#fcc" d="m117.3 175.7 2.4 2.3zm9.5 0 2.4 2.3z"/>
|
||||
<path fill="#9cf" d="m115 178 2.3 2.4-2.4-2.4zm14.2 0 2.4 2.4z"/>
|
||||
<path fill="#6cc" d="m115 180.4 2.3 2.4-2.4-2.4m14.3 0 2.4 2.4z"/>
|
||||
<path fill="#fcc" d="m119.7 182.8 2.4 2.4zm4.7 0 2.4 2.4-2.3-2.4z"/>
|
||||
<path fill="#ccf" d="m117.3 185.2 2.4 2.3zm9.5 0 2.4 2.3z"/>
|
||||
<path fill="#6cc" d="m117.3 187.6 2.4 2.3z"/>
|
||||
<path fill="#c66" d="m122 187.6 2.4 2.3-2.3-2.3z"/>
|
||||
<path fill="#6cc" d="m126.8 187.6 2.4 2.3z"/>
|
||||
<path fill="#ccf" d="m119.7 192.3 2.4 2.4zm4.7 0 2.4 2.4-2.3-2.4z"/>
|
||||
<path fill="#9cc" d="m119.7 194.7 2.4 2.4zm4.7 0 2.4 2.4-2.3-2.4m-2.4 4.8 2.4 2.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 10 KiB |
18
changedetectionio/static/flags/1x1/ax.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ax" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="ax-a">
|
||||
<path fill-opacity=".7" d="M166 0h850v850H166z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g clip-path="url(#ax-a)" transform="translate(-100)scale(.6024)">
|
||||
<path fill="#0053a5" d="M0 0h1300v850H0z"/>
|
||||
<g fill="#ffce00">
|
||||
<path d="M400 0h250v850H400z"/>
|
||||
<path d="M0 300h1300v250H0z"/>
|
||||
</g>
|
||||
<g fill="#d21034">
|
||||
<path d="M475 0h100v850H475z"/>
|
||||
<path d="M0 375h1300v100H0z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 543 B |
8
changedetectionio/static/flags/1x1/az.svg
Normal file
@@ -0,0 +1,8 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-az" viewBox="0 0 512 512">
|
||||
<path fill="#3f9c35" d="M0 0h512v512H0z"/>
|
||||
<path fill="#ed2939" d="M0 0h512v341.3H0z"/>
|
||||
<path fill="#00b9e4" d="M0 0h512v170.7H0z"/>
|
||||
<circle cx="238.8" cy="256" r="76.8" fill="#fff"/>
|
||||
<circle cx="255.9" cy="256" r="64" fill="#ed2939"/>
|
||||
<path fill="#fff" d="m324.2 213.3 8.1 23 22-10.5-10.4 22 23 8.2-23 8.2 10.4 22-22-10.5-8.1 23-8.2-23-22 10.5 10.5-22-23-8.2 23-8.2-10.5-22 22 10.5z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 488 B |
12
changedetectionio/static/flags/1x1/ba.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ba" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="ba-a">
|
||||
<path fill-opacity=".7" d="M0 0h512v512H0z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" clip-path="url(#ba-a)">
|
||||
<path fill="#009" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fc0" d="m77 0 437 437V0z"/>
|
||||
<path fill="#FFF" d="m461.4 470.4-26.1-19.1-26.9 19 10.2-31.2-26.4-19.2h32.7l10.2-31 10 31.1 32.8.1-26.2 19.4zm76.7 10.4h-32.7l-10-31.2-10.2 31.1h-32.8l26.4 19.2-10.1 31.2 26.8-19 26.2 19-9.8-30.9zM391.8 379.6l26.2-19.4h-32.7L375.2 329 365 360h-32.7l26.4 19.3-10.1 31.1 26.8-19 26.1 19.1zm-60.3-60.4 26.2-19.4-32.8-.1-10-31.2-10.2 31.2-32.7-.1 26.4 19.2-10.2 31.2 26.9-19 26.1 19.1zm-59.7-59.7 26.2-19.4h-32.7l-10.1-31.2L245 240h-32.7l26.4 19.2-10.1 31.2 26.8-19 26.1 19zm-60.4-60.3 26.2-19.3-32.8-.1-10-31.2-10.2 31.2-32.7-.1 26.4 19.2-10.2 31.2 26.9-19 26.1 19-9.7-30.8zm-59.7-59.9L178 120l-32.7-.1-10-31.2-10.3 31.1H92.2l26.4 19.2-10.1 31.2 26.8-19 26.1 19zm-60-60L118 60l-32.7-.1-10-31.2L65 59.8H32.2L58.6 79l-10.1 31.2 26.8-19 26.2 19zm-60-60L58 0 25.2-.1l-10-31.2L4.8-.2h-32.7L-1.4 19l-10.1 31.2 26.8-19 26.1 19z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.1 KiB |
6
changedetectionio/static/flags/1x1/bb.svg
Normal file
@@ -0,0 +1,6 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bb" viewBox="0 0 512 512">
|
||||
<path fill="#00267f" d="M0-.2h512V512H0z"/>
|
||||
<path fill="#ffc726" d="M170.7-.2h170.6V512H170.7z"/>
|
||||
<path id="bb-a" fill="#000001" d="M256 173.3c-5.5 15.1-11.2 30.9-23.3 43a51.7 51.7 0 0 1 14.6-2.3v63.6l-18 2.7c-.7 0-.9-1-.9-2.4a243.6 243.6 0 0 0-11.7-53.6c-.4-2.3-7.2-11.3-2-9.7.7 0 7.7 3 6.6 1.6a68 68 0 0 0-37.1-19.2c-1.2-.3-2 .3-.9 1.7 18 27.7 33.1 60.4 33 99.2 7 0 24-4.1 31-4.1v44.9h8.8l2-125.4z"/>
|
||||
<use xlink:href="#bb-a" width="100%" height="100%" transform="matrix(-1 0 0 1 512 0)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 631 B |
4
changedetectionio/static/flags/1x1/bd.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bd" viewBox="0 0 512 512">
|
||||
<path fill="#006a4e" d="M0 0h512v512H0z"/>
|
||||
<circle cx="230" cy="256" r="170.7" fill="#f42a41"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 189 B |
7
changedetectionio/static/flags/1x1/be.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-be" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd" stroke-width="1pt">
|
||||
<path fill="#000001" d="M0 0h170.7v512H0z"/>
|
||||
<path fill="#ffd90c" d="M170.7 0h170.6v512H170.7z"/>
|
||||
<path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 302 B |
7
changedetectionio/static/flags/1x1/bf.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bf" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd">
|
||||
<path fill="#de0000" d="M512 511.6H.5V0H512z"/>
|
||||
<path fill="#35a100" d="M511.8 512H0V256.2h511.7z"/>
|
||||
</g>
|
||||
<path fill="#fff300" fill-rule="evenodd" d="m389 223.8-82.9 56.5 31.7 91.6-82.7-56.7-82.8 56.7 31.7-91.6-82.8-56.6 102.3.2 31.6-91.7 31.5 91.6"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 379 B |
5
changedetectionio/static/flags/1x1/bg.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bg" viewBox="0 0 512 512">
|
||||
<path fill="#fff" d="M0 0h512v170.7H0z"/>
|
||||
<path fill="#00966e" d="M0 170.7h512v170.6H0z"/>
|
||||
<path fill="#d62612" d="M0 341.3h512V512H0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 233 B |
4
changedetectionio/static/flags/1x1/bh.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bh" viewBox="0 0 512 512">
|
||||
<path fill="#fff" d="M0 0h512v512H0"/>
|
||||
<path fill="#ce1126" d="M512 0H102.4l83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2 83.4 51.2-83.4 51.2H512"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 276 B |
15
changedetectionio/static/flags/1x1/bi.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bi" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="bi-a">
|
||||
<path fill="gray" d="M60.8 337h175v175h-175z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" clip-path="url(#bi-a)" transform="translate(-178 -986)scale(2.9257)">
|
||||
<path fill="#18b637" d="m0 337 146.6 87.5L0 512zm293.1 0-146.5 87.5L293 512z"/>
|
||||
<path fill="#cf0921" d="m0 337 146.6 87.5L293 337zm0 175 146.6-87.5L293 512z"/>
|
||||
<path fill="#fff" d="M293.1 337h-27.3L0 495.7V512h27.3l265.8-158.7z"/>
|
||||
<path fill="#fff" d="M197.2 424.5a50.6 50.6 0 1 1-101.2 0 50.6 50.6 0 0 1 101.2 0"/>
|
||||
<path fill="#fff" d="M0 337v16.3L265.8 512h27.3v-16.3L27.3 337z"/>
|
||||
<path fill="#cf0921" stroke="#18b637" stroke-width="1pt" d="m156.5 405.4-6.6.1-3.4 5.6-3.4-5.6-6.5-.1 3.2-5.8-3.2-5.7 6.6-.2 3.4-5.6 3.4 5.7h6.5l-3.1 5.8zm-22 38.2h-6.6l-3.4 5.7-3.4-5.6-6.6-.2 3.2-5.7-3.1-5.8 6.5-.1 3.4-5.6 3.4 5.6 6.6.2-3.2 5.7zm44.6 0h-6.6l-3.4 5.7-3.4-5.6-6.5-.2 3.1-5.7-3.1-5.8 6.6-.1 3.4-5.6 3.4 5.6 6.5.2-3.2 5.7z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.0 KiB |
14
changedetectionio/static/flags/1x1/bj.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bj" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="bj-a">
|
||||
<path fill="gray" d="M67.6-154h666v666h-666z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g clip-path="url(#bj-a)" transform="translate(-52 118.4)scale(.7688)">
|
||||
<g fill-rule="evenodd" stroke-width="1pt">
|
||||
<path fill="#319400" d="M0-154h333v666H0z"/>
|
||||
<path fill="#ffd600" d="M333-154h666v333H333z"/>
|
||||
<path fill="#de2110" d="M333 179h666v333H333z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 501 B |
7
changedetectionio/static/flags/1x1/bl.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bl" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd" stroke-width="1pt">
|
||||
<path fill="#fff" d="M0 0h512v512H0z"/>
|
||||
<path fill="#00267f" d="M0 0h170.7v512H0z"/>
|
||||
<path fill="#f31830" d="M341.3 0H512v512H341.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 289 B |
97
changedetectionio/static/flags/1x1/bm.svg
Normal file
@@ -0,0 +1,97 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bm" viewBox="0 0 512 512">
|
||||
<path fill="#cf142b" d="M0 0h512v512H0z"/>
|
||||
<path fill="#006" d="M0 0h256v256H0z"/>
|
||||
<path fill="#fff" d="M256 0v32l-95 96 95 93.5V256h-33.5L127 162l-93 94H0v-34l93-93.5L0 37V0h31l96 94 93-94z"/>
|
||||
<path fill="#c8102e" d="m92 162 5.5 17L21 256H0v-1.5zm62-6 27 4 75 73.5V256zM256 0l-96 98-2-22 75-76zM0 .5 96.5 95 67 91 0 24.5z"/>
|
||||
<path fill="#fff" d="M88 0v256h80V0zM0 88v80h256V88z"/>
|
||||
<path fill="#c8102e" d="M0 104v48h256v-48zM104 0v256h48V0z"/>
|
||||
<path fill="#fff" d="M467 146.6v161.6c0 43.1-86.1 57.2-86.1 57.2s-86.5-14-86.5-57.4V146.6z"/>
|
||||
<path fill="#2f8f22" d="M467 308.2c0 43.1-86.1 57.2-86.1 57.2s-86.5-14-86.5-57.4c0 0 0-3.5 1.8-5.4 0 0-1 7.1 4.5 12.6 0 0-4.3-7.8 0-15.3 0 0-1.6 9.8 4.4 15.3 0 0-3.3-7.9.4-16.7 0 0-1.8 14.3 4.8 17.3 0 0 1.8-8.4-.9-13.6 0 0 4.6 1.8 4.3 13.8 0 0 1.5-1.8 1.8-10.5 0 0 .3 10 3.6 12.3 0 0 1.2-1-.4-5.5-1.5-4.4.6-6 1-6 0 0-.7 5 3.4 8.8 0 0-1.7-7.9.8-9 0 0-.6 6.7 4.7 8.1 0 0 .4-1.9-.8-4 0 0-1-2.5-.2-4.5 0 0 1.6 6 3.9 7 0 0-1.3-3.6 0-7 0 0 .2 5 4.8 7.1 0 0-3-4-2-8.2l28.8 1.4 14.9.7 44.7-3 7.6-6.7s3.1 4.1-1.7 10.8c0 0 4.7-.8 6.3-8.3 0 0 1.9 4.1-.7 8.8 0 0 5.2-5.4 6-11.3 0 0 2 5.8-3 12 0 0 4.5-1.6 6.4-8.1 0 0 1.5 4-2.8 9.5 0 0 8.1-4.1 8-13 0 0 3.2 4.8-.6 11.6 0 0 4-3.7 4.6-9.3 0 0 2.2 2.5-.3 9.4 0 0 5-4.8 5.9-9.9 0 0 1 4.8-3.3 10.8 0 0 3-.8 5.8-6.6 0 0 .7 2.4-1.8 6.6 0 0 2.7-.5 4.5-5.9 0 0 .4 3.2-.5 6 0 0 2.2-1.3 2.7-7.3 0 0 1.1 1.9 1.1 4.4v.8z"/>
|
||||
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M422.7 214.7s-3 .6-6.9-.6c-3.8-1.2-5.4-.7-6.6 0 0 0 1.6-3.1-2.2-5.6 0 0 1.2 3.2-.5 4.6 0 0-.7.7-1.7-.3 0 0-1.3-1.5-2.7-2.4 0 0 3.2-1.2 2.6-4.5-.6-3.3-2.4-3.6-3.2-4.1a6 6 0 0 0 0 2.4s-3.6-2 1.2-4.7 4-4.4 3-5.8a13.1 13.1 0 0 0-3.5-3.6s1 1.6.7 2.9c-.1 1.2-2.4 2-1.9-.1.5-2.4 0-2 0-4.3 0 0 4.2 1.4 6-2.8 0 0 1.5-4.3-3.8-6.4 0 0 1.3 1.8.7 3 0 0-1.2 2.2-2.5.6-1.3-1.7-2.3-2.2-2.2-4.2 0 0 5 .7 3.6-4.7 0 0-.8 3.6-7.2-1.2 0 0 4.2-4.2 2.5-7.6 0 0-.4-1.5-4.8-.7 0 0 3.8-2.4 2.2-4.5 0 0-.8-1.3-4.5.4 0 0 1.4-2.3-2.2-5 0 0-2.3 1.2-3.5 2.4 0 0-2.4-3-4-4.3 0 0-2.8 1.1-3.5 4.3 0 0-1.4-1.5-4.3-2.4 0 0-1.5 2.8.4 5 0 0-1.4 0-3.9-1.1 0 0-2.9-1.2-2.4 1.1.4 2.4.6 3 1.2 4.2 0 0-6.4-1.5-6.2 2a8.8 8.8 0 0 0 3.1 6.2s-3.6 4.8-6.7 1.2c0 0-1.2 1.2 1.2 4.2 0 0 2.4 2.5.4 4.2 0 0-2.5 2-3.7-2 0 0-4.2 4.1.7 7.2 0 0 3.1 1.8 6.3-1 0 0-1 8-4 6.4 0 0-1.8-1.2 1.4-2.9 0 0-4.8-.6-5.5 4 0 0-.6 3.5 3.6 5 0 0 3.1 1.2-.1 3.6 0 0-2.4 1.7-.9 4.4 0 0 1.8 2.8-2.8 3.2 0 0-2.4 0-3.4-.4 0 0-1 2-.3 4 0 0-2.4-1.7-7.5.2-5.3 2-5 .6-5.3 1.2l-1.5 2.4s2.7 3.6 2.8 3.3l-.6 4 1.5.6 10.7-4.8 11-5.7 9 .4 5.5 1.3 7.3.6 5.4-2.8h7.6l8.3 4.2 9.6 5.7 5 1 3.8-.3v-7.8z"/>
|
||||
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M335.6 223.7s4.1 2.2 6-.3c0 0 2.2-4.4-2.8-6 0 0 2.7-3.2-.3-6.2 0 0-1.5-1.6-4.1-.5 0 0-1.2-2.3-3.7-2.2 0 0-2.4 0-3.1 2.5 0 0-3.1-1.2-4.8.6 0 0-3 3.2 1 5.8l3 .3 2.8-1.4 3.2.9s-.8 3.2 2.8 6.5z"/>
|
||||
<path fill="#64b4d1" stroke="#000" stroke-width="1.2" d="M429 216.1a6.7 6.7 0 0 1 6.8 3.8c2.7 6.2-3 9.6-3 9.6.4 1.3.5 3.2.5 3.2 7.9 1 6.5 9.8 6.5 9.8l-2.7-2.2c-4.5-1.8-9.3 2.2-12.6 8.6-3.3 6.6-1.8 9.5-1.2 17.3.6 7.7 13.1 12.4 13.1 12.4l-9.8 25c-3.8 10-11.9 5.9-14.3 3.7-2.2-2-2.8-.8-3.9 0-1.2 1 5.3 6-6.6 10.8-11.6 4.7-13.7 8.3-15.7 9.5-1.9 1.2-10 .5-10.7-.6-1-1-.5-1-3.6-2.9-3-1.7-8.1-3.5-13.7-6.2s-5.5-6.2-5.4-6.9c0-.7 2-6.5-4.6-1.9-6.6 4.7-12.2-2.2-12.2-2.2-1.2-1.7-6.8-16.4-6.8-16.4a92.4 92.4 0 0 0-4.3-12s-.3.8 4.6-2c4.7-2.7 7-7.3 8.7-11.9 1.6-4.6 0-12.5-.6-14-.6-1.6-4.2-8.9-8.7-10.4-4.5-1.6-7.6 2.4-7.6 2.4s-1.3-9 6.6-10c0 0 0-1.8.5-3.1 0 0-5.6-3.4-3-9.6 0 0 1.8-4.3 6.8-3.8l-1.2 2.4s-1.2 12.6 17.3 4.2c18.5-8.6 17.9-10.2 28.6-4.8l7.6-.1s11.1-5.3 14.7-3c3.6 2.3 16.3 9.4 16.3 9.4s12.4 4.7 15-4z"/>
|
||||
<path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M373.1 271s-.6-3.9-1.2-6.4c0 0-1.4-3.9 1-6.8l2.8-3.3s1.8-2.4 4-2.7c0 0 2.4 0 2.5-.5.2-.5 2.7-4.5 8.6 0 0 0 1.7-3 4.7-3.6 0 0 3-.8 4.6 1.4 0 0 3.4-2.6 6.4 1.7 0 0 4-2.4 7.2 2.3 0 0 3.9-2 6.4 2.1 2.5 4.3 2 6 2 6l2 6.8 6.5 8-15.3 5.8h-6.9l-13.7 3.6-24.3 1.9-6.7-8 9.5-8.3z"/>
|
||||
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M352.6 311.5s-3.6.1-5.5 1.2c-1.8.8-3.2 1.8-5.3 3.2 0 0-1.1 1.3-5.3.5 0 0-7.1-1.7-7.1 4 0 0-8.9.6-5.3 8.3 0 0 2.4 6 7.4 1.8 0 0-3.2 4.5 3 6.3 0 0 4.4 1.2 5.7-3.5 0 0 .7-1.8-1-4 0 0 2.2-.4 3.6-2.7 0 0-4.5 5.8.5 8 0 0 6.3 1.5 6.7-5 0 0-.6-3.2 1.9-4.3 0 0 5-1.2 7.1-6.6 0 0-7.1-3.9-6.4-7.2zM337.9 254s-5.6-2.5-8.3 0c0 0-3.6-2.2-7.5 0 0 0-3.7 2.4-6.3 5.2 0 0-1.8 1.5-1.2 6.4 0 0 1 3.5.4 5.1 0 0-1.2-.2-3.7 2.8 0 0-3 3.5-6 .3 0 0 1 4.6 6.2 3.8 0 0-2.5 2-.4 7 0 0 1.7 3.6-1 8.2 0 0 4.6-1.8 4.5-7.2 0 0-.5-3.6 1-6 0 0-1.5 2.2 1.6 7.1 0 0 2.4 3.6.5 7.2 0 0 4.4-1.6 4-7-.5-5.4-3-3.2-1.4-8.2 0 0 .5 2.6 1.8 4a7.2 7.2 0 0 1 2.4 7s2.6-3.4 2-6.8a13.1 13.1 0 0 0-1.3-4.4l8.3-4.8 4.3-7.5z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M325.2 275.5s-3.6-.2-4-3m-6.2-1.8s1.2 0 2.4 1.2c0 0 .7 1.2 2 1"/>
|
||||
<path d="M330.3 265.2s-1.8 0-2.9-.8c0 0-1-.7-1.5.4 0 0-1 1.6.7 2.3 0 0 2.3 1.2-1.2 3.4 0 0 4-1.6 2.4-3.6 0 0-1.8-1.2-1.2-1.7 0 0 .2-.4 1 0 .7.6 2.1.4 2.7 0"/>
|
||||
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m385 275 2-.6-13.9-48h-.5z"/>
|
||||
<path d="M338.5 328.3s-3.2-1.9-6 .3c0 0 .4-1.2 2.5-1.7 0 0 1.1-3.2 4.2-2.9 0 0-1.3 1.6-3 2.8 0 0 1.9.2 2.5 1.5z"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M327 335.8s-5.2-3.2-2.3-8.7c0 0 .8-1.5 2.4-1.2 0 0 3.2 1 .7 5.5 0 0-1.3 2.9-.7 4.5zm10.6 5.3s-7.4-3.4-5.1-9.2c0 0 .7-2 2.3-1.8 0 0 2.9.2 2.3 4 0 0-.8 3.6.5 7z"/>
|
||||
<path d="M336 319.6s-2.2 1.7-3 2.8c0 0-1-1.2-2.2-1.8 0 0 1.4-.3 2.1.3 0 0 1.2-1 3.1-1.3"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M342.6 339.6s6-1.4 4.8-7.5c0 0-.6-2.6-3-2.2 0 0-3 .8-1.1 4.6 0 0 1.2 2.6-.7 5.1z"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="m369 212.7 5.7 1.9s5.3 2.3 12.2 0l5.3-2-3.6 5.4v2.9l2.2 3.2s-1.4.6-5.4-2c0 0-4.4-3.4-9.7 0 0 0-3 2-5.3 2l3.4-3.8-1.3-3.5-3.6-4.3z"/>
|
||||
<path fill="#fff" d="M344.9 332.5s.2-.4 0-.5l-.5.2s-.6 1 0 2.4c0 0 .5.9.2 1.8l.1.4s.3-.1.3-.4c0 0 .3-.8-.3-1.8 0 0-.6-1.4.2-2.1"/>
|
||||
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M425.3 223.7s-4.1 2.2-6-.3c0 0-2-4.4 3-6 0 0-2.8-3.2 0-6.2 0 0 1.6-1.6 4.2-.5 0 0 1.2-2.3 3.7-2.2 0 0 2.4 0 3.1 2.5 0 0 3.2-1.2 5 .6 0 0 2.8 3.2-1.3 5.8l-2.8.3-2.9-1.4-3.1.9s.8 3.2-2.9 6.5z"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M392.2 220.4s0 .8-.8 1c0 0-1 .3-1.6-.9v-.3c0-.5-.2-2 1.4-3.3 0 0 2.7-2.1 7.7.5a192 192 0 0 0 14.8 7.5s3 1.6 7.8 1.8c0 0 6.6.5 9.3-4.1 0 0 2.2-3.5 0-5.8 0 0-.8-1-2.2-.8a3 3 0 0 0-1.8 1.2s-1.1 1.4 0 2.5c0 0 1.6 1 2.2-1 0 .2.5 1.7-.3 2.9 0 0-4 6-15-.1l-14.2-8.1s-7.2-3.7-11.6 2.1c0 0-3.5 4.8 1 7.9 0 0 3.4 2 5.4-1.2 0 0 1.8-3.1-1-4.4 0 0-2.3-1.2-3.3 1.2s1.8 3 2 1.3c0 0 0-.4.3 0z"/>
|
||||
<path fill="#e4cb5e" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M335.3 245.2v-9c0-.8 0-1.2 1.2-2.2 1-.8 2.2-2.3 3.7 1.7 0 0 3.2-3.5 4.3-4 0 0 1.9-1.5 3.2.7 0 0 1.7-2.6 3-3.2 0 0 3.2-2 3.3 4.2l2.5-2.4s2-1.5 4.2.7c0 0 3.6 3.6 4 4.6 0 0 .9 1 1 2.7 0 0 0 2 1 3 0 0 1.2 1 2.2 1.2 0 0 2.5.1 3.6 2.6 0 0 .4-.5 1.7 11.2v21.5l-14.4 17.1-23.2-6.6-9.2-3.9-2.1-6.6 9-5.9 4.7-13-1.4-9.3-2.3-5.2z"/>
|
||||
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m399 256.4 1.2-1.5 2.5-2s4 10.4 4.2 12.7v3.2s6 1.6 7.1 10.7l-5 9.2-7.7-4.4-2.3-1.5z"/>
|
||||
<path fill="#fff" d="M325.7 328.4s.2-.3 0-.6l-.5.4s-1.6 1.7-.3 4.4c0 0 0 .4.4.2 0 0 .2 0 0-.3 0 0-1.2-2.4.4-4z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M349 326.6s.1-.8-.3-1.6c0 0-.4-.6-.3-1.5m5.6-90.1s0 2.3.7 4c.6 1.6 3 4.5 3 5.9"/>
|
||||
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M408.4 311.5s3.6.1 5.5 1.2c1.9.8 3.3 1.8 5.5 3.2 0 0 1 1.3 5.1.5 0 0 7.3-1.7 7.3 4 0 0 8.7.6 5.1 8.3 0 0-2.4 6-7.4 1.8 0 0 3.2 4.5-3 6.3 0 0-4.4 1.2-5.7-3.5 0 0-.7-1.8 1-4 0 0-2-.4-3.5-2.7 0 0 4.5 5.8-.5 8 0 0-6.3 1.5-6.7-5 0 0 .5-3.2-1.9-4.3 0 0-5-1.2-7.2-6.6 0 0 7.1-3.9 6.4-7.2z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m351.2 243.4 6 47.8m-4.6-47.9 6.7 44.6m-5.5-44.8 7.7 44.2"/>
|
||||
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m366 283.5 2.1-.7-14-48h-.4z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m358 241.3 14.2 35.5m-15-35 13.5 37"/>
|
||||
<path fill="#fff" d="M335 337.6s-1.7-1.5-1.5-4.3c0 0 0-.6-.2-.7 0 0-.4-.1-.4.6 0 0-.4 2.9 1.6 4.5 0 0 .1.3.3.2 0 0 .3 0 0-.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m358.8 240.8 14.3 32.4M355 242.8l9 43.7"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M427.4 275c-6.4-3.6-7.8-11.4-7.8-11.4a24.6 24.6 0 0 1 1.7-14.3c4-8.6 11-10.3 11-10.3s-6.8 4.8-8.8 11.2c0 0-1.4 5.5-.5 10.7.8 5.5.4 4.1 1.7 8.3l2.7 6z"/>
|
||||
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m400 254.7-26.5 8.5-1.5 12c-6.3 9.1-19.2 10.7-19.2 10.7l10 10.7 19.1 4 10.2-7.8 9.2-8.4c-1-4.5-.5-11.2-.5-11.2 0-1.2.5-3.8.5-3.8s-1.6-10.7-1.2-14.5z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M372.4 272.2s17.5-5.5 28-10m-36.5 20s22-4 37.4-12.8l5.6-3.8"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m406.9 268.8-6 4.4s-24.6 11.2-43.3 11.6m43.2-3.6s-18.9 9.7-29.6 9.8"/>
|
||||
<path fill="#d40000" stroke="#000" stroke-linejoin="round" stroke-width="1.2" d="M423.2 254s5.6-2.5 8.3 0c0 0 3.6-2.2 7.7 0 0 0 3.5 2.4 6.2 5.2 0 0 1.8 1.5 1.2 6.4 0 0-1 3.5-.4 5.1 0 0 1.2-.2 3.6 2.8 0 0 3.2 3.5 6 .3 0 0-.9 4.6-6 3.8 0 0 2.4 2 .2 7 0 0-1.5 3.6 1 8.2 0 0-4.6-1.8-4.3-7.2 0 0 .3-3.6-1-6 0 0 1.3 2.2-1.8 7.1 0 0-2.3 3.6-.3 7.2 0 0-4.6-1.6-4-7 .3-5.4 3-3.2 1.2-8.2 0 0-.3 2.6-1.6 4a7.2 7.2 0 0 0-2.4 7s-2.6-3.4-2-6.8c.6-3.5 1.1-4.4 1.1-4.4l-8.3-4.8-4.2-7.5z"/>
|
||||
<path fill="#fff" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M328 284.4s.8-3.7 4.2-2.4c0 0 1.2-6 7.8-6.2 6.4-.2 6.8 6.4 6.8 6.8 0 0 2-2.8 5-2.5 0 0 5.6-.3 3.7 8.5l1 1.2s4-9.9 12.7-7.4c0 0 8.3 2.6 3 10.7 0 0 4.1 5.5 7.6 5 3.6-.5 6.7-1.6 10.1-7.8 3.6-6.2 11.7-7.2 13.7-6.8 2 .3 3.7 1.8 4 3.2 0 0 4.4-14.3 19.9-12.2l6.2 3.3 2.4 1-3.6 10L424 308l-6.5 2-6.8-3.9-2.4 1.2-.1 5.9-9 6.4-6.2 2.5-6.8 4.8-1.6 4.2s-3.7-1.7-8 0l-1.5-3.6-4-3.7-15.5-7.4-2.8-9-2.8-1.3-3.2 3.6-4.6.6-6.9-4.8-7.5-21z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M395.5 214s-6-.2-5.7 6"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M434.4 279.3c-10.3-3.2-13.1-14.3-13.1-14.3a25.5 25.5 0 0 1 1.3-15.5c4.8-11 12.6-11 12.6-11a4 4 0 0 1 4.6 3.2c.3 2.4-1.3 3.3-1.3 3.3-2.8 1.5-4.6-.5-4.6-.5-1.2-1.6-.2-2.9-.2-2.9.7-1 2-.4 2-.4 1.2.2 1 1.6 1 1.6s.3-1.6-1.2-1.8c0 0-3.2-.7-6.8 3.8 0 0-4.8 6.1-4.8 14.1 0 0-.6 14.8 14.8 18.6 0 0-1.7 2.4-4.7 11.1 0 0-3.3 11.2-6.4 17.3 0 0-4.3 8.6-13.8 5.1 0 0-5.6-2.5-5.6-6.5 0 0-.4-3.8 3-4 0 0 3.3-.3 3.3 2.5 0 0 0 3-3.6 2.4 0 0-1.2-.3-1-1.5 0 0 .2-1.2 1.7-.6 1.6.6 0 0 0-.1 0 0-.6-.3-1.2 0 0 0-.6 0-.6 1 0 0 0 .6.8 1.1l1.6.2s1 2 3.1 2.7a8 8 0 0 0 7-1.2 10.7 10.7 0 0 0 3-4.3 113.3 113.3 0 0 0 5.3-13.5s1.8-5.7 3.3-8.7z"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M405.3 307.4s2-.2 2 1.5c0 0 0 2.4-3.2 1.9 0 0-3-.6-1.9-4 0 0 .7-2.3 3.6-2 0 0 2.7 0 4 3.8 0 0 .9 3.3-.8 6-1.8 3-6.2 5-8.3 6 0 0-8.8 3.3-11.4 5.3 0 0-4 2.9-2.1 5.6 0 0 .7 1.1 1.6 1.1 0 0 1.2 0 1.4-1.2 0 0 0 .7-.8 1 0 0-.8.4-1.6-.3 0 0-1-1-.3-2.4 0 0 1.1-1.6 3.6-.6 0 0 2 1.1 1.2 3.3 0 0-.8 2.1-3.3 2 0 0-2 0-3.3-1.2-1.9-2.1-2-6-.2-8 0 0 1.6-2.1 4.8-3.6l9-3.5a18 18 0 0 0 6.4-4.1s1.3-1.4 1.8-4c0 0 .3-2-.9-2.4l-1.2-.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M405.5 307.4s2.2-.4 3.5 2.2c0 0 .7 1.5.8 2.5m.8-9s-2.2.3-1.1 3.4c1.2 2.9 3 3.7 3.6 4.2"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M369 220.4s0 .8.9 1c0 0 .8.2 1.3-.9l.1-.3c0-.5.3-2-1.3-3.3 0 0-2.7-2.1-7.7.5 0 0-4 2-6.7 3.6 0 0-7.2 3.8-8.1 4 0 0-3.1 1.6-7.9 1.8 0 0-6.6.5-9.3-4.1 0 0-2.1-3.5 0-5.8 0 0 .8-1 2.3-.8.6.1 1.2.4 1.8 1.2 0 0 1 1.4-.2 2.5 0 0-1.5 1-2.1-1 0 .2-.4 1.6.5 3 0 0 3.9 5.9 14.8-.3l14.3-8s7.1-3.7 11.5 2c0 0 3.5 4.8-1 8 0 0-3.3 2-5.4-1.2 0 0-1.7-3 1-4.4 0 0 2.3-1.2 3.4 1.2 1 2.4-2 3-2.1 1.3 0 0 0-.4-.2 0zm-35.2 54.7c6.3-3.5 7.7-11.5 7.7-11.5 1.4-8-1.7-14.3-1.7-14.3-4-8.6-11-10.3-11-10.3s6.9 4.8 8.8 11.2c0 0 1.5 5.5.6 10.7-.9 5.5-.5 4.1-1.8 8.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M365.7 214s6-.2 5.6 6"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M326.6 279.3c10.4-3.2 13.1-14.3 13.1-14.3a25.5 25.5 0 0 0-1.2-15.5c-4.7-11-12.6-11-12.6-11a4 4 0 0 0-4.5 3.2c-.4 2.4 1.3 3.3 1.3 3.3 2.7 1.5 4.5-.5 4.5-.5 1.2-1.6.2-2.9.2-2.9-.7-1-2-.4-2-.4-1.2.2-1 1.6-1 1.6s-.3-1.6 1.3-1.8c0 0 3.2-.7 6.8 3.8 0 0 4.7 6.1 4.7 14.1 0 0 .6 14.8-14.8 18.6 0 0 1.7 2.4 4.7 11.1 0 0 3.3 11.2 6.5 17.3 0 0 4.2 8.6 13.8 5.1 0 0 5.6-2.5 5.6-6.5 0 0 .3-3.8-3-4 0 0-3.4-.3-3.4 2.5 0 0 0 3 3.6 2.4 0 0 1.2-.3 1-1.5 0 0-.1-1.2-1.7-.6-1.5.6 0 0 0-.1 0 0 .6-.3 1.2 0 0 0 .6 0 .6 1 0 0 0 .6-.7 1.1l-1.6.2s-1 2-3.2 2.7a7.5 7.5 0 0 1-7-1.2 10.7 10.7 0 0 1-3-4.3 113.5 113.5 0 0 1-5.3-13.5s-1.7-5.7-3.2-8.7l-.6-1.2z"/>
|
||||
<path fill="#f5ce00" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M355.8 307.4s-1.9-.2-1.9 1.5c0 0 0 2.4 3.1 1.9 0 0 3-.6 2-4 0 0-.8-2.3-3.7-2 0 0-2.7 0-3.9 3.8 0 0-1 3.3.7 6 1.8 3 6.2 5 8.4 6 0 0 8.7 3.3 11.3 5.3 0 0 4 2.9 2.1 5.6 0 0-.6 1.1-1.6 1.1 0 0-1.2 0-1.3-1.2 0 0 0 .7.7 1 0 0 .8.4 1.6-.3 0 0 1-1 .3-2.4 0 0-1-1.6-3.5-.6 0 0-2.1 1.1-1.2 3.3 0 0 .8 2.1 3.3 2 0 0 1.9 0 3.2-1.2 1.9-2.1 2-6 .3-8 0 0-1.6-2.1-4.7-3.6-2-.6-5.5-2.1-9.1-3.5a16.5 16.5 0 0 1-6.4-4.1s-1.3-1.4-1.8-4c0 0-.4-2 .8-2.4z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M355.6 307.4s-2.2-.4-3.5 2.2c0 0-.7 1.5-.8 2.5m-.7-9s2.1.3 1 3.4c-1.1 2.9-3 3.7-3.5 4.2m27.4-91.1s5.1-3.3 10.4.3m-39.7 31.3s.7-3-2.7-8l-3.2-7.5m7.4-3.3 2.4 6.6 2.9 6.8"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M348.5 254.3s2 2.1 1.8 5.6m-8-7.9s2 1 1.8 6.8c0 0 0 4 3 6.2m-5.2 1.4s6.6-.7 7.1 3.5c0 0 0 4 2.4 4.3 0 0 3.3.3 4 3.6M344 271s1.2 1.7 2.4 2.6m6.2-7s1.7 2.7 2 4.1m5.4-35s1.5 2.1 3 3m3.2 9.6s3.3 1.6 2.9 10c0 0-.5 5 1 7.7"/>
|
||||
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m350.5 242.6.3.8s6 .3 9.2-3.8l-.4-.8s-5.2-.3-9 3.8z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M372 274.5s20.7-6 28.7-9.6"/>
|
||||
<path fill="#784421" stroke="#000" stroke-width="1.2" d="m369.9 236.5-.2-.6 10-4 .3.8z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="m370.7 236.1 6.8 33.3m-5.6-33.6 7.8 33m-6.5-33.6 8.5 32.9m-5.1-34.1 11.5 24.6m-10-25 12.3 24.2M379.2 233l13.3 24.3M377 269.6l5.3-1.6m-9.2-1.6s15.3-4.5 27-9.2M372.9 268s19.4-5 27.2-8.8m-21.3 24.6 1 3.3 2.8-1-.9-3.1m5-1.3 1 3 2.7-.9-1-3m-16-17.6-.2-4.2 25.5-7.7 1.4 3.6m-16 .8 1.3 3.8m7.5-6.4 1.7 3.6m.4-4.3 1.6 3.3m.5-4 1.5 3.6m0-4 2.9-1.6 1.2 3.1m-2.6-2.3 1.4 3.3"/>
|
||||
<path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M336.9 299.1s-5-5.1 0-10c0 0-5.5-2.6-4.7-7m13.6 21s-5.2.7-3.7-9.4c0 0-2.1 4-2.9 6a4.7 4.7 0 0 0 2 5.4c1 .6 5.6 1.8 7-1.2m-8.2-16.2s-2.2 1.9-.6 5.4m2.7-5s.2 3.5 2 5.4m-.4-6.7s0 4 2.8 6.6m-1.4-8s0 4.5 3.3 7.4m13.5-.7s1.7-3.9 5.2-3.6c0 0-1.6.8-1.6 2.5 0 0-.3 3 2.8 3.2 0 0 2.5.4 3.9-1"/>
|
||||
<path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M370.5 309.1s-9-4.2-8-10.1c0 0 .4-3.6 4-5.4m-2 3.8s-.8 2.5 1 4.3m1-6s-1.1 2.8.8 4.8m1.4-6.3s-1.3 2.4.2 4.5m-8.3 11s4.8 4.3 8.6 4.3m-10.2-2.9s4.6 3.6 7.4 4.2m-9-3.2s5.6 4.9 9 5.2m13.7 4.6s-5.4 3-1.1 6.2m-2.4-9.4 9-4.6m-6.8 6.2s9.1-5.5 11.7-6.7m-7 7.2s7.7-5.2 12-7.5m-6.9 7.1s5.4-4 10.5-7.1m1.8-5.1s-2.6-3.9-11.2 0c0 0 3.2-2.9 9.4-5.2m8.6-16.3s.7 3.1 0 5"/>
|
||||
<path fill="none" stroke="#00247d" stroke-miterlimit="10" stroke-width="1.2" d="M393.9 301.7s1.7-2.6 6.3-4c0 0 1.2 3 4.7 2.5 0 0 5.3-1.1 3.6-7 0 0-1-4.2-7.1-4.7m18-7.3s6.2 1.2 6 6.1c0 0 .7 7.6-7.3 9m6.5-12s1.7-3.7 5.5-5.2m-4.5-2.2s1.6 2.8 2.7 3.1m-3.6-1 2 2.5m-2.6-.5a8 8 0 0 0 1.6 1.6m-33.4-30.8s1.2-2 4.3-1.2m12.2 15.8s1.9-7.8 8.4-5m-2.6-.6s.6-3.6-1-5.5m-3.5 5.2s.8 1.5 0 2.7"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M423.5 341s7.4-3.3 5.2-9.1c0 0-.7-2-2.4-1.8 0 0-2.9.1-2.4 4 0 0 1 3.8-.5 7z"/>
|
||||
<path fill="#fff" d="M426.2 337.6s1.6-1.5 1.4-4.3c0 0-.1-.6.1-.7 0 0 .4-.1.4.6 0 0 .5 2.9-1.5 4.5 0 0 0 .3-.3.2 0 0-.2 0-.1-.3"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M434 335.8s5.3-3.2 2.4-8.7c0 0-.8-1.5-2.4-1.2 0 0-3.2 1-.7 5.5 0 0 1.2 2.9.7 4.5z"/>
|
||||
<path fill="#fff" d="M435.4 328.4s-.3-.3 0-.6l.3.4s1.6 1.7.4 4.4c0 0-.2.4-.5.2v-.3s1.2-2.4-.2-4z"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M418.4 339.6s-5.8-1.4-4.7-7.5c0 0 .5-2.6 3-2.2 0 0 3 .8 1.1 4.6 0 0-1.2 2.6.6 5.1z"/>
|
||||
<path fill="#fff" d="M416.2 332.5s-.2-.4 0-.5c0 0 .3 0 .4.2 0 0 .6 1 .2 2.4 0 0-.5.9-.3 1.8 0 0 0 .3-.2.4l-.3-.4s-.2-.8.3-1.8c0 0 .6-1.4 0-2.1z"/>
|
||||
<path d="M422.6 328.3s3.3-1.9 6 .3c0 0-.3-1.2-2.4-1.7 0 0-1.1-3.2-4.2-2.9 0 0 1.2 1.6 3 2.8 0 0-1.8.2-2.4 1.5m2.4-8.7s2.4 1.7 3.2 2.8c0 0 .8-1.2 2-1.8 0 0-1.3-.3-2 .3 0 0-1.2-1-3.1-1.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M412.1 326.6s-.2-.8.4-1.6c0 0 .3-.6.2-1.5m23.4-48s3.4-.2 4-3m6-1.8s-1.2 0-2.3 1.2c0 0-.8 1.2-2 1"/>
|
||||
<path d="M431 265.2s1.7 0 2.7-.8c0 0 1-.7 1.7.4 0 0 1 1.6-.9 2.3 0 0-2.1 1.2 1.3 3.4 0 0-4.1-1.6-2.4-3.6 0 0 1.8-1.2 1.1-1.7 0 0-.2-.4-1 0-.7.6-2 .4-2.6 0z"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M433.3 221.6s.9-1.2.5-4.4 2.6-3.7 3.7-2.8c0 0 1.2 1 0 3.1a8.3 8.3 0 0 1-4.2 4.1z"/>
|
||||
<path fill="#fff" d="M434.4 219s1.2-1.1.6-3.6l.1-.2h.4s.6 2.8-.6 4.2c0 0-.3.3-.5 0z"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M432.5 220.4s-.1-1.4-2.4-3.6c-2.4-2.4-.5-4.4 1-4.4 0 0 1.4 0 2 2.3a8.3 8.3 0 0 1-.6 5.7z"/>
|
||||
<path fill="#fff" d="M432.1 217.4s0-1.6-2.1-3.3v-.4h.3s2.3 1.8 2.3 3.8c0 0 0 .3-.2.3 0 0-.3 0-.3-.4"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M429.3 219.3s-.6-1-3.5-2.1c-2.8-1-2.1-3.5-1-4 0 0 1.4-.5 2.7 1.1a7.6 7.6 0 0 1 1.8 5z"/>
|
||||
<path fill="#fff" d="M428 217.3s-.6-1.4-3.3-2.1c0 0-.2 0-.2-.3 0 0 0-.2.4-.1 0 0 2.8.6 3.7 2.4l-.2.3s-.2 0-.3-.2z"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M431 220.4s-1.3.5-4.4-1c-3-1.5-4.4 1.1-3.8 2.3 0 0 .5 1.6 2.9 1.2a8.3 8.3 0 0 0 5.4-2.4z"/>
|
||||
<path fill="#fff" d="M424 221.4s1.3 1 3.8 0h.4s0 .2-.2.3c0 0-2.7 1.2-4.5.1 0 0-.2 0 0-.3h.4z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M426.6 210.7s1.5.8 1.2 2.5"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M433.3 211s.6 1.9 0 3"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M327.6 221.6s-.9-1.2-.5-4.4c.3-3.4-2.5-3.7-3.6-2.8 0 0-1.2 1-.1 3.1a8.3 8.3 0 0 0 4.2 4.1z"/>
|
||||
<path fill="#fff" d="M326.5 219s-1-1.1-.6-3.6v-.2h-.5s-.5 2.8.7 4.2c0 0 .3.3.4 0z"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M328.5 220.4s0-1.4 2.4-3.6c2.4-2.4.5-4.4-1-4.4 0 0-1.5 0-2 2.3a8.3 8.3 0 0 0 .6 5.7z"/>
|
||||
<path fill="#fff" d="M328.9 217.4s0-1.6 2-3.3c0 0 .2-.3 0-.4h-.2s-2.4 1.8-2.4 3.8c0 0 0 .3.3.3 0 0 .3 0 .3-.4"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M331.6 219.3s.6-1 3.6-2.1c2.7-1 2-3.5.8-4 0 0-1.2-.5-2.6 1.1a7.6 7.6 0 0 0-1.8 5z"/>
|
||||
<path fill="#fff" d="M333 217.3s.5-1.4 3.1-2.1c0 0 .3 0 .3-.3 0 0 0-.2-.3-.1 0 0-2.8.6-3.6 2.4v.3s.3 0 .4-.2z"/>
|
||||
<path fill="#64b4d1" stroke="#00247d" stroke-miterlimit="2.6" stroke-width="1.2" d="M329.8 220.4s1.5.5 4.4-1c3.1-1.5 4.5 1.1 4 2.3 0 0-.6 1.6-3 1.2a8.3 8.3 0 0 1-5.4-2.4z"/>
|
||||
<path fill="#fff" d="M337 221.4s-1.3 1-4 0h-.2v.3s2.9 1.2 4.5.1c0 0 .3 0 0-.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="2.6" stroke-width="1.2" d="M334.4 210.7s-1.6.8-1.2 2.5"/>
|
||||
<path fill="none" stroke="#000" stroke-miterlimit="10" stroke-width="1.2" d="M327.6 211s-.6 1.9 0 3"/>
|
||||
<path d="M394.1 193.6s1 2.7.6 5.2c-.4 2.4.1 2.9 1 3.4.7.3 2.3-.4 2.4-2.2 0 0 2 3.8-1.7 6.3 0 0-2.8 1.7-5-.4-.9-.9-1.2-3-.8-5 0 0 .6-2.7-.4-5.5 0 0 1.5 1.6 1.2 4.9 0 0-.9 6 3.5 5.6 0 0 3 0 3.1-3.6 0 0-1.2 1.2-2.5.8a2.4 2.4 0 0 1-1.8-2.8c.2-1.6.6-4.3.4-6.7m-4.8 9.5s-.3 4.8-4.5 5.9c0 0 .6-.9-.4-3.3 0 0-1-1.2-1-3.3 0 0-1.1 1 .3 3.8 1 1.7.1 3.6-.1 3.7-.4.1 7-1 5.6-6.7zm-5.6-4.5s-1-1.2-1.2-3.8c0-2.7-.4-3.4-.8-3.6 0 0 .5 2.3.4 3.6 0 1.5 0 2.4.3 3 0 0-2.4.3-3.8-3-1.3-3.3-2.7-3-3.5-3 0 0 .9.1 2.4 3 1.7 3 2.2 3.7 6.2 3.7zm-10.7-7s1.2 3.2 1.3 4.8c0 0-3.1-1-4-3.5 0 0-3.2 1-2 4.7 0 0-2.8-1-4.1-3.2 0 0 1.5 1.2 3 1.7 0 0-.2-3.1 3.6-4.2 0 0 .6 2.7 2.7 3.3zm5-5.4s1.2 1.5 3.3 1.5a3.6 3.6 0 0 0 3.3-1.5s-.2 2.6-3.3 2.7c0 0-3.3 0-3.3-2.7m-13.5 18.5 2 1.9s1.2 1.2 2-.3c0 0 1.4-2.4 3-2.2 0 0-1.3.7-2.4 3 0 0-.3.7-1.2.8-.5 0-1 .2-1.8-.7l-1.6-2.4zm16.7-29.4c-3.2 0-.5 2.4-.5 2.4 0 4-3 5.4-5.2 4.2-2.3-1.2-.5-4-.5-4s-2.4 1.5-1 3.9c1.6 2.4 5.8 1.2 7.2-.9 1.6 2.2 5.7 3.3 7.2.9 1.6-2.4-.9-4-.9-4s1.8 2.9-.4 4c-2.2 1.3-5.4 0-5.3-4 0 0 2.8-2.5-.5-2.5zm2-4.4s1.2 2 1 5c0 0 1-3-1-4.9zm-10 4.7s-.2-2.2-2.4-2.4c0 0 2 1.3 2.4 2.4m16.1 0s.3-2.2 2.4-2.4c0 0-1.8 1.3-2.4 2.4m-19.3 3.2s1.7.5 2.6-.7zm-5.4-13.1s2-.1 3.9 2.7c0 0-2 1-2.4 1.6 0 0 0-1 1-1.7 0 0-.4-1.4-2.5-2.5zm32 0s-2-.1-3.8 2.7c0 0 1.9 1 2.4 1.6 0 0 0-1-1-1.7 0 0 .4-1.4 2.4-2.5zm-14.7 2.2s1.7.5 3.8-.7c0 0 2.7-1.4 4.3 0 0 0-1.4-.7-4.3.7 0 0-2.7 1.6-3.8 0"/>
|
||||
<path fill="#fff" d="M383.7 169.6s1.5-2.5 6-2c0 0-1.2 3.6-6 2"/>
|
||||
<ellipse cx="386.7" cy="168.8" fill="#784421" rx=".8" ry="1.1"/>
|
||||
<ellipse cx="386.7" cy="168.8" rx=".5" ry=".7"/>
|
||||
<path d="M374.2 164.1s2.7.3 4.5 1.2c0 0 1.8 1.2 3.8-.3 0 0 2.3-1.4 3.7-3.1 0 0-3.4 2.3-4.7 2.7 0 0-1.2-1-1.6-2.3 0 0 .1-1 2-2.7 0 0-2.5.8-3 2.9a7.2 7.2 0 0 0 1.5 2.3s-.5.3-1.7-.6c0 0-2.7-.8-4.5 0zm7.1 17c-2.3 2.1 0 1.9 0 1.9s2.4.2 0-2zm-1.4-13.2s-1.8.5-4-.7c0 0-2.6-1.4-4.2 0 0 0 1.4-.7 4.3.7 0 0 2.8 1.6 4 0z"/>
|
||||
<path fill="#fff" d="M378.1 169.6s-1.4-2.5-6-2c0 0 1.2 3.6 6 2"/>
|
||||
<ellipse cx="375" cy="168.8" fill="#784421" rx=".8" ry="1.1"/>
|
||||
<ellipse cx="375" cy="168.8" rx=".5" ry=".7"/>
|
||||
<path fill="none" stroke="#000" stroke-width="1.2" d="M467.3 146.6v161.6c0 43.1-86.2 57.2-86.2 57.2s-86.3-14-86.3-57.2V146.6z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 22 KiB |
36
changedetectionio/static/flags/1x1/bn.svg
Normal file
@@ -0,0 +1,36 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-bn" viewBox="0 0 512 512">
|
||||
<path fill="#f7e017" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fff" d="M0 35.6V263l512 106.7v-121z"/>
|
||||
<path fill="#000001" d="M0 156.4v106.7l512 213.3V369.8z"/>
|
||||
<g fill="#cf1126" transform="translate(-256)scale(.71111)">
|
||||
<path d="M695.7 569.7a117.2 117.2 0 0 1-49.4-17.2c-2.4-1.6-4.6-3-5-3-.4 0-.6 1.9-.6 4.1 0 6.4-2.6 9.6-9 11.3-6.2 1.6-15.6-1.6-23.2-8a68.3 68.3 0 0 0-24.7-13.5 39.9 39.9 0 0 0-28 3.6 8.7 8.7 0 0 1-2.8 1.3c-1.1 0-1-6.9.2-9 1.5-3 5.1-5.8 9.4-7.3 2.2-.8 4-1.8 4-2.3 0-.4-.8-2-1.7-3.6-2.9-5.1-1.7-10 3.4-13.9 5.2-4 14-4.6 21.7-1.7a32 32 0 0 0 4 1.4c1 0 .4-1.5-2.4-5.6-3.2-4.7-3.9-7-3.5-12.7a14.7 14.7 0 0 1 13.5-13.5c5.8-.4 9.4 1.6 18 9.7a144 144 0 0 0 86 41.6c8.3 1 24.8.5 34.5-1a156 156 0 0 0 81.8-40.8c6.4-6 9.4-7.6 14.7-7.6 4.5 0 7.7 1.4 11 5 3 3.3 4 6.4 3.6 11.5-.2 3.2-.7 4.7-2.6 7.9-2.8 4.5-2.3 5 3.2 2.8 7.6-3 16.9-1.6 21.9 3.2 4.4 4.2 4.8 8.4 1.4 14-1.3 2.1-2.3 4-2.3 4.4 0 .6 1 .8 5.5 1.6 6 1 9.5 5.4 9.5 12.2 0 2-.3 3.7-.6 3.7s-2.6-.9-5-1.9c-7-2.9-11-3.6-19.2-3.5-6.2 0-8.3.3-12.6 1.7a57.5 57.5 0 0 0-19.5 11.5c-6.4 5.7-10.4 7.5-16.6 7.4-5.8 0-9.7-1.7-11.8-5-1.1-1.8-1.3-2.8-1-6.8.2-2.6.1-4.7 0-4.7-.3 0-2.5 1.4-5 3.1A80.5 80.5 0 0 1 778 560a181.6 181.6 0 0 1-82.3 9.7"/>
|
||||
<path d="M706.3 525.2a136.4 136.4 0 0 1-97.9-55.7c-24.4-33.2-32-77.1-24.6-117.2 4-18.3 12-36.6 25.5-49.6a114.6 114.6 0 0 0-8.7 74.3c9 49.8 51 91.9 101.3 99.2 20 5.7 40.5-.4 59.5-6.5 42-14.8 74-54.6 77.8-99.1 3.3-24-.3-49.1-11.2-71 6.2 3.3 14 16.2 18.6 24.8 16 31 16.7 68.1 7.3 101.2-12.8 42.1-45 79-87.5 92.4a165.7 165.7 0 0 1-60 7.2z"/>
|
||||
<g id="bn-a">
|
||||
<path d="M512 469.9c-2.5-.4-5.3 2.1-4.3 4.7 1.8 2.6 5 4 7.8 5.2a54.2 54.2 0 0 0 23.2 3.6 49.6 49.6 0 0 0 17-3c3-1 6.8-2 8-5.4 1.3-2.1-1-4.3-3.1-3.9-3 .7-6 2-9 2.9a57.7 57.7 0 0 1-20.3 2 54 54 0 0 1-14.4-4.2c-1.6-.7-3.1-1.7-4.9-1.9"/>
|
||||
<path d="M514.8 459.5c-2.5-.4-4.7 2.6-3.7 5 2 2.8 5.3 4.3 8.4 5.6a42.4 42.4 0 0 0 17 2.9h1.5a37.6 37.6 0 0 0 14.4-2.8c2.7-1.1 6.1-2.2 7.3-5.2.9-1.7.2-4.1-2-4.3-1.8 0-3.5 1.2-5.3 1.7a44.3 44.3 0 0 1-20.6 3.2c-4.4-.5-8.5-2.1-12.5-4-1.5-.7-2.8-1.8-4.5-2z"/>
|
||||
<path d="M518.3 449.6c-2.2-.3-3.7 2.2-3.3 4.1.3 1.8 1.8 3 3.1 4a30 30 0 0 0 18.6 5.3h1.6a28 28 0 0 0 12-2.8c2.5-1 5.4-2.3 6.3-5.2.4-1.3.6-3.2-.9-4-1.6-.8-3.1.5-4.5 1a34 34 0 0 1-15.5 3.9 27 27 0 0 1-13.1-4c-1.5-.7-2.7-2-4.3-2.3"/>
|
||||
<path d="M481.5 302.7c-3.2 3.3-.7 9.3-1 13.5 1.8 13.2 3.9 26.5 8.8 39 6 12 18.8 18.5 26.5 29.2 2.8 5.1 1.8 11.3 2.4 17 .4 15.3.3 30.7 0 46 7 3.6 14.5 7 22.5 5.7 4.7-1.1 13.5-1.8 14.5-6.5l-1-79.5c-2.7-8.1-11-12.3-17.1-17.5a155.5 155.5 0 0 1-14.2-16.1c-2.6-4.5-12.9-6-9.2 1.6 2.2 6.7 7.7 11.6 9.1 18.6.3 3.9 5 11 1 13.2a24.5 24.5 0 0 0-10.7-10c-4.4-3.3-11.7-4.7-13.3-10.5a42.9 42.9 0 0 0-11-22c1.5-7.4 0-16.7-6.4-21.5z"/>
|
||||
<path d="M491.4 304.2c-3 .5-2.8 4.2-1.5 6.2a27.2 27.2 0 0 1 1.1 13.4 44.1 44.1 0 0 1 10.6 21.7c0 3 3.2 4 5.3 5.5 4.9 3.1 10.3 5.4 14.7 9.3.9 1 1.6 2 1 0-.7-2.6-1-5.4-3-7.3-2.8-3-6.2-5.6-10.2-6.4-.3-4.2-2.3-8-4.1-11.6-2-3.5-4.1-7.2-7.5-9.4 0-6.1 0-12.5-2.6-18.2-.8-1.4-2-3.1-3.8-3.2"/>
|
||||
<path d="M499.7 306.6c-2 .6-1.6 3.2-1 4.7a54 54 0 0 1 1 13.2c3.9 3 6.2 7.4 8.4 11.6 1.4 2.8 2.6 5.8 3.1 8.9 3.1 1 5.8 3 8.2 5-1-2.8-3-5-4.5-7.7s-3-5.6-3.7-8.7c-3-3.1-4.6-7.6-4-12 .2-4.7-1.3-9.6-4.5-13.2-.8-.8-1.8-1.7-3-1.8"/>
|
||||
<path d="M509.2 308c-1.2.2-1.8 1.2-2.4 2.1-.3.9.8 1.8 1 2.8a21.8 21.8 0 0 1 1.4 10.4c-.1 2.5.8 5 2 7a3.9 3.9 0 0 1 3.5-2.8c.5 0 1.4.2 1-.7-.4-4.8-1.1-9.6-2.8-14a9.6 9.6 0 0 0-2.8-4.5c-.2-.2-.6-.4-1-.3z"/>
|
||||
</g>
|
||||
<use xlink:href="#bn-a" width="100%" height="100%" transform="matrix(-1 0 0 1 1440 0)"/>
|
||||
<path d="M715.7 476a35.6 35.6 0 0 1-29.9-24c.3-2.2 3 1.2 4.3 1.5a19 19 0 0 0 8 2.6c3.5 1.5 5.7 5 9.1 6.9 1.6 1.2 7.2 3.6 6.1-.3-1.3-2-2.2-4.6-1-7 1.8-4.1 4.7-7.7 7.7-11.2 2.1-.7 3.6 3.6 5.1 5 2.1 3.3 4.7 7.3 3.4 11.3-1.2 1.5-2 6 1.3 4.6 4-1.8 7.3-4.8 10.6-7.6 3-2 6.7-2.1 9.7-4 1.5-.3 4.4-3.1 5-1.6a44.9 44.9 0 0 1-7.4 12.3 32.1 32.1 0 0 1-18.8 10.9c-4.4.8-8.8 1-13.2.6"/>
|
||||
<path d="M731.5 460.2c.3-2.7-.3-5.4-1.7-8-2.1-4.2-5-8-8-11.9-2.8-1.6-4.3 3.7-6.1 5.2-2.9 4.3-6.5 8.7-6.7 14-1.6 2.5-4.6-2-5.9-3.5a19 19 0 0 1-4-12 50.8 50.8 0 0 1 3.6-20.6c2-5.6 5.1-11 4.8-17 .2-4.7-.7-9.7-4.4-12.8-3.6-2.8 2.3-3.4 4.1-2 3.2.3 4.9 5.5 7.8 4.2 1.1-2.7 1.4-6 3.8-8.1 2.3-3.2 4.7 1.3 5.5 3.5 1.7 1.8 0 6.5 2.6 6.6 3.2-2.3 5.5-6 9.6-6.9 1.7-1 4.5 0 2.3 1.8-3 2.9-5.6 6.4-6.2 10.7-.9 5.3.4 10.7 2.7 15.4 4.5 9.4 8 20 5.7 30.5-1 4.6-4.2 8.6-8 11.3-.5.3-1.3.3-1.5-.4"/>
|
||||
<path d="M726.7 389.6a21.2 21.2 0 0 0-5.6-7c-2.4 0-3.9 3-5.5 4.6-1.1 2.1-2.5 5.6-5.3 2.9-4.5-2.6-5.2-8.3-5.2-13-.3-7.6 2.8-14.7 5.5-21.6 1.7-4.3 1.3-9.2.2-13.6-1.3-5-5.4-8.6-8.5-12.6.2-1.5 4.2-.7 5.7-.4 3.4.9 5.4 3.8 7.9 6 1.8-.6 1-4.2 1.9-5.9 0-2.4 3.2-5.5 4.5-2.1 2 2.2 0 6.5 2.5 7.8 2.4-.9 3.6-3.5 5.8-4.7a8 8 0 0 1 7.8-.5c.9 2.2-2.6 4-3.6 6a20.4 20.4 0 0 0-3.8 18c1.4 5 3.8 9.5 4.7 14.5a40.1 40.1 0 0 1-.5 17.2c-.9 3.4-3.8 5.6-6.8 7-.8-.7-1.2-1.7-1.7-2.6"/>
|
||||
<path d="M711.6 326.9c-3.4-2.5-4.5-4.8-4.5-9.5 0-2.3.5-3.6 2-5.8 2.4-3.2 2-4.2-1.3-3.3-5.3 1.5-7.8.2-8-4.3 0-2.2.4-3.1 3.3-6.7 2.4-2.8 3.3-4.3 2.8-4.8-.5-.4-3.3 2-9 7.8a124 124 0 0 1-11.4 10.6c-9.8 6.6-19.2 7.6-23.5 2.5-2.2-2.6-2.1-4 .4-5.6a27.4 27.4 0 0 0 4.4-3.7 86 86 0 0 1 16.1-11.6c3.6-1.8 4.4-3 2.1-3-3 0-12.5 6.2-19.8 12.8-2.1 2-5.2 4.2-6.8 5a25.4 25.4 0 0 1-13.9 1c-2.2-.7-6.3-4.5-6.3-5.9 0-.3 1-1.1 2-1.8a30 30 0 0 0 4.6-3.2c5.8-5 16.8-10.3 25.5-12.2 2.8-.5 1.7-2-1.4-1.8a56 56 0 0 0-25 11.7c-8.3 6.9-20.8 6.2-24.8-1.3-.7-1.3-1.2-2.5-1-2.7a92.8 92.8 0 0 0 20.4-7.8 51.5 51.5 0 0 1 18.1-6.5c2.8-.5 3-1.9.3-2.2-3.6-.4-9 1.4-18.5 6-12.3 6.1-15.8 7.2-22.2 6.8-6-.4-9.3-1.9-14-6.4-3.2-3-7.6-10.5-6.8-11.4a63.5 63.5 0 0 0 15.8 1.3c8.3 0 10.6-.2 15-1.5a84.3 84.3 0 0 0 24-12.1 57.5 57.5 0 0 1 36.8-13.6c12.4 0 20.2 2.8 27.2 9.9 2.4 2.4 4.4 3.9 4.7 3.6.3-.3.6-4.5.7-9.3 0 0 3.7-.4 4.5.7 0 7.7 0 8.4 1.2 8.4.7 0 1.5-.8 2-2 1-2.5 5-6 9.2-8.2 9-4.5 24.7-4.7 37.3-.3a62.4 62.4 0 0 1 16.7 9.5 90.2 90.2 0 0 0 24 12c6.8 2 19 2.5 25.1 1a61.9 61.9 0 0 1 5.4-1c2.3 0-1.6 7.6-6.2 12.1-8.4 8.2-19.3 8.1-34.6-.1-9.6-5.2-21-8-21-5.2 0 .6.6 1 1.5 1 3.3 0 9.7 2.2 18.7 6.5a53.7 53.7 0 0 0 18.3 6.5c2.3 0 2.4 1.5.2 4.7-2.3 3.4-6.2 5-11.7 5-5.3 0-8.3-1.1-13-5-8-6.6-27.6-14-26.9-10 .2.7 1.1 1.2 3.2 1.5a56 56 0 0 1 23.1 11l5.9 4.3c1.1.6 1.1.8.2 2.5-1.4 2.8-5.2 4.9-9.2 5.3-5.2.6-9.8-1-14.5-5-10-8.3-19.3-14.3-22.3-14.3-2.5 0-1.4 1.4 3 3.7a79.7 79.7 0 0 1 15.8 11c2 1.9 4.3 3.7 5 4.1 1.9 1 1.8 2.4-.2 5s-5.4 3.8-9.7 3.3c-8.6-.9-15.4-5-26-16a70.7 70.7 0 0 0-8.2-7.8c-1.4 0-.5 1.9 2.2 5 3.4 3.7 4 5.8 2.7 9-1.1 2.6-3 3.3-6.8 2.2-4-1-4.6 0-2 3.1 3.8 4.9 3.3 10.7-1.5 14.8a12 12 0 0 1-3.4 2.3c-.4 0-1.4-1-2.3-2.4-3-4.6-5.7-4.6-8.7 0a53.6 53.6 0 0 1-2 3 113.1 113.1 0 0 1-3-2.2"/>
|
||||
<path d="m726.7 233-5.2 4-4.6-3.4v27.8h9.8z"/>
|
||||
<path d="M694.9 204.3a88.3 88.3 0 0 1-9 32.3l11.1-10.3 7.7 9.2 8.4-9.4 8.5 8 8.2-8.3 8.5 10 7.4-8.2 12.6 9c-4.6-10-10.7-18.6-10-32.8-12.1 9-41 10.6-53.4.4z"/>
|
||||
<path d="M717 197.6c-4.5 0-9.2.1-13.4 1a20.1 20.1 0 0 0-7.8 3c.3 8.6 41 12.1 51.9.2a20 20 0 0 0-8.2-3.3c-4-.8-8.6-.8-12.9-1v7.1H717z"/>
|
||||
<path d="M724.9 154h-6.3v49.4h6.4z"/>
|
||||
<path d="m724.9 155.2-2.4 23.7 24.3 11.9-12.3-16.5 16.8-5.5zm-2.7-6.1c-3.7 0-6.4 1.4-6.4 3s2.7 3 6.4 3 6.4-1.4 6.4-3-2.7-3-6.4-3"/>
|
||||
</g>
|
||||
<g fill="#f7e017">
|
||||
<path d="M249.6 401c2.9-1 4.5-2.7 5.6-6a18 18 0 0 0 1-3.9c-.3-1-1.6-1-2.9.2-1 .7-1 1.1-.8 2.7.7 4-.7 5-8.3 5.8-.7 0-2.9 0-4.8-.3-3.6-.4-4.8 0-3.5 1a7 7 0 0 0 2.2 1c2 .5 9.4.2 11.5-.6zm15.7-.7c.4-.4 1.8-1 3.2-1.5 1.8-.6 2.8-1.2 3.5-2.4 2.2-3.3 1.8-6.1-1.4-10-1.8-2-2.6-2-4 .4-1.2 2-1.2 2 .6 2.5 1 .2 1.8 1 2.3 1.8 1.9 3.3 1.3 5.3-1.5 5.3-2.6 0-3.3.4-4 2a8.9 8.9 0 0 0-.6 2.1c0 .7 1 .6 1.9-.2m-5.2-3.8c.5-1.3.7-3.6.6-8.4 0-3.7-.1-6.8-.3-7-.4-.3-2.5 1-2.8 1.9-.1.5.1 1.5.5 2.3.7 1.3.8 2.5.6 7.5-.3 6.3.1 7.3 1.4 3.7"/>
|
||||
<path d="M248.1 393.6c.3-1.2.6-3.6.7-5.4.2-1.7.5-4 .8-5 .8-2.4 0-3-2-1.6l-1.4 1 .3 3.5c.3 3.2-.2 9.1-1 11.4-.1.7.2.5 1-.4a9.4 9.4 0 0 0 1.6-3.6zm-10.7 1.7c2.6-2.2 2.3-6 2.9-9 0-2 1.3-4.4.4-6.1-2.4.4-4 2.7-2.7 5 .1 2.7 0 5.6-1.3 8-1.1 1.5-4.7 1-4.5-1.1.9-3.3-3-1.7-4.6-.8-1.2.8-3.7.9-2.8-1.2-.6-2.8-4.1-1-6-1-1.8 0-.2-3.7-2.8-3-4.8-.5-10.2 0-14.4-3-2.4-1.1-2-4-.8-6 1.6-2.6 2-5.9 4.4-7.9 2.4-2.3-2.2-1.3-3.3-.5-2.3 1.2-.2 4.5-2 6.3-1.2 2-2.7 4.5-5.2 4.2-3.8-.7-6-4.2-8.6-6.5-2.3-.5-1 3.7.2 4.6a23.3 23.3 0 0 0 7.9 3.8c2.8-.5 2.9 3.2 5.3 3.8 4.4 2 9.3 2.6 14 2.9 2 .1.9 3.5 3.4 2.8 1.4.4 4.5-.5 4.6 1.1-2 2.5 2 2.5 3.6 2 2-.3 4.4-1 5 1.6 1.6 1.8 4.6 1.5 6.5.5z"/>
|
||||
<path d="M195 373.7c.7-1 1.9-3 2.6-4.5a17.3 17.3 0 0 1 2.1-3.7c1.3-1.4.6-2.2-1.5-1.7-1 .2-1.5.6-1.6 1.5-.6 3-1.7 6.1-2.7 7.5-1.8 2.6-1.8 2.7-1 2.7.3 0 1.2-.8 2-1.8zM168.2 357c-2 0-2 1.3-.1 2 .9.3 1.7 1 2.3 2.4 2 3.7 3 4.4 8 4.8l3.3.3.1 2c.1 1 .4 2 .6 2 .3 0 1.5-.6 2.8-1.2 2.3-1.2 4.6-4 4.6-5.7 0-1.1-2-2.4-3.6-2.4a7 7 0 0 0-3.4 1.5c-3.6 2.6-7.4 2-9.5-1.3-1.7-2.8-3.5-4.4-5.1-4.4m17.4 7c1 0 1.2.7.7 2-.4 1-1.6 1-2 0-.3-1 .3-2 1.3-2m134.9-4.4c-1.3 0-1.7.3-2.5 1.6-1.4 2-1.5 6.3-.2 7.8.7 1 .8 1 2.5.3 2.3-1 2.7-.9 2.6.3 0 3.2-4.5 9.2-9.2 12.5a8.5 8.5 0 0 0-2.5 2.1c-.4 1 1.4.7 3.5-.4 3-1.5 6.8-5.4 8.4-8.5 1.2-2.5 1.4-3.3 1.6-7.6 0-4 0-5.1-.7-6.5-.7-1.5-1-1.6-2.9-1.6zm.2 2.8c1 0 1.1.2 1.2 1.6.1 1.2 0 1.9-.7 2.5-1 .8-1 .8-1.8-.4-1-1.7-.4-3.7 1.3-3.7m-21.6 30.3a16 16 0 0 0 8.2-7.7 20.6 20.6 0 0 0 1.3-3.3c0-.6-2-1.5-3.3-1.5s-1.4-.9-1-3.2c.6-2.3 0-5.1-1-5.1-.4 0-1 .5-1.4 1.1-.7 1-.7 1.5-.2 3 .7 2 .1 3.7-1.8 5-1 .7-1.5 1.5-1.5 2.2 0 .6.1 1.1.2 1.1l2.3-1.1 2-1.2 1.3 1c.6.5 1.2 1.4 1.2 1.9 0 2.5-7.2 6.8-12.2 7.2-2.6.2-3 0-4-.8-.7-.8-1-1.4-.8-2.3l.6-2.7c.5-2.2-.5-1.9-2.1.7-1.4 2-1.8 4.4-1 5.6.6 1 4.7 1.9 7.6 1.7 1.8-.1 3.7-.6 5.6-1.6m27.7-15.5c2.6-2.6 3.8-5.8 3.8-10.7v-3.7l2.1-1c2.8-1.3 5.5-4 5.5-5.4 0-1.6-.7-1.5-1.9.2-.9 1.2-2 1.9-6.4 3.9-1.1.5-1.2.8-1.4 5.4-.3 5.3-1 7.2-4 10.9-1.8 2.1-1.9 2.4-.6 2.4.5 0 1.8-.8 3-2zm-28.5-3c.3-.7-1.2-1.2-1.8-.6-.3.3-.3.7-.1 1 .4.7 1.7.5 2-.3zm39.3-10.1c.3-.8-1.2-1.3-1.8-.7-.3.3-.3.8-.1 1 .4.7 1.7.5 2-.3zm-47.3-27.6c-1 .5-1.5 1.6-2.2 2.5-.5.3-.1.6.2 1 1.8 1.9 2.5 4.5 3.4 7 .8 2.8 1.9 5.9 1 8.9-.4 1.1-1.3 2.3-2.6 2-2.2-.2-4.3-.7-6.4-.7-2 0-3.5 1.8-5.4 1.6-1.3.1-1.2-2.5-2.4-1.8-.6 1.4-.3 2.9-.4 4.4.3.2.9 0 1.2 0h4c.2 1.4.1 3 1.1 4 1.4.5 2.9 0 4.1-.5 1.4-.6 1.6-2.3 2-3.5.4-1.4 2.2-1 3.3-1.6a6.1 6.1 0 0 0 4.1-6.1c-.1-4.1-1.7-8-2.9-11.8-.6-1.7-1-3.4-1.7-5.1 0-.1-.2-.3-.4-.2zm-6.4 23.3c1.4 0 2 1.7 1.8 2.9-.6 1.6-2.6.6-3-.6-.7-1-.2-2.4 1.2-2.3"/>
|
||||
<path d="M230.4 346.5a3.6 3.6 0 0 0-2.1.7c-3.8 2.7-4.8 5.8-2.2 7 1.9.9 1.4 2-1.6 3.5-4.2 2-8 1.8-15-1.1-1.8-.8-2.3-.5-1.9 1.1.4 1.6 1.9 2.4 5.4 3.3 3.9.8 8.5.6 11.5-.7a14.9 14.9 0 0 0 4.6-3.6l2.3-2.5 2.7.3c3.3.4 3.4.5 3.4 2 0 1.3 0 1.4 3.1 1.6l5 .3c1.4 0 2.2.3 2.6 1 .6.7 1 .8 6 .3 4.6-.4 5.6-.4 7.7.4 1.5.5 3.1.7 4.4.5 3.6-.4 8.5-3.3 9.2-5.5.1-.2 1.4-.7 2.9-1 3.6-.7 3.8-1.5.4-1.9a24.3 24.3 0 0 1-4.9-1.2 13 13 0 0 0-3.7-.9c-1.8 0-3.6 1.1-3.6 2.3 0 .8.3.9 2.5.7 2-.3 2.6-.2 3.6.7.8.6 1.2 1.2 1 1.4-.4.8-4.6 2.7-6.5 3a5 5 0 0 1-3.2-.4c-1.7-.8-4.1-1-4.6-.3-.1.4-.7.2-1.4-.5l-1-1-2.6 1c-2.6 1-3.5 1-3.5-.2 0-.6-.7-.6-4.5-.4-4.2.3-4.6.2-5.4-.6-.7-.8-.7-1.1-.2-2 .5-.7.5-1 0-1.5-.4-.4-1-.4-2.6 0-4.1 1.1-5.3.5-5.3-2.7 0-2-1.1-3.1-2.5-3.1m-1 3c.2 0 .3 0 .6.4.4.3.6 1 .4 1.4-.3 1-2.1.9-2.5-.1-.1-.5 0-1 .6-1.4z"/>
|
||||
<path d="M222 352.4c2.4-1.6 2.4-1.4 2.7-5.9.3-3 .3-3.3-.6-3.3-1.2 0-1.9 1.3-1.9 3.9 0 1.6-.2 2.4-1 3.3-2.2 2-7.4 1.1-8-1.5-.2-.9 0-1.7 1.1-3.2 2.3-3.2 1.8-4-1-1.6-2 1.7-2.3 1.7-1.9.3.3-1.3-.4-1.9-2-1.5-.7.2-1.1.7-1.3 1.7-.2 1-.7 1.5-1.4 1.6-1.3.4-3.4-.8-3.4-1.9 0-.7 3.2-4.6 7.3-9a19 19 0 0 0 2.9-3.3c0-.2-.9-.4-1.9-.4-1.5 0-1.8.2-1.8.9 0 .4-2.1 3.2-4.7 6-5.3 6-5.7 7.3-3 8.8a6.4 6.4 0 0 0 6.9-.2l1.7-1.2v2.2c0 2.7.5 3.6 2.7 4.8a8.5 8.5 0 0 0 8.5-.5zm111.3-36.9c-2 1.2-.5 3.7-.2 5.3-.8 2.2-3.6 2.8-5.7 3.3-3 .4-5.1 3-6.2 5.6-.6 1.7-2.1 4.3-3.7 1.7-1.4-1.4-4-2.5-5.6-.9-1.3 1.2-1.6 3-2.1 4.6-.7-1.2-1-3-2.6-3.4-2.5.3-1.6 3.5-.5 4.8 1.1 1.5 2.1 3.5 1 5.3-.8 2.2-4 3.6-6 1.8-1.7-1-.5-4.3-2.2-4.5-.9.7-1 4.1-2.3 2.2-1-1.6-.5-3.8-1.7-5.2-1.4.2-2.6 2.6-2.1 4a23 23 0 0 1 3.4 8.8c.5 1.3 0 3.7 1.1 4.2.8-2 0-4.2.7-6.2 1.8-.2 4 .6 5.9.2 2.8-.4 5-2.7 5.9-5.2.3-2 0-3.8-.1-5.7 2.2.3 4.5.3 6.6 1 1 1.6-.3 3.9-.6 5.6-1.1 3.6-4 6.2-6.7 8.6-1.1.7-1.3 2.5.4 1.6 3.7-1.6 6.4-5 8-8.6 1.2-2.7.2-5.8 1-8.6 1.1-2.2 3.8-1.7 5.8-1.7 2-.1 3.8-2.5 3-4.5-.6-2.3 1.9-3.4 3.5-4.2 2.2-1.1 4-3.4 3.8-6-.1-1.3 0-3.8-1.8-3.9m-7.9 13.3c2.4.7-.4 5.2-1.7 2.3-.3-1 .6-2.3 1.7-2.3m-11 3.3c3.1-.2 2 4.3-.6 2.3-1.4-.7-1-2.4.6-2.3m-111.7 17.4c.1-.5-.1-.8-.5-.8-.9 0-1.4.8-1 1.4.4.7 1.4.3 1.5-.6m36.2-4c0-.7-.3-1-.8-.8-1.2.2-1.4 1.7-.2 1.7.7 0 1-.3 1-1zm-44.7-21.7c-1.5-.3-2.4.9-2.9 2-1 1.9-2.4 3.7-4.3 4.7-1.4.4-3-.2-4.1-.9-1.5-.7-1.1-2.4-1.8-3.6-1-.8-2.8.3-2.8 1.6-.1 1.7 1.5 2.7 2.8 3.3 1.1.7 2.7 1.1 3.2 2.5 0 1.2.4 2.5 1.9 2 1.6 0 2 2 1.3 3.2a6.8 6.8 0 0 0-.8 4.3c.8.7 1.6-1 2.2-1.6l1.1-1.5c2.8.2 5.7.5 8.5.4 2 0 3.8-1.3 5-2.7 1.9-2 3.4-4.2 5.5-5.8 1.5-.4.7-3.2-.9-2.4-1.4.6-1.8 2.1-2.8 3.1-1.6 2-3.3 4-5.4 5.6-1.5.6-3.2.4-4.8 0-.6-.5 1.3-1 1.6-1.6.9-1 2-1.8 2.4-3-.5-1-2-1.1-3-1.1-2.7.3-4.7 2.5-7.3 2.7-2 0-1-2.1 0-2.8 1.7-2.1 3.6-4.1 5.5-6.2.5-.6 2.4-1.2 1.2-2-.4-.2-.9-.2-1.3-.2m1.3 10.6c1.3.7-.9 2-1.8 1.8-1.2.3-1.2-.9-.2-1.1.6-.3 1.3-.7 2-.7m-4.1 2.8c.7 0 2.3.7.8 1.1-1 .8-2.2-.8-.8-1.1"/>
|
||||
<path d="M223.4 339c0-1-1.8-.9-2 .2-.1.6 0 .8 1 .7.5-.1 1-.5 1-.9m79.7-7c.2-1-1.2-1.6-1.9-1-.7.8 0 2.1 1 2 .4-.2.8-.6.9-1m-124-9.8c1.2-1 1.2-1.1.7-3.5-.8-3.3-.7-3.7.5-4 1.6-.4 5.7 1.8 6.6 3.5.7 1.4.7 1.4-.5 2.5-1.3 1.2-1.3 2.6 0 2.6 1 0 4-2.8 4-3.8 0-1.3-3.3-4.6-5.8-5.8a11.4 11.4 0 0 0-5-1c-3.3 0-3.7.7-2.9 4.5 1 4.4-.3 5-4 1.7a11.1 11.1 0 0 1-3.6-9.2c0-4.4 1.7-6.6 5.4-7 2.6-.4 2.5-1 0-1.4-3.9-.6-7 2-8.3 6.4-1.3 5 1.8 11.1 7.2 14.2 2.9 1.7 4 1.7 5.7.3m148.5-5.5c.3-.3.5-1 .5-1.5s.6-1.7 1.2-2.5a7.2 7.2 0 0 0 1.2-2c0-.9-1.5-.8-2.6 0-1.2 1-2 1-2 .1 0-.2.5-.7 1.2-1 1.7-.8 1.8-1.6.4-2.3-1.9-.8-3.7.7-3.9 3.2-.1 1.7 0 2 1.3 2.7 1.2.7 1.4 1.1 1.2 2-.3 1.8.4 2.4 1.5 1.3m14-1.6c1-.9 1.8-2 1.8-2.3 0-.3.9-1.2 2-2 3-2.2 3.7-4.4 2.3-7.9-.5-1.3-2.2-3.2-5.8-6.5a37 37 0 0 0-5.7-4.6c-1 0-.9 3.7.1 4 1.9.6 3 1.4 5.8 4 3.4 3 4.9 5.8 4 7.3-.7 1.5-1.8 1-4.8-2-1.5-1.7-3-3-3.3-3-.4 0-.6.5-.6 1.4 0 1 .5 2 2 3.7 2.5 2.8 2.8 4.4 1 5.9-.8.5-1.4 1-1.6 1a35.7 35.7 0 0 0-9.5-10.6c-.5 0-.7.4-.7 1.5 0 1.3.3 1.8 1.3 2.3 1.2.6 4.4 3.8 7.5 7.6.9 1 1.8 2 2 2 .1 0 1.1-.8 2.1-1.8zm6.2-17.8c-.4-1.3-9-10-9.8-10-.5 0-.6.5-.5 1.9 0 1.7.3 2 1.4 2.2.8.3 3 2 5 4s3.8 3.4 4 3.3zm-51 98.7a1.3 1.2 0 1 1-2.4 0 1.3 1.2 0 1 1 2.5 0zm4.6-1.5a1.3 1.2 0 1 1-2.6 0 1.3 1.2 0 1 1 2.6 0"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 14 KiB |
674
changedetectionio/static/flags/1x1/bo.svg
Normal file
@@ -0,0 +1,674 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bo" viewBox="0 0 512 512">
|
||||
<path fill="#007934" d="M0 0h512v512H0z"/>
|
||||
<path fill="#ffe000" d="M0 0h512v341.3H0z"/>
|
||||
<path fill="#d52b1e" d="M0 0h512v170.7H0z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M307.8 224.8 203.3 329.2a97.8 97.8 0 0 0-1.4-1c.4-.5 104-103.8 104.5-104.5a7.4 7.4 0 0 1 1.4 1z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M314.3 218.2c-.4.7-1.5 2.6-1 4l-2.1-1.6c.5 1 .4 1.5-.2 1.9-.3.4-1.5.3-2.2.2a6 6 0 0 0 2.6 1l2 .1c-.6.3-2.3.9-3.4 1-.6.2-1.7.3-2.2 0-.6.6-2-.4-1.3-1-.3-.4-.3-.9-.4-1.5 0-.8 0-2 .7-3.2 0 .6.3 1.2.5 1.8.2.5.7 1 1.2 1.5-.3-.5-.5-1.3 0-1.9.6-.5 1.4-.5 2.2-.2l-2-1.4c.8 0 3.5-1 4.4-1.6a67 67 0 0 0 5.2-4 57.6 57.6 0 0 0-4 4.9z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m327.5 237.6-134 75.7-1-1.3c.5-.4 133.2-75.2 134-75.7a6.3 6.3 0 0 1 1 1.3z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M335.9 232.8c-.6.6-2.3 2.2-2.3 3.6-.7-.7-1-1.2-1.6-2 .3 1 0 1.6-.7 1.8-.4.3-1.5 0-2.2-.3.6.6 1.2 1.2 2.2 1.6l1.9.5c-.7.2-2.5.3-3.7.2-.5 0-1.6-.2-2-.6-.8.5-1.8-.8-1-1.3-.2-.3 0-.8.1-1.4.2-.8.7-2 1.7-3a8.3 8.3 0 0 0 0 1.9c0 .6.3 1.1.6 1.7-.1-.5 0-1.3.7-1.7.7-.5 1.5-.3 2.1.2l-1.5-1.8c.8.2 3.7-.2 4.7-.5s4.4-1.8 6.4-2.7a65 65 0 0 0-5.4 3.8z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m316 232-120.4 90.9-1.2-1.2 120.5-90.9a6.3 6.3 0 0 1 1.2 1.2z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M323.6 226.2c-.5.7-2 2.4-1.7 3.9l-1.8-1.8c.4 1 .1 1.5-.5 1.8-.4.4-1.5.2-2.2 0 .7.5 1.4 1 2.4 1.3l2 .3c-.7.3-2.4.6-3.6.7-.6 0-1.7 0-2.1-.4-.7.5-2-.6-1.2-1.2-.2-.3-.2-.8-.1-1.5 0-.7.4-2 1.2-3a8.4 8.4 0 0 0 .2 1.8c.1.6.5 1 1 1.6-.3-.5-.3-1.3.3-1.8.7-.5 1.5-.4 2.1 0l-1.7-1.7c.8.1 3.6-.6 4.6-1 1-.4 4-2.2 5.8-3.4a61.8 61.8 0 0 0-4.7 4.4z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m204.2 224.8 104.5 104.4a97.8 97.8 0 0 1 1.4-1L205.5 223.6l-1.3 1z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M197.7 218.2c.3.7 1.5 2.6 1 4l2.1-1.6c-.5 1-.4 1.5.2 1.9.3.4 1.5.3 2.2.2a6 6 0 0 1-2.6 1l-2 .1c.6.3 2.3.9 3.4 1 .6.2 1.7.3 2.2 0 .6.6 2-.4 1.4-1 .2-.4.3-.9.3-1.5a6.2 6.2 0 0 0-.7-3.2 8.5 8.5 0 0 1-.5 1.8c-.2.5-.7 1-1.2 1.5.3-.5.5-1.3 0-1.9-.6-.5-1.4-.5-2.2-.2l2-1.4c-.8 0-3.5-1-4.4-1.6a67 67 0 0 1-5.2-4c1.3 1.4 3.6 4.1 4 4.9z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m184.5 237.6 134 75.7 1-1.3c-.5-.4-133.2-75.2-134-75.7z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M176.1 232.8c.6.6 2.3 2.2 2.4 3.6l1.4-2c-.2 1 .2 1.6.8 1.8.4.3 1.5 0 2.2-.3a5.4 5.4 0 0 1-2.2 1.6l-1.9.5c.7.2 2.5.3 3.6.2.6 0 1.7-.2 2.1-.6.8.5 1.8-.8 1-1.3.2-.3 0-.8-.1-1.4a6.8 6.8 0 0 0-1.7-3v1.9c0 .6-.3 1.1-.6 1.7.1-.5 0-1.3-.7-1.7-.7-.5-1.5-.3-2.1.2l1.4-1.8c-.7.2-3.6-.2-4.6-.5-1-.3-4.4-1.8-6.4-2.7a65 65 0 0 1 5.4 3.8z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m196 232 120.4 90.9 1.2-1.2-120.5-90.9-1.2 1.2z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M188.4 226.2c.5.7 2 2.4 1.7 3.9l1.8-1.8c-.4 1-.1 1.5.5 1.8.4.4 1.5.2 2.2 0-.6.5-1.4 1-2.4 1.3l-2 .3c.7.3 2.4.6 3.6.7.6 0 1.7 0 2.1-.4.7.5 2-.6 1.2-1.2.2-.3.2-.8.1-1.5 0-.7-.4-2-1.2-3a8.4 8.4 0 0 1-.2 1.8c-.1.6-.5 1-1 1.6.3-.5.3-1.3-.3-1.8-.7-.5-1.5-.4-2.2 0l1.8-1.7c-.8.1-3.6-.6-4.6-1a70.7 70.7 0 0 1-5.8-3.4z"/>
|
||||
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M234.8 302.4a40.8 40.8 0 0 1 17.8-4c-8.5 6.5-17 6.8-17.8 4z"/>
|
||||
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M234.8 302.4c.8 2.8 9.3 2.5 17.8-3.9a67 67 0 0 1-17.7 3.9z"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M234.8 302.4c.8 2.8 9.3 2.5 17.8-3.9a67 67 0 0 1-17.7 3.9z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M234.8 302.3a44 44 0 0 1 17.8-3.9c-8.4 6.5-17 6.7-17.8 4z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m285.4 234.8-27.2 55.8c-1.3 1.1-2.4-.3-2.8-.2-1.7 1.9-3.9 2.3-4.4 2.7-1.9 2.5-.8 4.6-.7 4.8 1.4 2-1.7 3.8-1.5 4.4-.7 1-3 .8-3.4 2l-5 10c-.8.5-4 6.5-4 6.5-2.2 0-10.9-5.6-11-5.5 4.8-7.8 16.5-19.7 16.2-20.5 3.3-5.6 8.5-11.6 10.8-11.5 3.2-1.7 4.8-6 4.1-7 2.5-.1 3.8-1.6 4-1.7l20-40c1.7-.6 1.5.1 2 1 0 0 1-1.2 1-1.4 1-.4 1.9.2 1.9.6z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M286.4 222.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.2l-32 65.2c-1.3 1.1-2.6-.2-3 0l21.9-44.7 10.6-20-2.9-1.3c-.9-.2-1.2-.8-.8-1.7l13.4-23-10.7 22.3-.3.5"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M286.4 222.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.2l-32 65.2c-1.3 1.1-2.6-.2-3 0l21.9-44.7 10.6-20-2.9-1.3c-.9-.2-1.2-.8-.8-1.7l13.4-23-10.7 22.3-.3.5"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M244 290.6c-3-.1-4.8 2.2-2.8 5m1.5-2.5c-1.1.6-1.9-.4-1.9-.4m16.3-14c-1.7 6-4.7 10-5.3 11.2-2.3 2.4-4.2 7.7-3.8 8.7l-8.7 14.2"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M258.1 290.9c-1.4-.5-6.1-4.9-10.7-4.1-3.5 4-5.6 8.2-6.2 8.8a60 60 0 0 0 8.1 5.8c.7-.5 1-1.7 1-1.7 1-1-.1-1.8-.1-1.8.1-2.7 2-4.5 4-4.6 2.4-.2 1.7-.4 2-.4 1.1-.6 1.9-2 1.9-2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M258.1 290.9c-1.4-.5-6.1-4.9-10.7-4.1-3.5 4-5.6 8.2-6.2 8.8a60 60 0 0 0 8.1 5.8c.7-.5 1-1.7 1-1.7 1-1-.1-1.8-.1-1.8.1-2.7 2-4.5 4-4.6 2.4-.2 1.7-.4 2-.4 1.1-.6 1.9-2 1.9-2z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M253.4 291c-2.1 0-4.3 1-5 2.8l5-2.8"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M253.4 291c-2.1 0-4.3 1-5 2.8m-3.9.7c.2.4.8.7 1.3.5.5-.2.8-.7.6-1.1-.2-.5-.8-.7-1.3-.5-.5.2-.8.6-.6 1.1zm2.7-3.6c.2.4.8.6 1.3.5.5-.2.8-.7.6-1.2-.2-.4-.8-.6-1.3-.4-.5.1-.8.6-.6 1z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M283 241.2c.8-.3 1.2-1.3.8-2.2l-5-1.8s-.6.1-1 .8c-.6.7.1 1.3.1 1.3l5.1 1.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M283 241.2c.8-.3 1.2-1.3.8-2.2l-5-1.8s-.6.1-1 .8c-.6.7.1 1.3.1 1.3l5.1 1.9"/>
|
||||
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M228.8 305.1c4.2-2.9 16-4.6 17.7-4.1-8.3 6.6-16.9 7-17.7 4.1z"/>
|
||||
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M228.9 305.1c.8 2.8 9.3 2.5 17.6-4a66 66 0 0 1-17.6 4z"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M228.9 305.1c.8 2.8 9.3 2.5 17.6-4a66 66 0 0 1-17.6 4z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M228.8 305.1a42.6 42.6 0 0 1 17.8-4.2c-8.4 6.6-17 7-17.8 4.2z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="M278 236.9 252 293c-1.3 1-2.5-.3-2.9-.2-1.5 1.9-3.8 2.3-4.2 2.7-1.9 2.6-.8 4.7-.7 4.9 1.5 1.8-1.6 3.7-1.4 4.3-.6 1.1-2.9 1-3.3 2.2-.1-.1-4.5 9-5 10-.6.5-3.7 6.5-3.7 6.5-2.3 0-11-5.4-11.2-5.3 4.7-7.9 16.1-20 15.9-20.7 3.2-5.6 8.3-11.7 10.5-11.7 3.2-1.8 4.7-6.1 4-7 2.5-.2 3.8-1.7 4-1.8l19.2-40.3c1.7-.6 1.4 0 2 1l1-1.4c.9-.5 1.8.2 1.8.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M278 236.9 252 293c-1.3 1-2.5-.3-2.9-.2-1.5 1.9-3.8 2.3-4.2 2.7-1.9 2.6-.8 4.7-.7 4.9 1.5 1.8-1.6 3.7-1.4 4.3-.6 1.1-2.9 1-3.3 2.2-.1-.1-4.5 9-5 10-.6.5-3.7 6.5-3.7 6.5-2.3 0-11-5.4-11.2-5.3 4.7-7.9 16.1-20 15.9-20.7 3.2-5.6 8.3-11.7 10.5-11.7 3.2-1.8 4.7-6.1 4-7 2.5-.2 3.8-1.7 4-1.8l19.2-40.3c1.7-.6 1.4 0 2 1l1-1.4c.9-.5 1.8.2 1.8.6z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M278.8 224.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.1L252 293.1c-1.3 1-2.6-.3-3 0l21-45 10.2-20.2-3-1.2c-.9-.2-1.1-.8-.8-1.7l13-23.3-10.4 22.6-.2.4"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M278.8 224.7c-.5 1 .3 1 .6 1.2l1.2.3c1.3 0 2 .7 2 1.1L252 293.1c-1.3 1-2.6-.3-3 0l21-45 10.2-20.2-3-1.2c-.9-.2-1.1-.8-.8-1.7l13-23.3-10.4 22.6-.2.4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M237.8 293.2c-3.1 0-4.8 2.3-2.7 5m1.4-2.5c-1.1.7-1.8-.3-1.8-.3m16-14.2c-1.6 6-4.5 10-5.1 11.3-2.3 2.3-4 7.7-3.7 8.6l-8.3 14.4"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M251.9 293.3c-1.5-.5-6.2-4.7-10.8-4-3.4 4.2-5.4 8.4-6 9a55 55 0 0 0 8.2 5.6c.7-.4 1-1.6 1-1.6 1-1-.2-1.9-.2-1.9 0-2.6 2-4.5 3.9-4.6 2.4-.3 1.7-.4 2-.5 1.1-.6 1.9-2 1.9-2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M251.9 293.3c-1.5-.5-6.2-4.7-10.8-4-3.4 4.2-5.4 8.4-6 9a55 55 0 0 0 8.2 5.6c.7-.4 1-1.6 1-1.6 1-1-.2-1.9-.2-1.9 0-2.6 2-4.5 3.9-4.6 2.4-.3 1.7-.4 2-.5 1.1-.6 1.9-2 1.9-2z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M247.2 293.5c-2.1 0-4.3 1-5 2.8l5-2.8"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M247.2 293.5c-2.1 0-4.3 1-5 2.8m-3.8.8c.2.5.8.7 1.3.5.5-.2.7-.7.5-1.1-.2-.5-.8-.6-1.3-.5-.5.2-.7.7-.5 1.1zm2.6-3.7c.2.5.8.7 1.3.5.5-.2.7-.7.5-1-.2-.5-.7-.7-1.2-.6s-.8.7-.6 1.1z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M275.8 243.3c.8-.4 1.2-1.3.7-2.2l-5-1.7s-.6 0-1 .8c-.6.7.1 1.2.1 1.2l5.2 1.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M275.8 243.3c.8-.4 1.2-1.3.7-2.2l-5-1.7s-.6 0-1 .8c-.6.7.1 1.2.1 1.2l5.2 1.9"/>
|
||||
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M278 302.2a41 41 0 0 0-18-4c8.6 6.6 17.2 6.8 18 4z"/>
|
||||
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M278 302.2c-.8 2.8-9.4 2.6-18-3.9a68 68 0 0 0 18 3.9z"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M278 302.2c-.8 2.8-9.4 2.6-18-3.9a68 68 0 0 0 18 3.9z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M278 302.1c-4.5-3-17-4.2-18-3.9 8.6 6.5 17.2 6.8 18 4z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m226.9 234 27.4 56.4c1.4 1 2.5-.4 3-.2 1.6 1.8 3.8 2.2 4.3 2.6 2 2.6.9 4.7.8 4.9-1.5 2 1.6 3.8 1.5 4.4.6 1 3 .8 3.4 2.1l5.1 10c.7.5 4 6.6 4 6.6 2.3 0 11-5.7 11.2-5.6-5-7.8-16.7-19.9-16.5-20.7-3.3-5.6-8.6-11.7-10.9-11.6-3.2-1.7-4.8-6-4.1-7-2.5-.1-3.9-1.6-4-1.7l-20.3-40.5c-1.7-.6-1.4.1-2 1.1l-1-1.4c-1-.5-1.9.2-1.9.6z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M225.8 221.7c.6 1-.3 1-.5 1.2l-1.2.4c-1.3 0-2 .7-2 1l32.2 66c1.4 1.1 2.7-.2 3.1 0l-22.1-45.1-10.7-20.3 2.9-1.2c.9-.2 1.2-.8.8-1.8l-13.6-23.3 11 22.7.1.4"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M225.8 221.7c.6 1-.3 1-.5 1.2l-1.2.4c-1.3 0-2 .7-2 1l32.2 66c1.4 1.1 2.7-.2 3.1 0l-22.1-45.1-10.7-20.3 2.9-1.2c.9-.2 1.2-.8.8-1.8l-13.6-23.3 11 22.7.1.4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M268.7 290.3c3.1-.1 4.9 2.2 2.8 5m-1.4-2.5c1 .6 1.8-.4 1.8-.4m-16.4-14c1.7 6 4.7 10 5.3 11.2 2.3 2.4 4.3 7.8 3.9 8.7l8.7 14.4"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M254.5 290.6c1.4-.5 6.1-5 10.8-4.2 3.5 4.2 5.6 8.3 6.2 9a53 53 0 0 1-8.2 5.8c-.7-.5-1-1.7-1-1.7-1-1 .2-1.9.2-1.9-.1-2.6-2-4.5-4-4.6-2.5-.2-1.8-.4-2.1-.4a6.2 6.2 0 0 1-2-2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M254.5 290.6c1.4-.5 6.1-5 10.8-4.2 3.5 4.2 5.6 8.3 6.2 9a53 53 0 0 1-8.2 5.8c-.7-.5-1-1.7-1-1.7-1-1 .2-1.9.2-1.9-.1-2.6-2-4.5-4-4.6-2.5-.2-1.8-.4-2.1-.4a6.2 6.2 0 0 1-2-2z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M259.2 290.7c2.1 0 4.4 1 5 2.8l-5-2.8"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M259.2 290.7c2.1 0 4.4 1 5 2.8m4 .7c-.2.5-.8.7-1.3.6-.5-.2-.8-.7-.6-1.2.2-.4.8-.6 1.3-.5.5.2.8.7.6 1.1zm-2.7-3.6c-.2.4-.8.6-1.3.4-.6-.1-.8-.6-.6-1 .2-.5.8-.7 1.3-.6.5.2.8.7.6 1.2z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M229.3 240.4c-.8-.3-1.2-1.3-.8-2.2l5-1.8s.7 0 1.2.8c.5.7-.2 1.2-.2 1.2l-5.2 2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M229.3 240.4c-.8-.3-1.2-1.3-.8-2.2l5-1.8s.7 0 1.2.8c.5.7-.2 1.2-.2 1.2l-5.2 2"/>
|
||||
<path fill="#00e519" stroke="#000" stroke-width=".1" d="M283.3 305.1c-4-2.9-16-4.6-17.7-4.1 8.4 6.6 17 7 17.7 4.1z"/>
|
||||
<path fill="#ffe533" stroke="#000" stroke-width=".1" d="M283.3 305.1c-.8 2.8-9.3 2.5-17.6-4a66 66 0 0 0 17.6 4z"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M283.3 305.1c-.8 2.8-9.3 2.5-17.6-4a66 66 0 0 0 17.6 4z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M283.3 305.1a42.6 42.6 0 0 0-17.7-4.2c8.4 6.6 17 7 17.7 4.2z"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m234.1 236.9 26 56.2c1.4 1 2.5-.3 3-.2 1.5 1.9 3.7 2.3 4.2 2.7 1.8 2.6.8 4.7.6 4.9-1.4 1.8 1.6 3.7 1.5 4.3.6 1.1 2.9 1 3.3 2.2.1-.1 4.5 9 4.9 10 .7.5 3.8 6.5 3.8 6.5 2.2 0 11-5.4 11.2-5.3-4.7-7.9-16.2-20-16-20.7-3-5.6-8.2-11.7-10.5-11.7-3.1-1.8-4.6-6.1-4-7-2.4-.2-3.7-1.7-3.9-1.8L239 236.7c-1.7-.6-1.4 0-2 1l-1-1.4c-.9-.5-1.8.2-1.9.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m234.1 236.9 26 56.2c1.4 1 2.5-.3 3-.2 1.5 1.9 3.7 2.3 4.2 2.7 1.8 2.6.8 4.7.6 4.9-1.4 1.8 1.6 3.7 1.5 4.3.6 1.1 2.9 1 3.3 2.2.1-.1 4.5 9 4.9 10 .7.5 3.8 6.5 3.8 6.5 2.2 0 11-5.4 11.2-5.3-4.7-7.9-16.2-20-16-20.7-3-5.6-8.2-11.7-10.5-11.7-3.1-1.8-4.6-6.1-4-7-2.4-.2-3.7-1.7-3.9-1.8L239 236.7c-1.7-.6-1.4 0-2 1l-1-1.4c-.9-.5-1.8.2-1.9.6z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M233.3 224.7c.5 1-.3 1-.6 1.2l-1.1.3c-1.3 0-2 .7-2 1.1l30.6 65.8c1.3 1 2.6-.3 3 0l-21-45-10.2-20.2 3-1.2c.8-.2 1.1-.8.7-1.7l-12.9-23.3 10.3 22.5.2.5"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M233.3 224.7c.5 1-.3 1-.6 1.2l-1.1.3c-1.3 0-2 .7-2 1.1l30.6 65.8c1.3 1 2.6-.3 3 0l-21-45-10.2-20.2 3-1.2c.8-.2 1.1-.8.7-1.7l-12.9-23.3 10.3 22.5.2.5"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M274.3 293.2c3.2 0 4.9 2.3 2.8 5m-1.4-2.5c1 .7 1.8-.3 1.8-.3m-16-14.2c1.6 6 4.5 10 5 11.3 2.3 2.3 4.1 7.7 3.8 8.6l8.3 14.4"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M260.3 293.3c1.4-.5 6.2-4.7 10.8-4 3.4 4.2 5.4 8.4 6 9a53.2 53.2 0 0 1-8.3 5.6c-.6-.4-1-1.6-1-1.6-.8-1 .3-1.9.3-1.9 0-2.6-2-4.5-3.9-4.6-2.4-.3-1.7-.4-2-.5-1.1-.6-1.9-2-1.9-2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M260.3 293.3c1.4-.5 6.2-4.7 10.8-4 3.4 4.2 5.4 8.4 6 9a53.2 53.2 0 0 1-8.3 5.6c-.6-.4-1-1.6-1-1.6-.8-1 .3-1.9.3-1.9 0-2.6-2-4.5-3.9-4.6-2.4-.3-1.7-.4-2-.5-1.1-.6-1.9-2-1.9-2z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M265 293.5c2 0 4.3 1 5 2.8l-5-2.8"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M265 293.5c2 0 4.3 1 5 2.8m3.8.8c-.2.5-.8.7-1.3.5-.5-.2-.8-.7-.6-1.1.2-.5.8-.6 1.3-.5.6.2.8.7.6 1.1zm-2.6-3.7c-.2.5-.8.7-1.3.5-.5-.2-.8-.7-.6-1 .2-.5.8-.7 1.3-.6.5.2.8.7.6 1.1z"/>
|
||||
<path fill="#cce5e5" stroke="#000" stroke-width=".1" d="M236.4 243.3a1.6 1.6 0 0 1-.8-2.2l5-1.7s.7 0 1.1.8c.5.7-.2 1.2-.2 1.2l-5 1.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M236.4 243.3a1.6 1.6 0 0 1-.8-2.2l5-1.7s.7 0 1.1.8c.5.7-.2 1.2-.2 1.2l-5 1.9"/>
|
||||
<path fill="#a05a2c" stroke="#000" stroke-width=".1" d="m251 267.4 37.8-40.5a94.1 94.1 0 0 1-1.4-1l-38 40.5c-.5-.2 2 1.3 1.5 1z"/>
|
||||
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M287.8 226.3c-1.3-1-3.7-2.3-5.3-2-.6-2.2 2.7-4.6 4-4.2-.3 2.5 3.4 4 3.3 4l-2 2.3z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M290.3 224.4c1 .9 1.4 1 3 1.7 1.4.8 3.4-1.2 4.3-1.8 0 0 1 3.6-1.2 6s-4.9 3-7 2.2c0 0 2.8-2.7 1.7-3.9-1.1-1.1-1.5-1.2-2.6-2"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M19.4-370.2h4.4v2.4h-4.4z" transform="matrix(-.67726 .73575 -.82314 -.56784 0 0)"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m243.4 309.7-1 9.6 1.9-2.4c.3-.6 1.6-2.2 1.9-7.9 0 0-1-3-1.5-3-.8-.5-1.3 3.7-1.3 3.7zm2.3-21.5L243 305c0 .4 1.3 1.7 2.3-1.3l1.5-11.2-1-4.4z"/>
|
||||
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M251.6 303.5c-.6-.8-1.4-1.7-1.5-2.1l-.4 3.4s2.1 1.5 1.8 4.6l.5-.6.2-1.3s.5-2 .5-3.2c0 0-.5-.2-1.1-.8z"/>
|
||||
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M242.4 319.3s3.6-3 3.8-10.3l.4-2s0 1.6.8.4c.7-1.6.7-3 .7-3s1.3-1.6 1.7.4l-1.3 10.2a54.8 54.8 0 0 1-.3 2.2s-.7-1.2-1.4 0c-.8 1.3-2 2.9-4.4 2.1zm4.3-26.7-1.5 11.2s1.2.6 1.4 3.2c.1 1.2.6.6.8.4.3-.8 0-2.4 0-2.4l.8-7.8s-1.4-3.6-1.5-4.6z"/>
|
||||
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m245.5 318.7-.2 2.8s1 0 1.8-1.2c.8-1.3 1-3 1-3s-.7-1.3-1.3 0a4 4 0 0 1-1.3 1.4zm2-11.3a6.3 6.3 0 0 0 .6-3l-.8.6c.3 1.2.1 2.4.1 2.4z"/>
|
||||
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M251 306.3c-.6-1-1.4-1.6-1.4-1.6l-1.6 12.7s-.4 3.2-2.4 4c0 0 1.1 11 4.7 8 .5-.5 1.2-3.9 1-5.9l-1-6.4a28.5 28.5 0 0 1 1.2-7.8c.2-.2 0-1.8-.6-3z"/>
|
||||
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m252.7 304.3 1.1 1c.2 0-2.5 20.7-2.5 20.7s0-2.2-.7-6.4c-.7-3.4.2-8 1-10.2 0 0 .8-.7 1-5z"/>
|
||||
<path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m248 297.4-.6 7.6s1.8-2.6 2.3-.2l.4-3.5s-1.6-2.5-2-4z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.7 307s-.6-6.5-3.8-2c0 0-.3 2.7 0 3.3 0 .8.9 1.8 1.3 2.5.7 1 1.4-.3 1.4-.3s.7-1 1-3.5z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M221.7 252.7c-.2-3.7-1.3-9.8-1.4-14l-12.8-13.1s-1.6 10.5-6.2 16.6l20.3 10.5"/>
|
||||
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="M222.6 253.2c.5-2.6 1.2-5.5 1.6-11l-8.2-8c0 3.4-3.8 8.6-4.1 15"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M229.7 261c1-4.5-1.4-5.1 2-11.5l-7.6-7.3c-1.4 4.3-2.3 7-2.2 10.8l6.5 4.6"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M200 288c-1.5-4.5.6-13.5.4-19.3-.2-3.7 2.5-17.6 2.5-21.9l-15-9.4s-.7 15.3-2.5 32a66.3 66.3 0 0 0-.4 22.8c1.6 9.3 3.2 13.1 7 17 6.6 7 20.9 3 20.9 3 12-2.6 19-10.2 19-10.2s-4 1-10.3 1.6c-14-1-19.4 2.5-19.8-11.8"/>
|
||||
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m240.4 297.4.2-.1c-2.6 1-6.2 2-6.2 2l-8.5.7c-18.4.4-16.1-11-15.4-29.4.2-7 1.6-15.8 1.2-18.9l-12.3-7c-4 11.3-2.8 19.3-3.6 25-.4 6.4-1.8 18.6.3 24 2.9 12.4 12.6 11.9 25.8 10.8 6.5-.6 10-2.3 10-2.3l8.5-4.9"/>
|
||||
<path fill="#007a3d" stroke="#000" stroke-width=".1" d="M240.6 297.1a37.3 37.3 0 0 1-6.3 2.3l-8.6.9c-13.3 1-21.1-8.3-19.4-29.5A66 66 0 0 1 209 250l7.3 4.3v.7c-.4 2.2-1.4 7.5-1.4 9.9 0 17 10.7 30 25.4 32.3l.2-.1"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M192 246c1.2 2 8.6 13.3 12.7 15.5m-11.5-8.2c1.2 2.1 10.3 14.9 14.4 15.6m-16.5 3.9c2 2.5 4.1 7.4 10.3 10.6M194 287c4.1 4 14.4 12.4 24.3 12.8m-24.3-6.4c2 2.5 6.6 14.2 25.6 8.9m-28.5-6.7c1.2 2.8 10.8 18.4 27.7 12.3"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M211 282.5c-1.6-4.6.5-13.6.3-19.4-.2-3.7 1.5-16.5 1.5-20.8l-14.1-10.5s-.7 15.3-2.4 32c-1.6 8.5-2.7 19-1.6 25.5 2 10.6 7 13.6 8 14.5 7.2 6.4 23.4 5.7 25 5.2 11.6-4.2 16.6-11.6 16.6-11.6s-5.5 0-11.8.6c-14-1-21-.4-21.4-14.7"/>
|
||||
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="m251.3 291.8.2-.2c-2.6 1-6.2 2.1-6.2 2.1l-8.5.7c-18.4.4-16.1-11-15.4-29.4.2-7 .4-13.3 0-16.4l-11-8c-4 11.3-3 17.8-3.7 23.6-.4 6.3-1.8 18.5.3 23.8 2.8 12.5 12.6 12 25.7 10.9 6.6-.6 10-2.3 10-2.3l8.6-4.9"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M251.6 291.6a37 37 0 0 1-6.3 2.3l-8.6.8c-13.3 1.2-21.2-8.2-19.5-29.4 0-7.5-.2-8 2.4-18 4 2.6 11.9 9.3 11.9 9.3s-2.1 3-1.6 7.2c0 17 6.8 25.7 21.5 27.9l1.6-14"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M202.8 240.3a60.7 60.7 0 0 0 12.8 15.6m-11.5-8.2c1.2 2.2 10.3 14.9 14.4 15.6m-16.5 3.9c2 2.5 4.1 7.4 10.3 10.6m-7.4 3.5c4.1 4 14.4 12.4 24.3 12.8m-24.3-6.4c2 2.5 6.6 14.2 25.6 8.9m-28.5-6.7c1.2 2.8 10.7 18.4 27.7 12.3"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m188 238.9-.8 6.4c-.3 4.7-.1 8.2.1 10.5 0 .2.9 5.8.6 6.1-1 1.3-1.1 1.4-2.3.5-.1-.2.5-6 .6-6.8l.4-10.5c0-1.1 1-6.8 1-6.8s.1-1.3.3.6"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m188 238.9-.8 6.4c-.3 4.7-.1 8.2.1 10.5 0 .2 1.1 8 .7 6.1-1 1.3-1.3 1.7-2.4.8-.2-.2.5-6.3.6-7l.4-10.6c0-1.1 1-6.8 1-6.8s.1-1.3.3.6z"/>
|
||||
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="M187.8 237s-1.2 6.5-1.3 10.2c-.2 4.5-.4 5.8-.3 8.5l-.6 4.8c-.1.7.1.1 0 .2-1 .6-1.6.1-2.1-.3-.2-.2 1.5-4 1.5-4.9.9-11.4 2.5-18.2 2.5-18.2s-.6 4.1.3-.3"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M187.8 237s-1.2 6.5-1.3 10.2c-.2 4.5-.4 5.8-.3 8.5l-.6 4.8c-.1.7.1.1 0 .2-1 .6-1.6.1-2.1-.3-.2-.2 1.5-4 1.5-4.9.9-11.4 2.5-18.2 2.5-18.2s-.6 4.1.3-.3zm-.5 18.5s-1 .4-1.1.2m0-1.4s.8 0 1-.2m-.1-1.2s-.7.4-.8.2m.7-1.8h-.6m.7-1.6h-.7m.6-2.3s-.4.2-.4 0m.5-1.9h-.5m-.5 10.2s-1 .1-1.1-.2m1.1-2s-1 0-1-.2m1-1.4h-.8m1-1.5h-.7m.7-1.8-.5-.1m.7-1.5s-.5 0-.6-.2m.7-1.7s-.4.3-.4 0m0 9.6s-1 0-1-.3m13.6-21.1-.7 6.4c-.3 4.7-.1 8.3 0 10.5 0 .2 1 5.8.7 6.1-1.1 1.3-1.2 1.4-2.3.5-.2-.2.5-6 .5-6.8.2-.8.3-7.5.5-10.5 0-1.1 1-6.8 1-6.8s.1-1.3.3.6"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m198.8 233.3-.7 6.4a70 70 0 0 0 0 10.5c0 .2 1.2 8 .8 6.1-1 1.3-1.3 1.7-2.4.8-.2-.2.5-6.3.6-7l.4-10.6c0-1.1 1-6.8 1-6.8s.1-1.3.3.6z"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M198.7 231.4s-1.2 6.5-1.4 10.2c-.1 4.5-.3 5.8-.2 8.5l-.6 4.8c-.1.7 0 .2 0 .2-1 .6-1.6.1-2.2-.3-.1-.2 1.5-4 1.6-4.9.9-11.4 2.5-18.2 2.5-18.2l.3-.3"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M198.7 231.4s-1.2 6.5-1.3 10.2c-.2 4.5-.4 5.8-.3 8.5l-.6 4.8c-.1.7 0 .2 0 .2-1 .6-1.6.1-2.2-.3-.1-.2 1.5-4 1.6-4.9.9-11.4 2.5-18.2 2.5-18.2zm-.5 18.5s-1 .4-1.1.2m0-1.4s.7 0 .9-.2m0-1.2s-.7.4-.8.2m.7-1.8h-.6m.7-1.6h-.7m.6-2.3s-.4.2-.5 0m.6-1.9h-.6m-.5 10.2s-1 .1-1-.2m1.1-2s-1 0-1-.2m1-1.4h-.8m1-1.5h-.8m.8-1.8-.5-.1m.7-1.5s-.5 0-.6-.2m.7-1.7s-.5.3-.5 0m0 9.6s-1 0-1-.3"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M207.3 225.3s.5 5.5.2 8.6c-.4 3.8-.3 4.9-.7 7v4.3c.9.5 1.6.2 2.2-.1.2-.1-1-3.5-1-4.2.4-9.5-.5-15.3-.5-15.3l-.2-.2"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M207.3 225.3s.5 5.5.2 8.6c-.4 3.8-.3 4.9-.7 7v4.3c.9.5 1.6.2 2.2-.1.2-.1-1-3.5-1-4.2.4-9.5-.5-15.2-.5-15.2zm-.4 15.7s1 .2 1.1 0m-.8-1.8s.9.1 1-.1m-1-1.3h.9m-.8-1.2h.7m-.5-1.6h.5m-.5-1.3h.5m-.4-1.5s.4.3.4 0m-1 8s1 0 1-.2"/>
|
||||
<path fill="#005000" stroke="#000" stroke-width=".1" d="M241 236.4h1z"/>
|
||||
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M252.5 273.5s-.4-.2-.5 0l.2.2zm-1 1.2 2.2-.2"/>
|
||||
<path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M226.3 303.1c-.2 3.3-7.8 7-13.5.2-6-4.8-4.7-12.2 0-13.2l58.3-56.8c2.4-1.3 2.6-2.5 3.8-3.7 2.4 2.6 7.5 7.2 10.2 9.5-1.7 1.4-3 2.7-3.4 3.8z"/>
|
||||
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M275 229.4c2.8-3.8 13.6 6 10.7 9.2-2.9 3-13.3-5.4-10.7-9.2z"/>
|
||||
<path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M284.8 237.8c-2 1.6-10-5-8.6-7.6 2.1-2.4 10.8 6.1 8.6 7.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M281.6 243a16.8 16.8 0 0 1-10.5-9.6m-24.5 48a17.3 17.3 0 0 1-12.2-12.5m9.7 15.3a17.3 17.3 0 0 1-12.2-12.4m-2.3 27.5a19 19 0 0 1-13-13m10.5 15.8a19.2 19.2 0 0 1-13-13"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M212.6 304c-.3 1.5-1 2-2.2 1.5m14.7-2c-2.3 3.6-4.9 2.5-7 2.5"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M209.5 304.2c0 1 .8 1.8 1.8 1.8a1.8 1.8 0 0 0 1.9-1.8c0-1-.8-1.8-1.9-1.8-1 0-1.8 1.1-1.8 2"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M212.8 303.9c-.3 1.4-1 1.9-2.2 1.4m14.5-1.9c-2.3 3.7-4.9 2.6-7 2.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m268.6 309.7 1 9.6-1.9-2.4c-.3-.6-1.6-2.2-1.9-7.9 0 0 1-3 1.5-3 .8-.5 1.3 3.7 1.3 3.7zm-2.4-21.5 2.9 16.9c0 .4-1.3 1.7-2.3-1.3l-1.5-11.2 1-4.4z"/>
|
||||
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M260.4 303.5c.6-.8 1.4-1.7 1.5-2.1l.4 3.4s-2.2 1.5-1.8 4.6l-.5-.6-.2-1.3-.5-3.2s.5-.2 1.1-.8z"/>
|
||||
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M269.6 319.3s-3.6-3-3.8-10.3l-.4-2s0 1.6-.8.4c-.7-1.6-.7-3-.7-3s-1.3-1.6-1.7.4a1925.6 1925.6 0 0 0 1.6 12.4s.7-1.2 1.4 0c.8 1.3 2 2.9 4.4 2.1zm-4.3-26.7 1.5 11.2s-1.2.6-1.4 3.2c-.1 1.2-.6.6-.8.4-.3-.8 0-2.4 0-2.4l-.8-7.8s1.4-3.6 1.5-4.6z"/>
|
||||
<path fill="#ffe000" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m266.5 318.7.2 2.8s-1 0-1.7-1.2c-.9-1.3-1.2-3-1.2-3s.8-1.3 1.4 0a4 4 0 0 0 1.3 1.4zm-2-11.3a6.3 6.3 0 0 1-.6-3l.7.6c-.2 1.2 0 2.4 0 2.4z"/>
|
||||
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M261 306.3c.6-1 1.4-1.6 1.4-1.6l1.6 12.7s.4 3.2 2.4 4c0 0-1.1 11-4.7 8-.5-.5-1.2-3.9-1-5.9l1-6.4a28.5 28.5 0 0 0-1.2-7.8c-.2-.2 0-1.8.6-3z"/>
|
||||
<path fill="#d52b1e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M259.4 304.3s-1 1-1.2 1c-.2 0 2.5 20.7 2.5 20.7s0-2.2.7-6.4c.7-3.4-.2-8-1-10.2 0 0-.8-.7-1-5z"/>
|
||||
<path fill="#f7e214" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m264 297.4.6 7.6s-1.8-2.6-2.3-.2l-.4-3.5s1.6-2.5 2-4z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M265.3 307s.6-6.5 3.8-2c0 0 .3 2.7 0 3.3 0 .8-.9 1.8-1.3 2.5-.7 1-1.4-.3-1.4-.3s-.7-1-1-3.5z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M290.4 252.7c0-3.7 1.2-9.8 1.3-14l12.8-13.1s1.6 10.5 6.2 16.6l-20.3 10.5"/>
|
||||
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="M289.4 253.2c-.5-2.6-1.2-5.5-1.6-11l8.2-8c0 3.4 3.9 8.6 4.1 15"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M282.3 261c-1-4.5 1.4-5.1-2-11.5l7.6-7.3c1.4 4.3 2.3 7 2.2 10.8l-6.5 4.6"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M312 288c1.5-4.5-.6-13.5-.4-19.3.2-3.7-2.5-17.6-2.5-21.9l15-9.4s.7 15.3 2.5 32c1.5 8.5 1.5 16.3.4 22.8-1.6 9.3-3.2 13.1-7 17-6.6 7-20.9 3-20.9 3-12-2.6-19-10.2-19-10.2s4 1 10.3 1.6c14-1 19.4 2.5 19.8-11.8"/>
|
||||
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m271.6 297.4-.2-.1c2.6 1 6.2 2 6.2 2l8.5.7c18.4.4 16.1-11 15.4-29.4-.2-7-1.6-15.8-1.2-18.9l12.3-7c4 11.3 2.8 19.3 3.6 25 .4 6.4 1.8 18.6-.3 24-2.8 12.4-12.6 11.9-25.7 10.8a31.7 31.7 0 0 1-10.1-2.3l-8.5-4.9"/>
|
||||
<path fill="#007a3d" stroke="#000" stroke-width=".1" d="M271.4 297.1a37 37 0 0 0 6.3 2.3l8.6.9c13.3 1 21.1-8.3 19.4-29.5A66 66 0 0 0 303 250l-7.3 4.3v.7c.4 2.2 1.4 7.5 1.4 9.9 0 17-10.7 30-25.4 32.3l-.2-.1"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M320 246c-1.2 2-8.6 13.3-12.8 15.5m11.6-8.2c-1.2 2.1-10.3 14.9-14.4 15.6m16.5 3.9c-2 2.5-4.1 7.4-10.3 10.6m7.4 3.5c-4.2 4-14.4 12.4-24.4 12.8m24.4-6.4c-2 2.5-6.6 14.2-25.6 8.9m28.5-6.7c-1.2 2.8-10.7 18.4-27.7 12.3"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M301 282.5c1.6-4.6-.5-13.6-.3-19.4.2-3.7-1.5-16.5-1.5-20.8l14.1-10.5s.7 15.3 2.4 32c1.6 8.5 2.7 19 1.6 25.5-2 10.6-7 13.6-8 14.5-7.2 6.4-23.4 5.7-25 5.2-11.6-4.2-16.7-11.6-16.7-11.6s5.5 0 11.9.6c14-1 21-.4 21.4-14.7"/>
|
||||
<path fill="#ffe000" stroke="#000" stroke-width=".1" d="m260.7 291.8-.2-.2c2.6 1 6.2 2.1 6.2 2.1l8.5.7c18.4.4 16.1-11 15.4-29.4-.2-7-.4-13.3 0-16.4l11-8c4 11.3 3 17.8 3.7 23.6.4 6.3 1.8 18.5-.3 23.8-2.8 12.5-12.5 12-25.7 10.9-6.6-.6-10-2.3-10-2.3l-8.6-4.9"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M260.4 291.6a36.8 36.8 0 0 0 6.3 2.3l8.6.8c13.3 1.2 21.2-8.2 19.5-29.4 0-7.5.2-8-2.4-18-4 2.6-11.9 9.3-11.9 9.3s2.1 3 1.6 7.2c0 17-6.8 25.7-21.5 27.9l-1.6-14"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M309.2 240.3a60.7 60.7 0 0 1-12.8 15.6m11.6-8.2c-1.3 2.2-10.4 14.9-14.5 15.6m16.5 3.9c-2 2.5-4.1 7.4-10.3 10.6m7.4 3.5c-4.1 4-14.4 12.4-24.3 12.8m24.3-6.4c-2 2.5-6.6 14.2-25.6 8.9m28.5-6.7c-1.2 2.8-10.7 18.4-27.7 12.3"/>
|
||||
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m324 238.9.8 6.4c.3 4.7.1 8.2-.1 10.5 0 .2-.9 5.8-.6 6.1 1 1.3 1.1 1.4 2.3.5.1-.2-.5-6-.6-6.8l-.4-10.5c0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m324 238.9.8 6.4c.3 4.7.1 8.2-.1 10.5l-.8 6.1c1.1 1.3 1.4 1.7 2.5.8a64 64 0 0 0-.6-7l-.4-10.6c0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6z"/>
|
||||
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="M324.2 237s1.2 6.5 1.3 10.2c.2 4.5.4 5.8.3 8.5l.6 4.8c.1.7-.1.1 0 .2 1 .6 1.6.1 2.1-.3.2-.2-1.5-4-1.5-4.9-.9-11.4-2.6-18.2-2.6-18.2s.7 4.1-.2-.3"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M324.2 237s1.2 6.5 1.3 10.2c.2 4.5.4 5.8.3 8.5l.6 4.8c.1.7-.1.1 0 .2 1 .6 1.6.1 2.1-.3.2-.2-1.5-4-1.5-4.9-.9-11.4-2.6-18.2-2.6-18.2s.7 4.1-.2-.3zm.5 18.5s1 .4 1.1.2m0-1.4s-.8 0-1-.2m.1-1.2s.6.4.8.2m-.7-1.8h.5m-.6-1.6h.7m-.6-2.3s.4.2.4 0m-.5-1.9h.5m.5 10.2s1 .1 1.1-.2m-1.1-2s1 0 1-.2m-1-1.4h.7m-1-1.5h.8m-.7-1.8.5-.1m-.7-1.5s.4 0 .5-.2m-.6-1.7s.4.3.4 0m0 9.6s1 0 1-.3"/>
|
||||
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="m313.2 233.3.7 6.4c.3 4.7.1 8.3 0 10.5 0 .2-1 5.8-.7 6.1 1.1 1.3 1.2 1.4 2.3.5.2-.2-.5-6-.5-6.8-.2-.8-.3-7.5-.5-10.5 0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m313.2 233.3.7 6.4a70 70 0 0 1 0 10.5c0 .2-1.2 8-.8 6.1 1 1.3 1.3 1.7 2.4.8a64 64 0 0 0-.6-7l-.4-10.6c0-1.1-1-6.8-1-6.8s-.1-1.3-.3.6z"/>
|
||||
<path fill="#f7e214" stroke="#000" stroke-width=".1" d="M313.3 231.4s1.2 6.5 1.4 10.2c.1 4.5.3 5.8.2 8.5l.6 4.8c.1.7 0 .2 0 .2 1 .6 1.6.1 2.2-.3.1-.2-1.5-4-1.6-4.9-.9-11.4-2.5-18.2-2.5-18.2l-.3-.3"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M313.3 231.4s1.2 6.5 1.3 10.2c.2 4.5.4 5.8.3 8.5l.6 4.8c.1.7 0 .2 0 .2 1 .6 1.6.1 2.1-.3.2-.2-1.5-4-1.5-4.9-.9-11.4-2.5-18.2-2.5-18.2zm.5 18.5s1 .4 1.1.2m0-1.4s-.8 0-.9-.2m0-1.2s.7.4.8.2m-.7-1.8h.6m-.7-1.6h.7m-.6-2.3s.4.2.4 0m-.5-1.9h.5m.6 10.2s1 .1 1-.2m-1.1-2s1 0 1-.2m-1-1.4h.8m-1-1.5h.8m-.8-1.8.5-.1m-.7-1.5s.5 0 .6-.2m-.7-1.7s.5.3.4 0m.1 9.6s1 0 1-.3m-11.3-23.4s-.5 5.4-.2 8.5c.4 3.8.3 4.9.7 7v4.3c-.9.5-1.6.2-2.2-.1-.2-.1 1-3.5 1-4.2-.4-9.5.5-15.3.5-15.3l.2-.2"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M304.7 225.3s-.5 5.5-.2 8.6c.4 3.8.3 4.9.7 7v4.3c-.9.5-1.6.2-2.2-.1-.2-.1 1-3.5 1-4.2-.4-9.5.5-15.2.5-15.2zm.4 15.7s-1 .2-1.1 0m.8-1.8s-.9.1-1-.1m1-1.3h-.9m.8-1.2h-.7m.5-1.6h-.5m.5-1.3h-.5m.4-1.5s-.4.3-.4 0m1 8s-1 0-1-.2"/>
|
||||
<path fill="#005000" stroke="#000" stroke-width=".1" d="M271 236.4h-1z"/>
|
||||
<path fill="#fff" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M259.5 273.5s.4-.2.5 0l-.2.2zm1 1.2-2.2-.2"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M225.8 229.8c0-2.2 2-3.5 2.4-3.7 1-.7 1.7-1.3 4-1.6l.1.9c0 .4-.5 1.7-2.2 2.9a12.3 12.3 0 0 1-4.3 1.5z"/>
|
||||
<path fill="#a05a2c" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m225.8 229 31.6 41 1.5-1.4-32.3-41.8z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M225.3 221s3.4-.4 3-2.3c-.6-2-2.9-2-3.8-2-1 0-4.2.6-5 1.6-1 1-3 2.6-2.4 5.3a21.3 21.3 0 0 0 2.5 6.3c1 1.8.7 3.5.5 4.2-.1.3-.4 1.4.4 1.8 1.3.5 1.6.5 2.7-.7s2.6-3.1 2.6-5.4c0-2.2 2-3.5 2.4-3.7 1-.7 1.7-1.3 4-1.6 0 0-.9-1.3-2-1.2a9 9 0 0 1-5-2.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M225.3 221s3.4-.4 3-2.3c-.6-2-2.9-2-3.8-2-1 0-4.2.6-5 1.6-1 1-3 2.6-2.4 5.3a21.3 21.3 0 0 0 2.5 6.3c1 1.8.7 3.5.5 4.2-.1.3-.4 1.4.4 1.8 1.3.5 1.6.5 2.7-.7s2.6-3.1 2.6-5.4c0-2.2 2-3.5 2.4-3.7 1-.7 1.7-1.3 4-1.6 0 0-.9-1.3-2-1.2a9 9 0 0 1-5-2.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M225.3 221c-.5 0-1.9-.6-2.8-.3-1 .4-2.8 1.5-2.5 3.1m11-.2s-1.9.8-3.3 1.8a42 42 0 0 0-3.7 3.4c-1.1 1.1-1.4 2.6-3.7 4.2m9.5-9.7-1.5 1.1c-.6.4-.8 1-1.3 1.4"/>
|
||||
<path fill="#e8a30e" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M285.7 303.1c.2 3.3 7.8 7 13.5.2 6-4.8 4.7-12.2 0-13.2l-58.3-56.8c-2.4-1.3-2.6-2.5-3.8-3.7-2.4 2.6-7.5 7.2-10.2 9.5 1.6 1.4 3 2.7 3.4 3.8z"/>
|
||||
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M237 229.4c-2.8-3.8-13.6 6-10.7 9.2 2.9 3 13.3-5.4 10.7-9.2z"/>
|
||||
<path fill="#cccccf" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M227.2 237.8c2 1.6 10-5 8.6-7.6-2.1-2.4-10.8 6.1-8.6 7.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M230.4 243c4.8-1.5 8.3-4.7 10.5-9.6m24.5 48a17.3 17.3 0 0 0 12.2-12.5m-9.7 15.3a17.3 17.3 0 0 0 12.2-12.4m2.3 27.5a19 19 0 0 0 13-13M285 302.2a19.2 19.2 0 0 0 13-13"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M299.4 304c.3 1.5 1 2 2.2 1.5m-14.7-2c2.3 3.6 4.9 2.5 7 2.5"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="M302.5 304.2c0 1-.8 1.8-1.8 1.8a1.8 1.8 0 0 1-1.9-1.8c0-1 .9-1.8 1.9-1.8 1 0 1.8 1.1 1.8 2"/>
|
||||
<path fill="none" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M299.2 303.9c.3 1.4 1 1.9 2.2 1.4m-14.5-1.9c2.3 3.7 4.9 2.6 7 2.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277 187.2c1.9 3 4.7 8.5 5.4 12.7a24 24 0 0 1-7.5 22.3c-5.5 5-14 6.5-17.7 7.2-3.5.8-6.1 2-6.7 2.7 0-.6-.1-1.1.5-1.7 1.7-.7 4.4-1.2 8.3-2 7.7-1.6 15.8-4.5 20.2-12.9 5.8-11 2.4-19.7-2.6-28.2z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M279 220a.5.6 49.9 0 1-.6-.7.5.6 49.9 0 1 .7.7z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M284.4 218.6c-1.2.7-2.3.9-3.2 1.2l-2.4.7-1.6.7c-.8.4-1.7 1.5-1.7 1.5s1.3 1.3 2.8 1.1c1.2-.1 1.8-.5 2.4-.8.7-.3.6-.6 1.6-1.3 1-.7 1.6-2.1 2-3.1zm-6 1.3c-.4.6-1.3.5-1.8.4l-.3.3c.7 0 1.7 0 2.1-.6z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M284.3 218.7a17.7 17.7 0 0 1-4.9 3c-2 .8-4.2 1-5.3 1l-.3.3a19.6 19.6 0 0 0 5.4-1.1 16 16 0 0 0 5.1-3.2zm-2.5 4.8c-2 0-3.2.6-5.2 1-1.7.4-3.9-.5-5 1.2 4.7 3 8 1 10.2-2.2z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277.6 227.8c-1-.8-8.6-3.4-9.9-.5 1.9 2 7.2 2.5 9.9.5z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M275.7 229.8c-.8 0-1.7-.3-2.7-.4-.9 0-1.3-.2-2-.3-1.1-.2-2.4-1.8-6.4-.6 1.5 3.6 6.8 4.4 11.1 1.4zm1.8-2c-4.1.9-9 0-10.8-1l-.3.1a17.4 17.4 0 0 0 11 1zm4.2-4.3c-2.4 1.6-5.5 2.9-12.1 2l-.2.2c9.2.8 10-.9 12.3-2.2z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M275.7 229.9c-3.2 0-5 1.5-11-1.4-.4-.3-1-.4-1.4-.6l-.6.2c.4.2 1 .2 1.5.3 7.4 3.3 7.2 1.8 11.5 1.5z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M263.7 225.7a.5.6 66.2 1 0 .5.8.5.6 66.2 1 0-.5-.8z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M263.6 226.4c-.7.2-.9 1-1 1.5l-.3.1c.2-.6.5-1.5 1.2-1.8z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M283.6 199.3a.5.6 15.8 1 1-.9-.3.5.6 15.8 0 1 1 .3z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M279 216.7c0-2.2-1.2.9-3.3-4.1-.7-1.5-.7-2.4-1.1-4.6 1.2 2 3.2 2.4 4 3.9.8 1.4.6 3.7.5 4.8z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M274.6 208.2s1.1 2.5 2.7 4.3c1.5 1.8 1.8 4 1.8 4"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M275.7 210.3c1.4 1.9 3.2 4 3.3 6.4h.2c-.3-3-2.1-4.4-3.2-5.9zm11.6 2.9c-1 .8-2 1.1-3 1.5-.5.3-1 .8-1.5 1-.3.2-.9.2-1.4.6-.7.4-2.2 2.1-2.2 2.1s1.4 1.2 2.3 1c2.5-.5 3.2-1.5 4.5-2.4 1-.8 1-2.7 1.3-3.8z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m278 218.5-.2.3c1.5-.1 3.8-1.5 5.3-2.3 2-1 3.2-1.8 4-3.3a9.5 9.5 0 0 1-4.1 3.3c-1.6.8-4 2.1-5 2z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M288.1 208.3c-.8 1-1.8 1.4-2.5 2l-1.4 1.2c-.3.2-.9.4-1.3.8-.6.6-1.6 2.3-1.6 2.3s.7.7 1.5.4c2.5-.3 3.3-1.5 4.2-3.7.5-1 1-1.9 1.1-3z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M279 212.8a.6.5 62 1 0 .8-.4.6.5 62 0 0-.8.3z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m280 215-.2.4c3-1.4 7-4.2 8.4-7-1.9 3-5 5-8.2 6.6zm8.8-11.4c-.7 1-1.6 1.6-2.3 2.1l-1.2 1.3-1.1.9c-.6.6-1.4 2.4-1.4 2.4s1 .8 1.7.5c.8-.4 1.8-1.3 2.3-1.7.5-.5.6-1.6 1.2-2.4.7-1 .8-2 .8-3z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M286.6 206.8a15.4 15.4 0 0 1-5 4v.4c2.7-1.6 3.8-3 5-4.4zm1.2-6c-.5 1-1.3 1.5-1.8 2.1l-1 1.3-.9.9c-.4.6-.8 2.3-.8 2.3s.6.6 1.2.2a12.5 12.5 0 0 0 2-1.8c.4-.4.6-1.5 1-2.3a4 4 0 0 0 .3-2.8zm-4.7-1.2c-.3.5-.4 1.1-.5 1.7l-.1-.4c.1-.5.2-1 .5-1.4z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M286.3 203.8a13.8 13.8 0 0 1-4 4.2l-.1.3c2.3-1.7 3.2-3.1 4.1-4.5zm-6 10.5a3.5 3.5 0 0 0-.6-1.4h-.1c.3.6.4 1 .5 1.7z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M279.4 193.4a.5.3 39.5 0 1-.6.5.5.3 39.5 0 1 .6-.5z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.7 194.7a10 10 0 0 0-1.3-1c0 .1-.1.1 0 .2l1.4 1zm5.9.4c-1.2 2.5-4.1 4.3-3 8 3 2.7 3.2-4.8 3-8z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M283.8 189.5c-.5 2.6-2.8 4.8-1.3 8.2 4.3 1 2.3-4.7 1.3-8.2z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.3 185.6c2.1 4 2.7 6.3.1 8.9 0 0-1.3-1.3-1.6-3.5-.3-2 1.3-4.3 1.5-5.4z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277.8 183.3c.5 2.5-1.6 3.7 1.5 7 2.2-2.7 1.1-3.4-1.5-7z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M277 187.7c-3.7.4-2.3-2.7-3.3-5.6 2.1 1.6 5 2.2 3.2 5.6zm2.3 4.8c-1-4.7-4.3-2.9-6-5 .9 3 2.2 5.1 6 5zm1.4 4.3c-2.8-.2-5-1.5-6.6-4.6 3 1.2 6.1 1.4 6.6 4.6z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.1 200.9c-1-1.3-1-2.1-1.5-3a9.6 9.6 0 0 0-3.3-3.9c0 3.3.5 7 4.8 6.9z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.8 204.3a21.5 21.5 0 0 0-6-6c1.1 2.3.6 6.6 6 6z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.3 209.1c-5.3-.1-4.8-5.1-4.8-7.5 1 1.5 2.1 2.7 3 3.7 1 1.2 1.8 2.4 1.8 3.8z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.7 212c-.5-1-.1-1.4-1-2.4-1.1-1-3-2.8-4-5-.2 2-.2 4.8 1.2 5.7 1 .8 2 1 3.8 1.8zm-4.6 7.8c-4.2-3.2-1.7-6-1.4-8.4 1.1 2.8 4 5.1 1.4 8.4zm1.6-31.1a59 59 0 0 0-3.9-6.5c2 3 3 4.9 4.1 6.9"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M276.1 220.6c.2-3.3-.7-6.1-1.3-9 .6 3 1.3 6.2 1 9.3zm5-7.9c-.5-2-4.5-3.3-5.4-8 .8 4.7 4.8 5.8 5.2 8.5zm.8-2.7v.5c-.7-3.1-4.4-4.7-5.4-8.9 1.5 4.6 4.5 5.2 5.4 8.4zm.8-4.7c-1.9-2.8-4.4-3.8-6.8-7 2.2 3.1 5 4.6 6.8 7.4zm-.1-3.6c-2-1-4-3.3-6.3-7.7 1.5 3.3 3.3 6.2 6.3 8.1zm-.9-4.3c-2.4-1.9-5.4-3.1-7.6-5.3 1.8 2 5.3 3.5 7.6 5.6zm-1.8-4.6c-2.4-1.6-4.7-2.1-6.6-5.2 1.5 3 4 3.8 6.6 5.4zm6.7 2.3c-.9 3.3-1.6 6.8-3.8 9v-.5c1-.5 2.6-4 3.8-8.5zm-2.7-5.5c-.2 3.4-.1 7-1.9 9l-.1-.5c1.8-1.4 1.6-5.2 2-8.5zm-2.4-3.8c.6 3 .6 5.7-.2 10.2l-.2-.4c.5-2.6 1-5.3.4-9.8zm-3.7-2.4c1.2 2.5 2.2 5.1 1.4 7.8l-.2-.3c.9-2.5-.2-5-1.2-7.5zm-4.6 33.3c1.4 3.4-.4 5.9-2.7 7.3-1.7-5 1.9-4.4 2.7-7.3z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M273.3 216.7c.2 2-2 4.5-2.8 8l-.3.3c1-4.3 3.3-6 3-8.3z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281.3 193.3a.3.5 1.9 1 1-.7-.1.3.5 1.9 0 1 .7.1z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M281.1 195.2v-1.7h-.2v1.9z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M280.3 193a.3.4 2 0 1-.5.2.3.4 2 0 1 .5-.3z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M280.7 194.5a8.2 8.2 0 0 1 0 .3z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M282.4 199.3a.5.3 80.5 0 1-.7 0 .5.3 80.5 1 1 .7 0z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M282.5 201.2a9.9 9.9 0 0 0-.4-1.6l.3 1.8z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281.2 199.7a.5.3 57 1 1-.5.5.5.3 57 0 1 .5-.5z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M282.4 201.2a8.8 8.8 0 0 1 0 .3z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281 212.4a.3.5 12.7 1 1-.7-.3.3.5 12.7 0 1 .6.3z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m280.4 214.2.2-1.6h-.1a9.5 9.5 0 0 1-.3 1.8z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M281.6 213.2a.3.5 50.5 0 0 .5.5.3.5 50.5 1 0-.5-.5z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m280.2 214.5 1.4-1v.2a9.4 9.4 0 0 0-1.4 1z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M278.1 218.6a.3.5 40.4 0 1-.5-.6.3.5 40.4 0 1 .5.6z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M276.8 219.9a10 10 0 0 0 1-1.3h-.2l-1 1.4z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M276.1 218.2a.5.6 10 0 0 1 0 .5.6 10 1 0-1 0z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M276.7 218.7c-.3.7-.1 1 0 1.2l-.1.4c-.2-.4-.3-.8-.1-1.6zm-13 10c-.7.1-1-.3-1.2-.7h-.4c.4.5.8 1 1.6 1v-.2z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M263.8 229.5a.6.5 9.5 0 1 .2-.9.6.5 9.5 1 1-.2.9z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M269.5 219.8a5.9 5.9 0 0 1-4.2 6.8c-1-4.2 3-4.4 4.2-6.8z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M269.6 219.8a23 23 0 0 1-5.1 7.7h-.6a20 20 0 0 0 5.7-7.7z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M264.3 227.5a.5.4 9.8 0 1-.4-.8.5.4 9.8 1 1 .4.8z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M262.3 228a8.6 8.6 0 0 0 1.6-.7h-.2l-1.7.7zm2.8-5.3c-.1 1.3-1.2 2.5-2.1 3.5-1 .9-1.1 1.2-2.4 1.6-1.4-3 3-3.5 4.5-5z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M265.1 222.7c-1.5 2.7-3.8 4-5 5.8h-.2c1.8-2.4 3.3-2.9 5.2-5.8zm-30-35.5c-1.9 3-4.7 8.5-5.4 12.7a24 24 0 0 0 7.5 22.3c5.5 5 14 6.5 17.7 7.2 3.5.8 6.1 2 6.7 2.7 0-.6.1-1.1-.5-1.7-1.7-.7-4.4-1.2-8.3-2-7.7-1.6-15.8-4.5-20.3-12.9-5.7-11-2.3-19.7 2.7-28.2z"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M249.7 227.8c-.2.5-4.3 4-8 3.7-2.6-.2-3-.8-3-.8s-.3-.7 2-1.2c2.5-.5 6.7-2.1 9-1.7z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M238.8 230.7c2.8.3 5.8-.8 8-1.7"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.6 222.6a11 11 0 0 1 4.9 4c1 1.6.8 2 .8 2s-.3.3-1.4-1c-1.2-1.4-3.6-3.6-4.3-5z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M252.3 228.5c-1-1.8-2.7-3.3-4-4.5"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M235 187.6c-.1-.4.3-3.7 2.1-4.7 1.4-.8 1.9-.6 1.9-.6s.4.3-.5 1.4c-1 1-2.3 3.3-3.6 3.9z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M239 182.3c-1.6.8-2.5 2.4-3.2 3.7"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234 189.3c-.2-.3-1-3.2-.2-5 .6-1.5 1-1.6 1-1.6s.3 0 .1 1.4c-.2 1.4-.2 4-.9 5.2z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M234.7 182.8c-.7 1.5-.7 3.3-.7 4.7"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234 189.3a9 9 0 0 0 4.1-2.2c1-1.1.9-1.4.9-1.4s-.1-.2-1.2.6c-1 .8-3 2-3.8 3z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M239 185.7c-1 1.2-2.5 2-3.6 2.8"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.7 191.6c-.1-.3-1.4-3.4-.9-5.6.3-1.6.7-1.8.7-1.8s.3 0 .3 1.5c0 1.6.3 4.5 0 5.9z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M232.5 184.3c-.5 1.7-.2 3.7 0 5.3"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.8 193.7c-.3-.2-2.4-3.1-2.2-5.6.1-1.8.5-2 .5-2s.5-.2.7 1.5c.3 1.6 1.3 4.5 1 6z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M230.1 186.1c-.2 2 .5 4 1 5.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230.6 196.4a10 10 0 0 1-2.5-5c-.2-1.7 0-2 0-2s.3 0 .8 1.4c.5 1.5 1.7 4.2 1.7 5.6z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M228.2 189.5c0 1.8 1 3.7 1.6 5.1"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.8 191.6c.3 0 3.4-.3 4.8-1.8 1-1.2 1-1.6 1-1.6s-.1-.3-1.3.4c-1.3.8-3.7 1.9-4.5 3z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M238.6 188.3c-1.1 1.2-2.8 2-4.2 2.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.8 193.7c.2 0 3.4 0 5-1.5 1-1 1-1.5 1-1.5s-.1-.3-1.4.4c-1.2.7-3.7 1.6-4.6 2.6z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M237.8 190.8c-1.2 1.2-3 1.8-4.3 2.3"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230.8 196.4c.3.1 3.6-.1 5.2-1.8 1.2-1.1 1.1-1.6 1.1-1.6s-.1-.4-1.4.4c-1.4.8-4 2-5 3z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M237 193c-1.1 1.4-3 2.2-4.4 2.8"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.3 195.2s-.3-.6-.3-1.1l.1-.9h-.2l-.1.8v.3l-.5-.5-.2-.4h-.1l.3.7c.5.4.8 1.2.8 1.2"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230 192.3a.6.4 83.5 1 1 .1 1.2.6.4 83.5 1 1-.1-1.2z" overflow="visible" style="marker:none"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231.3 192.3a.4.6 19.3 1 1-.4 1.1.4.6 19.3 1 1 .4-1z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="m231.2 195.2 1-.7.4-.8h.2l-.5.8-.2.3.7-.1.4-.3.1.2-.7.3c-.6 0-1.4.4-1.4.4"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234 193.7a.4.6 45.6 1 0-.8.9.4.6 45.6 1 0 .8-.8z" overflow="visible" style="marker:none"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M233 192.9a.4.6 19.8 1 0-.4 1.1.4.6 19.8 1 0 .4-1.1z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.8 199.3a11 11 0 0 1-3-5c-.3-1.8 0-2 0-2s.3-.2.8 1.3c.7 1.5 2 4.2 2.2 5.7z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M226.8 192.3c.2 1.9 1.2 3.8 2 5.2"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230 199.3c.3.1 3.8-.4 5.3-2.2 1.1-1.3 1-1.7 1-1.7s-.1-.4-1.4.5c-1.4 1-4 2.2-5 3.5z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M236.3 195.4c-1.2 1.5-3 2.4-4.5 3.1"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.5 202.3c.3 0 3.8-1 5.4-2.9 1.2-1.3 1-1.7 1-1.7s0-.3-1.4.7-4 2.6-5 3.9z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M236 197.8c-1.3 1.4-3.2 2.5-4.6 3.4"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 202.3c-.3-.1-3.6-2.4-4-4.9-.4-1.8 0-2.1 0-2.1s.4-.3 1.1 1.3c.8 1.5 2.8 4 3 5.7z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M225.4 195.4a12 12 0 0 0 2.7 5.1"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.5 206c.3-.1 3.6-1.8 5-4 .9-1.5.7-2 .7-2s-.2-.2-1.4 1.1c-1.1 1.3-3.6 3.4-4.3 4.8z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M235.2 200.2c-1 1.7-2.7 3.2-4 4.3"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 206c-.4 0-3.9-1.7-4.8-4.2-.6-1.8-.4-2.2-.4-2.2s.4-.3 1.4 1.1c1 1.5 3.4 3.8 3.8 5.4z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M224.3 199.7c.6 2 2.2 3.6 3.5 4.8"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 204.4s-.5-.6-.6-1.1c-.2-.6 0-1 0-1h-.4l.2 1v.3c.3.4-.4-.3-.6-.4l-.3-.5-.2.2.6.6c.6.3 1.2 1 1.2 1"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M227.2 201.7a.6.4 69.4 1 1 .5 1.2.6.4 69.4 1 1-.5-1.2z" overflow="visible" style="marker:none"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M228.6 201.3a.4.6 5.2 1 1-.1 1.3.4.6 5.2 1 1 .1-1.3z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.4 204.3s.5-.4.8-1c.3-.5.3-.8.3-.8h.2l-.3.8a4.2 4.2 0 0 1-.1.4l.7-.3.4-.4.1.2-.6.5c-.7.2-1.4.8-1.4.8"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232 202a.4.6 31.5 1 0-.6 1.2.4.6 31.5 1 0 .6-1.1zm-1.3-.5a.4.6 5.7 1 0-.1 1.2.4.6 5.7 1 0 .1-1.2z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.8 209.3c-.4 0-4-1.9-5.5-4.3-1-1.8-.9-2.2-.9-2.2s.3-.4 1.6 1c1.3 1.5 4 3.9 4.8 5.5z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M223.5 202.8c1 2 3 3.6 4.4 5"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230 209.2c.4 0 4.3-2 5.2-4.6.8-2 .4-2.4.4-2.4s-.4-.4-1.5 1.2c-1.1 1.5-3.6 4-4 5.8z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M235.6 202.3c-.7 2.1-2.5 3.9-3.8 5.3"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M231 212.5c.4 0 4-2.3 4.9-5 .6-2 .3-2.5.3-2.5s-.3-.3-1.3 1.4c-1.1 1.6-3.5 4.4-3.9 6.1z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M236.2 205.1c-.6 2.2-2.3 4-3.5 5.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M230.8 212.5c-.5 0-5-1.3-6.7-4-1.1-2-.9-2.6-.9-2.6s.4-.5 1.9 1c1.6 1.5 4.8 3.8 5.7 5.6z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M223.3 206c1.1 2.2 3.4 3.8 5.2 5"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234.8 219.4a12 12 0 0 0 3-6c.1-1.9-.2-2.2-.2-2.2s-.4-.1-.9 1.6c-.5 1.8-1.9 5-1.9 6.6z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M237.6 211.3c0 2.1-1 4.3-1.8 6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234.6 219.3c-.4.2-5.6 0-8-2.2-1.9-1.7-1.8-2.4-1.8-2.4s.3-.5 2.3.5c2 1.1 6.1 2.5 7.5 4.1z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M224.9 214.8c1.9 1.9 4.7 2.9 7 3.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.7 216.6c-.4 0-5-1-7.3-3.4-1.6-1.7-1.5-2.2-1.5-2.2s.2-.4 2 .9c1.9 1.2 5.5 3.1 6.8 4.7z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M224 211c1.6 2 4.2 3.3 6.2 4.3"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M233 216.5c.3-.2 3.8-3 4.2-6 .2-2.1-.2-2.6-.2-2.6s-.5-.2-1.2 1.6c-.8 1.9-2.8 5-2.8 7z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M237 208c-.2 2.4-1.6 4.6-2.7 6.4"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232 214.9s-.8-.3-1.2-.9c-.4-.5-.5-.9-.5-.9h-.3l.5 1 .3.3-.8-.1-.6-.4v.3s.5.4.8.4a4 4 0 0 1 1.6.5"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M228.5 213.1a.7.5 45.9 1 1 1 1 .7.5 45.9 1 1-1-1z" overflow="visible" style="marker:none"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M229.8 212.1a.7.5 71.6 1 1 .4 1.4.7.5 71.6 1 1-.4-1.4z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232 214.9s.4-.8.5-1.4c0-.7-.2-1-.2-1l.3-.2v1.5l.6-.6.3-.6.2.1s-.2.7-.4.9a4 4 0 0 0-1 1.4"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M233.7 211.4a.5.7 8 1 0-.2 1.4.5.7 8 1 0 .2-1.4z" overflow="visible" style="marker:none"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M232.1 211.3a.7.5 72.2 1 0 .5 1.4.7.5 72.2 1 0-.5-1.4z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M236.6 221.4c-.4.2-4.6 1.2-7.3-.2-2-1-2-1.6-2-1.6s0-.5 2 0c2 .4 5.6.8 7.3 1.8z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M227.3 219.7c2.1 1.1 4.7 1.4 6.7 1.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M236.8 221.4c.2-.2 2-2.8 2-5.2 0-1.8-.4-2.1-.4-2.1s-.3-.2-.6 1.4c-.3 1.6-1.2 4.3-1 5.9z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M238.4 214.2c.2 1.9-.5 3.8-1 5.3"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M240.6 224.4c-.4.2-5.5 1.5-8.5.2-2.3-1-2.4-1.5-2.4-1.5s0-.6 2.4-.2c2.3.4 6.6.4 8.5 1.5z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M229.8 223.1c2.4 1.1 5.4 1.2 7.8 1.3"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M240.8 224.3c.2-.3 1.3-4 0-6-1-1.4-1.5-1.4-1.5-1.4s-.5.1-.1 1.7c.4 1.6.6 4.6 1.6 5.7z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M239.3 217c1.1 1.4 1.3 3.6 1.4 5.2"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M238.2 222.6s-.6.4-1.3 0c-.6-.3-.9-.7-.9-.7l-.3.2a10 10 0 0 0 1.4 1l-1 .2-.6-.2v.3l1 .1 1.6-.5"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M234.1 222.7a.8.6 24.1 1 1 1.5.6.8.6 24.1 1 1-1.5-.7z" overflow="visible" style="marker:none"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M235 221a.8.6 49.9 1 1 1 1.3.8.6 49.9 1 1-1-1.3z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M238.3 223s.6-.6.2-1.3a2.8 2.8 0 0 0-.7-1l.2-.3.7 1 .2.5.3-1a17.5 17.5 0 0 0 0-.6h.2v1c0 .3-.6 1.6-.6 1.6"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M238.6 218.8a.8.6 69.5 1 0 .6 1.5.8.6 69.5 1 0-.6-1.5zm-1.6.8a.8.6 43.7 1 0 1.1 1.2.8.6 43.7 1 0-1.1-1.2z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M243.5 226c-.2.3-4.5 3.1-7.8 2.4-2.5-.5-2.8-1.1-2.8-1.1s-.2-.6 2-.8c2.4-.2 6.5-1.2 8.6-.5z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M233 227.3c2.6.7 5.5 0 7.7-.6"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.2 226.7s-.5.8-1.4.6c-.9-.2-1.3-.5-1.3-.5l-.3.3 1.4.5h.5s-.6.6-1 .6l-.7.2v.3l1.2-.3c.3 0 1.6-1.2 1.6-1.2"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M241.7 228.3a1 .6 5.4 1 1 1.8.2 1 .6 5.4 1 1-1.8-.2zm.4-2a1 .6 31.2 1 1 1.6.9 1 .6 31.2 1 1-1.6-1z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M244.8 226.4c.2-.4.8-4.2-1-6-1.3-1.3-2-1.2-2-1.2s-.5.2.2 1.7c.8 1.5 1.5 4.5 2.8 5.5z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M242 219.3c1.4 1.3 2 3.4 2.3 5"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M246.8 227.3s.2-.9-.5-1.4c-.7-.6-1.2-.7-1.2-.7v-.3l1.3.6.4.4s0-.8-.2-1.1a20 20 0 0 0-.4-.7l.3-.2.6 1.1.1 2"/>
|
||||
<path fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M245 222.9a1 .6 42.7 1 0 1.4 1.2 1 .6 42.7 1 0-1.4-1.2zm-1.3 1.7a1 .6 17 1 0 1.8.5 1 .6 17 1 0-1.8-.5z" overflow="visible" style="marker:none"/>
|
||||
<path fill="#452c25" d="M255 223s-2.5 5.7-1.6 6.3c0 0 2.5-4.5 4.8-6.2 1.1-1.1 1.8 0 2-1 .1-1-3-2.3-3-2.3l-2.1 2.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".2" d="M255 223s-2.5 5.7-1.6 6.3c0 0 2.5-4.5 4.8-6.2 1.1-1.1 1.8 0 2-1 .1-1-3-2.3-3-2.3l-2.1 2.9"/>
|
||||
<path fill="#452c25" d="M246 227.3s-3.7 6.4-2.7 6.4c1 .1 4.8-8 4.8-8l-1.3.2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M246 227.3s-3.7 6.4-2.7 6.4c1 .1 4.8-8 4.8-8l-1.3.2z"/>
|
||||
<path fill="#452c25" d="M247 225.6s-3.8 6.2-2.8 6.3c1 0 5-8 5-8l-1.3.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M247 225.6s-3.8 6.2-2.8 6.3c1 0 5-8 5-8l-1.3.3z"/>
|
||||
<path fill="#452c25" d="M247.8 224.5s-4.3 5.8-3.4 6c1 .2 5.7-7.4 5.7-7.4h-1.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M247.8 224.5s-4.3 5.8-3.4 6c1 .2 5.7-7.4 5.7-7.4h-1.3z"/>
|
||||
<path fill="#452c25" d="M249 223.5s-5.1 5.2-4.2 5.5a35 35 0 0 0 6.7-6.6l-1.4-.1z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M249 223.5s-5.1 5.2-4.2 5.5a35 35 0 0 0 6.7-6.6l-1.4-.1z"/>
|
||||
<path fill="#452c25" d="M249.1 221.6s-4.4 5.8-3.4 6c.9.2 5.8-7.4 5.8-7.4h-1.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M249.1 221.6s-4.4 5.8-3.4 6c.9.2 5.8-7.4 5.8-7.4h-1.3z"/>
|
||||
<path fill="#452c25" d="M248 226.5s-4.3 5.9-3.4 6c1 .3 5.7-7.4 5.7-7.4l-1.3.1z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M248 226.5s-4.3 5.9-3.4 6c1 .3 5.7-7.4 5.7-7.4l-1.3.1z"/>
|
||||
<path fill="#452c25" d="M250.4 225.4s-2.5 4.7-2.2 5a17 17 0 0 0 4.9-5.6c1.5-2.8-2.8.5-2.8.5"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M250.4 225.4s-2.5 4.7-2.2 5a17 17 0 0 0 4.9-5.6c1.5-2.8-2.8.5-2.8.5"/>
|
||||
<path fill="#452c25" d="M250.7 225s-2.5 5.7-1.6 6.3c0 0 3.1-3.5 4-6.3.7-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".2" d="M250.7 225s-2.5 5.7-1.6 6.3c0 0 3.1-3.5 4-6.3.7-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
|
||||
<path fill="#452c25" d="M249.4 224.4s-5 5.2-4.1 5.5c.9.3 6.6-6.6 6.6-6.6h-1.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M249.4 224.4s-5 5.2-4.1 5.5c.9.3 6.6-6.6 6.6-6.6h-1.3z"/>
|
||||
<path fill="#452c25" d="M249.8 225.1s-5 5.2-4.1 5.5c.9.3 6.6-6.5 6.6-6.5l-1.3-.2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M249.8 225.1s-5 5.2-4.1 5.5c.9.3 6.6-6.5 6.6-6.5l-1.3-.2z"/>
|
||||
<path fill="#452c25" d="M250.2 226s-5 5.1-4.1 5.4c.9.4 6.6-6.5 6.6-6.5l-1.3-.2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M250.2 226s-5 5.1-4.1 5.4c.9.4 6.6-6.5 6.6-6.5l-1.3-.2z"/>
|
||||
<path fill="#452c25" d="M250.6 218.8s-3.8 4.8-3.2 5.6c.5.9 4-2.2 5-4.3 1.1-2.1-1.8-1.5-1.8-1.5"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M250.6 218.8s-3.8 4.8-3.2 5.6c.5.9 4-2.2 5-4.3 1.1-2.1-1.8-1.5-1.8-1.5"/>
|
||||
<path fill="#452c25" d="M250.5 223.9s-3.3 6.2-2.4 5.8c.8-.3 4-5 4.4-6 .4-1 .3-2.1.3-2.1l-2.5 1.5.2 1.2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M250.5 223.9s-3.3 6.2-2.4 5.8c.8-.3 4-5 4.4-6 .4-1 .3-2.1.3-2.1l-2.5 1.5.2 1.2"/>
|
||||
<path fill="#452c25" d="M250.5 221.9s2.7-5 0 .9c-2.7 5.8-3.7 4.9-3.7 4.9-.2-.4 2.3-4.3 2.3-4.3s2-3 2.4-3.3"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M250.5 221.9s2.7-5 0 .9c-2.7 5.8-3.7 4.9-3.7 4.9-.2-.4 2.3-4.3 2.3-4.3s2-3 2.4-3.3"/>
|
||||
<path fill="#452c25" d="M253.4 221.2s3-4.9 0 1c-3 5.7-4.2 4.8-4.2 4.8-.2-.4 2.6-4.3 2.6-4.3s2.1-3 2.6-3.3"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M253.4 221.2s3-4.9 0 1c-3 5.7-4.2 4.8-4.2 4.8-.2-.4 2.6-4.3 2.6-4.3s2.1-3 2.6-3.3"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M252.3 219.2s-3.8 4.8-3.2 5.6c.5.8 4-2.2 5-4.3 1.1-2.2-1.8-1.5-1.8-1.5"/>
|
||||
<path fill="#e8a30e" d="M291 267.8a35 39.4 0 1 1-70 0 35 39.4 0 1 1 70 0"/>
|
||||
<path fill="none" stroke="#390" stroke-width=".9" d="M228 267.8c0-18.3 12.8-32.3 28-32.3s28 14 28 32.3" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none"/>
|
||||
<path fill="#007934" stroke="#eee" stroke-width=".1" d="M221 269.9c1 20.8 16.3 37.3 35 37.3s34-16.5 35-37.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".4" d="M291 267.8a35 39.4 0 1 1-70 0 35 39.4 0 1 1 70 0z"/>
|
||||
<path fill="#d52b1e" stroke="#000" stroke-width=".1" d="M250.1 240.4c-.3 1.5 0 2.7.8 3.9a5 5 0 0 1 1 2.9 8.4 8.4 0 0 0-.8.4l-6-3.9 4 5.9a8.6 8.6 0 0 0-.2.3 5.2 5.2 0 0 0-3.2-.4 5.3 5.3 0 0 1-3.9-.8 4.8 4.8 0 0 0 3.3 2.2c1 .2 2 .6 2.7 1.4l-.2.8-7 1.4 7 1.4a9 9 0 0 0 .1.3 5.2 5.2 0 0 0-2.5 2 5.3 5.3 0 0 1-3.4 2.2c1.5.4 2.8 0 4-.8.8-.5 1.8-1 2.8-.9l.5.7-4 6 6-4 .2.2a5.2 5.2 0 0 0-.4 3.2 5.3 5.3 0 0 1-.8 3.9 4.8 4.8 0 0 0 2.2-3.3 5.2 5.2 0 0 1 1.4-2.7l.9.2 1.4 7 1.3-7h.4a5.2 5.2 0 0 0 2 2.5 5.3 5.3 0 0 1 2.2 3.3 4.8 4.8 0 0 0-.8-4 5.2 5.2 0 0 1-1-2.8l.8-.5 6 4-4-5.9a8.6 8.6 0 0 0 .2-.3 5 5 0 0 0 3.2.4 5.3 5.3 0 0 1 3.9.8 4.8 4.8 0 0 0-3.4-2.2 5.2 5.2 0 0 1-2.7-1.4l.2-.9 7-1.4-7-1.3a8.3 8.3 0 0 0 0-.4 5.2 5.2 0 0 0 2.5-2 5.3 5.3 0 0 1 3.3-2.1 4.8 4.8 0 0 0-3.9.7 5.2 5.2 0 0 1-2.8 1 8.4 8.4 0 0 0-.5-.8l4-5.9-6 4a8.6 8.6 0 0 0-.2-.2c.5-1.2.6-2.2.4-3.2a5.3 5.3 0 0 1 .8-4 4.8 4.8 0 0 0-2.2 3.4 5.2 5.2 0 0 1-1.4 2.7 8.5 8.5 0 0 0-.9-.2l-1.4-7-1.3 7h-.4a5.2 5.2 0 0 0-2-2.5 5.3 5.3 0 0 1-2.2-3.3z" overflow="visible" style="marker:none"/>
|
||||
<path d="M262.2 252.5c-1.7-1.5-4-1.8-5.1-.6-1 1.2-.8 2.5.2 4a.6.6 0 0 0-.3.2 5.2 5.2 0 0 1-.4-4.4c1.7-1.3 4-1.5 5.6.8"/>
|
||||
<path d="M259.5 252c-1 0-1.2.3-1.7.6-.4.4-.7.3-.7.4-.1 0 0 .3.1.2.2 0 .5-.2 1-.6s.8-.3 1.3-.3c1.4 0 2.1 1.1 2.3 1 .1 0-.8-1.3-2.3-1.3"/>
|
||||
<path d="M261.3 253.3c-1-1-2.9-1.1-3.6.1h.3c.7-1.2 2.6-.7 2.7-.2v.2"/>
|
||||
<circle cx="259.4" cy="253.3" r=".7"/>
|
||||
<path d="M257.7 253.4c.7.7 2.4.8 3.6 0l-.6-.2c-.7.9-2 .8-2.7.2v-.2"/>
|
||||
<path d="M261.3 253.7c-1.3 1-2.6 1-3.3.5-.8-.5-.8-.6-.6-.6l.9.4c.6.3 1.5.3 3-.3m-3.7 2.3a.5.5 0 1 1-.6.4c0 .2-.4.6-1 .6h-.1l.1.3c.1 0 .6 0 1-.2a.7.7 0 1 0 .6-1.1m1 3.2c-.8-.5-1-1.2-1.8-1.2a2 2 0 0 0-.8.3h-.1l.1.2c.3 0 .8-.4 1.3 0l1.2.7m-.2 0c-1.5-.5-1.8-.2-2.3-.2h-.1l.1.3c.6 0 1-.4 2.3-.1"/>
|
||||
<path d="M258.5 259.2c-1.7-.2-1.1.8-2.5.8h-.1l.1.2c1.7 0 1-.9 2.5-1m-8.7-6.7c1.7-1.5 4-1.8 5.1-.6 1 1.2.8 2.6-.2 4 0 0 .2 0 .3.2a5.2 5.2 0 0 0 .4-4.4c-1.7-1.3-4-1.5-5.6.8"/>
|
||||
<path d="M252.5 252c1 0 1.2.3 1.7.6.4.4.7.3.7.4.1 0 0 .3-.1.2-.2 0-.5-.2-1-.6s-.8-.3-1.3-.3c-1.4 0-2.1 1.1-2.3 1-.1 0 .8-1.3 2.3-1.3"/>
|
||||
<path d="M250.8 253.3c1-1 2.8-1.1 3.5.1h-.3c-.7-1.2-2.6-.7-2.7-.2v.2"/>
|
||||
<circle cx="-252.7" cy="253.3" r=".7" transform="scale(-1 1)"/>
|
||||
<path d="M254.3 253.4c-.7.7-2.4.8-3.5 0l.5-.2c.7.9 2 .8 2.7.2v-.2"/>
|
||||
<path d="M250.7 253.7c1.3 1 2.6 1 3.3.5.8-.5.8-.6.6-.6l-.9.4c-.6.3-1.5.3-3-.3m3.7 2.3a.5.5 0 1 0 .6.4c0 .2.4.6 1 .6h.2l-.2.3c-.1 0-.6 0-1-.2a.7.7 0 1 1-.6-1.1m-1 3.2c.8-.5 1-1.2 1.8-1.2l.8.3h.2l-.2.2c-.3 0-.8-.4-1.3 0zm.2 0c1.5-.5 1.8-.2 2.3-.2h.1l-.1.3c-.6 0-1-.4-2.3-.1"/>
|
||||
<path d="M253.5 259.2c1.7-.2 1.1.8 2.5.8h.1l-.1.2c-1.7 0-1-.9-2.5-1"/>
|
||||
<path fill="#007934" stroke="#000" stroke-linecap="round" stroke-width=".1" d="M259.4 275.6c1.7.3 3.5.2 5-.3a10.5 10.5 0 0 1 4.6-.6c0-.2.4-.4.2-.6-.6-.3-1.3-.3-2-.6-1.1-.5-1.8-1.4-3-2 0-.1-.5-.4-.5-.7 2.3 3.4 8 1.7 12.7 1.3.5.1 1.6-.2 2.6-.5 1.2-.4 4 0 4.7-.6l-1.5-1c-.6-.9-2.4-.8-3.2-1.7-1.4-1.5-3.5-2-5.1-3.2-.4-.2-1.2-.1-1.7-.3-.7-.5 0-.5-5.4-4.9-4.8-2-4.5-3.5-7.5-4.6-1-.6-2-1.5-3-1.2-1.5.4-5 2.2-6.6 3l-4 3.1c-.3.3-3.7 3.1-7.5 5.2a121 121 0 0 1-9.9 5c8.7-.4-7.7 2.5 31.1 5.2z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M238.2 265.7a59 59 0 0 0 13.2-9c-.4 0 .7 1 .6 1.4.8 0 .4-1 1-1s1-.2 1.4-.3c.5-.1.2.2.2.4-.7 1.3-2.2 2-3.4 3 .1.2.3.3.2.4.4.1 1 .1 1.2-.1l.1-.4c.5.2.3.5.1.8-.3.7-1.5.6-2 1.2a6.6 6.6 0 0 1-1.5 1.7c.5-.4 1.1-1 1.8-1 1-.1 1.4-.8 2.3-1 1-.2 1.6-1 2.4-1.6-.3.5-1 .9-.7 1.4a.6.6 0 0 0 .6.1c-.7.9-2.1 1.6-2.6 2.6-.4-.1-.7.2-1 .2-.5.2-.4.9-.7 1-1.2.8-1.9 2-2.4 3l-1.5.8c-.7.2-4.9 3.5-5 3-.3-2.2-4.6 1.8-14.1-1.6m32.6-.1-.2-.2c.1-.3-.5-.4-.5-.7 1 0 2 1.3 2.6.5.2-.1-.3-.4.4-.6.2 0-.1-.2 0-.3h-1l-.8-.3c-.3-.1-.5-.5 0-.6 1-.2 2 .5 2.8.2l1.8-.6c.3 0 1.3 0 1 .3-.3.2-.8.1-1 .2-.6.1-1 .4-1.6.6.4 0 .3.4.7.3.7-.2 1.4-.5 2.1-.5l.2-.5h.2c-.3-.5.7-.3 1-.7l.2.1c-.5.2-.3.6-.4.8l-.3.3c.3.2.3-.2.6 0h.6c.4 0 .8-.1.6-.4-.3-.3-.6-.5-.6-.9h-.2c.6 0 1 .1 1.2.4.3.2.4.6.8.7.9.2.8-.2.8-.7.7 0 1.7.4 1.5.7 0 .3-.6.5-1.1.5-.4 0-.2.3-.4.3-.4 0-1 0-1.1.3-.2.2 0 .7.3 1h2c.1-.4.6-.5 1-.8.4-.2-.3-.4-.6-.6-.3-.1-.1-.2 0-.4.3-.3 1 0 1-.2.2-.3-.1-.7.2-.8.2-.2.5.1.4.3l.7-.2c.4 0 .6.3.4.3-.4.3-.8.5-.7 1 0 .2-.5.2-.3.4.5.3.4.6.6 1 .1.4 1 .5 1.7.3-.3-.7 1.4-.3 2.2-.5v-.2c-.4-.2-.5-.3-.4-.6l-.2-.2c1.1.4 3 1 3.9 1.6-1 .2-3-.3-4 0-1.4.2-2.6.6-4 .6-.6 0-1.2-.3-1.8-.4m-12-.7-.3-.1"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M257.3 276.4c2 0 2.3 1.5 3.7.1 1.2.2 2.4-.2 2.4-.4 2.9.6 11.9-.2 11.3-.8-1-1-2.5-1.5-3.7-2.4l-1.2-.4c-.7-.2-1.6 0-2.1-.3-1-.5-2-1-2.8-1.6-.5-.4-.7-1-1.3-1.5-.6-.4-1.4-.5-2-.8-1-.3-1.5-1.3-2.4-2-.3-.2-.8-.1-1.2-.4-.7-.3-1.3-1.2-2-1-1.2.1-1.9 1.1-3 1.6-1 .5-1.5 1.3-2.3 1.8-.2.1-2.8 1.9-5.7 3a76.7 76.7 0 0 1-7 2.7s2.5 1.9 8.5 1.6l3.6 1.2 2-.4h5.1z"/>
|
||||
<path fill="#007934" stroke="#000" stroke-width=".1" d="M245 271.8c1.4-.6 6.5-3 8-4.8-.2 0 .5.5.4.8.5 0 .3-.5.7-.6l.8-.1c.3-.1.1 0 .1.2-.4.7-1.3 1-2 1.6 0 0 .1.1 0 .2h.8l.1-.3c.3.1.2.3 0 .4-.1.4-.9.4-1.1.7l-1 1c.3-.3.7-.6 1.1-.6.7 0 .9-.4 1.4-.5.6-.2 1-.6 1.5-.9-.2.2-.6.4-.5.7l.4.2c-.4.4-1.2.7-1.5 1.3-.3-.1-.5 0-.7.1-.2 0-.2.5-.3.6-.8.3-1.2 1-1.5 1.5 0 0-.7.4-1 .4-.3.2-2.9 2-3 1.7-.2-1.2-2.6.5-8.5-1.3"/>
|
||||
<path fill="#00a6de" stroke="#000" stroke-width=".1" d="M256 228.4c-19.3 0-35 17.7-35 39.4 0 21.8 15.7 39.4 35 39.4s35-17.6 35-39.4-15.7-39.4-35-39.4zm0 8.8c14.1 0 26.3 13.1 26.3 30.6s-12.2 30.6-26.3 30.6c-14.1 0-26.3-13.1-26.3-30.6s12.2-30.6 26.3-30.6z" color="#000" font-family="Sans" font-weight="400" overflow="visible" style="line-height:normal;text-indent:0;text-align:start;text-decoration-line:none;text-transform:none;marker:none"/>
|
||||
<path fill="#e8a30e" d="M261 284.6c0 .2 0 .2-.4.2-.4.1-.5.1-.5-.1s0-.2.5-.3c.3 0 .4 0 .4.2"/>
|
||||
<path fill="#e8a30e" d="m261.1 284.6-.5.2h-.6c0-.2.3-.3.6-.3h.5zm-3 9.5c.9-2.2 1-4-.1-6.4 2-1.9 3.5-1.2 4.8.1-1.3 2.4-1 4.1-.2 6.4a4.3 4.3 0 0 1-4.5 0z"/>
|
||||
<path fill="#e8a30e" d="M260.3 286.5v8.3c0-2.8.2-5.5 0-8.3"/>
|
||||
<path fill="#e8a30e" d="M260.7 286.6a47.4 47.4 0 0 0-.4 8.2h.2c0-3.1 0-5.7.4-8.2a3 3 0 0 0-.2 0m.7-2.7c-.4.4-.5.4-.4 1 .4-.2.4-.5.4-1"/>
|
||||
<path fill="#e8a30e" d="M260.6 284.2c.2.2.6.4.4 1-.5-.3-.4-.4-.4-1"/>
|
||||
<path fill="#e8a30e" d="M260.5 284.9c.3.2.6.3.4.8-.3-.3-.4-.3-.4-.8"/>
|
||||
<path fill="#e8a30e" d="M260.4 285.2c.3.3.6.4.4 1-.4-.3-.4-.3-.4-1"/>
|
||||
<path fill="#e8a30e" d="M260.3 285.8c.3.2.7.3.4 1-.4-.4-.2-.5-.4-1"/>
|
||||
<path fill="#e8a30e" d="M260.3 286.3c.2.2.6.4.4 1-.4-.4-.4-.4-.4-1m1.3-1.8c-.2.1-.6.1-.6.8.5-.3.5-.2.6-.8"/>
|
||||
<path fill="#e8a30e" d="M261.6 285c-.2.1-.7 0-.7.7.6-.3.6-.2.7-.7"/>
|
||||
<path fill="#e8a30e" d="M261.5 285.4c-.2.1-.6.1-.7.8.6-.3.6-.2.7-.8"/>
|
||||
<path fill="#e8a30e" d="M261.5 286c-.2 0-.7-.1-.7.7.4 0 .4-.3.7-.7"/>
|
||||
<path fill="#e8a30e" d="M261.3 286.5c-.3.1-.5 0-.6.8.5-.4.5-.3.6-.8m.3.4c-.8 2.2-1 4.2-.9 7.9a6.8 6.8 0 0 0 .2 0c0-3.7.1-5.7.8-7.8a3 3 0 0 0-.1-.1m1.2-2.4c-.4.3-.6.2-.5.9.4-.2.4-.4.5-1z"/>
|
||||
<path fill="#e8a30e" d="M262 284.6c.2.2.5.4.1 1-.3-.4-.2-.4-.1-1"/>
|
||||
<path fill="#e8a30e" d="M261.8 285.2c.2.3.5.4.2 1-.2-.5-.3-.5-.2-1"/>
|
||||
<path fill="#e8a30e" d="M261.6 285.5c.2.3.5.5.2 1.1-.4-.4-.3-.5-.2-1z"/>
|
||||
<path fill="#e8a30e" d="M261.4 286c.2.3.6.5.2 1-.4-.4-.1-.5-.2-1"/>
|
||||
<path fill="#e8a30e" d="M261.2 286.5c.2.3.6.5.2 1-.3-.3-.3-.4-.2-1m1.8-1.4c-.3 0-.7 0-.8.6.5-.2.5-.1.8-.6"/>
|
||||
<path fill="#e8a30e" d="M262.8 285.5c-.2.1-.7 0-.8.6.6-.2.6-.1.8-.6"/>
|
||||
<path fill="#e8a30e" d="M262.7 286c-.3 0-.7 0-.9.6.6-.2.6-.2.9-.7z"/>
|
||||
<path fill="#e8a30e" d="M262.5 286.5c-.2 0-.7-.2-.9.6.5 0 .5-.3 1-.6z"/>
|
||||
<path fill="#e8a30e" d="M262.2 287c-.4 0-.5 0-.7.6.5-.2.5-.2.7-.7zm.1.4c-1 2-1.2 3.8-.7 7.2a5 5 0 0 0 .2 0c-.5-3.3-.3-5.2.6-7.1a3.5 3.5 0 0 0 0-.1zm1.7-2.4c-.5.2-.7.2-.7.8.4-.1.5-.3.7-.8"/>
|
||||
<path fill="#e8a30e" d="M263.1 285c.2.3.4.5 0 1-.3-.4-.2-.4 0-1"/>
|
||||
<path fill="#e8a30e" d="M262.8 285.6c.2.3.5.5.1 1-.1-.5-.3-.5 0-1z"/>
|
||||
<path fill="#e8a30e" d="M262.6 285.9c.2.3.4.6 0 1-.3-.4-.2-.4 0-1"/>
|
||||
<path fill="#e8a30e" d="M262.3 286.4c.2.3.5.5 0 1-.2-.5 0-.5 0-1"/>
|
||||
<path fill="#e8a30e" d="M262 286.8c.2.3.6.6.2 1-.3-.4-.3-.4-.1-1zm2-1.2c-.2 0-.6 0-.9.5.6 0 .6 0 .9-.5"/>
|
||||
<path fill="#e8a30e" d="M263.8 286c-.2.1-.7 0-.9.5.7 0 .6 0 1-.5z"/>
|
||||
<path fill="#e8a30e" d="M263.6 286.4c-.2 0-.7 0-1 .5.7 0 .7 0 1-.5"/>
|
||||
<path fill="#e8a30e" d="M263.4 287c-.3 0-.7-.4-1 .4.5 0 .5-.2 1-.5z"/>
|
||||
<path fill="#e8a30e" d="M263 287.4c-.3 0-.5-.1-.8.5.5-.1.5 0 .8-.5m-3.2-.8h-.1a44 44 0 0 0 .1 0m-.7-2.7c.4.4.6.4.4 1-.4-.3-.4-.5-.4-1"/>
|
||||
<path fill="#e8a30e" d="M259.9 284.2c-.2.2-.6.3-.4 1 .5-.3.4-.4.4-1"/>
|
||||
<path fill="#e8a30e" d="M260 284.9c-.3.2-.6.2-.4.8.3-.3.4-.3.4-.8"/>
|
||||
<path fill="#e8a30e" d="M260 285.2c-.2.3-.5.4-.3 1 .4-.3.4-.3.4-1z"/>
|
||||
<path fill="#e8a30e" d="M260.2 285.8c-.3.2-.7.3-.4 1 .4-.4.2-.6.4-1"/>
|
||||
<path fill="#e8a30e" d="M260.2 286.3c-.2.2-.6.3-.4 1 .4-.4.4-.4.4-1m-1.3-1.9c.2.2.6.2.6.9-.5-.4-.5-.3-.6-.9"/>
|
||||
<path fill="#e8a30e" d="M258.9 284.9c.2.1.7.1.7.8-.6-.3-.6-.3-.7-.8"/>
|
||||
<path fill="#e8a30e" d="M259 285.3c.2.2.6.2.7.9-.6-.4-.6-.3-.7-.9"/>
|
||||
<path fill="#e8a30e" d="M259 286c.2 0 .7-.1.7.7-.4-.1-.4-.4-.7-.8z"/>
|
||||
<path fill="#e8a30e" d="M259.2 286.4c.3.2.5.2.6.8-.5-.3-.5-.2-.6-.8m-.2.6a4 4 0 0 0-.2 0c.7 2.2 1 4.2 1 7.7a20 20 0 0 0-.8-7.8zm-1.3-2.7c.4.4.6.3.6 1-.5-.2-.5-.4-.6-1"/>
|
||||
<path fill="#e8a30e" d="M258.5 284.5c-.2.3-.5.5-.1 1 .3-.4.3-.4.1-1"/>
|
||||
<path fill="#e8a30e" d="M258.7 285.1c-.2.3-.5.4-.2 1 .2-.4.3-.4.2-1"/>
|
||||
<path fill="#e8a30e" d="M258.9 285.5c-.2.3-.5.4-.2 1 .4-.4.3-.4.2-1"/>
|
||||
<path fill="#e8a30e" d="M259.1 286c-.2.3-.6.4-.2 1 .4-.4.1-.5.2-1"/>
|
||||
<path fill="#e8a30e" d="M259.3 286.5c-.2.3-.6.5-.3 1 .3-.4.4-.4.3-1m-1.8-1.6c.3.2.7 0 .8.7-.6-.2-.5-.1-.8-.7"/>
|
||||
<path fill="#e8a30e" d="M257.7 285.4c.2.1.7 0 .8.6-.6-.2-.6-.1-.8-.6"/>
|
||||
<path fill="#e8a30e" d="M257.8 285.8c.3.1.7 0 .9.7-.6-.2-.6-.2-.9-.7"/>
|
||||
<path fill="#e8a30e" d="M258 286.4c.2 0 .7-.2.9.6-.5 0-.5-.3-1-.6z"/>
|
||||
<path fill="#e8a30e" d="M258.3 286.8c.3.1.5 0 .7.7-.5-.2-.5-.2-.7-.7m0 .7h-.2c1 2 1 3.8.8 7h.2c.3-3.2.1-5-.8-7m-1.8-2.7c.5.3.7.2.7.9-.4-.2-.5-.4-.7-.9"/>
|
||||
<path fill="#e8a30e" d="M257.4 284.9c-.1.3-.4.5 0 1 .3-.4.2-.4 0-1"/>
|
||||
<path fill="#e8a30e" d="M257.7 285.5c-.2.3-.5.4-.1.9.1-.4.3-.4 0-1z"/>
|
||||
<path fill="#e8a30e" d="M257.9 285.8c-.2.3-.4.5 0 1 .3-.4.2-.4 0-1"/>
|
||||
<path fill="#e8a30e" d="M258.2 286.3c-.2.3-.5.5-.1 1 .3-.5 0-.5 0-1z"/>
|
||||
<path fill="#e8a30e" d="M258.4 286.8c-.2.2-.5.5 0 1 .2-.4.2-.5 0-1m-1.9-1.4c.2.1.6 0 .9.6-.6-.1-.6 0-.9-.6"/>
|
||||
<path fill="#e8a30e" d="M256.7 285.9c.2 0 .7-.1.9.5-.7-.1-.6 0-1-.5z"/>
|
||||
<path fill="#e8a30e" d="M256.9 286.3c.2 0 .7-.1 1 .5-.7 0-.7 0-1-.5"/>
|
||||
<path fill="#e8a30e" d="M257.1 286.8c.2 0 .7-.3 1 .5-.5 0-.5-.2-1-.5"/>
|
||||
<path fill="#e8a30e" d="M257.5 287.2c.3 0 .5 0 .8.6-.6-.1-.5-.1-.8-.6m2.3-3.4c.4.5.6.5.3 1-.3-.2-.3-.5-.3-1"/>
|
||||
<path fill="#e8a30e" d="M260.6 284.2c-.2.2-.6.3-.4 1 .4-.3.4-.4.4-1"/>
|
||||
<path fill="#e8a30e" d="M260.6 284.9c-.3.2-.6.2-.4.8.3-.3.4-.3.4-.8"/>
|
||||
<path fill="#e8a30e" d="M260.7 285.2c-.3.3-.6.3-.4 1 .4-.3.4-.3.4-1"/>
|
||||
<path fill="#e8a30e" d="M260.8 285.8c-.3.2-.7.3-.5 1 .5-.4.3-.6.5-1"/>
|
||||
<path fill="#e8a30e" d="M260.8 286.3c-.2.2-.7.3-.5 1 .4-.4.5-.4.5-1m-1.2-2c.1.2.6.3.5 1-.5-.4-.5-.4-.5-1"/>
|
||||
<path fill="#e8a30e" d="M259.6 284.8c.2.2.6.2.6.9-.6-.4-.5-.3-.6-.9"/>
|
||||
<path fill="#e8a30e" d="M259.6 285.3c.2.1.7.2.7.8-.6-.3-.6-.3-.7-.8"/>
|
||||
<path fill="#e8a30e" d="M259.6 285.9c.2 0 .7 0 .7.8-.4-.2-.4-.4-.7-.8"/>
|
||||
<path fill="#e8a30e" d="M259.8 286.4c.3.1.5.1.5.8-.4-.3-.4-.3-.5-.8m-.4.3c.6 2.6.7 5 .7 8h.1c.1-2.7 0-5.3-.7-8m-1-2.5c.4.3.6.3.5 1-.5-.3-.5-.5-.6-1z"/>
|
||||
<path fill="#e8a30e" d="M259.2 284.4c-.2.2-.5.4-.2 1 .3-.4.3-.4.2-1"/>
|
||||
<path fill="#e8a30e" d="M259.3 285c-.2.3-.5.4-.2 1 .2-.4.3-.4.2-1"/>
|
||||
<path fill="#e8a30e" d="M259.5 285.4c-.2.2-.5.4-.2 1 .3-.4.3-.4.2-1"/>
|
||||
<path fill="#e8a30e" d="M259.7 285.9c-.2.3-.6.4-.3 1 .4-.4.2-.5.3-1"/>
|
||||
<path fill="#e8a30e" d="M259.8 286.4c-.2.3-.6.4-.3 1 .3-.4.4-.4.3-1m-1.6-1.6c.2 0 .6 0 .7.7-.5-.3-.5-.2-.7-.7"/>
|
||||
<path fill="#e8a30e" d="M258.3 285.2c.2.1.7 0 .8.7-.6-.2-.6-.2-.8-.7"/>
|
||||
<path fill="#e8a30e" d="M258.4 285.6c.2.2.7.1.8.8-.6-.3-.6-.2-.8-.8"/>
|
||||
<path fill="#e8a30e" d="M258.5 286.2c.3 0 .7-.1.9.7-.5 0-.5-.3-.9-.7"/>
|
||||
<path fill="#e8a30e" d="M258.8 286.7c.4 0 .5 0 .7.7-.5-.2-.5-.2-.7-.7m-.8 1a6.7 6.7 0 0 1 .8 4c0 .8-.2 1.7-.4 2.6h.2c.6-2.7.5-4.7-.6-6.6"/>
|
||||
<path fill="#e8a30e" d="M258.6 287.2c.8 2.3.9 4.4.7 7.5h.2a16 16 0 0 0-.9-7.5m-1.5-2.6c.5.3.7.2.7.9-.5-.2-.5-.4-.7-.9"/>
|
||||
<path fill="#e8a30e" d="M258 284.6c-.2.3-.5.5 0 1.1.2-.4.1-.4 0-1z"/>
|
||||
<path fill="#e8a30e" d="M258.2 285.3c-.2.3-.5.4-.1.9.2-.4.3-.4.1-1z"/>
|
||||
<path fill="#e8a30e" d="M258.4 285.6c-.1.3-.4.5 0 1 .3-.4.2-.4 0-1"/>
|
||||
<path fill="#e8a30e" d="M258.7 286c-.2.4-.6.6-.1 1.1.3-.5 0-.5.1-1z"/>
|
||||
<path fill="#e8a30e" d="M258.9 286.6c-.2.3-.5.5-.1 1 .2-.4.2-.5.1-1m-1.9-1.4c.3 0 .7 0 .9.6-.6-.2-.6-.1-.9-.6"/>
|
||||
<path fill="#e8a30e" d="M257.2 285.6c.2.1.7 0 .9.6-.7-.1-.6 0-.9-.6"/>
|
||||
<path fill="#e8a30e" d="M257.4 286c.2.1.7 0 .9.6-.6-.1-.6 0-.9-.6"/>
|
||||
<path fill="#e8a30e" d="M257.6 286.6c.2 0 .7-.3 1 .5-.5 0-.6-.2-1-.5"/>
|
||||
<path fill="#e8a30e" d="M258 287c.3 0 .5 0 .7.6-.5-.2-.5-.1-.7-.6m-2-1.7c.5.2.6 0 .8.7-.5 0-.6-.3-.9-.7zm.8-.1c-.1.3-.4.6.1 1 .3-.4.2-.5-.1-1"/>
|
||||
<path fill="#e8a30e" d="M257.2 285.8c-.2.3-.4.4 0 .9.1-.4.2-.4 0-1z"/>
|
||||
<path fill="#e8a30e" d="M257.4 286c-.1.4-.3.6.1 1.1.3-.5.2-.5-.1-1z"/>
|
||||
<path fill="#e8a30e" d="M257.8 286.5c-.2.3-.5.6 0 1 .3-.5 0-.5 0-1"/>
|
||||
<path fill="#e8a30e" d="M258 287c0 .2-.4.5 0 1 .3-.5.3-.5 0-1m-2-1.1c.2 0 .6-.2 1 .4-.7 0-.7 0-1-.4"/>
|
||||
<path fill="#e8a30e" d="M256.2 286.3c.3 0 .7-.2 1 .4-.7 0-.6 0-1-.4"/>
|
||||
<path fill="#e8a30e" d="M256.5 286.6c.2 0 .7-.1 1 .5-.7 0-.7 0-1-.5"/>
|
||||
<path fill="#e8a30e" d="M256.8 287.1c.2 0 .6-.3 1 .4-.5.1-.6-.1-1-.4"/>
|
||||
<path fill="#e8a30e" d="M257.2 287.5c.4 0 .5 0 .8.5-.5-.1-.5 0-.8-.5m4-.8a27.5 27.5 0 0 0-.7 8h.2c0-3 0-5.4.7-8zm1.1-2.4c-.4.3-.6.3-.5.9.4-.2.5-.4.5-1z"/>
|
||||
<path fill="#e8a30e" d="M261.5 284.4c.2.3.5.5.2 1-.4-.3-.3-.4-.2-1"/>
|
||||
<path fill="#e8a30e" d="M261.3 285c.3.3.6.4.3 1-.3-.4-.4-.4-.3-1"/>
|
||||
<path fill="#e8a30e" d="M261.2 285.4c.2.3.5.5.2 1-.4-.3-.3-.4-.2-1"/>
|
||||
<path fill="#e8a30e" d="M261 286c.2.2.6.4.3 1-.5-.5-.2-.6-.3-1"/>
|
||||
<path fill="#e8a30e" d="M260.8 286.4c.3.3.6.5.3 1-.3-.3-.3-.4-.3-1m1.7-1.5c-.2 0-.7 0-.8.7.6-.3.6-.2.8-.8z"/>
|
||||
<path fill="#e8a30e" d="M262.4 285.3c-.2.1-.7 0-.8.6.6-.1.6 0 .8-.6"/>
|
||||
<path fill="#e8a30e" d="M262.3 285.7c-.3.2-.8 0-.9.7.7-.2.6-.1.8-.7z"/>
|
||||
<path fill="#e8a30e" d="M262.1 286.3c-.2 0-.7-.2-.8.6.4 0 .5-.3.8-.6"/>
|
||||
<path fill="#e8a30e" d="M261.8 286.8c-.3 0-.5 0-.6.6.5-.2.4-.1.6-.6m.2.3c-1 2.3-1.1 4.4-.9 7.6h.2c-.2-3.2 0-5.3.8-7.5zm1.5-2.4c-.4.3-.6.2-.6.9.5-.2.5-.4.7-.9z"/>
|
||||
<path fill="#e8a30e" d="M262.7 284.8c.2.3.5.5 0 1-.2-.4-.2-.5 0-1"/>
|
||||
<path fill="#e8a30e" d="M262.4 285.4c.3.3.5.4.2.9-.2-.4-.3-.4-.2-1z"/>
|
||||
<path fill="#e8a30e" d="M262.3 285.7c.1.3.4.5 0 1-.3-.4-.2-.4 0-1"/>
|
||||
<path fill="#e8a30e" d="M262 286.2c.2.3.5.5 0 1-.3-.5 0-.5 0-1"/>
|
||||
<path fill="#e8a30e" d="M261.8 286.6c.1.3.5.6 0 1.1-.2-.4-.2-.5 0-1zm1.8-1.3c-.2.1-.6 0-.8.6.6-.1.5 0 .8-.6"/>
|
||||
<path fill="#e8a30e" d="M263.4 285.8c-.2 0-.6-.1-.8.5.6-.1.6 0 .8-.5"/>
|
||||
<path fill="#e8a30e" d="M263.3 286.2c-.3 0-.7-.1-1 .5.7 0 .7 0 1-.5"/>
|
||||
<path fill="#e8a30e" d="M263 286.7c-.2 0-.6-.3-.9.5.5 0 .5-.2 1-.5z"/>
|
||||
<path fill="#e8a30e" d="M262.7 287.1c-.4 0-.5 0-.8.6.5-.1.5-.1.8-.6m0 .6c-1.2 2-1 4.2-.6 6.7h.2c-.2-1.2-.4-2.1-.3-3a6.4 6.4 0 0 1 .8-3.6 11.8 11.8 0 0 0-.1 0zm2-2.2c-.5.2-.7 0-.8.7.5 0 .6-.3.8-.7"/>
|
||||
<path fill="#e8a30e" d="M263.9 285.3c0 .4.3.6-.2 1.1-.2-.5-.1-.5.2-1z"/>
|
||||
<path fill="#e8a30e" d="M263.5 285.9c.2.3.4.5 0 1-.2-.5-.3-.5 0-1"/>
|
||||
<path fill="#e8a30e" d="M263.3 286.2c0 .3.3.6-.2 1-.2-.5-.1-.5.2-1"/>
|
||||
<path fill="#e8a30e" d="M262.9 286.6c.1.3.4.6 0 1-.3-.5 0-.5 0-1"/>
|
||||
<path fill="#e8a30e" d="M262.6 287c.1.3.4.6 0 1-.2-.4-.3-.5 0-1m2-1c-.2.1-.6-.1-.9.5.6 0 .6 0 1-.4z"/>
|
||||
<path fill="#e8a30e" d="M264.4 286.5c-.2 0-.6-.2-1 .3.7 0 .7 0 1-.3"/>
|
||||
<path fill="#e8a30e" d="M264.2 286.8c-.3 0-.7-.2-1 .4.6 0 .6 0 1-.4"/>
|
||||
<path fill="#e8a30e" d="M263.9 287.3c-.3 0-.6-.4-1 .3.4.1.5 0 1-.3"/>
|
||||
<path fill="#e8a30e" d="M263.4 287.6c-.3 0-.4 0-.8.5.5 0 .5 0 .8-.5m-3.7 3h1.2c.8 0 1.3.2 1.3.4s-.5.3-1.3.3h-1.2c-.7 0-1.3-.2-1.3-.4s.6-.3 1.3-.3"/>
|
||||
<path fill="#e8a30e" d="m258.9 290.6-.4.6a.3.3 0 0 0 .2 0h.2l.4-.6zm1 0-.5.7h.5l.4-.7h-.5zm.9 0-.5.7h.5l.4-.7zm.9 0-.4.7h.5l.3-.6a.3.3 0 0 0-.2 0z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="m252.3 286.7.5 2.9.2.2v1l.1.2c.3.5.3 1.2.4 1.7 0 .2 0 0 .4.6h.4l.1.2-.2.3h-.7l-.3-.2v-.2l-.2-.1-.1-.6-.8-1c-.1-.2-.1-.5-.3-.6 0-.2-.2-.2-.3-.3-.5-1.1-1-3.1-1-3.1m-6.9-1.2 2 .4-.6 2.8c-.3.9-.3 1-.2 1.2.2.4.4 1.2 1.2 2.3.2.3.5.3.6.4l.5.4h.6l.1-.2c0-.2-.3-.1-.5-.3-.1-.3-.6-.8-.6-1.2-.3-.8-.2-.8-.2-1.6 0-.4.4-1.3.5-1.8a4.6 4.6 0 0 0 .5-2l-.8-2-.5-.6m-1.8-1.2c-3 1-1.7 3.8-.9 3.8m9.8-8.7.5-1v-.4l-.8 1"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255.1 279.9h.5v-.3l-.1-.4c-.5-.4-1-.4-1-.7v-.2c0-.2-.9-.3-1-.5l-.5-.2h-.3c-.7 0-1 .8-1.2 1.3 0 0-.2 2.3-.6 3.3a.8.8 0 0 1-.1.3l-.2.2-4.5-.3a4 4 0 0 0-2 .8s-1 .7-1.2 1.7c0 .4 0 .8.2 1.2 1 2.7 2 0 2.3 0h.4c.5 0 1.4 1.6 2.8 2 4.3.9 5.5-1.4 5.4-6.3v-.2l.2-.5v-.5l-.1-.3 1.2-.2.2-.1"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="m253 278.5.6-1.2v-.5l-1 1.1v.1m-9.5 8c.3.9.8 1.7.7 2 0 .4-.3.6-.3.7l-.1.1c-.2.1-.2.4-.3.6l-.1.6c0 .8.5 2.4.6 2.4l.3.3v.5l-.1.7v.2l.4.2h.6l-.4-.4a.4.4 0 0 1 0-.3l.3-.4v-.4l-.1-.2a8.8 8.8 0 0 1-.1-1v-1.2l.2-.1.1-.3 1-.6 1-1.1.1-.5a.6.6 0 0 0 0-.2 4 4 0 0 0-.3-1 3.4 3.4 0 0 0-.6-.8m6.3 2c-.6.3-2 .6-2 .9 0 0 0 1.7-.2 2.4l-.3.6-.2.7c-.1.3-.3.6-.3 1v.5l.4.2-.4.2-.7-.3v-.6l.1-.7-.1-.5-.1-1.4v-5m5-5.7c.2.3.5.4 1.3.1.2.1.4.3.7-.2m-.4-.6.3.1c0-.1 0-.2-.1-.1z"/>
|
||||
<path d="m253.6 278.8.1.1c.1.2.4.3.6 0-.3-.3-.5-.1-.6 0z"/>
|
||||
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-width=".1" d="M265.7 291.1a2 2 0 0 0 0 .8 2 2 0 0 0 0 .8 2 2 0 0 0 0 .8 2.1 2.1 0 0 0 0 .7c.3.2 1 .2 1.3 0v-.7a2 2 0 0 0 0-.8 2 2 0 0 0 0-.8 2 2 0 0 0 0-.8 2.4 2.4 0 0 0 0-.8 2.2 2.2 0 0 0 0-.8 2.4 2.4 0 0 0 0-.8v-.9a2.5 2.5 0 0 0 0-.8 2.6 2.6 0 0 0 0-.9 2.3 2.3 0 0 0 0-.8 2 2 0 0 0 0-.8 2.7 2.7 0 0 0 0-.9 2.5 2.5 0 0 0 0-.8v-.8a3.1 3.1 0 0 0 0-.9 3.1 3.1 0 0 0 0-.8v-2.5a2.4 2.4 0 0 0-.1-.8v-.8a2.1 2.1 0 0 0 0-.3h-.8v.3c-.1.1-.1.6 0 .8a2.5 2.5 0 0 0 0 .8 2.7 2.7 0 0 0-.1.8 2.9 2.9 0 0 0 0 .8v.9a3.1 3.1 0 0 0 0 .8 3.1 3.1 0 0 0 0 .9 3.5 3.5 0 0 0 0 .8 2.5 2.5 0 0 0-.1.8 2.6 2.6 0 0 0 0 .9c0 .2-.1.5 0 .8a2.4 2.4 0 0 0 0 .8 2.6 2.6 0 0 0 0 .9c-.1.2-.1.5 0 .8a2.8 2.8 0 0 0-.1.9v.8a2.2 2.2 0 0 0 0 .8 2.4 2.4 0 0 0 0 .8z"/>
|
||||
<path fill="#e7e7e7" fill-rule="evenodd" stroke="#000" stroke-linejoin="round" stroke-width=".1" d="M265.7 291.9h1.3m-1.3-.8h1.3m-1.2-.8h1.2m-1.2-.8h1.2m-1.2-.9h1.2m-1.2-.8h1.2m-1.2-.8h1.2m-1.1-.9h1m-1-.8h1m-1-.8h1m-1-.9h1m-1-.8h1m-1-.9h1m-1-.8h1m-1-.8h1m-.9-.9h1m-1-.8h1m-1-.8h.9m-.8-.9h.8m-.9-.7h.9m-1.2 16.5h1.3m-1.3.7a2.5 2.5 0 0 0 1.3 0"/>
|
||||
<path fill="#007934" fill-rule="evenodd" stroke="#e7e7e7" stroke-width=".1" d="m268.3 274.2 2.2-.1a14.6 14.6 0 0 0-.9-.3h2.4a5.2 5.2 0 0 0-1-.5c.7-.1 1.7 0 2.3.1l-1-.5 2 .1a2.8 2.8 0 0 0-.9-.5 8.6 8.6 0 0 1 2.7-.1 9.2 9.2 0 0 0-8.6.8 6.5 6.5 0 0 1 1-1.2 2.7 2.7 0 0 0-.7 0l1.3-1a3.1 3.1 0 0 0-.8 0l1.5-1a3.3 3.3 0 0 0-.9 0 5 5 0 0 1 1.7-1.1 4.2 4.2 0 0 0-1 0c.5-.4 1.2-1 2.1-1.4-3.5.4-5.5 3-5.7 5.1-.9-2-3.5-4-7-3.8 1 .3 1.9.7 2.5 1.1a4.6 4.6 0 0 0-1 .1c.7.2 1.5.6 2 1a3.6 3.6 0 0 0-.9.1l1.8.8-.8.1 1.6.8a3 3 0 0 0-.8 0l1.4.8c-2.2-.5-5.4.3-7.9 3.1.4-.3 1.9-.8 2.4-1a4 4 0 0 0-.6.9 8.9 8.9 0 0 1 2.2-1.2 5 5 0 0 0-.4.8l2-1-.5.8 1.8-.7-.5.7 1-.3a6.6 6.6 0 0 0-3 6.1c0-.4.6-1.6.9-2v1a9 9 0 0 1 1-2.1l.1 1 1-2.1v1a14.2 14.2 0 0 1 1.2-2v.8l.3-.6.7-1 .3.4c.2.4.5 1.1.5 1.9a3.4 3.4 0 0 0 .3-1c.3.8.7 2 .7 2.6l.2-1c.3.5.7 1.8.7 2.4l.3-1 .6 2.4c.8-3.1-.4-5.2-2-6.7.4.2 1 .6 1.4 1.1a5.2 5.2 0 0 0-.3-1l1.6 1.6a2.9 2.9 0 0 0-.2-1c.7.5 1.2 1.3 1.6 1.7l-.2-1c.6.5 1.2 1.4 1.4 2l-.1-1.2c.8.7 1 1.4 1.3 1.9 0-2.9-3.3-5.4-6.3-5.7z"/>
|
||||
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M267 274.2c3.4-.4 7.6 2.4 7.6 5.7-.2-.4-.5-1.2-1.4-1.9l.2 1.1a6.5 6.5 0 0 0-1.4-1.9l.2 1c-.4-.4-1-1.2-1.6-1.6l.2.8a15.3 15.3 0 0 0-1.6-1.4l.3 1a6 6 0 0 0-1.3-1.2m-2-1.6c-2-1.3-6.2-1-9.3 2.5.4-.3 1.9-.8 2.4-1a4 4 0 0 0-.5.9 8.9 8.9 0 0 1 2.1-1.2 5.1 5.1 0 0 0-.4.8l2-1-.5.8 1.8-.7-.5.7 1-.4"/>
|
||||
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M266.4 273.7c-.4-2.4-3.3-5-7.4-4.9 1 .3 1.9.7 2.5 1.1a4.6 4.6 0 0 0-1 .1c.7.2 1.5.6 2 1a3.6 3.6 0 0 0-.9.1l1.8.8-.8.1c.5.1 1.2.5 1.6.8a3 3 0 0 0-.8 0l1.4.8m1.6 1c-2.8.9-5.5 3.6-5.1 7.2 0-.4.6-1.6.9-2v1a9 9 0 0 1 1-2.1l.1 1 1-2.1v1a14.1 14.1 0 0 1 1.2-2v.8c0-.2.9-1.4 1-1.5m-1.7.1a9.3 9.3 0 0 0-.4 1.6m-.6-.9a10.4 10.4 0 0 0-.5 2m-.5-1a9.5 9.5 0 0 0-.6 2"/>
|
||||
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M266.5 275.9v-.7" class="bo-fil1 bo-str2"/>
|
||||
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="m269.4 278.7.1 1.5m-1.1-3.3.1 1.7m-1.1-2.8.2 1.4m5-.5a3.7 3.7 0 0 1 .6 1.3m-2-2.3.8 1.6m-2.1-2 .7 1.3m-11.3-.9a5 5 0 0 1 1.8-1.2m-.2 1c.4-.6.7-1 1.7-1.4m-.2 1.2c.4-.5 1-1 1.8-1.3m-.4 1.3c.5-.5 1-.8 1.7-1m-4-4.4c.8.1 1.7.3 2.3.7m-1.2.4a5 5 0 0 1 2 .5m-1.2.4c.7 0 1.5.3 2.2.7m-1.4.2a4.1 4.1 0 0 1 1.9.6m.8.2a9.1 9.1 0 0 1 9.2-1.2 8.6 8.6 0 0 0-2.7.1c.5.1.9.4 1 .5-.9-.1-1.2-.2-2.2-.1.5.1.8.3 1.1.5a7.8 7.8 0 0 0-2.3-.1l1 .4h-2.4l1 .4-2.3.1m5.1-1.7a6.4 6.4 0 0 0-2.2-.3m1 .7a6.2 6.2 0 0 0-2.7-.3m1.5.7a7.3 7.3 0 0 0-2.7-.2m1.3.7a5.3 5.3 0 0 0-2.1-.1m.9 1.1c.3.3.6.7.8 1.2"/>
|
||||
<path fill="none" stroke="#e7e7e7" stroke-linecap="round" stroke-linejoin="round" stroke-width=".1" d="M266 272.6c.2-2.1 2.2-4.7 5.7-5a9 9 0 0 0-2 1.3h1c-.7.2-1.4.7-1.8 1.2h1c-.6.2-1.2.6-1.5 1h.8c-.4 0-1 .6-1.3.9a2.7 2.7 0 0 1 .7 0c-.5.3-1 .8-1.1 1.2m2.1-4.3c-.5.2-1.1.4-1.6.8m1 .4a4.8 4.8 0 0 0-1.6.5m1 .5c-.6 0-1.1.3-1.6.7m1 .2a3.4 3.4 0 0 0-1.5.8m-.5 2.6a6.4 6.4 0 0 0-.3 1.2m1.3-2.1c2 1.7 4.4 4 3.3 8a8.8 8.8 0 0 0-.6-2.3c0 .4-.2.7-.3 1a7.2 7.2 0 0 0-.7-2.6l-.2 1c0-.6-.4-1.7-.7-2.5a3.4 3.4 0 0 1-.3 1c0-1-.4-1.8-.8-2.2"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-width=".1" d="m227.5 249 1.4.8.3-.6c.2-.3.2-.5.1-.7 0-.2-.2-.4-.5-.5-.3-.2-.6-.3-.8-.2-.2 0-.3.2-.4.4l-.3.6c0 .1 0 .2.2.3m1.8 1 1.7.9h.3c.1 0 .3-.2.4-.5l.3-.6a.6.6 0 0 0 0-.5.8.8 0 0 0-.2-.2 2 2 0 0 0-.4-.3c-.8-.4-1.4-.3-1.7.4l-.4.7m-2.8-.8a31.7 31.7 0 0 0 .7-1.2c.1-.4.3-.7.6-.9l.6-.4h.9l.5.6.1.8c.3-.3.7-.5 1-.6a1.3 1.3 0 0 1 1 .1c.4.2.7.6.8 1 0 .6 0 1.2-.5 1.9a28 28 0 0 1-.8 1.4l-.3.7a12 12 0 0 0-1.5-1l-1.9-1a12.3 12.3 0 0 0-1.6-.7l.4-.7m9.5-11.5c-.8.6-.7 1.5.4 2.8.5.6 1 1 1.5 1 .5.2 1 0 1.4-.3.4-.3.6-.7.5-1.1a3.3 3.3 0 0 0-.8-1.6c-.6-.7-1.1-1.1-1.6-1.2-.5-.2-1 0-1.4.4m4-.2c.5.6.7 1.4.7 2.1a3 3 0 0 1-1.2 2 3.1 3.1 0 0 1-2.2.9 2.6 2.6 0 0 1-2-1 3 3 0 0 1-.7-2.2 2.9 2.9 0 0 1 1.1-2 3.1 3.1 0 0 1 2.3-1c.7.1 1.4.5 2 1.2m8.5-2.8.3 1a15.2 15.2 0 0 0 2-.7l.4-.1a5.3 5.3 0 0 0 .3.9l-.6.1-2.5.7-.7.2-.4-1.7-.6-2a15 15 0 0 0-.5-1.7l.6-.2.7-.2.4 1.7.6 2m9.8-3 .1-1.8h.8l.7.1-.3 1.8-.2 2-.1 1.8a12 12 0 0 0-.7 0h-.8v-.1l.3-1.7.2-2.2m10.5 5.6a38.2 38.2 0 0 0 3.4-2.8l.4.2.4.2-5 3.8-.5-.3a292.6 292.6 0 0 1 .5-4.7 28.2 28.2 0 0 0 .1-1.4 7.9 7.9 0 0 0 1.4.7 37.1 37.1 0 0 0-.6 4.3m9 4.1a13 13 0 0 0 1.2-1.2l.5.5.5.5-1.4 1.1-1.5 1.5-1.3 1.2a12.3 12.3 0 0 0-.5-.5l-.5-.5 1.4-1.1 1.6-1.5m5.3 10.7a46.2 46.2 0 0 0 1.4-1.5h-2a22.2 22.2 0 0 0 .6 1.5m-1.2-1.5-2 .2a2 2 0 0 0-.2-.4 2.8 2.8 0 0 0-.2-.4 326.8 326.8 0 0 0 6.2 0l.4.6a87.3 87.3 0 0 0-4.2 4.6l-.3-.7a5.7 5.7 0 0 0-.3-.6l1.5-1.4a35.3 35.3 0 0 0-1-1.9" font-family="Linux Biolinum" font-size="100" font-weight="700" letter-spacing="60" style="line-height:125%;text-align:center" text-anchor="middle" word-spacing="0"/>
|
||||
<path fill="#e8a30e" stroke="#000" stroke-linecap="square" stroke-linejoin="round" stroke-width=".1" d="m261.3 299.3-.9 2.4H258l2 1.5-.7 2.4 2-1.4 2.1 1.4-.7-2.4 2-1.5H262zm9.7-4.1-.8 2.3h-2.5l2 1.6-.7 2.4 2-1.5 2 1.5-.7-2.4 2-1.5h-2.5zm15-26.7-.8 2.4h-2.5l2 1.6-.7 2.3 2-1.4 2.1 1.4-.7-2.4 2-1.4-2.5-.1zm-7.1 19 .8 2.4h2.5l-2 1.5.8 2.4-2.1-1.4-2 1.4.7-2.4-2-1.4 2.5-.1zm5-8.7.9 2.4h2.5l-2 1.6.7 2.3-2-1.4-2.1 1.4.7-2.3-2-1.5h2.5zm-33.1 20.5.8 2.4h2.5l-2 1.5.7 2.4-2-1.4-2.1 1.4.7-2.4-2-1.5h2.5zm-9.8-4.1.8 2.3h2.5l-2 1.6.8 2.4-2.1-1.5-2 1.5.7-2.4-2-1.5h2.5zm-15-26.7.8 2.4h2.5l-2 1.5.7 2.4-2-1.4-2 1.4.6-2.4-2-1.5h2.5zm7.1 19-.8 2.4h-2.5l2 1.5-.7 2.4 2-1.4 2 1.4-.7-2.4 2-1.5H234zm-5-8.7-.9 2.4h-2.5l2 1.6-.7 2.3 2-1.4 2.1 1.4-.7-2.3 2-1.5h-2.5z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M257.1 264.6v-.5h.1l-.9-.5h-.7l-.8.5v.5h2.3"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M257.1 264.6v-.5h.1l-.9-.5v-.8h-.6v.8l-1 .5h.1v.5zm.3.7v.2h-2.8v-.2h2.8"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M257.4 265.3v.2h-2.8v-.2zm-2.6 0v-.6.6-.7h2.5v.1h-.2v.6-.6h.1v.6"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M254.8 265.3v-.6.6-.7h2.5v.1h-.2v.6-.6h.1v.6"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255.3 265.2v-.4h-.3v.4h.3"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255 264.9v.2h.2v-.2h-.1m1.9.3v-.4h-.4v.4h.4"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.7 264.9v.2h.2v-.2h-.2m.3-.3v-.4h-.4v.4z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.7 264.3v.2h.2v-.2h-.2m-1.4.2v-.3h-.3v.3z"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255 264.3v.2h.2v-.2h-.1m.8.2v-.3h-.3v.4h.3"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M255.7 264.3v.2h.1v-.2h-.1m.7.2v-.3h-.3v.4h.3"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.1 264.3v.2h.2v-.2h-.2"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.5 264.4v1h-1v-1h1"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M256.5 264.4v1h-1v-1zm-1 .3h1m-.9.6v-.6m.8.6v-.6m.5-.6-.6-.4h-.6l-.6.4h1.8m-1.2-.5h.5m-.3-.2v.2h.2v-.2h-.2m-.3 1v.1m.3 0zm.1 0zm.4 0"/>
|
||||
<path fill="#e7e7e7" fill-rule="evenodd" d="M255.8 262.4h.4v.4h-.4z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M256 262v.4m-.2-.3h.4"/>
|
||||
<path fill="#452c25" d="M253 224.3s-2.6 5.8-1.7 6.4c0 0 3.1-3.5 4-6.3.8-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".2" d="M253 224.3s-2.6 5.8-1.7 6.4c0 0 3.1-3.5 4-6.3.8-2.8 0-.2 0-.2l-.3-3-2 2.9"/>
|
||||
<path fill="#452c25" d="M253.5 221.6s-3 6.4-2.3 6.8c0 0 2.5-2.9 3.1-5.1.7-2.3 0-.2 0-.2l.8-4.1"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M253.5 221.6s-3 6.4-2.3 6.8c0 0 2.5-2.9 3.1-5.1.7-2.3 0-.2 0-.2l.8-4.1"/>
|
||||
<path fill="#452c25" d="M256.6 220.1s-3 6.4-2.4 6.9c0 0 2.6-2.9 3.2-5.2.7-2.3 0-.1 0-.1l.8-4.1"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M256.6 220.1s-3 6.4-2.4 6.9c0 0 2.6-2.9 3.2-5.2.7-2.3 0-.1 0-.1l.8-4.1"/>
|
||||
<path fill="#452c25" d="m295.3 208.7 3.6 2s.8.7-1 .3c-2-.5-6-1.9-13.7-6.8-3.5-2.2-4.6-2.2-4.6-2.2l4.8.2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m295.3 208.7 3.6 2s.8.7-1 .3c-2-.5-6-1.9-13.7-6.8-3.5-2.2-4.6-2.2-4.6-2.2l4.8.2z"/>
|
||||
<path fill="#452c25" d="m296.5 207.8 3.5 2s.9.7-1 .3c-2-.4-6-1.8-13.7-6.8-3.4-2.2-.7 1.9-.7 1.9l.6-2.7z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m296.5 207.8 3.5 2s.9.7-1 .3c-2-.4-6-1.8-13.7-6.8-3.4-2.2-.7 1.9-.7 1.9l.6-2.7z"/>
|
||||
<path fill="#452c25" d="M302.4 209.7s-4.3-.8-5.8-2c0 0 .3.6-1.8-.4 0 0 .8 1.9-5-2.1-6-4-3.9-2-3.9-2l1.7-.4 10 4c1 .3 4.8 3 4.8 3"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M302.4 209.7s-4.3-.8-5.8-2c0 0 .3.6-1.8-.4 0 0 .8 1.9-5-2.1-6-4-3.9-2-3.9-2l1.7-.4 10 4c1 .3 4.8 3 4.8 3z"/>
|
||||
<path fill="#452c25" d="m280.1 211.3 1.5 2s-.5 2-5.4-1.8l-4.7-3.4 2.7-.3 6 3.4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m280.1 211.3 1.5 2s-.5 2-5.4-1.8l-4.7-3.4 2.7-.3 6 3.4"/>
|
||||
<path fill="#452c25" d="M273.7 212.3s2.3 3 1.8 3.4c-.5.4-3.2.2-5.2-2.7-1.9-3 0-.2 0-.2l.2-4.7 3.3 4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M273.7 212.3s2.3 3 1.8 3.4c-.5.4-3.2.2-5.2-2.7-1.9-3 0-.2 0-.2l.2-4.7 3.3 4"/>
|
||||
<path fill="#452c25" d="M276 211s2.3 2.8 2 3.2c-.2.5-3.3.2-5.8-2.6-2.5-2.8-.4-3.7-.4-3.7l4.2 2.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M276 210.9s2.3 2.9 2 3.3c-.2.5-3.3.2-5.8-2.6-2.5-2.8-.4-3.7-.4-3.7l4.3 3z"/>
|
||||
<path fill="#452c25" d="M288.7 209.3s6.3 2.7 1.6 2.5c0 0-9.1-2.5-13.9-6.5l1.4-1.8 10.8 5.6"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M288.7 209.3s6.3 2.7 1.6 2.5c0 0-9.1-2.5-13.9-6.5l1.4-1.8 10.8 5.6"/>
|
||||
<path fill="#452c25" d="M292 208.5s3.4 2 3.7 2.8-10.6-2-16.4-6.8l2.6-1.2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M292 208.5s3.4 2 3.7 2.8-10.6-2-16.4-6.8l2.6-1.2z"/>
|
||||
<path fill="#452c25" d="M282.1 210.3s2.5 2 2.2 2.3a17 17 0 0 1-9.2-3.5l.4-1.8z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M282.1 210.3s2.5 2 2.2 2.3a17 17 0 0 1-9.2-3.5l.4-1.8 6.6 3"/>
|
||||
<path fill="#452c25" d="M286.3 210.2s2.4 1.7 2 1.8c-.6.2-2.5 1.7-11.5-3.6l-1.1-.6 1.4-2.2 9.2 4.4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M286.3 210.1s2.4 1.8 2 2c-.6.1-2.5 1.6-11.5-3.7l-1.1-.6 1.4-2.2z"/>
|
||||
<path fill="#452c25" d="M277 205.2s3 2.6 2.6 3c-.4.4-3.9-.4-5.5-1.6-1.5-1.1-2.6-2.6-2.6-2.6l3.3-.7 2.2 2z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M277 205.2s3 2.6 2.6 3c-.4.4-3.9-.4-5.5-1.6-1.5-1.1-2.6-2.6-2.6-2.6l3.3-.7 2.2 2z"/>
|
||||
<path fill="#452c25" d="m273.5 200.8 5.4 3.2s4.4 3.1 3.9 3.4c-.5.2-4-.8-6.4-2.2a29.5 29.5 0 0 1-5.3-4.2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m273.5 200.8 5.4 3.2s4.4 3.1 3.9 3.4c-.5.2-4-.8-6.4-2.2a29.5 29.5 0 0 1-5.3-4.2"/>
|
||||
<path fill="#452c25" d="M270.1 216s1 2.5.4 2.7c-.6.2-2-.2-3.3-2.5-1.1-2.4 1-1.4 1-1.4l2 1.1z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M270.1 216s1 2.5.4 2.7c-.6.2-2-.2-3.3-2.5-1.1-2.4.9-1.3.9-1.3l2 1z"/>
|
||||
<path fill="#452c25" d="M271.9 214.3s1.5 2.4 1.2 2.7c-.4.3-2.3 1.2-4.5-2s2.2-2.5 2.2-2.5l1 1.8z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M271.9 214.3s1.5 2.4 1.2 2.7c-.4.3-2.3 1.2-4.5-2s2.2-2.5 2.2-2.5l1 1.8z"/>
|
||||
<path fill="#452c25" d="M267.4 203s5.1 10 4.7 10.5c-.4.5-2.5 0-3.6-2.6a53.3 53.3 0 0 1-2-6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M267.4 203s5.1 10 4.7 10.5c-.4.5-2.5 0-3.6-2.6s-2-6-2-6z"/>
|
||||
<path fill="#452c25" d="M273.4 205.6s4.2 3.6 3.4 4c-1 .5-2.6-.1-5.1-2.6-2.5-2.5 1.6-1.6 1.6-1.6"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M273.4 205.5s4.3 3.7 3.4 4.2c-1 .5-2.6-.2-5.1-2.7-2.5-2.5 1.7-1.5 1.7-1.5z"/>
|
||||
<path fill="#452c25" d="M271.3 205.7s3 5.6 2.7 6c-.4.6-2.7-1.3-3.8-2.7s-2-3.5-2-3.5"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M271.3 205.7s3 5.6 2.7 6c-.4.6-2.7-1.3-3.8-2.7s-2-3.5-2-3.5"/>
|
||||
<path fill="#452c25" d="M248.4 217.2v3.5c.1.2 1.9.3 2-2.2 0-2.5-.4-2.6-.4-2.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M248.4 217.2v3.5c.1.2 1.9.3 2-2.2 0-2.5-.4-2.6-.4-2.6l-1.6 1.2"/>
|
||||
<path fill="#452c25" d="M249.4 213.2s-1.1 3.7 0 4.4c1.1.8 2-3.6 2-4.6.1-1-2 .2-2 .2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M249.4 213.2s-1.1 3.7 0 4.4c1.1.8 2-3.6 2-4.6.1-1-2 .2-2 .2z"/>
|
||||
<path fill="#452c25" d="M250.2 218s.3 3.4.9 3.5c.6.2 1.7-1 1.7-1.9 0-.9-1.1-3-1.1-3l-1.5 1.2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M250.2 218s.3 3.4.9 3.5c.6.2 1.7-1 1.7-1.9 0-.9-1.1-3-1.1-3l-1.5 1.2"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M250.3 213.8s-1.2 3.7 0 4.4c1 .8 2-3.6 2-4.6 0-1-2 .2-2 .2z"/>
|
||||
<path fill="#452c25" d="M250.4 207.8s-1.8 1.8-1.7 2.8c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M250.4 207.8s-1.8 1.8-1.7 2.8c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1z"/>
|
||||
<path fill="#452c25" d="M249.2 206.8s-1.4 2.6-1 3.3c.3.8 1.7-.5 2.3-1.4.6-1-1.3-1.8-1.3-1.8"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M249.2 206.8s-1.4 2.6-1 3.3c.3.8 1.7-.5 2.3-1.4.6-1-1.3-1.8-1.3-1.8z"/>
|
||||
<path fill="#452c25" d="M268.3 203.5s2.1 4.1 1.5 4.3c-.6.2-1.5-.8-2.4-2-.9-1.2.9-2.3.9-2.3"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M268.3 203.5s2.1 4.1 1.5 4.3c-.6.2-1.5-.8-2.4-2-.9-1.2.9-2.3.9-2.3z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M268.3 211.9s.8 3.4.1 3.7c-1.3.7-2-2.4-2.2-3.6 0-1.2 2.1-.1 2.1-.1zm-2.7 5.4s.2 2.6-.2 2.8c-.3.3-1.2.3-2.3-1.8-1-2.2-.5-1.4-.5-1.4l2.5-1.2.5 1.4"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M268.1 216.7s.3 2.8-.2 2.8c-.6.1-2-.8-2.7-2.4-.7-2 2.6-1.4 2.6-1.4z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M265.6 208.4s2.7 6.2 2.3 7.1c-.9 1.8-3.4-3.8-4.2-6-.8-2.4 1.9-1.1 1.9-1.1z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M264.3 209.4s3.8 7 2.1 7c-1.5.2-4.5-5-5-6.1-.5-1.2 2.9-.9 2.9-.9z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M264 210.8s1.9 6.6.7 6c-1.2-.5-2.7-5.5-2.9-6.6-.2-1 2.2.7 2.2.7zm6.6-9.4s3 4.5 2 4.6c-1 .1-4.4-3-4.4-3.5s2.4-1 2.4-1z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M268.8 201.7s3.7 5 2.6 5.2c-1.1.3-1.2-.5-1.2-.5s-3-2.7-3.1-3.3c-.3-.7 1.6-1.5 1.6-1.5m3.8.1s2.5 2.6 1.8 3.5c-.6 1-4.2-3.3-4.6-3.8-.5-.6 3 .2 3 .2m-6.4 3.8s4.1 8 3.3 8.7c-.7.8-5.3-6-5.4-7-.2-.9 2.2-1.9 2.2-1.9"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".2" d="M264 206s1.6 2.6 1.5 4c0 1.3-2.5-2-2.7-2.6-.2-.6 1.2-1.3 1.2-1.3z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M267.3 204.8s1.3 2.6.9 3.3c-.4.8-2.1-1.5-2.7-2.4-.6-1 1.8-1 1.8-1z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".2" d="M261.4 207.3s2 2.2 2 3.4c-.2 1.2-3-1.7-3.3-2.3-.3-.5 1.3-1 1.3-1z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M274.3 201s3 2.6 2.6 3c-.5.5-4.6-2.4-5.2-3-.6-.6 2.6 0 2.6 0z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="m271.8 200.7 2.3 2s2.2 1.5 1.8 1.9c-.3.3-3.8-1.2-4.4-2-.6-.6-.5-1.4-.5-1.4zm7.7.7s9 3.6 8.6 4.5c-.3.8-9.3-3-10.8-4s2.1-.6 2.1-.6"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M279.9 202.5s6.7 3.8 5.9 4.1c-.8.4-5.6-.9-8-2.6a38.4 38.4 0 0 1-3.6-2.6l3-.7zm-16.6 4.6s1.3 2.6 1 3.3c-.5.8-1.7-.6-2.3-1.5-.6-1 1.3-1.8 1.3-1.8zm.3 5.8s1.1 3.7 0 4.4c-1.2.7-2-3.7-2-4.7s2 .3 2 .3z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M258.4 206.7s3.8-1.6 4.5-1.5c0 0 .7-.2 1.1-.5l1.4-1.1s-.6-4.5 4.1-4l12.3 1.2a48 48 0 0 1 7 2c1 .5 8.1 3.7 9.6 4.2.8.3 2.7 1.5 4.1 2.4 1 .7 0 .2 0 .2s-11.5-6-15.5-6.9c-1-.2 0 1.2 0 1.2l-3.6-1.5a6.3 6.3 0 0 0-3-.6 6.2 6.2 0 0 1-2.4-.3c-.6-.2-4-.3-4.7-.4a7.8 7.8 0 0 1-1-.2l.2.4-1.7-.3-.5.8s-1.6.3-1.7-.2c-.2-.6-1 2.3-1.4 3.2-.4.8-2 .8-2.5 1.3a5.4 5.4 0 0 1-1 1c-.2.2-1.5.9-1.9.9l-3 .2-.7-1zm5 10.6s0 3.3-.2 3.6c-.2.2-1.8.1-1.8-2.3 0-2.5.4-2.6.4-2.6l1.6 1.2"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M263.8 214.8s-.4-1.4-.6-1.6c-.2-.2.1-.4.1-.4s-.6-1.5-1-1.7c-.3-.3.1-.5.1-.5s-.6-1-1-1.2c-.5-.3 0-.4 0-.4s-.6-1.3-1.7-2c0 0-.7-.7-1.4-1-.8-.1-2.6-.3-4.9-.3a4 4 0 0 0-3.3 1.7l-.2 1.9.4-.2-.5 2.3c-.1.6.4 1.5.4 2.6a11 11 0 0 0 .9 4.2l.1.3c.1-.2.4.6.6 1 0 0 .1 1.1.2.7.1-.2.5.6.7 1.2 0 .2.5 1.5.5.9 0-.7.4 1.3.4 1.6l.6-.8.2 1 .5-.1-.2.8s1.3-1 1.3-1.4l.1-.7.4-.4.7-1s1.6 1.2 1.8 1.7l.3.8.4-.4.4 1 .2-.5.2.6.2.4c.1 0 .4.1.8-.7.7-1.1.7-2 .7-2.2 0-.2.3.4.3.4s.6-1.1.5-1.8c0-.7.4-.5.4-.5V218c-.1-.5.3-.4.3-.4s-.1-2.2-.3-2.4c0-.3.4-.3.4-.3z"/>
|
||||
<path d="M260.6 209.8c.3 0 .5.4.6.7v-.1c-.1-.3-.3-.7-.6-.8zm.3 1.3c.6.5.6 1.2.6 2 0 0 0 .1 0 0 0-.8 0-1.6-.6-2.1zm1.2.7a3.2 3.2 0 0 1 .4 1.8c0-.7 0-1.3-.4-2zm.4 2.6-.1 1.1a.5.5 0 0 0 0 .2 11.8 11.8 0 0 0 .1-1.3m-.4 2v.7a4.1 4.1 0 0 0 0-.8m-.7-2.4a15.3 15.3 0 0 0 0 1.2 14.3 14.3 0 0 1 0-1.2m1.5 2.4a1.2 1.2 0 0 1 .3.6 1.2 1.2 0 0 0-.3-.7zm-.1-2.8.4.5a3.3 3.3 0 0 0-.4-.6zm-1.5 2.1a6.4 6.4 0 0 1-.1 1.1.4.4 0 0 0 0 .1 6.9 6.9 0 0 0 0-1.2m-.7.8a5.7 5.7 0 0 1 0 1.1 6.6 6.6 0 0 0 0-1.2z"/>
|
||||
<path fill="#452c25" d="M246.1 207.3s-.9 3.4-.2 3.7c1.3.7 2.2-2.3 2.3-3.5.1-1.3-2-.2-2-.2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M246.1 207.3s-.9 3.4-.2 3.7c1.3.7 2.2-2.3 2.3-3.5.1-1.3-2-.2-2-.2z"/>
|
||||
<path fill="#452c25" d="M248 207.3s-1.6 1.7-1.6 2.7c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M248 207.3s-1.6 1.7-1.6 2.7c0 1 2.5-1.3 2.8-1.8.2-.4-1.1-1-1.1-1z"/>
|
||||
<path fill="#452c25" d="M218.7 207.5s-3.5 1.8-3.8 2.5c-.4.8 10.7-1.1 16.7-5.4l-2.4-1.4z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M218.7 207.5s-3.5 1.8-3.8 2.5c-.4.8 10.7-1.1 16.7-5.4l-2.4-1.4z"/>
|
||||
<path fill="#452c25" d="M222.9 208.2s-6.5 2.4-1.8 2.5c0 0 9.3-2 14.2-5.7l-1.2-1.9z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M223 208.2s-6.6 2.4-1.9 2.5c0 0 9.3-2 14.2-5.7l-1.2-1.9z"/>
|
||||
<path fill="#452c25" d="M232.4 201.7s-6.8 3.5-6 3.9c.7.4 5.6-.7 8.1-2.3 2.6-1.6 3.6-2.5 3.6-2.5l-3-.8z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M232.4 201.7s-6.8 3.5-6 3.9c.7.4 5.6-.7 8.1-2.3 2.6-1.6 3.6-2.5 3.6-2.5l-3-.8z"/>
|
||||
<path fill="#452c25" d="M229.8 209.4s-2.4 2-2.1 2.2c.3.3 5.3-.5 9.2-3.6l-.5-1.8-6.6 3"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M229.8 209.4s-2.4 2-2.1 2.2c.3.3 5.3-.5 9.2-3.6l-.5-1.8-6.6 3"/>
|
||||
<path fill="#452c25" d="M225.6 209s-2.3 1.9-1.8 2c.5.2 2.5 1.6 11.2-4.2l1-.6-1.5-2.2-9 4.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M225.6 209s-2.3 1.8-1.8 2c.5.2 2.5 1.6 11.2-4.2l1-.6-1.5-2.2z"/>
|
||||
<path fill="#452c25" d="M223.8 202.2A72.3 72.3 0 0 0 209 210l19-7.6m12 11.4s-1.6 2.4-1.3 2.7c.3.3 2.3 1.2 4.6-1.9 2.2-3-2.2-2.6-2.2-2.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M240 213.8s-1.6 2.4-1.3 2.7c.4.3 2.3 1.2 4.6-1.9 2.2-3.1-2.2-2.6-2.2-2.6z"/>
|
||||
<path fill="#452c25" d="M241.7 215.5s-1 2.5-.5 2.8c.6.2 2.1-.2 3.4-2.5s-.6-1-.6-1zm-3.5-3.8s-2.4 3-1.9 3.4c.5.4 3.2.3 5.3-2.6 2-2.8 0-.1 0-.1l-.6-2.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M241.7 215.5s-1 2.5-.5 2.8c.6.2 2.1-.2 3.4-2.5s-.6-1-.6-1zm-3.5-3.8s-2.4 3-1.9 3.4c.5.4 3.2.3 5.3-2.6 2-2.8 0-.1 0-.1l-.6-2.6-2.8 1.8"/>
|
||||
<path fill="#452c25" d="M236 210.3s-2.4 2.7-2.2 3.2c.3.4 3.4.3 6-2.4 2.6-2.8.5-3.7.5-3.7L236 210"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M236 210.3s-2.4 2.7-2.2 3.2c.3.4 3.4.3 6-2.4 2.6-2.8.5-3.7.5-3.7L236 210"/>
|
||||
<path fill="#452c25" d="m231.8 210.5-1.5 2s.5 1.9 5.5-1.6l4.8-3.2-2.7-.5-6.1 3.1"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m231.8 210.4-1.4 2s.4 2 5.4-1.5l4.8-3.2-2.7-.5-6 3.2z"/>
|
||||
<path fill="#452c25" d="m215.7 207.4-3.3 1.5s-.7.6 1.2.7a41.8 41.8 0 0 0 17.6-7.7l-2.5-1z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m215.7 207.4-3.3 1.5s-.7.6 1.2.7a41.8 41.8 0 0 0 17.6-7.7l-2.5-1z"/>
|
||||
<path fill="#452c25" d="M210.2 209.5s4.6-.5 6.4-1.7c0 0-.3.5 2-.4 0 0-1.2 2.1 5.7-2 7-4.3 0-.2 0-.2l7.8-4.4-.5-.8-15.7 6.6a58 58 0 0 0-5.7 2.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m224.4 205.3 7.6-4.5-.4-.8-15.7 6.6c-1.1.3-5.7 2.9-5.7 2.9s4.6-.5 6.4-1.7c0 0-.3.5 2-.4 0 0-1.1 2 5.8-2.1z"/>
|
||||
<path fill="#452c25" d="M243.8 215.4s-.5 3.7 0 3.8c.6.1 2.1-1 2.8-3.3.6-2.2-2.5-2-2.5-2l-.5 1.4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".2" d="M243.8 215.4s-.5 3.7 0 3.8c.6.1 2.1-1 2.8-3.3.6-2.2-2.5-2-2.5-2l-.5 1.4"/>
|
||||
<path fill="#452c25" d="M246.2 217s-.3 2.6 0 2.9c.4.2 1.3.3 2.4-1.8l.6-1.3-2.5-1.4-.5 1.4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M246.2 217s-.3 2.6 0 2.9c.4.2 1.3.3 2.4-1.8l.6-1.3-2.5-1.4-.5 1.5z"/>
|
||||
<path fill="#452c25" d="M246.8 212.3s-2 4.3-.8 4.3c1.1 0 2.6-3.3 2.9-4 .2-.8-2-.3-2-.3"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M246.8 212.3s-2 4.3-.8 4.3c1.1 0 2.6-3.3 2.9-4 .2-.8-2-.3-2-.3z"/>
|
||||
<path fill="#452c25" d="M246.7 212.3s-.8 4.7.3 4.3c1-.4 1.7-4 1.7-4.8 0-.7-2 .4-2 .4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M246.7 212.3s-.8 4.7.3 4.3c1-.4 1.7-4 1.7-4.8 0-.7-2 .4-2 .4z"/>
|
||||
<path fill="#452c25" d="M248.3 212.7s-1.2 3.7 0 4.5c1 .7 2-3.7 2-4.7s-2 .2-2 .2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M248.3 212.7s-1.2 3.7 0 4.5c1 .7 2-3.7 2-4.7s-2 .2-2 .2z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M243.7 211.5s-1.2 3.4-.5 3.8c1.3.6 2.4-2.4 2.5-3.5.2-1.3-2-.3-2-.3zm-8.5-7s-3 2.5-2.7 2.9c.4.4 4-.3 5.5-1.4 1.6-1 2.2-1.6 2.2-1.6l-2.7-1.7z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M237.9 202s-2 1.5-1.6 1.9c.3.4 3.8-1 4.5-1.7.6-.7.6-1.4.6-1.4z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M239.9 201.7s-2.7 2.2-2 3c.6.7 4.3-2.8 4.8-3.2.5-.5-3.1 0-3.1 0"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="m238.7 200.7-5.3 2.5s-4.5 3-4 3.2c.4.3 3.9-.6 6.4-1.9 2.5-1.2 5.2-3.3 5.2-3.3m-.8 2.4s-5.8 4.9-5 5.4c1 .5 4.8-1.6 7.4-4"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M240.9 205.2s-3.3 5.5-2.9 6c.4.6 2.7-1.3 3.9-2.7 1.2-1.3 2.1-3.4 2.1-3.4"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M242.8 205.7s-3.6 6.5-3.2 7c.4.6 2.5.2 3.7-2.4 1.2-2.6 1.1-4.2 1.1-4.2z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M244.8 206s-3.9 8-3.1 8.8c.7.8 5-6 5.3-7 .3-1.8-2.2-2-2.2-2m-8.2-5.2s-3.6 1.7-2.8 2c.7.4 4-1 4.4-1.2.5-.2-1.6-.8-1.6-.8z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M237.1 201.2s-2.2 1.7-1.7 2.2c.4.4 3.7-1.4 4.4-2 .6-.5-2.7-.2-2.7-.2zm4.6.1s-3 4-2.1 4.2c1 .1 4.4-2.6 4.4-3 0-.5-2.3-1.2-2.3-1.2z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M243 202.2s-3.2 4-2.3 4.3c1 .2 1-.4 1-.4s2.5-2.1 2.7-2.6c.2-.6-1.3-1.3-1.3-1.3"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M244 203.2s-2.3 4-1.7 4.2c.6.2 1.5-.7 2.5-2 1-1.1-.8-2.2-.8-2.2z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M244.6 205s-1.4 2.5-1 3.3c.3.8 1.7-.6 2.3-1.5.6-.9-1.3-1.8-1.3-1.8zm.6 7s-1 3.4-.3 3.7c1.4.7 2.2-2.3 2.3-3.5.2-1.3-2-.2-2-.2z"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M251.4 207.4s-1-.3-1.6-.3c0 0-2-1.6-3-1.8-1.2-.1-.3-.1-.3-.1s0-2.6-.4-2.8c0 0-.2-2.7-1.8-2.9-1.7-.2-5.5.2-6.2 0-.6-.3-2.7-1.2-6.7-.1-4 1-12 4.6-12.3 4.7-.4.1 9-2 11.8-3.2 0 0 2.6-.2 3.4-.5 0 0-3 1.5-.2.9 2.8-.7 2.2 0 2.2 0s-.3.6 1.3.2c1.6-.3 1.6 0 1.6 0s1.8.7 3.2-.2c0 0 .7 2.6 1.6 3 0 0 1.1 2.2 3.4 2.7l1.3.9 1.3.4 1.3-1"/>
|
||||
<path fill="#452c25" stroke="#000" stroke-width=".1" d="M232.8 200.6s-9 3.2-8.7 4c.3 1 9.4-2.4 10.9-3.4 1.4-.9-2-.7-2-.7"/>
|
||||
<path d="m257.9 207.6.6.2a1.6 1.6 0 0 0-.4-.4l-.7-.3.1.2zm-7 6.8c0 .3 0 .6.2.8v-.1c-.1-.3-.1-.6-.3-.8zm1.3-7 .9-.1v-.2c-.3 0-.6 0-1 .2zm1.9-.1.9-.2v-.1a2 2 0 0 0-1 .2m-3 1.7a.3.3 0 0 0 0 .2zm-.2 4.9v.7a.3.3 0 0 0 0-.1 4.3 4.3 0 0 1 0-.6c0-.1 0-.1 0 0"/>
|
||||
<path fill="#bd8759" d="m252.4 228.2-1.2 1.1a4 4 0 0 0-.1.7s.9 0 .8.4c0 0 .3.2.8-.9.4-1 .9-1.6 1.2-1.5.3 0 .8.3 1 .6.2.2.5.4.9.3 0 0-.4-.6-.2-.8h.7s-.4-.8-1-1c-.7 0-1.2-.2-1-.5l1-2.6-1.1-1.6-.5 1.4.2 1c0 .3-1 2.2-1 2.3l-3 1.2c-.2 0-.8.8-.8.8v.5s.3-.3.5-.1c0 0 .2-.4.5-.3l.2.2.5-.4.1-.1.6-.2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m252.4 228.2-1.2 1.1a4 4 0 0 0-.1.7s.9 0 .8.4c0 0 .3.2.8-.9.4-1 .9-1.6 1.2-1.5.3 0 .8.3 1 .6.2.2.5.4.9.3 0 0-.4-.6-.2-.8h.7s-.4-.8-1-1c-.7 0-1.2-.2-1-.5l1-2.6-1.1-1.6-.5 1.4.2 1c0 .3-1 2.2-1 2.3l-3 1.2c-.2 0-.8.8-.8.8v.5s.3-.3.5-.1c0 0 .2-.4.5-.3l.2.2.5-.4.1-.1.6-.2"/>
|
||||
<path fill="#bd8759" d="M259.3 223.1v2.3c0 .4 0 .9-.2 1.2-.2.3-.4.5-.7.5s-1.2 0-1.4.3a5.4 5.4 0 0 1-.3.5s.6-.4.6 0c.1.3-.2.5-.2.5s.5.1 1-.1c.4-.3.7-.4.9-.4.2 0 .4.3.4.3v1c0 .5 0 1.3.4 1.3 0 0 .1-.4.3-.5.2 0 .6.4.5.6v-1.4l-.3-1s1.4.5 1.5.7l.6.4c.1 0 0-.5.3-.5h.3s-.4-.9-1-1.2l-1.3-.5c-.2-.3-.3-.6-.3-1v-3l-1-.2"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M259.4 223v2.4c0 .4 0 .9-.3 1.2-.2.3-.4.5-.7.5s-1.2 0-1.4.3a5.2 5.2 0 0 1-.3.5s.6-.4.6 0c.1.3-.2.5-.2.5s.5.1 1-.1c.4-.3.7-.4.9-.4.2 0 .4.3.4.3v1c0 .5 0 1.3.4 1.3 0 0 .1-.4.3-.5.2 0 .6.4.5.6v-1.4l-.3-1s1.4.5 1.5.7l.6.4c.1 0 0-.5.3-.5h.3s-.4-.9-1-1.2l-1.3-.5c-.2-.3-.3-.6-.3-1v-3z"/>
|
||||
<path fill="#dcddde" d="M250.7 210.5s-.1-1.4.3-1.6c0 0 .1-1.2 1.8-1 0 0 .6-1 1.5-.5 0 0 .8-.4 1.3-.2a5 5 0 0 1 1.2.8s.7-.1 1 .1c.4.3.2 1.2.2 1.2s.9.6 1 1.2c0 .5 0 .7-.2.9 0 0 .4.3.3.7 0 .4-.4 1-.5 1s0 1.1-.3 1.5c-.4.4-.7.4-.9.5-.1 0-.5.6-1 .7-.3 0-.8-.6-.9-.8 0-.2-.5-.4-.5-.4s-1.2 1.3-2 1a2 2 0 0 1-1.2-1l-.3-1s-1-.5-.8-1c0-.5.4-1 .4-1z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M253.7 226a.3.3 0 0 1-.3 0m.7-1a.8.8 0 0 1-.4 0m0 .6h.2m-1 1.5a.3.3 0 0 0 .1.1m6.9-1 .5.1m-.2-.6h-.4m.4-.6a1 1 0 0 1-.4 0m-.1 2 .4.1m-.4.5a.2.2 0 0 1 .2 0m0 1.7a.4.4 0 0 1 .2 0m-5.4-2.2a.4.4 0 0 0-.3.3m1.1-.2c-.2.1-.3.3-.3.5m-4.9.4.5.3m10.5-1a.4.4 0 0 0-.2.3m.8 0a.2.2 0 0 0-.1.1"/>
|
||||
<path fill="#d9c0b9" d="m249 229.4.6-.1s-.3.7-.2 1c0 0-.6-.4-.4-.9"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m249 229.4.6-.1s-.3.7-.2 1c0 0-.6-.4-.4-.9z"/>
|
||||
<path fill="#d9c0b9" d="M251.3 229.8s-.7 1.1.1 1.7c0 0 0-1 .6-1.3l-.8-.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M251.3 229.8s-.7 1.1.1 1.7c0 0 0-1 .6-1.3l-.8-.3z"/>
|
||||
<path fill="#d9c0b9" d="m255.6 228.8-.2-.6.2-.2h.6s.4.9 0 1.3c0 0 0-.5-.2-.5z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m255.6 228.8-.2-.6.2-.2h.6s.4.9 0 1.3c0 0 0-.5-.2-.5z"/>
|
||||
<path fill="#d9c0b9" d="M257 227.6h.4l.1.4v.3l-.4.2s-.5-.2-.4.5c0 0-.2-1.2.3-1.4"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M257 227.6h.4l.1.4v.3l-.4.2s-.5-.2-.4.5c0 0-.2-1.2.3-1.4z"/>
|
||||
<path fill="#d9c0b9" d="m259.7 230.3.4-.5.4.3-.2 1.2v.1l-.3-.3z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m259.7 230.3.4-.5.4.3-.2 1.2v.1l-.3-.3z"/>
|
||||
<path fill="#d9c0b9" d="M262.3 229.1s.7.8.6 1c0 0 .7-.6-.2-1.5z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M262.3 229.1s.7.8.6 1c0 0 .7-.6-.2-1.5z"/>
|
||||
<path d="M259.5 209c.1 0 .2 0 .3.2v-.1c0-.2-.2-.3-.3-.3v.1m.1 2.3.5.7v-.1a1.8 1.8 0 0 0-.5-.8zm-.4-1.7.5.6v-.1zm.5 3.7-.1 1a2 2 0 0 0 .1-1.1.4.4 0 0 0 0 .1m.5 1.2v-.1m2 4.1a5.1 5.1 0 0 1 .1 1.4l-.1-1.5zm-.3 1a7.9 7.9 0 0 1-.4.9v.1a7.8 7.8 0 0 0 .4-1m-11-3.2.8 1.3v-.1zm2 0c-.3.1-.4-.3-.6-.4v.2c.2 0 .3.4.5.4zm-1 1.8.5 1zm1.2.5c.3.2.5.5.6.8v-.1a2.9 2.9 0 0 0-.6-.9zm0 1.3.3.7v-.2l-.4-.7zm1.2.2a3 3 0 0 1 .1.8 3.5 3.5 0 0 0 0-.9s-.1.1 0 .1m-.6 1.1c0 .4.2.7.4 1v-.1za.4.4 0 0 0 0 .1m.3-4.6.9.2a8.6 8.6 0 0 1-.9-.4v.1m.2 1.3 1 .5v-.2l-1-.5zm.3 1.3.6.6v-.1a4.8 4.8 0 0 1-.6-.6zm.4 1.7.3.8a.3.3 0 0 0 0-.1 1.9 1.9 0 0 0-.3-.8zm1-4.2.1.5v-.1a10.8 10.8 0 0 1 0-.5.3.3 0 0 0 0 .1m2.4-1-.2.5v.2a3.8 3.8 0 0 0 .3-.6m1-.1v.8a.4.4 0 0 0 0 .1 4.4 4.4 0 0 0 0-1m.2 1.7a3 3 0 0 1 0 .7.6.6 0 0 0 0 .1 4 4 0 0 0 0-.8m.8 1.5a1.4 1.4 0 0 1-.5.8v.2c.3-.3.5-.6.5-.9a.5.5 0 0 0 0-.1m-2.6-1.5-.2.4v.1zm.3 2a2 2 0 0 1-.3.4v.2a2 2 0 0 0 .3-.4zm-.9 1c-.3-.4-.5-.8-.3-1.3v-.1c-.2.5-.1 1.1.3 1.5zm-1.2-1.1v.7a2 2 0 0 0 0-.9.3.3 0 0 0 0 .2m2.8 1.3-.3.7v.1zm1.8.7-.5.7v.2a9.7 9.7 0 0 0 .5-.8zm.8.9a18 18 0 0 0 0 .1.5.5 0 0 0 0-.1m1.1-1.7v.5c0 .1 0 0 0 0zc0-.1 0 0 0 0m-11.8-5.2v1.4s.1-.1 0-.1z"/>
|
||||
<path fill="#fff" d="M254.7 209.4c.8-.7 1.8-1.4 2.9-1.1v-.2c-1-.2-2.1.5-2.9 1.2zm3.7.9c-.8-.6-2-.7-2.8-.1v.1c.7-.6 2-.4 2.8.1zm-3 1.1a6 6 0 0 1 .6 3.2.5.5 0 0 0 0 .1c.2-1.2-.2-2.3-.5-3.4zm-1.2.6c.2 1 0 2 0 3v.1c0-1 .2-2.2 0-3.2m1.6-.7c1 .3 2 1 2.5 1.8v-.1a4.1 4.1 0 0 0-2.5-1.8zm-.9 1.4-.1 1.9v.1c.2-.6.1-1.3.1-2m1.6-.1c.6.5 1.1 1.3 1.2 2a3.4 3.4 0 0 0-1.2-2.2zm-4.6 1.7c.2-.3.4-.6.8-.8v-.1c-.4.1-.6.5-.8.8m1.5-5.3a2 2 0 0 0-1-1.2v.1c.4.3.8.7 1 1.2zm-1 0a3.7 3.7 0 0 0-1.6-.3v.1c.6 0 1.1 0 1.7.3zm1.6-.1c0-.5 0-1-.5-1.4v.1c.4.3.6.7.5 1.2m2 .7c.5-.2 1-.2 1.5-.2v-.1c-.5 0-1 0-1.5.2zm.9 1.4c.7 0 1.3.4 1.8 1v-.3a2.8 2.8 0 0 0-1.8-1zm-3.4 2c-.2.8 0 1.7-.9 2v.3c.9-.3.7-1.3 1-2z"/>
|
||||
<path fill="#fff" d="M255.5 212.3c.3.7.7 1.5.5 2.4a1 1 0 0 0 0 .2c.2-1-.2-2-.5-2.9zm1-.2a2 2 0 0 1 1.6 1.6v-.1a1 1 0 0 0 0-.2 1.8 1.8 0 0 0-1.5-1.5v.2m0 1.1c0 .7.3 1.3 0 2v.2c.3-.8.1-1.6 0-2.4a1 1 0 0 0 0 .2m-.4-2.7c.8-.2 1.6-.3 2.3.3v-.3c-.7-.6-1.5-.4-2.3-.3zm-1.5-1.6c0-.7.7-1.2 1.3-1.4v-.3c-.7.2-1.2.7-1.3 1.4a1 1 0 0 0 0 .2m-.8.5c0-.8-.3-1.4-.6-2v.2c.2.6.6 1.2.6 1.8 0 .2 0 0 0 0m-.7.4a2 2 0 0 0-1.1-1.4v.2c.5.3 1 .8 1.1 1.4a.8.8 0 0 0 0-.2m-1-.3a3 3 0 0 0-1.3-.6v.2c.5.1.9.4 1.3.6zm2.3 3.1c0 .7.2 1.4-.2 2v.3c.5-.7.3-1.6.3-2.5v.2"/>
|
||||
<path fill="#fff" d="M255.3 212.1c.3.7.6 1.4.5 2.1v.2c0-1-.2-1.7-.5-2.5zm.6-1c.7.3 1.3.5 1.8 1v-.2a3.8 3.8 0 0 0-1.8-1zm-1.8-1.5a16 16 0 0 0 .1-1.8c0-.2 0-.2 0 0 0 .5 0 1-.2 1.6zm-1.2-.4a6 6 0 0 1-1.3-.9v.3l1.3.9zm-.2 3.5c-.3.2-.5.5-.7.9v.2l.7-.8zm.9.6c0 .4-.3.8-.6 1.2v.2c.4-.4.6-.8.6-1.4 0 0 0-.2 0 0m2.3-3.8c.4-.7 1.3-.7 2-1v-.2c-.7.2-1.6.2-2 .9v.2m-4.5 0a2.2 2.2 0 0 1-.4-.2v.2l.4.2zm.1 3.3a1 1 0 0 0-.4.2v.3l.4-.2za.8.8 0 0 0 0-.1m.6.1-.7.7v.2l.7-.7zm1.1.3c-.2.6-1 1.3-.4 2v-.3c-.4-.5.2-1 .4-1.4zm.8 0-.2 1.8a1 1 0 0 0 0 .3 10.5 10.5 0 0 0 .2-2.1m2-.7c.5.6.9 1.2 1 2v-.3a5.7 5.7 0 0 0-1-2zm.2-.5c.8.5 1.6 1 2.1 1.9v-.3c-.5-.8-1.3-1.3-2-1.9z"/>
|
||||
<path fill="#fff" d="M256.6 211h.8l.6.5c.2.1.5.2.6.4.3.3.3.7.3 1a.8.8 0 0 0 0-.2l-.1-.8-.5-.5-.8-.5c-.3-.2-.6-.2-1-.1zm1.8 1.5.3.8v-.2zm-2.1-3.8 1.6-.4v-.3l-1.6.4zm-2.2.3a2.4 2.4 0 0 1 .4-.8l.4-.9v-.3l-.4.8c0 .3-.3.6-.4 1zm-1.8 5 .1 1.3v-.3a1.5 1.5 0 0 1 0-.8zm1 .8c-.2.2-.2.6 0 1zm.8-.5-.2.8v.2zs0-.1 0 0m0-1.5v.5zm-.3.2a.9.9 0 0 1 0 .1.8.8 0 0 0 0 .3v-.7zm-.6-.2a3.7 3.7 0 0 0 0 .5.8.8 0 0 0 0 .2zm-.4 0-.9.6v.3l1-.7zm-.8 0c-.1.2-.3.3-.5.3v.3c.2 0 .4-.1.5-.3v-.1a3.3 3.3 0 0 0 0-.1m-1-.3-.4.2v.2l.4-.2zm3-.1.1.5a.8.8 0 0 0 0-.2zm.4-.2.1.6a.4.4 0 0 0 0-.1v-.2a1 1 0 0 1 0-.3v-.2zm.3 0 .1.3v-.1a.9.9 0 0 0 0-.5h-.1zm.4-.1a.8.8 0 0 1 .4.2v-.4a.8.8 0 0 0-.4-.2zm.3-.4.6.3v-.3a1.3 1.3 0 0 1-.6-.3v.4m.5-1.2h.4v-.2a2.5 2.5 0 0 0-.4 0zm-.3-.6.4-.4a5.7 5.7 0 0 0 0-.2l-.4.4zm-.4-.5a1 1 0 0 1 .2-.5v-.2a1.1 1.1 0 0 0-.2.6s0 .1 0 0m-.4-.2.5-.8v-.2l-.5.8z"/>
|
||||
<path fill="#fff" d="m254.4 208.3.1 1v-.1a.7.7 0 0 0 0-.2zm-1.4.2.2.4a2 2 0 0 1 .1.3c0-.1 0 0 0 0v-.3l-.3-.6zm-.2.6a4.8 4.8 0 0 0-.6-.5 1.6 1.6 0 0 0 0 .1v.2l.6.4zm.8.3a3 3 0 0 0-.1-1.8v.3c.2.4.2.8.1 1.2v.2m1.3-.7v-.3z"/>
|
||||
<path fill="#fff" d="m253.6 209.4.1-1v-.3l-.2 1a1.6 1.6 0 0 0 0 .3m3.8 2.1c.3.1.6.3.7.6v-.4c-.1-.3-.4-.5-.7-.6zm-1 2v.6a1.2 1.2 0 0 0 0 .3s0 .1 0 0a2.8 2.8 0 0 0 0-1.2.7.7 0 0 0 0 .1v.3m-.9-.6v1.3s0 .2 0 0v-1.5zm-.4.4a22.6 22.6 0 0 0-.3 1.7l.3-1.3zm.6.3v1.1a1.5 1.5 0 0 0 0 .3c0 .1 0 .1 0 0v-1.6zm-2.8.2a.7.7 0 0 1 0 .1v-.5.1a1.4 1.4 0 0 0 0 .3m1.2-.8.1.4v-.8zm.3-.2a.4.4 0 0 1 .1.2s0 .1 0 0a.7.7 0 0 0 0 .2zl-.1-.5a1.4 1.4 0 0 0 0 .2zm.4-.3.2.4a1 1 0 0 0 0-.2v-.2l-.2-.4a2.8 2.8 0 0 0 0 .3m.9-.3.5.7v-.4a10 10 0 0 1-.5-.7zm.4-.7.5.6v-.5a4.4 4.4 0 0 1-.4-.6zm-4.6-2.1a1.8 1.8 0 0 0-.5-.3v.4c.2 0 .3.2.5.3zm1.4-.5a.5.5 0 0 1 0 .1v.1za1 1 0 0 0 0-.4 1 1 0 0 0 0 .1zm1-1.1-.1.8v.3s0 .1 0 0c.2-.3.2-.8.2-1.2a.6.6 0 0 0 0-.1zm.2 1.5.5-.6v-.4l-.5.6zm.7 0 .2-.3v-.3l-.2.2a1.4 1.4 0 0 0 0 .2zm1 .2a8.3 8.3 0 0 1-.7 0v.4a8 8 0 0 0 .8 0zm-.3 1c.4.1.7.4 1 .6 0 0 .2-.4 0-.4l-1-.7z"/>
|
||||
<path fill="#fff" d="m256 211.2.9.6v-.5l-1-.6a2.3 2.3 0 0 0 0 .2v.2m-2-1.5v-.6zm-2.4-1c.2.3.6.5 1 .8l.6.7s.1-.4 0-.4l-.6-.6-1-1c0 .1-.1.4 0 .4m.6 1.2a8.2 8.2 0 0 1-.5-.6 1.8 1.8 0 0 0 0 .2v.2a8 8 0 0 0 .5.6zm-.4 2.7-.3.6v.4l.3-.6zm.3.4v.7a1.4 1.4 0 0 0 0 .3v-1.1a.7.7 0 0 0 0 .1m1.1 2c.2-.8.2-1.4.2-2.1 0-.3 0 0 0 0 0 .6 0 1.1-.2 1.6v.4m.6-1.6.1.7a1.4 1.4 0 0 0 0 .3s0 .1 0 0v-1.4a.7.7 0 0 0 0 .2zm.6-.2c.2.3.3.6.2 1v.2c.1-.5.1-1.2-.2-1.6zm.2-.3.4 1.8v-.3a14.2 14.2 0 0 0-.3-1.9zm.5-.1.7 1.1a.7.7 0 0 0 0-.1v-.3a4 4 0 0 0-.7-1.1zm1.2-1c0-.2-.3-.3-.5-.2v.4c.2 0 .4 0 .5.2z"/>
|
||||
<path fill="#fff" d="M255.7 211.3h1.2v-.5h-1.2zm.7-3.1a3 3 0 0 0-.5 1.3v.3s0 .1 0 0c0-.4.2-.9.5-1.2zm-1.6.3c0 .4.2.7.3 1a.8.8 0 0 0 0-.1v-.3l-.3-1v.1a1.3 1.3 0 0 0 0 .3m-.3.6a1.6 1.6 0 0 1-.4-.5 1 1 0 0 0 0 .1v.3a1.7 1.7 0 0 0 .4.5zm-.6.3c-.5-.1-.9-.3-1.3-.6v.4c.4.3.8.5 1.3.6z"/>
|
||||
<path fill="#dba05f" d="m254.4 209.3-2.3.4-2 .2-1.3-.4c-.4 0-1.7-.2-2.2.3l-1 .8c-.1.2-.7.7-.7 1 0 .2.1.6.4.6.3 0 1 .6 1 .8 0 .2.8.4 1.6.4 1.4 0 2.1-.7 4.2-.4 1.2 0 3.3-.8 3.7-1.4.4-.5.6-1.1.2-1.7-.3-.7-1.5-.6-1.6-.6"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="m254.4 209.3-2.3.4-2 .2-1.3-.4c-.4 0-1.7-.2-2.2.3l-1 .8c-.1.2-.7.7-.7 1 0 .2.1.6.4.6.3 0 1 .6 1 .8 0 .2.8.4 1.6.4 1.4 0 2.1-.7 4.2-.4 1.2 0 3.3-.8 3.7-1.4.4-.5.6-1.1.2-1.7-.3-.7-1.5-.6-1.6-.6z"/>
|
||||
<path d="m246.8 211.3.1-.2.2-.2a.9.9 0 0 1 .4-.3h-.1.7l-.7.1h.6-.5c-.3.1-.3.5-.7.7"/>
|
||||
<path fill="none" d="m246.7 211.2.4-.4.7-.3h.3"/>
|
||||
<path fill="none" d="m247.4 210.6-.4.3-.3.3m.8-.6h.5m-.6.1h.5"/>
|
||||
<path d="m247.9 211-.2.1-.1.1-.3.2-.4.1.5-.1-.4.1.4-.1-.4.1h.1s.4 0 .8-.4"/>
|
||||
<path fill="none" d="m247.8 211-.3.2s-.3.3-.4.2l-.2.1m.4-.1.3-.2.2-.2m-.4.4-.4.1m.4-.1-.3.1"/>
|
||||
<path fill="#c6262c" d="M248.4 209.6s0-.6-.6-.8a3.4 3.4 0 0 0-1.4-.2l-.6.1a2.7 2.7 0 0 0-.6.2v.3c-.2.2-.5.4-.4.6.2.3 0 .3.2.4.2 0 0-.1 0-.1s-1 .3-.8.9c.2.6.5.4.6.4l.5-.3.8-.7 1-.4h.6z"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M248.4 209.6s0-.6-.6-.8a3.4 3.4 0 0 0-1.4-.2l-.6.1a2.7 2.7 0 0 0-.6.2v.3c-.2.2-.5.4-.4.6.2.3 0 .3.2.4.2 0 0-.1 0-.1s-1 .3-.8.9c.2.6.5.4.6.4l.5-.3.8-.7 1-.4h.6z"/>
|
||||
<path d="m247.7 211-.3.4-.4-.1.4-.5z"/>
|
||||
<path fill="#d9c0b9" d="M243.8 213.6s-.7-1.3 1.4-2l.8.6s-.4.6-1.6.8c0 0-.6.2-.6.6"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M243.8 213.6s-.7-1.3 1.4-2l.8.6s-.4.6-1.6.8c0 0-.6.2-.6.6z"/>
|
||||
<path fill="#d9c0b9" d="M244 213.4s.9.1 1.5-.3c.4-.3.6-.2.7-.1 0 0 0-.5-.2-.8l-1 .7c-.5 0-.8 0-1 .5"/>
|
||||
<path fill="none" stroke="#000" stroke-width=".1" d="M244 213.4s.9.1 1.5-.3c.4-.3.6-.2.7-.1 0 0 0-.5-.2-.8l-1 .7c-.5 0-.8 0-1 .5z"/>
|
||||
<path fill="#7a2e26" d="M246.4 213h.5v-.2h-.5zm-.3-2.2c-.1 0 0 .2-.2.3v.1c.1 0 0-.2.2-.2zm.5.3.3-.2v-.1c-.2 0-.3 0-.4.2zm.6.8a.3.3 0 0 0 .3-.1v-.1a.3.3 0 0 1-.3 0zm.5-.2a.8.8 0 0 0 .4-.3v-.1a.8.8 0 0 1-.4.3zm-.7-.7-.4.4v.1l.4-.4zm.3 2.2 1-.1v-.2a3.3 3.3 0 0 1-1 .2m1.6 0c.5-.3 1-.6 1-1.2v-.1c0 .6-.5.9-1 1.2zm.3-.8c.4-.2.6-.5.7-.9v-.1c-.1.4-.4.7-.7.9zm-.1-2c.2-.1.5.1.7.3v-.2l-.7-.3zm6.6 1c.3-.4.2-1-.1-1.4v.1c.2.4.4.8.1 1.2zm-5-.7c.2.2 1 .8.8 1.2v.1c.3-.6-.4-1.2-.9-1.5zm2.3 2.2a1.6 1.6 0 0 0 .1-.4.5.5 0 0 0 0-.1v.5"/>
|
||||
<path fill="#5e3f17" d="m253.7 212.5.6-.3m-9-.2c-.4.2-1 .2-1 .7 0-.5.6-.5 1-.7"/>
|
||||
<path fill="#842116" d="M245 210.4c.1 0 .3.1.3.3a.5.5 0 0 0 0 .1.7.7 0 0 0 0-.3c0-.2-.2-.2-.3-.2zm.7.3a.7.7 0 0 0 0-.6zm.6-.6c0-.2-.1-.5-.4-.6v.1c.3.1.3.4.4.6a.3.3 0 0 0 0-.1m.5-.1c0-.2 0-.5-.2-.6v.1zm-.9-.7c.5-.2 1.6-.3 2 .2v-.2c-.4-.5-1.5-.4-2-.1z"/>
|
||||
<path fill="#7a2e26" d="M244.8 211.3v-.5s-.1 0 0 0zm5 1.5a.7.7 0 0 0 .3-.5v-.1a.7.7 0 0 1-.3.4zm.8-.1a.4.4 0 0 0 .1-.3zm4.6-2.5a1 1 0 0 1 .1.7.4.4 0 0 0 0 .1v-1s-.1.1 0 .2m-.6.4.1.7v-.8.1m-.5.4"/>
|
||||
<path fill="#452c25" d="m260.5 224.5.1.3h.1l-.1-.3z"/>
|
||||
<path fill="#dcddde" d="M250 208c-1.7 0-3.5-1.2-3.5-1.2-2.3-.4-2.4-2.5-2.4-2.5-1-.3-1.7-2.6-1.7-2.6-1.4.8-3.2 0-3.2 0s0-.4-1.6 0c-1.6.3-1.3-.3-1.3-.3s.6-.7-2.2 0c-2.8.6.3-.9.3-.9-.9.3-3.5.5-3.5.5-1 0-2 .5-3 .8-.8.2-2 .4-2.5.7l-7.3 3.1-5.9 2.3c.3 0 3.7-2.3 8-4.2a93.5 93.5 0 0 1 11-4.2c3.1-1 5.6-.5 7 0 .7.2 4.4-.1 6 0 1.8.3 2 3 2 3 .2.2.4 2.8.4 2.8s-1 0 .1.2 3.1 1.7 3.1 1.7h.8s.4-.5.9-.7l1.6-.5h2.1l2.2.3c.9.1 1 .2 1.3.3h.5c1-.5 3.2-1.3 3.6-1.2 0 0 .8-.2 1.2-.5a112 112 0 0 0 1.4-1.1s-.6-4.7 4.1-4.3l12.3 1.3a47.8 47.8 0 0 1 12.5 4.5l4.3 1.9c2.4 1 4.1 2.5 4.1 2.5l-3.8-1.9c-1-.4-2-.6-2.8-1l-3.9-1.8c-3.7-1.7-3.6-1.8-5.1-1.9-1 0 .7 1.2.7 1.2l-4.4-1.7a6.3 6.3 0 0 0-3-.6 6.2 6.2 0 0 1-2.4-.3c-.6-.2-4-.4-4.7-.4a7.8 7.8 0 0 1-1-.2l.2.4-1.7-.3-.5.7s-1.6.3-1.7-.2c-.2-.5-1 2.4-1.4 3.2-.4.9-2.4.6-2.9 1.1-.4.6-1.5 1-1.7 1-.2.2-1 .1-1.4.1-.6 0 0 0-1.1.2l-1.2-.1-1.5-.5-3.8-.2a6 6 0 0 0-1.5.4l-1.3.8"/>
|
||||
<path fill="#e7e7e7" stroke="#000" stroke-width=".1" d="M250 208c-1.7 0-3.5-1.2-3.5-1.2-2.3-.4-2.4-2.5-2.4-2.5-1-.3-1.7-2.6-1.7-2.6-1.4.8-3.2 0-3.2 0s0-.4-1.6 0c-1.6.3-1.3-.3-1.3-.3s.6-.7-2.2 0c-2.8.6.3-.9.3-.9-.9.3-3.5.5-3.5.5-1 0-2 .5-3 .8-.8.2-2 .4-2.5.7l-7.3 3.1-5.9 2.3c.3 0 3.7-2.3 8-4.2a93.5 93.5 0 0 1 11-4.2c3.1-1 5.6-.5 7 0 .7.2 4.4-.1 6 0 1.8.3 2 3 2 3 .2.2.4 2.8.4 2.8s-1 0 .1.2 3.1 1.7 3.1 1.7h.8s.4-.5.9-.7l1.6-.5h2.1l2.2.3c.9.1 1 .2 1.3.3h.5c1-.5 3.2-1.3 3.6-1.2 0 0 .8-.2 1.2-.5l1.4-1.1s-.6-4.7 4.1-4.3l12.3 1.3a47.8 47.8 0 0 1 12.5 4.5l4.3 1.9c2.4 1 4.1 2.5 4.1 2.5l-3.8-1.9c-1-.4-2-.6-2.8-1l-3.9-1.8c-3.7-1.7-3.6-1.8-5.1-1.9-1 0 .7 1.2.7 1.2l-4.4-1.7a6.3 6.3 0 0 0-3-.6 6.2 6.2 0 0 1-2.4-.3c-.6-.2-4-.4-4.7-.4a7.8 7.8 0 0 1-1-.2l.2.4-1.7-.3-.5.7s-1.6.3-1.7-.2c-.2-.5-1 2.4-1.4 3.2-.4.9-2.4.6-2.9 1.1-.4.6-1.5 1-1.7 1-.2.2-1 .1-1.4.1-.6 0 0 0-1.1.2l-1.2-.1-1.5-.5-3.8-.2a6 6 0 0 0-1.5.4l-1.3.8"/>
|
||||
<path fill="#452c25" d="M250.3 207.4s-.2.1-.3.5v.2"/>
|
||||
<path fill="#574f4c" d="m259.5 206.9.7.5s0 .1 0 0a7 7 0 0 0-.8-.7.6.6 0 0 0 .1.2"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 111 KiB |
5
changedetectionio/static/flags/1x1/bq.svg
Normal file
@@ -0,0 +1,5 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bq" viewBox="0 0 512 512">
|
||||
<path fill="#21468b" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fff" d="M0 0h512v341.3H0z"/>
|
||||
<path fill="#ae1c28" d="M0 0h512v170.7H0z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 225 B |
45
changedetectionio/static/flags/1x1/br.svg
Normal file
@@ -0,0 +1,45 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-br" viewBox="0 0 512 512">
|
||||
<g stroke-width="1pt">
|
||||
<path fill="#229e45" fill-rule="evenodd" d="M0 0h512v512H0z"/>
|
||||
<path fill="#f8e509" fill-rule="evenodd" d="m261.4 405.4 229.8-149.2L260 106.6l-230.7 150z"/>
|
||||
<path fill="#2b49a3" fill-rule="evenodd" d="M361.5 256a97.2 97.2 0 1 1-194.3-.2 97.2 97.2 0 0 1 194.3.2"/>
|
||||
<path fill="#ffffef" fill-rule="evenodd" d="m232.3 314.2-3-1.8-3.1 1.6.7-3.5-2.4-2.5 3.4-.4 1.6-3.2 1.5 3.3 3.4.6-2.6 2.4m65.7 20-3-1.8-3.2 1.6.7-3.5-2.4-2.5 3.5-.4 1.6-3.2 1.4 3.3 3.4.6-2.5 2.4m-27.6-22.9-2.6-1.5-2.7 1.3.6-3-2-2.2 2.9-.3 1.4-2.7 1.2 2.8 3 .5-2.2 2m66.2-6.4-2.6-1.5-2.6 1.3.6-2.9-2-2.1 2.9-.4 1.3-2.6 1.3 2.7 2.9.5-2.2 2m-66.6-16.7-3-1.8-3.1 1.6.7-3.5-2.4-2.5 3.4-.4 1.6-3.1 1.5 3.2 3.4.6-2.6 2.4M188 245l-3-1.8-3 1.6.6-3.5-2.4-2.5 3.5-.4 1.6-3.2 1.4 3.3 3.4.6-2.5 2.4m10.1 43.5-3-1.7-3.1 1.5.7-3.4-2.4-2.6 3.4-.4 1.6-3 1.5 3.1 3.4.7-2.6 2.3m100.6-51.3-2.6-1.5-2.8 1.3.6-3-2-2.3 3-.3 1.4-2.8 1.3 2.9 3 .5-2.3 2.1m-5 29.2L290 255l-2.1 1 .4-2.4-1.6-1.7 2.4-.3 1.1-2.2 1 2.3 2.4.4-1.8 1.6m-108.4 38.5-2-1.2-2.1 1 .4-2.3-1.6-1.7 2.4-.2 1-2 1 2 2.3.5-1.7 1.6m152.6 11.5-1.7-.8-1.7.7.4-1.7-1.3-1.3 1.9-.2.9-1.5.7 1.6 1.9.3-1.4 1.2"/>
|
||||
<path fill="#ffffef" fill-rule="evenodd" d="m183.5 292.3-2-1.2-2.1 1 .5-2.3-1.7-1.7 2.3-.2 1.1-2 1 2 2.3.5-1.7 1.6"/>
|
||||
<path fill="#ffffef" fill-rule="evenodd" d="m183.5 292.3-2-1.2-2.1 1 .5-2.3-1.7-1.7 2.3-.2 1.1-2 1 2 2.3.5-1.7 1.6m32.2 2.3-2-1.2-2 1 .4-2.3-1.6-1.7 2.3-.2 1-2.1 1 2.1 2.3.5-1.7 1.6m-3.7 13-2-1.2-2 1 .4-2.3-1.6-1.7 2.3-.3 1-2 1 2 2.3.5-1.7 1.6m66.7-17-2-1.2-2.1 1 .4-2.3-1.6-1.7 2.3-.2 1.1-2.1 1 2.1 2.2.4-1.7 1.6m-19.1 2.4-2-1.2-2.1 1 .5-2.3-1.6-1.7 2.3-.2 1-2.1 1 2.1 2.3.4-1.7 1.6m-52.5-4.4-1.2-.7-1.3.6.2-1.5-1-1 1.5-.2.7-1.3.5 1.4 1.5.2-1 1M333.2 310l-2-1.1-2.1 1 .5-2.3-1.6-1.7 2.3-.3 1-2 1 2 2.3.5-1.7 1.6m-16 4.4-1.6-1-1.7 1 .4-2-1.4-1.4 2-.2.8-1.7.8 1.7 2 .4-1.5 1.3m8 1.8-1.6-1-1.6.9.3-1.8-1.2-1.3 1.8-.2.8-1.6.7 1.6 1.8.3-1.3 1.3m22.2-17.4-1.5-.9-1.6.8.4-1.7-1.2-1.3 1.7-.2.8-1.5.7 1.6 1.7.3-1.3 1.2M317 322.9l-2-1.1-2 1 .5-2.2-1.6-1.5 2.2-.3 1.1-1.9 1 2 2.1.4-1.6 1.4m.4 10.9-1.8-1-1.8.9.4-2.2-1.4-1.5 2-.3 1-1.9.8 2 2 .4-1.5 1.4M302.3 312l-1.5-.9-1.6.8.4-1.8-1.2-1.2 1.7-.2.8-1.6.7 1.6 1.7.3-1.3 1.2m-13.5 1.8-1.5-.9-1.6.8.4-1.8-1.2-1.2 1.7-.2.8-1.6.7 1.6 1.7.3-1.2 1.2M265 291.4l-1.5-.9-1.6.8.4-1.7-1.2-1.3 1.7-.2.8-1.5.7 1.6 1.7.3-1.3 1.1m2.9 43.5-1.3-.7-1.3.7.3-1.5-1-1 1.4-.3.7-1.3.6 1.4 1.5.2-1.1 1m-35.2-66-3-1.7-3.1 1.5.7-3.4-2.4-2.6 3.4-.4 1.6-3.1 1.5 3.2 3.4.6-2.6 2.4"/>
|
||||
<path fill="#fff" fill-rule="evenodd" d="M355.1 291a95 95 0 0 0 4.4-15.1c-51.6-45.4-109.2-68.7-182-63.9a95 95 0 0 0-6.4 15.9 233 233 0 0 1 184 63z"/>
|
||||
<path fill="#309e3a" d="m331.9 265.4 1.8 1a2.6 2.6 0 0 0-.2 1.8c.1.4.5.9 1 1.2.6.4 1.1.6 1.6.6.4 0 .8-.3 1-.6.1-.2.2-.4.1-.7l-.3-.8-1.2-1.3a5.9 5.9 0 0 1-1.4-2.3 2.8 2.8 0 0 1 1.6-3.3 2.9 2.9 0 0 1 1.7-.2 5.3 5.3 0 0 1 2 .9 6 6 0 0 1 2 2.4 3 3 0 0 1-.5 2.6l-1.8-1.1c.2-.5.3-1 .2-1.4-.1-.3-.5-.7-1-1-.5-.4-1-.5-1.4-.5a.8.8 0 0 0-.6.3.8.8 0 0 0-.1.7c0 .4.5 1 1.2 1.7l1.5 2a3 3 0 0 1-.2 3.2 3.1 3.1 0 0 1-1.4 1.1 3 3 0 0 1-1.9.2 6 6 0 0 1-2.1-1 4.6 4.6 0 0 1-2-2.5c-.3-.9-.2-1.9.4-3m-8.8-5.7 2 1a2.6 2.6 0 0 0-.2 1.6c.1.5.5 1 1 1.3.6.4 1.1.5 1.6.4.4 0 .8-.2 1-.6a1 1 0 0 0 .1-.6c0-.3-.1-.5-.4-.8l-1.2-1.3a6 6 0 0 1-1.5-2.2 2.8 2.8 0 0 1 .3-2.4 2.8 2.8 0 0 1 1.2-1 3 3 0 0 1 1.7-.2c.6 0 1.2.3 2 .8 1 .7 1.8 1.4 2 2.3a3 3 0 0 1-.3 2.6l-1.9-1.1c.3-.5.3-1 .2-1.3-.2-.4-.5-.7-1-1a2.4 2.4 0 0 0-1.5-.5.8.8 0 0 0-.6.4.8.8 0 0 0 0 .7c0 .3.5.9 1.2 1.7.8.7 1.3 1.4 1.6 1.8a3 3 0 0 1-.1 3.3 3.2 3.2 0 0 1-3.2 1.4 6.1 6.1 0 0 1-2.2-.9 4.7 4.7 0 0 1-2.1-2.4 4.1 4.1 0 0 1 .3-3m-10.8-3 5.6-9 6.7 4-1 1.6-4.8-3-1.3 2 4.6 2.8-1 1.6-4.5-2.8-1.5 2.5 5 3-.9 1.6zm-15.8-12.9.9-1.6 4 2.2-1.9 3.7a7.2 7.2 0 0 1-4.8-.6 5.8 5.8 0 0 1-2.2-2 4.5 4.5 0 0 1-.8-2.6c0-1 .3-1.9.8-2.8a6.1 6.1 0 0 1 2-2.3c.7-.6 1.7-.9 2.7-.9.7 0 1.6.3 2.5.7a5 5 0 0 1 2.3 2.2c.4.8.5 1.7.3 2.7l-2.1-.6a2.2 2.2 0 0 0-.2-1.5 2.5 2.5 0 0 0-1.2-1.1 2.9 2.9 0 0 0-2.4-.3c-.7.3-1.4 1-2 2a4.8 4.8 0 0 0-.5 3c.2.8.7 1.4 1.6 1.8l1.3.4h1.3l.6-1.2zm-68.8-17 1.6-10.6 3.2.5.8 7.5 3-7 3.1.5-1.5 10.6-2-.3 1.2-8.3-3.3 8-2-.3-.9-8.7-1.2 8.4zm-10.7-1.3 1-10.6 7.8.7-.1 1.8-5.8-.5-.2 2.3 5.3.5-.1 1.8-5.3-.5-.3 3 5.9.5-.2 1.8z"/>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="M181.4 218.8c0-1 .2-2 .5-2.7l1-1.4 1.5-1a5.8 5.8 0 0 1 2.3-.3 5 5 0 0 1 3.7 1.6c1 1 1.3 2.3 1.3 4 0 1.8-.6 3.1-1.5 4a5 5 0 0 1-3.8 1.4 5 5 0 0 1-3.7-1.5 5 5 0 0 1-1.3-4z"/>
|
||||
<path fill="#f7ffff" d="M183.6 218.8c0 1.2.2 2.2.8 2.8.5.7 1.2 1 2 1a3 3 0 0 0 2.2-.9c.5-.6.8-1.5.9-2.7 0-1.3-.2-2.2-.8-2.8a2.7 2.7 0 0 0-2-1c-1 0-1.7.3-2.2.9-.6.6-.9 1.5-1 2.7z"/>
|
||||
</g>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="m194 224.4.1-10.7h4.5c1.2 0 2 .2 2.5.4s1 .5 1.2 1 .5 1 .5 1.7c0 .8-.3 1.4-.7 2-.5.5-1.2.8-2.2 1 .5.2.9.5 1.2.8l1.2 1.8 1.3 2H201l-1.5-2.3a16 16 0 0 0-1.2-1.6 1.6 1.6 0 0 0-.6-.4 3.5 3.5 0 0 0-1-.2h-.5v4.5z"/>
|
||||
<path fill="#fff" d="M196.2 218.2h1.6a8.1 8.1 0 0 0 2 0l.5-.5c.2-.2.3-.5.3-.8 0-.4-.1-.7-.3-.9a1.3 1.3 0 0 0-.8-.4h-3.2z"/>
|
||||
</g>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="m206.2 214.2 3.9.2a7.6 7.6 0 0 1 2 .3 4 4 0 0 1 1.5 1 5 5 0 0 1 1 1.9c.2.7.2 1.5.2 2.5a5.3 5.3 0 0 1-1.7 4.1c-.4.3-.9.6-1.5.8h-2l-4-.1z"/>
|
||||
<path fill="#fff" d="m208.2 216.1-.3 7 1.6.2h1.3l.9-.5c.3-.2.4-.5.6-1l.3-2-.1-1.8c-.2-.5-.3-.8-.6-1a2 2 0 0 0-1-.6 9.6 9.6 0 0 0-1.7-.2z"/>
|
||||
</g>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="m258.5 233.3 2.5-10.4 3.3.8c1.3.3 2.1.6 2.5.8.5.3 1 .7 1.2 1.3.3.7.3 1.4.1 2.2a3 3 0 0 1-1.9 2.3 3 3 0 0 1-1.1.3 12 12 0 0 1-2.2-.4l-1.4-.3-1 3.9z"/>
|
||||
<path fill="#fff" d="m262.6 225.2-.7 3 1.2.2c.8.2 1.4.3 1.7.2a1.4 1.4 0 0 0 1.2-1l-.1-1.1a1.5 1.5 0 0 0-.8-.7l-1.5-.4z"/>
|
||||
</g>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="m268.4 236.3 3.5-10.1 4.3 1.5a8 8 0 0 1 2.2 1c.4.4.7.9.9 1.5s0 1.1-.2 1.7c-.2.8-.7 1.3-1.3 1.6a3 3 0 0 1-2.3.3l.8 1.2.6 2 .5 2.4-2.4-.8-.7-2.7a14.5 14.5 0 0 0-.6-1.9 1.6 1.6 0 0 0-.4-.6 3.4 3.4 0 0 0-1-.5l-.4-.1-1.5 4.2z"/>
|
||||
<path fill="#fff" d="m272.4 231.2 1.5.5 1.9.5c.3 0 .5 0 .7-.2l.5-.7v-1a1.3 1.3 0 0 0-.6-.6l-1.5-.5-1.6-.6z"/>
|
||||
</g>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="M280.9 235.9a6.8 6.8 0 0 1 1.3-2.5c.3-.5.8-.8 1.3-1.1a4.2 4.2 0 0 1 1.6-.5c.7 0 1.5 0 2.3.3a5 5 0 0 1 3.2 2.5c.6 1.2.7 2.7.1 4.3a5.6 5.6 0 0 1-2.5 3.5 5 5 0 0 1-4 .2 5 5 0 0 1-3.2-2.5 5.5 5.5 0 0 1-.1-4.2"/>
|
||||
<path fill="#fff" d="M283 236.5c-.3 1.1-.3 2 0 2.8.4.8 1 1.3 1.8 1.6.8.2 1.5.1 2.2-.3.7-.4 1.3-1.2 1.7-2.4.3-1.2.3-2.1 0-2.9a2.7 2.7 0 0 0-1.8-1.5 2.7 2.7 0 0 0-2.3.3c-.7.4-1.2 1.2-1.6 2.4"/>
|
||||
</g>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="m301.7 250.8 4.9-9.5 4 2c1 .6 1.7 1 2 1.4.4.5.6 1 .7 1.5s0 1.2-.4 1.7c-.3.7-.8 1.2-1.5 1.5-.7.2-1.4.2-2.3-.1.3.4.5.9.6 1.3l.3 2.1.2 2.5-2.3-1.2-.3-2.8-.3-2a1.6 1.6 0 0 0-.4-.6 3.5 3.5 0 0 0-.9-.6l-.4-.2-2 4z"/>
|
||||
<path fill="#fff" d="m306.4 246.3 1.4.7 1.8.8c.3 0 .5 0 .7-.2a1.5 1.5 0 0 0 .8-1.5 1.3 1.3 0 0 0-.6-.7 21 21 0 0 0-1.3-.8l-1.5-.7z"/>
|
||||
</g>
|
||||
<g stroke-opacity=".5">
|
||||
<path fill="#309e3a" d="M341.2 270.3c.6-1 1.2-1.6 2-2a5 5 0 0 1 1.6-.7 4.2 4.2 0 0 1 1.6 0c.7.1 1.5.4 2.2 1a5 5 0 0 1 2.3 3.3 6 6 0 0 1-1.1 4.1 5.6 5.6 0 0 1-3.5 2.6 5 5 0 0 1-3.9-.9 5 5 0 0 1-2.3-3.3 5.5 5.5 0 0 1 1-4.1z"/>
|
||||
<path fill="#fff" d="M343 271.4c-.6 1-.9 2-.8 2.8a3 3 0 0 0 1.3 2 2.7 2.7 0 0 0 2.2.4c.8-.2 1.6-.8 2.3-1.9.7-1 1-1.9.8-2.7 0-.8-.5-1.4-1.2-2s-1.5-.6-2.3-.4c-.8.2-1.5.8-2.2 1.8z"/>
|
||||
</g>
|
||||
<path fill="#309e3a" d="m246.4 229 1.7-7.6 5.6 1.3-.3 1.3-4-1-.4 1.7 3.7.9-.3 1.3-3.7-1-.5 2.1 4.2 1-.3 1.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
13
changedetectionio/static/flags/1x1/bs.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bs" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="bs-a">
|
||||
<path fill-opacity=".7" d="M56.6 26.4H537v480.3H56.6z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" clip-path="url(#bs-a)" transform="matrix(1.066 0 0 1.067 -60.4 -28.1)">
|
||||
<path fill="#fff" d="M990 506.2H9.4V27.6H990z"/>
|
||||
<path fill="#ffe900" d="M990 370.6H9.4V169.2H990z"/>
|
||||
<path fill="#08ced6" d="M990 506.2H9.4V346.7H990zm0-319H9.4V27.9H990z"/>
|
||||
<path fill="#000001" d="M9 25.9c2.1 0 392.3 237 392.3 237L7.8 505.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 579 B |
89
changedetectionio/static/flags/1x1/bt.svg
Normal file
@@ -0,0 +1,89 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bt" viewBox="0 0 512 512">
|
||||
<path fill="#ffd520" d="M0 0h512v512H0z"/>
|
||||
<path fill="#ff4e12" d="M0 512h512V0z"/>
|
||||
<g stroke="#000" stroke-width=".5">
|
||||
<g fill="#fff" stroke-width=".4">
|
||||
<path d="M281.9 162.5c-4-1.4-6.4.6-6.3 5.7.1 5 2.8 7.9 6.7 6z"/>
|
||||
<path d="M285.3 153.1c-3.2-2.6-6.3-1.5-7.8 3.3s.1 8.4 4.4 7.9z"/>
|
||||
<path d="M290.7 144c-2.8-3-6-2.5-8.2 2-2.2 4.5-1.3 8.3 3 8.5zm-3.5 44.2c-4.8 1.8-5.3 8.3-2.3 12.3s8.5 4.8 11.6 0z"/>
|
||||
<path d="M281.6 174.4c-4.5-1.5-8.6 4.6-9.3 10-.8 7-10.6 9.2-5.2 19.7 1.1-6.7 5.5-10.3 9-10.6 3.5-.2 8.8-1 11-5.3zm14.3 26.9c-5.2 1.3-6 8.3-2.2 13.3 3.2 4.3 13.3 3.3 13-1L296 201.3zm15 42.3c.2-4.5-7-6.3-10.5-5.4-3.6.9-10.3-.1-11.9-3.9-1.2 3 .6 6.3 5.7 8 3.8 1.2 3.8 4 2.6 5.2 3 .5 11.5.5 14-3.9z"/>
|
||||
<path d="M306.8 214.7c-5.2-2.2-8.3 1.2-10.2 4.6-3 4.9-11.8-1.4-14.8 5.1 4-1.7 8.2 2 10.1 3.3 5.6 3.6 16.2 2.5 17.7-6z"/>
|
||||
<path d="M309.8 220.8c-5.2 3.8-7.2 8.5-7 11.6 0 3.2 4.5 10 9.2 10.5 2.8-5.7 4.2-17.6-2.2-22.1zM288.4 245c0-1.9 2.8-2.6 4.7-2 1.8.6 4.7 2.5 3.7 4.5zM260 234.7c-.5-2.3 3.2-6.2 8-4 5 2.1 5.6 6.3 3.6 7.9z"/>
|
||||
<path d="M272 238.8c-.4-1.2 3.1-3.7 9.1-2.2s7.5 5.4 7.3 8.4zm-12.6-4.1c3.1-2.4 2-7-.9-8.3-5.1-2.5-3.2-9-6.5-10.3-3.3-1.2-6.4-3.5-6.5-5.8-1.7 3.2-.7 6 1.6 8s-1.8 10.2 1.1 12.4zm-67.3-1.8c-2.6-4.1-9-3.3-11.5-.5-2.7 3-2.3 7.2.2 9zm15-6.1c-1-5.5-7.6-6.2-11.2-4.8-3.7 1.4-6.2 7-3.8 11z"/>
|
||||
<path d="M217.2 226c2.4-4.6-2.2-11.5-7.5-12.5-4.4-.9-9.6-.8-11.3-5.2-1 3.8 1.7 6.2 5 8.3 3.3 2.2-.6 7.7 4.7 10.8z"/>
|
||||
<path d="M216.7 226.2c-1-3.3 1.2-7.8 5.7-7.5 4.5.4 7 3.6 5 7.7z"/>
|
||||
<path d="M226.8 226.4c-.7-3.4 2.2-7.5 6.6-6.5 4.4.9 6.5 4.5 4 8.3z"/>
|
||||
<path d="M236.7 228c-.4-3.4 2.6-7.4 7-6.2 4.4 1.1 6.3 4.8 3.5 8.5zM161 285.6c-8.4 0-10.5 2-11.7 10.6-1.5 10.8 13.2 12 11.7-10.6z"/>
|
||||
<path d="M164.7 274.3c-12.9-5-20 15.5-32.7 11.9 4.6 7.3 15.7 0 19.8.7 7 1.3 22.2-1.3 13-12.6zm-8.4 28c-6.4-3-13.3 6.8-12 11.1 1.6 5.5 16.2 1 12-11.1zm-29.9 42.1c3.6 1 7.8 3 7 9.8-.7 6.8-13.5 20.6-25 21.4-11.6.7-15.7 14.7-25.7 10.8 9.3-1.8 9.3-12.3 16.6-15.6-5.3-1.9-8 10-14.8 10-6.8 0-10 10.9-18.3 10.1-8.3-.7-9.2 13.1-25.8 13.3-12.6.1-28.3 15-34 8.6 12.3-1.8 17.3-8.6 24.6-16.1 11.8-12 25.1-6.7 29.7-17.3a30.9 30.9 0 0 1-17.9 5.2c-7.7-.1-16.2 12.3-24.8 6.8 5-.6 8.3-2.8 13.5-8.3 5.4-5.6 13.3-2 19.6-7.8 9.8-9 18.2-1.5 27.6-12.8-2.6-1.2-8.3-.3-13.5 2.4-5.3 2.8-12-1.9-18.1 1.4.7-7.4 14.8-3.2 23.6-8.3 10-5.8 18.1-4 26-3.4-11 0-15.2-10.4-30.3-7.4-6.5 1.3-11.8-9-18.3-3.8.2-3.9 7-7 14-3.2 7 3.7 10-3.3 24 5.5 5.7 3.6 15.6-2.3 21.9 1.6-.8-2.4-4.4-3.9-8.6-3.5 2.6-5.4 19.6-4.7 27 .7z"/>
|
||||
<path d="M137.6 336.3c-5.5-4.3-13.2.9-18.4-1.2 0 3.6 1.7 8.8 7.5 10.8a139 139 0 0 0 11-9.6z"/>
|
||||
<path d="M146.3 324.1c-8.7-4.4-10.2 6.5-17 4.3.3 3.1 2.8 7 8.3 7.9z"/>
|
||||
<path d="M151.4 314.2c-12.8-5-14.4 7.3-22 4.9 1.8 4.2 12.6 6.5 18.1 5l4-10zm17.6-53.9c-3.4-4.8-10.5-.9-11.7 4.8-1.1 5.6 1.7 13.5 6.4 11.8z"/>
|
||||
<path d="M177.7 245.2c-6-1.3-12.7-.7-12 5-2.2 1-2.9 8.5 3.3 10.1l8.7-15z"/>
|
||||
<path d="M181.6 241.3c-5.8-6.7-12.3-6.6-15.9-3.7-6.6 5.3-13 2.2-13.3 7.5 4-3 7.6.6 10.8-.5 3.3-1.1 5.7 5.2 14.7 2.5zm-14 101.4c.9 1.6 6.3 2.4 9-.4 3.4-3.7-.4-13.8-6-14.6-5.5-.7-6 11.5-3 15z"/>
|
||||
<path d="M161.3 343c8 2.8 11.3-3.7 7-7.9a79.6 79.6 0 0 1-7 7.8z"/>
|
||||
<path d="M131.7 353.7c-1.5 4.6-9.3 5.3-18 19.4-8.9 14-17.3 8.1-19.4 17.8 10.5-8.5 18.8-2.9 25.1-11.3 9.6-12.8 17.4-11 21.1-19.6 5.3-12.3 28.4-12 29.6-31.4-7.7-1.5-32.4 19.4-38.4 25.1zM330 164c10 3.3 10.3 16.3 21.8 20.6 11.6 4.2 12.7 14.5 22.1 12-8.8-2.4-8.2-12.5-17.3-15-10.8-3-14.8-19.4-23.4-21.9m42.8 72.5c1.8 4 1.5 11.1-4.7 13 3.4 2.2 8.4.1 11.1-4.5-4.1 9.2-1.3 17.5 5.2 19-3.1-6.3 3.9-9.3 1.6-13.5 4.2 1.8 7.8 7.4 7.7 11 5.4-6-4-14.1-2.3-19.8zm-65 64.5c-6.2-5.4-8.8 1.4-11.8-1-2.8-2.1-6.6-2.4-8-.2 5.2.1 2.7 4.2 12.9 5.2-10.2.7-8.4 12.1-15.2 11.6 7.3 6.9 11-6.2 17-4-1.8.5 2.7 4.6-.4 10.1 5-.1 7.1-7.1 7.8-10.8zm-135.5 58.6c-2.3-1.8-8.8-2.7-11.3-1.2-2.5 1.5-1.6 1.9 1.4 2.1 3 .3 6.9 5.1.4 5.4-3 .1-2 7.4-8.3 8 2.5 3 9.9 1 12.5-2.5-.5 2.9 3.3 5.4 1.8 8.8 4.6.5 2-9.4 9.3-8.9-3 .4-1.8 7.2 3.5 5.4-3.1 1.5-1.5 5.2 2 4.3-2.2.7-3 3.6.1 5.3 3-4.2-.3-19-11.4-26.7zM449 216.7a17.4 17.4 0 1 0 0-34.8 17.4 17.4 0 0 0 0 34.8z"/>
|
||||
<path d="M358 237.7c5.3-5 13.3-7.5 18.8-3.7 5.5 3.7 23.9 8.2 33 2 9-6.3 13.2-9.6 17.2-8.8 3 4.5 6.7 6.6 11.2 7 1.4 1.5 6.3 2.8 9 2.4 4 1 9-.3 12.9-4.5 6 .8 11.6-3.7 13.8-10.5 6.4-.7 6.8-7.9 2.7-12.6-3.7-.8-.8-13.5-14.5-11 5.7 3.5 1.3 10.6 6.1 13.8-3.2 0-7.4 1.4-8.4 6.3 1.2-3.4-.2-5.6-1.1-6.4.1-2.9-6.3-10-12.3-7.4 4.3 1 1.9 8 5 10.6a8 8 0 0 0-6 3.2c-1.7-2.9-7.4-5.9-11-6.1 0-1-.1-3-.6-4a18 18 0 0 1-2.2-11.2c-3 3.2-5.6 7.8-7 11-4.8-3.2-16.6 1.5-22.2 2.8-5.5 1.3-24-1.8-28.3-6.3a47.9 47.9 0 0 0-20.4-9.5c-10.7-3.1-10.8-14.8-22.6-22.9-.2 14.6 21.9 60.8 26.9 65.8zm-123 111a16.8 16.8 0 1 0 0-33.6 16.8 16.8 0 0 0 0 33.6z"/>
|
||||
<path d="M194.7 335.8c3.4 4.4 9.2 4.1 11.6 3.7 2 5.3 8.4 5.2 11.2 8 2.7 3 12.2 2.7 15 1-2.6-.2-5.9-1.7-9-4.3-3.8-3.2-2-9.5-5-11.8 2.2-2.5 2.6-6.7 2.1-8.3 2.4-1.4 4.2-3.6 4.4-4.8a15 15 0 0 0 9.3-4c2.1 2 7.5-.6 10.4 2.8.7-8.3-7.3-12.7-12.5-10-2.2-1-7.8-.3-8.8 1.2-1.8-.8-6.7 1.7-9 3.4 2.6-1.4 3-5.5 2-7 2-1 4.5-3.8 4.7-6 3 .5 7.5-1.5 9.6-1-3.3-4.2-8.7-5.7-14.2-5.4-5.8.4-8.2 4.4-9 8.7-3.3 2-4.5 8.8-3.2 11.2-2 0-3.8 1.8-4.5 2.9a26 26 0 0 0-9.1-2m1.2-6.8c-1.2-3.3.3-6.2 1-8.8 2-6.6.8-8.3-5-7.4a46 46 0 0 0 4 16.2z"/>
|
||||
<path d="M187.5 291.4c1.5 1.6 6.9 2.3 7.4-2.5.7-5.5-1.5-7.6-6.3-5.5-.4 1.3-.8 6.4-1 8z"/>
|
||||
<path d="M188.7 283.2c2 .8 6.3 2.5 8.7-2.2 2-3.9-.6-6.9-4.8-6.6-1 1.1-3 5.1-4 8.8z"/>
|
||||
<path d="M192.4 274c.5 1.5 5.6 6.5 9.4 2.9 3.7-3.6 3.7-9-1.9-11-1.5.2-6 5.5-7.5 8.1z"/>
|
||||
<path d="M199.9 265.8c1.1 3.2 4.6 8.6 11.2 6 6.5-2.4 3.7-10.6.7-12.2-1.7 0-8.9 3.3-12 6.2z"/>
|
||||
<path d="M211.8 259.6c-.5 2.7 0 10.3 9 10.1 8.8 0 6.3-10.5 4-12-3.6 0-9.7.1-13 1.9z"/>
|
||||
<path d="M225.3 258c-1 2.2-3.3 16.2 14.1 12.4 2.3-.5 8.2-13.5-14.2-12.3z"/>
|
||||
<path d="M234.8 259.3c-1.8 1.8 2.8 16 14.6 13.6 11.8-2.4 1.9-15.9-14.6-13.6z"/>
|
||||
<path d="M244.8 261.4c-1.8 4 1 15.5 15.5 15.5 13.3 0-.6-15.2-15.4-15.5z"/>
|
||||
<path d="M256.3 264.8c-1 2.2-2.1 14.4 15 15.5 12.5.7 9.5-16.9-15-15.5z"/>
|
||||
<path d="M274.7 270c-2.1 3.8-4.4 13.2 14.5 14 12 .4 4.6-13.8-14.5-14z"/>
|
||||
<path d="M290.4 272.9c-2.7 3.7-.7 11.1 6.3 12.5 8.8 1.8 10-6.5 4-10.5s-10.3-2-10.3-2z"/>
|
||||
<path d="M299 274.6c-2 3.5-.8 12 12.5 12 2.8 0 13.3-10.7-12.5-12zM195.9 438.4a19.5 19.5 0 1 0 0-39.1 19.5 19.5 0 0 0 0 39z"/>
|
||||
<path d="M339.1 154.3c-1.5 1.5-4.6 6-5.2 7.8-6.6 19.6 10.9 34.3 21 55.3a61 61 0 0 1-5.5 59.2c-4.3 5.7-3 7.3-8.5 13.1-2.1 2.2-4.5 5-3.8 13 3.6-1.2 8.6 2 9.6 4.8 2.5-1.2 6-.7 7.3.8 4.2-2 7.8-1 11.5 3 3.3-.5 6.8 0 10 3.5 1.8-3.5 5.3-4.8 7.8-4-.2-4.5 4.3-7.8 8.3-6a7.4 7.4 0 0 1 9.6-8.8c4.5-3.5 13.5-3.8 18 1.5-8-2.3-7.7 6.3-14.5 5.5 1.8 5-2.8 8-7.3 9.5 2.9-1.3 6-3 7-1.2 2.5-2.2 7.6-1.4 8.8-.3 3.4-1 6.6-.2 8 3.8 4.6 2.8 7.6 9.8 4.3 15-1-5.5-4.7-5.2-6.2-7.5-3.6 1.3-7 1.3-8-1-2 2-8.9 3.8-11.9.8-1.1 4.5-5 8.3-9.5 8.3 1.2 3.5-2.3 9.5-5 12.5 4.2 2.3 3 7.3 2 10.3 6.5 1 1 6.8 12.3 10.6-5.6 1.7-16.4 0-17.9-6.8-5.5-.3-9.3-5.8-9-11.6-4.3-4-5-9.7 1-13.8-5 1.5-7.8-6.5-15-3.2-3.7 1.6-13.2-1.2-13.1-4.5-1.5 2.5-10.7 1.5-12-2.8-3 1.6-10-1.1-9.9-5.3-3.9 1.8-9.1-1.4-8.9-5.4-3.6-.5-4-3.7-3.8-6.5-3.2-1.5-2.3-4.7-1-8.4-2.3-2.5-1.3-6 .4-9.3-2.5-2.5-2-5.5-1.2-9-12.1-1-27.2-4-61.8-14.6-52.2-16-66.3 21.6-54.8 45.2 13.4 27.2-1.5 33.1 3 53.5 4.8 1 7.3 5 7 9.3 2.9 0 5 2.7 4 7.7a8.7 8.7 0 0 1 7.4 2.3c1.7-3.3 7.5-4 10.5-.2 6.6-.5 9.8 4.7 9.6 11.3a17.6 17.6 0 0 1-1.5 18.8c.3-2.6 0-6.4-.2-8.7-.2-4.1-6-5-5.4-8.4-3 .3-5.9-1.4-6.9-3.6a6.6 6.6 0 0 1-6.4 1.2c3.4 1.5 6 7.6 5 11.6 1.8 3 1.4 8.5-.7 11-1 4.8-4.8 6.6-9.7 4.4a8.4 8.4 0 0 0 3.7-7.5 9.8 9.8 0 0 1-2.8-6.2c-4.9.8-11.7-3.4-13-5a19.5 19.5 0 0 0-19.4 19.6c-.5-4-5.6-8-5-11.4-3-9.3 1.3-18 13.6-19.7-1.5-3.5 3.7-7.2 1.7-11.2a94.8 94.8 0 0 0-14.3-19.6c4.3-7.3 3-17 .5-23.1-3.6-8.7-7-6.5-19.8 7.5-21 23-48.8 16.6-73.4 31.7-6.5 4-13 5.5-6-1.5s25.6-14 37.7-20.1c22.6-11.3 41.7-30.2 49.2-66.8 17.7-86.2 82.9-57.8 124-41.7 38.7 15 31.7-19.1 12.1-39.7-23.5-24.7-18.8-44.2-7.8-59.8 19.9-2.7 57.9 4.2 50.2 10.8z"/>
|
||||
<path d="M409 366a21.5 21.5 0 1 0 0-43 21.5 21.5 0 0 0 0 43z"/>
|
||||
</g>
|
||||
<g fill="none" stroke-width=".4">
|
||||
<path d="M327.1 155.3c-4.8 21.1-.8 30.7 6.3 40 14.5 19.2 26 63 9.5 91.6"/>
|
||||
<g stroke-linecap="round">
|
||||
<path d="M352.2 262.2c2-.8 5.8-3.1 6.7-7.3m-5.2-1.9c.6-3.6 6.3-5.2 6.4-9m-6.3-5.2c-.3-3.7 5.7-7.1 4.8-10.9m-8-2.6c-.5-2.1 5-6.2 3.5-9.6m-7.7-3.6c-1.1-2.4 2.7-5.1 1-7.7m-7-2.9c-.4-1.6 2-5.2.7-7.3m-6.7-5c.5-.7 2.5-2.2 1.7-4.1m-5.9-5c.9-.5 3.3-1.3 3-3.1"/>
|
||||
<path stroke-linejoin="round" d="M204.5 416.8c-5-1.8-11.3.7-12.5 5m3.7 3.9c.7-4.3 7.2-6.2 9.2-4.2-4.1-2.2-6.1 5.8-2.5 6m33.8-101.1c-3 1.5-4 7 0 11.1m4.5-9.9c-2.1 1.8-2 7 1.1 8.3-2.6-1.9 0-5.1 2-5.3 1.8 0 3 2.2.8 4.4m172.5 5c-7-1.8-12.7 6.3-6.3 13.6 0-7 5-11.7 11-10.4m-2.7 4.8a2.6 2.6 0 0 0-2.7 2.7c0 1.4 1.2 2.7 3.1 2.7 1.3 0 2.3-1.4 2.3-2.6m22-157c1.2 4.4 7 6.1 11.7 5.1m0-2.8c-3.6.2-6.6-3.2-6.4-6.1 0 2.1 5 3.1 6.4 1.7"/>
|
||||
<path d="M206.3 339.5c-1-2.5 3-5 3.1-7.4.2-2.4 4.6-4.2 9 .3m-2-26.8c-1 .4-1.7 1-2.4 1.2m11 12.5c-1 0-3.3 0-4.5-.9m.1 5.7c-.9.4-2.8 1.2-4 1.4m-39 74.4c-.2 2.3 2 5.6 3.3 6.6m6.4-12c-1.2 2-2 5.2-1.2 7.4m20 .2c-2.3-1.5-.8-5.4-1-8-.3-2.5 2.6-6.5 8.2-3m-28.4-3.3c2.3-.4 4.7-.3 6.2.3m22.5-7.5a8.1 8.1 0 0 0-1.4 3.9m12-4.2c-1.8 0-3.3 1.3-4.1 2.6M199.8 316c2 .7 7.2 3.9 7.4 7.2m13.9-23.6c-6.2 0-8.5-6.4-3.9-6.4m15 14.8c-2.4 1-1.3 5.2 2 7.2m-16.7 32.3c-1.2-1.5.3-6 4.2-4.6m5 50.4c.2-3.8 5-6 7-1.8m-24.9 12.7c-.3-4.2 1.8-5.6 3.7-5.8 1.9-.3 4.6 1.3 5.8 4m-47 5c.3-2.5 2.5-5.2 4.7-4.8M401.2 296c-1.7 1.2-2.7 6.5 3.5 7m-13 1.8c0 .6.7 1.5 1.2 1.8m28.3 8.2c-1.6-1.3-5.8 3.8-2 7.5M381.3 357c-1-3.6 2.4-4.5 5.5-3.8m-13.5-21.6c1.9-1.2 3.8-2.6 6.1-3.2m-7.1 17c0-3 1.5-5.5 2.9-6.2m8.1-28.4a17 17 0 0 0 2.4 9m27.5-8.8c-1.8.6-3.4 1.3-4.1 2.8m2.1 7.5c.9-.7 1.9-1.6 2.3-2.2m45.2-107.4c0 3.5-4.4 5.4-7.3 3.2m16.8-3c2 1.4 8.7 0 7.1-3.9M460 232a9.7 9.7 0 0 1-4.7-3m18.6-7.4a7.3 7.3 0 0 1-5-.5m-30.7 13.1c1.3 0 4.3-.5 6.3-1.6m-10-20.6a5.4 5.4 0 0 0-3.8.7m29 5.4a10 10 0 0 1-3 5.1"/>
|
||||
<path stroke-linejoin="round" d="M430.2 223.7c3.1-1.4 7 9.3 14.5 5.5m.7-11c-1 1.3-1.7 3.4-1.8 5.3"/>
|
||||
</g>
|
||||
<path d="M295.2 201.8c1-.1 2.8-.5 3.1-1.8M166 318.8c3.8 2.1 6.4 5.8 4.8 11.2m167.8-139.6c1.2.7 5.4.7 7.8-.2m3 2.7c0 1.7.4 8.4-3 9.8m1.3-1c3.1 1 9.4.7 11.4-5m-4.4 4.8a6.9 6.9 0 0 1-2.8 10m4-5.8c3.7 1.2 12.1 1.3 11.2-5.8m-2.8 5.8c2.5 3.5 13.5 7.6 11.8.3m-22 9.8c4.3 1 10.3-1.9 7.8-9.4m12 3.8c.7 2.9 14.7 5.9 12.8-.6m-2.6 3.7c2.6 6 16.6 5.6 12.2-2.5M394 217c2.8 3.4 15 1.4 10.2-6.8m-.1 6.7c7.6 5.7 16.5-2.5 6.9-8.6m4.4 6.7c6.7 5.4 15-4.4 9.1-7.2m-62.8 5c2.2.6 6.7.3 7.7-3.6m-1.7 2.6c-.2 5.8 9.4 8 11.8 1.4m-3.2 3.5c1.8 3.8 10.2 5.3 11.6 0m-1.4 2.4c1.4 3.8 8.7 3.4 10.7-.5m-2.7 2.5c2.3 5 11.6 5 13.7-2.2m-1.6 3.1c3.6 2.3 11.4 1.4 10.8-5.6m-1.5 5c5.4 4.4 13 .1 9.3-7.3m-.4 13c2.9-.4 4.4-6.2 1.4-7.7m-68.3 8.8c6-3.3 7.1-8.8 3-14.2m2.1 8.7c3.8 2.2 11-.2 12.2-5.7m-7 6.3c2 2.7 2.5 6.1-.3 9.3m2-5.8c6.7-4.2 15 3.5 8.8 8.2m-1.1-8.6c1.5-.4 4.1-3.1 4.4-6.3m-1.4 9.2c2.7-2.9 21.6 3 9.7 9m-1-17c3.7 1.5 5.6 6.6 0 8.4m4.8 4.3c4-4.2 16.6-1.5 12.1 3.7m-3-5.4c2.2-7.6 15.7-2.9 11.3.3m-14-8c.3 1.6.4 5.3-2 7.3m13.2-8.7a6 6 0 0 1-.7 5m9.3-5c.7 1.5 2 4-.8 6.2m-106.7-63.9c.1 7.2 2.6 12 12.3 7.4m-9.3 1.2c-4.8 6.4.6 13.3 10 6.4m-24.7-3.3c6.5 7 18.2 1.9 10.7-8.8m7.9 14.8c-1.3 7 4.4 8.3 9 5.2m-33.4-10c1.2 6.9 8.3 12.4 15.2 8M304 188c0 9.9 13.7 11 16.8.7m-5 6.3c4.5 9 14 5.4 17.2-.1m-27-14.5c1.8 4.5 5.3 9.4 13.5 5.7m-38.6-7.8c1.1 3.7 7.7 8 15.2 3m-10.5 1.7c-4 5.9 4 11.4 13.6 2.6m-8.9 4.7c1.7 8.2 5 14.9 16.7 4.2m-5.9 4.3c4.3 5.3 10.8 8.5 17-.4"/>
|
||||
<path d="M322.7 200.3c-.4 6.3.9 9.4 5.8 9.2 3.8-.2 7.5-3.3 9.6-6.6m-10.5 6.6c-.1 7.1 5.5 12.8 16 5.5m-11.6 2.9c-2 5.4 4 14.2 15.8 9.6m-40.8-24c-.8 7 5.7 11.6 16 2.7m-11 5c.4 5.7 6.8 12.5 16.2 2.7m-11.7 4.5c-.7 9.6 8.2 12.4 15.7 5m-29-12.2c2 .1 3.5-1.6 4.5-2.9m-.3 10c1.7.3 4.7-1.3 5.7-3.3m-1.3 14.7c2 2.1 8.8.6 9.6-2.3m-2 2.1c3.7 8.8 13.7 8.5 17.9-1.5m-2 3.6c2 5.1 6.7 8.4 14.5 6.6m-10.7-1.4c-4.4 7.2 1.4 15.6 11.2 7.3m-8.8 3.4c-.5 4.5 3.7 9.7 9.3 10.3M323 234.3c-1.5 10.2 5.8 15 15 9.7m-25.6-4.8c2.4 1.9 6.6 2.1 10.6.6m5 6c-2.3 8.5 6.5 14.6 14 5.1m-26.2-10.3c0 4.4 4.4 9.2 11.8 7.8m20.7 8.8c-5 3.4-6 9.4 1 13.3m-13.3-15c.2 5 2.6 8 8.3 8.4m-15.7-11.1c-7.6 6.9-.2 15 8.8 8.1m-3.6 2.2c-2.5 7.9 7 12.7 12 4.6m-27.5-21.5c-2.8 7.8.7 13 7.1 12.5m-17-14c.3 4.7 4.3 6.3 8.9 5.3m-6-.4c-3.5 6.6 1.7 10 8.5 7.6m20.6 14.5c-1.1 4.2-.5 7.2 5.6 8.6m-5.2-2.7c-7.5 3.4-8 10.6-2.3 15.2m-3.7-23.1a7.4 7.4 0 0 0 1.1 12m-34-35c-4.3 4.3-.3 15.9 9.2 9.5m15.2 5.2c-5.8 4.8-3.1 13.5 6.4 11m-16-14.6c-3 8.5 0 11.5 6.7 11.7"/>
|
||||
<path d="M295.4 246.4a8 8 0 0 0-1.4 11.9c2.2 2.5 6.5 1.4 7.8-1.9M284.6 243c-5.7 7.4 0 16.2 8.2 13.6m22.7 8.4c-5.9 2-10.4 7.5-6.7 12.1 2 2.8 11.4 3.2 14-7.5m-18-11.5c-3.3 4.9-2.2 9.5 4 11.9m-4.3-2.8c-3.6 2-6 4.4-5.2 8.8m-3-16.4c-1.3 5.9.3 9.5 4 11.3m-4.1-4.3c-5.6-.4-8.5 2-6.6 7.5m.5-6.1c-5.6-2-6.4-6.8-4-11.8m-.8 7.4c-6 .2-8.7 3.2-8.7 7.4"/>
|
||||
<path d="M277.1 240.1c-4.4 1.9-5.8 7.8-4.1 11 1.6 3.3 6.8 3.6 9.9 1.4m-18-17c-4.1 4.5.5 13.3 7.7 11.1m-18-14.7c-3.8 5.3.3 14.1 10 11.6m.5 24.5c-1-6.3 5.5-10.4 13.5-2.3m-3.9-12.7a9.9 9.9 0 0 0-3.1 8.3M244.2 229c-4.1 7 .9 13.5 9.8 11m13.5 6.5c-6 5.9-4 11.8.5 15.2m-4.3-8.3c-9 .1-9.4 10.4-2.1 13.7m-4.7-24c-3.6 2.5-4.8 9.4 1.5 12.2m-1.7 3.2c-3.8-1.7-8.3.4-8 4.8m2.3-4.6c-3.4-8-13.3-6.7-12.4 1.6m15.2-11.6c-2.2.4-6.4 1.7-8 5m.6-14c-4 4.5-1 10 2.3 11M234.4 227c-.7 5.4 1.4 8 8.2 7.6m-5.8-.7c-2.6 6.6.9 9.4 7.7 9m-6.2-1c-4 4.8-1.2 10 2.7 12.1m-4.6-6c-7.1-.9-8.2 7.4-5.9 11.3"/>
|
||||
<path d="M230.7 226.3c-4.4 1.9-7 7.4-4.6 10.8 2.4 3.4 7.2 2.3 9.8.5m-8.3 1c-3.6 5.5-.3 9.7 3.6 11.3"/>
|
||||
<path d="M213.6 225.7c-3 3-1.1 9.1 5.9 9.3 5.6 0 8.5-5.3 6.8-9m-7.8 9c-2.3 5-.9 10.4 7.6 9.5m3.7 7.9c-5.3-2.4-12.3 0-9.3 6.3m-.8-15.2c-2.1 3-1.3 7.3 1 10m-1.3-2c-3.6.6-7 2.5-4.8 8m-.5-4.5c-4.5-1.3-10.3 2-6.8 6.6m-.8-4.4c-3.8-.6-8.5 3.5-4.7 7.6m-1.5-3.4c-3.5 1-7.7 5-4 8m21.7-27.7c-5 2.3-5.6 8-3.2 12m-2.1-22.4c-7.5 2.9-7.4 13 .9 16m-3.5-2.2c-4.6 2.7-5.4 7.7-2.4 11m-5.5-28.6c-3 1-2.8 10.3 5.2 10m-13.5-6.8c-6 4 1.2 14.2 11 6.9m-5.4 2.5c-.9 4.1.3 8.7 7 9.2m-6.6-3.7a6.5 6.5 0 0 0 3 12.3m-18.2-21.2c-6.1 5.7 5 10.6 9.2 2.4m-17.7 7c-3 3.7 7.5 13.2 12.1-2.7m1.2-.3c.2 3.8 2.5 6 7.1 6.3m0 3.6c-7.5 1.2-9.9 10.5-1.6 12.5m-12.2-13.7c-.2 3.5 3.4 6.4 7.6 5.8m3.7 7.6c-6.8 1.5-7.6 10.3-1.6 9.8m-3.1 8.2c-5.7-1.7-5.8-8.4-.8-11"/>
|
||||
<path d="M184.7 277.3c-4.8 2.8-2.9 9.8-.4 10.8s4.5-.3 4.8-2.4m-.4 9.6c.5 3.3-11.6 2-5.4-8.1m0 8.7c-4.1 6.4 2.5 11.6 6.7 6.2m-6.2 1.5c-1.6 5.2 4.6 8.9 8.6 4.9m-22.1-53c-2.3 4.6 9 6.3 9.8-3.2m-13 10c-2.2 9 14.8 7.2 10.4-4.5m.4 6a8 8 0 0 0 11.3-6.1m-5.1 6.4a9.8 9.8 0 0 0 4.6 6.1m-12.8-3.7c-.7 4.9 4.2 8.9 9.8 8.5m-9-3.8c-2.7 3.8-3.5 11 5.1 11.6m-18.2-10.3c-1.4 3.9 6.8 7.9 11.6 1.5m-14.1 8.4c-.7 3 6.7 7 10.8-5.6m-3.3 6.4c1.8 3.1 7.7 5.6 11.3-.5m-5.9 3.7c-1.5 4.4 2.7 8.6 7.7 7.3m-17-8.3c-1 6.3 6.2 10 10.7 6.7m-15.6-4c-2.1 8.1 8.2 11.1 12 5.1m-2.5 2.4c.3 4.5 7.4 8.4 12.9 4.6m-25.5-.8c-.5 2 8 4 9.2-3m-4.3 4.7c2 5.2 8.8 6.4 12.7.1m-2.3 2.5c.9 4.8 7 7.5 12.5 4.2m2.2 1.9c-1.4 6.4 5.3 11.5 9.4 8m-20-9.1c-2 7 6.7 11 11.6 7.1m-22.2-10.7c-.5 6.6 4.6 10.5 10.5 7.6m-21.7-7c-1.7 4.3 7.6 7.8 12 4.2m-17.8 7.5c2.4 2.8 10.7 0 11.5-6.1m-2.3 4.5c3 3.5 10.2 5.4 13-2.1m-2.4 3.9c-.2 5.4 9.5 9.3 12.6-.7m11.4 2c-.9 2.6 1.2 6.8 5.5 7.3m-13.5-9c-.6 3 3.8 7.3 8.4 5.6m1 1.2c-1.3 3.3-.3 8 4.1 8m-3.7-1.9c-3.3 2.8-2 7.7 2.8 7.9m-4.5-3.2c-4.7 3.1-3 10 3.1 9.6m-17.2-23c0 6.8 8.4 7.8 10 1.6m-3.2 4c-1.3 4 2 7.9 7.1 6.8m-6.1 41.7c1.1 1.6 5.8-1.2 4.5-4-1.2-2.7-6.2-1.2-5.6 1.7m4.5-2.8c.6-5.5-6-6.4-7.6-1.6m2.4-2.8c1.7-2.7-3.9-6.5-6.1-2.5m2-1.6c1.5-4-4.8-5.8-5.3-2.1m-1.4-5.3c.8-2 7.8-.8 4.8 3.4m5.4 5c2.8-2.5-1.9-7.7-4.8-5.8m23.4 13.5c-2.2.2-4.5 1.6-2.9 6.3 1.2 3.2 6 3.4 6.7 1.4"/>
|
||||
<path d="M199 372.9c-2-1.4-6.7 1-4.6 5.4 1.6 3.4 5.7 2 6.3.3m-13.6.7c1 2 6.4 1.1 7.3-1m-3.7-5.2c1.2-.7 3.2.2 3.7 1.2m-4-32.1c-3.7 2.4-1.4 9.6 4.2 7.8m-5.4-2c-2.9 2.3-.2 9.4 5.2 6.7m-4.3 0c-2 2 0 7.6 5.2 6.6m-6-3.8c-1-.5-4-.1-5.3 1.7m2-27.1c-2.7 2.6-1.4 8 3.8 8.4m-4.7-3c-4 2-4 9.9 4 10.2m-4.3-1.3c-2.2 1.8-1.2 8.6 4.5 7.7m-2.7-.2c-.8.8-1 2.8-.3 3.7m-2.2-6.3c-2 0-4.7 1.5-5.4 3.6m-3.6-7.3c.8-2 7-1.9 7.4 4m.6-7a4 4 0 0 0-3 2.7m.3-21.1c-2.7 2.4-4 10.1 4.2 11.6m-9.6 4.3c0-2 5.6-3.8 7.5-.7m-11.1-10.5c.8 1.5 4.7 3.7 7 2m-27.2-14.3a6.2 6.2 0 0 0 7 6.4c4.2-.5 5-4.2 3.8-6.6m-3.2 6.7c-2.7 3.4.7 8.2 3.8 6.8m-.6-9.2c1.6-.6 7-1.4 8.6 1.1m-26 0c-1.3 1.8 6.5 3.7 9 0m-2.5 2c-.3 2.4 1 6.7 7.4 5"/>
|
||||
<path d="M159.5 334.6c1-2-3.8-5.6-7.4-1.7-3.7 3.9.5 8.3 2.7 6.8m-12-13.5c-2 3.3 5.4 9.3 9.5 3.7"/>
|
||||
<path d="M138 331.9c-2.7 2.7.6 7.6 4.5 6.1 4-1.5 3.6-5.6 2.7-6.7"/>
|
||||
<path d="M132.8 336.9c-2 2 0 6.5 3 6.5s4.7-2.3 4.1-5.2m5-1.7c-.5 3 3.8 5 6.6 2.2m.1-5.2c.4-.7 0-1.7-.6-2.2m-22.7 9.5c-2.5 2 2.8 7.4 6.1 2.4m12.8-3.5c-1.6 1.5.9 5.5 3.4 4.3m-12-1.5c.3 2.7 5.6 4.7 9 .6m-6.2 2c-.8 1.8.9 4.5 2.9 4.1m47.1 11.5c-2 3.8 4.3 8.3 8.8 3.7m-4.3 2c-1 2 .2 5 2 6m-7.9-1.7c.5-1.8 3.2-3.6 5.6-2.7m-8.8-2.2c.3-1.7 2.6-3.4 4.3-3m143.5-75.4c-8.9.2-5.1 14.5 2.5 11.6m-5.4-1c-1.7 2.9 1.7 7.5 5.4 4.8m-1 .5c-2.6 4.4 6.8 11.1 10.6 4.2m-3 2.7c0 4.1 12.2 6.7 10.4-1.5m-1.1 4.5c2.8 4.9 13.6 5.4 12.5-2m-2.4 5.1c2.3 3.3 12.8 5.3 12.5-1.5M320.3 275c1.5 3.9 6.7 5.3 12.3 3m-15.6-.2c3.6 2.2-1.6 12.5-7 8.4m7-2c4 1.8 8.7.5 10-5m-2.3 4.2c.4 2.9 4.5 5.2 10 4m-19.7-1c5 4.3-2.2 13-5.5 9m7.4-5.7c2.4 1.7 8.6.7 9.2-4m-2.8 4c.5 3 3 4.1 6.3 4.3m-14-.2c2.5 3.5 8.7 4.6 11.5-.1m-2.8 2.6c-.2 3.4 3.5 6.2 7.4 5.4m-21 2.2c3.2 1.6 6.7-4.5 4-8.8m-.3 15.3c4 .3 4.4-5.7.8-9m8.1 14.4c3.3-.8 2.3-8-5.6-8.5m15.5 13.8c3.2-.9.7-8.8-8-8.3m20 11c2.1-3.2-5-8.8-10.7-5.9m16.6 10.5c3.9 1 6.5-9.2-5.8-7.6m13 7.6c3.3-1 5.7-7-4.2-5m11.7 5.5c3 1.5 4.4-7.3-4.8-5m-45.8-22.4c3.7 2.1 9.6-.4 9.1-5.2m-1.5 4.2c1.3 2.2.8 6.6-1.6 7.8m2-2.5c2.5 1 5.9 0 7.9-4m-3.5 4c.7 1.7 1 5.2-.6 7m1.2-4c2.8 1.5 6-.5 7.4-3.4m-1.7 2.5c2 1.2 3.7 7.1.4 9.5m1.8-2.7c2.4.1 6 .1 8.2-3m-1.6 1.7c2.1.6 4.6 4.2 3.7 7.3m.2-1.1c2.4-.3 6.5-2 7.6-4.8m-1.1 1.9a6.5 6.5 0 0 1 3.1 6.3m0-2c2.4-.2 4.5-1.4 5.2-4m-.7 1.7c1.8.6 4 2.6 4 5m-.2-1.5c1.8-.3 3-1.4 4.2-3.1m4.7-.3c2.3 2.3-.7 9.8-5.4 8.4m-42.8-160.6c-4.6 2.8-17.8 2-11.3-9m12.6 1.6c-9.2 3.7-20.5-3.4-8.7-11m-3.1-2.5c-7.7 0-12.8 12.3-2.5 16.5m-27.3-11.4c-2 4 5.2 8.2 10 4.3 3.9-3 3.6-11.2 1.3-14.3M281 160c-2.5 8.3 16 8.8 13-4.4m-14 16.7c.6 6.3 17.7 4.3 12.2-8.4m2-3.5c1.4 1.9 5.1 5.1 11.5 4.5m-8.5-13.4c.6 2.2 4.4 4 9.3 2.3M125.9 342.6c-4.4 3.1 2.3 8 4.7 2.6m-8.1-.2c-4.3 3 2.3 8 4.8 2.6m-8.4-.3c-4.3 3.1 2.3 8 4.8 2.6m-8.6-.4c-4.1 2.2.7 7.6 5 2.8m-9-.8c-4.2 2.2.7 7.6 4.9 2.9m16-9.3c0 3.2 6.1 4.5 8.3-.3M136 348c-1.9 2.4 1.6 5.4 3.5 4.3m-11.6-4.7c-.2 2.7 5.1 4.2 7.7 1.3m-4.8 1.5c-1.7 2.2 1.6 5.2 3.8 4.3m-10.2-4.7c.2 2.2 3.2 4.6 6.5 3.2m-4.6-.3c-1.2 1.1-.6 3.8 1.2 4.6m-7.7-4.8c-.5 2 2.8 5.4 6.2 3.2m-5.5-1c-2 1.7-1.8 4 .8 4.4m-5.6-4.6c-.3 1.3 1.4 3.5 3.6 3.2m-14.4-3.3c-2 1 3.2 6.5 6.4 1.5m-11.3.8c-2.5 1.2 3.7 7.2 6.5 1m9.8-1.3c-2 .5-3.2 3.3-1.6 4.4m-4.8-3.4c-.2 1.2 2.1 3 4 2.3m-5.6-1.8c-2 1.2-1 4.5 1.3 4m-8-1.8c-1.8 1.3-.6 4 1.8 3.3m1.4-3.5c0 .7 1.6 1.8 2.9 1.4M95.4 359c-2.2 1-2.1 6.5 5.3 3.5m-10.3-1.3c-3 1.5-2 5.7 4.7 1.7m.5.3c-.8.6-1.7 3.4 1.4 2.3m-7-1c-1.3 1.1-.5 3.5 2.3 2.6m-8.8-2.2c-2.3 1.3 2.7 3 6-.4m-4.5 2c-1 1-1 4 1.6 3m-8-1.8c-1.5 1.2 1 2.7 5.8.6m-4 1c-1.7 1.5-1.5 3.3 1 2.8m-6.1-2c-2 1.8.8 3 4.2 1.6m-4.2.4c-3.3 1.5-1.9 4.3.2 3.2m111 6.4c-.8 1.7 1.7 3 4.1 2.7 2.3-.4 4.5-2.3 2.8-5m0 3.3c2.3 1.8 6.4-.2 6.4-2.9"/>
|
||||
</g>
|
||||
<g fill="#fff" stroke-width=".4">
|
||||
<path d="M332 116.7c-10-5-30.9-14.4-36.8-6.8 5.4-2.3 21.2.1 34.3 12.2z"/>
|
||||
<path d="M338 116.1c-11.5-13.5-18.4-10.5-26.7-15.1-7.9-4.4-20.4-5.3-22.8 1.7 11.5-5.6 22 3 28.4 4 9 1.4 14 8.3 16.6 11.5l4.6-2zm43.8-1.7c-6-13.8-18.9-10.2-24.6-16-8.3-8.6-29.2-16.5-37.9-10.6 19-1 27.2 13.1 37.4 18 7.3 3.6 15 11.1 25.1 8.6z"/>
|
||||
<path d="M359.2 112.9c-10.3-12.8-26-24.1-33.4-19.8 9.6.5 12.6 7.1 19.4 11.4 6.8 4.3 3.7 10.4 14 8.4zm-49 22.6c-10.7-4-31.8-6-41.6 6.3 16.3 2.7 41 1.2 41.7-6.3z"/>
|
||||
<path d="M308.3 140.3c-10.8-5-19.3 2-29.4 1-19.4-1.9-33.2-.8-35 8.5 11.1-9.9 29.7-1.7 37.2-3.8 7.6-2 35.4-.2 44.2 3.6-4.5-5.6-11.5-7-17-9.3zm33.9-28.8c-2.6-8.3-2.4-17 10-16.4-3.1-4-14.7-6-16.6 8.6-13.7-10-28.6-11.8-31.4-3.1 7-6 18-1.6 31 13.2a23.2 23.2 0 0 1 7-2.3z"/>
|
||||
<path d="M323.3 123c-7.8-5-18.3-13.2.1-16.5-7.8-4.3-19.4-2.4-18.1 12.2-21.2-8.6-36.3-5.7-39.5 2.7-3.5 9.3 9.6 14.5 11.8 8.6-2.4 1-10.5-1.8-6.3-7 4.3-5.3 26.2-1.4 47 9.5 5.8 3 25.6 2.5 5-9.5z"/>
|
||||
<path d="M317.8 136.8c-6-12.3-25.5-1.2-29.4-13-5.4 17.4 27.7 7.7 29.4 13zm124 13.3c4 2 7.6-1.2 1.3-3.7 4 2 7.7-1 1.4-3.6 4.1 2 7.7-1 1.4-3.6-1.7 1.7-4 7.9-4.2 10.9zm2-23.6c9.1-9.6-.7-12.8 10.4-22.6 9-8 1.7-13.4 10.3-19.6 2.7-2 8.7-6 9.3-10 3.6 9-11.3 10.2-10.3 24.8.6 9.3-5.7 8.5-8 24-.6 3.4-2.8 10.7-11.6 3.4z"/>
|
||||
<path d="M447.9 130.7c5-10.8 10.8-10.6 13.5-14.8 5.3-8 16.5 1.4 26-5.8-1.7 10.2-14.4 6.6-20 13.1-5.4 6.5-10 9.5-19.5 7.5z"/>
|
||||
<path d="M449.1 134.3c8.8-7 15.3-2.4 21.4-6 15.3-9.4 21.5 1.8 35.1-2.6-3.6 8.8-23.8 1.3-32.6 7.8s-39.7 12.8-23.9.8zm-25.6 50a11 11 0 0 0-9.1-9.8c-5.3-.6-7.6-6.1-11.6-6.4-4-.2-6.7-8.2-12.2-8.1-5.5.1-7.8 7.3 5.2 13.8 13 6.5 27.2 14 27.7 10.5zm-16.3 3.4c-5.5.3-6.3 8.3-11.6 8.6 7.3 3.9 12.6-1.8 16.4-6.8z"/>
|
||||
<path d="M411.7 188.7c-4.7 4-6.1 12.5.8 14.9-4.2-5.7 7.3-8.3 3.7-13.6z"/>
|
||||
<path d="M416.5 189c-3.8 7.3 5.9 8.2 3.4 13.7 5.5-1.3 6.4-11.7 1.4-14.5z"/>
|
||||
<path d="M379.6 173.4c9-.5 17.3 4.4 22.8 12.3 3.5 5 15.3 7 19.4 3 4-4 1.7-12.5-8.3-9.8-2.5-4.2-9.8-2.7-13.3-6.2-3.5-3.6-17.1-13.6-20.6.7z"/>
|
||||
<path stroke-linecap="round" d="M413.5 179c-2.4.4-3.2 4.6-1.7 6.7m6.8-4.2c.8 1.2.3 3-.1 3.9m-24.6-11.6c4.6.2 5.5 3.6 10.5 4.9"/>
|
||||
<path d="M390.8 162.4c16 4 28.8 7.5 36.7 12a42.5 42.5 0 0 0 30.8 2.8c10.7-3 31.3-5.8 30.3 7.5 5.6-6.6-1.5-13.8-15.8-15 .3-6.6-6.7-12.5-11.7-8.6 4.6-.6 8.6 8-.5 11.6A8.2 8.2 0 0 0 449 163c4.3 1.3 8.7 8.5-1 11.3-6.1 1.8-15-.5-21.6-4.5-6.6-4-43.8-18.6-35.7-7.5z"/>
|
||||
<path d="M431.3 155.8c-5 2.3-1.8 7.6-9.5 10.6-7.8 3-13.2 10-11.5 15.8 5.3-11.5 14.6-11 17.9-15.6 3.2-4.5 8-11.1 3.1-10.8z"/>
|
||||
<path d="M432.7 156.6c-.3 9.2-7.5 5.8-4.7 18.7a26 26 0 0 1-.2 17c8-5.8 2.9-18.2 6.5-22.9a33 33 0 0 0 5-8.8c-2 5.3-1.8 15 3.3 17.6-4.1-9.8 11.2-17.8.6-29.1-1.5 2.7-6.2 7.6-10.5 7.5zm-25.6-9.2c1.2 2 2.5 6.7 1.4 9.3a22 22 0 0 0 7.2-8c5.2.7 7.2 7.1 2.3 10 3 0 8.2 0 11-3.5-3.5-3.9-14.4-9.9-22-7.8z"/>
|
||||
<path d="M329 129.4a9.6 9.6 0 0 0-4.7-2c-7.6-1.5-3.6-8.3 2.8-8.3 13.8-15 21.6-3.4 38.4-8.2 6-1.7 10-1.2 13.2.2 7.5-5 16.3-3.6 22.7 2.3.7-1.1 1.7-2 3-2.4 6-1.6 10.7 3.4 12.3 10 4.6-1 9.9 1.4 13.4 4.5 4.7-2.5 8-2.6 9.2 0 4.3-2 9.8-3.3 12.6 3.5 2.8 6.8-6.5 4.7-8 19-1 8.9-10.8 12.4-18.6 7-12.5-8.3-24.6-9.7-30.7 3.1-6 12.8-10.7 20.3-25.3 16-5.3-1.4-12 .6-16.3 6.4-4.3 5.7-10.8.3-18.6 1 9.8-1.5 6-4 14.5-4.6 7.8-.5 5.8-7.7 10.8-8.8-19.5 5-18.8-2.2-34.9 2.8 7-9 18.1-4 23.6-9.3-14.5-.2-21-9.7-27.6-5.8-10.3 6.3-5.8 24.2-32.6 22.6-13-.7-21.4 1-29.2 8.8 13.6-28 32-12.6 41-21.6a66 66 0 0 0 12-14.3 6 6 0 0 1 4-3.1c-22.4-7-8.9-18 13-18.8z"/>
|
||||
<path stroke-linecap="round" d="M439.3 125.5c.4.7.5 1.6.5 2.7 0 5.6-8.2 5.8-8.7 14-.3 4.2-.8 6.6-3.7 6.1-2.9-.5-5.4-5-2.6-10.3"/>
|
||||
<path d="M333.1 121.2a10.6 10.6 0 0 0-6-2m51.5-8.1c6.7 2.9 9.9 9.8 19.6 10 9.3.4 15 13.9 30.6 5.1l1.2-.6m-28.6-12.2a12.3 12.3 0 0 0-1.3 8m-29 20.4c-11.9 0-14.9 6-14.9 11.8 0 5.8 5.6 13.3 15.3 13.3 9.8 0 15.1-6 15.1-12.6s-6-12.5-15.6-12.5z"/>
|
||||
<path d="M373.2 166.6c-.3-3.2-6.2-2.7-6-5.2s3.3-3.6 3.3-7 5.3-3.8 7-1c1.8 2.7 7.1 8 8.2 5.3m-8.1-5.4a9.7 9.7 0 0 0-.4 12.8m4.1-8.5c-.8 1.9-1 4.8 0 6.5"/>
|
||||
<path fill="none" d="M428.2 148.4c9.3.7 10.8-9.4 4-10m-15.3-17.5c-3.2-4-10.6-5.4-10.7 3.2"/>
|
||||
<path d="M405.3 134c-3.1-7.8-11.2-9-15.4-5-3.6 3.2-3.7 11.6 4 13.4 2.6-3.1 7.8-7.3 11.4-8.4zm-3.4-4.9c-4.6-4-11.2 3.6-5.2 10.6M316 148c3-.7 7.4.8 14.2 4 4.3 2 17 6.3 25.1 2-8.3 3-14.5-9.6-20.8-8-6.3 1.5-17.8 3.8-22.6-.8 11.8.8 18.1-8.6 31.6-.5a23 23 0 0 0 12.8 3.5c-11-13.3-25.6-4.8-27.1-15.6 6.7 7.2 23-1.6 31.2 11.8m-28.8-9.8c-1.6-1.9-.9-3.8-2.5-5.3"/>
|
||||
</g>
|
||||
<path stroke="none" d="M416.9 121c-2.8-3-8.8-.7-7.1 5.3a9.4 9.4 0 0 1 7-5.4zm-17.1 16a20.6 20.6 0 0 1 5.5-3 12 12 0 0 0-3.7-5.1c-1.4-1-5.6 4.6-1.8 8.1"/>
|
||||
<path fill="none" stroke-linecap="round" stroke-width=".4" d="M392.4 126.8c-4.5-3-8.7-2.7-10-.2-3.3-.1-6 2.3-6.2 7m7 2c-5.4-3.7-12.8-2.3-12.3 6m-3.2 4.7c2.6-2.1 6.4-3.6 9.2.1m31-8.3c-1 1.4-1.7 3.6 0 6.8-2-2.6-7.1-2.6-12.5 4.4m24.5-11.5c-6.5.7-6.4 5-1.1 6.9m-45.4-22.9c-5.5-1.1-9.5 2.2-1.9 5M384 118c-7.8-2-11 0-7.4 1.8m-15.1 29.4c-.3 2.8 1.3 6.4 5.8 2.3m-4.3 6c0 .8-.1 1.6-.6 2.3m-17.5-39c-4.7-1.5-5.6-5.9-.1-5.5m-1.5 15.6c-5.3-1.8-5.3-7-.9-6.4m10.7 3.7c-6.2-1.5-6.4-5.7-1.8-5.1m2.5-8c-3.2-.2-8.3 3.5.2 5.6m9 1.8c-7.7-1.2-7.5 2-3 4m8.8-11.3c-6-1.1-8 2.4-4 3.9M350.3 137c-1.4-1.2-2.6-6.9 4.3-5.2m10 3.4c-4.6-1.2-9 3.3-4.8 6m11-11.4c-5-.8-9 .5-6.4 2.3"/>
|
||||
<path fill="#fff" stroke-width=".4" d="M416.6 121a9.3 9.3 0 0 0-6.8 5.3"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 24 KiB |
13
changedetectionio/static/flags/1x1/bv.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bv" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="bv-a">
|
||||
<path fill-opacity=".7" d="M0 0h512v512H0z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#bv-a)">
|
||||
<path fill="#fff" d="M-68 0h699.7v512H-68z"/>
|
||||
<path fill="#d72828" d="M-93-77.8h218.7v276.2H-93zM249.4-.6h381v199h-381zM-67.6 320h190.4v190.3H-67.5zm319.6 2.1h378.3v188.2H252z"/>
|
||||
<path fill="#003897" d="M156.7-25.4H221v535.7h-64.5z"/>
|
||||
<path fill="#003897" d="M-67.5 224.8h697.8v63.5H-67.5z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 585 B |
7
changedetectionio/static/flags/1x1/bw.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-bw" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd">
|
||||
<path fill="#00cbff" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fff" d="M0 192h512v128H0z"/>
|
||||
<path fill="#000001" d="M0 212.7h512V299H0z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 266 B |
18
changedetectionio/static/flags/1x1/by.svg
Normal file
@@ -0,0 +1,18 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" id="flag-icons-by" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="by-a">
|
||||
<path d="M0 0h200v608h8v284l-8 8H0Z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<path fill="#ce1720" stroke-width="1.91554" d="M0 0h512v512H0Z"/>
|
||||
<g fill="#fff" clip-path="url(#by-a)" transform="matrix(.5625 0 0 .56889 5 0)">
|
||||
<g id="by-c">
|
||||
<path id="by-b" d="M36 0v14h-9v14H16v16H8v13H-8V24H8V6H-8V0Zm26 77v15h-8v12h-8V92h-8V77h-8V57h8V42h8V30h8v12h8v15h8v20Zm-17-1h10V58H45ZM19 183h8v-18h-8zm54 0h8v-18h-8ZM-8 305H6v13h6v16h9v15h12v-15h9v-16h8v-13H38v-15h21v10h13v17h11v19h-8v14h-7v13h-6v14h-9v12h-7v11h-9v14H24v-15h-9v-14H8v-9H-8v-23H8v-20H-8Z"/>
|
||||
<use xlink:href="#by-b" transform="matrix(-1 0 0 1 200 0)"/>
|
||||
<path d="M96 0v32h8V0h32v14h-8v14h-12v16h-8v13H92V44h-8V28H72V14h-8V0Zm-2 274v-11h-6v-13h-7v-14h-8v-14h-8v-10h-9v-14H44v14h-9v10h-7v14h-8v14h-6v13H8v17H-8v-44H8v-20H-8v-33H8v14h10v14h10v-14h10v-14h8v-18h-8v-14H28v-14H18v14H8v14H-8v-41H8v-19H-8V77H8v13h8v16h11v13h9v15h7v12h14v-12h7v-15h9v-13h11V90h8V77h16v13h8v16h11v13h9v15h7v12h14v-12h7v-15h9v-13h11V90h8V77h16v28h-16v19h16v41h-16v-14h-10v-14h-10v14h-10v14h-8v18h8v14h10v14h10v-14h10v-14h16v33h-16v20h16v44h-16v-17h-6v-13h-6v-14h-8v-14h-7v-10h-9v-14h-12v14h-9v10h-8v14h-8v14h-7v13h-6v11zm2-167v27h8v-27zm-4 58v-14H82v-14H72v14H62v14h-8v18h8v14h10v14h10v-14h10v-14h16v14h10v14h10v-14h10v-14h8v-18h-8v-14h-10v-14h-10v14h-10v14zm4 46v27h8v-27z"/>
|
||||
</g>
|
||||
<use xlink:href="#by-c" transform="matrix(1 0 0 -1 0 900)"/>
|
||||
<path d="M-8 408H8v14h7v8h8v14h7v12h-7v14h-8v8H8v14H-8Zm216 0v84h-16v-14h-7v-8h-8v-14h-7v-12h7v-14h8v-8h7v-14ZM62 459h8v-18h-8zm76 0v-18h-8v18zm-42-59h8v-18h-8zm0 100v18h8v-18Zm-50-75h14v-11h10v-10h5v-10h6v-14h8v-14h4v-13h14v13h4v14h8v14h6v10h5v10h10v11h14v50h-14v11h-10v10h-5v10h-6v14h-8v14h-4v13H93v-13h-4v-14h-8v-14h-6v-10h-5v-10H60v-11H46Zm50 9v-15h-8v-10h-8v25h8v9h5v14h-5v9h-8v25h8v-10h8v-15h8v15h8v10h8v-25h-8v-9h-5v-14h5v-9h8v-25h-8v10h-8v15z"/>
|
||||
</g>
|
||||
<path fill="#007c30" stroke-width="1.7899" d="M117.3 341.3h395V512h-395z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
145
changedetectionio/static/flags/1x1/bz.svg
Normal file
|
After Width: | Height: | Size: 46 KiB |
4
changedetectionio/static/flags/1x1/ca.svg
Normal file
@@ -0,0 +1,4 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ca" viewBox="0 0 512 512">
|
||||
<path fill="#fff" d="M81.1 0h362.3v512H81.1z"/>
|
||||
<path fill="#d52b1e" d="M-100 0H81.1v512H-100zm543.4 0h181.1v512H443.4zM135.3 247.4l-14 4.8 65.4 57.5c5 14.8-1.7 19.1-6 26.9l71-9-1.8 71.5 14.8-.5-3.3-70.9 71.2 8.4c-4.4-9.3-8.3-14.2-4.3-29l65.4-54.5-11.4-4.1c-9.4-7.3 4-34.8 6-52.2 0 0-38.1 13.1-40.6 6.2l-9.9-18.5-34.6 38c-3.8 1-5.4-.6-6.3-3.8l16-79.7-25.4 14.3c-2.1.9-4.2 0-5.6-2.4l-24.5-49-25.2 50.9c-1.9 1.8-3.8 2-5.4.8l-24.2-13.6 14.5 79.2c-1.1 3-3.9 4-7.1 2.3l-33.3-37.8c-4.3 7-7.3 18.4-13 21-5.7 2.3-25-4.9-37.9-7.7 4.4 15.9 18.2 42.3 9.5 51z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 644 B |
19
changedetectionio/static/flags/1x1/cc.svg
Normal file
@@ -0,0 +1,19 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cc" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<path id="cc-a" d="m0-360 69.4 215.8 212-80.3L156-35.6 351 80.1 125 99.8l31.1 224.6L0 160l-156.2 164.3 31.1-224.5L-351 80l195-115.7-125.5-188.9 212 80.3z"/>
|
||||
<path id="cc-b" d="M0-210 54.9-75.5l144.8 10.6-111 93.8 34.7 141L0 93.3-123.4 170l34.6-141-111-93.8 145-10.6z"/>
|
||||
</defs>
|
||||
<path fill="green" d="M0 0h512v512H0z"/>
|
||||
<circle cx="268.2" cy="250.4" r="61.2" fill="#ffe000"/>
|
||||
<circle cx="287.3" cy="250.4" r="50.4" fill="green"/>
|
||||
<circle cx="75.2" cy="189.2" r="64.2" fill="#ffe000"/>
|
||||
<path fill="#802000" stroke="#7b3100" stroke-width="1.4" d="M70.7 237.6h16s.8-1.5-.1-2.2c-.9-.8-4.3-1-3.4-3.5 2-5.4 2.2-3.7 3.4-16.4 1.2-12.7 1.7-32.6 1.7-32.6H86s.5 6.2-.9 14.3c-1.3 8-1.7 8.7-3.2 15-1.4 6.1-1.7 6.6-3 10.3-1.3 3.6-1.5 3.7-3.5 7l-2.5 4.2c-.6 1-1.3.7-1.7 1.4-.4.8-.5 2.5-.5 2.5z"/>
|
||||
<path fill="green" d="M83 142.5c0 2.5-.2 5.7-1.2 8.4-1 3-2.2 6-2.1 9-1.7.7-3.4-3.5-5-1 1.2 3.3 4 6 5.9 9 .3 1 3 3.5 1.5 4-4-1.3-5-6.4-7.5-9.5a17.5 17.5 0 0 0-14.2-9c-2.3 0-9.6-.6-7.7 3.2 2.8 2 6.3 3.2 9 5.3 2.1.2 5.8 3.6 5.6 5-3.6-1.5-5.3-3.3-9.2-4.8-5.3-2-12.6-.9-15.5 4.4-.6 1.4-1.4 5.3.3 5.7 2-3.1 5-6.6 9.2-5.7 3.3.3-3.8 6.3-1 5 .8-.3 2.8-1.6 4.1-1.7 1.4-.2 2.2.8 3.2 1 2.1.3 2.7 1.1 2.5 1.6-.2.6-1 .1-3 .8-1 .3-1.6 1.3-2.9 1.7-1.2.4-3.8.4-4.7 0-3.4-1.4-8.9-1.1-10 3 0 2-1.6-.1-2.3.7-.6 2-.8 4-3.8 3.9-1.8 1.9-3.6 3.9-6 5.2 1.4 3.1 6.8-3.1 6.5-.5-2.3 3.2 1.2 3.9 2.8 1.4 2.6-2.8 5.9-6.1 9.8-3.3 1.9 1.7 3-1 4.3-.8.9 2.2 2 0 3-.5 1.5-.2 1 2 3 .6 3.7-2.5 8.3-.4 12-2.8 3.8-1.8.5 1.4-.6 2.7-1.7 3.3-.2 7.7-4 9.7-1.4 4 1.8 9.2-1.5 12.1-.5 1.9 4.3 1.7 5.6 2.4 2.4.1 0-5.3 2.2-6 3.1 1.9 3-3.5 2.4-5.2.3-3.7.5-7.8 2.3-11.3 2-4.1 3.9 1.7 1.6 3.4-1.2 3.8-3 8.7-.2 12.2.9.2 1.5 2.2 2.6 2.8 1 .7 2.5-.1 2.8-2 1.4-5.4.7-11.4 2.7-16.7 1.3-1.7 3.3-.3 4.1 1.2 2.8 3.2 4.7 7.2 8 9.9a14 14 0 0 1 7.2 6.7c0 2.4 6.8 2.7 4.8 0-2-2.5-.7-5.2 1.3-6.9 1 .3.7-1.6 0-.9-1.4-.3-1.5-2.8.3-1.6 3.2 1-.2-2.3-1.3-2.4-2.7-1.6-5.7-3.5-7-6.4 3.4 0 7 2 10.5.8 2.9-1.5 5.7.1 6.7 2.6 2.2-.4 1.3-2.5 0-3.3 1.6-.6 2.7-2 .8-3.2-1-1.4 1.4-3.6-1.6-3.5.1-2.3-.8-4.3-3.2-5.1-2.5-2.1-9.7 3-9.5-1.7-.7-2.5 3-.3 4-1.6 1-2.7-5-2.4-3-4.5 1.2-.8 7.4-2 2.6-3a7.6 7.6 0 0 1-6.4-1c-1.7 3-6.7-1.6-5.8 3.6-.7 2-5 7-6.3 3.1 1-3 6.3-4 4.6-8-.2-2.6-2.3.4-3.3.2-.5-1.6 1.5-3.5 3-3.9 2.7 2.2 2.8-2.7 5.5-2.3 2-.4-.7-1.2-1.2-1.6.5-1.4 3.5-2.2.6-3.4-2.6-2-4.5 2-6.6 2.1-2-2.3 1.8-3.4 2.9-4.6 0-1-2.3-.3-1.6-1 .6-1.2 4.8-1.3 2.8-2.9-2.9-1-6.6-.7-9.4.5-1.8.6-2.3 4.6-3.8 4.4-.8-1.7.2-5.2-2.2-5.8zm13.7 38.9c2.3-.4 0 3.3-1 3.3.1-1.3-3.2-1.2-1.1-2.4a6.7 6.7 0 0 1 2.1-1z"/>
|
||||
<g fill="#ffe000" transform="translate(-25.8 103.5)scale(.05833)">
|
||||
<use xlink:href="#cc-a" width="100%" height="100%" x="7560" y="4200"/>
|
||||
<use xlink:href="#cc-a" width="100%" height="100%" x="6300" y="2205"/>
|
||||
<use xlink:href="#cc-a" width="100%" height="100%" x="7560" y="840"/>
|
||||
<use xlink:href="#cc-a" width="100%" height="100%" x="8680" y="1869"/>
|
||||
<use xlink:href="#cc-b" width="100%" height="100%" x="8064" y="2730"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
12
changedetectionio/static/flags/1x1/cd.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cd" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="cd-a">
|
||||
<path fill="#fff" d="M0-88h600v600H0z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g clip-path="url(#cd-a)" transform="translate(0 75.1)scale(.853)">
|
||||
<path fill="#007fff" d="M0-88h800v600H0z"/>
|
||||
<path fill="#f7d618" d="M36 32h84l26-84 26 84h84l-68 52 26 84-68-52-68 52 26-84zM750-88 0 362v150h50L800 62V-88z"/>
|
||||
<path fill="#ce1021" d="M800-88 0 392v120L800 32z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 498 B |
13
changedetectionio/static/flags/1x1/cefta.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cefta" viewBox="0 0 512 512">
|
||||
<path fill="#039" d="M0 0h512v512H0z"/>
|
||||
<circle cx="256" cy="266.5" r="32.5" fill="none" stroke="#fc0" stroke-width="29.3"/>
|
||||
<circle cx="256" cy="266.5" r="94.2" fill="none" stroke="#fc0" stroke-width="29.3"/>
|
||||
<path fill="#039" d="m346.3 176.1 90.3 90.3-90.3 90.3-90.3-90.3z"/>
|
||||
<path fill="#fc0" d="M102.1 251.8h63.2v29.3h-63.2zm276.4 0h94.2v29.3h-94.2zm-76.6-51.9 41.3-41.3 20.7 20.7-41.3 41.3zM241.3 51.8h29.3V166h-29.3z"/>
|
||||
<circle cx="154.8" cy="170.3" r="14.7" fill="#fc0"/>
|
||||
<circle cx="68.6" cy="266.5" r="14.7" fill="#fc0"/>
|
||||
<circle cx="256" cy="406.8" r="14.7" fill="#fc0"/>
|
||||
<circle cx="256" cy="453.9" r="14.7" fill="#fc0"/>
|
||||
<circle cx="350.2" cy="266.5" r="14.7" fill="#fc0"/>
|
||||
<path fill="#fc0" d="m136.9 364.3 20.7-20.7 20.7 20.7-20.7 20.7zm218.5 22.3L376 366l20.7 20.7-20.7 20.8z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 908 B |
15
changedetectionio/static/flags/1x1/cf.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cf" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="cf-a">
|
||||
<path fill-opacity=".7" d="M0 0h512v512H0z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" clip-path="url(#cf-a)">
|
||||
<path fill="#00f" d="M-52-.5h768v127H-52z"/>
|
||||
<path fill="#ff0" d="M-52 383.5h768V512H-52z"/>
|
||||
<path fill="#009a00" d="M-52 255h768v128.5H-52z"/>
|
||||
<path fill="#fff" d="M-52 126.5h768V255H-52z"/>
|
||||
<path fill="red" d="M268 0h128v512H268z"/>
|
||||
<path fill="#ff0" d="M109.5 112.3 75.9 89.1l-33.4 23.4 11.6-39.2-32.5-24.6 40.7-1L75.7 8.8l13.5 38.6 40.8.8L97.6 73"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 635 B |
12
changedetectionio/static/flags/1x1/cg.svg
Normal file
@@ -0,0 +1,12 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cg" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="cg-a">
|
||||
<path fill-opacity=".7" d="M115.7 0h496.1v496h-496z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" stroke-width="1pt" clip-path="url(#cg-a)" transform="translate(-119.5)scale(1.032)">
|
||||
<path fill="#ff0" d="M0 0h744v496H0z"/>
|
||||
<path fill="#00ca00" d="M0 0v496L496 0z"/>
|
||||
<path fill="red" d="M248 496h496V0z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 461 B |
9
changedetectionio/static/flags/1x1/ch.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ch" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd" stroke-width="1pt">
|
||||
<path fill="red" d="M0 0h512v512H0z"/>
|
||||
<g fill="#fff">
|
||||
<path d="M96 208h320v96H96z"/>
|
||||
<path d="M208 96h96v320h-96z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 288 B |
7
changedetectionio/static/flags/1x1/ci.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ci" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd">
|
||||
<path fill="#00cd00" d="M341.5 0H512v512H341.5z"/>
|
||||
<path fill="#ff9a00" d="M0 0h170.3v512H0z"/>
|
||||
<path fill="#fff" d="M170.3 0h171.2v512H170.3z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 280 B |
9
changedetectionio/static/flags/1x1/ck.svg
Normal file
@@ -0,0 +1,9 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-ck" viewBox="0 0 512 512">
|
||||
<path fill="#006" d="M0 0h512v512H0z"/>
|
||||
<path fill="#fff" fill-rule="evenodd" d="m344.8 250.1 5.7-18.3-15.4-11.7 19.4-.2 6.5-18.1 6.3 18.1 19.4.6-15.6 11.4 5.6 18.4-15.9-11m29.7 14.4 11.4-15.3-10.6-16.3 18.4 6.4 12-14.8V233l18 7.1-18.4 5.5-.9 19.2-11.3-15.8m-108 16.5-.8-19.2-18.4-5.7 18.2-7v-19.1l12 14.9 18.4-6.2-10.8 16.1 11.4 15.4-18.6-5m-43.6 45-8-17.4-19.2 2 14-13.5-7.2-17.7 16.7 9 14.6-13-3.7 19.1 16.3 9.7-19 2.8m-19.2 61-14.6-12.1-16.5 10 7-18.3-14-12.8 18.9.9 7.7-18 4.7 18.8 18.9 1.7-16 10.8m3.5 66.3-18.2-5.3-11 16-.8-19.7-18-6 17.7-6.9v-19.7l11.7 15.5 18-6.1-10.5 16.3m32.4 55.9-18.7 2.6-3.8 19.1L244 428l-18.8 1.8 13.5-13.5-7.9-18 16.9 9.3 14-13-3 19.3m49.4 41.7-16.7 9 3 19.3-14.1-13.6-17 8.3 8-17.4-13.5-14.1 19 2.8 8.7-17 3.7 19m59.1 10-9 16.8 12.8 14.5-19.1-3.6-9.8 16.4-2.7-19-18.9-4.4 17.4-8.2-1.9-19 13.5 13.9m63-14.4-.7 19.2 18 7-18.6 5.6-1.3 19.1-11-15.7-18.8 4.9 11.9-15.4-10.3-16.1 18.3 6.2m59.8-223.2 13.1 13.9 17.5-8.1-9 17.4L475 284l-18.7-3-9.8 17-2.5-19.3-18.6-4 17.2-8.7m37.6 23.1 6 18.3 19.1.3-15.5 11.7L495 338l-15.6-11-16 11.1 6-18.5-15.2-11.6 19.3-.5m21.4 36.5-2.2 19 17.3 8.6-19 4-3 19-9.5-16.7-19.1 3.2 13-14.3-8.8-17 17.7 7.9m3.2 43.7-8.5 17.1 13.3 14-19.1-2.8-9.3 16.7-3.3-18.9-19-3.7 17-8.8-2.5-19 14 13.5m-10.9 43-16.1 10 4.1 19-14.8-12.6-16.5 9.4 7-18-14.4-13.2 19.1 1.6 7.7-17.6 4.9 19"/>
|
||||
<path fill="#006" d="M0-.5h256v256H0z"/>
|
||||
<path fill="#fff" d="M256-.5v32l-95 96 95 93.5v34.5h-33.5l-95.5-94-93 94H0v-34L93 128 0 36.5v-37h31l96 94 93-94z"/>
|
||||
<path fill="#c8102e" d="m92 161.5 5.5 17-76.5 77H0V254zm62-6 27 4 75 73.5v22.5zM256-.5l-96 98-2-22 75-76zM0 0l96.5 94.5-29.5-4L0 24z"/>
|
||||
<path fill="#fff" d="M88-.5v256h80V-.5zm-88 88v80h256v-80z"/>
|
||||
<path fill="#c8102e" d="M0 103.5v48h256v-48zM104-.5v256h48V-.5z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.8 KiB |
13
changedetectionio/static/flags/1x1/cl.svg
Normal file
@@ -0,0 +1,13 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-cl" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<clipPath id="cl-a">
|
||||
<path fill-opacity=".7" d="M0 0h708.7v708.7H0z"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g fill-rule="evenodd" clip-path="url(#cl-a)" transform="scale(.722)">
|
||||
<path fill="#fff" d="M354.3 0H1063v354.3H354.3z"/>
|
||||
<path fill="#0039a6" d="M0 0h354.3v354.3H0z"/>
|
||||
<path fill="#fff" d="m232.3 265.3-55-41.1-54.5 41.5 20.3-67.5-54.5-41.7 67.4-.6 21-67.3 21.3 67.2h67.5L211.4 198z"/>
|
||||
<path fill="#d52b1e" d="M0 354.3h1063v354.4H0z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 566 B |
15
changedetectionio/static/flags/1x1/cm.svg
Normal file
@@ -0,0 +1,15 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cm" viewBox="0 0 512 512">
|
||||
<path fill="#007a5e" d="M0 0h170.7v512H0z"/>
|
||||
<path fill="#ce1126" d="M170.7 0h170.6v512H170.7z"/>
|
||||
<path fill="#fcd116" d="M341.3 0H512v512H341.3z"/>
|
||||
<g fill="#fcd116" transform="translate(256 256)scale(5.6889)">
|
||||
<g id="cm-b">
|
||||
<path id="cm-a" d="M0-8-2.5-.4 1.3.9z"/>
|
||||
<use xlink:href="#cm-a" width="100%" height="100%" transform="scale(-1 1)"/>
|
||||
</g>
|
||||
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(72)"/>
|
||||
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(144)"/>
|
||||
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(-144)"/>
|
||||
<use xlink:href="#cm-b" width="100%" height="100%" transform="rotate(-72)"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 840 B |
11
changedetectionio/static/flags/1x1/cn.svg
Normal file
@@ -0,0 +1,11 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="flag-icons-cn" viewBox="0 0 512 512">
|
||||
<defs>
|
||||
<path id="cn-a" fill="#ff0" d="M1-.3-.7.8 0-1 .6.8-1-.3z"/>
|
||||
</defs>
|
||||
<path fill="#ee1c25" d="M0 0h512v512H0z"/>
|
||||
<use xlink:href="#cn-a" width="30" height="20" transform="translate(128 128)scale(76.8)"/>
|
||||
<use xlink:href="#cn-a" width="30" height="20" transform="rotate(-121 142.6 -47)scale(25.5827)"/>
|
||||
<use xlink:href="#cn-a" width="30" height="20" transform="rotate(-98.1 198 -82)scale(25.6)"/>
|
||||
<use xlink:href="#cn-a" width="30" height="20" transform="rotate(-74 272.4 -114)scale(25.6137)"/>
|
||||
<use xlink:href="#cn-a" width="30" height="20" transform="matrix(16 -19.968 19.968 16 256 230.4)"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 751 B |
7
changedetectionio/static/flags/1x1/co.svg
Normal file
@@ -0,0 +1,7 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" id="flag-icons-co" viewBox="0 0 512 512">
|
||||
<g fill-rule="evenodd" stroke-width="1pt">
|
||||
<path fill="#ffe800" d="M0 0h512v512H0z"/>
|
||||
<path fill="#00148e" d="M0 256h512v256H0z"/>
|
||||
<path fill="#da0010" d="M0 384h512v128H0z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 286 B |