From d0dd4e7925a2610565fbb64057f22c2e7e418b88 Mon Sep 17 00:00:00 2001 From: relikd Date: Thu, 25 Jul 2024 00:09:23 +0200 Subject: [PATCH] Initial --- .gitignore | 10 + Makefile | 37 + README.md | 20 + backend/Dockerfile | 22 + backend/app/__init__.py | 0 backend/app/admin.py | 41 ++ backend/app/apps.py | 6 + backend/app/fields.py | 29 + backend/app/fixtures/__init__.py | 0 backend/app/fixtures/initial_cities.json | 10 + backend/app/migrations/0001_initial.py | 54 ++ backend/app/migrations/__init__.py | 0 backend/app/models/__init__.py | 2 + backend/app/models/city.py | 85 +++ backend/app/models/place.py | 86 +++ backend/app/static/favicon.ico | Bin 0 -> 1456 bytes backend/common/__init__.py | 0 backend/common/form/img_with_preview.py | 55 ++ .../templates/forms/img-with-preview.html | 14 + backend/config/__init__.py | 0 backend/config/asgi.py | 16 + backend/config/settings.py | 148 ++++ backend/config/urls.py | 25 + backend/config/wsgi.py | 16 + backend/docker-compose.yml | 31 + backend/manage.py | 22 + backend/requirements.txt | 3 + backend/scripts/run.sh | 6 + frontend/3p/leaflet/images/layers-2x.png | Bin 0 -> 1259 bytes frontend/3p/leaflet/images/layers.png | Bin 0 -> 696 bytes frontend/3p/leaflet/images/marker-icon-2x.png | Bin 0 -> 2464 bytes frontend/3p/leaflet/images/marker-icon.png | Bin 0 -> 1466 bytes frontend/3p/leaflet/images/marker-shadow.png | Bin 0 -> 618 bytes frontend/3p/leaflet/leaflet.css | 661 ++++++++++++++++++ frontend/3p/leaflet/leaflet.js | 6 + frontend/3p/leaflet/leaflet.js.map | 1 + .../3p/leaflet/locate/L.Control.Locate.css | 63 ++ .../3p/leaflet/locate/L.Control.Locate.min.js | 4 + .../locate/L.Control.Locate.min.js.map | 1 + frontend/data | 1 + frontend/favicon.ico | Bin 0 -> 1456 bytes frontend/ico/150.png | Bin 0 -> 891 bytes frontend/ico/16.png | Bin 0 -> 274 bytes frontend/ico/192.png | Bin 0 -> 1158 bytes frontend/ico/310.png | Bin 0 -> 1721 bytes frontend/ico/32.png | Bin 0 -> 518 bytes frontend/ico/48.png | Bin 0 -> 610 bytes frontend/ico/512.png | Bin 0 -> 2458 bytes frontend/ico/70.png | Bin 0 -> 796 bytes frontend/ico/apple-touch-icon.png | Bin 0 -> 1151 bytes frontend/ico/browserconfig.xml | 12 + frontend/ico/favicon.svg | 14 + frontend/ico/manifest.json | 18 + frontend/icons.svg | 11 + frontend/index.html | 44 ++ frontend/script.js | 225 ++++++ frontend/style.css | 121 ++++ screenshot.jpg | Bin 0 -> 158977 bytes 58 files changed, 1920 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 README.md create mode 100755 backend/Dockerfile create mode 100644 backend/app/__init__.py create mode 100644 backend/app/admin.py create mode 100644 backend/app/apps.py create mode 100644 backend/app/fields.py create mode 100755 backend/app/fixtures/__init__.py create mode 100644 backend/app/fixtures/initial_cities.json create mode 100644 backend/app/migrations/0001_initial.py create mode 100644 backend/app/migrations/__init__.py create mode 100644 backend/app/models/__init__.py create mode 100644 backend/app/models/city.py create mode 100644 backend/app/models/place.py create mode 100644 backend/app/static/favicon.ico create mode 100644 backend/common/__init__.py create mode 100644 backend/common/form/img_with_preview.py create mode 100644 backend/common/templates/forms/img-with-preview.html create mode 100644 backend/config/__init__.py create mode 100644 backend/config/asgi.py create mode 100644 backend/config/settings.py create mode 100644 backend/config/urls.py create mode 100644 backend/config/wsgi.py create mode 100755 backend/docker-compose.yml create mode 100755 backend/manage.py create mode 100644 backend/requirements.txt create mode 100755 backend/scripts/run.sh create mode 100644 frontend/3p/leaflet/images/layers-2x.png create mode 100644 frontend/3p/leaflet/images/layers.png create mode 100644 frontend/3p/leaflet/images/marker-icon-2x.png create mode 100644 frontend/3p/leaflet/images/marker-icon.png create mode 100644 frontend/3p/leaflet/images/marker-shadow.png create mode 100644 frontend/3p/leaflet/leaflet.css create mode 100644 frontend/3p/leaflet/leaflet.js create mode 100644 frontend/3p/leaflet/leaflet.js.map create mode 100755 frontend/3p/leaflet/locate/L.Control.Locate.css create mode 100755 frontend/3p/leaflet/locate/L.Control.Locate.min.js create mode 100755 frontend/3p/leaflet/locate/L.Control.Locate.min.js.map create mode 120000 frontend/data create mode 100644 frontend/favicon.ico create mode 100644 frontend/ico/150.png create mode 100644 frontend/ico/16.png create mode 100644 frontend/ico/192.png create mode 100644 frontend/ico/310.png create mode 100644 frontend/ico/32.png create mode 100644 frontend/ico/48.png create mode 100644 frontend/ico/512.png create mode 100644 frontend/ico/70.png create mode 100644 frontend/ico/apple-touch-icon.png create mode 100644 frontend/ico/browserconfig.xml create mode 100644 frontend/ico/favicon.svg create mode 100644 frontend/ico/manifest.json create mode 100644 frontend/icons.svg create mode 100644 frontend/index.html create mode 100644 frontend/script.js create mode 100644 frontend/style.css create mode 100644 screenshot.jpg diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d9a7baa --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +.DS_Store +__pycache__/ +*.egg-info/ + +backend/.env +backend/data/ +backend/db/ +backend/static/ + +frontend/imprint.html diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a83b12e --- /dev/null +++ b/Makefile @@ -0,0 +1,37 @@ + +.PHONY: help +help: + @echo "available commands:" + @echo " - start-frontend : start frontend server" + @echo " - start-backend : start backend server" + @echo " - push-frontend : push changes to server" + @echo " - push-backend : push changes to server" + +.PHONY: start-backend +start-backend: + @echo Starting server ... http://127.0.0.1:8000/admin/ + @./backend/manage.py runserver + +.PHONY: start-frontend +start-frontend: + @echo Server started on: http://127.0.0.1/ + @python -m http.server -b 0.0.0.0 80 -d ./frontend + +.PHONY: push-backend +push-backend: + rsync -av --delete backend/ piko:~/leerstand/ \ + --exclude=/data \ + --exclude=/static \ + --exclude=/db \ + --exclude=__pycache__ \ + --exclude=.DS_Store + +.PHONY: push-frontend +push-frontend: + rsync -av --delete frontend/ piko:/srv/http/leerstand/ \ + --exclude=/data \ + --exclude=/static \ + --exclude=.DS_Store + +.PHONY: push +push: push-frontend push-backend diff --git a/README.md b/README.md new file mode 100644 index 0000000..2a7eb74 --- /dev/null +++ b/README.md @@ -0,0 +1,20 @@ +# Leerstand + +Django app for managing places with json export and a fully-static frontend map. + +![Screenshot map overview](screenshot.jpg) + + +## Deploy + +Start container with `docker-compose up -d` and create admin user (first-run): + +```sh +docker-compose exec app python manage.py createsuperuser --email '' +``` + +Optionally, create an initial set of cities: + +```sh +docker-compose exec app python manage.py loaddata initial_cities.json +``` diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100755 index 0000000..1e0df89 --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,22 @@ +FROM python:3.11-alpine + +EXPOSE 8000 + +# install base system +RUN apk add --no-cache gcc libc-dev linux-headers +RUN pip install --upgrade pip +RUN pip install uvicorn gunicorn + +# install requirements +WORKDIR /django_project +COPY ./requirements.txt . +RUN pip install -r requirements.txt + +# then scripts (likely wont change often) +ENV PATH="/scripts:/py/bin:$PATH" +COPY --chmod=700 ./scripts /scripts + +# finally copy app (likely will invalidate cache) +COPY . . + +CMD ["run.sh"] diff --git a/backend/app/__init__.py b/backend/app/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/admin.py b/backend/app/admin.py new file mode 100644 index 0000000..6a0daa7 --- /dev/null +++ b/backend/app/admin.py @@ -0,0 +1,41 @@ +from django.contrib import admin +from django.contrib.auth.models import Group # , User + +from app.models import City, Place + +# admin.site.register(Place, ) + +############################# +# Django defaults +############################# + +admin.site.site_header = 'Leerstand-Verwaltung' # top-most title +admin.site.index_title = 'Leerstand' # title at root +admin.site.site_title = 'Leerstand-Verwaltung' # suffix to + +admin.site.unregister(Group) +# admin.site.unregister(User) + + +############################# +# App adjustments +############################# + +@admin.register(City) +class CityAdmin(admin.ModelAdmin): + list_display = ['name', 'place_count', 'center', 'zoom'] + + def get_readonly_fields(self, request, obj=None): + return ['name'] if obj else [] + + @admin.display(description='Orte') + def place_count(self, instance: 'City'): + return instance.places.count() + + +@admin.register(Place) +class PlaceAdmin(admin.ModelAdmin): + list_display = ['address', 'city', 'since', 'until', 'created', 'updated'] + list_filter = ['city'] + search_fields = ['address', 'description'] + ordering = ['-updated'] diff --git a/backend/app/apps.py b/backend/app/apps.py new file mode 100644 index 0000000..ed327d2 --- /dev/null +++ b/backend/app/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class AppConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'app' diff --git a/backend/app/fields.py b/backend/app/fields.py new file mode 100644 index 0000000..e7117b8 --- /dev/null +++ b/backend/app/fields.py @@ -0,0 +1,29 @@ +from django import forms +from django.core.validators import RegexValidator +from django.db import models + + +VALID_MONTH_ERR = 'Bitte gültiges Datum im Format YYYY oder YYYY-MM angeben.' +MONTH_FORMAT = r'^(19|20)[0-9]{2}(-(0[1-9]|1[0-2]))?$' + + +class MonthPicker(forms.widgets.Input): + input_type = 'text' + + def get_context(self, name, value, attrs): + if attrs: + attrs.setdefault('placeholder', 'YYYY-MM') + context = super().get_context(name, value, attrs) + # context['widget']['type'] = 'month' + return context + + +class MonthField(models.CharField): + def __init__(self, *args, **kwargs): + kwargs['max_length'] = 7 + super().__init__(*args, **kwargs) + self.validators.append(RegexValidator(MONTH_FORMAT, VALID_MONTH_ERR)) + + def formfield(self, **kwargs): + kwargs['widget'] = MonthPicker + return super().formfield(**kwargs) diff --git a/backend/app/fixtures/__init__.py b/backend/app/fixtures/__init__.py new file mode 100755 index 0000000..e69de29 diff --git a/backend/app/fixtures/initial_cities.json b/backend/app/fixtures/initial_cities.json new file mode 100644 index 0000000..8ae891a --- /dev/null +++ b/backend/app/fixtures/initial_cities.json @@ -0,0 +1,10 @@ +[ + { + "model": "app.city", + "fields": { + "name": "Berlin", + "center": "52.52, 13.40", + "zoom": 12 + } + } +] \ No newline at end of file diff --git a/backend/app/migrations/0001_initial.py b/backend/app/migrations/0001_initial.py new file mode 100644 index 0000000..a663249 --- /dev/null +++ b/backend/app/migrations/0001_initial.py @@ -0,0 +1,54 @@ +# Generated by Django 4.2.13 on 2024-07-24 22:47 + +import app.fields +import app.models.place +import common.form.img_with_preview +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion +import map_location.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='City', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100, verbose_name='Name')), + ('center', map_location.fields.LocationField(verbose_name='Zentrum')), + ('zoom', models.IntegerField(validators=[django.core.validators.MinValueValidator(4), django.core.validators.MaxValueValidator(18)], verbose_name='Zoom')), + ], + options={ + 'verbose_name': 'Stadt', + 'verbose_name_plural': 'Städte', + 'ordering': ['name'], + }, + ), + migrations.CreateModel( + name='Place', + fields=[ + ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', models.DateTimeField(auto_now_add=True, verbose_name='Erstellt')), + ('updated', models.DateTimeField(auto_now=True, verbose_name='Geändert')), + ('address', models.CharField(max_length=100, verbose_name='Adresse')), + ('img', common.form.img_with_preview.ThumbnailImageField(blank=True, null=True, upload_to=app.models.place.overwrite_img_upload, verbose_name='Bild')), + ('since', app.fields.MonthField(blank=True, max_length=7, null=True, verbose_name='Seit')), + ('until', app.fields.MonthField(blank=True, max_length=7, null=True, verbose_name='Bis')), + ('description', models.TextField(blank=True, null=True, verbose_name='Beschreibung')), + ('location', map_location.fields.LocationField(blank=True, null=True, verbose_name='Position')), + ('city', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='places', to='app.city', verbose_name='Stadt')), + ], + options={ + 'verbose_name': 'Gebäude', + 'verbose_name_plural': 'Gebäude', + 'ordering': ['address'], + }, + ), + ] diff --git a/backend/app/migrations/__init__.py b/backend/app/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py new file mode 100644 index 0000000..e7872b4 --- /dev/null +++ b/backend/app/models/__init__.py @@ -0,0 +1,2 @@ +from .city import City # noqa: F401 +from .place import Place # noqa: F401 diff --git a/backend/app/models/city.py b/backend/app/models/city.py new file mode 100644 index 0000000..afae4c4 --- /dev/null +++ b/backend/app/models/city.py @@ -0,0 +1,85 @@ +from django.conf import settings +from django.core.validators import MaxValueValidator, MinValueValidator +from django.db import models +from django.db.models.signals import post_delete +from django.dispatch import receiver +from django.template.defaultfilters import slugify + +import json +import shutil +from pathlib import Path + +from map_location.fields import LocationField + +import typing +if typing.TYPE_CHECKING: + from app.models.place import Place + + +class City(models.Model): + name = models.CharField('Name', max_length=100) + center = LocationField('Zentrum', options={ + 'markerZoom': 12, + }) + zoom = models.IntegerField('Zoom', validators=[ + MinValueValidator(4), MaxValueValidator(18)]) + + places: 'models.QuerySet[Place]' + + class Meta: + verbose_name = 'Stadt' + verbose_name_plural = 'Städte' + ordering = ['name'] + + def __str__(self) -> str: + return self.name + + @property + def slug(self): + return slugify(self.name) + + @property + def data_path(self) -> Path: + return settings.MEDIA_ROOT / str(self.pk) + + @property + def data_url(self) -> str: + return f'{self.pk}' + + def save(self, *args, **kwargs): + rv = super().save(*args, **kwargs) + City.update_cities_json() + return rv + + def asJson(self) -> 'dict[str, str|list[float]|int|None]': + return { + 'id': self.pk, + 'slug': self.slug, + 'name': self.name, + 'zoom': self.zoom, + 'loc': [round(self.center.lat, 6), + round(self.center.long, 6)] if self.center else None, + } + + def update_json(self): + rv = [] + for place in self.places.all(): + if not place.location or not place.isVacant: + continue + rv.append(place.asJson()) + self.data_path.mkdir(parents=True, exist_ok=True) + with open(self.data_path / 'data.json', 'w') as fp: + json.dump(rv, fp) + + @staticmethod + def update_cities_json(): + cities_json = settings.MEDIA_ROOT / 'cities.json' + with open(cities_json, 'w') as fp: + json.dump([city.asJson() for city in City.objects.all()], fp) + + +@receiver(post_delete, sender=City) +def on_delete_City(sender, instance: 'City', using, **kwargs): + if instance.data_path.exists(): + shutil.rmtree(instance.data_path, ignore_errors=True) + City.update_cities_json() diff --git a/backend/app/models/place.py b/backend/app/models/place.py new file mode 100644 index 0000000..6c9f473 --- /dev/null +++ b/backend/app/models/place.py @@ -0,0 +1,86 @@ +from django.db import models +from django.db.models.signals import post_delete +from django.dispatch import receiver + +import os +from datetime import date + +from map_location.fields import LocationField + +from app.fields import MonthField +from common.form.img_with_preview import ThumbnailImageField + +import typing +if typing.TYPE_CHECKING: + from app.models.city import City + + +def overwrite_img_upload(instance: 'Place', filename: str): + id = instance.pk or (Place.objects.count() + 1) + path = instance.city.data_path / f'{id}.jpg' + + if path.is_file(): + os.remove(path) + return f'{instance.city.data_url}/{id}.jpg' + + +class Place(models.Model): + created = models.DateTimeField('Erstellt', auto_now_add=True) + updated = models.DateTimeField('Geändert', auto_now=True) + + city: 'models.ForeignKey[City]' = models.ForeignKey( + 'City', on_delete=models.CASCADE, related_name='places', + verbose_name='Stadt') + + address = models.CharField('Adresse', max_length=100) + img = ThumbnailImageField('Bild', blank=True, null=True, + upload_to=overwrite_img_upload) # type: ignore + since = MonthField('Seit', blank=True, null=True) + until = MonthField('Bis', blank=True, null=True) + description = models.TextField('Beschreibung', blank=True, null=True) + location = LocationField('Position', blank=True, null=True, options={ + 'map': { + 'center': [52.52, 13.40], + 'zoom': 12, + }, + }) + + class Meta: + verbose_name = 'Gebäude' + verbose_name_plural = 'Gebäude' + ordering = ['address'] + + def __str__(self) -> str: + return self.address + + @property + def isVacant(self): + if not self.until: + return True + now = date.today() + year = int(self.until[:4]) + if year > now.year: + return True + return year == now.year and int((self.until + '-12')[5:7]) >= now.month + + def save(self, *args, **kwargs): + rv = super().save(*args, **kwargs) + self.city.update_json() + return rv + + def asJson(self) -> 'dict[str, str|list[float]|None]': + return { + 'id': self.pk, + 'since': self.since, + 'until': self.until, + 'addr': self.address, + 'desc': self.description, + 'img': self.img.url if self.img else None, + 'loc': [round(self.location.lat, 6), + round(self.location.long, 6)] if self.location else None, + } + + +@receiver(post_delete, sender=Place) +def on_delete_Place(sender, instance: 'Place', using, **kwargs): + instance.city.update_json() diff --git a/backend/app/static/favicon.ico b/backend/app/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d654aa42cbf633c3108d7b59afd594130f02ae64 GIT binary patch literal 1456 zcmZQzU}Rus5D;KsU|>*S5MpFtFaxm^Abd6^1_lpC1_lEI2tSF5fx(ZNfuS?N&z+Y` zii?4Pf!EW+C5VB60c3&z2MYrO!`5HsuNW8@ZhE>nhE&{2PH<p6x^rqNj|`6mLw4Z3 z*Z<}J`$x;K>h_IVQdatOUHX5=2Pb;(WbjljkLXZgvH5YqXtE<iWL)ys?$iJK|Hc2V zfBQc<q3Y=WTih$cJdIYceJ}m{{*U}M=EagvF1`(%Ri1p0m(A6pmr<pB{@v0(M<zdI z=KBV0Vt2S^{EiZjOM7r=ZA10TrJ>><H8yP2+#gnV_THs4oG#H82QoTzsw>i7ow_xB ztNx|11(zSr<axuxqb0m<{@;FCza7UGoC(-lefTeLf5Cy@bE73!mA|*_mM+U@WO#A+ zL`g+T-cC@Mc)I$ztaD0e!V)5&FjN4C$j#zS^$ZM*XJH|7fIFo5$s>sq>}@+Q%dPpD zw5Or5Tj%Yzt<v`YL16Cxyy+5WJg@6dFMDh+v&H_Jo_d`2Zr9B&X3ia-u6^bZ{`dZG z&em?nE(_+E=zVX0@BjG!(0~2^%FX8gh4WUj2``M_`|L)2Ou{$qW;>@}U+41G{OOmD z`H^4S=*V4u<muGAwO{4!fBfG6WnGSto^VJ~{`vp>O`rcw|Lfm&sO$gd3qLIFdA2<? za+-9IlV@+wyZ3+j8{NK3+8F$hYdO?(_(Q;*(<k^R%0G&il1oZB{6LuTi%#C$KlPvX zAJt`(T~pKKaN;eC#)TMvBaVcp{7K9$nnn(5<MvKtV)n60uQ8nKzK!u%rM3P2KmLu3 zZryqRm!Dv`{Bw%rfz_LfUjIM)zckF~L(|Vs*TnVy@8>zSZ&Sq2jE1vC<$q?+$Tz(I z=zhezw1m`z&3B}KYktdqbNz<@wCW8X0vi;XrJDCW{3`ojG2lO2v!3HVsY&i@%AVdk zy?^>&z2Cwt&-R>EKXHCv{$Am{hQBx8|Mz5#|8G67@kLr%!dC0=-~NXSJ$(KDTe@U~ z<P1q4zFYG)*Czk&4axX?_FL~;%Whj9L;rul4434C@)|x*{nGx#c|A9S*)lPU=Zgi- z5l97~oMQk^1%J5>c^DX&G$E<r?KEGH$%Qh<_XpmPTYWGtt9sh{t6fWGCRcKG^Qi{u zxV5*aw6w0AKH-JJ-n+Xk0y%<qm3RxT4R&O;W(lf%BO=>Ua51jt=H|DWPo;x1XTSJn z(|_Js;df2`{lnjx>yLewUce_PCvigZd6M&;Yxx(d-u5oj@Vqy-yzYqJ-RJywcS}9D zdLOCyc+tAgXKnA=M;>U6e-tds`mFJ{WL|<o>VLMv-KTpq++@EoJ4M~gco1$S&R?FN z{_n{}%lJiBg$j|HGoQQfkdzI)uKl*@-oCHxo`uu)@3c%dQGalC%lj%@Kh+~IIwR#X z1tOlMt(?N1dE7+n${Oxx2g9EJRyizkDI?fy-|vbAK~<9$W!(~bv|`ionNrsb=BGw% zs&Vg~q<?;S*}Z?$6=vU<Ag<pW{q5}?_3d+Xb8j^F?cw<~Nq<JSztf70dat+quV&d# z`Y#Z!#3AxFw0ND}C5@|pB2Q<&^kC6-t=2t$Y|@;R8Hs)ucCo~tjI+J=<5u>c1-8qU z=yRW9VtB47p|OH1O!wimM5fn|UvIQF@p({pZ@xmWaLl_H+potscm0YG`xEY{e(cVd z%l_sch0KfhYF^%TEB@3!Tg|)qjt4e>n6R@#?7{Ubugj`M?>`ZiaN<z(xtXG0yz%6W zD_8g*MjWjB+8)>UVuswcecA$7_Rd`}uV?eWvweaci@!<!?ooagQ>gn|{CSu1th=J~ p9X<Rn?|3s+aY=^4vNL=FGJldzNr)eRzJG%=;}Mqg#dXLj3;=zNqhbI6 literal 0 HcmV?d00001 diff --git a/backend/common/__init__.py b/backend/common/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/common/form/img_with_preview.py b/backend/common/form/img_with_preview.py new file mode 100644 index 0000000..e60efe3 --- /dev/null +++ b/backend/common/form/img_with_preview.py @@ -0,0 +1,55 @@ +from django.conf import settings +from django.core.files.uploadedfile import UploadedFile +from django.db import models +from django.forms import widgets + +from PIL import Image, ImageOps + + +def makeThumnail(data: UploadedFile, size: 'tuple[int, int]'): + with Image.open(data) as img: + ImageOps.exif_transpose(img, in_place=True) + img.thumbnail(size) + if img.mode != 'RGB': + img = img.convert('RGB') + data.seek(0) + data.truncate() + img.save(data, 'jpeg') + + +class ImageFileWidget(widgets.ClearableFileInput): + template_name = 'forms/img-with-preview.html' + + def get_context(self, name, value, attrs): + context = super().get_context(name, value, attrs) + context['MEDIA_URL'] = settings.MEDIA_URL + return context + + +class ThumbnailImageField(models.ImageField): + __del_image_on_save = False + + def formfield(self, **kwargs): + kwargs['widget'] = ImageFileWidget + return super().formfield(**kwargs) + + def save_form_data(self, instance, data): + if data is False: + self.__del_image_on_save = True + if isinstance(data, UploadedFile): + makeThumnail(data, (800, 600)) # only on create + # on update: django.db.models.fields.files.ImageFieldFile + super().save_form_data(instance, data) + + def pre_save(self, model_instance, add): + if self.__del_image_on_save: + self.__del_image_on_save = False + self.deletePreviousImage(model_instance) + return super().pre_save(model_instance, add) + + def deletePreviousImage(self, instance: models.Model): + if not instance.pk: + return + prev = instance.__class__.objects.get(pk=instance.pk) + imgField = getattr(prev, self.attname) + imgField.delete(save=False) diff --git a/backend/common/templates/forms/img-with-preview.html b/backend/common/templates/forms/img-with-preview.html new file mode 100644 index 0000000..6696183 --- /dev/null +++ b/backend/common/templates/forms/img-with-preview.html @@ -0,0 +1,14 @@ +<div> + {% if widget.is_initial %} + <img src="{{MEDIA_URL}}{{widget.value}}" style="max-width: 150px; max-height: 150px; margin: 8px;" /> + {% if not widget.required %} + <span class="clearable-file-input"> + <input type="checkbox" name="{{ widget.checkbox_name }}" id="{{ widget.checkbox_id }}"{% if widget.attrs.disabled %} disabled{% endif %}> + <label for="{{ widget.checkbox_id }}">{{ widget.clear_checkbox_label }}</label> + </span> + {% endif %} + <br> + <span>{{ widget.input_text }}:</span> + {% endif %} + <input type="{{ widget.type }}" name="{{ widget.name }}"{% include "django/forms/widgets/attrs.html" %}> +</div> \ No newline at end of file diff --git a/backend/config/__init__.py b/backend/config/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/config/asgi.py b/backend/config/asgi.py new file mode 100644 index 0000000..3535150 --- /dev/null +++ b/backend/config/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') + +application = get_asgi_application() diff --git a/backend/config/settings.py b/backend/config/settings.py new file mode 100644 index 0000000..f224ae3 --- /dev/null +++ b/backend/config/settings.py @@ -0,0 +1,148 @@ +""" +Django settings for project. + +Generated by 'django-admin startproject' using Django 4.2.13. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.2/ref/settings/ +""" +import os +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY', 'insecure-$a^nh$d!tgut43^91@') + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = SECRET_KEY.startswith('insecure') or \ + os.environ.get('DEBUG', '0').lower() not in ['false', 'no', '0'] + +ALLOWED_HOSTS = [] +ALLOWED_HOSTS.extend( + filter( + None, + os.environ.get('ALLOWED_HOSTS', '*').split(','), + ) +) +CSRF_TRUSTED_ORIGINS = ['https://' + x for x in ALLOWED_HOSTS] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'common', + 'map_location', + 'app', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'config.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], # BASE_DIR / 'templates' + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'config.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.2/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db' / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.2/topics/i18n/ + +LANGUAGE_CODE = 'de' + +TIME_ZONE = 'Europe/Berlin' + +USE_I18N = True + +USE_TZ = False + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.2/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + + +# Custom + +ADMIN_URL = os.environ.get('ADMIN_URL', 'admin/').rstrip('/') + '/' + +STATIC_ROOT = BASE_DIR / 'static' + +MEDIA_URL = 'data/' +MEDIA_ROOT = BASE_DIR / 'data' + +# STATIC_ROOT.mkdir(exist_ok=True) +MEDIA_ROOT.mkdir(exist_ok=True) +(BASE_DIR / 'db').mkdir(exist_ok=True) diff --git a/backend/config/urls.py b/backend/config/urls.py new file mode 100644 index 0000000..150d567 --- /dev/null +++ b/backend/config/urls.py @@ -0,0 +1,25 @@ +""" +URL configuration for project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.2/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.conf import settings +from django.conf.urls.static import static +from django.contrib import admin +from django.urls import path + + +urlpatterns = [ + path(settings.ADMIN_URL, admin.site.urls), +] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT) diff --git a/backend/config/wsgi.py b/backend/config/wsgi.py new file mode 100644 index 0000000..c7d8a2f --- /dev/null +++ b/backend/config/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.2/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') + +application = get_wsgi_application() diff --git a/backend/docker-compose.yml b/backend/docker-compose.yml new file mode 100755 index 0000000..324b59a --- /dev/null +++ b/backend/docker-compose.yml @@ -0,0 +1,31 @@ +services: + app: + container_name: leerstand + build: + context: . + # dockerfile: . + pull_policy: build + ports: + - 127.0.0.1:8098:8000 + image: leerstand:latest + working_dir: /django_project + environment: + DJANGO_SECRET_KEY: ${DJANGO_SECRET_KEY} + ALLOWED_HOSTS: ${ALLOWED_HOSTS} + ADMIN_URL: ${ADMIN_URL} + DEBUG: ${DEBUG:-0} + volumes: + - volume-leerstand:/django_project/db + - /srv/http/leerstand-data:/django_project/data + - /srv/http/leerstand-static:/django_project/static + restart: unless-stopped + networks: + - network-leerstand + +volumes: + volume-leerstand: + name: leerstand + +networks: + network-leerstand: + name: leerstand \ No newline at end of file diff --git a/backend/manage.py b/backend/manage.py new file mode 100755 index 0000000..8e7ac79 --- /dev/null +++ b/backend/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..11e9b0d --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,3 @@ +Django==4.2.14 +pillow==10.4.0 +django-map-location==0.9.2 diff --git a/backend/scripts/run.sh b/backend/scripts/run.sh new file mode 100755 index 0000000..577002c --- /dev/null +++ b/backend/scripts/run.sh @@ -0,0 +1,6 @@ +#!/bin/sh +python manage.py collectstatic --noinput +python manage.py migrate + +# python -m uvicorn --port 8000 config.asgi:application +python -m gunicorn -b 0.0.0.0:8000 -k uvicorn.workers.UvicornWorker config.asgi:application diff --git a/frontend/3p/leaflet/images/layers-2x.png b/frontend/3p/leaflet/images/layers-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..200c333dca9652ac4cba004d609e5af4eee168c1 GIT binary patch literal 1259 zcmeAS@N?(olHy`uVBq!ia0y~yU@!q;4i*LmhWx_I2@DJ@n><|{Ln;`Pe)y|<v`zE6 z<`rfYVRE=E+<w8gO%1uyy^AaQX3k_eeugK>cT4BSrpMM7AKE|dn|XR+k!t#k(tv`Q zFW(sEd!8~#>$+9`f9l__#fF!KZ}B_rzo8eC{r}xGzO@x)!A}C+%Y(`<1s-2^LiGH- zNefThzU1_3Qe}!q>B&sRiQ8E#H9j`Wp1zeElOM1<_xPqG{7q&i{}sRA|NWDBa`yhi zf4~1}Z!&l?D{`K~v~Df`g0pk31-#L={QUP&^~BTfPt276eJZ4F#<Vr}OLp%G)4MzG ztF*A$PQ}~huWqeNiHx1TxHA3oIlcBTF`IT>OLLkrWm<1w?G}$K(_Zg>&?>%<J9lRg zyYMzcFSi*j)1qeYS!8_q{pX~Jy7=^EcOtWeIfdJV?C$K_6Kj{8z4Ghb4~I1F_fET& zw{rj8ZMBt$+BYdKbN!h<KUnP1jN|pUxOe_pe%tob6}#o1_=VGCiq2_yoBTWwG@GyM z>7rSDWy?-oPVGDw+3f6ddKzommMznMtmE1m^mE;|X)^@3r5^M>q%(7WwwkhRUVZzX zFui*B_UL;{ERE{7ySzCa{A5c-^`03^s-Cnw)fD`#!?J7Jk{=GMTBd1ws=RS{H7RMA z+lH2N3m&&zxMt!%-Q)BVRe@_$r#$1#RlV@>f}~i)v%B7(D}^uiKE0`=J9&~rL}git za^vjh=XaOCc>eeO>kuD~_nyZSSrR*<FYWAgIQoBI-h&knIdzX-mgYUg^u)JXtv{OM z;)gF;n!Nrz{CAiAUorp6!o_lB5s@D+EVEfuc<a=r;@RgOJ(Dk#=6_q~zW$Qo8Yi7s z)uvp1zGW@KT<V?DTnqa{uD&bRS?wjIFU{xFEG?*@<N9(*nwO>HoRZ?^jT=9HS|#-C z#I0=$9oqx1b}%c7@V%LR;e=gTTa&<X&yCs6&0BLj7F&Lu`gW0`c=5sX4V8Cho_(WK z_PkGOWzPIy{h|`hoiW@Jx&IYq6BX7t^}h7rov&K9bo1>Q*O*Q|E%7{caZdK)_+ZJf zZ?&H!g%0t3zQ`e9eahh1=NZBi3YOTd+htU}IKfpW%e~b`fYbPb(yyJ0eX|!$;Jmtc zpGlI(Uq{=OPOf@MjvXyZfAUxkxkT|?T2R1T7_4W$NpIDXdncV=-Og(5O3XcC)5tQ> zz+Ah^=e$i`pnF#TudS&IcRlWTsKE8W$-*hoo%u=2$;`|LE*k2wcM@{W?B28Hj1!|( z?&`3_D`smL6xn7gD*L#dPAd}*D+qeymA_@1k^7b7fk)o?9(Qdv5?I?{*Qdo6H_a$Z zWx4ILe&t;!1-}-TBu7TxOI@rh@5%8t*~M7);;#tq)bxD@K>`uh2LySGU20__qc2Mz zz5e8&(8Q{b_nT$qIxJK3ZwNANm$G;z+!`QW&+ygqZIXsCQ=*b?Q`wxE@t%9{h$R(y z`}7A0eZ8=B>r+-n=MV*-1+Ej;cKH>13)vbyyUbGSW~KP1V^g_>mQb1#clPCv9d}vs ze&jIq>z1(p^?bgvyl$yv;<GImc>Vr)mizp0?3uUtD~sA1FSi+%x^t@XE}h@-tYzk9 zqoeJq#fQ#h%zQM#GO;LXnVpKdkC%5qo68}Ws3tQNA+-xadlV-caB*y5$@Ne<GexZU bFaM^C#|uBoIzMG#U|{fc^>bP0l+XkKIZj$K literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/layers.png b/frontend/3p/leaflet/images/layers.png new file mode 100644 index 0000000000000000000000000000000000000000..1a72e5784b2b456eac5d7670738db80697af3377 GIT binary patch literal 696 zcmeAS@N?(olHy`uVBq!ia0y~yV2}b~4i*Lm24?3LR|W>AdQTU}kP61$5aS9JMv;5A zx9={r3D-Qo$}jd-@Kme(q}h{gk8N9f^YEHSI?4X$wi&*^XXUqVf93n@6)G0|HB0O+ z{oGRd;!&;aKiPjre@~N1y8by_{oP(ApF5A&Z+bmlV3plXX<tV6s>Q4Q^(0Q+y~?G3 z!a`R6-Bzb}>nxoMS3g;|c>CL9(`O!9VDQ7}^1l9i({>+QJ4<j?!NqpV-Sa;@wm)9L zbG+W};oLQLYYrV1^t!pQta?($^m)^L_AF>%7S^9P-Qtwc)jUmWjVlF-6H4cVyjqg@ zMm}=+<NHe<rmnhce8Mbd!jG-nZgwp9eH?$nNd4G;o7_#iZUy~~QhhglrsB334FMJ* z@fHOR)*MUYCv`K|d2VYBZR;#rB;F=-*d<K!w$t?`)+^s$f27=VZ1;-!<_pwKXT?Na z`S#k+>(G^1+f9<przIIod+^~5gQ4n@DU+PNFYMtBp1uC$l$Ec<&bmmeC5dP)cb#%X zWm1x+m~m*&$s*s0vlsv9sGl=a%_P}kS>k%t3*NyNhGDITISixbZs=XtX?<#@#To^} zllR&yC7Q0b2+Ufee$_3@VyDHEwjITj6hhx>ORdzOd~VN~YpdKO9dmD=@;Ir&?!Ka0 ze9@!>sms1^+w^n(%oWF3dR*t__<cB{GU3onMYUCu%rn+=UUTl5zH-NW4=2O6pzP_Y z7hHoi48xY@9Es*O+;H#Xw8M!3ZQ9ay(f%eg*Oaydfb9LD>&0jzGw-8qqez~?-<4~x zU6bljyRxA4^qUU`2YDx)`}y=x*@+KtSBac>;qcY?zuAd~x7`1fA4n|jeLTA^%I{0R z&%u&I8&&`GCa_jieR-P2?K98qLyM^QzxM~_R<vo|Fy8)4-b`~5`=z_GeGCi?44$rj JF6*2UngI0JPVN8z literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/marker-icon-2x.png b/frontend/3p/leaflet/images/marker-icon-2x.png new file mode 100644 index 0000000000000000000000000000000000000000..88f9e501888c9c6cb29ad340d9a888627dd1b6d8 GIT binary patch literal 2464 zcmeAS@N?(olHy`uVBq!ia0y~yU@&4}U<l%1W?*1Y6fM8Wz`*o9z$e7jC$rGFa-~`Q zCX41B=FQvnvS%1qtgvaBW!|*SqItV{(^iv)O=fi)O-dK&<xDqg++t9^#JFOmS;J=C z^4W$Zi}bQ*nAUADtKVc)y4a+8jal6~)0(xWRjbUKcIf5I(9NE1ShC2peuGiz5~I?^ zhQ$l@a%Sk~%rq#Rr<Xg^pkR((?hL)0=|*KsjY<|7W`WqcIn(uWr|acR*Uy;-B6DZz z<xJPjnXU^GoMBeKK`&>zHi!*UqnACyylI<B-Fm$o5Z7hmMT538R^8|I+s^2<p4MwQ z?bvfdx8<~U^J(p-(^g&QwHi;`bYHOTIHuctTC?$#M#CxV*2C%zr_}3Dsn(scXxgt* zd(yJwymHM+i;nY()hA8sc3F2_P^da-)^=X5@`Q2Cc8$8zvK1#xTF=RppD=4ZZCJ5I zy6l8x=?TM%O=`8Lja$y@m##BxJZao=&anBMLH#kqrgM5FtMzM-=oPI9nR~@==4I2G zwFZUr_4DVLRILh_ec8BTMfifNF-xx*l`IaMe>HN^Rj+B6T>B0g6wD2rb>45<N$*(~ z|NsAQH}QPj(rd=$%cB=xb)Rt9tbU{Wj0;Xv&Ks32jahQdwr!Vr!)Du-?Z%ZW17@Bv zuU%(Vzrm(qvtjWf^U4)Q#S1;AUh<iKDQM1>pm~>lr(g1)bIG-PU&x&EkqfVSO*&yS z;hbgfS=;Jm?$a(hPCjqmxW%!3m-FO{289cX=kK>@-tIN=m|6E(zuA|q`_Fk#J#X4| z*0y<zMbkF>{tG5mYrJM&be(p=rT6IlmmfW5UU2Hz<2n7J+mwrr-TRF?&V<grsGm2> zs_)#7Uw`VB9X@~mmHni1?h{YB&A71m;5DZS7tY*$5wYNs%e3=LkK8nDKjS{>tX=Pg zt!M9fH?R8l@Bi^z&p&_vW!`i4?dR`v_g=Q2d_K5+tzXB6px$jMQ@2gtej$F@_2e0Q z9Xb!V_n&Z^e9@s{ZR~{2!982zCT(|`dj84V&nBH`ww%75u>873@7dlh=bfjXH|{(W z7d!Ji0|SF|NswPKgN%7_eosI1qqlQh)VQ0z2_?Q_-+JKUU7huPe~$OxD4((Q%=1rn z?q4@-&3bU7T<pikMN`cFs+`>sbLBvg!I5S2dYWD;2#S7ZU|<vVba4!+h+A{zdXb2` z1nYyig-nVroZM3dj;#|?NG|ZyKQOgo&AXF@#pf*5pUx>h_he3U@wtzOHt*icIpHmL zy?Ai&|Ch$MFYn&^pnlOR%aGe&>)tMux+?e~{z}Q!-sv)H?Z4&ghKAqWlXPcq>ejrS z$BVzazm`65urEF{ge%(WbpDLf>%-W3W7Q8Z-diaxRrFdX{@IL*dsFs5{QGX<!ezI% z=e<wad)#=vvF4JLsQt?>yq<hltu^o7W6NrpJr9qh_PggA&eZYz8@03~FYRkZRLBEU z-sL%FvgdbC`ewdF*XI5A8?&+;L_;U%YMlQ3=+@co5#FC_%I;me5mg$ZyY1(0z3^Yp z7?;JY+Z}g%<*8<CS&p>WOP4-1PE)zwr(UqLCNG@BDShIb@BbQOH~rvz6x(1rM{&)h zCI2^1ie0}woOhbaNv}DX8hPC_CNKHouloIxr(aOX;V(s%tEQ{y7mEGo6BjSNdm(Vs z!BXu_x9&`h);d4=?!Ti)lNFxZ-a1{#+&m+>>+vSZ{Dx(nJA39omT)(Wd}d*OchY}> zS=Wlr9G}5lbce-J`;++A6P>4z=5$@YRO0(?M@{jf7aF}sW!InoesgvD`S0uR{y+7c zJM*Z^%fdw#&#l*lSVe4|v9FI;Blz0)<NFlfzx>M}eM4}1S7y|fO|lGIHmwo6)ysN) z@`Y2E&hx0QzQ6Ic0N<k<d|P#Hb6K5r<mlbYDjncGd%r<QMUL5Pg+m(!4=va!EMvA? z@p8AKMb1CQ_gvD(?Fox!_-j^5Tf9BvVA89aaG~;az|+3Ttrt3qS&Yx66`WhyCS8%# z!nyf#RO!>5mtVH?#oTPjdTv<|H^U?6ohXl5NmKFtfVaU1XGt93HWL;;RCz(~i-B@2 ztMZwa3;7ji`<>cuYUsWYyyfT~aW>~)Ttdp0haa*^A7`rEIn48j^>mNb9mZLUU;Dgq zb(BBsvZ#Nx_Uel(roBAMoph#Zi{zHxs=z<2V(tqsuD&`oda+<j*Up|ji*pxD=FwPu zvdMRe+TwC8Y5VV!4|~izBEU6a?gQpYa~$_>X07I6J*oa%H2;&Oq~}6b8UMv1o^cHB zw@!+h7<Kn9kZk<3uY^hexW^{;qo-bS{e0-jpqJ&e@`nD69G#_VrWeEYKi_|}{;$;8 z0xi2ppQj-n#hTxr`*MD)xE~)8Z&Ro26nJIw#?|vPG`u1@k5_9OHU9Egxk4k$b>H6D zE$XK?O<(fKWT9kaoQA9NCob2O4UaD6IrQb)Yuwtmc1m82EZ4gF#as5z)n(u0^CphP zQoO8O{?ujuQ*uXBbiS=f+M{6qXZNIC-#wKX9$WmgkWlOGG%UQt>8v8C#bLHj^{?#p zq^}Oqw=ccclsgm}$Rb#}qSsU0T>Y|%q3Of?gq$MZT@r_@Zu{PyecS50-wK8AYV-e2 zfB!+nf3KYzTfhAMRX%I(>aI5GIrFb~>*ZDV4V`!wuLxajKX3Ps*sJFZ{dk2L|LmL? zzat=TpVAF?U;l!InHzU3j`scC<oQdVMJMZxxBIGZ+z&N(i65ML?8tPPBPMT+7hN%0 zn=WxJbCFSZ!}KT{|H7jNA5)_Z+bj<YY@Kar6muwSQe>uEl+urt8mrgm91(dc6j+tP z6A`%Mx>-aj?~J8<#TLO+mYPp{<aWe;?w<0Q+o$z-RLt;Mv}3~4r{!W{sXwJYr-(6K zOF5Ty=#=K;4`MYtLarXEo*Wvw_ZU;8B%kuqPtQ1)FB6!d<o$WaHDh@zoz+>qlT&iN z&a1S3<*O-TZj{@!u_4N6X2lK<m7D%ARIP0pms~oOw!74BZ{q`&o3mVcz1452cbb%U z)on5tJiw-&7G=ho$9<5o=t6h#yz|fArB>eSu#n_P@}6L{b6Jl@&cjG~%U8!&Dx}z( zrMAAcayuD$-&lEawocKa4aqJsJ&X3~rhP8ov`9`;z3BX#j-a~m>C=zc{$M|Ob;m?a ziOFe4?k<q8zO--N$@ku_KWtt4Pfby=4W8h2z{IvKo#klrr+0Zj7jy`2_jrAG+NoBj zoh)Z2bYI)8JFV2!<;BLdhQnS@FNhQh9SmGr^hCyR|Lw=g2|c?E+9wP11e));P`Oe& rP{HdiC!^x4N$1_~&YG(#{hxuOE!-i)SW}9Dfq}u()z4*}Q$iB}i0Z+t literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/marker-icon.png b/frontend/3p/leaflet/images/marker-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..950edf24677ded147df13b26f91baa2b0fa70513 GIT binary patch literal 1466 zcmeAS@N?(olHy`uVBq!ia0y~yV31^BV9?}XV_;x7FuCa*0|RTLr;B4q1>@Rq<_XD> zB4=;4Zhd?AM&|77+xND~`rPKZmAu(>+oP1++ovkt{rkN7+x4_tFaL!ukK6nGo$YfQ z^*v9n8!cmLEqlSVG%sR-0gvk<o|O{2GFI&rF4N*=-oAoIIW+6=hwEB@1u{>$*DRbW z{m-p)*DZrjd!y_xaa_#o*4U(@uKo4!Pp!ij7T!1}%l>}rjh7!Q-(N81zW?~clRw*E z{?k)GYWmiy#bRlmL;oJl&J$aiudgm)F0-iHas2Qk`y1cI?%sa8bcrAT(b;!%I<0P9 z{GTy@w!r#Jyj6z3I9)}Su6`_XYb*QXS!FV5bHD9z{itSs)R*aqqTRyE=Ymg+ZNB$v zHnpZ&)$hNave^Ci{e>)>+mm|UX)=F2arlas*Y!VZ^`gp;W=x!PmHFb<*?e}lzMCE0 zvRk9d<U-#>-y7$jUC*^W@geu4@I-OlYNyz3uMQ~hJ@ZAvR^;ZhPs}lPSAO%o7BSQa zbpPGC@q~NNuAHs@aeMx#hPkYYE#J1MVCVaHeA;*K{uFcFvg=QSSx&=`UA`hqVtqd? zdYU5{zPVBEP0{7r*yQI8{Cgfe_xwDKZM9d}j|Vzyjy`R7nLK@io8wY#kL`E7<ZHiM z%i2}-*!_R$ze>Jf<68x9vugLJO(0z-KZ&Qdg!24aAb07_69#wwGGo2xYnJYN`~G6Y z{f5WJTvyi~d3Pw}=hJ5XJrB~|HdTa{+%+rHYo0wvW<#>j?DETdO_@vH{3w)qU%ji; z_NZx&{M3G{ii77TKhyiAxALr4;M%-PCKi?|B^8>h(u}9Bzu_-jd+e)R*D9HVSAKyF zecrkG`QJvbip||uzVh)2I2K)AknA*Z-`f1(ke>{yQhV!uK44yNk^b+!z|FQq$H>U% z4;rj)&CipZ6`-=U+SoNLchL;9^D}-vc+R=`7mwnv#>0hg<$|tQStOh|DXSMGs<Ytj z`x?t-4bL~rd(JeUU-;%g((k9u`VsaO9#ihFe%g6?*ZZ(1x__h(PrZ8MKmWO2qjEjn z+kfSD*M3Y??y;~}^!>-QM%v9#OT6aOo!0u!OS>mk{4v*^-gU{kUv-=DI!X3RTGs59 zrms7aq`qxvdDNrlbwOV>GmT$cCUm!OcDu!Xn-2~CQ?8YY{CTrg$>;Sw`KWyp56!-# zvTn<7$3qHR4xXKK)bzH)nQ1H9&39e2*J8I>_;hw(^Yq=jSu~fmADQ`g-w!kW*($3f zq`R`zS+DL4=#y?Q`_N(ZtLBi%<=QzX-b%(U=MFlvzxDbXmD0JBS)OidXsr40A^42_ zgQZVg7!FDwD~idOcvfy#ai6Y&gUYVfn=F;xwLJ0PR(xmSKH_ux;D=dz-;~^0xZPL! z1ozroz7KYO?cK)hC-BfMm|Z;L!tIi4FB=3m3Vm8)$!*y6sqlWqio>o2PxU5+TD=Tg zTYBn%ncKVvzMt<;x^8t&I-EsdU*;9>P2#^c<W8(9zWKyK=F!o}&oxcvzO0k~sWfr# zxH#p#g6GcWJgu#MTs=}B|A<_cKQTXqr9pZJ*SgY;D&`{Z<;7pP%bb(kzId5Z(Qoe9 z^oMseN~1k(j(c7ge=9F8q5Eh?@kj1Y%XFAHf_hdKEMHk@*tfPM_u;=l2kT#jyJlY8 zZ}(RI&JNastf#lms+in(IjgC5aYNY`WxkJ>g&*=|96!BiOWgcbr%qb!*P729?QZ?6 zRrA<$=6|mncDLWmyzk*<c4=;ub?n65{mk*{>RUeFH>vO3!Qi?h`T=KR)_2Cros(q` zrr!L0L#TAiV);U2p+@gxZ`B_y65O@-44>dO5ph1@TNmwv1>fy$%wBo$+&WgT#8pop z)W1KvrsG3JiO}O;u{)0M6cpu=b+0}4U()?P(=nGF;+fwCy{@FkvLxKGX3gAtJaCcS qX{9?EN|FMnBE=+YEB(x$$D3}plVUPRyu-l2z~JfX=d#Wzp$P!`FXGq$ literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/images/marker-shadow.png b/frontend/3p/leaflet/images/marker-shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..9fd2979532a19a15b824ce763c76e04a8dafadfb GIT binary patch literal 618 zcmeAS@N?(olHy`uVBq!ia0y~yV9*3%4i*Lm2ByptwG0eQhMq2tAr*{oFSYhPb`W5> zz-9dRf4!`+aT{;(+DlW`OuKvh(cD`Fe?o50tvmGJPyYYkI}^-Pj=%i->5t$_?z+Eg z<0t)EHE)aXMy2F{nEjj_T;IYwdK?Rnnaqjf{1)D-;#kNmzt4GE;O+QxK@S+5(^AaU z7N=aDb)V1U?7Vn^%sUpxJr3q=Te918=e*elN$zhlHIzdXC1oeM8Mbg5Nj2o3WOPw+ zpMOwu*&gweJLb*OS~P7Ar@rLmS*ayg8lq+dZ0+?Zm6<qu;*}zfu2hy|uLF<soYNKV zknTP;LutbHx*an*6TNi~)JN`}Qs%BY>nX!yo^w|MJ60@P{_ADQggak&v`^0oPSK8g z6Zm$gzJVJ145{rKZ=dn?y=(KrV#&L&JR6VjWuMu>*SMBLWeLMd-$OHax6Mdiqt~NQ zs^Y#(?6|a*=efdFwcBoGHo3%{*nZNbWKCU{!`kM%S>CBD4~8GC3UcaXD%fwav8F%f z=oGOgmCmZ5<p%^+HM^ZH_x6bHNDI=Cc74Ja?y%tTtDab$aBsya^IN6GPu9I#9wb$A z=wi{KnJYXR9Z$DxUbr-1?cs*aiPfhaQ>0aHZd{<vr@<4{Ae6p%U(~+N6nB0l1;&_- z*G+D|PdcGqv!zC@Qe}mvm4OoXn?l8z0S~P09`rul+Zcayg7KCu2RnRB{eGO|=4Z1# z9=u0k2mABm5=R{pTwcxL{gH7-_|Ea<J;#=x5j}EbVPd^++($9~!rKR?|7cR)!4V{I dv}BHa{AJ^}7Ly#37#J8BJYD@<);T3K0RTo07ajlr literal 0 HcmV?d00001 diff --git a/frontend/3p/leaflet/leaflet.css b/frontend/3p/leaflet/leaflet.css new file mode 100644 index 0000000..2961b76 --- /dev/null +++ b/frontend/3p/leaflet/leaflet.css @@ -0,0 +1,661 @@ +/* required styles */ + +.leaflet-pane, +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-tile-container, +.leaflet-pane > svg, +.leaflet-pane > canvas, +.leaflet-zoom-box, +.leaflet-image-layer, +.leaflet-layer { + position: absolute; + left: 0; + top: 0; + } +.leaflet-container { + overflow: hidden; + } +.leaflet-tile, +.leaflet-marker-icon, +.leaflet-marker-shadow { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + -webkit-user-drag: none; + } +/* Prevents IE11 from highlighting tiles in blue */ +.leaflet-tile::selection { + background: transparent; +} +/* Safari renders non-retina tile on retina better with this, but Chrome is worse */ +.leaflet-safari .leaflet-tile { + image-rendering: -webkit-optimize-contrast; + } +/* hack that prevents hw layers "stretching" when loading new tiles */ +.leaflet-safari .leaflet-tile-container { + width: 1600px; + height: 1600px; + -webkit-transform-origin: 0 0; + } +.leaflet-marker-icon, +.leaflet-marker-shadow { + display: block; + } +/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */ +/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */ +.leaflet-container .leaflet-overlay-pane svg { + max-width: none !important; + max-height: none !important; + } +.leaflet-container .leaflet-marker-pane img, +.leaflet-container .leaflet-shadow-pane img, +.leaflet-container .leaflet-tile-pane img, +.leaflet-container img.leaflet-image-layer, +.leaflet-container .leaflet-tile { + max-width: none !important; + max-height: none !important; + width: auto; + padding: 0; + } + +.leaflet-container img.leaflet-tile { + /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */ + mix-blend-mode: plus-lighter; +} + +.leaflet-container.leaflet-touch-zoom { + -ms-touch-action: pan-x pan-y; + touch-action: pan-x pan-y; + } +.leaflet-container.leaflet-touch-drag { + -ms-touch-action: pinch-zoom; + /* Fallback for FF which doesn't support pinch-zoom */ + touch-action: none; + touch-action: pinch-zoom; +} +.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom { + -ms-touch-action: none; + touch-action: none; +} +.leaflet-container { + -webkit-tap-highlight-color: transparent; +} +.leaflet-container a { + -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4); +} +.leaflet-tile { + filter: inherit; + visibility: hidden; + } +.leaflet-tile-loaded { + visibility: inherit; + } +.leaflet-zoom-box { + width: 0; + height: 0; + -moz-box-sizing: border-box; + box-sizing: border-box; + z-index: 800; + } +/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */ +.leaflet-overlay-pane svg { + -moz-user-select: none; + } + +.leaflet-pane { z-index: 400; } + +.leaflet-tile-pane { z-index: 200; } +.leaflet-overlay-pane { z-index: 400; } +.leaflet-shadow-pane { z-index: 500; } +.leaflet-marker-pane { z-index: 600; } +.leaflet-tooltip-pane { z-index: 650; } +.leaflet-popup-pane { z-index: 700; } + +.leaflet-map-pane canvas { z-index: 100; } +.leaflet-map-pane svg { z-index: 200; } + +.leaflet-vml-shape { + width: 1px; + height: 1px; + } +.lvml { + behavior: url(#default#VML); + display: inline-block; + position: absolute; + } + + +/* control positioning */ + +.leaflet-control { + position: relative; + z-index: 800; + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } +.leaflet-top, +.leaflet-bottom { + position: absolute; + z-index: 1000; + pointer-events: none; + } +.leaflet-top { + top: 0; + } +.leaflet-right { + right: 0; + } +.leaflet-bottom { + bottom: 0; + } +.leaflet-left { + left: 0; + } +.leaflet-control { + float: left; + clear: both; + } +.leaflet-right .leaflet-control { + float: right; + } +.leaflet-top .leaflet-control { + margin-top: 10px; + } +.leaflet-bottom .leaflet-control { + margin-bottom: 10px; + } +.leaflet-left .leaflet-control { + margin-left: 10px; + } +.leaflet-right .leaflet-control { + margin-right: 10px; + } + + +/* zoom and fade animations */ + +.leaflet-fade-anim .leaflet-popup { + opacity: 0; + -webkit-transition: opacity 0.2s linear; + -moz-transition: opacity 0.2s linear; + transition: opacity 0.2s linear; + } +.leaflet-fade-anim .leaflet-map-pane .leaflet-popup { + opacity: 1; + } +.leaflet-zoom-animated { + -webkit-transform-origin: 0 0; + -ms-transform-origin: 0 0; + transform-origin: 0 0; + } +svg.leaflet-zoom-animated { + will-change: transform; +} + +.leaflet-zoom-anim .leaflet-zoom-animated { + -webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1); + -moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1); + transition: transform 0.25s cubic-bezier(0,0,0.25,1); + } +.leaflet-zoom-anim .leaflet-tile, +.leaflet-pan-anim .leaflet-tile { + -webkit-transition: none; + -moz-transition: none; + transition: none; + } + +.leaflet-zoom-anim .leaflet-zoom-hide { + visibility: hidden; + } + + +/* cursors */ + +.leaflet-interactive { + cursor: pointer; + } +.leaflet-grab { + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; + } +.leaflet-crosshair, +.leaflet-crosshair .leaflet-interactive { + cursor: crosshair; + } +.leaflet-popup-pane, +.leaflet-control { + cursor: auto; + } +.leaflet-dragging .leaflet-grab, +.leaflet-dragging .leaflet-grab .leaflet-interactive, +.leaflet-dragging .leaflet-marker-draggable { + cursor: move; + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; + } + +/* marker & overlays interactivity */ +.leaflet-marker-icon, +.leaflet-marker-shadow, +.leaflet-image-layer, +.leaflet-pane > svg path, +.leaflet-tile-container { + pointer-events: none; + } + +.leaflet-marker-icon.leaflet-interactive, +.leaflet-image-layer.leaflet-interactive, +.leaflet-pane > svg path.leaflet-interactive, +svg.leaflet-image-layer.leaflet-interactive path { + pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */ + pointer-events: auto; + } + +/* visual tweaks */ + +.leaflet-container { + background: #ddd; + outline-offset: 1px; + } +.leaflet-container a { + color: #0078A8; + } +.leaflet-zoom-box { + border: 2px dotted #38f; + background: rgba(255,255,255,0.5); + } + + +/* general typography */ +.leaflet-container { + font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; + font-size: 12px; + font-size: 0.75rem; + line-height: 1.5; + } + + +/* general toolbar styles */ + +.leaflet-bar { + box-shadow: 0 1px 5px rgba(0,0,0,0.65); + border-radius: 4px; + } +.leaflet-bar a { + background-color: #fff; + border-bottom: 1px solid #ccc; + width: 26px; + height: 26px; + line-height: 26px; + display: block; + text-align: center; + text-decoration: none; + color: black; + } +.leaflet-bar a, +.leaflet-control-layers-toggle { + background-position: 50% 50%; + background-repeat: no-repeat; + display: block; + } +.leaflet-bar a:hover, +.leaflet-bar a:focus { + background-color: #f4f4f4; + } +.leaflet-bar a:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + } +.leaflet-bar a:last-child { + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + border-bottom: none; + } +.leaflet-bar a.leaflet-disabled { + cursor: default; + background-color: #f4f4f4; + color: #bbb; + } + +.leaflet-touch .leaflet-bar a { + width: 30px; + height: 30px; + line-height: 30px; + } +.leaflet-touch .leaflet-bar a:first-child { + border-top-left-radius: 2px; + border-top-right-radius: 2px; + } +.leaflet-touch .leaflet-bar a:last-child { + border-bottom-left-radius: 2px; + border-bottom-right-radius: 2px; + } + +/* zoom control */ + +.leaflet-control-zoom-in, +.leaflet-control-zoom-out { + font: bold 18px 'Lucida Console', Monaco, monospace; + text-indent: 1px; + } + +.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out { + font-size: 22px; + } + + +/* layers control */ + +.leaflet-control-layers { + box-shadow: 0 1px 5px rgba(0,0,0,0.4); + background: #fff; + border-radius: 5px; + } +.leaflet-control-layers-toggle { + background-image: url(images/layers.png); + width: 36px; + height: 36px; + } +.leaflet-retina .leaflet-control-layers-toggle { + background-image: url(images/layers-2x.png); + background-size: 26px 26px; + } +.leaflet-touch .leaflet-control-layers-toggle { + width: 44px; + height: 44px; + } +.leaflet-control-layers .leaflet-control-layers-list, +.leaflet-control-layers-expanded .leaflet-control-layers-toggle { + display: none; + } +.leaflet-control-layers-expanded .leaflet-control-layers-list { + display: block; + position: relative; + } +.leaflet-control-layers-expanded { + padding: 6px 10px 6px 6px; + color: #333; + background: #fff; + } +.leaflet-control-layers-scrollbar { + overflow-y: scroll; + overflow-x: hidden; + padding-right: 5px; + } +.leaflet-control-layers-selector { + margin-top: 2px; + position: relative; + top: 1px; + } +.leaflet-control-layers label { + display: block; + font-size: 13px; + font-size: 1.08333em; + } +.leaflet-control-layers-separator { + height: 0; + border-top: 1px solid #ddd; + margin: 5px -10px 5px -6px; + } + +/* Default icon URLs */ +.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */ + background-image: url(images/marker-icon.png); + } + + +/* attribution and scale controls */ + +.leaflet-container .leaflet-control-attribution { + background: #fff; + background: rgba(255, 255, 255, 0.8); + margin: 0; + } +.leaflet-control-attribution, +.leaflet-control-scale-line { + padding: 0 5px; + color: #333; + line-height: 1.4; + } +.leaflet-control-attribution a { + text-decoration: none; + } +.leaflet-control-attribution a:hover, +.leaflet-control-attribution a:focus { + text-decoration: underline; + } +.leaflet-attribution-flag { + display: inline !important; + vertical-align: baseline !important; + width: 1em; + height: 0.6669em; + } +.leaflet-left .leaflet-control-scale { + margin-left: 5px; + } +.leaflet-bottom .leaflet-control-scale { + margin-bottom: 5px; + } +.leaflet-control-scale-line { + border: 2px solid #777; + border-top: none; + line-height: 1.1; + padding: 2px 5px 1px; + white-space: nowrap; + -moz-box-sizing: border-box; + box-sizing: border-box; + background: rgba(255, 255, 255, 0.8); + text-shadow: 1px 1px #fff; + } +.leaflet-control-scale-line:not(:first-child) { + border-top: 2px solid #777; + border-bottom: none; + margin-top: -2px; + } +.leaflet-control-scale-line:not(:first-child):not(:last-child) { + border-bottom: 2px solid #777; + } + +.leaflet-touch .leaflet-control-attribution, +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + box-shadow: none; + } +.leaflet-touch .leaflet-control-layers, +.leaflet-touch .leaflet-bar { + border: 2px solid rgba(0,0,0,0.2); + background-clip: padding-box; + } + + +/* popup */ + +.leaflet-popup { + position: absolute; + text-align: center; + margin-bottom: 20px; + } +.leaflet-popup-content-wrapper { + padding: 1px; + text-align: left; + border-radius: 12px; + } +.leaflet-popup-content { + margin: 13px 24px 13px 20px; + line-height: 1.3; + font-size: 13px; + font-size: 1.08333em; + min-height: 1px; + } +.leaflet-popup-content p { + margin: 17px 0; + margin: 1.3em 0; + } +.leaflet-popup-tip-container { + width: 40px; + height: 20px; + position: absolute; + left: 50%; + margin-top: -1px; + margin-left: -20px; + overflow: hidden; + pointer-events: none; + } +.leaflet-popup-tip { + width: 17px; + height: 17px; + padding: 1px; + + margin: -10px auto 0; + pointer-events: auto; + + -webkit-transform: rotate(45deg); + -moz-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + } +.leaflet-popup-content-wrapper, +.leaflet-popup-tip { + background: white; + color: #333; + box-shadow: 0 3px 14px rgba(0,0,0,0.4); + } +.leaflet-container a.leaflet-popup-close-button { + position: absolute; + top: 0; + right: 0; + border: none; + text-align: center; + width: 24px; + height: 24px; + font: 16px/24px Tahoma, Verdana, sans-serif; + color: #757575; + text-decoration: none; + background: transparent; + } +.leaflet-container a.leaflet-popup-close-button:hover, +.leaflet-container a.leaflet-popup-close-button:focus { + color: #585858; + } +.leaflet-popup-scrolled { + overflow: auto; + } + +.leaflet-oldie .leaflet-popup-content-wrapper { + -ms-zoom: 1; + } +.leaflet-oldie .leaflet-popup-tip { + width: 24px; + margin: 0 auto; + + -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)"; + filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678); + } + +.leaflet-oldie .leaflet-control-zoom, +.leaflet-oldie .leaflet-control-layers, +.leaflet-oldie .leaflet-popup-content-wrapper, +.leaflet-oldie .leaflet-popup-tip { + border: 1px solid #999; + } + + +/* div icon */ + +.leaflet-div-icon { + background: #fff; + border: 1px solid #666; + } + + +/* Tooltip */ +/* Base styles for the element that has a tooltip */ +.leaflet-tooltip { + position: absolute; + padding: 6px; + background-color: #fff; + border: 1px solid #fff; + border-radius: 3px; + color: #222; + white-space: nowrap; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + pointer-events: none; + box-shadow: 0 1px 3px rgba(0,0,0,0.4); + } +.leaflet-tooltip.leaflet-interactive { + cursor: pointer; + pointer-events: auto; + } +.leaflet-tooltip-top:before, +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + position: absolute; + pointer-events: none; + border: 6px solid transparent; + background: transparent; + content: ""; + } + +/* Directions */ + +.leaflet-tooltip-bottom { + margin-top: 6px; +} +.leaflet-tooltip-top { + margin-top: -6px; +} +.leaflet-tooltip-bottom:before, +.leaflet-tooltip-top:before { + left: 50%; + margin-left: -6px; + } +.leaflet-tooltip-top:before { + bottom: 0; + margin-bottom: -12px; + border-top-color: #fff; + } +.leaflet-tooltip-bottom:before { + top: 0; + margin-top: -12px; + margin-left: -6px; + border-bottom-color: #fff; + } +.leaflet-tooltip-left { + margin-left: -6px; +} +.leaflet-tooltip-right { + margin-left: 6px; +} +.leaflet-tooltip-left:before, +.leaflet-tooltip-right:before { + top: 50%; + margin-top: -6px; + } +.leaflet-tooltip-left:before { + right: 0; + margin-right: -12px; + border-left-color: #fff; + } +.leaflet-tooltip-right:before { + left: 0; + margin-left: -12px; + border-right-color: #fff; + } + +/* Printing */ + +@media print { + /* Prevent printers from removing background-images of controls. */ + .leaflet-control { + -webkit-print-color-adjust: exact; + print-color-adjust: exact; + } + } diff --git a/frontend/3p/leaflet/leaflet.js b/frontend/3p/leaflet/leaflet.js new file mode 100644 index 0000000..a3bf693 --- /dev/null +++ b/frontend/3p/leaflet/leaflet.js @@ -0,0 +1,6 @@ +/* @preserve + * Leaflet 1.9.4, a JS library for interactive maps. https://leafletjs.com + * (c) 2010-2023 Vladimir Agafonkin, (c) 2010-2011 CloudMade + */ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).leaflet={})}(this,function(t){"use strict";function l(t){for(var e,i,n=1,o=arguments.length;n<o;n++)for(e in i=arguments[n])t[e]=i[e];return t}var R=Object.create||function(t){return N.prototype=t,new N};function N(){}function a(t,e){var i,n=Array.prototype.slice;return t.bind?t.bind.apply(t,n.call(arguments,1)):(i=n.call(arguments,2),function(){return t.apply(e,i.length?i.concat(n.call(arguments)):arguments)})}var D=0;function h(t){return"_leaflet_id"in t||(t._leaflet_id=++D),t._leaflet_id}function j(t,e,i){var n,o,s=function(){n=!1,o&&(r.apply(i,o),o=!1)},r=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(s,e),n=!0)};return r}function H(t,e,i){var n=e[1],e=e[0],o=n-e;return t===n&&i?t:((t-e)%o+o)%o+e}function u(){return!1}function i(t,e){return!1===e?t:(e=Math.pow(10,void 0===e?6:e),Math.round(t*e)/e)}function W(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}function F(t){return W(t).split(/\s+/)}function c(t,e){for(var i in Object.prototype.hasOwnProperty.call(t,"options")||(t.options=t.options?R(t.options):{}),e)t.options[i]=e[i];return t.options}function U(t,e,i){var n,o=[];for(n in t)o.push(encodeURIComponent(i?n.toUpperCase():n)+"="+encodeURIComponent(t[n]));return(e&&-1!==e.indexOf("?")?"&":"?")+o.join("&")}var V=/\{ *([\w_ -]+) *\}/g;function q(t,i){return t.replace(V,function(t,e){e=i[e];if(void 0===e)throw new Error("No value provided for variable "+t);return e="function"==typeof e?e(i):e})}var d=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function G(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1}var K="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=";function Y(t){return window["webkit"+t]||window["moz"+t]||window["ms"+t]}var X=0;function J(t){var e=+new Date,i=Math.max(0,16-(e-X));return X=e+i,window.setTimeout(t,i)}var $=window.requestAnimationFrame||Y("RequestAnimationFrame")||J,Q=window.cancelAnimationFrame||Y("CancelAnimationFrame")||Y("CancelRequestAnimationFrame")||function(t){window.clearTimeout(t)};function x(t,e,i){if(!i||$!==J)return $.call(window,a(t,e));t.call(e)}function r(t){t&&Q.call(window,t)}var tt={__proto__:null,extend:l,create:R,bind:a,get lastId(){return D},stamp:h,throttle:j,wrapNum:H,falseFn:u,formatNum:i,trim:W,splitWords:F,setOptions:c,getParamString:U,template:q,isArray:d,indexOf:G,emptyImageUrl:K,requestFn:$,cancelFn:Q,requestAnimFrame:x,cancelAnimFrame:r};function et(){}et.extend=function(t){function e(){c(this),this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()}var i,n=e.__super__=this.prototype,o=R(n);for(i in(o.constructor=e).prototype=o,this)Object.prototype.hasOwnProperty.call(this,i)&&"prototype"!==i&&"__super__"!==i&&(e[i]=this[i]);if(t.statics&&l(e,t.statics),t.includes){var s=t.includes;if("undefined"!=typeof L&&L&&L.Mixin){s=d(s)?s:[s];for(var r=0;r<s.length;r++)s[r]===L.Mixin.Events&&console.warn("Deprecated include of L.Mixin.Events: this property will be removed in future releases, please inherit from L.Evented instead.",(new Error).stack)}l.apply(null,[o].concat(t.includes))}return l(o,t),delete o.statics,delete o.includes,o.options&&(o.options=n.options?R(n.options):{},l(o.options,t.options)),o._initHooks=[],o.callInitHooks=function(){if(!this._initHooksCalled){n.callInitHooks&&n.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=o._initHooks.length;t<e;t++)o._initHooks[t].call(this)}},e},et.include=function(t){var e=this.prototype.options;return l(this.prototype,t),t.options&&(this.prototype.options=e,this.mergeOptions(t.options)),this},et.mergeOptions=function(t){return l(this.prototype.options,t),this},et.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this};var e={on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i);return this},off:function(t,e,i){if(arguments.length)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=F(t);for(var o=1===arguments.length,s=0,r=t.length;s<r;s++)o?this._off(t[s]):this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,i,n){"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1===this._listens(t,e,i)&&(e={fn:e,ctx:i=i===this?void 0:i},n&&(e.once=!0),this._events=this._events||{},this._events[t]=this._events[t]||[],this._events[t].push(e))},_off:function(t,e,i){var n,o,s;if(this._events&&(n=this._events[t]))if(1===arguments.length){if(this._firingCount)for(o=0,s=n.length;o<s;o++)n[o].fn=u;delete this._events[t]}else"function"!=typeof e?console.warn("wrong listener type: "+typeof e):!1!==(e=this._listens(t,e,i))&&(i=n[e],this._firingCount&&(i.fn=u,this._events[t]=n=n.slice()),n.splice(e,1))},fire:function(t,e,i){if(this.listens(t,i)){var n=l({},e,{type:t,target:this,sourceTarget:e&&e.sourceTarget||this});if(this._events){var o=this._events[t];if(o){this._firingCount=this._firingCount+1||1;for(var s=0,r=o.length;s<r;s++){var a=o[s],h=a.fn;a.once&&this.off(t,h,a.ctx),h.call(a.ctx||this,n)}this._firingCount--}}i&&this._propagateEvent(n)}return this},listens:function(t,e,i,n){"string"!=typeof t&&console.warn('"string" type argument expected');var o=e,s=("function"!=typeof e&&(n=!!e,i=o=void 0),this._events&&this._events[t]);if(s&&s.length&&!1!==this._listens(t,o,i))return!0;if(n)for(var r in this._eventParents)if(this._eventParents[r].listens(t,e,i,n))return!0;return!1},_listens:function(t,e,i){if(this._events){var n=this._events[t]||[];if(!e)return!!n.length;i===this&&(i=void 0);for(var o=0,s=n.length;o<s;o++)if(n[o].fn===e&&n[o].ctx===i)return o}return!1},once:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e,!0);else for(var o=0,s=(t=F(t)).length;o<s;o++)this._on(t[o],e,i,!0);return this},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[h(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[h(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,l({layer:t.target,propagatedFrom:t.target},t),!0)}},it=(e.addEventListener=e.on,e.removeEventListener=e.clearAllEventListeners=e.off,e.addOneTimeEventListener=e.once,e.fireEvent=e.fire,e.hasEventListeners=e.listens,et.extend(e));function p(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e}var nt=Math.trunc||function(t){return 0<t?Math.floor(t):Math.ceil(t)};function m(t,e,i){return t instanceof p?t:d(t)?new p(t[0],t[1]):null==t?t:"object"==typeof t&&"x"in t&&"y"in t?new p(t.x,t.y):new p(t,e,i)}function f(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function _(t,e){return!t||t instanceof f?t:new f(t,e)}function s(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])}function g(t,e){return t instanceof s?t:new s(t,e)}function v(t,e,i){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,void 0!==i&&(this.alt=+i)}function w(t,e,i){return t instanceof v?t:d(t)&&"object"!=typeof t[0]?3===t.length?new v(t[0],t[1],t[2]):2===t.length?new v(t[0],t[1]):null:null==t?t:"object"==typeof t&&"lat"in t?new v(t.lat,"lng"in t?t.lng:t.lon,t.alt):void 0===e?null:new v(t,e,i)}p.prototype={clone:function(){return new p(this.x,this.y)},add:function(t){return this.clone()._add(m(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(m(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new p(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new p(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},trunc:function(){return this.clone()._trunc()},_trunc:function(){return this.x=nt(this.x),this.y=nt(this.y),this},distanceTo:function(t){var e=(t=m(t)).x-this.x,t=t.y-this.y;return Math.sqrt(e*e+t*t)},equals:function(t){return(t=m(t)).x===this.x&&t.y===this.y},contains:function(t){return t=m(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+i(this.x)+", "+i(this.y)+")"}},f.prototype={extend:function(t){var e,i;if(t){if(t instanceof p||"number"==typeof t[0]||"x"in t)e=i=m(t);else if(e=(t=_(t)).min,i=t.max,!e||!i)return this;this.min||this.max?(this.min.x=Math.min(e.x,this.min.x),this.max.x=Math.max(i.x,this.max.x),this.min.y=Math.min(e.y,this.min.y),this.max.y=Math.max(i.y,this.max.y)):(this.min=e.clone(),this.max=i.clone())}return this},getCenter:function(t){return m((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return m(this.min.x,this.max.y)},getTopRight:function(){return m(this.max.x,this.min.y)},getTopLeft:function(){return this.min},getBottomRight:function(){return this.max},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return(t=("number"==typeof t[0]||t instanceof p?m:_)(t))instanceof f?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>=e.x&&n.x<=i.x,t=t.y>=e.y&&n.y<=i.y;return o&&t},overlaps:function(t){t=_(t);var e=this.min,i=this.max,n=t.min,t=t.max,o=t.x>e.x&&n.x<i.x,t=t.y>e.y&&n.y<i.y;return o&&t},isValid:function(){return!(!this.min||!this.max)},pad:function(t){var e=this.min,i=this.max,n=Math.abs(e.x-i.x)*t,t=Math.abs(e.y-i.y)*t;return _(m(e.x-n,e.y-t),m(i.x+n,i.y+t))},equals:function(t){return!!t&&(t=_(t),this.min.equals(t.getTopLeft())&&this.max.equals(t.getBottomRight()))}},s.prototype={extend:function(t){var e,i,n=this._southWest,o=this._northEast;if(t instanceof v)i=e=t;else{if(!(t instanceof s))return t?this.extend(w(t)||g(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||o?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),o.lat=Math.max(i.lat,o.lat),o.lng=Math.max(i.lng,o.lng)):(this._southWest=new v(e.lat,e.lng),this._northEast=new v(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,t=Math.abs(e.lng-i.lng)*t;return new s(new v(e.lat-n,e.lng-t),new v(i.lat+n,i.lng+t))},getCenter:function(){return new v((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new v(this.getNorth(),this.getWest())},getSouthEast:function(){return new v(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t=("number"==typeof t[0]||t instanceof v||"lat"in t?w:g)(t);var e,i,n=this._southWest,o=this._northEast;return t instanceof s?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=o.lat&&e.lng>=n.lng&&i.lng<=o.lng},intersects:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>=e.lat&&n.lat<=i.lat,t=t.lng>=e.lng&&n.lng<=i.lng;return o&&t},overlaps:function(t){t=g(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),t=t.getNorthEast(),o=t.lat>e.lat&&n.lat<i.lat,t=t.lng>e.lng&&n.lng<i.lng;return o&&t},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t,e){return!!t&&(t=g(t),this._southWest.equals(t.getSouthWest(),e)&&this._northEast.equals(t.getNorthEast(),e))},isValid:function(){return!(!this._southWest||!this._northEast)}};var ot={latLngToPoint:function(t,e){t=this.projection.project(t),e=this.scale(e);return this.transformation._transform(t,e)},pointToLatLng:function(t,e){e=this.scale(e),t=this.transformation.untransform(t,e);return this.projection.unproject(t)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){var e;return this.infinite?null:(e=this.projection.bounds,t=this.scale(t),new f(this.transformation.transform(e.min,t),this.transformation.transform(e.max,t)))},infinite:!(v.prototype={equals:function(t,e){return!!t&&(t=w(t),Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng))<=(void 0===e?1e-9:e))},toString:function(t){return"LatLng("+i(this.lat,t)+", "+i(this.lng,t)+")"},distanceTo:function(t){return st.distance(this,w(t))},wrap:function(){return st.wrapLatLng(this)},toBounds:function(t){var t=180*t/40075017,e=t/Math.cos(Math.PI/180*this.lat);return g([this.lat-t,this.lng-e],[this.lat+t,this.lng+e])},clone:function(){return new v(this.lat,this.lng,this.alt)}}),wrapLatLng:function(t){var e=this.wrapLng?H(t.lng,this.wrapLng,!0):t.lng;return new v(this.wrapLat?H(t.lat,this.wrapLat,!0):t.lat,e,t.alt)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,e=e.lng-i.lng;return 0==n&&0==e?t:(i=t.getSouthWest(),t=t.getNorthEast(),new s(new v(i.lat-n,i.lng-e),new v(t.lat-n,t.lng-e)))}},st=l({},ot,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin((e.lat-t.lat)*i/2),e=Math.sin((e.lng-t.lng)*i/2),t=s*s+Math.cos(n)*Math.cos(o)*e*e,i=2*Math.atan2(Math.sqrt(t),Math.sqrt(1-t));return this.R*i}}),rt=6378137,rt={R:rt,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,i=Math.max(Math.min(i,t.lat),-i),i=Math.sin(i*e);return new p(this.R*t.lng*e,this.R*Math.log((1+i)/(1-i))/2)},unproject:function(t){var e=180/Math.PI;return new v((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:new f([-(rt=rt*Math.PI),-rt],[rt,rt])};function at(t,e,i,n){d(t)?(this._a=t[0],this._b=t[1],this._c=t[2],this._d=t[3]):(this._a=t,this._b=e,this._c=i,this._d=n)}function ht(t,e,i,n){return new at(t,e,i,n)}at.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return t.x=(e=e||1)*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return new p((t.x/(e=e||1)-this._b)/this._a,(t.y/e-this._d)/this._c)}};var lt=l({},st,{code:"EPSG:3857",projection:rt,transformation:ht(lt=.5/(Math.PI*rt.R),.5,-lt,.5)}),ut=l({},lt,{code:"EPSG:900913"});function ct(t){return document.createElementNS("http://www.w3.org/2000/svg",t)}function dt(t,e){for(var i,n,o,s,r="",a=0,h=t.length;a<h;a++){for(i=0,n=(o=t[a]).length;i<n;i++)r+=(i?"L":"M")+(s=o[i]).x+" "+s.y;r+=e?b.svg?"z":"x":""}return r||"M0 0"}var _t=document.documentElement.style,pt="ActiveXObject"in window,mt=pt&&!document.addEventListener,n="msLaunchUri"in navigator&&!("documentMode"in document),ft=y("webkit"),gt=y("android"),vt=y("android 2")||y("android 3"),yt=parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.userAgent)[1],10),yt=gt&&y("Google")&&yt<537&&!("AudioNode"in window),xt=!!window.opera,wt=!n&&y("chrome"),bt=y("gecko")&&!ft&&!xt&&!pt,Pt=!wt&&y("safari"),Lt=y("phantom"),o="OTransition"in _t,Tt=0===navigator.platform.indexOf("Win"),Mt=pt&&"transition"in _t,zt="WebKitCSSMatrix"in window&&"m11"in new window.WebKitCSSMatrix&&!vt,_t="MozPerspective"in _t,Ct=!window.L_DISABLE_3D&&(Mt||zt||_t)&&!o&&!Lt,Zt="undefined"!=typeof orientation||y("mobile"),St=Zt&&ft,Et=Zt&&zt,kt=!window.PointerEvent&&window.MSPointerEvent,Ot=!(!window.PointerEvent&&!kt),At="ontouchstart"in window||!!window.TouchEvent,Bt=!window.L_NO_TOUCH&&(At||Ot),It=Zt&&xt,Rt=Zt&&bt,Nt=1<(window.devicePixelRatio||window.screen.deviceXDPI/window.screen.logicalXDPI),Dt=function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("testPassiveEventSupport",u,e),window.removeEventListener("testPassiveEventSupport",u,e)}catch(t){}return t}(),jt=!!document.createElement("canvas").getContext,Ht=!(!document.createElementNS||!ct("svg").createSVGRect),Wt=!!Ht&&((Wt=document.createElement("div")).innerHTML="<svg/>","http://www.w3.org/2000/svg"===(Wt.firstChild&&Wt.firstChild.namespaceURI));function y(t){return 0<=navigator.userAgent.toLowerCase().indexOf(t)}var b={ie:pt,ielt9:mt,edge:n,webkit:ft,android:gt,android23:vt,androidStock:yt,opera:xt,chrome:wt,gecko:bt,safari:Pt,phantom:Lt,opera12:o,win:Tt,ie3d:Mt,webkit3d:zt,gecko3d:_t,any3d:Ct,mobile:Zt,mobileWebkit:St,mobileWebkit3d:Et,msPointer:kt,pointer:Ot,touch:Bt,touchNative:At,mobileOpera:It,mobileGecko:Rt,retina:Nt,passiveEvents:Dt,canvas:jt,svg:Ht,vml:!Ht&&function(){try{var t=document.createElement("div"),e=(t.innerHTML='<v:shape adj="1"/>',t.firstChild);return e.style.behavior="url(#default#VML)",e&&"object"==typeof e.adj}catch(t){return!1}}(),inlineSvg:Wt,mac:0===navigator.platform.indexOf("Mac"),linux:0===navigator.platform.indexOf("Linux")},Ft=b.msPointer?"MSPointerDown":"pointerdown",Ut=b.msPointer?"MSPointerMove":"pointermove",Vt=b.msPointer?"MSPointerUp":"pointerup",qt=b.msPointer?"MSPointerCancel":"pointercancel",Gt={touchstart:Ft,touchmove:Ut,touchend:Vt,touchcancel:qt},Kt={touchstart:function(t,e){e.MSPOINTER_TYPE_TOUCH&&e.pointerType===e.MSPOINTER_TYPE_TOUCH&&O(e);ee(t,e)},touchmove:ee,touchend:ee,touchcancel:ee},Yt={},Xt=!1;function Jt(t,e,i){return"touchstart"!==e||Xt||(document.addEventListener(Ft,$t,!0),document.addEventListener(Ut,Qt,!0),document.addEventListener(Vt,te,!0),document.addEventListener(qt,te,!0),Xt=!0),Kt[e]?(i=Kt[e].bind(this,i),t.addEventListener(Gt[e],i,!1),i):(console.warn("wrong event specified:",e),u)}function $t(t){Yt[t.pointerId]=t}function Qt(t){Yt[t.pointerId]&&(Yt[t.pointerId]=t)}function te(t){delete Yt[t.pointerId]}function ee(t,e){if(e.pointerType!==(e.MSPOINTER_TYPE_MOUSE||"mouse")){for(var i in e.touches=[],Yt)e.touches.push(Yt[i]);e.changedTouches=[e],t(e)}}var ie=200;function ne(t,i){t.addEventListener("dblclick",i);var n,o=0;function e(t){var e;1!==t.detail?n=t.detail:"mouse"===t.pointerType||t.sourceCapabilities&&!t.sourceCapabilities.firesTouchEvents||((e=Ne(t)).some(function(t){return t instanceof HTMLLabelElement&&t.attributes.for})&&!e.some(function(t){return t instanceof HTMLInputElement||t instanceof HTMLSelectElement})||((e=Date.now())-o<=ie?2===++n&&i(function(t){var e,i,n={};for(i in t)e=t[i],n[i]=e&&e.bind?e.bind(t):e;return(t=n).type="dblclick",n.detail=2,n.isTrusted=!1,n._simulated=!0,n}(t)):n=1,o=e))}return t.addEventListener("click",e),{dblclick:i,simDblclick:e}}var oe,se,re,ae,he,le,ue=we(["transform","webkitTransform","OTransform","MozTransform","msTransform"]),ce=we(["webkitTransition","transition","OTransition","MozTransition","msTransition"]),de="webkitTransition"===ce||"OTransition"===ce?ce+"End":"transitionend";function _e(t){return"string"==typeof t?document.getElementById(t):t}function pe(t,e){var i=t.style[e]||t.currentStyle&&t.currentStyle[e];return"auto"===(i=i&&"auto"!==i||!document.defaultView?i:(t=document.defaultView.getComputedStyle(t,null))?t[e]:null)?null:i}function P(t,e,i){t=document.createElement(t);return t.className=e||"",i&&i.appendChild(t),t}function T(t){var e=t.parentNode;e&&e.removeChild(t)}function me(t){for(;t.firstChild;)t.removeChild(t.firstChild)}function fe(t){var e=t.parentNode;e&&e.lastChild!==t&&e.appendChild(t)}function ge(t){var e=t.parentNode;e&&e.firstChild!==t&&e.insertBefore(t,e.firstChild)}function ve(t,e){return void 0!==t.classList?t.classList.contains(e):0<(t=xe(t)).length&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(t)}function M(t,e){var i;if(void 0!==t.classList)for(var n=F(e),o=0,s=n.length;o<s;o++)t.classList.add(n[o]);else ve(t,e)||ye(t,((i=xe(t))?i+" ":"")+e)}function z(t,e){void 0!==t.classList?t.classList.remove(e):ye(t,W((" "+xe(t)+" ").replace(" "+e+" "," ")))}function ye(t,e){void 0===t.className.baseVal?t.className=e:t.className.baseVal=e}function xe(t){return void 0===(t=t.correspondingElement?t.correspondingElement:t).className.baseVal?t.className:t.className.baseVal}function C(t,e){if("opacity"in t.style)t.style.opacity=e;else if("filter"in t.style){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"}}function we(t){for(var e=document.documentElement.style,i=0;i<t.length;i++)if(t[i]in e)return t[i];return!1}function be(t,e,i){e=e||new p(0,0);t.style[ue]=(b.ie3d?"translate("+e.x+"px,"+e.y+"px)":"translate3d("+e.x+"px,"+e.y+"px,0)")+(i?" scale("+i+")":"")}function Z(t,e){t._leaflet_pos=e,b.any3d?be(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")}function Pe(t){return t._leaflet_pos||new p(0,0)}function Le(){S(window,"dragstart",O)}function Te(){k(window,"dragstart",O)}function Me(t){for(;-1===t.tabIndex;)t=t.parentNode;t.style&&(ze(),le=(he=t).style.outlineStyle,t.style.outlineStyle="none",S(window,"keydown",ze))}function ze(){he&&(he.style.outlineStyle=le,le=he=void 0,k(window,"keydown",ze))}function Ce(t){for(;!((t=t.parentNode).offsetWidth&&t.offsetHeight||t===document.body););return t}function Ze(t){var e=t.getBoundingClientRect();return{x:e.width/t.offsetWidth||1,y:e.height/t.offsetHeight||1,boundingClientRect:e}}ae="onselectstart"in document?(re=function(){S(window,"selectstart",O)},function(){k(window,"selectstart",O)}):(se=we(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]),re=function(){var t;se&&(t=document.documentElement.style,oe=t[se],t[se]="none")},function(){se&&(document.documentElement.style[se]=oe,oe=void 0)});pt={__proto__:null,TRANSFORM:ue,TRANSITION:ce,TRANSITION_END:de,get:_e,getStyle:pe,create:P,remove:T,empty:me,toFront:fe,toBack:ge,hasClass:ve,addClass:M,removeClass:z,setClass:ye,getClass:xe,setOpacity:C,testProp:we,setTransform:be,setPosition:Z,getPosition:Pe,get disableTextSelection(){return re},get enableTextSelection(){return ae},disableImageDrag:Le,enableImageDrag:Te,preventOutline:Me,restoreOutline:ze,getSizedParentNode:Ce,getScale:Ze};function S(t,e,i,n){if(e&&"object"==typeof e)for(var o in e)ke(t,o,e[o],i);else for(var s=0,r=(e=F(e)).length;s<r;s++)ke(t,e[s],i,n);return this}var E="_leaflet_events";function k(t,e,i,n){if(1===arguments.length)Se(t),delete t[E];else if(e&&"object"==typeof e)for(var o in e)Oe(t,o,e[o],i);else if(e=F(e),2===arguments.length)Se(t,function(t){return-1!==G(e,t)});else for(var s=0,r=e.length;s<r;s++)Oe(t,e[s],i,n);return this}function Se(t,e){for(var i in t[E]){var n=i.split(/\d/)[0];e&&!e(n)||Oe(t,n,null,null,i)}}var Ee={mouseenter:"mouseover",mouseleave:"mouseout",wheel:!("onwheel"in window)&&"mousewheel"};function ke(e,t,i,n){var o,s,r=t+h(i)+(n?"_"+h(n):"");e[E]&&e[E][r]||(s=o=function(t){return i.call(n||e,t||window.event)},!b.touchNative&&b.pointer&&0===t.indexOf("touch")?o=Jt(e,t,o):b.touch&&"dblclick"===t?o=ne(e,o):"addEventListener"in e?"touchstart"===t||"touchmove"===t||"wheel"===t||"mousewheel"===t?e.addEventListener(Ee[t]||t,o,!!b.passiveEvents&&{passive:!1}):"mouseenter"===t||"mouseleave"===t?e.addEventListener(Ee[t],o=function(t){t=t||window.event,We(e,t)&&s(t)},!1):e.addEventListener(t,s,!1):e.attachEvent("on"+t,o),e[E]=e[E]||{},e[E][r]=o)}function Oe(t,e,i,n,o){o=o||e+h(i)+(n?"_"+h(n):"");var s,r,i=t[E]&&t[E][o];i&&(!b.touchNative&&b.pointer&&0===e.indexOf("touch")?(n=t,r=i,Gt[s=e]?n.removeEventListener(Gt[s],r,!1):console.warn("wrong event specified:",s)):b.touch&&"dblclick"===e?(n=i,(r=t).removeEventListener("dblclick",n.dblclick),r.removeEventListener("click",n.simDblclick)):"removeEventListener"in t?t.removeEventListener(Ee[e]||e,i,!1):t.detachEvent("on"+e,i),t[E][o]=null)}function Ae(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,this}function Be(t){return ke(t,"wheel",Ae),this}function Ie(t){return S(t,"mousedown touchstart dblclick contextmenu",Ae),t._leaflet_disable_click=!0,this}function O(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this}function Re(t){return O(t),Ae(t),this}function Ne(t){if(t.composedPath)return t.composedPath();for(var e=[],i=t.target;i;)e.push(i),i=i.parentNode;return e}function De(t,e){var i,n;return e?(n=(i=Ze(e)).boundingClientRect,new p((t.clientX-n.left)/i.x-e.clientLeft,(t.clientY-n.top)/i.y-e.clientTop)):new p(t.clientX,t.clientY)}var je=b.linux&&b.chrome?window.devicePixelRatio:b.mac?3*window.devicePixelRatio:0<window.devicePixelRatio?2*window.devicePixelRatio:1;function He(t){return b.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/je:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0}function We(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t}var mt={__proto__:null,on:S,off:k,stopPropagation:Ae,disableScrollPropagation:Be,disableClickPropagation:Ie,preventDefault:O,stop:Re,getPropagationPath:Ne,getMousePosition:De,getWheelDelta:He,isExternalTarget:We,addListener:S,removeListener:k},Fe=it.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=Pe(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=x(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){t=this._startPos.add(this._offset.multiplyBy(t));e&&t._round(),Z(this._el,t),this.fire("step")},_complete:function(){r(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),A=it.extend({options:{crs:lt,center:void 0,zoom:void 0,minZoom:void 0,maxZoom:void 0,layers:[],maxBounds:void 0,renderer:void 0,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=c(this,e),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this._initContainer(t),this._initLayout(),this._onResize=a(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),void 0!==e.zoom&&(this._zoom=this._limitZoom(e.zoom)),e.center&&void 0!==e.zoom&&this.setView(w(e.center),e.zoom,{reset:!0}),this.callInitHooks(),this._zoomAnimated=ce&&b.any3d&&!b.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),S(this._proxy,de,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,i){if((e=void 0===e?this._zoom:this._limitZoom(e),t=this._limitCenter(w(t),e,this.options.maxBounds),i=i||{},this._stop(),this._loaded&&!i.reset&&!0!==i)&&(void 0!==i.animate&&(i.zoom=l({animate:i.animate},i.zoom),i.pan=l({animate:i.animate,duration:i.duration},i.pan)),this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,i.zoom):this._tryAnimatedPan(t,i.pan)))return clearTimeout(this._sizeTimer),this;return this._resetView(t,e,i.pan&&i.pan.noMoveStart),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(b.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),o=this.getSize().divideBy(2),t=(t instanceof p?t:this.latLngToContainerPoint(t)).subtract(o).multiplyBy(1-1/n),n=this.containerPointToLatLng(o.add(t));return this.setView(n,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():g(t);var i=m(e.paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.getBoundsZoom(t,!1,i.add(n));return(o="number"==typeof e.maxZoom?Math.min(e.maxZoom,o):o)===1/0?{center:t.getCenter(),zoom:o}:(e=n.subtract(i).divideBy(2),n=this.project(t.getSouthWest(),o),i=this.project(t.getNorthEast(),o),{center:this.unproject(n.add(i).divideBy(2).add(e),o),zoom:o})},fitBounds:function(t,e){if((t=g(t)).isValid())return t=this._getBoundsCenterZoom(t,e),this.setView(t.center,t.zoom,e);throw new Error("Bounds are not valid.")},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){var i;return e=e||{},(t=m(t).round()).x||t.y?(!0===e.animate||this.getSize().contains(t)?(this._panAnim||(this._panAnim=new Fe,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),!1!==e.animate?(M(this._mapPane,"leaflet-pan-anim"),i=this._getMapPanePos().subtract(t).round(),this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)):(this._rawPanBy(t),this.fire("move").fire("moveend"))):this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this):this.fire("moveend")},flyTo:function(n,o,t){if(!1===(t=t||{}).animate||!b.any3d)return this.setView(n,o,t);this._stop();var s=this.project(this.getCenter()),r=this.project(n),e=this.getSize(),a=this._zoom,h=(n=w(n),o=void 0===o?a:o,Math.max(e.x,e.y)),i=h*this.getZoomScale(a,o),l=r.distanceTo(s)||1,u=1.42,c=u*u;function d(t){t=(i*i-h*h+(t?-1:1)*c*c*l*l)/(2*(t?i:h)*c*l),t=Math.sqrt(t*t+1)-t;return t<1e-9?-18:Math.log(t)}function _(t){return(Math.exp(t)-Math.exp(-t))/2}function p(t){return(Math.exp(t)+Math.exp(-t))/2}var m=d(0);function f(t){return h*(p(m)*(_(t=m+u*t)/p(t))-_(m))/c}var g=Date.now(),v=(d(1)-m)/u,y=t.duration?1e3*t.duration:1e3*v*.8;return this._moveStart(!0,t.noMoveStart),function t(){var e=(Date.now()-g)/y,i=(1-Math.pow(1-e,1.5))*v;e<=1?(this._flyToFrame=x(t,this),this._move(this.unproject(s.add(r.subtract(s).multiplyBy(f(i)/l)),a),this.getScaleZoom(h/(e=i,h*(p(m)/p(m+u*e))),a),{flyTo:!0})):this._move(n,o)._moveEnd(!0)}.call(this),this},flyToBounds:function(t,e){t=this._getBoundsCenterZoom(t,e);return this.flyTo(t.center,t.zoom,e)},setMaxBounds:function(t){return t=g(t),this.listens("moveend",this._panInsideMaxBounds)&&this.off("moveend",this._panInsideMaxBounds),t.isValid()?(this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this)},setMinZoom:function(t){var e=this.options.minZoom;return this.options.minZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()<this.options.minZoom)?this.setZoom(t):this},setMaxZoom:function(t){var e=this.options.maxZoom;return this.options.maxZoom=t,this._loaded&&e!==t&&(this.fire("zoomlevelschange"),this.getZoom()>this.options.maxZoom)?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),t=this._limitCenter(i,this._zoom,g(t));return i.equals(t)||this.panTo(t,e),this._enforcingBounds=!1,this},panInside:function(t,e){var i=m((e=e||{}).paddingTopLeft||e.padding||[0,0]),n=m(e.paddingBottomRight||e.padding||[0,0]),o=this.project(this.getCenter()),t=this.project(t),s=this.getPixelBounds(),i=_([s.min.add(i),s.max.subtract(n)]),s=i.getSize();return i.contains(t)||(this._enforcingBounds=!0,n=t.subtract(i.getCenter()),i=i.extend(t).getSize().subtract(s),o.x+=n.x<0?-i.x:i.x,o.y+=n.y<0?-i.y:i.y,this.panTo(this.unproject(o),e),this._enforcingBounds=!1),this},invalidateSize:function(t){if(!this._loaded)return this;t=l({animate:!1,pan:!0},!0===t?{animate:!0}:t);var e=this.getSize(),i=(this._sizeChanged=!0,this._lastCenter=null,this.getSize()),n=e.divideBy(2).round(),o=i.divideBy(2).round(),n=n.subtract(o);return n.x||n.y?(t.animate&&t.pan?this.panBy(n):(t.pan&&this._rawPanBy(n),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(a(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){var e,i;return t=this._locateOptions=l({timeout:1e4,watch:!1},t),"geolocation"in navigator?(e=a(this._handleGeolocationResponse,this),i=a(this._handleGeolocationError,this),t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t)):this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e;this._container._leaflet_id&&(e=t.code,t=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout"),this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+t+"."}))},_handleGeolocationResponse:function(t){if(this._container._leaflet_id){var e,i,n=new v(t.coords.latitude,t.coords.longitude),o=n.toBounds(2*t.coords.accuracy),s=this._locateOptions,r=(s.setView&&(e=this.getBoundsZoom(o),this.setView(n,s.maxZoom?Math.min(e,s.maxZoom):e)),{latlng:n,bounds:o,timestamp:t.timestamp});for(i in t.coords)"number"==typeof t.coords[i]&&(r[i]=t.coords[i]);this.fire("locationfound",r)}},addHandler:function(t,e){return e&&(e=this[t]=new e(this),this._handlers.push(e),this.options[t]&&e.enable()),this},remove:function(){if(this._initEvents(!0),this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=void 0,this._containerId=void 0}for(var t in void 0!==this._locationWatchId&&this.stopLocate(),this._stop(),T(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._resizeRequest&&(r(this._resizeRequest),this._resizeRequest=null),this._clearHandlers(),this._loaded&&this.fire("unload"),this._layers)this._layers[t].remove();for(t in this._panes)T(this._panes[t]);return this._layers=[],this._panes=[],delete this._mapPane,delete this._renderer,this},createPane:function(t,e){e=P("div","leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),e||this._mapPane);return t&&(this._panes[t]=e),e},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter.clone():this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds();return new s(this.unproject(t.getBottomLeft()),this.unproject(t.getTopRight()))},getMinZoom:function(){return void 0===this.options.minZoom?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return void 0===this.options.maxZoom?void 0===this._layersMaxZoom?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=g(t),i=m(i||[0,0]);var n=this.getZoom()||0,o=this.getMinZoom(),s=this.getMaxZoom(),r=t.getNorthWest(),t=t.getSouthEast(),i=this.getSize().subtract(i),t=_(this.project(t,n),this.project(r,n)).getSize(),r=b.any3d?this.options.zoomSnap:1,a=i.x/t.x,i=i.y/t.y,t=e?Math.max(a,i):Math.min(a,i),n=this.getScaleZoom(t,n);return r&&(n=Math.round(n/(r/100))*(r/100),n=e?Math.ceil(n/r)*r:Math.floor(n/r)*r),Math.max(o,Math.min(s,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new p(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){t=this._getTopLeftPoint(t,e);return new f(t,t.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(void 0===t?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var i=this.options.crs;return e=void 0===e?this._zoom:e,i.scale(t)/i.scale(e)},getScaleZoom:function(t,e){var i=this.options.crs,t=(e=void 0===e?this._zoom:e,i.zoom(t*i.scale(e)));return isNaN(t)?1/0:t},project:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.latLngToPoint(w(t),e)},unproject:function(t,e){return e=void 0===e?this._zoom:e,this.options.crs.pointToLatLng(m(t),e)},layerPointToLatLng:function(t){t=m(t).add(this.getPixelOrigin());return this.unproject(t)},latLngToLayerPoint:function(t){return this.project(w(t))._round()._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(w(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(g(t))},distance:function(t,e){return this.options.crs.distance(w(t),w(e))},containerPointToLayerPoint:function(t){return m(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return m(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){t=this.containerPointToLayerPoint(m(t));return this.layerPointToLatLng(t)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(w(t)))},mouseEventToContainerPoint:function(t){return De(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){t=this._container=_e(t);if(!t)throw new Error("Map container not found.");if(t._leaflet_id)throw new Error("Map container is already initialized.");S(t,"scroll",this._onScroll,this),this._containerId=h(t)},_initLayout:function(){var t=this._container,e=(this._fadeAnimated=this.options.fadeAnimation&&b.any3d,M(t,"leaflet-container"+(b.touch?" leaflet-touch":"")+(b.retina?" leaflet-retina":"")+(b.ielt9?" leaflet-oldie":"")+(b.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":"")),pe(t,"position"));"absolute"!==e&&"relative"!==e&&"fixed"!==e&&"sticky"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),Z(this._mapPane,new p(0,0)),this.createPane("tilePane"),this.createPane("overlayPane"),this.createPane("shadowPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(M(t.markerPane,"leaflet-zoom-hide"),M(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e,i){Z(this._mapPane,new p(0,0));var n=!this._loaded,o=(this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset"),this._zoom!==e);this._moveStart(o,i)._move(t,e)._moveEnd(o),this.fire("viewreset"),n&&this.fire("load")},_moveStart:function(t,e){return t&&this.fire("zoomstart"),e||this.fire("movestart"),this},_move:function(t,e,i,n){void 0===e&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),n?i&&i.pinch&&this.fire("zoom",i):((o||i&&i.pinch)&&this.fire("zoom",i),this.fire("move",i)),this},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return r(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){Z(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(t){this._targets={};var e=t?k:S;e((this._targets[h(this._container)]=this)._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress keydown keyup",this._handleDOMEvent,this),this.options.trackResize&&e(window,"resize",this._onResize,this),b.any3d&&this.options.transform3DLimit&&(t?this.off:this.on).call(this,"moveend",this._onMoveEnd)},_onResize:function(){r(this._resizeRequest),this._resizeRequest=x(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],o="mouseout"===e||"mouseover"===e,s=t.target||t.srcElement,r=!1;s;){if((i=this._targets[h(s)])&&("click"===e||"preclick"===e)&&this._draggableMoved(i)){r=!0;break}if(i&&i.listens(e,!0)){if(o&&!We(s,t))break;if(n.push(i),o)break}if(s===this._container)break;s=s.parentNode}return n=n.length||r||o||!this.listens(e,!0)?n:[this]},_isClickDisabled:function(t){for(;t&&t!==this._container;){if(t._leaflet_disable_click)return!0;t=t.parentNode}},_handleDOMEvent:function(t){var e,i=t.target||t.srcElement;!this._loaded||i._leaflet_disable_events||"click"===t.type&&this._isClickDisabled(i)||("mousedown"===(e=t.type)&&Me(i),this._fireDOMEvent(t,e))},_mouseEvents:["click","dblclick","mouseover","mouseout","contextmenu"],_fireDOMEvent:function(t,e,i){"click"===t.type&&((a=l({},t)).type="preclick",this._fireDOMEvent(a,a.type,i));var n=this._findEventTargets(t,e);if(i){for(var o=[],s=0;s<i.length;s++)i[s].listens(e,!0)&&o.push(i[s]);n=o.concat(n)}if(n.length){"contextmenu"===e&&O(t);var r,a=n[0],h={originalEvent:t};for("keypress"!==t.type&&"keydown"!==t.type&&"keyup"!==t.type&&(r=a.getLatLng&&(!a._radius||a._radius<=10),h.containerPoint=r?this.latLngToContainerPoint(a.getLatLng()):this.mouseEventToContainerPoint(t),h.layerPoint=this.containerPointToLayerPoint(h.containerPoint),h.latlng=r?a.getLatLng():this.layerPointToLatLng(h.layerPoint)),s=0;s<n.length;s++)if(n[s].fire(e,h,!0),h.originalEvent._stopped||!1===n[s].options.bubblingMouseEvents&&-1!==G(this._mouseEvents,e))return}},_draggableMoved:function(t){return(t=t.dragging&&t.dragging.enabled()?t:this).dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return Pe(this._mapPane)||new p(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){return(t&&void 0!==e?this._getNewPixelOrigin(t,e):this.getPixelOrigin()).subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){i=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(i)},_latLngBoundsToNewLayerBounds:function(t,e,i){i=this._getNewPixelOrigin(i,e);return _([this.project(t.getSouthWest(),e)._subtract(i),this.project(t.getNorthWest(),e)._subtract(i),this.project(t.getSouthEast(),e)._subtract(i),this.project(t.getNorthEast(),e)._subtract(i)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){var n,o;return!i||(n=this.project(t,e),o=this.getSize().divideBy(2),o=new f(n.subtract(o),n.add(o)),o=this._getBoundsOffset(o,i,e),Math.abs(o.x)<=1&&Math.abs(o.y)<=1)?t:this.unproject(n.add(o),e)},_limitOffset:function(t,e){var i;return e?(i=new f((i=this.getPixelBounds()).min.add(t),i.max.add(t)),t.add(this._getBoundsOffset(i,e))):t},_getBoundsOffset:function(t,e,i){e=_(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),i=e.min.subtract(t.min),e=e.max.subtract(t.max);return new p(this._rebound(i.x,-e.x),this._rebound(i.y,-e.y))},_rebound:function(t,e){return 0<t+e?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=b.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){z(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){t=this._getCenterOffset(t)._trunc();return!(!0!==(e&&e.animate)&&!this.getSize().contains(t))&&(this.panBy(t,e),!0)},_createAnimProxy:function(){var t=this._proxy=P("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(t){var e=ue,i=this._proxy.style[e];be(this._proxy,this.project(t.center,t.zoom),this.getZoomScale(t.zoom,1)),i===this._proxy.style[e]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",this._animMoveEnd,this),this._on("unload",this._destroyAnimProxy,this)},_destroyAnimProxy:function(){T(this._proxy),this.off("load moveend",this._animMoveEnd,this),delete this._proxy},_animMoveEnd:function(){var t=this.getCenter(),e=this.getZoom();be(this._proxy,this.project(t,e),this.getZoomScale(e,1))},_catchTransitionEnd:function(t){this._animatingZoom&&0<=t.propertyName.indexOf("transform")&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(!this._animatingZoom){if(i=i||{},!this._zoomAnimated||!1===i.animate||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),n=this._getCenterOffset(t)._divideBy(1-1/n);if(!0!==i.animate&&!this.getSize().contains(n))return!1;x(function(){this._moveStart(!0,i.noMoveStart||!1)._animateZoom(t,e,!0)},this)}return!0},_animateZoom:function(t,e,i,n){this._mapPane&&(i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,M(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),this._tempFireZoomEvent||(this._tempFireZoomEvent=this._zoom!==this._animateToZoom),this._move(this._animateToCenter,this._animateToZoom,void 0,!0),setTimeout(a(this._onZoomTransitionEnd,this),250))},_onZoomTransitionEnd:function(){this._animatingZoom&&(this._mapPane&&z(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom,void 0,!0),this._tempFireZoomEvent&&this.fire("zoom"),delete this._tempFireZoomEvent,this.fire("move"),this._moveEnd(!0))}});function Ue(t){return new B(t)}var B=et.extend({options:{position:"topright"},initialize:function(t){c(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),t=t._controlCorners[i];return M(e,"leaflet-control"),-1!==i.indexOf("bottom")?t.insertBefore(e,t.firstChild):t.appendChild(e),this._map.on("unload",this.remove,this),this},remove:function(){return this._map&&(T(this._container),this.onRemove&&this.onRemove(this._map),this._map.off("unload",this.remove,this),this._map=null),this},_refocusOnMap:function(t){this._map&&t&&0<t.screenX&&0<t.screenY&&this._map.getContainer().focus()}}),Ve=(A.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){var i=this._controlCorners={},n="leaflet-",o=this._controlContainer=P("div",n+"control-container",this._container);function t(t,e){i[t+e]=P("div",n+t+" "+n+e,o)}t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){for(var t in this._controlCorners)T(this._controlCorners[t]);T(this._controlContainer),delete this._controlCorners,delete this._controlContainer}}),B.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){for(var n in c(this,i),this._layerControlInputs=[],this._layers=[],this._lastZIndex=0,this._handlingClick=!1,this._preventClick=!1,t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){this._initLayout(),this._update(),(this._map=t).on("zoomend",this._checkDisabledLayers,this);for(var e=0;e<this._layers.length;e++)this._layers[e].layer.on("add remove",this._onLayerChange,this);return this._container},addTo:function(t){return B.prototype.addTo.call(this,t),this._expandIfNotCollapsed()},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);t=this._getLayer(h(t));return t&&this._layers.splice(this._layers.indexOf(t),1),this._map?this._update():this},expand:function(){M(this._container,"leaflet-control-layers-expanded"),this._section.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._section.clientHeight?(M(this._section,"leaflet-control-layers-scrollbar"),this._section.style.height=t+"px"):z(this._section,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return z(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=P("div",t),i=this.options.collapsed,n=(e.setAttribute("aria-haspopup",!0),Ie(e),Be(e),this._section=P("section",t+"-list")),o=(i&&(this._map.on("click",this.collapse,this),S(e,{mouseenter:this._expandSafely,mouseleave:this.collapse},this)),this._layersLink=P("a",t+"-toggle",e));o.href="#",o.title="Layers",o.setAttribute("role","button"),S(o,{keydown:function(t){13===t.keyCode&&this._expandSafely()},click:function(t){O(t),this._expandSafely()}},this),i||this.expand(),this._baseLayersList=P("div",t+"-base",n),this._separator=P("div",t+"-separator",n),this._overlaysList=P("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&h(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){this._map&&t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(a(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex)),this._expandIfNotCollapsed()},_update:function(){if(this._container){me(this._baseLayersList),me(this._overlaysList),this._layerControlInputs=[];for(var t,e,i,n=0,o=0;o<this._layers.length;o++)i=this._layers[o],this._addItem(i),e=e||i.overlay,t=t||!i.overlay,n+=i.overlay?0:1;this.options.hideSingleBase&&(this._baseLayersList.style.display=(t=t&&1<n)?"":"none"),this._separator.style.display=e&&t?"":"none"}return this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(h(t.target)),t=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;t&&this._map.fire(t,e)},_createRadioElement:function(t,e){t='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(e?' checked="checked"':"")+"/>",e=document.createElement("div");return e.innerHTML=t,e.firstChild},_addItem:function(t){var e,i=document.createElement("label"),n=this._map.hasLayer(t.layer),n=(t.overlay?((e=document.createElement("input")).type="checkbox",e.className="leaflet-control-layers-selector",e.defaultChecked=n):e=this._createRadioElement("leaflet-base-layers_"+h(this),n),this._layerControlInputs.push(e),e.layerId=h(t.layer),S(e,"click",this._onInputClick,this),document.createElement("span")),o=(n.innerHTML=" "+t.name,document.createElement("span"));return i.appendChild(o),o.appendChild(e),o.appendChild(n),(t.overlay?this._overlaysList:this._baseLayersList).appendChild(i),this._checkDisabledLayers(),i},_onInputClick:function(){if(!this._preventClick){var t,e,i=this._layerControlInputs,n=[],o=[];this._handlingClick=!0;for(var s=i.length-1;0<=s;s--)t=i[s],e=this._getLayer(t.layerId).layer,t.checked?n.push(e):t.checked||o.push(e);for(s=0;s<o.length;s++)this._map.hasLayer(o[s])&&this._map.removeLayer(o[s]);for(s=0;s<n.length;s++)this._map.hasLayer(n[s])||this._map.addLayer(n[s]);this._handlingClick=!1,this._refocusOnMap()}},_checkDisabledLayers:function(){for(var t,e,i=this._layerControlInputs,n=this._map.getZoom(),o=i.length-1;0<=o;o--)t=i[o],e=this._getLayer(t.layerId).layer,t.disabled=void 0!==e.options.minZoom&&n<e.options.minZoom||void 0!==e.options.maxZoom&&n>e.options.maxZoom},_expandIfNotCollapsed:function(){return this._map&&!this.options.collapsed&&this.expand(),this},_expandSafely:function(){var t=this._section,e=(this._preventClick=!0,S(t,"click",O),this.expand(),this);setTimeout(function(){k(t,"click",O),e._preventClick=!1})}})),qe=B.extend({options:{position:"topleft",zoomInText:'<span aria-hidden="true">+</span>',zoomInTitle:"Zoom in",zoomOutText:'<span aria-hidden="true">−</span>',zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=P("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,o){i=P("a",i,n);return i.innerHTML=t,i.href="#",i.title=e,i.setAttribute("role","button"),i.setAttribute("aria-label",e),Ie(i),S(i,"click",Re),S(i,"click",o,this),S(i,"click",this._refocusOnMap,this),i},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";z(this._zoomInButton,e),z(this._zoomOutButton,e),this._zoomInButton.setAttribute("aria-disabled","false"),this._zoomOutButton.setAttribute("aria-disabled","false"),!this._disabled&&t._zoom!==t.getMinZoom()||(M(this._zoomOutButton,e),this._zoomOutButton.setAttribute("aria-disabled","true")),!this._disabled&&t._zoom!==t.getMaxZoom()||(M(this._zoomInButton,e),this._zoomInButton.setAttribute("aria-disabled","true"))}}),Ge=(A.mergeOptions({zoomControl:!0}),A.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new qe,this.addControl(this.zoomControl))}),B.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=P("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=P("div",e,i)),t.imperial&&(this._iScale=P("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,t=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(t)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t);this._updateScale(this._mScale,e<1e3?e+" m":e/1e3+" km",e/t)},_updateImperial:function(t){var e,i,t=3.2808399*t;5280<t?(i=this._getRoundNum(e=t/5280),this._updateScale(this._iScale,i+" mi",i/e)):(i=this._getRoundNum(t),this._updateScale(this._iScale,i+" ft",i/t))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),t=t/e;return e*(t=10<=t?10:5<=t?5:3<=t?3:2<=t?2:1)}})),Ke=B.extend({options:{position:"bottomright",prefix:'<a href="https://leafletjs.com" title="A JavaScript library for interactive maps">'+(b.inlineSvg?'<svg aria-hidden="true" xmlns="http://www.w3.org/2000/svg" width="12" height="8" viewBox="0 0 12 8" class="leaflet-attribution-flag"><path fill="#4C7BE1" d="M0 0h12v4H0z"/><path fill="#FFD500" d="M0 4h12v3H0z"/><path fill="#E0BC00" d="M0 7h12v1H0z"/></svg> ':"")+"Leaflet</a>"},initialize:function(t){c(this,t),this._attributions={}},onAdd:function(t){for(var e in(t.attributionControl=this)._container=P("div","leaflet-control-attribution"),Ie(this._container),t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),t.on("layeradd",this._addAttribution,this),this._container},onRemove:function(t){t.off("layeradd",this._addAttribution,this)},_addAttribution:function(t){t.layer.getAttribution&&(this.addAttribution(t.layer.getAttribution()),t.layer.once("remove",function(){this.removeAttribution(t.layer.getAttribution())},this))},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t&&(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update()),this},removeAttribution:function(t){return t&&this._attributions[t]&&(this._attributions[t]--,this._update()),this},_update:function(){if(this._map){var t,e=[];for(t in this._attributions)this._attributions[t]&&e.push(t);var i=[];this.options.prefix&&i.push(this.options.prefix),e.length&&i.push(e.join(", ")),this._container.innerHTML=i.join(' <span aria-hidden="true">|</span> ')}}}),n=(A.mergeOptions({attributionControl:!0}),A.addInitHook(function(){this.options.attributionControl&&(new Ke).addTo(this)}),B.Layers=Ve,B.Zoom=qe,B.Scale=Ge,B.Attribution=Ke,Ue.layers=function(t,e,i){return new Ve(t,e,i)},Ue.zoom=function(t){return new qe(t)},Ue.scale=function(t){return new Ge(t)},Ue.attribution=function(t){return new Ke(t)},et.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled||(this._enabled=!0,this.addHooks()),this},disable:function(){return this._enabled&&(this._enabled=!1,this.removeHooks()),this},enabled:function(){return!!this._enabled}})),ft=(n.addTo=function(t,e){return t.addHandler(e,this),this},{Events:e}),Ye=b.touch?"touchstart mousedown":"mousedown",Xe=it.extend({options:{clickTolerance:3},initialize:function(t,e,i,n){c(this,n),this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(S(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(Xe._dragging===this&&this.finishDrag(!0),k(this._dragStartTarget,Ye,this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){var e,i;this._enabled&&(this._moved=!1,ve(this._element,"leaflet-zoom-anim")||(t.touches&&1!==t.touches.length?Xe._dragging===this&&this.finishDrag():Xe._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||((Xe._dragging=this)._preventOutline&&Me(this._element),Le(),re(),this._moving||(this.fire("down"),i=t.touches?t.touches[0]:t,e=Ce(this._element),this._startPoint=new p(i.clientX,i.clientY),this._startPos=Pe(this._element),this._parentScale=Ze(e),i="mousedown"===t.type,S(document,i?"mousemove":"touchmove",this._onMove,this),S(document,i?"mouseup":"touchend touchcancel",this._onUp,this)))))},_onMove:function(t){var e;this._enabled&&(t.touches&&1<t.touches.length?this._moved=!0:!(e=new p((e=t.touches&&1===t.touches.length?t.touches[0]:t).clientX,e.clientY)._subtract(this._startPoint)).x&&!e.y||Math.abs(e.x)+Math.abs(e.y)<this.options.clickTolerance||(e.x/=this._parentScale.x,e.y/=this._parentScale.y,O(t),this._moved||(this.fire("dragstart"),this._moved=!0,M(document.body,"leaflet-dragging"),this._lastTarget=t.target||t.srcElement,window.SVGElementInstance&&this._lastTarget instanceof window.SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),M(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(e),this._moving=!0,this._lastEvent=t,this._updatePosition()))},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),Z(this._element,this._newPos),this.fire("drag",t)},_onUp:function(){this._enabled&&this.finishDrag()},finishDrag:function(t){z(document.body,"leaflet-dragging"),this._lastTarget&&(z(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null),k(document,"mousemove touchmove",this._onMove,this),k(document,"mouseup touchend touchcancel",this._onUp,this),Te(),ae();var e=this._moved&&this._moving;this._moving=!1,Xe._dragging=!1,e&&this.fire("dragend",{noInertia:t,distance:this._newPos.distanceTo(this._startPos)})}});function Je(t,e,i){for(var n,o,s,r,a,h,l,u=[1,4,2,8],c=0,d=t.length;c<d;c++)t[c]._code=si(t[c],e);for(s=0;s<4;s++){for(h=u[s],n=[],c=0,o=(d=t.length)-1;c<d;o=c++)r=t[c],a=t[o],r._code&h?a._code&h||((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)):(a._code&h&&((l=oi(a,r,h,e,i))._code=si(l,e),n.push(l)),n.push(r));t=n}return t}function $e(t,e){var i,n,o,s,r,a,h;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var l=w([0,0]),u=g(t),c=(u.getNorthWest().distanceTo(u.getSouthWest())*u.getNorthEast().distanceTo(u.getNorthWest())<1700&&(l=Qe(t)),t.length),d=[],_=0;_<c;_++){var p=w(t[_]);d.push(e.project(w([p.lat-l.lat,p.lng-l.lng])))}for(_=r=a=h=0,i=c-1;_<c;i=_++)n=d[_],o=d[i],s=n.y*o.x-o.y*n.x,a+=(n.x+o.x)*s,h+=(n.y+o.y)*s,r+=3*s;u=0===r?d[0]:[a/r,h/r],u=e.unproject(m(u));return w([u.lat+l.lat,u.lng+l.lng])}function Qe(t){for(var e=0,i=0,n=0,o=0;o<t.length;o++){var s=w(t[o]);e+=s.lat,i+=s.lng,n++}return w([e/n,i/n])}var ti,gt={__proto__:null,clipPolygon:Je,polygonCenter:$e,centroid:Qe};function ei(t,e){if(e&&t.length){var i=t=function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)(function(t,e){var i=e.x-t.x,e=e.y-t.y;return i*i+e*e})(t[n],t[o])>e&&(i.push(t[n]),o=n);o<s-1&&i.push(t[s-1]);return i}(t,e=e*e),n=i.length,o=new(typeof Uint8Array!=void 0+""?Uint8Array:Array)(n);o[0]=o[n-1]=1,function t(e,i,n,o,s){var r,a,h,l=0;for(a=o+1;a<=s-1;a++)h=ri(e[a],e[o],e[s],!0),l<h&&(r=a,l=h);n<l&&(i[r]=1,t(e,i,n,o,r),t(e,i,n,r,s))}(i,o,e,0,n-1);var s,r=[];for(s=0;s<n;s++)o[s]&&r.push(i[s]);return r}return t.slice()}function ii(t,e,i){return Math.sqrt(ri(t,e,i,!0))}function ni(t,e,i,n,o){var s,r,a,h=n?ti:si(t,i),l=si(e,i);for(ti=l;;){if(!(h|l))return[t,e];if(h&l)return!1;a=si(r=oi(t,e,s=h||l,i,o),i),s===h?(t=r,h=a):(e=r,l=a)}}function oi(t,e,i,n,o){var s,r,a=e.x-t.x,e=e.y-t.y,h=n.min,n=n.max;return 8&i?(s=t.x+a*(n.y-t.y)/e,r=n.y):4&i?(s=t.x+a*(h.y-t.y)/e,r=h.y):2&i?(s=n.x,r=t.y+e*(n.x-t.x)/a):1&i&&(s=h.x,r=t.y+e*(h.x-t.x)/a),new p(s,r,o)}function si(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i}function ri(t,e,i,n){var o=e.x,e=e.y,s=i.x-o,r=i.y-e,a=s*s+r*r;return 0<a&&(1<(a=((t.x-o)*s+(t.y-e)*r)/a)?(o=i.x,e=i.y):0<a&&(o+=s*a,e+=r*a)),s=t.x-o,r=t.y-e,n?s*s+r*r:new p(o,e)}function I(t){return!d(t[0])||"object"!=typeof t[0][0]&&void 0!==t[0][0]}function ai(t){return console.warn("Deprecated use of _flat, please use L.LineUtil.isFlat instead."),I(t)}function hi(t,e){var i,n,o,s,r,a;if(!t||0===t.length)throw new Error("latlngs not passed");I(t)||(console.warn("latlngs are not flat! Only the first ring will be used"),t=t[0]);for(var h=w([0,0]),l=g(t),u=(l.getNorthWest().distanceTo(l.getSouthWest())*l.getNorthEast().distanceTo(l.getNorthWest())<1700&&(h=Qe(t)),t.length),c=[],d=0;d<u;d++){var _=w(t[d]);c.push(e.project(w([_.lat-h.lat,_.lng-h.lng])))}for(i=d=0;d<u-1;d++)i+=c[d].distanceTo(c[d+1])/2;if(0===i)a=c[0];else for(n=d=0;d<u-1;d++)if(o=c[d],s=c[d+1],i<(n+=r=o.distanceTo(s))){a=[s.x-(r=(n-i)/r)*(s.x-o.x),s.y-r*(s.y-o.y)];break}l=e.unproject(m(a));return w([l.lat+h.lat,l.lng+h.lng])}var vt={__proto__:null,simplify:ei,pointToSegmentDistance:ii,closestPointOnSegment:function(t,e,i){return ri(t,e,i)},clipSegment:ni,_getEdgeIntersection:oi,_getBitCode:si,_sqClosestPointOnSegment:ri,isFlat:I,_flat:ai,polylineCenter:hi},yt={project:function(t){return new p(t.lng,t.lat)},unproject:function(t){return new v(t.y,t.x)},bounds:new f([-180,-90],[180,90])},xt={R:6378137,R_MINOR:6356752.314245179,bounds:new f([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,o=this.R_MINOR/i,o=Math.sqrt(1-o*o),s=o*Math.sin(n),s=Math.tan(Math.PI/4-n/2)/Math.pow((1-s)/(1+s),o/2),n=-i*Math.log(Math.max(s,1e-10));return new p(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,o=this.R_MINOR/n,s=Math.sqrt(1-o*o),r=Math.exp(-t.y/n),a=Math.PI/2-2*Math.atan(r),h=0,l=.1;h<15&&1e-7<Math.abs(l);h++)e=s*Math.sin(a),e=Math.pow((1-e)/(1+e),s/2),a+=l=Math.PI/2-2*Math.atan(r*e)-a;return new v(a*i,t.x*i/n)}},wt={__proto__:null,LonLat:yt,Mercator:xt,SphericalMercator:rt},Pt=l({},st,{code:"EPSG:3395",projection:xt,transformation:ht(bt=.5/(Math.PI*xt.R),.5,-bt,.5)}),li=l({},st,{code:"EPSG:4326",projection:yt,transformation:ht(1/180,1,-1/180,.5)}),Lt=l({},ot,{projection:yt,transformation:ht(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,e=e.lat-t.lat;return Math.sqrt(i*i+e*e)},infinite:!0}),o=(ot.Earth=st,ot.EPSG3395=Pt,ot.EPSG3857=lt,ot.EPSG900913=ut,ot.EPSG4326=li,ot.Simple=Lt,it.extend({options:{pane:"overlayPane",attribution:null,bubblingMouseEvents:!0},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[h(t)]=this},removeInteractiveTarget:function(t){return delete this._map._targets[h(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e,i=t.target;i.hasLayer(this)&&(this._map=i,this._zoomAnimated=i._zoomAnimated,this.getEvents&&(e=this.getEvents(),i.on(e,this),this.once("remove",function(){i.off(e,this)},this)),this.onAdd(i),this.fire("add"),i.fire("layeradd",{layer:this}))}})),ui=(A.include({addLayer:function(t){var e;if(t._layerAdd)return e=h(t),this._layers[e]||((this._layers[e]=t)._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t)),this;throw new Error("The provided object is not a Layer.")},removeLayer:function(t){var e=h(t);return this._layers[e]&&(this._loaded&&t.onRemove(this),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null),this},hasLayer:function(t){return h(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){for(var e=0,i=(t=t?d(t)?t:[t]:[]).length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[h(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){t=h(t);this._zoomBoundLayers[t]&&(delete this._zoomBoundLayers[t],this._updateZoomLevels())},_updateZoomLevels:function(){var t,e=1/0,i=-1/0,n=this._getZoomSpan();for(t in this._zoomBoundLayers)var o=this._zoomBoundLayers[t].options,e=void 0===o.minZoom?e:Math.min(e,o.minZoom),i=void 0===o.maxZoom?i:Math.max(i,o.maxZoom);this._layersMaxZoom=i===-1/0?void 0:i,this._layersMinZoom=e===1/0?void 0:e,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),void 0===this.options.maxZoom&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),void 0===this.options.minZoom&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}}),o.extend({initialize:function(t,e){var i,n;if(c(this,e),this._layers={},t)for(i=0,n=t.length;i<n;i++)this.addLayer(t[i])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){t=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[t]&&this._map.removeLayer(this._layers[t]),delete this._layers[t],this},hasLayer:function(t){return("number"==typeof t?t:this.getLayerId(t))in this._layers},clearLayers:function(){return this.eachLayer(this.removeLayer,this)},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)(i=this._layers[e])[t]&&i[t].apply(i,n);return this},onAdd:function(t){this.eachLayer(t.addLayer,t)},onRemove:function(t){this.eachLayer(t.removeLayer,t)},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];return this.eachLayer(t.push,t),t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:h})),ci=ui.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),ui.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?((t=t in this._layers?this._layers[t]:t).removeEventParent(this),ui.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t,e=new s;for(t in this._layers){var i=this._layers[t];e.extend(i.getBounds?i.getBounds():i.getLatLng())}return e}}),di=et.extend({options:{popupAnchor:[0,0],tooltipAnchor:[0,0],crossOrigin:!1},initialize:function(t){c(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(i)return i=this._createImg(i,e&&"IMG"===e.tagName?e:null),this._setIconStyles(i,t),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),i;if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"],n=m(n="number"==typeof n?[n,n]:n),o=m("shadow"===e&&i.shadowAnchor||i.iconAnchor||n&&n.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),o&&(t.style.marginLeft=-o.x+"px",t.style.marginTop=-o.y+"px"),n&&(t.style.width=n.x+"px",t.style.height=n.y+"px")},_createImg:function(t,e){return(e=e||document.createElement("img")).src=t,e},_getIconUrl:function(t){return b.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}});var _i=di.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return"string"!=typeof _i.imagePath&&(_i.imagePath=this._detectIconPath()),(this.options.imagePath||_i.imagePath)+di.prototype._getIconUrl.call(this,t)},_stripUrl:function(t){function e(t,e,i){return(e=e.exec(t))&&e[i]}return(t=e(t,/^url\((['"])?(.+)\1\)$/,2))&&e(t,/^(.*)marker-icon\.png$/,1)},_detectIconPath:function(){var t=P("div","leaflet-default-icon-path",document.body),e=pe(t,"background-image")||pe(t,"backgroundImage");return document.body.removeChild(t),(e=this._stripUrl(e))?e:(t=document.querySelector('link[href$="leaflet.css"]'))?t.href.substring(0,t.href.length-"leaflet.css".length-1):""}}),pi=n.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new Xe(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),M(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,predrag:this._onPreDrag,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&z(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_adjustPan:function(t){var e=this._marker,i=e._map,n=this._marker.options.autoPanSpeed,o=this._marker.options.autoPanPadding,s=Pe(e._icon),r=i.getPixelBounds(),a=i.getPixelOrigin(),a=_(r.min._subtract(a).add(o),r.max._subtract(a).subtract(o));a.contains(s)||(o=m((Math.max(a.max.x,s.x)-a.max.x)/(r.max.x-a.max.x)-(Math.min(a.min.x,s.x)-a.min.x)/(r.min.x-a.min.x),(Math.max(a.max.y,s.y)-a.max.y)/(r.max.y-a.max.y)-(Math.min(a.min.y,s.y)-a.min.y)/(r.min.y-a.min.y)).multiplyBy(n),i.panBy(o,{animate:!1}),this._draggable._newPos._add(o),this._draggable._startPos._add(o),Z(e._icon,this._draggable._newPos),this._onDrag(t),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup&&this._marker.closePopup(),this._marker.fire("movestart").fire("dragstart")},_onPreDrag:function(t){this._marker.options.autoPan&&(r(this._panRequest),this._panRequest=x(this._adjustPan.bind(this,t)))},_onDrag:function(t){var e=this._marker,i=e._shadow,n=Pe(e._icon),o=e._map.layerPointToLatLng(n);i&&Z(i,n),e._latlng=o,t.latlng=o,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){r(this._panRequest),delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),mi=o.extend({options:{icon:new _i,interactive:!0,keyboard:!0,title:"",alt:"Marker",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",shadowPane:"shadowPane",bubblingMouseEvents:!1,autoPanOnFocus:!0,draggable:!1,autoPan:!1,autoPanPadding:[50,50],autoPanSpeed:10},initialize:function(t,e){c(this,e),this._latlng=w(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),delete this.dragging,this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},getIcon:function(){return this.options.icon},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){var t;return this._icon&&this._map&&(t=this._map.latLngToLayerPoint(this._latlng).round(),this._setPos(t)),this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1,i=(i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),"IMG"===i.tagName&&(i.alt=t.alt||"")),M(i,e),t.keyboard&&(i.tabIndex="0",i.setAttribute("role","button")),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&S(i,"focus",this._panOnFocus,this),t.icon.createShadow(this._shadow)),o=!1;i!==this._shadow&&(this._removeShadow(),o=!0),i&&(M(i,e),i.alt=""),this._shadow=i,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),i&&o&&this.getPane(t.shadowPane).appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),this.options.autoPanOnFocus&&k(this._icon,"focus",this._panOnFocus,this),T(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&T(this._shadow),this._shadow=null},_setPos:function(t){this._icon&&Z(this._icon,t),this._shadow&&Z(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon&&(this._icon.style.zIndex=this._zIndex+t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(t)},_initInteraction:function(){var t;this.options.interactive&&(M(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),pi&&(t=this.options.draggable,this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new pi(this),t&&this.dragging.enable()))},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;this._icon&&C(this._icon,t),this._shadow&&C(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_panOnFocus:function(){var t,e,i=this._map;i&&(t=(e=this.options.icon.options).iconSize?m(e.iconSize):m(0,0),e=e.iconAnchor?m(e.iconAnchor):m(0,0),i.panInside(this._latlng,{paddingTopLeft:e,paddingBottomRight:t.subtract(e)}))},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor}});var fi=o.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0,bubblingMouseEvents:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return c(this,t),this._renderer&&(this._renderer._updateStyle(this),this.options.stroke&&t&&Object.prototype.hasOwnProperty.call(t,"weight")&&this._updateBounds()),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(this._renderer.options.tolerance||0)}}),gi=fi.extend({options:{fill:!0,radius:10},initialize:function(t,e){c(this,e),this._latlng=w(t),this._radius=this.options.radius},setLatLng:function(t){var e=this._latlng;return this._latlng=w(t),this.redraw(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return fi.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),t=[t+i,e+i];this._pxBounds=new f(this._point.subtract(t),this._point.add(t))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)},_containsPoint:function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()}});var vi=gi.extend({initialize:function(t,e,i){if(c(this,e="number"==typeof e?l({},i,{radius:e}):e),this._latlng=w(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new s(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)))},setStyle:fi.prototype.setStyle,_project:function(){var t,e,i,n,o,s=this._latlng.lng,r=this._latlng.lat,a=this._map,h=a.options.crs;h.distance===st.distance?(n=Math.PI/180,o=this._mRadius/st.R/n,t=a.project([r+o,s]),e=a.project([r-o,s]),e=t.add(e).divideBy(2),i=a.unproject(e).lat,n=Math.acos((Math.cos(o*n)-Math.sin(r*n)*Math.sin(i*n))/(Math.cos(r*n)*Math.cos(i*n)))/n,!isNaN(n)&&0!==n||(n=o/Math.cos(Math.PI/180*r)),this._point=e.subtract(a.getPixelOrigin()),this._radius=isNaN(n)?0:e.x-a.project([i,s-n]).x,this._radiusY=e.y-t.y):(o=h.unproject(h.project(this._latlng).subtract([this._mRadius,0])),this._point=a.latLngToLayerPoint(this._latlng),this._radius=this._point.x-a.latLngToLayerPoint(o).x),this._updateBounds()}});var yi=fi.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){c(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e=1/0,i=null,n=ri,o=0,s=this._parts.length;o<s;o++)for(var r=this._parts[o],a=1,h=r.length;a<h;a++){var l,u,c=n(t,l=r[a-1],u=r[a],!0);c<e&&(e=c,i=n(t,l,u))}return i&&(i.distance=Math.sqrt(e)),i},getCenter:function(){if(this._map)return hi(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=w(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new s,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return I(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=I(t),n=0,o=t.length;n<o;n++)i?(e[n]=w(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new f;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t),this._bounds.isValid()&&t.isValid()&&(this._rawPxBounds=t,this._updateBounds())},_updateBounds:function(){var t=this._clickTolerance(),t=new p(t,t);this._rawPxBounds&&(this._pxBounds=new f([this._rawPxBounds.min.subtract(t),this._rawPxBounds.max.add(t)]))},_projectLatlngs:function(t,e,i){var n,o,s=t[0]instanceof v,r=t.length;if(s){for(o=[],n=0;n<r;n++)o[n]=this._map.latLngToLayerPoint(t[n]),i.extend(o[n]);e.push(o)}else for(n=0;n<r;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var e,i,n,o,s=this._parts,r=0,a=0,h=this._rings.length;r<h;r++)for(e=0,i=(o=this._rings[r]).length;e<i-1;e++)(n=ni(o[e],o[e+1],t,e,!0))&&(s[a]=s[a]||[],s[a].push(n[0]),n[1]===o[e+1]&&e!==i-2||(s[a].push(n[1]),a++))},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=ei(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)},_containsPoint:function(t,e){var i,n,o,s,r,a,h=this._clickTolerance();if(this._pxBounds&&this._pxBounds.contains(t))for(i=0,s=this._parts.length;i<s;i++)for(n=0,o=(r=(a=this._parts[i]).length)-1;n<r;o=n++)if((e||0!==n)&&ii(t,a[o],a[n])<=h)return!0;return!1}});yi._flat=ai;var xi=yi.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(this._map)return $e(this._defaultShape(),this._map.options.crs);throw new Error("Must add layer to map before using getCenter()")},_convertLatLngs:function(t){var t=yi.prototype._convertLatLngs.call(this,t),e=t.length;return 2<=e&&t[0]instanceof v&&t[0].equals(t[e-1])&&t.pop(),t},_setLatLngs:function(t){yi.prototype._setLatLngs.call(this,t),I(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return(I(this._latlngs[0])?this._latlngs:this._latlngs[0])[0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,e=new p(e,e),t=new f(t.min.subtract(e),t.max.add(e));if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t))if(this.options.noClip)this._parts=this._rings;else for(var i,n=0,o=this._rings.length;n<o;n++)(i=Je(this._rings[n],t,!0)).length&&this._parts.push(i)},_updatePath:function(){this._renderer._updatePoly(this,!0)},_containsPoint:function(t){var e,i,n,o,s,r,a,h,l=!1;if(!this._pxBounds||!this._pxBounds.contains(t))return!1;for(o=0,a=this._parts.length;o<a;o++)for(s=0,r=(h=(e=this._parts[o]).length)-1;s<h;r=s++)i=e[s],n=e[r],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(l=!l);return l||yi.prototype._containsPoint.call(this,t,!0)}});var wi=ci.extend({initialize:function(t,e){c(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,o=d(t)?t:t.features;if(o){for(e=0,i=o.length;e<i;e++)((n=o[e]).geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var s,r=this.options;return(!r.filter||r.filter(t))&&(s=bi(t,r))?(s.feature=Zi(t),s.defaultOptions=s.options,this.resetStyle(s),r.onEachFeature&&r.onEachFeature(t,s),this.addLayer(s)):this},resetStyle:function(t){return void 0===t?this.eachLayer(this.resetStyle,this):(t.options=l({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this)},setStyle:function(e){return this.eachLayer(function(t){this._setLayerStyle(t,e)},this)},_setLayerStyle:function(t,e){t.setStyle&&("function"==typeof e&&(e=e(t.feature)),t.setStyle(e))}});function bi(t,e){var i,n,o,s,r="Feature"===t.type?t.geometry:t,a=r?r.coordinates:null,h=[],l=e&&e.pointToLayer,u=e&&e.coordsToLatLng||Li;if(!a&&!r)return null;switch(r.type){case"Point":return Pi(l,t,i=u(a),e);case"MultiPoint":for(o=0,s=a.length;o<s;o++)i=u(a[o]),h.push(Pi(l,t,i,e));return new ci(h);case"LineString":case"MultiLineString":return n=Ti(a,"LineString"===r.type?0:1,u),new yi(n,e);case"Polygon":case"MultiPolygon":return n=Ti(a,"Polygon"===r.type?1:2,u),new xi(n,e);case"GeometryCollection":for(o=0,s=r.geometries.length;o<s;o++){var c=bi({geometry:r.geometries[o],type:"Feature",properties:t.properties},e);c&&h.push(c)}return new ci(h);case"FeatureCollection":for(o=0,s=r.features.length;o<s;o++){var d=bi(r.features[o],e);d&&h.push(d)}return new ci(h);default:throw new Error("Invalid GeoJSON object.")}}function Pi(t,e,i,n){return t?t(e,i):new mi(i,n&&n.markersInheritOptions&&n)}function Li(t){return new v(t[1],t[0],t[2])}function Ti(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?Ti(t[s],e-1,i):(i||Li)(t[s]),o.push(n);return o}function Mi(t,e){return void 0!==(t=w(t)).alt?[i(t.lng,e),i(t.lat,e),i(t.alt,e)]:[i(t.lng,e),i(t.lat,e)]}function zi(t,e,i,n){for(var o=[],s=0,r=t.length;s<r;s++)o.push(e?zi(t[s],I(t[s])?0:e-1,i,n):Mi(t[s],n));return!e&&i&&0<o.length&&o.push(o[0].slice()),o}function Ci(t,e){return t.feature?l({},t.feature,{geometry:e}):Zi(e)}function Zi(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}Tt={toGeoJSON:function(t){return Ci(this,{type:"Point",coordinates:Mi(this.getLatLng(),t)})}};function Si(t,e){return new wi(t,e)}mi.include(Tt),vi.include(Tt),gi.include(Tt),yi.include({toGeoJSON:function(t){var e=!I(this._latlngs);return Ci(this,{type:(e?"Multi":"")+"LineString",coordinates:zi(this._latlngs,e?1:0,!1,t)})}}),xi.include({toGeoJSON:function(t){var e=!I(this._latlngs),i=e&&!I(this._latlngs[0]),t=zi(this._latlngs,i?2:e?1:0,!0,t);return Ci(this,{type:(i?"Multi":"")+"Polygon",coordinates:t=e?t:[t]})}}),ui.include({toMultiPoint:function(e){var i=[];return this.eachLayer(function(t){i.push(t.toGeoJSON(e).geometry.coordinates)}),Ci(this,{type:"MultiPoint",coordinates:i})},toGeoJSON:function(e){var i,n,t=this.feature&&this.feature.geometry&&this.feature.geometry.type;return"MultiPoint"===t?this.toMultiPoint(e):(i="GeometryCollection"===t,n=[],this.eachLayer(function(t){t.toGeoJSON&&(t=t.toGeoJSON(e),i?n.push(t.geometry):"FeatureCollection"===(t=Zi(t)).type?n.push.apply(n,t.features):n.push(t))}),i?Ci(this,{geometries:n,type:"GeometryCollection"}):{type:"FeatureCollection",features:n})}});var Mt=Si,Ei=o.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1,errorOverlayUrl:"",zIndex:1,className:""},initialize:function(t,e,i){this._url=t,this._bounds=g(e),c(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(M(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){T(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&fe(this._image),this},bringToBack:function(){return this._map&&ge(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=g(t),this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t="IMG"===this._url.tagName,e=this._image=t?this._url:P("img");M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onload=a(this.fire,this,"load"),e.onerror=a(this._overlayOnError,this,"error"),!this.options.crossOrigin&&""!==this.options.crossOrigin||(e.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),this.options.zIndex&&this._updateZIndex(),t?this._url=e.src:(e.src=this._url,e.alt=this.options.alt)},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),t=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;be(this._image,t,e)},_reset:function(){var t=this._image,e=new f(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();Z(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){C(this._image,this.options.opacity)},_updateZIndex:function(){this._image&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._image.style.zIndex=this.options.zIndex)},_overlayOnError:function(){this.fire("error");var t=this.options.errorOverlayUrl;t&&this._url!==t&&(this._url=t,this._image.src=t)},getCenter:function(){return this._bounds.getCenter()}}),ki=Ei.extend({options:{autoplay:!0,loop:!0,keepAspectRatio:!0,muted:!1,playsInline:!0},_initImage:function(){var t="VIDEO"===this._url.tagName,e=this._image=t?this._url:P("video");if(M(e,"leaflet-image-layer"),this._zoomAnimated&&M(e,"leaflet-zoom-animated"),this.options.className&&M(e,this.options.className),e.onselectstart=u,e.onmousemove=u,e.onloadeddata=a(this.fire,this,"load"),t){for(var i=e.getElementsByTagName("source"),n=[],o=0;o<i.length;o++)n.push(i[o].src);this._url=0<i.length?n:[e.src]}else{d(this._url)||(this._url=[this._url]),!this.options.keepAspectRatio&&Object.prototype.hasOwnProperty.call(e.style,"objectFit")&&(e.style.objectFit="fill"),e.autoplay=!!this.options.autoplay,e.loop=!!this.options.loop,e.muted=!!this.options.muted,e.playsInline=!!this.options.playsInline;for(var s=0;s<this._url.length;s++){var r=P("source");r.src=this._url[s],e.appendChild(r)}}}});var Oi=Ei.extend({_initImage:function(){var t=this._image=this._url;M(t,"leaflet-image-layer"),this._zoomAnimated&&M(t,"leaflet-zoom-animated"),this.options.className&&M(t,this.options.className),t.onselectstart=u,t.onmousemove=u}});var Ai=o.extend({options:{interactive:!1,offset:[0,0],className:"",pane:void 0,content:""},initialize:function(t,e){t&&(t instanceof v||d(t))?(this._latlng=w(t),c(this,e)):(c(this,t),this._source=e),this.options.content&&(this._content=this.options.content)},openOn:function(t){return(t=arguments.length?t:this._source._map).hasLayer(this)||t.addLayer(this),this},close:function(){return this._map&&this._map.removeLayer(this),this},toggle:function(t){return this._map?this.close():(arguments.length?this._source=t:t=this._source,this._prepareOpen(),this.openOn(t._map)),this},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&C(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&C(this._container,1),this.bringToFront(),this.options.interactive&&(M(this._container,"leaflet-interactive"),this.addInteractiveTarget(this._container))},onRemove:function(t){t._fadeAnimated?(C(this._container,0),this._removeTimeout=setTimeout(a(T,void 0,this._container),200)):T(this._container),this.options.interactive&&(z(this._container,"leaflet-interactive"),this.removeInteractiveTarget(this._container))},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=w(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&fe(this._container),this},bringToBack:function(){return this._map&&ge(this._container),this},_prepareOpen:function(t){if(!(i=this._source)._map)return!1;if(i instanceof ci){var e,i=null,n=this._source._layers;for(e in n)if(n[e]._map){i=n[e];break}if(!i)return!1;this._source=i}if(!t)if(i.getCenter)t=i.getCenter();else if(i.getLatLng)t=i.getLatLng();else{if(!i.getBounds)throw new Error("Unable to get source layer LatLng.");t=i.getBounds().getCenter()}return this.setLatLng(t),this._map&&this.update(),!0},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){var t,e,i;this._map&&(e=this._map.latLngToLayerPoint(this._latlng),t=m(this.options.offset),i=this._getAnchor(),this._zoomAnimated?Z(this._container,e.add(i)):t=t.add(e).add(i),e=this._containerBottom=-t.y,i=this._containerLeft=-Math.round(this._containerWidth/2)+t.x,this._container.style.bottom=e+"px",this._container.style.left=i+"px")},_getAnchor:function(){return[0,0]}}),Bi=(A.include({_initOverlay:function(t,e,i,n){var o=e;return o instanceof t||(o=new t(n).setContent(e)),i&&o.setLatLng(i),o}}),o.include({_initOverlay:function(t,e,i,n){var o=i;return o instanceof t?(c(o,n),o._source=this):(o=e&&!n?e:new t(n,this)).setContent(i),o}}),Ai.extend({options:{pane:"popupPane",offset:[0,7],maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,closeOnEscapeKey:!0,className:""},openOn:function(t){return!(t=arguments.length?t:this._source._map).hasLayer(this)&&t._popup&&t._popup.options.autoClose&&t.removeLayer(t._popup),t._popup=this,Ai.prototype.openOn.call(this,t)},onAdd:function(t){Ai.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof fi||this._source.on("preclick",Ae))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof fi||this._source.off("preclick",Ae))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return(void 0!==this.options.closeOnClick?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this.close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_initLayout:function(){var t="leaflet-popup",e=this._container=P("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated"),i=this._wrapper=P("div",t+"-content-wrapper",e);this._contentNode=P("div",t+"-content",i),Ie(e),Be(this._contentNode),S(e,"contextmenu",Ae),this._tipContainer=P("div",t+"-tip-container",e),this._tip=P("div",t+"-tip",this._tipContainer),this.options.closeButton&&((i=this._closeButton=P("a",t+"-close-button",e)).setAttribute("role","button"),i.setAttribute("aria-label","Close popup"),i.href="#close",i.innerHTML='<span aria-hidden="true">×</span>',S(i,"click",function(t){O(t),this.close()},this))},_updateLayout:function(){var t=this._contentNode,e=t.style,i=(e.width="",e.whiteSpace="nowrap",t.offsetWidth),i=Math.min(i,this.options.maxWidth),i=(i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="",t.offsetHeight),n=this.options.maxHeight,o="leaflet-popup-scrolled";(n&&n<i?(e.height=n+"px",M):z)(t,o),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),e=this._getAnchor();Z(this._container,t.add(e))},_adjustPan:function(){var t,e,i,n,o,s,r,a;this.options.autoPan&&(this._map._panAnim&&this._map._panAnim.stop(),this._autopanning?this._autopanning=!1:(t=this._map,e=parseInt(pe(this._container,"marginBottom"),10)||0,e=this._container.offsetHeight+e,a=this._containerWidth,(i=new p(this._containerLeft,-e-this._containerBottom))._add(Pe(this._container)),i=t.layerPointToContainerPoint(i),o=m(this.options.autoPanPadding),n=m(this.options.autoPanPaddingTopLeft||o),o=m(this.options.autoPanPaddingBottomRight||o),s=t.getSize(),r=0,i.x+a+o.x>s.x&&(r=i.x+a-s.x+o.x),i.x-r-n.x<(a=0)&&(r=i.x-n.x),i.y+e+o.y>s.y&&(a=i.y+e-s.y+o.y),i.y-a-n.y<0&&(a=i.y-n.y),(r||a)&&(this.options.keepInView&&(this._autopanning=!0),t.fire("autopanstart").panBy([r,a]))))},_getAnchor:function(){return m(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}})),Ii=(A.mergeOptions({closePopupOnClick:!0}),A.include({openPopup:function(t,e,i){return this._initOverlay(Bi,t,e,i).openOn(this),this},closePopup:function(t){return(t=arguments.length?t:this._popup)&&t.close(),this}}),o.include({bindPopup:function(t,e){return this._popup=this._initOverlay(Bi,this._popup,t,e),this._popupHandlersAdded||(this.on({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,keypress:this._onKeyPress,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t){return this._popup&&(this instanceof ci||(this._popup._source=this),this._popup._prepareOpen(t||this._latlng)&&this._popup.openOn(this._map)),this},closePopup:function(){return this._popup&&this._popup.close(),this},togglePopup:function(){return this._popup&&this._popup.toggle(this),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e;this._popup&&this._map&&(Re(t),e=t.layer||t.target,this._popup._source!==e||e instanceof fi?(this._popup._source=e,this.openPopup(t.latlng)):this._map.hasLayer(this._popup)?this.closePopup():this.openPopup(t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)},_onKeyPress:function(t){13===t.originalEvent.keyCode&&this._openPopup(t)}}),Ai.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,opacity:.9},onAdd:function(t){Ai.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&(this.addEventParent(this._source),this._source.fire("tooltipopen",{tooltip:this},!0))},onRemove:function(t){Ai.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&(this.removeEventParent(this._source),this._source.fire("tooltipclose",{tooltip:this},!0))},getEvents:function(){var t=Ai.prototype.getEvents.call(this);return this.options.permanent||(t.preclick=this.close),t},_initLayout:function(){var t="leaflet-tooltip "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=P("div",t),this._container.setAttribute("role","tooltip"),this._container.setAttribute("id","leaflet-tooltip-"+h(this))},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e,i=this._map,n=this._container,o=i.latLngToContainerPoint(i.getCenter()),i=i.layerPointToContainerPoint(t),s=this.options.direction,r=n.offsetWidth,a=n.offsetHeight,h=m(this.options.offset),l=this._getAnchor(),i="top"===s?(e=r/2,a):"bottom"===s?(e=r/2,0):(e="center"===s?r/2:"right"===s?0:"left"===s?r:i.x<o.x?(s="right",0):(s="left",r+2*(h.x+l.x)),a/2);t=t.subtract(m(e,i,!0)).add(h).add(l),z(n,"leaflet-tooltip-right"),z(n,"leaflet-tooltip-left"),z(n,"leaflet-tooltip-top"),z(n,"leaflet-tooltip-bottom"),M(n,"leaflet-tooltip-"+s),Z(n,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&C(this._container,t)},_animateZoom:function(t){t=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(t)},_getAnchor:function(){return m(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}})),Ri=(A.include({openTooltip:function(t,e,i){return this._initOverlay(Ii,t,e,i).openOn(this),this},closeTooltip:function(t){return t.close(),this}}),o.include({bindTooltip:function(t,e){return this._tooltip&&this.isTooltipOpen()&&this.unbindTooltip(),this._tooltip=this._initOverlay(Ii,this._tooltip,t,e),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){var e,i;!t&&this._tooltipHandlersAdded||(e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip},this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,i.click=this._openTooltip,this._map?this._addFocusListeners():i.add=this._addFocusListeners),this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),this[e](i),this._tooltipHandlersAdded=!t)},openTooltip:function(t){return this._tooltip&&(this instanceof ci||(this._tooltip._source=this),this._tooltip._prepareOpen(t)&&(this._tooltip.openOn(this._map),this.getElement?this._setAriaDescribedByOnLayer(this):this.eachLayer&&this.eachLayer(this._setAriaDescribedByOnLayer,this))),this},closeTooltip:function(){if(this._tooltip)return this._tooltip.close()},toggleTooltip:function(){return this._tooltip&&this._tooltip.toggle(this),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_addFocusListeners:function(){this.getElement?this._addFocusListenersOnLayer(this):this.eachLayer&&this.eachLayer(this._addFocusListenersOnLayer,this)},_addFocusListenersOnLayer:function(t){var e="function"==typeof t.getElement&&t.getElement();e&&(S(e,"focus",function(){this._tooltip._source=t,this.openTooltip()},this),S(e,"blur",this.closeTooltip,this))},_setAriaDescribedByOnLayer:function(t){t="function"==typeof t.getElement&&t.getElement();t&&t.setAttribute("aria-describedby",this._tooltip._container.id)},_openTooltip:function(t){var e;this._tooltip&&this._map&&(this._map.dragging&&this._map.dragging.moving()&&!this._openOnceFlag?(this._openOnceFlag=!0,(e=this)._map.once("moveend",function(){e._openOnceFlag=!1,e._openTooltip(t)})):(this._tooltip._source=t.layer||t.target,this.openTooltip(this._tooltip.options.sticky?t.latlng:void 0)))},_moveTooltip:function(t){var e=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(t=this._map.mouseEventToContainerPoint(t.originalEvent),t=this._map.containerPointToLayerPoint(t),e=this._map.layerPointToLatLng(t)),this._tooltip.setLatLng(e)}}),di.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var t=t&&"DIV"===t.tagName?t:document.createElement("div"),e=this.options;return e.html instanceof Element?(me(t),t.appendChild(e.html)):t.innerHTML=!1!==e.html?e.html:"",e.bgPos&&(e=m(e.bgPos),t.style.backgroundPosition=-e.x+"px "+-e.y+"px"),this._setIconStyles(t,"icon"),t},createShadow:function(){return null}}));di.Default=_i;var Ni=o.extend({options:{tileSize:256,opacity:1,updateWhenIdle:b.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:void 0,maxNativeZoom:void 0,minNativeZoom:void 0,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){c(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),T(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=void 0},bringToFront:function(){return this._map&&(fe(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(ge(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){var t;return this._map&&(this._removeAllTiles(),(t=this._clampZoom(this._map.getZoom()))!==this._tileZoom&&(this._tileZoom=t,this._updateLevels()),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=j(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return document.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof p?t:new p(t,t)},_updateZIndex:function(){this._container&&void 0!==this.options.zIndex&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-1/0,1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!b.ielt9){C(this._container,this.options.opacity);var t,e=+new Date,i=!1,n=!1;for(t in this._tiles){var o,s=this._tiles[t];s.current&&s.loaded&&(o=Math.min(1,(e-s.loaded)/200),C(s.el,o),o<1?i=!0:(s.active?n=!0:this._onOpaqueTile(s),s.active=!0))}n&&!this._noPrune&&this._pruneTiles(),i&&(r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this))}},_onOpaqueTile:u,_initContainer:function(){this._container||(this._container=P("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(void 0!==t){for(var i in this._levels)i=Number(i),this._levels[i].el.children.length||i===t?(this._levels[i].el.style.zIndex=e-Math.abs(t-i),this._onUpdateLevel(i)):(T(this._levels[i].el),this._removeTilesAtZoom(i),this._onRemoveLevel(i),delete this._levels[i]);var n=this._levels[t],o=this._map;return n||((n=this._levels[t]={}).el=P("div","leaflet-tile-container leaflet-zoom-animated",this._container),n.el.style.zIndex=e,n.origin=o.project(o.unproject(o.getPixelOrigin()),t).round(),n.zoom=t,this._setZoomTransform(n,o.getCenter(),o.getZoom()),u(n.el.offsetWidth),this._onCreateLevel(n)),this._level=n}},_onUpdateLevel:u,_onRemoveLevel:u,_onCreateLevel:u,_pruneTiles:function(){if(this._map){var t,e,i,n=this._map.getZoom();if(n>this.options.maxZoom||n<this.options.minZoom)this._removeAllTiles();else{for(t in this._tiles)(i=this._tiles[t]).retain=i.current;for(t in this._tiles)(i=this._tiles[t]).current&&!i.active&&(e=i.coords,this._retainParent(e.x,e.y,e.z,e.z-5)||this._retainChildren(e.x,e.y,e.z,e.z+2));for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)T(this._levels[t].el),this._onRemoveLevel(Number(t)),delete this._levels[t];this._removeAllTiles(),this._tileZoom=void 0},_retainParent:function(t,e,i,n){var t=Math.floor(t/2),e=Math.floor(e/2),i=i-1,o=new p(+t,+e),o=(o.z=i,this._tileCoordsToKey(o)),o=this._tiles[o];return o&&o.active?o.retain=!0:(o&&o.loaded&&(o.retain=!0),n<i&&this._retainParent(t,e,i,n))},_retainChildren:function(t,e,i,n){for(var o=2*t;o<2*t+2;o++)for(var s=2*e;s<2*e+2;s++){var r=new p(o,s),r=(r.z=i+1,this._tileCoordsToKey(r)),r=this._tiles[r];r&&r.active?r.retain=!0:(r&&r.loaded&&(r.retain=!0),i+1<n&&this._retainChildren(o,s,i+1,n))}},_resetView:function(t){t=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),t,t)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_clampZoom:function(t){var e=this.options;return void 0!==e.minNativeZoom&&t<e.minNativeZoom?e.minNativeZoom:void 0!==e.maxNativeZoom&&e.maxNativeZoom<t?e.maxNativeZoom:t},_setView:function(t,e,i,n){var o=Math.round(e),o=void 0!==this.options.maxZoom&&o>this.options.maxZoom||void 0!==this.options.minZoom&&o<this.options.minZoom?void 0:this._clampZoom(o),s=this.options.updateWhenZooming&&o!==this._tileZoom;n&&!s||(this._tileZoom=o,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),void 0!==o&&this._update(t),i||this._pruneTiles(),this._noPrune=!!i),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),e=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();b.any3d?be(t.el,e,n):Z(t.el,e)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),i=e.getZoomScale(i,this._tileZoom),t=e.project(t,this._tileZoom).floor(),e=e.getSize().divideBy(2*i);return new f(t.subtract(e),t.add(e))},_update:function(t){var e=this._map;if(e){var i=this._clampZoom(e.getZoom());if(void 0===t&&(t=e.getCenter()),void 0!==this._tileZoom){var n,e=this._getTiledPixelBounds(t),o=this._pxBoundsToTileRange(e),s=o.getCenter(),r=[],e=this.options.keepBuffer,a=new f(o.getBottomLeft().subtract([e,-e]),o.getTopRight().add([e,-e]));if(!(isFinite(o.min.x)&&isFinite(o.min.y)&&isFinite(o.max.x)&&isFinite(o.max.y)))throw new Error("Attempted to load an infinite number of tiles");for(n in this._tiles){var h=this._tiles[n].coords;h.z===this._tileZoom&&a.contains(new p(h.x,h.y))||(this._tiles[n].current=!1)}if(1<Math.abs(i-this._tileZoom))this._setView(t,i);else{for(var l=o.min.y;l<=o.max.y;l++)for(var u=o.min.x;u<=o.max.x;u++){var c,d=new p(u,l);d.z=this._tileZoom,this._isValidTile(d)&&((c=this._tiles[this._tileCoordsToKey(d)])?c.current=!0:r.push(d))}if(r.sort(function(t,e){return t.distanceTo(s)-e.distanceTo(s)}),0!==r.length){this._loading||(this._loading=!0,this.fire("loading"));for(var _=document.createDocumentFragment(),u=0;u<r.length;u++)this._addTile(r[u],_);this._level.el.appendChild(_)}}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}return!this.options.bounds||(e=this._tileCoordsToBounds(t),g(this.options.bounds).overlaps(e))},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToNwSe:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),i=n.add(i);return[e.unproject(n,t.z),e.unproject(i,t.z)]},_tileCoordsToBounds:function(t){t=this._tileCoordsToNwSe(t),t=new s(t[0],t[1]);return t=this.options.noWrap?t:this._map.wrapLatLngBounds(t)},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var t=t.split(":"),e=new p(+t[0],+t[1]);return e.z=+t[2],e},_removeTile:function(t){var e=this._tiles[t];e&&(T(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){M(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=u,t.onmousemove=u,b.ielt9&&this.options.opacity<1&&C(t,this.options.opacity)},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),o=this.createTile(this._wrapCoords(t),a(this._tileReady,this,t));this._initTile(o),this.createTile.length<2&&x(a(this._tileReady,this,t,null,o)),Z(o,i),this._tiles[n]={el:o,coords:t,current:!0},e.appendChild(o),this.fire("tileloadstart",{tile:o,coords:t})},_tileReady:function(t,e,i){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);(i=this._tiles[n])&&(i.loaded=+new Date,this._map._fadeAnimated?(C(i.el,0),r(this._fadeFrame),this._fadeFrame=x(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(M(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),b.ielt9||!this._map._fadeAnimated?x(this._pruneTiles,this):setTimeout(a(this._pruneTiles,this),250)))},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new p(this._wrapX?H(t.x,this._wrapX):t.x,this._wrapY?H(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new f(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}});var Di=Ni.extend({options:{minZoom:0,maxZoom:18,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1,referrerPolicy:!1},initialize:function(t,e){this._url=t,(e=c(this,e)).detectRetina&&b.retina&&0<e.maxZoom?(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom=Math.min(e.maxZoom,e.minZoom+1)):(e.zoomOffset++,e.maxZoom=Math.max(e.minZoom,e.maxZoom-1)),e.minZoom=Math.max(0,e.minZoom)):e.zoomReverse?e.minZoom=Math.min(e.maxZoom,e.minZoom):e.maxZoom=Math.max(e.minZoom,e.maxZoom),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url===t&&void 0===e&&(e=!0),this._url=t,e||this.redraw(),this},createTile:function(t,e){var i=document.createElement("img");return S(i,"load",a(this._tileOnLoad,this,e,i)),S(i,"error",a(this._tileOnError,this,e,i)),!this.options.crossOrigin&&""!==this.options.crossOrigin||(i.crossOrigin=!0===this.options.crossOrigin?"":this.options.crossOrigin),"string"==typeof this.options.referrerPolicy&&(i.referrerPolicy=this.options.referrerPolicy),i.alt="",i.src=this.getTileUrl(t),i},getTileUrl:function(t){var e={r:b.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};return this._map&&!this._map.options.crs.infinite&&(t=this._globalTileRange.max.y-t.y,this.options.tms&&(e.y=t),e["-y"]=t),q(this._url,l(e,this.options))},_tileOnLoad:function(t,e){b.ielt9?setTimeout(a(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.getAttribute("src")!==n&&(e.src=n),t(i,e)},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom;return(t=this.options.zoomReverse?e-t:t)+this.options.zoomOffset},_getSubdomain:function(t){t=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[t]},_abortLoading:function(){var t,e,i;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&((i=this._tiles[t].el).onload=u,i.onerror=u,i.complete||(i.src=K,e=this._tiles[t].coords,T(i),delete this._tiles[t],this.fire("tileabort",{tile:i,coords:e})))},_removeTile:function(t){var e=this._tiles[t];if(e)return e.el.setAttribute("src",K),Ni.prototype._removeTile.call(this,t)},_tileReady:function(t,e,i){if(this._map&&(!i||i.getAttribute("src")!==K))return Ni.prototype._tileReady.call(this,t,e,i)}});function ji(t,e){return new Di(t,e)}var Hi=Di.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i,n=l({},this.defaultWmsParams);for(i in e)i in this.options||(n[i]=e[i]);var t=(e=c(this,e)).detectRetina&&b.retina?2:1,o=this.getTileSize();n.width=o.x*t,n.height=o.y*t,this.wmsParams=n},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=1.3<=this._wmsVersion?"crs":"srs";this.wmsParams[e]=this._crs.code,Di.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToNwSe(t),i=this._crs,i=_(i.project(e[0]),i.project(e[1])),e=i.min,i=i.max,e=(1.3<=this._wmsVersion&&this._crs===li?[e.y,e.x,i.y,i.x]:[e.x,e.y,i.x,i.y]).join(","),i=Di.prototype.getTileUrl.call(this,t);return i+U(this.wmsParams,i,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+e},setParams:function(t,e){return l(this.wmsParams,t),e||this.redraw(),this}});Di.WMS=Hi,ji.wms=function(t,e){return new Hi(t,e)};var Wi=o.extend({options:{padding:.1},initialize:function(t){c(this,t),h(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),M(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){this.off("update",this._updatePaths,this),this._destroyContainer()},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=this._map.getSize().multiplyBy(.5+this.options.padding),o=this._map.project(this._center,e),n=n.multiplyBy(-i).add(o).subtract(this._map._getNewPixelOrigin(t,e));b.any3d?be(this._container,n,i):Z(this._container,n)},_reset:function(){for(var t in this._update(),this._updateTransform(this._center,this._zoom),this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new f(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),Fi=Wi.extend({options:{tolerance:0},getEvents:function(){var t=Wi.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){Wi.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=document.createElement("canvas");S(t,"mousemove",this._onMouseMove,this),S(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this),S(t,"mouseout",this._handleMouseOut,this),t._leaflet_disable_events=!0,this._ctx=t.getContext("2d")},_destroyContainer:function(){r(this._redrawRequest),delete this._ctx,T(this._container),k(this._container),delete this._container},_updatePaths:function(){if(!this._postponeUpdatePaths){for(var t in this._redrawBounds=null,this._layers)this._layers[t]._update();this._redraw()}},_update:function(){var t,e,i,n;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),t=this._bounds,e=this._container,i=t.getSize(),n=b.retina?2:1,Z(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",b.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update"))},_reset:function(){Wi.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t);t=(this._layers[h(t)]=t)._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=t),this._drawLast=t,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,e=e.prev;i?i.prev=e:this._drawLast=e,e?e.next=i:this._drawFirst=i,delete t._order,delete this._layers[h(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if("string"==typeof t.options.dashArray){for(var e,i=t.options.dashArray.split(/[, ]+/),n=[],o=0;o<i.length;o++){if(e=Number(i[o]),isNaN(e))return;n.push(e)}t.options._dashArray=n}else t.options._dashArray=t.options.dashArray},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||x(this._redraw,this))},_extendRedrawBounds:function(t){var e;t._pxBounds&&(e=(t.options.weight||0)+1,this._redrawBounds=this._redrawBounds||new f,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e])))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t,e=this._redrawBounds;e?(t=e.getSize(),this._ctx.clearRect(e.min.x,e.min.y,t.x,t.y)):(this._ctx.save(),this._ctx.setTransform(1,0,0,1,0,0),this._ctx.clearRect(0,0,this._container.width,this._container.height),this._ctx.restore())},_draw:function(){var t,e,i=this._redrawBounds;this._ctx.save(),i&&(e=i.getSize(),this._ctx.beginPath(),this._ctx.rect(i.min.x,i.min.y,e.x,e.y),this._ctx.clip()),this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!i||t._pxBounds&&t._pxBounds.intersects(i))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(h.beginPath(),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){var e,i,n,o;this._drawing&&!t._empty()&&(e=t._point,i=this._ctx,n=Math.max(Math.round(t._radius),1),1!=(o=(Math.max(Math.round(t._radiusY),1)||n)/n)&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!=o&&i.restore(),this._fillStroke(i,t))},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.setLineDash&&t.setLineDash(e.options&&e.options._dashArray||[]),t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),o=this._drawFirst;o;o=o.next)(e=o.layer).options.interactive&&e._containsPoint(n)&&(("click"===t.type||"preclick"===t.type)&&this._map._draggableMoved(e)||(i=e));this._fireEvent(!!i&&[i],t)},_onMouseMove:function(t){var e;!this._map||this._map.dragging.moving()||this._map._animatingZoom||(e=this._map.mouseEventToLayerPoint(t),this._handleMouseHover(t,e))},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(z(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null,this._mouseHoverThrottled=!1)},_handleMouseHover:function(t,e){if(!this._mouseHoverThrottled){for(var i,n,o=this._drawFirst;o;o=o.next)(i=o.layer).options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(M(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._fireEvent(!!this._hoveredLayer&&[this._hoveredLayer],t),this._mouseHoverThrottled=!0,setTimeout(a(function(){this._mouseHoverThrottled=!1},this),32)}},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e,i,n=t._order;n&&(e=n.next,i=n.prev,e&&((e.prev=i)?i.next=e:e&&(this._drawFirst=e),n.prev=this._drawLast,(this._drawLast.next=n).next=null,this._drawLast=n,this._requestRedraw(t)))},_bringToBack:function(t){var e,i,n=t._order;n&&(e=n.next,(i=n.prev)&&((i.next=e)?e.prev=i:i&&(this._drawLast=i),n.prev=null,n.next=this._drawFirst,this._drawFirst.prev=n,this._drawFirst=n,this._requestRedraw(t)))}});function Ui(t){return b.canvas?new Fi(t):null}var Vi=function(){try{return document.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return document.createElement("<lvml:"+t+' class="lvml">')}}catch(t){}return function(t){return document.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}(),zt={_initContainer:function(){this._container=P("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(Wi.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=Vi("shape");M(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=Vi("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;T(e),t.removeInteractiveTarget(e),delete this._layers[h(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,o=t._container;o.stroked=!!n.stroke,o.filled=!!n.fill,n.stroke?(e=e||(t._stroke=Vi("stroke")),o.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=d(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(o.removeChild(e),t._stroke=null),n.fill?(i=i||(t._fill=Vi("fill")),o.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(o.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){fe(t._container)},_bringToBack:function(t){ge(t._container)}},qi=b.vml?Vi:ct,Gi=Wi.extend({_initContainer:function(){this._container=qi("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=qi("g"),this._container.appendChild(this._rootGroup)},_destroyContainer:function(){T(this._container),k(this._container),delete this._container,delete this._rootGroup,delete this._svgSize},_update:function(){var t,e,i;this._map._animatingZoom&&this._bounds||(Wi.prototype._update.call(this),e=(t=this._bounds).getSize(),i=this._container,this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),Z(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update"))},_initPath:function(t){var e=t._path=qi("path");t.options.className&&M(e,t.options.className),t.options.interactive&&M(e,"leaflet-interactive"),this._updateStyle(t),this._layers[h(t)]=t},_addPath:function(t){this._rootGroup||this._initContainer(),this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){T(t._path),t.removeInteractiveTarget(t._path),delete this._layers[h(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,t=t.options;e&&(t.stroke?(e.setAttribute("stroke",t.color),e.setAttribute("stroke-opacity",t.opacity),e.setAttribute("stroke-width",t.weight),e.setAttribute("stroke-linecap",t.lineCap),e.setAttribute("stroke-linejoin",t.lineJoin),t.dashArray?e.setAttribute("stroke-dasharray",t.dashArray):e.removeAttribute("stroke-dasharray"),t.dashOffset?e.setAttribute("stroke-dashoffset",t.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),t.fill?(e.setAttribute("fill",t.fillColor||t.color),e.setAttribute("fill-opacity",t.fillOpacity),e.setAttribute("fill-rule",t.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,dt(t._parts,e))},_updateCircle:function(t){var e=t._point,i=Math.max(Math.round(t._radius),1),n="a"+i+","+(Math.max(Math.round(t._radiusY),1)||i)+" 0 1,0 ",e=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+n+2*i+",0 "+n+2*-i+",0 ";this._setPath(t,e)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){fe(t._path)},_bringToBack:function(t){ge(t._path)}});function Ki(t){return b.svg||b.vml?new Gi(t):null}b.vml&&Gi.include(zt),A.include({getRenderer:function(t){t=(t=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer)||(this._renderer=this._createRenderer());return this.hasLayer(t)||this.addLayer(t),t},_getPaneRenderer:function(t){var e;return"overlayPane"!==t&&void 0!==t&&(void 0===(e=this._paneRenderers[t])&&(e=this._createRenderer({pane:t}),this._paneRenderers[t]=e),e)},_createRenderer:function(t){return this.options.preferCanvas&&Ui(t)||Ki(t)}});var Yi=xi.extend({initialize:function(t,e){xi.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return[(t=g(t)).getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}});Gi.create=qi,Gi.pointsToPath=dt,wi.geometryToLayer=bi,wi.coordsToLatLng=Li,wi.coordsToLatLngs=Ti,wi.latLngToCoords=Mi,wi.latLngsToCoords=zi,wi.getFeature=Ci,wi.asFeature=Zi,A.mergeOptions({boxZoom:!0});var _t=n.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane,this._resetStateTimeout=0,t.on("unload",this._destroy,this)},addHooks:function(){S(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){k(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_destroy:function(){T(this._pane),delete this._pane},_resetState:function(){this._resetStateTimeout=0,this._moved=!1},_clearDeferredResetState:function(){0!==this._resetStateTimeout&&(clearTimeout(this._resetStateTimeout),this._resetStateTimeout=0)},_onMouseDown:function(t){if(!t.shiftKey||1!==t.which&&1!==t.button)return!1;this._clearDeferredResetState(),this._resetState(),re(),Le(),this._startPoint=this._map.mouseEventToContainerPoint(t),S(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=P("div","leaflet-zoom-box",this._container),M(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var t=new f(this._point,this._startPoint),e=t.getSize();Z(this._box,t.min),this._box.style.width=e.x+"px",this._box.style.height=e.y+"px"},_finish:function(){this._moved&&(T(this._box),z(this._container,"leaflet-crosshair")),ae(),Te(),k(document,{contextmenu:Re,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){1!==t.which&&1!==t.button||(this._finish(),this._moved&&(this._clearDeferredResetState(),this._resetStateTimeout=setTimeout(a(this._resetState,this),0),t=new s(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point)),this._map.fitBounds(t).fire("boxzoomend",{boxZoomBounds:t})))},_onKeyDown:function(t){27===t.keyCode&&(this._finish(),this._clearDeferredResetState(),this._resetState())}}),Ct=(A.addInitHook("addHandler","boxZoom",_t),A.mergeOptions({doubleClickZoom:!0}),n.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,i=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(i):e.setZoomAround(t.containerPoint,i)}})),Zt=(A.addInitHook("addHandler","doubleClickZoom",Ct),A.mergeOptions({dragging:!0,inertia:!0,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),n.extend({addHooks:function(){var t;this._draggable||(t=this._map,this._draggable=new Xe(t._mapPane,t._container),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))),M(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){z(this._map._container,"leaflet-grab"),z(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDragStart:function(){var t,e=this._map;e._stop(),this._map.options.maxBounds&&this._map.options.maxBoundsViscosity?(t=g(this._map.options.maxBounds),this._offsetLimit=_(this._map.latLngToContainerPoint(t.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(t.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))):this._offsetLimit=null,e.fire("movestart").fire("dragstart"),e.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){var e,i;this._map.options.inertia&&(e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos,this._positions.push(i),this._times.push(e),this._prunePositions(e)),this._map.fire("move",t).fire("drag",t)},_prunePositions:function(t){for(;1<this._positions.length&&50<t-this._times[0];)this._positions.shift(),this._times.shift()},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){var t,e;this._viscosity&&this._offsetLimit&&(t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit,t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t))},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,n=(n+e+i)%t-e-i,t=Math.abs(o+i)<Math.abs(n+i)?o:n;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=t},_onDragEnd:function(t){var e,i,n,o,s=this._map,r=s.options,a=!r.inertia||t.noInertia||this._times.length<2;s.fire("dragend",t),!a&&(this._prunePositions(+new Date),t=this._lastPos.subtract(this._positions[0]),a=(this._lastTime-this._times[0])/1e3,e=r.easeLinearity,a=(t=t.multiplyBy(e/a)).distanceTo([0,0]),i=Math.min(r.inertiaMaxSpeed,a),t=t.multiplyBy(i/a),n=i/(r.inertiaDeceleration*e),(o=t.multiplyBy(-n/2).round()).x||o.y)?(o=s._limitOffset(o,s.options.maxBounds),x(function(){s.panBy(o,{duration:n,easeLinearity:e,noMoveStart:!0,animate:!0})})):s.fire("moveend")}})),St=(A.addInitHook("addHandler","dragging",Zt),A.mergeOptions({keyboard:!0,keyboardPanDelta:80}),n.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),S(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),k(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){var t,e,i;this._focused||(i=document.body,t=document.documentElement,e=i.scrollTop||t.scrollTop,i=i.scrollLeft||t.scrollLeft,this._map._container.focus(),window.scrollTo(i,e))},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){for(var e=this._panKeys={},i=this.keyCodes,n=0,o=i.left.length;n<o;n++)e[i.left[n]]=[-1*t,0];for(n=0,o=i.right.length;n<o;n++)e[i.right[n]]=[t,0];for(n=0,o=i.down.length;n<o;n++)e[i.down[n]]=[0,t];for(n=0,o=i.up.length;n<o;n++)e[i.up[n]]=[0,-1*t]},_setZoomDelta:function(t){for(var e=this._zoomKeys={},i=this.keyCodes,n=0,o=i.zoomIn.length;n<o;n++)e[i.zoomIn[n]]=t;for(n=0,o=i.zoomOut.length;n<o;n++)e[i.zoomOut[n]]=-t},_addHooks:function(){S(document,"keydown",this._onKeyDown,this)},_removeHooks:function(){k(document,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i,n=t.keyCode,o=this._map;if(n in this._panKeys)o._panAnim&&o._panAnim._inProgress||(i=this._panKeys[n],t.shiftKey&&(i=m(i).multiplyBy(3)),o.options.maxBounds&&(i=o._limitOffset(m(i),o.options.maxBounds)),o.options.worldCopyJump?(e=o.wrapLatLng(o.unproject(o.project(o.getCenter()).add(i))),o.panTo(e)):o.panBy(i));else if(n in this._zoomKeys)o.setZoom(o.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[n]);else{if(27!==n||!o._popup||!o._popup.options.closeOnEscapeKey)return;o.closePopup()}Re(t)}}})),Et=(A.addInitHook("addHandler","keyboard",St),A.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60}),n.extend({addHooks:function(){S(this._map._container,"wheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){k(this._map._container,"wheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=He(t),i=this._map.options.wheelDebounceTime,e=(this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date),Math.max(i-(+new Date-this._startTime),0));clearTimeout(this._timer),this._timer=setTimeout(a(this._performZoom,this),e),Re(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0,n=(t._stop(),this._delta/(4*this._map.options.wheelPxPerZoomLevel)),n=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,i=i?Math.ceil(n/i)*i:n,n=t._limitZoom(e+(0<this._delta?i:-i))-e;this._delta=0,this._startTime=null,n&&("center"===t.options.scrollWheelZoom?t.setZoom(e+n):t.setZoomAround(this._lastMousePos,e+n))}})),kt=(A.addInitHook("addHandler","scrollWheelZoom",Et),A.mergeOptions({tapHold:b.touchNative&&b.safari&&b.mobile,tapTolerance:15}),n.extend({addHooks:function(){S(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){k(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){var e;clearTimeout(this._holdTimeout),1===t.touches.length&&(e=t.touches[0],this._startPos=this._newPos=new p(e.clientX,e.clientY),this._holdTimeout=setTimeout(a(function(){this._cancel(),this._isTapValid()&&(S(document,"touchend",O),S(document,"touchend touchcancel",this._cancelClickPrevent),this._simulateEvent("contextmenu",e))},this),600),S(document,"touchend touchcancel contextmenu",this._cancel,this),S(document,"touchmove",this._onMove,this))},_cancelClickPrevent:function t(){k(document,"touchend",O),k(document,"touchend touchcancel",t)},_cancel:function(){clearTimeout(this._holdTimeout),k(document,"touchend touchcancel contextmenu",this._cancel,this),k(document,"touchmove",this._onMove,this)},_onMove:function(t){t=t.touches[0];this._newPos=new p(t.clientX,t.clientY)},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_simulateEvent:function(t,e){t=new MouseEvent(t,{bubbles:!0,cancelable:!0,view:window,screenX:e.screenX,screenY:e.screenY,clientX:e.clientX,clientY:e.clientY});t._simulated=!0,e.target.dispatchEvent(t)}})),Ot=(A.addInitHook("addHandler","tapHold",kt),A.mergeOptions({touchZoom:b.touch,bounceAtZoomLimits:!0}),n.extend({addHooks:function(){M(this._map._container,"leaflet-touch-zoom"),S(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){z(this._map._container,"leaflet-touch-zoom"),k(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var e,i,n=this._map;!t.touches||2!==t.touches.length||n._animatingZoom||this._zooming||(e=n.mouseEventToContainerPoint(t.touches[0]),i=n.mouseEventToContainerPoint(t.touches[1]),this._centerPoint=n.getSize()._divideBy(2),this._startLatLng=n.containerPointToLatLng(this._centerPoint),"center"!==n.options.touchZoom&&(this._pinchStartLatLng=n.containerPointToLatLng(e.add(i)._divideBy(2))),this._startDist=e.distanceTo(i),this._startZoom=n.getZoom(),this._moved=!1,this._zooming=!0,n._stop(),S(document,"touchmove",this._onTouchMove,this),S(document,"touchend touchcancel",this._onTouchEnd,this),O(t))},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),o=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(o,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&o<1||this._zoom>e.getMaxZoom()&&1<o)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1==o)return}else{i=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1==o&&0===i.x&&0===i.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(i),this._zoom)}this._moved||(e._moveStart(!0,!1),this._moved=!0),r(this._animRequest);n=a(e._move,e,this._center,this._zoom,{pinch:!0,round:!1},void 0);this._animRequest=x(n,this,!0),O(t)}},_onTouchEnd:function(){this._moved&&this._zooming?(this._zooming=!1,r(this._animRequest),k(document,"touchmove",this._onTouchMove,this),k(document,"touchend touchcancel",this._onTouchEnd,this),this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom))):this._zooming=!1}})),Xi=(A.addInitHook("addHandler","touchZoom",Ot),A.BoxZoom=_t,A.DoubleClickZoom=Ct,A.Drag=Zt,A.Keyboard=St,A.ScrollWheelZoom=Et,A.TapHold=kt,A.TouchZoom=Ot,t.Bounds=f,t.Browser=b,t.CRS=ot,t.Canvas=Fi,t.Circle=vi,t.CircleMarker=gi,t.Class=et,t.Control=B,t.DivIcon=Ri,t.DivOverlay=Ai,t.DomEvent=mt,t.DomUtil=pt,t.Draggable=Xe,t.Evented=it,t.FeatureGroup=ci,t.GeoJSON=wi,t.GridLayer=Ni,t.Handler=n,t.Icon=di,t.ImageOverlay=Ei,t.LatLng=v,t.LatLngBounds=s,t.Layer=o,t.LayerGroup=ui,t.LineUtil=vt,t.Map=A,t.Marker=mi,t.Mixin=ft,t.Path=fi,t.Point=p,t.PolyUtil=gt,t.Polygon=xi,t.Polyline=yi,t.Popup=Bi,t.PosAnimation=Fe,t.Projection=wt,t.Rectangle=Yi,t.Renderer=Wi,t.SVG=Gi,t.SVGOverlay=Oi,t.TileLayer=Di,t.Tooltip=Ii,t.Transformation=at,t.Util=tt,t.VideoOverlay=ki,t.bind=a,t.bounds=_,t.canvas=Ui,t.circle=function(t,e,i){return new vi(t,e,i)},t.circleMarker=function(t,e){return new gi(t,e)},t.control=Ue,t.divIcon=function(t){return new Ri(t)},t.extend=l,t.featureGroup=function(t,e){return new ci(t,e)},t.geoJSON=Si,t.geoJson=Mt,t.gridLayer=function(t){return new Ni(t)},t.icon=function(t){return new di(t)},t.imageOverlay=function(t,e,i){return new Ei(t,e,i)},t.latLng=w,t.latLngBounds=g,t.layerGroup=function(t,e){return new ui(t,e)},t.map=function(t,e){return new A(t,e)},t.marker=function(t,e){return new mi(t,e)},t.point=m,t.polygon=function(t,e){return new xi(t,e)},t.polyline=function(t,e){return new yi(t,e)},t.popup=function(t,e){return new Bi(t,e)},t.rectangle=function(t,e){return new Yi(t,e)},t.setOptions=c,t.stamp=h,t.svg=Ki,t.svgOverlay=function(t,e,i){return new Oi(t,e,i)},t.tileLayer=ji,t.tooltip=function(t,e){return new Ii(t,e)},t.transformation=ht,t.version="1.9.4",t.videoOverlay=function(t,e,i){return new ki(t,e,i)},window.L);t.noConflict=function(){return window.L=Xi,this},window.L=t}); +//# sourceMappingURL=leaflet.js.map \ No newline at end of file diff --git a/frontend/3p/leaflet/leaflet.js.map b/frontend/3p/leaflet/leaflet.js.map new file mode 100644 index 0000000..a3b1707 --- /dev/null +++ b/frontend/3p/leaflet/leaflet.js.map @@ -0,0 +1 @@ +{"version":3,"file":"dist/leaflet.js.map","sources":["../src/core/Util.js","../src/core/Class.js","../src/core/Events.js","../src/geometry/Point.js","../src/geometry/Bounds.js","../src/geo/LatLngBounds.js","../src/geo/LatLng.js","../src/geo/crs/CRS.js","../src/geo/crs/CRS.Earth.js","../src/geo/projection/Projection.SphericalMercator.js","../src/geometry/Transformation.js","../src/geo/crs/CRS.EPSG3857.js","../src/layer/vector/SVG.Util.js","../src/core/Browser.js","../src/dom/DomEvent.Pointer.js","../src/dom/DomEvent.DoubleTap.js","../src/dom/DomUtil.js","../src/dom/DomEvent.js","../src/dom/PosAnimation.js","../src/map/Map.js","../src/control/Control.js","../src/control/Control.Layers.js","../src/control/Control.Zoom.js","../src/control/Control.Scale.js","../src/control/Control.Attribution.js","../src/core/Handler.js","../src/control/index.js","../src/core/index.js","../src/dom/Draggable.js","../src/geometry/PolyUtil.js","../src/geometry/LineUtil.js","../src/geo/projection/Projection.LonLat.js","../src/geo/projection/Projection.Mercator.js","../src/geo/crs/CRS.EPSG3395.js","../src/geo/crs/CRS.EPSG4326.js","../src/geo/crs/CRS.Simple.js","../src/layer/Layer.js","../src/geo/crs/index.js","../src/layer/LayerGroup.js","../src/layer/FeatureGroup.js","../src/layer/marker/Icon.js","../src/layer/marker/Icon.Default.js","../src/layer/marker/Marker.Drag.js","../src/layer/marker/Marker.js","../src/layer/vector/Path.js","../src/layer/vector/CircleMarker.js","../src/layer/vector/Circle.js","../src/layer/vector/Polyline.js","../src/layer/vector/Polygon.js","../src/layer/GeoJSON.js","../src/layer/ImageOverlay.js","../src/layer/VideoOverlay.js","../src/layer/SVGOverlay.js","../src/layer/DivOverlay.js","../src/layer/Popup.js","../src/layer/Tooltip.js","../src/layer/marker/DivIcon.js","../src/layer/marker/index.js","../src/layer/tile/GridLayer.js","../src/layer/tile/TileLayer.js","../src/layer/tile/TileLayer.WMS.js","../src/layer/tile/index.js","../src/layer/vector/Renderer.js","../src/layer/vector/Canvas.js","../src/layer/vector/SVG.VML.js","../src/layer/vector/SVG.js","../src/layer/vector/Renderer.getRenderer.js","../src/layer/vector/Rectangle.js","../src/layer/vector/index.js","../src/layer/index.js","../src/map/handler/Map.BoxZoom.js","../src/map/handler/Map.DoubleClickZoom.js","../src/map/handler/Map.Drag.js","../src/map/handler/Map.Keyboard.js","../src/map/handler/Map.ScrollWheelZoom.js","../src/map/handler/Map.TapHold.js","../src/map/handler/Map.TouchZoom.js","../src/map/index.js"],"names":["extend","dest","i","src","j","len","arguments","length","create","Object","proto","F","prototype","bind","fn","obj","args","slice","Array","apply","call","concat","lastId","stamp","_leaflet_id","throttle","time","context","lock","later","wrapperFn","setTimeout","wrapNum","x","range","includeMax","max","min","d","falseFn","formatNum","num","precision","pow","Math","undefined","round","trim","str","replace","splitWords","split","setOptions","options","hasOwnProperty","getParamString","existingUrl","uppercase","params","push","encodeURIComponent","toUpperCase","indexOf","join","templateRe","template","data","key","value","Error","isArray","toString","array","el","emptyImageUrl","getPrefixed","name","window","lastTime","timeoutDefer","Date","timeToCall","requestFn","requestAnimationFrame","cancelFn","cancelAnimationFrame","id","clearTimeout","requestAnimFrame","immediate","cancelAnimFrame","Class","props","NewClass","Util.setOptions","this","initialize","callInitHooks","parentProto","__super__","Util.create","constructor","statics","Util.extend","includes","checkDeprecatedMixinEvents","L","Mixin","Util.isArray","Events","console","warn","stack","_initHooks","_initHooksCalled","include","parentOptions","mergeOptions","addInitHook","init","on","types","type","_on","Util.splitWords","off","_off","removeAll","_events","_once","_listens","newListener","ctx","once","listeners","_firingCount","Util.falseFn","index","listener","splice","fire","propagate","listens","event","target","sourceTarget","l","_propagateEvent","_fn","_eventParents","addEventParent","Util.stamp","removeEventParent","e","layer","propagatedFrom","Evented","addEventListener","removeEventListener","clearAllEventListeners","addOneTimeEventListener","fireEvent","hasEventListeners","Point","y","trunc","v","floor","ceil","toPoint","Bounds","a","b","points","toBounds","LatLngBounds","corner1","corner2","latlngs","toLatLngBounds","LatLng","lat","lng","alt","isNaN","toLatLng","c","lon","clone","add","point","_add","subtract","_subtract","divideBy","_divideBy","multiplyBy","_multiplyBy","scaleBy","unscaleBy","_round","_floor","_ceil","_trunc","distanceTo","sqrt","equals","contains","abs","min2","max2","getCenter","getBottomLeft","getTopRight","getTopLeft","getBottomRight","getSize","intersects","bounds","xIntersects","yIntersects","overlaps","xOverlaps","yOverlaps","isValid","pad","bufferRatio","heightBuffer","widthBuffer","sw2","ne2","sw","_southWest","ne","_northEast","getSouthWest","getNorthEast","getNorthWest","getNorth","getWest","getSouthEast","getSouth","getEast","latIntersects","lngIntersects","latOverlaps","lngOverlaps","toBBoxString","maxMargin","CRS","latLngToPoint","latlng","zoom","projectedPoint","projection","project","scale","transformation","_transform","pointToLatLng","untransformedPoint","untransform","unproject","log","LN2","getProjectedBounds","infinite","s","transform","Util.formatNum","other","Earth","distance","wrap","wrapLatLng","sizeInMeters","latAccuracy","lngAccuracy","cos","PI","wrapLng","Util.wrapNum","wrapLat","wrapLatLngBounds","center","newCenter","latShift","lngShift","R","latlng1","latlng2","rad","lat1","lat2","sinDLat","sin","sinDLon","atan2","earthRadius","SphericalMercator","MAX_LATITUDE","atan","exp","Transformation","_a","_b","_c","_d","toTransformation","EPSG3857","code","EPSG900913","svgCreate","document","createElementNS","pointsToPath","rings","closed","len2","p","Browser","svg","style","documentElement","ie","ielt9","edge","navigator","webkit","userAgentContains","android","android23","webkitVer","parseInt","exec","userAgent","androidStock","opera","chrome","gecko","safari","phantom","opera12","win","platform","ie3d","webkit3d","WebKitCSSMatrix","gecko3d","any3d","L_DISABLE_3D","mobile","orientation","mobileWebkit","mobileWebkit3d","msPointer","PointerEvent","MSPointerEvent","pointer","touchNative","TouchEvent","touch","L_NO_TOUCH","mobileOpera","mobileGecko","retina","devicePixelRatio","screen","deviceXDPI","logicalXDPI","passiveEvents","supportsPassiveOption","opts","defineProperty","get","canvas","createElement","getContext","createSVGRect","inlineSvg","div","innerHTML","firstChild","namespaceURI","toLowerCase","vml","shape","behavior","adj","mac","linux","POINTER_DOWN","POINTER_MOVE","POINTER_UP","POINTER_CANCEL","pEvent","touchstart","touchmove","touchend","touchcancel","handle","handler","MSPOINTER_TYPE_TOUCH","pointerType","DomEvent.preventDefault","_handlePointer","_pointers","_pointerDocListener","addPointerListener","_globalPointerDown","_globalPointerMove","_globalPointerUp","pointerId","MSPOINTER_TYPE_MOUSE","touches","changedTouches","delay","addDoubleTapListener","detail","last","simDblclick","now","sourceCapabilities","firesTouchEvents","path","DomEvent.getPropagationPath","some","HTMLLabelElement","attributes","for","HTMLInputElement","HTMLSelectElement","prop","newEvent","isTrusted","_simulated","dblclick","_userSelect","userSelectProperty","disableTextSelection","enableTextSelection","_outlineElement","_outlineStyle","TRANSFORM","testProp","TRANSITION","TRANSITION_END","getElementById","getStyle","currentStyle","defaultView","css","getComputedStyle","tagName","className","container","appendChild","remove","parent","parentNode","removeChild","empty","toFront","lastChild","toBack","insertBefore","hasClass","classList","getClass","RegExp","test","addClass","classes","setClass","removeClass","Util.trim","baseVal","correspondingElement","setOpacity","opacity","_setOpacityIE","filter","filterName","filters","item","Enabled","Opacity","setTransform","offset","pos","setPosition","_leaflet_pos","left","top","getPosition","disableImageDrag","DomEvent.on","enableImageDrag","DomEvent.off","preventOutline","element","tabIndex","restoreOutline","outlineStyle","getSizedParentNode","offsetWidth","offsetHeight","body","getScale","rect","getBoundingClientRect","width","height","boundingClientRect","addOne","eventsKey","batchRemove","removeOne","Util.indexOf","filterFn","mouseSubst","mouseenter","mouseleave","wheel","originalHandler","passive","isExternalTarget","attachEvent","handlers","detachEvent","stopPropagation","originalEvent","_stopped","cancelBubble","disableScrollPropagation","disableClickPropagation","preventDefault","returnValue","stop","getPropagationPath","ev","composedPath","getMousePosition","clientX","clientLeft","clientY","clientTop","wheelPxFactor","getWheelDelta","wheelDeltaY","deltaY","deltaMode","deltaX","deltaZ","wheelDelta","related","relatedTarget","err","PosAnimation","run","newPos","duration","easeLinearity","_el","_inProgress","_duration","_easeOutPower","_startPos","DomUtil.getPosition","_offset","_startTime","_animate","_step","_complete","_animId","Util.requestAnimFrame","elapsed","_runFrame","_easeOut","progress","DomUtil.setPosition","Util.cancelAnimFrame","t","Map","crs","minZoom","maxZoom","layers","maxBounds","renderer","zoomAnimation","zoomAnimationThreshold","fadeAnimation","markerZoomAnimation","transform3DLimit","zoomSnap","zoomDelta","trackResize","_handlers","_layers","_zoomBoundLayers","_sizeChanged","_initContainer","_initLayout","_onResize","Util.bind","_initEvents","setMaxBounds","_zoom","_limitZoom","setView","reset","_zoomAnimated","DomUtil.TRANSITION","_createAnimProxy","_proxy","DomUtil.TRANSITION_END","_catchTransitionEnd","_addLayers","_limitCenter","_stop","_loaded","animate","pan","_tryAnimatedZoom","_tryAnimatedPan","_sizeTimer","_resetView","noMoveStart","setZoom","zoomIn","delta","zoomOut","setZoomAround","getZoomScale","viewHalf","centerOffset","latLngToContainerPoint","containerPointToLatLng","_getBoundsCenterZoom","getBounds","paddingTL","paddingTopLeft","padding","paddingBR","paddingBottomRight","getBoundsZoom","Infinity","paddingOffset","swPoint","nePoint","fitBounds","fitWorld","panTo","panBy","_panAnim","step","_onPanTransitionStep","end","_onPanTransitionEnd","DomUtil.addClass","_mapPane","_getMapPanePos","_rawPanBy","getZoom","flyTo","targetCenter","targetZoom","from","to","size","startZoom","w0","w1","u1","rho","rho2","r","sq","sinh","n","cosh","r0","u","start","S","_moveStart","frame","_flyToFrame","_move","getScaleZoom","_moveEnd","flyToBounds","_panInsideMaxBounds","setMinZoom","oldZoom","setMaxZoom","panInsideBounds","_enforcingBounds","panInside","pixelCenter","pixelPoint","pixelBounds","getPixelBounds","paddedBounds","paddedSize","invalidateSize","oldSize","newSize","_lastCenter","oldCenter","debounceMoveend","locate","onResponse","onError","_locateOptions","timeout","watch","_handleGeolocationResponse","_handleGeolocationError","_locationWatchId","geolocation","watchPosition","getCurrentPosition","message","stopLocate","clearWatch","error","_container","coords","latitude","longitude","accuracy","timestamp","addHandler","HandlerClass","enable","_containerId","DomUtil.remove","_clearControlPos","_resizeRequest","_clearHandlers","_panes","_renderer","createPane","pane","DomUtil.create","_checkIfLoaded","_moved","layerPointToLatLng","_getCenterLayerPoint","getMinZoom","_layersMinZoom","getMaxZoom","_layersMaxZoom","inside","nw","se","boundsSize","snap","scalex","scaley","_size","clientWidth","clientHeight","topLeftPoint","_getTopLeftPoint","getPixelOrigin","_pixelOrigin","getPixelWorldBounds","getPane","getPanes","getContainer","toZoom","fromZoom","latLngToLayerPoint","containerPointToLayerPoint","layerPointToContainerPoint","layerPoint","mouseEventToContainerPoint","DomEvent.getMousePosition","mouseEventToLayerPoint","mouseEventToLatLng","DomUtil.get","_onScroll","position","_fadeAnimated","DomUtil.getStyle","_initPanes","_initControlPos","panes","_paneRenderers","markerPane","shadowPane","loading","zoomChanged","supressEvent","_getNewPixelOrigin","pinch","_getZoomSpan","_targets","onOff","_handleDOMEvent","_onMoveEnd","scrollTop","scrollLeft","_findEventTargets","targets","isHover","srcElement","dragging","_draggableMoved","DomEvent.isExternalTarget","_isClickDisabled","DomUtil.preventOutline","_fireDOMEvent","_mouseEvents","canvasTargets","synth","filtered","isMarker","getLatLng","_radius","containerPoint","bubblingMouseEvents","enabled","moved","boxZoom","disable","whenReady","callback","_latLngToNewLayerPoint","topLeft","_latLngBoundsToNewLayerBounds","latLngBounds","_getCenterOffset","centerPoint","viewBounds","_getBoundsOffset","_limitOffset","newBounds","pxBounds","projectedMaxBounds","minOffset","maxOffset","_rebound","right","DomUtil.removeClass","proxy","mapPane","DomUtil.TRANSFORM","DomUtil.setTransform","_animatingZoom","_onZoomTransitionEnd","_animMoveEnd","_destroyAnimProxy","z","propertyName","_nothingToAnimate","getElementsByClassName","_animateZoom","startAnim","noUpdate","_animateToCenter","_animateToZoom","_tempFireZoomEvent","control","Control","map","_map","removeControl","addControl","addTo","onAdd","corner","_controlCorners","onRemove","_refocusOnMap","screenX","screenY","focus","Layers","corners","_controlContainer","createCorner","vSide","hSide","collapsed","autoZIndex","hideSingleBase","sortLayers","sortFunction","layerA","layerB","nameA","nameB","baseLayers","overlays","_layerControlInputs","_lastZIndex","_handlingClick","_preventClick","_addLayer","_update","_checkDisabledLayers","_onLayerChange","_expandIfNotCollapsed","addBaseLayer","addOverlay","removeLayer","_getLayer","expand","_section","acceptableHeight","offsetTop","collapse","section","setAttribute","DomEvent.disableClickPropagation","DomEvent.disableScrollPropagation","link","_expandSafely","_layersLink","href","title","keydown","keyCode","click","_baseLayersList","_separator","_overlaysList","overlay","sort","setZIndex","DomUtil.empty","baseLayersPresent","overlaysPresent","baseLayersCount","_addItem","display","_createRadioElement","checked","radioHtml","radioFragment","input","label","hasLayer","defaultChecked","layerId","_onInputClick","holder","inputs","addedLayers","removedLayers","addLayer","disabled","that","Zoom","zoomInText","zoomInTitle","zoomOutText","zoomOutTitle","zoomName","_zoomInButton","_createButton","_zoomIn","_zoomOutButton","_zoomOut","_updateDisabled","_disabled","shiftKey","html","DomEvent.stop","Scale","zoomControl","maxWidth","metric","imperial","_addScales","updateWhenIdle","_mScale","_iScale","maxMeters","_updateScales","_updateMetric","_updateImperial","meters","_getRoundNum","_updateScale","maxMiles","feet","maxFeet","miles","text","ratio","pow10","Attribution","prefix","ukrainianFlag","_attributions","attributionControl","getAttribution","addAttribution","_addAttribution","removeAttribution","setPrefix","attribs","prefixAndAttribs","Handler","attribution","_enabled","addHooks","removeHooks","START","Draggable","clickTolerance","dragStartTarget","_element","_dragStartTarget","_preventOutline","_onDown","_dragging","finishDrag","sizedParent","mouseevent","DomUtil.hasClass","which","button","DomUtil.disableImageDrag","DomUtil.disableTextSelection","_moving","first","DomUtil.getSizedParentNode","_startPoint","_parentScale","DomUtil.getScale","_onMove","_onUp","_lastTarget","SVGElementInstance","correspondingUseElement","_newPos","_lastEvent","_updatePosition","noInertia","DomUtil.enableImageDrag","DomUtil.enableTextSelection","fireDragend","clipPolygon","clippedPoints","k","edges","_code","LineUtil._getBitCode","LineUtil._getEdgeIntersection","polygonCenter","p1","p2","f","area","LineUtil.isFlat","centroidLatLng","centroid","latlngCenter","latSum","lngSum","_lastCode","simplify","tolerance","_simplifyDP","sqTolerance","reducedPoints","prev","dx","dy","markers","Uint8Array","_simplifyDPStep","sqDist","maxSqDist","_sqClosestPointOnSegment","newPoints","pointToSegmentDistance","clipSegment","useLastCode","codeOut","newCode","codeA","_getBitCode","codeB","_getEdgeIntersection","dot","isFlat","_flat","polylineCenter","halfDist","dist","segDist","LonLat","Mercator","R_MINOR","tmp","con","ts","tan","phi","dphi","EPSG3395","EPSG4326","Simple","Layer","removeFrom","_mapToAdd","addInteractiveTarget","targetEl","removeInteractiveTarget","_layerAdd","events","getEvents","LayerGroup","beforeAdd","eachLayer","method","_addZoomLimit","_updateZoomLevels","_removeZoomLimit","oldZoomSpan","getLayerId","clearLayers","invoke","methodName","getLayer","getLayers","zIndex","FeatureGroup","setStyle","bringToFront","bringToBack","Icon","popupAnchor","tooltipAnchor","crossOrigin","createIcon","oldIcon","_createIcon","createShadow","_getIconUrl","img","_createImg","_setIconStyles","sizeOption","anchor","shadowAnchor","iconAnchor","marginLeft","marginTop","IconDefault","iconUrl","iconRetinaUrl","shadowUrl","iconSize","shadowSize","imagePath","_detectIconPath","_stripUrl","strip","re","idx","match","querySelector","substring","MarkerDrag","marker","_marker","icon","_icon","_draggable","dragstart","_onDragStart","predrag","_onPreDrag","drag","_onDrag","dragend","_onDragEnd","_adjustPan","speed","autoPanSpeed","autoPanPadding","iconPos","origin","panBounds","movement","_panRequest","_oldLatLng","closePopup","autoPan","shadow","_shadow","_latlng","oldLatLng","Marker","interactive","keyboard","zIndexOffset","riseOnHover","riseOffset","autoPanOnFocus","draggable","latLng","_initIcon","update","_removeIcon","_removeShadow","viewreset","setLatLng","setZIndexOffset","getIcon","setIcon","_popup","bindPopup","getElement","_setPos","classToAdd","addIcon","newShadow","mouseover","_bringToFront","mouseout","_resetZIndex","_panOnFocus","addShadow","_updateOpacity","_initInteraction","_zIndex","_updateZIndex","opt","DomUtil.setOpacity","iconOpts","_getPopupAnchor","_getTooltipAnchor","Path","stroke","color","weight","lineCap","lineJoin","dashArray","dashOffset","fill","fillColor","fillOpacity","fillRule","getRenderer","_initPath","_reset","_addPath","_removePath","redraw","_updatePath","_updateStyle","_updateBounds","_bringToBack","_path","_project","_clickTolerance","CircleMarker","radius","setRadius","getRadius","_point","r2","_radiusY","w","_pxBounds","_updateCircle","_empty","_bounds","_containsPoint","Circle","legacyOptions","_mRadius","half","lngR","latR","bottom","acos","Polyline","smoothFactor","noClip","_setLatLngs","getLatLngs","_latlngs","setLatLngs","isEmpty","closestLayerPoint","minDistance","minPoint","closest","LineUtil._sqClosestPointOnSegment","jLen","_parts","LineUtil.polylineCenter","_defaultShape","addLatLng","_convertLatLngs","result","flat","_rings","_projectLatlngs","_rawPxBounds","projectedBounds","ring","_clipPoints","segment","parts","LineUtil.clipSegment","_simplifyPoints","LineUtil.simplify","_updatePoly","part","LineUtil.pointToSegmentDistance","LineUtil._flat","Polygon","PolyUtil.polygonCenter","pop","clipped","PolyUtil.clipPolygon","GeoJSON","geojson","addData","feature","features","geometries","geometry","coordinates","geometryToLayer","asFeature","defaultOptions","resetStyle","onEachFeature","_setLayerStyle","pointToLayer","_coordsToLatLng","coordsToLatLng","_pointToLayer","coordsToLatLngs","geoLayer","properties","featureLayer","pointToLayerFn","markersInheritOptions","levelsDeep","latLngToCoords","latLngsToCoords","getFeature","newGeometry","PointToGeoJSON","toGeoJSON","geoJSON","multi","holes","toMultiPoint","isGeometryCollection","jsons","json","geoJson","ImageOverlay","errorOverlayUrl","url","_url","_image","_initImage","styleOpts","DomUtil.toFront","DomUtil.toBack","setUrl","setBounds","zoomanim","wasElementSupplied","onselectstart","onmousemove","onload","onerror","_overlayOnError","image","errorUrl","VideoOverlay","autoplay","loop","keepAspectRatio","muted","playsInline","vid","onloadeddata","sourceElements","getElementsByTagName","sources","source","SVGOverlay","DivOverlay","content","_source","_content","openOn","close","toggle","_prepareOpen","_removeTimeout","getContent","setContent","visibility","_updateContent","_updateLayout","isOpen","node","_contentNode","hasChildNodes","_getAnchor","_containerBottom","_containerLeft","_containerWidth","Popup","_initOverlay","OverlayClass","old","minWidth","maxHeight","autoPanPaddingTopLeft","autoPanPaddingBottomRight","keepInView","closeButton","autoClose","closeOnEscapeKey","popup","DomEvent.stopPropagation","closeOnClick","closePopupOnClick","preclick","moveend","wrapper","_wrapper","_tipContainer","_tip","_closeButton","whiteSpace","scrolledClass","containerHeight","containerPos","_autopanning","marginBottom","containerWidth","layerPos","Tooltip","openPopup","_popupHandlersAdded","_openPopup","keypress","_onKeyPress","move","_movePopup","unbindPopup","togglePopup","isPopupOpen","setPopupContent","getPopup","direction","permanent","sticky","tooltip","_setPosition","subX","tooltipPoint","tooltipWidth","tooltipHeight","subY","DivIcon","openTooltip","closeTooltip","bindTooltip","_tooltip","isTooltipOpen","unbindTooltip","_initTooltipInteractions","_tooltipHandlersAdded","_moveTooltip","_openTooltip","_addFocusListeners","mousemove","_setAriaDescribedByOnLayer","toggleTooltip","setTooltipContent","getTooltip","_addFocusListenersOnLayer","moving","_openOnceFlag","bgPos","Element","backgroundPosition","Default","GridLayer","tileSize","updateWhenZooming","updateInterval","maxNativeZoom","minNativeZoom","noWrap","keepBuffer","_levels","_tiles","_removeAllTiles","_tileZoom","_setAutoZIndex","isLoading","_loading","tileZoom","_clampZoom","_updateLevels","viewprereset","_invalidateAll","Util.throttle","createTile","getTileSize","compare","children","edgeZIndex","isFinite","nextFrame","willPrune","fade","tile","current","loaded","active","_onOpaqueTile","_noPrune","_pruneTiles","_fadeFrame","Number","_onUpdateLevel","_removeTilesAtZoom","_onRemoveLevel","level","_setZoomTransform","_onCreateLevel","_level","retain","_retainParent","_retainChildren","_removeTile","x2","y2","z2","coords2","_tileCoordsToKey","animating","_setView","noPrune","tileZoomChanged","_abortLoading","_resetGrid","_setZoomTransforms","translate","_tileSize","_globalTileRange","_pxBoundsToTileRange","_wrapX","_wrapY","_getTiledPixelBounds","mapZoom","halfSize","tileRange","tileCenter","queue","margin","noPruneRange","_isValidTile","fragment","createDocumentFragment","_addTile","tileBounds","_tileCoordsToBounds","_keyToBounds","_keyToTileCoords","_tileCoordsToNwSe","nwPoint","sePoint","bp","_initTile","tilePos","_getTilePos","_wrapCoords","_tileReady","_noTilesToLoad","newCoords","TileLayer","subdomains","errorTileUrl","zoomOffset","tms","zoomReverse","detectRetina","referrerPolicy","_onTileRemove","noRedraw","done","_tileOnLoad","_tileOnError","getTileUrl","_getSubdomain","_getZoomForUrl","invertedY","Util.template","getAttribute","tilePoint","complete","Util.emptyImageUrl","tileLayer","TileLayerWMS","defaultWmsParams","service","request","styles","format","transparent","version","wmsParams","realRetina","_crs","_wmsVersion","parseFloat","projectionKey","bbox","setParams","WMS","wms","Renderer","_updatePaths","_destroyContainer","_onZoom","zoomend","_onZoomEnd","_onAnimZoom","_updateTransform","currentCenterPoint","_center","topLeftOffset","Canvas","_onViewPreReset","_postponeUpdatePaths","_draw","_onMouseMove","_onClick","_handleMouseOut","_ctx","_redrawRequest","_redrawBounds","_redraw","m","_updateDashArray","order","_order","_drawLast","next","_drawFirst","_requestRedraw","_extendRedrawBounds","dashValue","_dashArray","_clear","clearRect","save","restore","beginPath","clip","_drawing","closePath","_fillStroke","arc","globalAlpha","fillStyle","setLineDash","lineWidth","strokeStyle","clickedLayer","_fireEvent","_handleMouseHover","_hoveredLayer","_mouseHoverThrottled","candidateHoveredLayer","vmlCreate","namespaces","vmlMixin","coordsize","_stroke","_fill","stroked","filled","dashStyle","endcap","joinstyle","_setPath","SVG","_rootGroup","_svgSize","removeAttribute","_getPaneRenderer","_createRenderer","preferCanvas","Rectangle","_boundsToLatLngs","BoxZoom","_pane","overlayPane","_resetStateTimeout","_destroy","_onMouseDown","_resetState","_clearDeferredResetState","contextmenu","mouseup","_onMouseUp","_onKeyDown","_box","_finish","boxZoomBounds","DoubleClickZoom","doubleClickZoom","_onDoubleClick","Drag","inertia","inertiaDeceleration","inertiaMaxSpeed","worldCopyJump","maxBoundsViscosity","_onPreDragLimit","_onPreDragWrap","_positions","_times","_offsetLimit","_viscosity","_lastTime","_lastPos","_absPos","_prunePositions","shift","pxCenter","pxWorldCenter","_initialWorldOffset","_worldWidth","_viscousLimit","threshold","limit","worldWidth","halfWidth","newX1","newX2","newX","ease","limitedSpeed","decelerationDuration","speedVector","limitedSpeedVector","Keyboard","keyboardPanDelta","keyCodes","down","up","_setPanDelta","_setZoomDelta","_onFocus","blur","_onBlur","mousedown","_addHooks","_removeHooks","docEl","_focused","scrollTo","panDelta","keys","_panKeys","codes","_zoomKeys","altKey","ctrlKey","metaKey","newLatLng","ScrollWheelZoom","scrollWheelZoom","wheelDebounceTime","wheelPxPerZoomLevel","_onWheelScroll","_delta","DomEvent.getWheelDelta","debounce","_lastMousePos","_timer","_performZoom","d2","d3","d4","TapHold","tapHold","tapTolerance","_holdTimeout","_cancel","_isTapValid","_cancelClickPrevent","_simulateEvent","cancelClickPrevent","simulatedEvent","MouseEvent","bubbles","cancelable","view","dispatchEvent","TouchZoom","touchZoom","bounceAtZoomLimits","_onTouchStart","_zooming","_centerPoint","_startLatLng","_pinchStartLatLng","_startDist","_startZoom","_onTouchMove","_onTouchEnd","_animRequest","moveFn","video"],"mappings":"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"} \ No newline at end of file diff --git a/frontend/3p/leaflet/locate/L.Control.Locate.css b/frontend/3p/leaflet/locate/L.Control.Locate.css new file mode 100755 index 0000000..4342b31 --- /dev/null +++ b/frontend/3p/leaflet/locate/L.Control.Locate.css @@ -0,0 +1,63 @@ +.leaflet-control-locate a { + cursor: pointer; +} +.leaflet-control-locate a .leaflet-control-locate-location-arrow { + display: inline-block; + width: 16px; + height: 16px; + margin: 7px; + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>'); +} +.leaflet-control-locate a .leaflet-control-locate-spinner { + display: inline-block; + width: 16px; + height: 16px; + margin: 7px; + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="black" d="M304 48a48 48 0 1 1-96 0 48 48 0 0 1 96 0zm-48 368a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm208-208a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM96 256a48 48 0 1 0-96 0 48 48 0 0 0 96 0zm13 99a48 48 0 1 0 0 96 48 48 0 0 0 0-96zm294 0a48 48 0 1 0 0 96 48 48 0 0 0 0-96zM109 61a48 48 0 1 0 0 96 48 48 0 0 0 0-96z"/></svg>'); + animation: leaflet-control-locate-spin 2s linear infinite; +} +.leaflet-control-locate.active a .leaflet-control-locate-location-arrow { + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="rgb(32, 116, 182)" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>'); +} +.leaflet-control-locate.following a .leaflet-control-locate-location-arrow { + background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="rgb(252, 132, 40)" d="M445 4 29 195c-48 23-32 93 19 93h176v176c0 51 70 67 93 19L508 67c16-38-25-79-63-63z"/></svg>'); +} + +.leaflet-touch .leaflet-bar .leaflet-locate-text-active { + width: 100%; + max-width: 200px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + padding: 0 10px; +} +.leaflet-touch .leaflet-bar .leaflet-locate-text-active .leaflet-locate-icon { + padding: 0 5px 0 0; +} + +.leaflet-control-locate-location circle { + animation: leaflet-control-locate-throb 4s ease infinite; +} + +@keyframes leaflet-control-locate-throb { + 0% { + stroke-width: 1; + } + 50% { + stroke-width: 3; + transform: scale(0.8, 0.8); + } + 100% { + stroke-width: 1; + } +} +@keyframes leaflet-control-locate-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} + +/*# sourceMappingURL=L.Control.Locate.css.map */ diff --git a/frontend/3p/leaflet/locate/L.Control.Locate.min.js b/frontend/3p/leaflet/locate/L.Control.Locate.min.js new file mode 100755 index 0000000..6a48bbe --- /dev/null +++ b/frontend/3p/leaflet/locate/L.Control.Locate.min.js @@ -0,0 +1,4 @@ +/*! Version: 0.81.1 +Copyright (c) 2016 Dominik Moritz */ +!function(t,i){"function"==typeof define&&define.amd?define(["leaflet"],t):"object"==typeof exports&&(void 0!==i&&i.L?module.exports=t(L):module.exports=t(require("leaflet"))),void 0!==i&&i.L&&(i.L.Control.Locate=t(L))}(function(l){const s=(i,s,t)=>{(t=t.split(" ")).forEach(function(t){l.DomUtil[i].call(this,s,t)})},i=(t,i)=>s("addClass",t,i),o=(t,i)=>s("removeClass",t,i);var t=l.Marker.extend({initialize(t,i){l.Util.setOptions(this,i),this._latlng=t,this.createIcon()},createIcon(){var t=this.options;let i="";void 0!==t.color&&(i+=`stroke:${t.color};`),void 0!==t.weight&&(i+=`stroke-width:${t.weight};`),void 0!==t.fillColor&&(i+=`fill:${t.fillColor};`),void 0!==t.fillOpacity&&(i+=`fill-opacity:${t.fillOpacity};`),void 0!==t.opacity&&(i+=`opacity:${t.opacity};`);t=this._getIconSVG(t,i);this._locationIcon=l.divIcon({className:t.className,html:t.svg,iconSize:[t.w,t.h]}),this.setIcon(this._locationIcon)},_getIconSVG(t,i){var s=t.radius,t=s+t.weight,o=2*t;return{className:"leaflet-control-locate-location",svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${o}" version="1.1" viewBox="-${t} -${t} ${o} ${o}">`+'<circle r="'+s+'" style="'+i+'" /></svg>',w:o,h:o}},setStyle(t){l.Util.setOptions(this,t),this.createIcon()}}),e=t.extend({initialize(t,i,s){l.Util.setOptions(this,s),this._latlng=t,this._heading=i,this.createIcon()},setHeading(t){this._heading=t},_getIconSVG(t,i){var s=t.radius,o=t.width+t.weight,s=2*(s+t.depth+t.weight),t=`M0,0 l${t.width/2},${t.depth} l-${o},0 z`;return{className:"leaflet-control-locate-heading",svg:`<svg xmlns="http://www.w3.org/2000/svg" width="${o}" height="${s}" version="1.1" viewBox="-${o/2} 0 ${o} ${s}" style="${`transform: rotate(${this._heading}deg)`}">`+'<path d="'+t+'" style="'+i+'" /></svg>',w:o,h:s}}}),t=l.Control.extend({options:{position:"topleft",layer:void 0,setView:"untilPanOrZoom",keepCurrentZoomLevel:!1,initialZoomLevel:!1,getLocationBounds(t){return t.bounds},flyTo:!1,clickBehavior:{inView:"stop",outOfView:"setView",inViewNotFollowing:"inView"},returnToPrevBounds:!1,cacheLocation:!0,drawCircle:!0,drawMarker:!0,showCompass:!0,markerClass:t,compassClass:e,circleStyle:{className:"leaflet-control-locate-circle",color:"#136AEC",fillColor:"#136AEC",fillOpacity:.15,weight:0},markerStyle:{className:"leaflet-control-locate-marker",color:"#fff",fillColor:"#2A93EE",fillOpacity:1,weight:3,opacity:1,radius:9},compassStyle:{fillColor:"#2A93EE",fillOpacity:1,weight:0,color:"#fff",opacity:1,radius:9,width:9,depth:6},followCircleStyle:{},followMarkerStyle:{},followCompassStyle:{},icon:"leaflet-control-locate-location-arrow",iconLoading:"leaflet-control-locate-spinner",iconElementTag:"span",textElementTag:"small",circlePadding:[0,0],metric:!0,createButtonCallback(t,i){var t=l.DomUtil.create("a","leaflet-bar-part leaflet-bar-part-single",t),s=(t.title=i.strings.title,t.href="#",t.setAttribute("role","button"),l.DomUtil.create(i.iconElementTag,i.icon,t));return void 0!==i.strings.text&&(l.DomUtil.create(i.textElementTag,"leaflet-locate-text",t).textContent=i.strings.text,t.classList.add("leaflet-locate-text-active"),t.parentNode.style.display="flex",0<i.icon.length)&&s.classList.add("leaflet-locate-icon"),{link:t,icon:s}},onLocationError(t,i){alert(t.message)},onLocationOutsideMapBounds(t){t.stop(),alert(t.options.strings.outsideMapBoundsMsg)},showPopup:!0,strings:{title:"Show me where I am",metersUnit:"meters",feetUnit:"feet",popup:"You are within {distance} {unit} from this point",outsideMapBoundsMsg:"You seem located outside the boundaries of the map"},locateOptions:{maxZoom:1/0,watch:!0,setView:!1}},initialize(t){for(const i in t)"object"==typeof this.options[i]?l.extend(this.options[i],t[i]):this.options[i]=t[i];this.options.followMarkerStyle=l.extend({},this.options.markerStyle,this.options.followMarkerStyle),this.options.followCircleStyle=l.extend({},this.options.circleStyle,this.options.followCircleStyle),this.options.followCompassStyle=l.extend({},this.options.compassStyle,this.options.followCompassStyle)},onAdd(t){var i=l.DomUtil.create("div","leaflet-control-locate leaflet-bar leaflet-control"),t=(this._container=i,this._map=t,this._layer=this.options.layer||new l.LayerGroup,this._layer.addTo(t),this._event=void 0,this._compassHeading=null,this._prevBounds=null,this.options.createButtonCallback(i,this.options));return this._link=t.link,this._icon=t.icon,l.DomEvent.on(this._link,"click",function(t){l.DomEvent.stopPropagation(t),l.DomEvent.preventDefault(t),this._onClick()},this).on(this._link,"dblclick",l.DomEvent.stopPropagation),this._resetVariables(),this._map.on("unload",this._unload,this),i},_onClick(){this._justClicked=!0;var i=this._isFollowing();if(this._userPanned=!1,this._userZoomed=!1,this._active&&!this._event)this.stop();else if(this._active){var s=this.options.clickBehavior;let t=s.outOfView;switch(t=s[t=this._map.getBounds().contains(this._event.latlng)?i?s.inView:s.inViewNotFollowing:t]?s[t]:t){case"setView":this.setView();break;case"stop":this.stop(),this.options.returnToPrevBounds&&(this.options.flyTo?this._map.flyToBounds:this._map.fitBounds).bind(this._map)(this._prevBounds)}}else this.options.returnToPrevBounds&&(this._prevBounds=this._map.getBounds()),this.start();this._updateContainerStyle()},start(){this._activate(),this._event&&(this._drawMarker(this._map),this.options.setView)&&this.setView(),this._updateContainerStyle()},stop(){this._deactivate(),this._cleanClasses(),this._resetVariables(),this._removeMarker()},stopFollowing(){this._userPanned=!0,this._updateContainerStyle(),this._drawMarker()},_activate(){if(!this._active&&this._map&&(this._map.locate(this.options.locateOptions),this._map.fire("locateactivate",this),this._active=!0,this._map.on("locationfound",this._onLocationFound,this),this._map.on("locationerror",this._onLocationError,this),this._map.on("dragstart",this._onDrag,this),this._map.on("zoomstart",this._onZoom,this),this._map.on("zoomend",this._onZoomEnd,this),this.options.showCompass)){const t="ondeviceorientationabsolute"in window;if(t||"ondeviceorientation"in window){const i=this,s=function(){l.DomEvent.on(window,t?"deviceorientationabsolute":"deviceorientation",i._onDeviceOrientation,i)};DeviceOrientationEvent&&"function"==typeof DeviceOrientationEvent.requestPermission?DeviceOrientationEvent.requestPermission().then(function(t){"granted"===t&&s()}):s()}}},_deactivate(){this._active&&this._map&&(this._map.stopLocate(),this._map.fire("locatedeactivate",this),this._active=!1,this.options.cacheLocation||(this._event=void 0),this._map.off("locationfound",this._onLocationFound,this),this._map.off("locationerror",this._onLocationError,this),this._map.off("dragstart",this._onDrag,this),this._map.off("zoomstart",this._onZoom,this),this._map.off("zoomend",this._onZoomEnd,this),this.options.showCompass)&&(this._compassHeading=null,"ondeviceorientationabsolute"in window?l.DomEvent.off(window,"deviceorientationabsolute",this._onDeviceOrientation,this):"ondeviceorientation"in window&&l.DomEvent.off(window,"deviceorientation",this._onDeviceOrientation,this))},setView(){var t;this._drawMarker(),this._isOutsideMapBounds()?(this._event=void 0,this.options.onLocationOutsideMapBounds(this)):this._justClicked&&!1!==this.options.initialZoomLevel?(t=this.options.flyTo?this._map.flyTo:this._map.setView).bind(this._map)([this._event.latitude,this._event.longitude],this.options.initialZoomLevel):this.options.keepCurrentZoomLevel?(t=this.options.flyTo?this._map.flyTo:this._map.panTo).bind(this._map)([this._event.latitude,this._event.longitude]):(t=this.options.flyTo?this._map.flyToBounds:this._map.fitBounds,this._ignoreEvent=!0,t.bind(this._map)(this.options.getLocationBounds(this._event),{padding:this.options.circlePadding,maxZoom:this.options.initialZoomLevel||this.options.locateOptions.maxZoom}),l.Util.requestAnimFrame(function(){this._ignoreEvent=!1},this))},_drawCompass(){var t,i;this._event&&(t=this._event.latlng,this.options.showCompass&&t&&null!==this._compassHeading&&(i=this._isFollowing()?this.options.followCompassStyle:this.options.compassStyle,this._compass?(this._compass.setLatLng(t),this._compass.setHeading(this._compassHeading),this._compass.setStyle&&this._compass.setStyle(i)):this._compass=new this.options.compassClass(t,this._compassHeading,i).addTo(this._layer)),!this._compass||this.options.showCompass&&null!==this._compassHeading||(this._compass.removeFrom(this._layer),this._compass=null))},_drawMarker(){void 0===this._event.accuracy&&(this._event.accuracy=0);var t,i=this._event.accuracy,s=this._event.latlng;this.options.drawCircle&&(t=this._isFollowing()?this.options.followCircleStyle:this.options.circleStyle,this._circle?this._circle.setLatLng(s).setRadius(i).setStyle(t):this._circle=l.circle(s,i,t).addTo(this._layer));let o,e;e=this.options.metric?(o=i.toFixed(0),this.options.strings.metersUnit):(o=(3.2808399*i).toFixed(0),this.options.strings.feetUnit),this.options.drawMarker&&(t=this._isFollowing()?this.options.followMarkerStyle:this.options.markerStyle,this._marker?(this._marker.setLatLng(s),this._marker.setStyle&&this._marker.setStyle(t)):this._marker=new this.options.markerClass(s,t).addTo(this._layer)),this._drawCompass();const n=this.options.strings.popup;function a(){return"string"==typeof n?l.Util.template(n,{distance:o,unit:e}):"function"==typeof n?n({distance:o,unit:e}):n}this.options.showPopup&&n&&this._marker&&this._marker.bindPopup(a())._popup.setLatLng(s),this.options.showPopup&&n&&this._compass&&this._compass.bindPopup(a())._popup.setLatLng(s)},_removeMarker(){this._layer.clearLayers(),this._marker=void 0,this._circle=void 0},_unload(){this.stop(),this._map&&this._map.off("unload",this._unload,this)},_setCompassHeading(t){!isNaN(parseFloat(t))&&isFinite(t)?(t=Math.round(t),this._compassHeading=t,l.Util.requestAnimFrame(this._drawCompass,this)):this._compassHeading=null},_onCompassNeedsCalibration(){this._setCompassHeading()},_onDeviceOrientation(t){this._active&&(t.webkitCompassHeading?this._setCompassHeading(t.webkitCompassHeading):t.absolute&&t.alpha&&this._setCompassHeading(360-t.alpha))},_onLocationError(t){3==t.code&&this.options.locateOptions.watch||(this.stop(),this.options.onLocationError(t,this))},_onLocationFound(t){if((!this._event||this._event.latlng.lat!==t.latlng.lat||this._event.latlng.lng!==t.latlng.lng||this._event.accuracy!==t.accuracy)&&this._active){switch(this._event=t,this._drawMarker(),this._updateContainerStyle(),this.options.setView){case"once":this._justClicked&&this.setView();break;case"untilPan":this._userPanned||this.setView();break;case"untilPanOrZoom":this._userPanned||this._userZoomed||this.setView();break;case"always":this.setView()}this._justClicked=!1}},_onDrag(){this._event&&!this._ignoreEvent&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_onZoom(){this._event&&!this._ignoreEvent&&(this._userZoomed=!0,this._updateContainerStyle(),this._drawMarker())},_onZoomEnd(){this._event&&this._drawCompass(),this._event&&!this._ignoreEvent&&this._marker&&!this._map.getBounds().pad(-.3).contains(this._marker.getLatLng())&&(this._userPanned=!0,this._updateContainerStyle(),this._drawMarker())},_isFollowing(){return!!this._active&&("always"===this.options.setView||("untilPan"===this.options.setView?!this._userPanned:"untilPanOrZoom"===this.options.setView?!this._userPanned&&!this._userZoomed:void 0))},_isOutsideMapBounds(){return void 0!==this._event&&this._map.options.maxBounds&&!this._map.options.maxBounds.contains(this._event.latlng)},_updateContainerStyle(){this._container&&(this._active&&!this._event?this._setClasses("requesting"):this._isFollowing()?this._setClasses("following"):this._active?this._setClasses("active"):this._cleanClasses())},_setClasses(t){"requesting"==t?(o(this._container,"active following"),i(this._container,"requesting"),o(this._icon,this.options.icon),i(this._icon,this.options.iconLoading)):"active"==t?(o(this._container,"requesting following"),i(this._container,"active"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)):"following"==t&&(o(this._container,"requesting"),i(this._container,"active following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon))},_cleanClasses(){l.DomUtil.removeClass(this._container,"requesting"),l.DomUtil.removeClass(this._container,"active"),l.DomUtil.removeClass(this._container,"following"),o(this._icon,this.options.iconLoading),i(this._icon,this.options.icon)},_resetVariables(){this._active=!1,this._justClicked=!1,this._userPanned=!1,this._userZoomed=!1}});return l.control.locate=t=>new l.Control.Locate(t),t},window); +//# sourceMappingURL=L.Control.Locate.min.js.map \ No newline at end of file diff --git a/frontend/3p/leaflet/locate/L.Control.Locate.min.js.map b/frontend/3p/leaflet/locate/L.Control.Locate.min.js.map new file mode 100755 index 0000000..c99f4ff --- /dev/null +++ b/frontend/3p/leaflet/locate/L.Control.Locate.min.js.map @@ -0,0 +1 @@ +{"version":3,"file":"L.Control.Locate.min.js","sources":["../src/L.Control.Locate.js"],"names":["factory","window","define","amd","exports","L","module","require","Control","Locate","LDomUtilApplyClassesMethod","method","element","classNames","split","forEach","className","DomUtil","call","this","addClasses","el","names","removeClasses","LocationMarker","Marker","extend","initialize","latlng","options","Util","setOptions","_latlng","createIcon","opt","let","style","undefined","color","weight","fillColor","fillOpacity","opacity","icon","_getIconSVG","_locationIcon","divIcon","html","svg","iconSize","w","h","setIcon","r","radius","s","s2","setStyle","CompassMarker","heading","_heading","setHeading","width","depth","path","LocateControl","position","layer","setView","keepCurrentZoomLevel","initialZoomLevel","getLocationBounds","locationEvent","bounds","flyTo","clickBehavior","inView","outOfView","inViewNotFollowing","returnToPrevBounds","cacheLocation","drawCircle","drawMarker","showCompass","markerClass","compassClass","circleStyle","markerStyle","compassStyle","followCircleStyle","followMarkerStyle","followCompassStyle","iconLoading","iconElementTag","textElementTag","circlePadding","metric","createButtonCallback","container","link","create","title","strings","href","setAttribute","text","textContent","classList","add","parentNode","display","length","onLocationError","err","control","alert","message","onLocationOutsideMapBounds","stop","outsideMapBoundsMsg","showPopup","metersUnit","feetUnit","popup","locateOptions","maxZoom","Infinity","watch","i","onAdd","map","linkAndIcon","_container","_map","_layer","LayerGroup","addTo","_event","_compassHeading","_prevBounds","_link","_icon","DomEvent","on","ev","stopPropagation","preventDefault","_onClick","_resetVariables","_unload","_justClicked","wasFollowing","_isFollowing","_userPanned","_userZoomed","_active","behaviors","behavior","getBounds","contains","flyToBounds","fitBounds","bind","start","_updateContainerStyle","_activate","_drawMarker","_deactivate","_cleanClasses","_removeMarker","stopFollowing","locate","fire","_onLocationFound","_onLocationError","_onDrag","_onZoom","_onZoomEnd","oriAbs","_this","deviceorientation","_onDeviceOrientation","DeviceOrientationEvent","requestPermission","then","permissionState","stopLocate","off","f","_isOutsideMapBounds","latitude","longitude","panTo","_ignoreEvent","padding","requestAnimFrame","_drawCompass","cStyle","_compass","setLatLng","removeFrom","accuracy","mStyle","_circle","setRadius","circle","distance","unit","toFixed","_marker","t","getPopupText","template","bindPopup","_popup","clearLayers","_setCompassHeading","angle","isNaN","parseFloat","isFinite","Math","round","_onCompassNeedsCalibration","e","webkitCompassHeading","absolute","alpha","code","lat","lng","pad","getLatLng","maxBounds","_setClasses","state","removeClass"],"mappings":"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"} \ No newline at end of file diff --git a/frontend/data b/frontend/data new file mode 120000 index 0000000..20bf75b --- /dev/null +++ b/frontend/data @@ -0,0 +1 @@ +../backend/data \ No newline at end of file diff --git a/frontend/favicon.ico b/frontend/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..d654aa42cbf633c3108d7b59afd594130f02ae64 GIT binary patch literal 1456 zcmZQzU}Rus5D;KsU|>*S5MpFtFaxm^Abd6^1_lpC1_lEI2tSF5fx(ZNfuS?N&z+Y` zii?4Pf!EW+C5VB60c3&z2MYrO!`5HsuNW8@ZhE>nhE&{2PH<p6x^rqNj|`6mLw4Z3 z*Z<}J`$x;K>h_IVQdatOUHX5=2Pb;(WbjljkLXZgvH5YqXtE<iWL)ys?$iJK|Hc2V zfBQc<q3Y=WTih$cJdIYceJ}m{{*U}M=EagvF1`(%Ri1p0m(A6pmr<pB{@v0(M<zdI z=KBV0Vt2S^{EiZjOM7r=ZA10TrJ>><H8yP2+#gnV_THs4oG#H82QoTzsw>i7ow_xB ztNx|11(zSr<axuxqb0m<{@;FCza7UGoC(-lefTeLf5Cy@bE73!mA|*_mM+U@WO#A+ zL`g+T-cC@Mc)I$ztaD0e!V)5&FjN4C$j#zS^$ZM*XJH|7fIFo5$s>sq>}@+Q%dPpD zw5Or5Tj%Yzt<v`YL16Cxyy+5WJg@6dFMDh+v&H_Jo_d`2Zr9B&X3ia-u6^bZ{`dZG z&em?nE(_+E=zVX0@BjG!(0~2^%FX8gh4WUj2``M_`|L)2Ou{$qW;>@}U+41G{OOmD z`H^4S=*V4u<muGAwO{4!fBfG6WnGSto^VJ~{`vp>O`rcw|Lfm&sO$gd3qLIFdA2<? za+-9IlV@+wyZ3+j8{NK3+8F$hYdO?(_(Q;*(<k^R%0G&il1oZB{6LuTi%#C$KlPvX zAJt`(T~pKKaN;eC#)TMvBaVcp{7K9$nnn(5<MvKtV)n60uQ8nKzK!u%rM3P2KmLu3 zZryqRm!Dv`{Bw%rfz_LfUjIM)zckF~L(|Vs*TnVy@8>zSZ&Sq2jE1vC<$q?+$Tz(I z=zhezw1m`z&3B}KYktdqbNz<@wCW8X0vi;XrJDCW{3`ojG2lO2v!3HVsY&i@%AVdk zy?^>&z2Cwt&-R>EKXHCv{$Am{hQBx8|Mz5#|8G67@kLr%!dC0=-~NXSJ$(KDTe@U~ z<P1q4zFYG)*Czk&4axX?_FL~;%Whj9L;rul4434C@)|x*{nGx#c|A9S*)lPU=Zgi- z5l97~oMQk^1%J5>c^DX&G$E<r?KEGH$%Qh<_XpmPTYWGtt9sh{t6fWGCRcKG^Qi{u zxV5*aw6w0AKH-JJ-n+Xk0y%<qm3RxT4R&O;W(lf%BO=>Ua51jt=H|DWPo;x1XTSJn z(|_Js;df2`{lnjx>yLewUce_PCvigZd6M&;Yxx(d-u5oj@Vqy-yzYqJ-RJywcS}9D zdLOCyc+tAgXKnA=M;>U6e-tds`mFJ{WL|<o>VLMv-KTpq++@EoJ4M~gco1$S&R?FN z{_n{}%lJiBg$j|HGoQQfkdzI)uKl*@-oCHxo`uu)@3c%dQGalC%lj%@Kh+~IIwR#X z1tOlMt(?N1dE7+n${Oxx2g9EJRyizkDI?fy-|vbAK~<9$W!(~bv|`ionNrsb=BGw% zs&Vg~q<?;S*}Z?$6=vU<Ag<pW{q5}?_3d+Xb8j^F?cw<~Nq<JSztf70dat+quV&d# z`Y#Z!#3AxFw0ND}C5@|pB2Q<&^kC6-t=2t$Y|@;R8Hs)ucCo~tjI+J=<5u>c1-8qU z=yRW9VtB47p|OH1O!wimM5fn|UvIQF@p({pZ@xmWaLl_H+potscm0YG`xEY{e(cVd z%l_sch0KfhYF^%TEB@3!Tg|)qjt4e>n6R@#?7{Ubugj`M?>`ZiaN<z(xtXG0yz%6W zD_8g*MjWjB+8)>UVuswcecA$7_Rd`}uV?eWvweaci@!<!?ooagQ>gn|{CSu1th=J~ p9X<Rn?|3s+aY=^4vNL=FGJldzNr)eRzJG%=;}Mqg#dXLj3;=zNqhbI6 literal 0 HcmV?d00001 diff --git a/frontend/ico/150.png b/frontend/ico/150.png new file mode 100644 index 0000000000000000000000000000000000000000..cd7eaff04b5f4583aadd077b51b5638e331932f6 GIT binary patch literal 891 zcmeAS@N?(olHy`uVBq!ia0y~yV3-EN9Lx+14BYn{FEB7LObGA^ab+L^%%4Ah|Ni~* z^78-x|9}7fy}!RdL=!(h|M~Oh85kJ!_4Oel`T6<l*RPL{kGHqCudlCXU|{I)?^jSz zxPSjXL;)t5kdVN@z#t$XU|?Xtz`)R}ImL{Dfx)08$S;^-e*ORb3IgZf2lN~K2ZQ{C z|NqzjzwZF%Jox|rf4u#K0|gr{eE7fM|Nn-S=NR=E7?`p=T^vIy7~kGv&%0wF;BfKH zzqeY8-`?GO{r7ymxr`h$G`$67SU&4NU~iI(Os@U){&h*{ss-1tw@L9Zx+V8&B^U)P z(Q<Q$yn0|mz%rrCWd|~rxtOwxdH)RC$q>ezsx|Sc)Qy}_9=2<}f3nywTwPrBR{X$* z`LzZzN7h^J5?to;)Qb59&nLb%{-`vW#M=0$S7jJJ^=v5KF(Kfm+YK2#)f-o(ByvB? zgljh5;h6oxQZM|e+l*C@i<EQLJ>L-{KB2CqH}Uf8(p`67&z}8HzVCE(#d6ui?G?FI z((iW^^=`1X)2N8KcX+qC$8n}<p`r8U%Jv<<wQ<j5uAU7`_}}YZx!3>Oam|zdxl3gd zzZXonyh`k)+&%sRMfGbwlY2Mt>O6g-CuF<lcZ186jF#Sq8iuBx_w4f?`Xm)8uetxt z;I4N{_}l&U481Pp*FJGAZHS6maaZ)zS2jMO_-t*F_AZHKn)mEwR_UqQ<+m>4c)B)V z%ECqA8qLR5R=g1P`p9yA(vlUTr(`?|qc&<!5wD0<b8y{LzvK1SYaT9{ZV?|{9{EKt zJmY!q$&uGnw}gdjye|;@akT#XKe<W$Ot%sxPDdQ$da{w}X}Y9#L21JQU7nbIS9Fpk zPe&Xxnzpeg70hIwy5?Yj@@k2N6Sm4OoM6h{x<*ebQdVRWn{C3Xo~L$Ip~tk`4zy|{ z=iYT+KP%#0c17wMy#Rez@zb@u>w8&!q%WQj@;rbr?wFC-L!-azZ$$`hKgI9y<7&so zp42tvM&I++m_?*dTD$oS*iw-F0W&xLo2q&Wq;;w`$WdIz*Y<y5&FN>6d}Mq(6O^ny MUHx3vIVCg!07b@miU0rr literal 0 HcmV?d00001 diff --git a/frontend/ico/16.png b/frontend/ico/16.png new file mode 100644 index 0000000000000000000000000000000000000000..91f7886cdb1dbb3897d098e50c58b183216e48be GIT binary patch literal 274 zcmeAS@N?(olHy`uVBq!ia0y~yU=RRd4i*LmhONKMUokK+-1KyD45_%4oZ!HCbm!Dk z9vL1BhU~z5um8*c_m7re)$JR#q^$Jmy7d2!4^H&n$>6D69?_w~V)NsI(PT%4$hhRM z-KYQe|BL@!|Mq`!Le<g#x42h?c^a)?`(FC@{U7;j%!?(TTznfit33H0FPp1HFQZEN z{JW)nj!b^a%=Zo0#O`p-_#Gu4m-gV$+J@?vOGCv!YHZl3xj(G#?7d58I9;MG4rFxb zR9B?EI(2LMR{cw13obvL$@7MXM@x9!{J;IOemjmWI1{k9`tV=g{(=L)=SEAeDt~X; eEnSw+$nfIsiIR$xyqydT3=E#GelF{r5}E+9+IkuQ literal 0 HcmV?d00001 diff --git a/frontend/ico/192.png b/frontend/ico/192.png new file mode 100644 index 0000000000000000000000000000000000000000..b46cc1fb140bd1dfad06e83d479a984eae793f90 GIT binary patch literal 1158 zcmeAS@N?(olHy`uVBq!ia0y~yU^oE69Lx+145>_WOc@v$rUm$fxH1q8^!4@g^Ya-P z82tVH-@kwV|NsB>>(}%1^T)@>+uPgM*Vi*JFwCDn|NQy$^78Tw3=H@0-`~G~e}8{J z0|SGAfB;r|92^`B3=A3?8VU*u7#J9Mcz8TKJSI$-Ap1Eag@J)Vza+>nm?6L*;eUSp zdV%@x9s1Az|F7^L3hw{^|9}7g|NjsCw~uewFyX=nkoW>O{q1fH49o?dE{-7;j7bu# z3|VK2c9t5jEt*{NSfVLx#_2oX>-S{u41dZNT6^th^ocZ+Ya7d~x9)oXC*9$2@jnjM zvo~`8v8ZM~Gp@VSa-nGE{@x}(ai87K_3HPYxqm*>z{RoZnQnbolc4C6WCPDPS%0Vh zRR3~{<;<3MnSYIqg`RO6OkDldUgm;zrTiJAZ=3(M7yml)=4<4-%E<q7Eo&363aaji z_-|SJe812uyKDdb*SK=(UHi}9Av9}a|JVP*(gv5;Ec%)H_kRPoYRc|U#y>gEY?`#b z{5gZ#mTt$=sRxvIoX8Yk)N<oF$Ba&mgU>ncO}$WH%~ZKJ`<R{kft*9}f2QwU?0(>k zb>q|tQ-fmlCTr~4wdakj4bv&+_&?Wwbkxi&`OdLwQH%7SWA6kxR!<PG=St|1pC}j- z#c9hRTPJq?_1Tn5^8M}Y{SA@&2TYnm_+x(^`91ySg*>PDKie77mK;ixaN^8m(7u!? z_vjJ3fr{yysS_AqOqTkl`eAF1x9l75gljiuUD=@D7|gJwC+1I?RPdoV&P9f`OIW@w zG5jqQ5uCix>p?_t@;B82nWa%uoAn!2_f0zX#yg?2|6`ZPhOk4`HL2XMryscXkyo$o z?T=@wAJ*2@JnsI_$I2XZcn{0FyUY~|rf<9-%=+|eyMAN-!s=r;rXMK36!kJ8hUs+j zhaX?0&+}VX+CBR&zi?TLl+&amS!NsDeL2fHPQCPc5&Qof_w1@q+Q|(1%m3I-{#zPr ze)C`2gt;Gno7FzvU-r&nbE87nA%oeQXKguk>PAlZ(JR*+6kq<{A2ab)>grs{S(d;4 zGx&XQj5x!}z`)Ru%~bbhT^c`w!|8?<HUDx>PxAUIhc%TqTPB3BVZ1FJ$-M3RCbp8z zYZ&jYUBf7SQtHBK=?#;074qKq_|I$Dv3K%chL7J@X3n=^EUZ2*vY|6wdRl{B-uoMj zk4hr_`Wk-xuJKvdAhi5+4dZ3IO6H<p_UN`Pu#TIhI(J&X-=t@cm*(w_U;kKK^f%kQ zDIsrs85v&1KfC&VFIbC#&H7iWbL02F(OLO_cCASbvxd<M6F!E5ii{nH^%*QpWAZq` z>L5hJnQTUeggHLa_ZfqYa(7ulM8Rak)1zBj{ZIX3*u!XURc|8L=6)I^?&<31vd$@? F2>|UX@NfVC literal 0 HcmV?d00001 diff --git a/frontend/ico/310.png b/frontend/ico/310.png new file mode 100644 index 0000000000000000000000000000000000000000..ec82241f939c3f6c899ef6fffad09b9bd43bbeea GIT binary patch literal 1721 zcmeAS@N?(olHy`uVBq!ia0y~yU^D|^4rT@hhC4}qvl$o|76tf(xH6Cq^!4@o`}_I% z`Qzi`|NsAg{`~p;{QUXz=dWMC{{8#+_V)Jj^78lZ-`~G~zrVkKeSJN|1_cEL2m_5w zNJtP65HK(>XlQ6~aB$$^;o;!mP*G8tFkwPYPR@Y?2LjXTb}%q7XqN=}1vAt;%>Umn zu>QQl`vimg0r~s?qk#zv{@XVkD2TuCL0?R7DFXxRY)==*kP5~(*FqOHJMgqVyuemo ze&fH^db6vI2Y&x7Gnh4>q2a_XfjMQV+g{2P#Qb~svxLb)?mwrK6^~N?(W?uS6}WyV z_PyZnV5*xqiO;ESy5$mv?)*=Sp3GKIWG#BTY}ISE^h9Beooc(kElz#t%Hp-ou>9-( zeJO5-WY2D0CwBP6p;C^rqP01%)LDh{{6Fo>UNkczf<=1gH2$x%7bZ>o$#N`4`jx+| zkl$(3#XmJ4$}l;vo2mG4ON?=}9KWfm!IN1xHz+;45+f|lS+3X^6KrY;Qn_(r!90Ja zoy%TLENF|lT)R12Y)9V_2Z7Ku*|dTglJD#Hv?l0(KXPjQ{mE7C8B^D!hjO<5p0se? z%b8xSi`T7`G{3)N{!H6qQ>~bLu^GSB1^%Adt$8P=O;_(n9h=Pd*7~kG^?ip7^FIEP zJmza4^+L3-P}t||U!KQm68uXK8Rk{BUiQh6Ft4>gyd&`8p~uJSo}DjTe8_ccl-ATJ zz3J;aql47Vv@O*{)&Hd5Sy7Pv-TesX;m6YsboK@d%WP-y&GGW<?vNJEdmJZkK3iD2 zHIAo!<0H3L?cMS|^-mIP-uW$Gdobb0r5&nCNs|lHkHsnZujs#Rtr>H4?#KTQ^9*eA zuBn>^mA!s7=SM+~f6kIOWq;a}tCJSjzxtY>X2x(+wvt5*q+qsO%bXiGCg1IJS5!A+ zOBHWB*x5TFR-q^<*{5vbiMnIc-XvZ0%hA~VtFCR6wB5#qZ(jYDJeBw3NZY2>^KS%{ zIscM8wa)3G#_kt&Z2G%HcH}ZD?7sGUW^QEsqritxE;4M&E=yAGW1A3rSXjEyq;+fH z!+!-^uAO+yIse9o3`efxi#65EY-Tw<tS~Vap3U<l<D0r!@sW#f{Bw+~%M+O_W<Bim z&3u1O#)jdr@NA_Auk&h>l;>|xzJ1%-FUR5h?UnBt8Pv>b?tKxKw#$F`muJ5D(<5!? zrT5LBcz$-F0atj*wS!-bi>J%1YB;|#lL@5qQQf<rdl*IZx|*#oORUb^VSI7^4x2S! zH_q#RbZ+tf&zA0&HXe_8od5QAqu1>Kk>d}~$(`DuZDr!@^OEZo!<1Fm_Woa;%c<v) z>3dH0b;y2s1_!-@pBx|9CuLMWOrE<-Do)lneElRgX|tRg8xjw<>4F)t>%*>ZXU;nJ zbyMt`u+_H}|Js#*47+*h>ju@sZM@QEIqR3n*UxgjyyxCUn^|dhKVICn?C#@?)#akO zcVE7IaklL1Cx7G9cd{>j)_(m=x*MbcY&L>%n>`I;5SlpH@<f=F?*`E?PX(g)H6K1O zEl;XZ_wMoo)AD6*T=MN>j*fd<oS-cs*SI#NB0*b9?#8FX%+dP_6SO7eZk%d&uQ?uO zU~^9F#-+oLQvwsc`THm5i*Eb!;YU>*i1TaDp=ok*%R^grZEdEBZfklNm<ZC>)yBSU z(Zfbvdz%fsxy2O;(pQds@YtAWy?R6Ht1F*!ZixM#jqm}gOW{sNFlNiyYu|d8XSTb0 z+jIBji*rl+(=V3PZ(jU6V^-<$>UCnd=DTn0xLd-X6FxEj`)r}sw-2)p9|8yN=cgZ@ z?af(!`rzDeo1U)UX1{HhRNURu+g7k`@7QJ=gX)BT+fF`xckJSq4RZIKO?vgWi{|#f zK4|N9d;h+u>naD!1gc&!fL*$B#@b&O5RN<iEe;mQNP=ZM*DlV8u79!UZHD#*jSzut z%Rwo^cc=cHtq0n8rMG<-0w)q-3^Mxvl?B&iqs<augMILqDfRrCO9`T#zd$vDr>mdK II;Vst03L4~s{jB1 literal 0 HcmV?d00001 diff --git a/frontend/ico/32.png b/frontend/ico/32.png new file mode 100644 index 0000000000000000000000000000000000000000..ee5338302dc1f09788147f097f4cd35e60f1cee8 GIT binary patch literal 518 zcmeAS@N?(olHy`uVBq!ia0y~yU{C;I4i*LmhMUEk>KPaq&w9EzhE&{2PB_3F(){F+ z#0mDcotNd-{7l-@(Acf>cH35I`~M&?_kZ4Wi8G$p^{1CTwwKvre@#z4PJ6fOW*0N( zj!)M<a|r)?|2JoAw_}$Db4>KUx4-v){D0`b{(t3W^Z&wmE7^n>#_xT0qdq3#n|8CE z)32{{`D*_3OUL}kuWfYXE<f^g>fPF}^7cP|@BgwcM@UaNBq{&=fBvS=|EB--Z#&fW z|MP_(mi9c`9vV4KI>^bhx98pazx<7E-z9Afe#o^PYC8NO;Lhn2{1fFL#Y@R0B^-Vr z%=kqoZ|<M^Py3JRvdONgX>vI6mPO-2jK2{_!c+bv<`zvOhqZBgr!g`6Sf$q(&UN3$ zc&yUe{{A2TMn<>py#LEjFkJpQMe@Mv%|);OpZ#ANX7r)y=cjApdjI$HoZ7c3;%7#~ z*`o44vuETR-hXsI;$2!oYQp9_(!VvoWxu(8!+%=!h7W-a3e8f@`yPIk{jV7CpRHNX zai7#A_cdit@15R1{jc6{VU}lm&Z?g{zb}8Ua9+dToA3X7vc~_np4a#yEiGZI_4jZ8 z!-XEc{{JmqGD32Oqz~V%d7EpKfA@xDd_McF_pN2OEsvr9zhH(-@<DkGpQnClf8xBJ bo55_En8owO0_PYQ7#KWV{an^LB{Ts5HZKFe literal 0 HcmV?d00001 diff --git a/frontend/ico/48.png b/frontend/ico/48.png new file mode 100644 index 0000000000000000000000000000000000000000..95d6f780292f1ddbc17bba355688ed43695ed0d8 GIT binary patch literal 610 zcmeAS@N?(olHy`uVBq!ia0y~yU@!n-4i*LmhQHi~JPZs>nw~C>Ar-gYPV@DcTqtvV zf8Y(d)d%CUs;8~L+O=e6awS(cpK6efTYHO2OY6$%6J99ny}R2YkRxbUiMQa|U`JMK zmY~WvBC;(77vpMfZhouzR600w_KR;e{pXz(e%IvRKm47!{@7>f1$=^X5+@{|Cpq7_ zmVcq@ZSOJ-&wF#r>yGH%ea?S(x72g1_mPT^7p?nz*7mM_<bl@sN5QhJ&l-PA<|Qbk z{%0%PeY!WpP4*kJQ`EhT2jN!Y{N?%S|DIg5j9+9`s1T_+^SS#DN!h^b+Hafg?fcs9 zSvYO~PRnEy^#@nCysxtLQ$6ycGg3ZNAmUlt$|>xb$4#`Ztl@rkFzo4XmBS*JGJ?(a z{jOLLR5fW))-9n&D>faUDRs?Yerm*~8u#8w`sbII-TOCPVfKv);`+_e-`?I)-#$k- z_eOKy9-d#5^k;PYJFUp5_j=3!YL@+^{{rDk93pQ+i`Us*(zyC3@^t1)4;Ee5YTe_< zCe2Bik?40}7fbxfINNJKZe{;jV7qLIKKCgmhUbbB8Y{TMbRSMjWP1Jh^+szGp9gjK z<}36H$GnTN{d$aZ*RKe%KjDt*$L@T&>~H>2$h>&3=H*?t;!pjv)x4YUcwqB~2|Fvq z9$dfjx~y9C{u5ydCk{oQn<@Im8&A%-a)tk4#KF3+?QwlCX2@OJr!8=0@7x9RdN%(% z+b7tu_?zVK9_42-g}SfBpLZ$Gx+^;0(Zm1pjyF>kmt-g`JHsa+^C#()g!u92`!_f< W9$`6OT*tt`z~JfX=d#Wzp$P!)B_kLB literal 0 HcmV?d00001 diff --git a/frontend/ico/512.png b/frontend/ico/512.png new file mode 100644 index 0000000000000000000000000000000000000000..56b5e3137697a3368017e69ab2a36acadabbe159 GIT binary patch literal 2458 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 literal 0 HcmV?d00001 diff --git a/frontend/ico/70.png b/frontend/ico/70.png new file mode 100644 index 0000000000000000000000000000000000000000..f89985ca50b1ea805d79ab3938d49599f5fcc7c2 GIT binary patch literal 796 zcmeAS@N?(olHy`uVBq!ia0y~yU~mIr4rUPfL1-HT1H*v;pAc6DFkoh8W?^ArU|?Wn zW!2TyjgOB93xkON|NqaQKcAPE7oy<){rezM28R0jdRA7}{rmSbFfcGNG1=PMzJLGT z-`~H#zaOIV{Q2_?3=DjHd=T{v3=GoJ()RZD4h|0M*RO}zWn*K*z`!6QBg4SJz{A5M zD=V9ypU=R+z{0|!r>6(kXkua_ARwTipdce7BQGznudmO<#AIM#(9qDp_hGpJ0|SFy zNswPKgTbfI319yF|G!?~|NlRa`~TO^|9|*@z@y*)|Np;a|3Cls{__)l{{R2q;mB`= z-vz(_{$FtUPs9BK|H0tn?e~-KGcYio^>lFzsbGA2wRPHJ1Ce7Nxw!8aWh<7NU+T-Q zee(By*2jxU4_|z;j(XUCcaF#+(e73r5${yjeT)7Cn*O<(s(qnD>*}mKy;s+EEnV2; z8Nw5C;^;-6>g1}+Yb~O#23e;rzr2)xuidN6`T5;;k_j{3c)nKtd;6)yv8>8TDwo?* zt!AISxafS<Nw<uRIiVKUeTp?-tPb6}t#9tm7nd!2PybMEVVryX;-0S1$i=RTQP)4Z zy<ihLCaGxqE2(X|NMeDssnct<cVQx_Ym$Wa^}W*)aei-C(jsTDtRn2{rJsVA<mXq3 z`0MAibfu~o*jqcjO~21v!NC8`T-x}@p*t4;cXk@Li8Oqc**2%9Mq2iS#pc`9WpU36 zzU;G*OG;n2X8Gd6?lfD;=aE|HXA5tiYj)o2j?V^<Xb!cM>`7-!)~TL<GV_hGmzpGN zWC~Bpgp0g;PNaW%nA_@|-gWrZj3>tHU(GN&(GWcEXTA|vvIU1CUxH8JH_fyMz7h8l zHfVp>pS^d(TXP@F$v5Zu+|PU+*DZPA*Y*81-)o!w_P2Yd&qyv7*mt-slBa{AXMTNQ z%_)aN&waXsvYyU7!L#|H?~*TU>H!XFb4+!+pU=F|Q!!m_jgQ(t#@zwy6({BR{sko^ MPgg&ebxsLQ01C8CrvLx| literal 0 HcmV?d00001 diff --git a/frontend/ico/apple-touch-icon.png b/frontend/ico/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..0021fa501f6dd66bfcb01d1ab934692f6a2ce22e GIT binary patch literal 1151 zcmeAS@N?(olHy`uVBq!ia0y~yVAuk}9Lx+13|zwB7#J8BW(N3#xPlmX@%;Jo&!0ap zFE0;K_5c6>_wV1w$H(*Y^D{6o+`oTcUtd2zKc9htVgLU9{{H^`{rwCK4C~jghp4Zw zuV-Lj5D*YxU|_Jfw}%KqNCN`{1_p+NgoFbJ4$PS|XTpRD3=9kk3JMMm4h;<rOQ*X> zF)%O~lmz(&GbA|V|F55aUP0jf|NsB*8~p$O|Ns8~|Nr;@|Nnpe|9}tw8~)q>_n)v~ z!T$>&sRJvR9L_K>FsFLDIEGX(zP*#3FBLA(@NmPP1A5mVib>a;e01T;y2;1B{Qtj$ zD_XWO=fW<#xpP)N`&(mYBNMs#R^X=jiw;M%+80Y(-8&Q85cje(rnGY1{i2k2AN}v1 z>fBjl#^0vg@bO4%<)wPFZlClw+13W))t_rLezO%fxK90B!Dia6W6%7h`^|CVnt5Gi z2lt&`bA0oxtyg6hn4he+IsatGORMJ-W4~Uhxg+{}-Rhd-oA+G&u(|Jz&+*T%OH#^> zWX~_(b+RBue2)3+6Z_6`#MUxSE7~@zcDiKjH?|c|YgPx^DMzpWm8bRm(!{&p3a{R} z8solg_UdaBV|VPzni==v#JA$BR-3%5A60DJ@vh`n{C+>F_^sRS{F^l~wkY8LQ}#b@ zlUHAxnEU_Q?ME(KO|pJyyL~hFyYgaHX-cxyrfLJB$aP`OyXNI?U;He5E$<n3vklV@ ze_>y<G}HO<_Ipe_Ch@0RZ!$mNWq0rFor1uh)(V=l^4{L7`n_SQNo-{A8=)N&Tq1R~ zq7U>gIh7IklQ+U^Q%PXvhYZi@dRn>ix}9#{mL6QJn!0PnnLihkcC66Z%`i!=*>&lp zVB07jv8i5Zb`w-2b+o3&_^Uc{icMYi#HHJ-degy0MW2o~%&7^ysr0kNEF$C{Ge4X7 z+>*e^zl=6st9Znw{z{))<{+)36@B1tKv3F-6?@o!|Ju&^Z_V4+VVujhW^%fHd;2Wp z`+;qC7sYn`7jNJCYJc_ImFI0|c7K=kn;>1XfLZp%@%Q%sY8K1im%n=P$p+0|HLi~j z|F<t$aQf^%!=6`*-3;!%(Y{}QW5xXS)BK}<%zRV;(&NBxb)k_DtR2GK!n*6Jz};i= zySlAQN_(wKt{#@HGCC$(b?Lb5F4lb)ew}UDs=TGnctKgywZP*!T74IOon_F^kS%5Y z*mNz>T)snnOP$<N?kM-W0Wk}|e%3g5;q}TN&etcYqFGb2;Pg4~1DE}(nXL4uuIKB2 zm{)#9w#UBU#)EkA<u)=I>@RM<axq?DU@_-keWQd7$c1kiVoUm7zxw>UcV5G~lMic` z*B@!ixt-F;_r+^dw&)9p^Gg;m|Gmd_*D{0A=FO(pj1e+c_768WL@&xN43R}Bxx2>U k{lB6sdT~tW#9!=ZOe>lh7pl(o6_lwxUHx3vIVCg!0BOP-5dZ)H literal 0 HcmV?d00001 diff --git a/frontend/ico/browserconfig.xml b/frontend/ico/browserconfig.xml new file mode 100644 index 0000000..ced2be0 --- /dev/null +++ b/frontend/ico/browserconfig.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<browserconfig> + <msapplication> + <tile> + <square70x70logo src="/ico/70.png"/> + <square150x150logo src="/ico/150.png"/> + <square310x310logo src="/ico/310.png"/> + <TileImage src="/ico/150.png"/> + <TileColor>#d1e7dd</TileColor> + </tile> + </msapplication> +</browserconfig> diff --git a/frontend/ico/favicon.svg b/frontend/ico/favicon.svg new file mode 100644 index 0000000..0558949 --- /dev/null +++ b/frontend/ico/favicon.svg @@ -0,0 +1,14 @@ +<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg"> +<g fill="#fff" stroke="#000" stroke-width="2"> +<polygon id="tt" points="90,31 27,31 24,27 30,24 32,15 44,16 41,10 50,2"/> +<rect id="t3" x="67" y="31" width="16" height="6"/> +<rect id="t2" x="42" y="31" width="16" height="6"/> +<rect id="m3" x="70" y="37" width="10" height="36"/> +<rect id="m2" x="45" y="37" width="10" height="36"/> +<path id="m1" d="M29,73h-8v-12l8-7z"/> +<rect id="b3" x="67" y="73" width="16" height="6"/> +<rect id="b2" x="42" y="73" width="16" height="6"/> +<rect id="b1" x="17" y="73" width="16" height="6"/> +<rect id="g0" x="8" y="79" width="84" height="10"/> +<rect id="gg" x="1" y="89" width="98" height="10"/> +</g></svg> diff --git a/frontend/ico/manifest.json b/frontend/ico/manifest.json new file mode 100644 index 0000000..fde2622 --- /dev/null +++ b/frontend/ico/manifest.json @@ -0,0 +1,18 @@ +{ + "name": "Leerstand", + "short_name": "Leerstand", + "background_color": "#d1e7dd", + "display": "fullscreen", + "icons": [ + { + "src": "/ico/192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/ico/512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} diff --git a/frontend/icons.svg b/frontend/icons.svg new file mode 100644 index 0000000..ebf5612 --- /dev/null +++ b/frontend/icons.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> +<svg version="1.1" xmlns="http://www.w3.org/2000/svg"> +<symbol id="mark" viewBox="0 0 69 110"> +<path stroke="#000" stroke-width="3" d="m34.5 1.5c-18.2 0-33 14.8-33 33 0 5.3 1.3 10.4 3.5 14.8 5.4 10.8 29.5 57.7 29.5 57.7s24.1-47 29.5-57.7c2.2-4.5 3.5-9.5 3.5-14.8 0-18.2-14.8-33-33-33zm0 49.5c-9.1 0-16.5-7.4-16.5-16.5s7.4-16.5 16.5-16.5 16.5 7.4 16.5 16.5-7.4 16.5-16.5 16.5z"/> +</symbol> +<symbol id="pin" viewBox="0 0 60 100"> +<path fill="#000" d="m25 58v42h10v-42z"/> +<circle stroke="#000" stroke-width="2" cx="30" cy="30" r="27.5"/> +<path fill="#fff" d="m30 14.5c.5 0 1.8-.5 1.8-1.8s-1.3-1.8-1.8-1.8c-5.4 0-10.1 1.9-13.9 5.7s-5.7 8.5-5.7 13.9c0 .5.6 1.8 1.8 1.8s1.8-1.3 1.8-1.8c0-4.4 1.6-8.2 4.7-11.4s6.9-4.6 11.3-4.6z"/> +</symbol> +</svg> \ No newline at end of file diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..c7afa0f --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,44 @@ +<!DOCTYPE html> +<html lang="de"> + +<head> + <meta charset="utf-8"> + <title>Leerstand + + + + + + + + + + + + + + + + + +
Loading ...
+ +
+ + +
+
+ + + + \ No newline at end of file diff --git a/frontend/script.js b/frontend/script.js new file mode 100644 index 0000000..55c37d3 --- /dev/null +++ b/frontend/script.js @@ -0,0 +1,225 @@ +const DATA_ROOT = '/data/'; +let MAP = null; +let LAYER = null; +let CITIES = {}; +let PLACES = {}; +const DEFAULT_CENTER = [51.2, 9]; +const DEFAULT_ZOOM = 6; + +// --------------------- +// Load data +// --------------------- + +async function loadJson(url) { + const res = await fetch(url); + return await res.json(); +} + +async function loadCities() { + CITIES = {}; + for (const city of await loadJson(DATA_ROOT + 'cities.json')) { + CITIES[city.id] = city; + } +} + +async function loadCity(cityId) { + PLACES = {}; + for (const place of await loadJson(DATA_ROOT + cityId + '/data.json')) { + if (since(place.until) > 0) { + continue; // not vacant anymore + } + PLACES[place.id] = place; + } + updateCounter(); +} + +// --------------------- +// Helper +// --------------------- + +function getCityId(slug) { + for (const city of Object.values(CITIES)) { + if (city.slug === slug) { + return city.id; + } + } + return null; +} + +function since(date) { + if (!date) { + return 0; + } + const [y, m] = (date + '-01').split('-'); + const diff = Date.now() - new Date(y, m - 1); + return Math.floor(diff / (1000 * 60 * 60 * 24)); +} + +function makeIcon(className) { + return L.divIcon({ + className: className, + html: '', + iconSize: [34, 55], + iconAnchor: [17, 55], + popupAnchor: [0, -20], + tooltipAnchor: [0, -20], + offset: [10, 20], + }); +} + +function makeMarker(place) { + const vacantYears = Math.floor(since(place.since) / 365); + return L.marker(L.latLng(place.loc), { + pid: place.id, + title: place.addr, + icon: makeIcon('pin fc' + Math.min(vacantYears, 7)), + }).on('click', clickPin); +} + +function clickPin(pin) { + setPlace(pin.target.options.pid); +} + +function closePopup(e) { + setPlace(null) +} + +function makeCityMarker(city) { + return L.marker(L.latLng(city.loc), { + pid: city.id, + title: city.name, + icon: makeIcon('pin pin-city'), + }).on('click', cityPinClick); +} + +async function cityPinClick(pin) { + await showCity(pin.target.options.pid); +} + +// --------------------- +// UI updates +// --------------------- + +function setPlace(placeId) { + const hide = !placeId; + const place = hide ? {} : PLACES[placeId]; + const div = document.getElementById('popup'); + div.hidden = hide; + div.querySelector('img').src = place.img || ''; + div.querySelector('h3').innerText = place.addr || ''; + div.querySelector('#_since').innerText = place.until + ? 'von ' + place.since + ' bis ' + place.until + : place.since ? 'seit ' + place.since : '???'; + div.querySelector('#_desc').innerText = place.desc || ''; + + location.hash = location.hash.split('|')[0] + (hide ? '' : '|' + placeId); + document.title = document.title.split(' "', 1)[0] + (hide ? '' : ' "' + place.addr + '"'); +} + +function setCity(city) { + document.getElementById('city-select').value = city ? city.id : ''; + location.hash = city ? city.slug : ''; + document.title = document.title.split(' in ', 1)[0] + (city ? ' in ' + city.name : ''); +} + +function updateCounter() { + const total = Object.keys(PLACES).length; + const counter = document.getElementById('city-counter'); + counter.innerText = total; + counter.hidden = total === 0; +} + +// --------------------- +// Initialize +// --------------------- + +function initMap() { + const osm = L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', { + attribution: [ + ' < 1 Jahr', + ' 1–3 J.', + ' 3–5 J.', + ' 5–7 J.', + ' 7+ Jahre', + '© OpenStreetMap', + 'Impressum', + ].join(' | '), + }); + MAP = L.map('map', { + layers: [osm], center: DEFAULT_CENTER, zoom: DEFAULT_ZOOM, + zoomSnap: 0.5, + }); + LAYER = L.layerGroup([]).addTo(MAP); + L.control.locate({ showPopup: false }).addTo(MAP); +} + +function initCities() { + const select = document.getElementById('city-select'); + while (select.options.length > 1) { + select.options.remove(1); + } + for (const city of Object.values(CITIES)) { + const opt = document.createElement('option'); + opt.value = city.id; + opt.innerText = city.name; + select.add(opt); + } + select.hidden = false; +} + +// --------------------- +// Interactive +// --------------------- + +function showCityOverview() { + LAYER.clearLayers(); + MAP.setView(DEFAULT_CENTER, DEFAULT_ZOOM); + setCity(null); + PLACES = {}; + updateCounter(); + + for (const city of Object.values(CITIES)) { + makeCityMarker(city).addTo(LAYER); + } +} + +async function showCity(cityId) { + const city = CITIES[cityId]; + LAYER.clearLayers(); + MAP.setView(city.loc, city.zoom); + setCity(city); + await loadCity(cityId); + + var bounds = L.latLngBounds(); + for (const place of Object.values(PLACES)) { + const marker = makeMarker(place).addTo(LAYER); + bounds.extend(marker.getLatLng()); + } + // adjust bounds & zoom + if (bounds.isValid()) { + MAP.fitBounds(bounds, { padding: [50, 50] }); + } +} + +async function start() { + initMap(); + await loadCities(); + initCities(); + + const [city_slug, place_id] = location.hash.substring(1).split('|'); + const city_id = city_slug ? getCityId(city_slug) : null; + if (city_id) { + await showCity(city_id); + if (place_id) { + setPlace(place_id); + } + } else { + const available_cities = Object.keys(CITIES); + if (available_cities.length === 1) { + await showCity(available_cities[0]); + } else { + showCityOverview(); + } + } + document.getElementById('loading').hidden = true; +} diff --git a/frontend/style.css b/frontend/style.css new file mode 100644 index 0000000..a5931b1 --- /dev/null +++ b/frontend/style.css @@ -0,0 +1,121 @@ +html, body { + height: 100%; + margin: 0; + font-family: sans-serif; +} + +#loading { + z-index: 9001; + position: absolute; + background: #0009; + width: 100%; + height: 100%; + color: white; + font-size: 2em; + text-align: center; + line-height: 100vh; +} + +#map { + width: 100%; + height: 100%; +} + +#overlay { + z-index: 2000; + position: absolute; + right: .5em; + top: .5em; +} +#city-counter { + background: #FFFA; + color: #666; + padding: 4px 6px 2px; + border-radius: 8px; + font-size: smaller; +} + +.pin svg { + filter: drop-shadow(0 0 5px #888); + width: 100%; + height: 100%; +} + +#popup { + z-index: 3000; + position: absolute; + background: #0009; + width: 100%; + height: 100%; + overflow-x: auto; +} +#popup .container { + background: white; + padding: 8px 12px; + margin: 20px auto; + max-width: 600px; + border-radius: 8px; +} +#popup h3 { + margin-top: 4px; + border-bottom: 1px solid gray; + line-height: 1.5; +} +#popup .close { + float: right; + cursor: pointer; + padding: 4px 8px; +} +#popup .close:hover { + font-weight: 900; +} +#popup img { + display: inline-block; + width: 100%; + /* no-img fallback */ + line-height: 120px; + background: #666; + color: white; + text-align: center; + font-weight: 100; + font-size: 24px; +} + +@media(max-width: 750px) { + #popup .container { + margin: unset; + max-width: 100%; + min-height: calc(100% - 2*8px); + border-radius: unset; + } + #popup .close { + font-size: 1.5em; + } + #popup h3 { + font-size: 1.5em; + } +} + +.pin-city { + fill-opacity: 0; +} +.fc0 { + fill: #FFF; +} +.fc1, .fc2 { + fill: #EBB; +} +.fc3, .fc4 { + fill: #D66; +} +.fc5, .fc6 { + fill: #B22; +} +.fc7 { + fill: #800; +} + +.leaflet-control-attribution svg, .leaflet-control-attribution rect { + width: .9em; + height: .9em; +} \ No newline at end of file diff --git a/screenshot.jpg b/screenshot.jpg new file mode 100644 index 0000000000000000000000000000000000000000..44f6ebb523a662adb0e1d2270c6c4c9839a69321 GIT binary patch literal 158977 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%0Dytvv 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 KEuLqlkH~RogsUb^J!7e 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 ae*4#>=tRk14c~=kxk4?U=CsBCzX^ literal 0 HcmV?d00001