diff --git a/.github/main.workflow b/.github/main.workflow deleted file mode 100644 index 8375d5b87..000000000 --- a/.github/main.workflow +++ /dev/null @@ -1,16 +0,0 @@ -workflow "tox" { - on = "push" - resolves = [ - "Python 3.7", - "Json Files", - ] -} - -action "Python 3.7" { - uses = "home-assistant/actions/py37-tox@master" -} - -action "Json Files" { - uses = "home-assistant/actions/jq@master" - args = "**/*.json" -} diff --git a/API.md b/API.md index e54496400..f22407a32 100644 --- a/API.md +++ b/API.md @@ -41,6 +41,7 @@ The addons from `addons` are only installed one. "arch": "armhf|aarch64|i386|amd64", "channel": "stable|beta|dev", "timezone": "TIMEZONE", + "ip_address": "ip address", "wait_boot": "int", "addons": [ { @@ -348,6 +349,7 @@ Load host configs from a USB stick. "last_version": "LAST_VERSION", "arch": "arch", "machine": "Image machine type", + "ip_address": "ip address", "image": "str", "custom": "bool -> if custom image", "boot": "bool", @@ -469,6 +471,7 @@ Get all available addons. "available": "bool", "arch": ["armhf", "aarch64", "i386", "amd64"], "machine": "[raspberrypi2, tinker]", + "homeassistant": "null|min Home Assistant version", "repository": "12345678|null", "version": "null|VERSION_INSTALLED", "last_version": "LAST_VERSION", @@ -505,7 +508,11 @@ Get all available addons. "audio_input": "null|0,0", "audio_output": "null|0,0", "services_role": "['service:access']", - "discovery": "['service']" + "discovery": "['service']", + "ip_address": "ip address", + "ingress": "bool", + "ingress_entry": "null|/api/hassio_ingress/slug", + "ingress_url": "null|/api/hassio_ingress/slug/entry.html" } ``` @@ -579,6 +586,23 @@ Write data to add-on stdin } ``` +### ingress + +- POST `/ingress/session` + +Create a new Session for access to ingress service. + +```json +{ + "session": "token" +} +``` + +- VIEW `/ingress/{token}` + +Ingress WebUI for this Add-on. The addon need support HASS Auth! +Need ingress session as cookie. + ### discovery - GET `/discovery` diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 000000000..0c1a6f471 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,45 @@ +# Python package +# Create and test a Python package on multiple Python versions. +# Add steps that analyze code, save the dist with the build record, publish to a PyPI-compatible index, and more: +# https://docs.microsoft.com/azure/devops/pipelines/languages/python + +trigger: +- master +- dev + +pr: +- dev + +jobs: + +- job: "Tox" + + pool: + vmImage: 'ubuntu-16.04' + + steps: + - task: UsePythonVersion@0 + displayName: 'Use Python $(python.version)' + inputs: + versionSpec: '3.7' + + - script: pip install tox + displayName: 'Install Tox' + + - script: tox + displayName: 'Run Tox' + + +- job: "JQ" + + pool: + vmImage: 'ubuntu-16.04' + + steps: + - script: sudo apt-get install -y jq + displayName: 'Install JQ' + + - bash: | + shopt -s globstar + cat **/*.json | jq '.' + displayName: 'Run JQ' diff --git a/hassio/__main__.py b/hassio/__main__.py index 074849d91..31596d318 100644 --- a/hassio/__main__.py +++ b/hassio/__main__.py @@ -13,7 +13,8 @@ def initialize_event_loop(): """Attempt to use uvloop.""" try: import uvloop - asyncio.set_event_loop_policy(uvloop.EventLoopPolicy()) + + uvloop.install() except ImportError: pass diff --git a/hassio/addons/addon.py b/hassio/addons/addon.py index 8019e3cc7..63293eb87 100644 --- a/hassio/addons/addon.py +++ b/hassio/addons/addon.py @@ -1,41 +1,105 @@ """Init file for Hass.io add-ons.""" from contextlib import suppress from copy import deepcopy +from distutils.version import StrictVersion +from ipaddress import IPv4Address, ip_address import logging from pathlib import Path, PurePath import re +import secrets import shutil import tarfile from tempfile import TemporaryDirectory -from typing import Dict, Any +from typing import Any, Awaitable, Dict, Optional import voluptuous as vol from voluptuous.humanize import humanize_error from ..const import ( - ATTR_ACCESS_TOKEN, ATTR_APPARMOR, ATTR_ARCH, ATTR_AUDIO, ATTR_AUDIO_INPUT, - ATTR_AUDIO_OUTPUT, ATTR_AUTH_API, ATTR_AUTO_UART, ATTR_AUTO_UPDATE, - ATTR_BOOT, ATTR_DESCRIPTON, ATTR_DEVICES, ATTR_DEVICETREE, ATTR_DISCOVERY, - ATTR_DOCKER_API, ATTR_ENVIRONMENT, ATTR_FULL_ACCESS, ATTR_GPIO, - ATTR_HASSIO_API, ATTR_HASSIO_ROLE, ATTR_HOMEASSISTANT_API, ATTR_HOST_DBUS, - ATTR_HOST_IPC, ATTR_HOST_NETWORK, ATTR_HOST_PID, ATTR_IMAGE, - ATTR_KERNEL_MODULES, ATTR_LEGACY, ATTR_LOCATON, ATTR_MACHINE, ATTR_MAP, - ATTR_NAME, ATTR_NETWORK, ATTR_OPTIONS, ATTR_PORTS, ATTR_PRIVILEGED, - ATTR_PROTECTED, ATTR_REPOSITORY, ATTR_SCHEMA, ATTR_SERVICES, ATTR_SLUG, - ATTR_STARTUP, ATTR_STATE, ATTR_STDIN, ATTR_SYSTEM, ATTR_TIMEOUT, - ATTR_TMPFS, ATTR_URL, ATTR_USER, ATTR_UUID, ATTR_VERSION, ATTR_WEBUI, - SECURITY_DEFAULT, SECURITY_DISABLE, SECURITY_PROFILE, STATE_NONE, - STATE_STARTED, STATE_STOPPED) -from ..coresys import CoreSysAttributes + ATTR_ACCESS_TOKEN, + ATTR_APPARMOR, + ATTR_ARCH, + ATTR_AUDIO, + ATTR_AUDIO_INPUT, + ATTR_AUDIO_OUTPUT, + ATTR_AUTH_API, + ATTR_AUTO_UART, + ATTR_AUTO_UPDATE, + ATTR_BOOT, + ATTR_DESCRIPTON, + ATTR_DEVICES, + ATTR_DEVICETREE, + ATTR_DISCOVERY, + ATTR_DOCKER_API, + ATTR_ENVIRONMENT, + ATTR_FULL_ACCESS, + ATTR_GPIO, + ATTR_HASSIO_API, + ATTR_HASSIO_ROLE, + ATTR_HOMEASSISTANT, + ATTR_HOMEASSISTANT_API, + ATTR_HOST_DBUS, + ATTR_HOST_IPC, + ATTR_HOST_NETWORK, + ATTR_HOST_PID, + ATTR_IMAGE, + ATTR_INGRESS, + ATTR_INGRESS_ENTRY, + ATTR_INGRESS_PORT, + ATTR_INGRESS_TOKEN, + ATTR_KERNEL_MODULES, + ATTR_LEGACY, + ATTR_LOCATON, + ATTR_MACHINE, + ATTR_MAP, + ATTR_NAME, + ATTR_NETWORK, + ATTR_OPTIONS, + ATTR_PORTS, + ATTR_PRIVILEGED, + ATTR_PROTECTED, + ATTR_REPOSITORY, + ATTR_SCHEMA, + ATTR_SERVICES, + ATTR_SLUG, + ATTR_STARTUP, + ATTR_STATE, + ATTR_STDIN, + ATTR_SYSTEM, + ATTR_TIMEOUT, + ATTR_TMPFS, + ATTR_URL, + ATTR_USER, + ATTR_UUID, + ATTR_VERSION, + ATTR_WEBUI, + SECURITY_DEFAULT, + SECURITY_DISABLE, + SECURITY_PROFILE, + STATE_NONE, + STATE_STARTED, + STATE_STOPPED, +) +from ..coresys import CoreSys, CoreSysAttributes from ..docker.addon import DockerAddon -from ..exceptions import HostAppArmorError, JsonFileError -from ..utils import create_token +from ..docker.stats import DockerStats +from ..exceptions import ( + AddonsError, + AddonsNotSupportedError, + DockerAPIError, + HostAppArmorError, + JsonFileError, +) from ..utils.apparmor import adjust_profile from ..utils.json import read_json_file, write_json_file from .utils import check_installed, remove_data from .validate import ( - MACHINE_ALL, RE_SERVICE, RE_VOLUME, SCHEMA_ADDON_SNAPSHOT, - validate_options) + MACHINE_ALL, + RE_SERVICE, + RE_VOLUME, + SCHEMA_ADDON_SNAPSHOT, + validate_options, +) _LOGGER = logging.getLogger(__name__) @@ -47,21 +111,28 @@ RE_WEBUI = re.compile( class Addon(CoreSysAttributes): """Hold data for add-on inside Hass.io.""" - def __init__(self, coresys, slug): + def __init__(self, coresys: CoreSys, slug: str): """Initialize data holder.""" - self.coresys = coresys - self.instance = DockerAddon(coresys, slug) + self.coresys: CoreSys = coresys + self.instance: DockerAddon = DockerAddon(coresys, slug) + self._id: str = slug - self._id = slug - - async def load(self): + async def load(self) -> None: """Async initialize of object.""" if not self.is_installed: return - await self.instance.attach() + with suppress(DockerAPIError): + await self.instance.attach() @property - def slug(self): + def ip_address(self) -> IPv4Address: + """Return IP of Add-on instance.""" + if not self.is_installed: + return ip_address("0.0.0.0") + return self.instance.ip_address + + @property + def slug(self) -> str: """Return slug/id of add-on.""" return self._id @@ -76,30 +147,41 @@ class Addon(CoreSysAttributes): return self.sys_addons.data @property - def is_installed(self): + def is_installed(self) -> bool: """Return True if an add-on is installed.""" return self._id in self._data.system @property - def is_detached(self): + def is_detached(self) -> bool: """Return True if add-on is detached.""" return self._id not in self._data.cache @property - def available(self): + def available(self) -> bool: """Return True if this add-on is available on this platform.""" + if self.is_detached: + addon_data = self._data.system.get(self._id) + else: + addon_data = self._data.cache.get(self._id) + # Architecture - if not self.sys_arch.is_supported(self.supported_arch): + if not self.sys_arch.is_supported(addon_data[ATTR_ARCH]): return False # Machine / Hardware - if self.sys_machine not in self.supported_machine: + machine = addon_data.get(ATTR_MACHINE) or MACHINE_ALL + if self.sys_machine not in machine: + return False + + # Home Assistant + version = addon_data.get(ATTR_HOMEASSISTANT) or self.sys_homeassistant.version + if StrictVersion(self.sys_homeassistant.version) < StrictVersion(version): return False return True @property - def version_installed(self): + def version_installed(self) -> Optional[str]: """Return installed version.""" return self._data.user.get(self._id, {}).get(ATTR_VERSION) @@ -202,6 +284,20 @@ class Addon(CoreSysAttributes): return self._data.user[self._id].get(ATTR_ACCESS_TOKEN) return None + @property + def ingress_token(self): + """Return access token for Hass.io API.""" + if self.is_installed: + return self._data.user[self._id].get(ATTR_INGRESS_TOKEN) + return None + + @property + def ingress_entry(self): + """Return ingress external URL.""" + if self.is_installed and self.with_ingress: + return f"/api/hassio_ingress/{self.ingress_token}" + return None + @property def description(self): """Return description of add-on.""" @@ -292,6 +388,17 @@ class Addon(CoreSysAttributes): self._data.user[self._id][ATTR_NETWORK] = new_ports + @property + def ingress_url(self): + """Return URL to ingress url.""" + if not self.is_installed or not self.with_ingress: + return None + + webui = f"/api/hassio_ingress/{self.ingress_token}/" + if ATTR_INGRESS_ENTRY in self._mesh: + return f"{webui}{self._mesh[ATTR_INGRESS_ENTRY]}" + return webui + @property def webui(self): """Return URL to webui or None.""" @@ -323,6 +430,11 @@ class Addon(CoreSysAttributes): return f"{proto}://[HOST]:{port}{s_suffix}" + @property + def ingress_internal(self): + """Return Ingress host URL.""" + return f"http://{self.ip_address}:{self._mesh[ATTR_INGRESS_PORT]}" + @property def host_network(self): """Return True if add-on run on host network.""" @@ -407,6 +519,11 @@ class Addon(CoreSysAttributes): """Return True if the add-on access use stdin input.""" return self._mesh[ATTR_STDIN] + @property + def with_ingress(self): + """Return True if the add-on access support ingress.""" + return self._mesh[ATTR_INGRESS] + @property def with_gpio(self): """Return True if the add-on access to GPIO interface.""" @@ -437,6 +554,11 @@ class Addon(CoreSysAttributes): """Return True if the add-on access to audio.""" return self._mesh[ATTR_AUDIO] + @property + def homeassistant_version(self) -> Optional[str]: + """Return min Home Assistant version they needed by Add-on.""" + return self._mesh.get(ATTR_HOMEASSISTANT) + @property def audio_output(self): """Return ALSA config for output or None.""" @@ -642,7 +764,7 @@ class Addon(CoreSysAttributes): return True - async def _install_apparmor(self): + async def _install_apparmor(self) -> None: """Install or Update AppArmor profile for Add-on.""" exists_local = self.sys_host.apparmor.exists(self.slug) exists_addon = self.path_apparmor.exists() @@ -664,7 +786,7 @@ class Addon(CoreSysAttributes): await self.sys_host.apparmor.load_profile(self.slug, profile_file) @property - def schema(self): + def schema(self) -> vol.Schema: """Create a schema for add-on options.""" raw_schema = self._mesh[ATTR_SCHEMA] @@ -672,7 +794,7 @@ class Addon(CoreSysAttributes): return vol.Schema(dict) return vol.Schema(vol.All(dict, validate_options(raw_schema))) - def test_update_schema(self): + def test_update_schema(self) -> bool: """Check if the existing configuration is valid after update.""" if not self.is_installed or self.is_detached: return True @@ -702,17 +824,17 @@ class Addon(CoreSysAttributes): return False return True - async def install(self): + async def install(self) -> None: """Install an add-on.""" if not self.available: _LOGGER.error( "Add-on %s not supported on %s with %s architecture", self._id, self.sys_machine, self.sys_arch.supported) - return False + raise AddonsNotSupportedError() if self.is_installed: - _LOGGER.error("Add-on %s is already installed", self._id) - return False + _LOGGER.warning("Add-on %s is already installed", self._id) + return if not self.path_data.is_dir(): _LOGGER.info( @@ -722,18 +844,20 @@ class Addon(CoreSysAttributes): # Setup/Fix AppArmor profile await self._install_apparmor() - if not await self.instance.install( - self.last_version, self.image_next): - return False - - self._set_install(self.image_next, self.last_version) - return True + try: + await self.instance.install(self.last_version, self.image_next) + except DockerAPIError: + raise AddonsError() from None + else: + self._set_install(self.image_next, self.last_version) @check_installed - async def uninstall(self): + async def uninstall(self) -> None: """Remove an add-on.""" - if not await self.instance.remove(): - return False + try: + await self.instance.remove() + except DockerAPIError: + raise AddonsError() from None if self.path_data.is_dir(): _LOGGER.info( @@ -750,13 +874,11 @@ class Addon(CoreSysAttributes): with suppress(HostAppArmorError): await self.sys_host.apparmor.remove_profile(self.slug) - # Remove discovery messages + # Cleanup internal data self.remove_discovery() - self._set_uninstall() - return True - async def state(self): + async def state(self) -> str: """Return running state of add-on.""" if not self.is_installed: return STATE_NONE @@ -766,46 +888,57 @@ class Addon(CoreSysAttributes): return STATE_STOPPED @check_installed - async def start(self): + async def start(self) -> None: """Set options and start add-on.""" if await self.instance.is_running(): _LOGGER.warning("%s already running!", self.slug) return # Access Token - self._data.user[self._id][ATTR_ACCESS_TOKEN] = create_token() + self._data.user[self._id][ATTR_ACCESS_TOKEN] = secrets.token_hex(56) self.save_data() # Options if not self.write_options(): - return False + raise AddonsError() # Sound if self.with_audio and not self.write_asound(): - return False + raise AddonsError() - return await self.instance.run() + try: + await self.instance.run() + except DockerAPIError: + raise AddonsError() from None @check_installed - def stop(self): - """Stop add-on. - - Return a coroutine. - """ - return self.instance.stop() + async def stop(self) -> None: + """Stop add-on.""" + try: + return await self.instance.stop() + except DockerAPIError: + raise AddonsError() from None @check_installed - async def update(self): + async def update(self) -> None: """Update add-on.""" - last_state = await self.state() - if self.last_version == self.version_installed: _LOGGER.warning("No update available for add-on %s", self._id) - return False + return - if not await self.instance.update( - self.last_version, self.image_next): - return False + # Check if available, Maybe something have changed + if not self.available: + _LOGGER.error( + "Add-on %s not supported on %s with %s architecture", + self._id, self.sys_machine, self.sys_arch.supported) + raise AddonsNotSupportedError() + + # Update instance + last_state = await self.state() + try: + await self.instance.update(self.last_version, self.image_next) + except DockerAPIError: + raise AddonsError() from None self._set_update(self.image_next, self.last_version) # Setup/Fix AppArmor profile @@ -814,16 +947,16 @@ class Addon(CoreSysAttributes): # restore state if last_state == STATE_STARTED: await self.start() - return True @check_installed - async def restart(self): + async def restart(self) -> None: """Restart add-on.""" - await self.stop() - return await self.start() + with suppress(AddonsError): + await self.stop() + await self.start() @check_installed - def logs(self): + def logs(self) -> Awaitable[bytes]: """Return add-ons log output. Return a coroutine. @@ -831,33 +964,32 @@ class Addon(CoreSysAttributes): return self.instance.logs() @check_installed - def stats(self): - """Return stats of container. - - Return a coroutine. - """ - return self.instance.stats() + async def stats(self) -> DockerStats: + """Return stats of container.""" + try: + return await self.instance.stats() + except DockerAPIError: + raise AddonsError() from None @check_installed - async def rebuild(self): + async def rebuild(self) -> None: """Perform a rebuild of local build add-on.""" last_state = await self.state() if not self.need_build: _LOGGER.error("Can't rebuild a none local build add-on!") - return False + raise AddonsNotSupportedError() # remove docker container but not addon config - if not await self.instance.remove(): - return False - - if not await self.instance.install(self.version_installed): - return False + try: + await self.instance.remove() + await self.instance.install(self.version_installed) + except DockerAPIError: + raise AddonsError() from None # restore state if last_state == STATE_STARTED: await self.start() - return True @check_installed async def write_stdin(self, data): @@ -867,18 +999,23 @@ class Addon(CoreSysAttributes): """ if not self.with_stdin: _LOGGER.error("Add-on don't support write to stdin!") - return False + raise AddonsNotSupportedError() - return await self.instance.write_stdin(data) + try: + return await self.instance.write_stdin(data) + except DockerAPIError: + raise AddonsError() from None @check_installed - async def snapshot(self, tar_file): + async def snapshot(self, tar_file: tarfile.TarFile) -> None: """Snapshot state of an add-on.""" with TemporaryDirectory(dir=str(self.sys_config.path_tmp)) as temp: # store local image - if self.need_build and not await \ - self.instance.export_image(Path(temp, 'image.tar')): - return False + if self.need_build: + try: + await self.instance.export_image(Path(temp, 'image.tar')) + except DockerAPIError: + raise AddonsError() from None data = { ATTR_USER: self._data.user.get(self._id, {}), @@ -892,7 +1029,7 @@ class Addon(CoreSysAttributes): write_json_file(Path(temp, 'addon.json'), data) except JsonFileError: _LOGGER.error("Can't save meta for %s", self._id) - return False + raise AddonsError() from None # Store AppArmor Profile if self.sys_host.apparmor.exists(self.slug): @@ -901,7 +1038,7 @@ class Addon(CoreSysAttributes): self.sys_host.apparmor.backup_profile(self.slug, profile) except HostAppArmorError: _LOGGER.error("Can't backup AppArmor profile") - return False + raise AddonsError() from None # write into tarfile def _write_tarfile(): @@ -915,12 +1052,11 @@ class Addon(CoreSysAttributes): await self.sys_run_in_executor(_write_tarfile) except (tarfile.TarError, OSError) as err: _LOGGER.error("Can't write tarfile %s: %s", tar_file, err) - return False + raise AddonsError() from None _LOGGER.info("Finish snapshot for addon %s", self._id) - return True - async def restore(self, tar_file): + async def restore(self, tar_file: tarfile.TarFile) -> None: """Restore state of an add-on.""" with TemporaryDirectory(dir=str(self.sys_config.path_tmp)) as temp: # extract snapshot @@ -933,13 +1069,13 @@ class Addon(CoreSysAttributes): await self.sys_run_in_executor(_extract_tarfile) except tarfile.TarError as err: _LOGGER.error("Can't read tarfile %s: %s", tar_file, err) - return False + raise AddonsError() from None # Read snapshot data try: data = read_json_file(Path(temp, 'addon.json')) except JsonFileError: - return False + raise AddonsError() from None # Validate try: @@ -947,7 +1083,7 @@ class Addon(CoreSysAttributes): except vol.Invalid as err: _LOGGER.error("Can't validate %s, snapshot data: %s", self._id, humanize_error(data, err)) - return False + raise AddonsError() from None # Restore local add-on informations _LOGGER.info("Restore config for addon %s", self._id) @@ -961,15 +1097,19 @@ class Addon(CoreSysAttributes): image_file = Path(temp, 'image.tar') if image_file.is_file(): - await self.instance.import_image(image_file, version) + with suppress(DockerAPIError): + await self.instance.import_image(image_file, version) else: - if await self.instance.install(version, restore_image): + with suppress(DockerAPIError): + await self.instance.install(version, restore_image) await self.instance.cleanup() elif self.instance.version != version or self.legacy: _LOGGER.info("Restore/Update image for addon %s", self._id) - await self.instance.update(version, restore_image) + with suppress(DockerAPIError): + await self.instance.update(version, restore_image) else: - await self.instance.stop() + with suppress(DockerAPIError): + await self.instance.stop() # Restore data def _restore_data(): @@ -983,7 +1123,7 @@ class Addon(CoreSysAttributes): await self.sys_run_in_executor(_restore_data) except shutil.Error as err: _LOGGER.error("Can't restore origin data: %s", err) - return False + raise AddonsError() from None # Restore AppArmor profile_file = Path(temp, 'apparmor.txt') @@ -993,11 +1133,10 @@ class Addon(CoreSysAttributes): self.slug, profile_file) except HostAppArmorError: _LOGGER.error("Can't restore AppArmor profile") - return False + raise AddonsError() from None # Run add-on if data[ATTR_STATE] == STATE_STARTED: return await self.start() _LOGGER.info("Finish restore for add-on %s", self._id) - return True diff --git a/hassio/addons/utils.py b/hassio/addons/utils.py index b2ae6f718..3d59e585a 100644 --- a/hassio/addons/utils.py +++ b/hassio/addons/utils.py @@ -20,6 +20,7 @@ from ..const import ( SECURITY_DISABLE, SECURITY_PROFILE, ) +from ..exceptions import AddonsNotSupportedError if TYPE_CHECKING: from .addon import Addon @@ -107,7 +108,7 @@ def check_installed(method): """Return False if not installed or the function.""" if not addon.is_installed: _LOGGER.error("Addon %s is not installed", addon.slug) - return False + raise AddonsNotSupportedError() return await method(addon, *args, **kwargs) return wrap_check diff --git a/hassio/addons/validate.py b/hassio/addons/validate.py index 62b2567b8..91477c9e6 100644 --- a/hassio/addons/validate.py +++ b/hassio/addons/validate.py @@ -1,29 +1,87 @@ """Validate add-ons options schema.""" import logging import re +import secrets import uuid import voluptuous as vol from ..const import ( - ARCH_ALL, ATTR_ACCESS_TOKEN, ATTR_APPARMOR, ATTR_ARCH, ATTR_ARGS, - ATTR_AUDIO, ATTR_AUDIO_INPUT, ATTR_AUDIO_OUTPUT, ATTR_AUTH_API, - ATTR_AUTO_UART, ATTR_AUTO_UPDATE, ATTR_BOOT, ATTR_BUILD_FROM, - ATTR_DESCRIPTON, ATTR_DEVICES, ATTR_DEVICETREE, ATTR_DISCOVERY, - ATTR_DOCKER_API, ATTR_ENVIRONMENT, ATTR_FULL_ACCESS, ATTR_GPIO, - ATTR_HASSIO_API, ATTR_HASSIO_ROLE, ATTR_HOMEASSISTANT_API, ATTR_HOST_DBUS, - ATTR_HOST_IPC, ATTR_HOST_NETWORK, ATTR_HOST_PID, ATTR_IMAGE, - ATTR_KERNEL_MODULES, ATTR_LEGACY, ATTR_LOCATON, ATTR_MACHINE, - ATTR_MAINTAINER, ATTR_MAP, ATTR_NAME, ATTR_NETWORK, ATTR_OPTIONS, - ATTR_PORTS, ATTR_PRIVILEGED, ATTR_PROTECTED, ATTR_REPOSITORY, ATTR_SCHEMA, - ATTR_SERVICES, ATTR_SLUG, ATTR_SQUASH, ATTR_STARTUP, ATTR_STATE, - ATTR_STDIN, ATTR_SYSTEM, ATTR_TIMEOUT, ATTR_TMPFS, ATTR_URL, ATTR_USER, - ATTR_UUID, ATTR_VERSION, ATTR_WEBUI, BOOT_AUTO, BOOT_MANUAL, - PRIVILEGED_ALL, ROLE_ALL, ROLE_DEFAULT, STARTUP_ALL, STARTUP_APPLICATION, - STARTUP_SERVICES, STATE_STARTED, STATE_STOPPED) + ARCH_ALL, + ATTR_ACCESS_TOKEN, + ATTR_APPARMOR, + ATTR_ARCH, + ATTR_ARGS, + ATTR_AUDIO, + ATTR_AUDIO_INPUT, + ATTR_AUDIO_OUTPUT, + ATTR_AUTH_API, + ATTR_AUTO_UART, + ATTR_AUTO_UPDATE, + ATTR_BOOT, + ATTR_BUILD_FROM, + ATTR_DESCRIPTON, + ATTR_DEVICES, + ATTR_DEVICETREE, + ATTR_DISCOVERY, + ATTR_DOCKER_API, + ATTR_ENVIRONMENT, + ATTR_FULL_ACCESS, + ATTR_GPIO, + ATTR_HASSIO_API, + ATTR_HASSIO_ROLE, + ATTR_HOMEASSISTANT_API, + ATTR_HOMEASSISTANT, + ATTR_HOST_DBUS, + ATTR_HOST_IPC, + ATTR_HOST_NETWORK, + ATTR_HOST_PID, + ATTR_IMAGE, + ATTR_INGRESS, + ATTR_INGRESS_ENTRY, + ATTR_INGRESS_PORT, + ATTR_INGRESS_TOKEN, + ATTR_KERNEL_MODULES, + ATTR_LEGACY, + ATTR_LOCATON, + ATTR_MACHINE, + ATTR_MAINTAINER, + ATTR_MAP, + ATTR_NAME, + ATTR_NETWORK, + ATTR_OPTIONS, + ATTR_PORTS, + ATTR_PRIVILEGED, + ATTR_PROTECTED, + ATTR_REPOSITORY, + ATTR_SCHEMA, + ATTR_SERVICES, + ATTR_SLUG, + ATTR_SQUASH, + ATTR_STARTUP, + ATTR_STATE, + ATTR_STDIN, + ATTR_SYSTEM, + ATTR_TIMEOUT, + ATTR_TMPFS, + ATTR_URL, + ATTR_USER, + ATTR_UUID, + ATTR_VERSION, + ATTR_WEBUI, + BOOT_AUTO, + BOOT_MANUAL, + PRIVILEGED_ALL, + ROLE_ALL, + ROLE_DEFAULT, + STARTUP_ALL, + STARTUP_APPLICATION, + STARTUP_SERVICES, + STATE_STARTED, + STATE_STOPPED, +) from ..discovery.validate import valid_discovery_service -from ..validate import ( - ALSA_DEVICE, DOCKER_PORTS, NETWORK_PORT, SHA256, UUID_MATCH) +from ..validate import ALSA_DEVICE, DOCKER_PORTS, NETWORK_PORT, TOKEN, UUID_MATCH _LOGGER = logging.getLogger(__name__) @@ -89,6 +147,10 @@ SCHEMA_ADDON_CONFIG = vol.Schema({ vol.Optional(ATTR_PORTS): DOCKER_PORTS, vol.Optional(ATTR_WEBUI): vol.Match(r"^(?:https?|\[PROTO:\w+\]):\/\/\[HOST\]:\[PORT:\d+\].*$"), + vol.Optional(ATTR_INGRESS, default=False): vol.Boolean(), + vol.Optional(ATTR_INGRESS_PORT, default=8099): NETWORK_PORT, + vol.Optional(ATTR_INGRESS_ENTRY): vol.Coerce(str), + vol.Optional(ATTR_HOMEASSISTANT): vol.Maybe(vol.Coerce(str)), vol.Optional(ATTR_HOST_NETWORK, default=False): vol.Boolean(), vol.Optional(ATTR_HOST_PID, default=False): vol.Boolean(), vol.Optional(ATTR_HOST_IPC, default=False): vol.Boolean(), @@ -158,7 +220,8 @@ SCHEMA_ADDON_USER = vol.Schema({ vol.Required(ATTR_VERSION): vol.Coerce(str), vol.Optional(ATTR_IMAGE): vol.Coerce(str), vol.Optional(ATTR_UUID, default=lambda: uuid.uuid4().hex): UUID_MATCH, - vol.Optional(ATTR_ACCESS_TOKEN): SHA256, + vol.Optional(ATTR_ACCESS_TOKEN): TOKEN, + vol.Optional(ATTR_INGRESS_TOKEN, default=secrets.token_urlsafe): vol.Coerce(str), vol.Optional(ATTR_OPTIONS, default=dict): dict, vol.Optional(ATTR_AUTO_UPDATE, default=False): vol.Boolean(), vol.Optional(ATTR_BOOT): diff --git a/hassio/api/__init__.py b/hassio/api/__init__.py index c105500e6..865a3cb54 100644 --- a/hassio/api/__init__.py +++ b/hassio/api/__init__.py @@ -14,6 +14,7 @@ from .hassos import APIHassOS from .homeassistant import APIHomeAssistant from .host import APIHost from .info import APIInfo +from .ingress import APIIngress from .proxy import APIProxy from .security import SecurityMiddleware from .services import APIServices @@ -47,6 +48,7 @@ class RestAPI(CoreSysAttributes): self._register_proxy() self._register_panel() self._register_addons() + self._register_ingress() self._register_snapshots() self._register_discovery() self._register_services() @@ -186,6 +188,16 @@ class RestAPI(CoreSysAttributes): web.get('/addons/{addon}/stats', api_addons.stats), ]) + def _register_ingress(self) -> None: + """Register Ingress functions.""" + api_ingress = APIIngress() + api_ingress.coresys = self.coresys + + self.webapp.add_routes([ + web.post('/ingress/session', api_ingress.create_session), + web.view('/ingress/{token}/{path:.*}', api_ingress.handler), + ]) + def _register_snapshots(self) -> None: """Register snapshots functions.""" api_snapshots = APISnapshots() diff --git a/hassio/api/addons.py b/hassio/api/addons.py index 853c923cd..fefb9306d 100644 --- a/hassio/api/addons.py +++ b/hassio/api/addons.py @@ -1,31 +1,89 @@ """Init file for Hass.io Home Assistant RESTful API.""" import asyncio import logging +from typing import Any, Awaitable, Dict, List +from aiohttp import web import voluptuous as vol from voluptuous.humanize import humanize_error -from .utils import api_process, api_process_raw, api_validate +from ..addons.addon import Addon from ..addons.utils import rating_security from ..const import ( - ATTR_VERSION, ATTR_LAST_VERSION, ATTR_STATE, ATTR_BOOT, ATTR_OPTIONS, - ATTR_URL, ATTR_DESCRIPTON, ATTR_DETACHED, ATTR_NAME, ATTR_REPOSITORY, - ATTR_BUILD, ATTR_AUTO_UPDATE, ATTR_NETWORK, ATTR_HOST_NETWORK, ATTR_SLUG, - ATTR_SOURCE, ATTR_REPOSITORIES, ATTR_ADDONS, ATTR_ARCH, ATTR_MAINTAINER, - ATTR_INSTALLED, ATTR_LOGO, ATTR_WEBUI, ATTR_DEVICES, ATTR_PRIVILEGED, - ATTR_AUDIO, ATTR_AUDIO_INPUT, ATTR_AUDIO_OUTPUT, ATTR_HASSIO_API, - ATTR_GPIO, ATTR_HOMEASSISTANT_API, ATTR_STDIN, BOOT_AUTO, BOOT_MANUAL, - ATTR_CHANGELOG, ATTR_HOST_IPC, ATTR_HOST_DBUS, ATTR_LONG_DESCRIPTION, - ATTR_CPU_PERCENT, ATTR_MEMORY_LIMIT, ATTR_MEMORY_USAGE, ATTR_NETWORK_TX, - ATTR_NETWORK_RX, ATTR_BLK_READ, ATTR_BLK_WRITE, ATTR_ICON, ATTR_SERVICES, - ATTR_DISCOVERY, ATTR_APPARMOR, ATTR_DEVICETREE, ATTR_DOCKER_API, - ATTR_FULL_ACCESS, ATTR_PROTECTED, ATTR_RATING, ATTR_HOST_PID, - ATTR_HASSIO_ROLE, ATTR_MACHINE, ATTR_AVAILABLE, ATTR_AUTH_API, + ATTR_ADDONS, + ATTR_APPARMOR, + ATTR_ARCH, + ATTR_AUDIO, + ATTR_AUDIO_INPUT, + ATTR_AUDIO_OUTPUT, + ATTR_AUTH_API, + ATTR_AUTO_UPDATE, + ATTR_AVAILABLE, + ATTR_BLK_READ, + ATTR_BLK_WRITE, + ATTR_BOOT, + ATTR_BUILD, + ATTR_CHANGELOG, + ATTR_CPU_PERCENT, + ATTR_DESCRIPTON, + ATTR_DETACHED, + ATTR_DEVICES, + ATTR_DEVICETREE, + ATTR_DISCOVERY, + ATTR_DOCKER_API, + ATTR_FULL_ACCESS, + ATTR_GPIO, + ATTR_HASSIO_API, + ATTR_HASSIO_ROLE, + ATTR_HOMEASSISTANT, + ATTR_HOMEASSISTANT_API, + ATTR_HOST_DBUS, + ATTR_HOST_IPC, + ATTR_HOST_NETWORK, + ATTR_HOST_PID, + ATTR_ICON, + ATTR_INGRESS, + ATTR_INGRESS_ENTRY, + ATTR_INGRESS_URL, + ATTR_INSTALLED, + ATTR_IP_ADDRESS, ATTR_KERNEL_MODULES, - CONTENT_TYPE_PNG, CONTENT_TYPE_BINARY, CONTENT_TYPE_TEXT, REQUEST_FROM) + ATTR_LAST_VERSION, + ATTR_LOGO, + ATTR_LONG_DESCRIPTION, + ATTR_MACHINE, + ATTR_MAINTAINER, + ATTR_MEMORY_LIMIT, + ATTR_MEMORY_USAGE, + ATTR_NAME, + ATTR_NETWORK, + ATTR_NETWORK_RX, + ATTR_NETWORK_TX, + ATTR_OPTIONS, + ATTR_PRIVILEGED, + ATTR_PROTECTED, + ATTR_RATING, + ATTR_REPOSITORIES, + ATTR_REPOSITORY, + ATTR_SERVICES, + ATTR_SLUG, + ATTR_SOURCE, + ATTR_STATE, + ATTR_STDIN, + ATTR_URL, + ATTR_VERSION, + ATTR_WEBUI, + BOOT_AUTO, + BOOT_MANUAL, + CONTENT_TYPE_BINARY, + CONTENT_TYPE_PNG, + CONTENT_TYPE_TEXT, + REQUEST_FROM, +) from ..coresys import CoreSysAttributes -from ..validate import DOCKER_PORTS, ALSA_DEVICE from ..exceptions import APIError +from ..validate import ALSA_DEVICE, DOCKER_PORTS +from .utils import api_process, api_process_raw, api_validate _LOGGER = logging.getLogger(__name__) @@ -51,7 +109,7 @@ SCHEMA_SECURITY = vol.Schema({ class APIAddons(CoreSysAttributes): """Handle RESTful API for add-on functions.""" - def _extract_addon(self, request, check_installed=True): + def _extract_addon(self, request: web.Request, check_installed: bool = True) -> Addon: """Return addon, throw an exception it it doesn't exist.""" addon_slug = request.match_info.get('addon') @@ -69,7 +127,7 @@ class APIAddons(CoreSysAttributes): return addon @api_process - async def list(self, request): + async def list(self, request: web.Request) -> Dict[str, Any]: """Return all add-ons or repositories.""" data_addons = [] for addon in self.sys_addons.list_addons: @@ -104,13 +162,12 @@ class APIAddons(CoreSysAttributes): } @api_process - async def reload(self, request): + async def reload(self, request: web.Request) -> None: """Reload all add-on data.""" await asyncio.shield(self.sys_addons.reload()) - return True @api_process - async def info(self, request): + async def info(self, request: web.Request) -> Dict[str, Any]: """Return add-on information.""" addon = self._extract_addon(request, check_installed=False) @@ -130,6 +187,7 @@ class APIAddons(CoreSysAttributes): ATTR_OPTIONS: addon.options, ATTR_ARCH: addon.supported_arch, ATTR_MACHINE: addon.supported_machine, + ATTR_HOMEASSISTANT: addon.homeassistant_version, ATTR_URL: addon.url, ATTR_DETACHED: addon.is_detached, ATTR_AVAILABLE: addon.available, @@ -161,17 +219,20 @@ class APIAddons(CoreSysAttributes): ATTR_AUDIO_OUTPUT: addon.audio_output, ATTR_SERVICES: _pretty_services(addon), ATTR_DISCOVERY: addon.discovery, + ATTR_IP_ADDRESS: str(addon.ip_address), + ATTR_INGRESS: addon.with_ingress, + ATTR_INGRESS_ENTRY: addon.ingress_entry, + ATTR_INGRESS_URL: addon.ingress_url, } @api_process - async def options(self, request): + async def options(self, request: web.Request) -> None: """Store user options for add-on.""" addon = self._extract_addon(request) addon_schema = SCHEMA_OPTIONS.extend({ vol.Optional(ATTR_OPTIONS): vol.Any(None, addon.schema), }) - body = await api_validate(addon_schema, request) if ATTR_OPTIONS in body: @@ -188,10 +249,9 @@ class APIAddons(CoreSysAttributes): addon.audio_output = body[ATTR_AUDIO_OUTPUT] addon.save_data() - return True @api_process - async def security(self, request): + async def security(self, request: web.Request) -> None: """Store security options for add-on.""" addon = self._extract_addon(request) body = await api_validate(SCHEMA_SECURITY, request) @@ -201,17 +261,13 @@ class APIAddons(CoreSysAttributes): addon.protected = body[ATTR_PROTECTED] addon.save_data() - return True @api_process - async def stats(self, request): + async def stats(self, request: web.Request) -> Dict[str, Any]: """Return resource information.""" addon = self._extract_addon(request) stats = await addon.stats() - if not stats: - raise APIError("No stats available") - return { ATTR_CPU_PERCENT: stats.cpu_percent, ATTR_MEMORY_USAGE: stats.memory_usage, @@ -223,19 +279,19 @@ class APIAddons(CoreSysAttributes): } @api_process - def install(self, request): + def install(self, request: web.Request) -> Awaitable[None]: """Install add-on.""" addon = self._extract_addon(request, check_installed=False) return asyncio.shield(addon.install()) @api_process - def uninstall(self, request): + def uninstall(self, request: web.Request) -> Awaitable[None]: """Uninstall add-on.""" addon = self._extract_addon(request) return asyncio.shield(addon.uninstall()) @api_process - def start(self, request): + def start(self, request: web.Request) -> Awaitable[None]: """Start add-on.""" addon = self._extract_addon(request) @@ -249,13 +305,13 @@ class APIAddons(CoreSysAttributes): return asyncio.shield(addon.start()) @api_process - def stop(self, request): + def stop(self, request: web.Request) -> Awaitable[None]: """Stop add-on.""" addon = self._extract_addon(request) return asyncio.shield(addon.stop()) @api_process - def update(self, request): + def update(self, request: web.Request) -> Awaitable[None]: """Update add-on.""" addon = self._extract_addon(request) @@ -265,13 +321,13 @@ class APIAddons(CoreSysAttributes): return asyncio.shield(addon.update()) @api_process - def restart(self, request): + def restart(self, request: web.Request) -> Awaitable[None]: """Restart add-on.""" addon = self._extract_addon(request) return asyncio.shield(addon.restart()) @api_process - def rebuild(self, request): + def rebuild(self, request: web.Request) -> Awaitable[None]: """Rebuild local build add-on.""" addon = self._extract_addon(request) if not addon.need_build: @@ -280,13 +336,13 @@ class APIAddons(CoreSysAttributes): return asyncio.shield(addon.rebuild()) @api_process_raw(CONTENT_TYPE_BINARY) - def logs(self, request): + def logs(self, request: web.Request) -> Awaitable[bytes]: """Return logs from add-on.""" addon = self._extract_addon(request) return addon.logs() @api_process_raw(CONTENT_TYPE_PNG) - async def icon(self, request): + async def icon(self, request: web.Request) -> bytes: """Return icon from add-on.""" addon = self._extract_addon(request, check_installed=False) if not addon.with_icon: @@ -296,7 +352,7 @@ class APIAddons(CoreSysAttributes): return png.read() @api_process_raw(CONTENT_TYPE_PNG) - async def logo(self, request): + async def logo(self, request: web.Request) -> bytes: """Return logo from add-on.""" addon = self._extract_addon(request, check_installed=False) if not addon.with_logo: @@ -306,7 +362,7 @@ class APIAddons(CoreSysAttributes): return png.read() @api_process_raw(CONTENT_TYPE_TEXT) - async def changelog(self, request): + async def changelog(self, request: web.Request) -> str: """Return changelog from add-on.""" addon = self._extract_addon(request, check_installed=False) if not addon.with_changelog: @@ -316,17 +372,17 @@ class APIAddons(CoreSysAttributes): return changelog.read() @api_process - async def stdin(self, request): + async def stdin(self, request: web.Request) -> None: """Write to stdin of add-on.""" addon = self._extract_addon(request) if not addon.with_stdin: raise APIError("STDIN not supported by add-on") data = await request.read() - return await asyncio.shield(addon.write_stdin(data)) + await asyncio.shield(addon.write_stdin(data)) -def _pretty_devices(addon): +def _pretty_devices(addon: Addon) -> List[str]: """Return a simplified device list.""" dev_list = addon.devices if not dev_list: @@ -334,7 +390,7 @@ def _pretty_devices(addon): return [row.split(':')[0] for row in dev_list] -def _pretty_services(addon): +def _pretty_services(addon: Addon) -> List[str]: """Return a simplified services role list.""" services = [] for name, access in addon.services_role.items(): diff --git a/hassio/api/hassos.py b/hassio/api/hassos.py index eb2d8ccdd..36a84c481 100644 --- a/hassio/api/hassos.py +++ b/hassio/api/hassos.py @@ -1,27 +1,31 @@ """Init file for Hass.io HassOS RESTful API.""" import asyncio import logging +from typing import Any, Awaitable, Dict import voluptuous as vol +from aiohttp import web -from .utils import api_process, api_validate from ..const import ( - ATTR_VERSION, ATTR_BOARD, ATTR_VERSION_LATEST, ATTR_VERSION_CLI, - ATTR_VERSION_CLI_LATEST) + ATTR_BOARD, + ATTR_VERSION, + ATTR_VERSION_CLI, + ATTR_VERSION_CLI_LATEST, + ATTR_VERSION_LATEST, +) from ..coresys import CoreSysAttributes +from .utils import api_process, api_validate _LOGGER = logging.getLogger(__name__) -SCHEMA_VERSION = vol.Schema({ - vol.Optional(ATTR_VERSION): vol.Coerce(str), -}) +SCHEMA_VERSION = vol.Schema({vol.Optional(ATTR_VERSION): vol.Coerce(str)}) class APIHassOS(CoreSysAttributes): """Handle RESTful API for HassOS functions.""" @api_process - async def info(self, request): + async def info(self, request: web.Request) -> Dict[str, Any]: """Return HassOS information.""" return { ATTR_VERSION: self.sys_hassos.version, @@ -32,7 +36,7 @@ class APIHassOS(CoreSysAttributes): } @api_process - async def update(self, request): + async def update(self, request: web.Request) -> None: """Update HassOS.""" body = await api_validate(SCHEMA_VERSION, request) version = body.get(ATTR_VERSION, self.sys_hassos.version_latest) @@ -40,7 +44,7 @@ class APIHassOS(CoreSysAttributes): await asyncio.shield(self.sys_hassos.update(version)) @api_process - async def update_cli(self, request): + async def update_cli(self, request: web.Request) -> None: """Update HassOS CLI.""" body = await api_validate(SCHEMA_VERSION, request) version = body.get(ATTR_VERSION, self.sys_hassos.version_cli_latest) @@ -48,6 +52,6 @@ class APIHassOS(CoreSysAttributes): await asyncio.shield(self.sys_hassos.update_cli(version)) @api_process - def config_sync(self, request): + def config_sync(self, request: web.Request) -> Awaitable[None]: """Trigger config reload on HassOS.""" return asyncio.shield(self.sys_hassos.config_sync()) diff --git a/hassio/api/homeassistant.py b/hassio/api/homeassistant.py index 619858d06..d5b305788 100644 --- a/hassio/api/homeassistant.py +++ b/hassio/api/homeassistant.py @@ -27,6 +27,7 @@ from ..const import ( ATTR_VERSION, ATTR_WAIT_BOOT, ATTR_WATCHDOG, + ATTR_IP_ADDRESS, CONTENT_TYPE_BINARY, ) from ..coresys import CoreSysAttributes @@ -64,6 +65,7 @@ class APIHomeAssistant(CoreSysAttributes): ATTR_VERSION: self.sys_homeassistant.version, ATTR_LAST_VERSION: self.sys_homeassistant.last_version, ATTR_MACHINE: self.sys_homeassistant.machine, + ATTR_IP_ADDRESS: str(self.sys_homeassistant.ip_address), ATTR_ARCH: self.sys_homeassistant.arch, ATTR_IMAGE: self.sys_homeassistant.image, ATTR_CUSTOM: self.sys_homeassistant.is_custom_image, diff --git a/hassio/api/ingress.py b/hassio/api/ingress.py new file mode 100644 index 000000000..c4fd6b087 --- /dev/null +++ b/hassio/api/ingress.py @@ -0,0 +1,217 @@ +"""Hass.io Add-on ingress service.""" +import asyncio +from ipaddress import ip_address +import logging +from typing import Any, Dict, Union + +import aiohttp +from aiohttp import hdrs, web +from aiohttp.web_exceptions import ( + HTTPBadGateway, + HTTPServiceUnavailable, + HTTPUnauthorized, +) +from multidict import CIMultiDict, istr + +from ..addons.addon import Addon +from ..const import ATTR_SESSION, HEADER_TOKEN, REQUEST_FROM, COOKIE_INGRESS +from ..coresys import CoreSysAttributes +from .utils import api_process + +_LOGGER = logging.getLogger(__name__) + + +class APIIngress(CoreSysAttributes): + """Ingress view to handle add-on webui routing.""" + + def _extract_addon(self, request: web.Request) -> Addon: + """Return addon, throw an exception it it doesn't exist.""" + token = request.match_info.get("token") + + # Find correct add-on + addon = self.sys_ingress.get(token) + if not addon: + _LOGGER.warning("Ingress for %s not available", token) + raise HTTPServiceUnavailable() + + return addon + + def _check_ha_access(self, request: web.Request) -> None: + if request[REQUEST_FROM] != self.sys_homeassistant: + _LOGGER.warning("Ingress is only available behind Home Assistant") + raise HTTPUnauthorized() + + def _create_url(self, addon: Addon, path: str) -> str: + """Create URL to container.""" + return f"{addon.ingress_internal}/{path}" + + @api_process + async def create_session(self, request: web.Request) -> Dict[str, Any]: + """Create a new session.""" + self._check_ha_access(request) + + session = self.sys_ingress.create_session() + return {ATTR_SESSION: session} + + async def handler( + self, request: web.Request + ) -> Union[web.Response, web.StreamResponse, web.WebSocketResponse]: + """Route data to Hass.io ingress service.""" + self._check_ha_access(request) + + # Check Ingress Session + session = request.cookies.get(COOKIE_INGRESS) + if not self.sys_ingress.validate_session(session): + _LOGGER.warning("No valid ingress session %s", session) + raise HTTPUnauthorized() + + # Process requests + addon = self._extract_addon(request) + path = request.match_info.get("path") + try: + # Websocket + if _is_websocket(request): + return await self._handle_websocket(request, addon, path) + + # Request + return await self._handle_request(request, addon, path) + + except aiohttp.ClientError as err: + _LOGGER.error("Ingress error: %s", err) + + raise HTTPBadGateway() from None + + async def _handle_websocket( + self, request: web.Request, addon: Addon, path: str + ) -> web.WebSocketResponse: + """Ingress route for websocket.""" + ws_server = web.WebSocketResponse() + await ws_server.prepare(request) + + # Preparing + url = self._create_url(addon, path) + source_header = _init_header(request, addon) + + # Support GET query + if request.query_string: + url = "{}?{}".format(url, request.query_string) + + # Start proxy + async with self.sys_websession.ws_connect( + url, headers=source_header + ) as ws_client: + # Proxy requests + await asyncio.wait( + [ + _websocket_forward(ws_server, ws_client), + _websocket_forward(ws_client, ws_server), + ], + return_when=asyncio.FIRST_COMPLETED, + ) + + return ws_server + + async def _handle_request( + self, request: web.Request, addon: Addon, path: str + ) -> Union[web.Response, web.StreamResponse]: + """Ingress route for request.""" + url = self._create_url(addon, path) + data = await request.read() + source_header = _init_header(request, addon) + + async with self.sys_websession.request( + request.method, url, headers=source_header, params=request.query, data=data + ) as result: + headers = _response_header(result) + + # Simple request + if ( + hdrs.CONTENT_LENGTH in result.headers + and int(result.headers.get(hdrs.CONTENT_LENGTH, 0)) < 4_194_000 + ): + # Return Response + body = await result.read() + return web.Response(headers=headers, status=result.status, body=body) + + # Stream response + response = web.StreamResponse(status=result.status, headers=headers) + response.content_type = result.content_type + + try: + await response.prepare(request) + async for data in result.content.iter_chunked(4096): + await response.write(data) + + except (aiohttp.ClientError, aiohttp.ClientPayloadError) as err: + _LOGGER.error("Stream error with %s: %s", url, err) + + return response + + +def _init_header( + request: web.Request, addon: str +) -> Union[CIMultiDict, Dict[str, str]]: + """Create initial header.""" + headers = {} + + # filter flags + for name, value in request.headers.items(): + if name in ( + hdrs.CONTENT_LENGTH, + hdrs.CONTENT_TYPE, + hdrs.CONTENT_ENCODING, + istr(HEADER_TOKEN), + ): + continue + headers[name] = value + + # Update X-Forwarded-For + forward_for = request.headers.get(hdrs.X_FORWARDED_FOR) + connected_ip = ip_address(request.transport.get_extra_info("peername")[0]) + headers[hdrs.X_FORWARDED_FOR] = f"{forward_for}, {connected_ip!s}" + + return headers + + +def _response_header(response: aiohttp.ClientResponse) -> Dict[str, str]: + """Create response header.""" + headers = {} + + for name, value in response.headers.items(): + if name in ( + hdrs.TRANSFER_ENCODING, + hdrs.CONTENT_LENGTH, + hdrs.CONTENT_TYPE, + hdrs.CONTENT_ENCODING, + ): + continue + headers[name] = value + + return headers + + +def _is_websocket(request: web.Request) -> bool: + """Return True if request is a websocket.""" + headers = request.headers + + if ( + headers.get(hdrs.CONNECTION) == "Upgrade" + and headers.get(hdrs.UPGRADE) == "websocket" + ): + return True + return False + + +async def _websocket_forward(ws_from, ws_to): + """Handle websocket message directly.""" + async for msg in ws_from: + if msg.type == aiohttp.WSMsgType.TEXT: + await ws_to.send_str(msg.data) + elif msg.type == aiohttp.WSMsgType.BINARY: + await ws_to.send_bytes(msg.data) + elif msg.type == aiohttp.WSMsgType.PING: + await ws_to.ping() + elif msg.type == aiohttp.WSMsgType.PONG: + await ws_to.pong() + elif ws_to.closed: + await ws_to.close(code=ws_to.close_code, message=msg.extra) diff --git a/hassio/api/panel/chunk.05bbfb49a092df0b4304.js.gz b/hassio/api/panel/chunk.05bbfb49a092df0b4304.js.gz deleted file mode 100644 index 3eec9c684..000000000 Binary files a/hassio/api/panel/chunk.05bbfb49a092df0b4304.js.gz and /dev/null differ diff --git a/hassio/api/panel/chunk.088b1034e27d00ee9329.js b/hassio/api/panel/chunk.088b1034e27d00ee9329.js deleted file mode 100644 index c3f9f2efe..000000000 --- a/hassio/api/panel/chunk.088b1034e27d00ee9329.js +++ /dev/null @@ -1 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[7],{101:function(e,t,n){(function(r){var i;function o(e){return(o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}!function(r){"use strict";var s={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:y,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,nptable:y,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|\\n*|\\n*|)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$)|(?=\\h*\\n)[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:y,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function a(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||A.defaults,this.rules=s.normal,this.options.pedantic?this.rules=s.pedantic:this.options.gfm&&(this.options.tables?this.rules=s.tables:this.rules=s.gfm)}s._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,s._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,s.def=m(s.def).replace("label",s._label).replace("title",s._title).getRegex(),s.bullet=/(?:[*+-]|\d{1,9}\.)/,s.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,s.item=m(s.item,"gm").replace(/bull/g,s.bullet).getRegex(),s.list=m(s.list).replace(/bull/g,s.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+s.def.source+")").getRegex(),s._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",s._comment=//,s.html=m(s.html,"i").replace("comment",s._comment).replace("tag",s._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),s.paragraph=m(s.paragraph).replace("hr",s.hr).replace("heading",s.heading).replace("lheading",s.lheading).replace("tag",s._tag).getRegex(),s.blockquote=m(s.blockquote).replace("paragraph",s.paragraph).getRegex(),s.normal=w({},s),s.gfm=w({},s.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),s.gfm.paragraph=m(s.paragraph).replace("(?!","(?!"+s.gfm.fences.source.replace("\\1","\\2")+"|"+s.list.source.replace("\\1","\\3")+"|").getRegex(),s.tables=w({},s.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),s.pedantic=w({},s.normal,{html:m("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",s._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),a.rules=s,a.lex=function(e,t){return new a(t).lex(e)},a.prototype.lex=function(e){return e=e.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n"),this.token(e,!0)},a.prototype.token=function(e,t){var n,r,i,o,a,l,c,u,p,h,g,f,d,m,b,x;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:_(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if(t&&(i=this.rules.nptable.exec(e))&&(l={type:"table",header:v(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===l.align.length){for(e=e.substring(i[0].length),g=0;g ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),c={type:"list_start",ordered:m=(o=i[2]).length>1,start:m?+o:"",loose:!1},this.tokens.push(c),u=[],n=!1,d=(i=i[0].match(this.rules.item)).length,g=0;g1?1===a.length:a.length>1||this.options.smartLists&&a!==o)&&(e=i.slice(g+1).join("\n")+e,g=d-1)),r=n||/\n\n(?!\s*$)/.test(l),g!==d-1&&(n="\n"===l.charAt(l.length-1),r||(r=n)),r&&(c.loose=!0),x=void 0,(b=/^\[[ xX]\] /.test(l))&&(x=" "!==l[1],l=l.replace(/^\[[ xX]\] +/,"")),p={type:"list_item_start",task:b,checked:x,loose:r},u.push(p),this.tokens.push(p),this.token(l,!1),this.tokens.push({type:"list_item_end"});if(c.loose)for(d=u.length,g=0;g?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:y,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:y,text:/^(`+|[^`])[\s\S]*?(?=[\\?@\\[^_{|}~",l.em=m(l.em).replace(/punctuation/g,l._punctuation).getRegex(),l._escapes=/\\([!"#$%&'()*+,\-.\/:;<=>?@\[\]\\^_`{|}~])/g,l._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,l._email=/[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,l.autolink=m(l.autolink).replace("scheme",l._scheme).replace("email",l._email).getRegex(),l._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,l.tag=m(l.tag).replace("comment",s._comment).replace("attribute",l._attribute).getRegex(),l._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|[^\[\]\\])*?/,l._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|(?:\\[()]?|\([^\s\x00-\x1f\\]*\)|[^\s\x00-\x1f()\\])*?)/,l._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,l.link=m(l.link).replace("label",l._label).replace("href",l._href).replace("title",l._title).getRegex(),l.reflink=m(l.reflink).replace("label",l._label).getRegex(),l.normal=w({},l),l.pedantic=w({},l.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:m(/^!?\[(label)\]\((.*?)\)/).replace("label",l._label).getRegex(),reflink:m(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",l._label).getRegex()}),l.gfm=w({},l.normal,{escape:m(l.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:m(l.text).replace("]|","~]|").replace("|$","|https?://|ftp://|www\\.|[a-zA-Z0-9.!#$%&'*+/=?^_`{\\|}~-]+@|$").getRegex()}),l.gfm.url=m(l.gfm.url,"i").replace("email",l.gfm._extended_email).getRegex(),l.breaks=w({},l.gfm,{br:m(l.br).replace("{2,}","*").getRegex(),text:m(l.gfm.text).replace("{2,}","*").getRegex()}),c.rules=l,c.output=function(e,t,n){return new c(t,n).output(e)},c.prototype.output=function(e){for(var t,n,r,i,o,s,a="";e;)if(o=this.rules.escape.exec(e))e=e.substring(o[0].length),a+=f(o[1]);else if(o=this.rules.tag.exec(e))!this.inLink&&/^/i.test(o[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(o[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(o[0])&&(this.inRawBlock=!1),e=e.substring(o[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(o[0]):f(o[0]):o[0];else if(o=this.rules.link.exec(e))e=e.substring(o[0].length),this.inLink=!0,r=o[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],i=t[3]):i="":i=o[3]?o[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(o,{href:c.escapes(r),title:c.escapes(i)}),this.inLink=!1;else if((o=this.rules.reflink.exec(e))||(o=this.rules.nolink.exec(e))){if(e=e.substring(o[0].length),t=(o[2]||o[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=o[0].charAt(0),e=o[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(o,t),this.inLink=!1}else if(o=this.rules.strong.exec(e))e=e.substring(o[0].length),a+=this.renderer.strong(this.output(o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.em.exec(e))e=e.substring(o[0].length),a+=this.renderer.em(this.output(o[6]||o[5]||o[4]||o[3]||o[2]||o[1]));else if(o=this.rules.code.exec(e))e=e.substring(o[0].length),a+=this.renderer.codespan(f(o[2].trim(),!0));else if(o=this.rules.br.exec(e))e=e.substring(o[0].length),a+=this.renderer.br();else if(o=this.rules.del.exec(e))e=e.substring(o[0].length),a+=this.renderer.del(this.output(o[1]));else if(o=this.rules.autolink.exec(e))e=e.substring(o[0].length),r="@"===o[2]?"mailto:"+(n=f(this.mangle(o[1]))):n=f(o[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(o=this.rules.url.exec(e))){if(o=this.rules.text.exec(e))e=e.substring(o[0].length),this.inRawBlock?a+=this.renderer.text(o[0]):a+=this.renderer.text(f(this.smartypants(o[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===o[2])r="mailto:"+(n=f(o[0]));else{do{s=o[0],o[0]=this.rules._backpedal.exec(o[0])[0]}while(s!==o[0]);n=f(o[0]),r="www."===o[1]?"http://"+n:n}e=e.substring(o[0].length),a+=this.renderer.link(r,null,n)}return a},c.escapes=function(e){return e?e.replace(c.rules._escapes,"$1"):e},c.prototype.outputLink=function(e,t){var n=t.href,r=t.title?f(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,f(e[1]))},c.prototype.smartypants=function(e){return this.options.smartypants?e.replace(/---/g,"—").replace(/--/g,"–").replace(/(^|[-\u2014\/(\[{"\s])'/g,"$1‘").replace(/'/g,"’").replace(/(^|[-\u2014\/(\[{\u2018\s])"/g,"$1“").replace(/"/g,"”").replace(/\.{3}/g,"…"):e},c.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,i=0;i.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},u.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return r?'
'+(n?e:f(e,!0))+"
\n":"
"+(n?e:f(e,!0))+"
"},u.prototype.blockquote=function(e){return"
\n"+e+"
\n"},u.prototype.html=function(e){return e},u.prototype.heading=function(e,t,n,r){return this.options.headerIds?"'+e+"\n":""+e+"\n"},u.prototype.hr=function(){return this.options.xhtml?"
\n":"
\n"},u.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"},u.prototype.listitem=function(e){return"
  • "+e+"
  • \n"},u.prototype.checkbox=function(e){return" "},u.prototype.paragraph=function(e){return"

    "+e+"

    \n"},u.prototype.table=function(e,t){return t&&(t=""+t+""),"\n\n"+e+"\n"+t+"
    \n"},u.prototype.tablerow=function(e){return"\n"+e+"\n"},u.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"\n"},u.prototype.strong=function(e){return""+e+""},u.prototype.em=function(e){return""+e+""},u.prototype.codespan=function(e){return""+e+""},u.prototype.br=function(){return this.options.xhtml?"
    ":"
    "},u.prototype.del=function(e){return""+e+""},u.prototype.link=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "},u.prototype.image=function(e,t,n){if(null===(e=b(this.options.sanitize,this.options.baseUrl,e)))return n;var r=''+n+'":">"},u.prototype.text=function(e){return e},p.prototype.strong=p.prototype.em=p.prototype.codespan=p.prototype.del=p.prototype.text=function(e){return e},p.prototype.link=p.prototype.image=function(e,t,n){return""+n},p.prototype.br=function(){return""},h.parse=function(e,t){return new h(t).parse(e)},h.prototype.parse=function(e){this.inline=new c(e.links,this.options),this.inlineText=new c(e.links,w({},this.options,{renderer:new p})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},h.prototype.next=function(){return this.token=this.tokens.pop()},h.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},h.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},h.prototype.tok=function(){switch(this.token.type){case"space":return"";case"hr":return this.renderer.hr();case"heading":return this.renderer.heading(this.inline.output(this.token.text),this.token.depth,d(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,i="",o="";for(n="",e=0;e?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},f.escapeTest=/[&<>"']/,f.escapeReplace=/[&<>"']/g,f.replacements={"&":"&","<":"<",">":">",'"':""","'":"'"},f.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,f.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var x={},k=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function y(){}function w(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.lengthAn error occurred:

    "+f(e.message+"",!0)+"
    ";throw e}}y.exec=y,A.options=A.setOptions=function(e){return w(A.defaults,e),A},A.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new u,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},A.defaults=A.getDefaults(),A.Parser=h,A.parser=h.parse,A.Renderer=u,A.TextRenderer=p,A.Lexer=a,A.lexer=a.lex,A.InlineLexer=c,A.inlineLexer=c.output,A.Slugger=g,A.parse=A,"object"===o(t)?e.exports=A:void 0===(i=function(){return A}.call(t,n,t,e))||(e.exports=i)}(this||"undefined"!=typeof window&&window)}).call(this,n(102))},102:function(e,t){function n(e){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(e){"object"===("undefined"==typeof window?"undefined":n(window))&&(r=window)}e.exports=r},103:function(e,t,n){var r=n(81),i=n(84),o=n(106);for(var s in(t=e.exports=function(e,t){return new o(t).process(e)}).FilterXSS=o,r)t[s]=r[s];for(var s in i)t[s]=i[s];"undefined"!=typeof window&&(window.filterXSS=e.exports),"undefined"!=typeof self&&"undefined"!=typeof DedicatedWorkerGlobalScope&&self instanceof DedicatedWorkerGlobalScope&&(self.filterXSS=e.exports)},104:function(e,t,n){var r=n(82),i=n(105);n(83);function o(e){return null==e}function s(e){(e=function(e){var t={};for(var n in e)t[n]=e[n];return t}(e||{})).whiteList=e.whiteList||r.whiteList,e.onAttr=e.onAttr||r.onAttr,e.onIgnoreAttr=e.onIgnoreAttr||r.onIgnoreAttr,e.safeAttrValue=e.safeAttrValue||r.safeAttrValue,this.options=e}s.prototype.process=function(e){if(!(e=(e=e||"").toString()))return"";var t=this.options,n=t.whiteList,r=t.onAttr,s=t.onIgnoreAttr,a=t.safeAttrValue;return i(e,function(e,t,i,l,c){var u=n[i],p=!1;if(!0===u?p=u:"function"==typeof u?p=u(l):u instanceof RegExp&&(p=u.test(l)),!0!==p&&(p=!1),l=a(i,l)){var h,g={position:t,sourcePosition:e,source:c,isWhite:p};return p?o(h=r(i,l,g))?i+":"+l:h:o(h=s(i,l,g))?void 0:h}})},e.exports=s},105:function(e,t,n){var r=n(83);e.exports=function(e,t){";"!==(e=r.trimRight(e))[e.length-1]&&(e+=";");var n=e.length,i=!1,o=0,s=0,a="";function l(){if(!i){var n=r.trim(e.slice(o,s)),l=n.indexOf(":");if(-1!==l){var c=r.trim(n.slice(0,l)),u=r.trim(n.slice(l+1));if(c){var p=t(o,a.length,c,u,n);p&&(a+=p+"; ")}}}o=s+1}for(;s";var x=function(e){var t=l.spaceIndex(e);if(-1===t)return{html:"",closing:"/"===e[e.length-2]};var n="/"===(e=l.trim(e.slice(t+1,-1)))[e.length-1];return n&&(e=l.trim(e.slice(0,-1))),{html:e,closing:n}}(s),k=n[i],y=a(x.html,function(e,t){var n,r=-1!==l.indexOf(k,e);return c(n=u(i,e,t,r))?r?(t=h(i,e,t,f))?e+'="'+t+'"':e:c(n=p(i,e,t,r))?void 0:n:n});s="<"+i;return y&&(s+=" "+y),x.closing&&(s+=" /"),s+=">"}return c(m=o(i,s,b))?g(s):m},g);return d&&(m=d.remove(m)),m},e.exports=u},58:function(e,t,n){var r=n(82),i=n(104);for(var o in(t=e.exports=function(e,t){return new i(t).process(e)}).FilterCSS=i,r)t[o]=r[o];"undefined"!=typeof window&&(window.filterCSS=e.exports)},59:function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n/g,p=/"/g,h=/"/g,g=/&#([a-zA-Z0-9]*);?/gim,f=/:?/gim,d=/&newline;?/gim,m=/((j\s*a\s*v\s*a|v\s*b|l\s*i\s*v\s*e)\s*s\s*c\s*r\s*i\s*p\s*t\s*|m\s*o\s*c\s*h\s*a)\:/gi,b=/e\s*x\s*p\s*r\s*e\s*s\s*s\s*i\s*o\s*n\s*\(.*/gi,x=/u\s*r\s*l\s*\(.*/gi;function k(e){return e.replace(p,""")}function y(e){return e.replace(h,'"')}function w(e){return e.replace(g,function(e,t){return"x"===t[0]||"X"===t[0]?String.fromCharCode(parseInt(t.substr(1),16)):String.fromCharCode(parseInt(t,10))})}function v(e){return e.replace(f,":").replace(d," ")}function _(e){for(var t="",n=0,r=e.length;n/g;t.whiteList={a:["target","href","title"],abbr:["title"],address:[],area:["shape","coords","href","alt"],article:[],aside:[],audio:["autoplay","controls","loop","preload","src"],b:[],bdi:["dir"],bdo:["dir"],big:[],blockquote:["cite"],br:[],caption:[],center:[],cite:[],code:[],col:["align","valign","span","width"],colgroup:["align","valign","span","width"],dd:[],del:["datetime"],details:["open"],div:[],dl:[],dt:[],em:[],font:["color","size","face"],footer:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],header:[],hr:[],i:[],img:["src","alt","title","width","height"],ins:["datetime"],li:[],mark:[],nav:[],ol:[],p:[],pre:[],s:[],section:[],small:[],span:[],sub:[],sup:[],strong:[],table:["width","border","align","valign"],tbody:["align","valign"],td:["width","rowspan","colspan","align","valign"],tfoot:["align","valign"],th:["width","rowspan","colspan","align","valign"],thead:["align","valign"],tr:["rowspan","align","valign"],tt:[],u:[],ul:[],video:["autoplay","controls","loop","preload","src","height","width"]},t.getDefaultWhiteList=s,t.onTag=function(e,t,n){},t.onIgnoreTag=function(e,t,n){},t.onTagAttr=function(e,t,n){},t.onIgnoreTagAttr=function(e,t,n){},t.safeAttrValue=function(e,t,n,r){if(n=A(n),"href"===t||"src"===t){if("#"===(n=o.trim(n)))return"#";if("http://"!==n.substr(0,7)&&"https://"!==n.substr(0,8)&&"mailto:"!==n.substr(0,7)&&"tel:"!==n.substr(0,4)&&"#"!==n[0]&&"/"!==n[0])return""}else if("background"===t){if(m.lastIndex=0,m.test(n))return""}else if("style"===t){if(b.lastIndex=0,b.test(n))return"";if(x.lastIndex=0,x.test(n)&&(m.lastIndex=0,m.test(n)))return"";!1!==r&&(n=(r=r||a).process(n))}return n=S(n)},t.escapeHtml=l,t.escapeQuote=k,t.unescapeQuote=y,t.escapeHtmlEntities=w,t.escapeDangerHtml5Entities=v,t.clearNonPrintableCharacter=_,t.friendlyAttrValue=A,t.escapeAttrValue=S,t.onIgnoreTagStripAll=function(){return""},t.StripTagBody=function(e,t){"function"!=typeof t&&(t=function(){});var n=!Array.isArray(e),r=[],i=!1;return{onIgnoreTag:function(s,a,l){if(function(t){return!!n||-1!==o.indexOf(e,t)}(s)){if(l.isClosing){var c="[/removed]",u=l.position+c.length;return r.push([!1!==i?i:l.position,u]),i=!1,c}return i||(i=l.position),"[removed]"}return t(s,a,l)},remove:function(e){var t="",n=0;return o.forEach(r,function(r){t+=e.slice(n,r[0]),n=r[1]}),t+=e.slice(n)}}},t.stripCommentTag=function(e){return e.replace($,"")},t.stripBlankChar=function(e){var t=e.split("");return(t=t.filter(function(e){var t=e.charCodeAt(0);return!(127===t||t<=31&&10!==t&&13!==t)})).join("")},t.cssFilter=a,t.getDefaultCSSWhiteList=i},82:function(e,t){function n(){var e={"align-content":!1,"align-items":!1,"align-self":!1,"alignment-adjust":!1,"alignment-baseline":!1,all:!1,"anchor-point":!1,animation:!1,"animation-delay":!1,"animation-direction":!1,"animation-duration":!1,"animation-fill-mode":!1,"animation-iteration-count":!1,"animation-name":!1,"animation-play-state":!1,"animation-timing-function":!1,azimuth:!1,"backface-visibility":!1,background:!0,"background-attachment":!0,"background-clip":!0,"background-color":!0,"background-image":!0,"background-origin":!0,"background-position":!0,"background-repeat":!0,"background-size":!0,"baseline-shift":!1,binding:!1,bleed:!1,"bookmark-label":!1,"bookmark-level":!1,"bookmark-state":!1,border:!0,"border-bottom":!0,"border-bottom-color":!0,"border-bottom-left-radius":!0,"border-bottom-right-radius":!0,"border-bottom-style":!0,"border-bottom-width":!0,"border-collapse":!0,"border-color":!0,"border-image":!0,"border-image-outset":!0,"border-image-repeat":!0,"border-image-slice":!0,"border-image-source":!0,"border-image-width":!0,"border-left":!0,"border-left-color":!0,"border-left-style":!0,"border-left-width":!0,"border-radius":!0,"border-right":!0,"border-right-color":!0,"border-right-style":!0,"border-right-width":!0,"border-spacing":!0,"border-style":!0,"border-top":!0,"border-top-color":!0,"border-top-left-radius":!0,"border-top-right-radius":!0,"border-top-style":!0,"border-top-width":!0,"border-width":!0,bottom:!1,"box-decoration-break":!0,"box-shadow":!0,"box-sizing":!0,"box-snap":!0,"box-suppress":!0,"break-after":!0,"break-before":!0,"break-inside":!0,"caption-side":!1,chains:!1,clear:!0,clip:!1,"clip-path":!1,"clip-rule":!1,color:!0,"color-interpolation-filters":!0,"column-count":!1,"column-fill":!1,"column-gap":!1,"column-rule":!1,"column-rule-color":!1,"column-rule-style":!1,"column-rule-width":!1,"column-span":!1,"column-width":!1,columns:!1,contain:!1,content:!1,"counter-increment":!1,"counter-reset":!1,"counter-set":!1,crop:!1,cue:!1,"cue-after":!1,"cue-before":!1,cursor:!1,direction:!1,display:!0,"display-inside":!0,"display-list":!0,"display-outside":!0,"dominant-baseline":!1,elevation:!1,"empty-cells":!1,filter:!1,flex:!1,"flex-basis":!1,"flex-direction":!1,"flex-flow":!1,"flex-grow":!1,"flex-shrink":!1,"flex-wrap":!1,float:!1,"float-offset":!1,"flood-color":!1,"flood-opacity":!1,"flow-from":!1,"flow-into":!1,font:!0,"font-family":!0,"font-feature-settings":!0,"font-kerning":!0,"font-language-override":!0,"font-size":!0,"font-size-adjust":!0,"font-stretch":!0,"font-style":!0,"font-synthesis":!0,"font-variant":!0,"font-variant-alternates":!0,"font-variant-caps":!0,"font-variant-east-asian":!0,"font-variant-ligatures":!0,"font-variant-numeric":!0,"font-variant-position":!0,"font-weight":!0,grid:!1,"grid-area":!1,"grid-auto-columns":!1,"grid-auto-flow":!1,"grid-auto-rows":!1,"grid-column":!1,"grid-column-end":!1,"grid-column-start":!1,"grid-row":!1,"grid-row-end":!1,"grid-row-start":!1,"grid-template":!1,"grid-template-areas":!1,"grid-template-columns":!1,"grid-template-rows":!1,"hanging-punctuation":!1,height:!0,hyphens:!1,icon:!1,"image-orientation":!1,"image-resolution":!1,"ime-mode":!1,"initial-letters":!1,"inline-box-align":!1,"justify-content":!1,"justify-items":!1,"justify-self":!1,left:!1,"letter-spacing":!0,"lighting-color":!0,"line-box-contain":!1,"line-break":!1,"line-grid":!1,"line-height":!1,"line-snap":!1,"line-stacking":!1,"line-stacking-ruby":!1,"line-stacking-shift":!1,"line-stacking-strategy":!1,"list-style":!0,"list-style-image":!0,"list-style-position":!0,"list-style-type":!0,margin:!0,"margin-bottom":!0,"margin-left":!0,"margin-right":!0,"margin-top":!0,"marker-offset":!1,"marker-side":!1,marks:!1,mask:!1,"mask-box":!1,"mask-box-outset":!1,"mask-box-repeat":!1,"mask-box-slice":!1,"mask-box-source":!1,"mask-box-width":!1,"mask-clip":!1,"mask-image":!1,"mask-origin":!1,"mask-position":!1,"mask-repeat":!1,"mask-size":!1,"mask-source-type":!1,"mask-type":!1,"max-height":!0,"max-lines":!1,"max-width":!0,"min-height":!0,"min-width":!0,"move-to":!1,"nav-down":!1,"nav-index":!1,"nav-left":!1,"nav-right":!1,"nav-up":!1,"object-fit":!1,"object-position":!1,opacity:!1,order:!1,orphans:!1,outline:!1,"outline-color":!1,"outline-offset":!1,"outline-style":!1,"outline-width":!1,overflow:!1,"overflow-wrap":!1,"overflow-x":!1,"overflow-y":!1,padding:!0,"padding-bottom":!0,"padding-left":!0,"padding-right":!0,"padding-top":!0,page:!1,"page-break-after":!1,"page-break-before":!1,"page-break-inside":!1,"page-policy":!1,pause:!1,"pause-after":!1,"pause-before":!1,perspective:!1,"perspective-origin":!1,pitch:!1,"pitch-range":!1,"play-during":!1,position:!1,"presentation-level":!1,quotes:!1,"region-fragment":!1,resize:!1,rest:!1,"rest-after":!1,"rest-before":!1,richness:!1,right:!1,rotation:!1,"rotation-point":!1,"ruby-align":!1,"ruby-merge":!1,"ruby-position":!1,"shape-image-threshold":!1,"shape-outside":!1,"shape-margin":!1,size:!1,speak:!1,"speak-as":!1,"speak-header":!1,"speak-numeral":!1,"speak-punctuation":!1,"speech-rate":!1,stress:!1,"string-set":!1,"tab-size":!1,"table-layout":!1,"text-align":!0,"text-align-last":!0,"text-combine-upright":!0,"text-decoration":!0,"text-decoration-color":!0,"text-decoration-line":!0,"text-decoration-skip":!0,"text-decoration-style":!0,"text-emphasis":!0,"text-emphasis-color":!0,"text-emphasis-position":!0,"text-emphasis-style":!0,"text-height":!0,"text-indent":!0,"text-justify":!0,"text-orientation":!0,"text-overflow":!0,"text-shadow":!0,"text-space-collapse":!0,"text-transform":!0,"text-underline-position":!0,"text-wrap":!0,top:!1,transform:!1,"transform-origin":!1,"transform-style":!1,transition:!1,"transition-delay":!1,"transition-duration":!1,"transition-property":!1,"transition-timing-function":!1,"unicode-bidi":!1,"vertical-align":!1,visibility:!1,"voice-balance":!1,"voice-duration":!1,"voice-family":!1,"voice-pitch":!1,"voice-range":!1,"voice-rate":!1,"voice-stress":!1,"voice-volume":!1,volume:!1,"white-space":!1,widows:!1,width:!0,"will-change":!1,"word-break":!0,"word-spacing":!0,"word-wrap":!0,"wrap-flow":!1,"wrap-through":!1,"writing-mode":!1,"z-index":!1};return e}var r=/javascript\s*\:/gim;t.whiteList=n(),t.getDefaultWhiteList=n,t.onAttr=function(e,t,n){},t.onIgnoreAttr=function(e,t,n){},t.safeAttrValue=function(e,t){return r.test(t)?"":t}},83:function(e,t){e.exports={indexOf:function(e,t){var n,r;if(Array.prototype.indexOf)return e.indexOf(t);for(n=0,r=e.length;n0;t--){var n=e[t];if(" "!==n)return"="===n?t:-1}}function c(e){return function(e){return'"'===e[0]&&'"'===e[e.length-1]||"'"===e[0]&&"'"===e[e.length-1]}(e)?e.substr(1,e.length-2):e}t.parseTag=function(e,t,n){var r="",s=0,a=!1,l=!1,c=0,u=e.length,p="",h="";for(c=0;c"===g){r+=n(e.slice(s,a)),p=i(h=e.slice(a,c+1)),r+=t(a,r.length,p,h,o(h)),s=c+1,a=!1;continue}if(('"'===g||"'"===g)&&"="===e.charAt(c-1)){l=g;continue}}else if(g===l){l=!1;continue}}return s can only be templatized once");t.__templatizeOwner=e;var r=(e?e.constructor:R)._parseTemplate(t),o=r.templatizeInstanceClass;o||(o=D(t,r,n),r.templatizeInstanceClass=o),L(t,r,n);var i=function(t){function e(){return E(this,e),O(this,S(e).apply(this,arguments))}return k(e,o),e}();return i.prototype._methodHost=M(t),i.prototype.__dataHost=t,i.prototype.__templatizeOwner=e,i.prototype.__hostProps=r.hostProps,i=i}function B(t,e){for(var n;e;)if(n=e.__templatizeInstance){if(n.__dataHost==t)return n;e=n.__dataHost}else e=Object(m.a)(e).parentNode;return null}var q=n(68);function Y(t){return(Y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function J(t,e){return!e||"object"!==Y(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function V(t){return(V=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function U(t,e){for(var n=0;n child");n.disconnect(),e.render()});return void n.observe(this,{childList:!0})}this.root=this._stampTemplate(t),this.$=this.root.$,this.__children=[];for(var r=this.root.firstChild;r;r=r.nextSibling)this.__children[this.__children.length]=r;this._enableProperties()}this.__insertChildren(),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0}))}}]),e}();customElements.define("dom-bind",G);var K=n(7),Z=n(18),Q=n(28),tt=n(38),et=n(23);function nt(t){return(nt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function rt(t,e){return!e||"object"!==nt(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function ot(t,e,n){return(ot="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(t,e,n){var r=function(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=it(t)););return t}(t,e);if(r){var o=Object.getOwnPropertyDescriptor(r,e);return o.get?o.get.call(n):o.value}})(t,e,n||t)}function it(t){return(it=Object.setPrototypeOf?Object.getPrototypeOf:function(t){return t.__proto__||Object.getPrototypeOf(t)})(t)}function at(t,e){for(var n=0;n child");n.disconnect(),t.__render()});return n.observe(this,{childList:!0}),!1}var r={};r[this.as]=!0,r[this.indexAs]=!0,r[this.itemsIndexAs]=!0,this.__ctor=z(e,this,{mutableData:this.mutableData,parentModel:!0,instanceProps:r,forwardHostProp:function(t,e){for(var n,r=this.__instances,o=0;o1&&void 0!==arguments[1]?arguments[1]:0;this.__renderDebouncer=Z.a.debounce(this.__renderDebouncer,e>0?et.c.after(e):et.b,t.bind(this)),Object(Q.a)(this.__renderDebouncer)}},{key:"render",value:function(){this.__debounceRender(this.__render),Object(Q.b)()}},{key:"__render",value:function(){this.__ensureTemplatized()&&(this.__applyFullRefresh(),this.__pool.length=0,this._setRenderedItemCount(this.__instances.length),this.dispatchEvent(new CustomEvent("dom-change",{bubbles:!0,composed:!0})),this.__tryRenderChunk())}},{key:"__applyFullRefresh",value:function(){for(var t=this,e=this.items||[],n=new Array(e.length),r=0;r=i;l--)this.__detachAndRemoveInstance(l)}},{key:"__detachInstance",value:function(t){for(var e=this.__instances[t],n=Object(m.a)(e.root),r=0;r child");r.disconnect(),t.__render()});return r.observe(this,{childList:!0}),!1}this.__ctor=z(n,this,{mutableData:!0,forwardHostProp:function(t,e){this.__instance&&(this.if?this.__instance.forwardHostProp(t,e):(this.__invalidProps=this.__invalidProps||Object.create(null),this.__invalidProps[Object(tt.g)(t)]=!0))}})}if(this.__instance){this.__syncHostProperties();var o=this.__instance.children;if(o&&o.length)if(Object(m.a)(this).previousSibling!==o[o.length-1])for(var i,a=0;a=o.index+o.removed.length?n.set(e,t+o.addedCount-o.removed.length):n.set(e,-1))});for(var i=0;i=0&&t.linkPaths("".concat(JSCompiler_renameProperty("items",t),".").concat(n),"".concat(JSCompiler_renameProperty("selected",t),".").concat(e++))})}else this.__selectedMap.forEach(function(e){t.linkPaths(JSCompiler_renameProperty("selected",t),"".concat(JSCompiler_renameProperty("items",t),".").concat(e)),t.linkPaths(JSCompiler_renameProperty("selectedItem",t),"".concat(JSCompiler_renameProperty("items",t),".").concat(e))})}},{key:"clearSelection",value:function(){this.__dataLinkedPaths={},this.__selectedMap=new Map,this.selected=this.multi?[]:null,this.selectedItem=null}},{key:"isSelected",value:function(t){return this.__selectedMap.has(t)}},{key:"isIndexSelected",value:function(t){return this.isSelected(this.items[t])}},{key:"__deselectChangedIdx",value:function(t){var e=this,n=this.__selectedIndexForItemIndex(t);if(n>=0){var r=0;this.__selectedMap.forEach(function(t,o){n==r++&&e.deselect(o)})}}},{key:"__selectedIndexForItemIndex",value:function(t){var e=this.__dataLinkedPaths["".concat(JSCompiler_renameProperty("items",this),".").concat(t)];if(e)return parseInt(e.slice("".concat(JSCompiler_renameProperty("selected",this),".").length),10)}},{key:"deselect",value:function(t){var e,n=this.__selectedMap.get(t);n>=0&&(this.__selectedMap.delete(t),this.multi&&(e=this.__selectedIndexForItemIndex(n)),this.__updateLinks(),this.multi?this.splice(JSCompiler_renameProperty("selected",this),e,1):this.selected=this.selectedItem=null)}},{key:"deselectIndex",value:function(t){this.deselect(this.items[t])}},{key:"select",value:function(t){this.selectIndex(this.items.indexOf(t))}},{key:"selectIndex",value:function(t){var e=this.items[t];this.isSelected(e)?this.toggle&&this.deselectIndex(t):(this.multi||this.__selectedMap.clear(),this.__selectedMap.set(e,t),this.__updateLinks(),this.multi?this.push(JSCompiler_renameProperty("selected",this),e):this.selected=this.selectedItem=e)}}]),n}()})(K.a),At=function(t){function e(){return wt(this,e),Pt(this,St(e).apply(this,arguments))}return Et(e,Tt),Ct(e,null,[{key:"is",get:function(){return"array-selector"}},{key:"template",get:function(){return null}}]),e}();customElements.define(At.is,At);n(91);y._mutablePropertyChange;Boolean,n(4);n.d(e,"a",function(){return Nt});var Nt=Object(r.a)(HTMLElement).prototype},function(t,e,n){"use strict";n.d(e,"a",function(){return a});n(8);function r(t,e){for(var n=0;n1?n-1:0),a=1;a=0){if(!i[e])throw new Error("invalid async handle: "+t);i[e]=null}}}},,,,,function(t,e,n){"use strict";n.d(e,"b",function(){return o});n(8);var r=n(18);n.d(e,"a",function(){return r.b});var o=function(){var t,e;do{t=window.ShadyDOM&&ShadyDOM.flush(),window.ShadyCSS&&window.ShadyCSS.ScopingShim&&window.ShadyCSS.ScopingShim.flush(),e=Object(r.c)()}while(t||e)}},,,function(t,e,n){"use strict";n.d(e,"c",function(){return s}),n.d(e,"b",function(){return u}),n.d(e,"a",function(){return c});n(8);var r,o,i=/(url\()([^)]*)(\))/g,a=/(^\/)|(^#)|(^[\w-\d]*:)/;function s(t,e){if(t&&a.test(t))return t;if(void 0===r){r=!1;try{var n=new URL("b","http://a");n.pathname="c%20d",r="http://a/c%20d"===n.href}catch(t){}}return e||(e=document.baseURI||window.location.href),r?new URL(t,e).href:(o||((o=document.implementation.createHTMLDocument("temp")).base=o.createElement("base"),o.head.appendChild(o.base),o.anchor=o.createElement("a"),o.body.appendChild(o.anchor)),o.base.href=e,o.anchor.href=t,o.anchor.href||t)}function u(t,e){return t.replace(i,function(t,n,r,o){return n+"'"+s(r.replace(/["']/g,""),e)+"'"+o})}function c(t){return t.substring(0,t.lastIndexOf("/")+1)}},function(t,e,n){"use strict";n.d(e,"b",function(){return D}),n.d(e,"d",function(){return L}),n.d(e,"e",function(){return H}),n.d(e,"c",function(){return U}),n.d(e,"a",function(){return $});n(8);var r=n(23),o=n(18),i=n(17),a=n(14),s="string"==typeof document.head.style.touchAction,u="__polymerGestures",c="__polymerGesturesHandled",l="__polymerGesturesTouchAction",f=25,h=5,p=2500,d=["mousedown","mousemove","mouseup","click"],y=[0,1,4,2],_=function(){try{return 1===new MouseEvent("test",{buttons:1}).buttons}catch(t){return!1}}();function v(t){return d.indexOf(t)>-1}var m=!1;function b(t){if(!v(t)&&"touchend"!==t)return s&&m&&i.c?{passive:!0}:void 0}!function(){try{var t=Object.defineProperty({},"passive",{get:function(){m=!0}});window.addEventListener("test",null,t),window.removeEventListener("test",null,t)}catch(t){}}();var g=navigator.userAgent.match(/iP(?:[oa]d|hone)|Android/),O=[],w={button:!0,input:!0,keygen:!0,meter:!0,output:!0,textarea:!0,progress:!0,select:!0},P={button:!0,command:!0,fieldset:!0,input:!0,keygen:!0,optgroup:!0,option:!0,select:!0,textarea:!0};function S(t){var e=Array.prototype.slice.call(t.labels||[]);if(!e.length){e=[];var n=t.getRootNode();if(t.id)for(var r=n.querySelectorAll("label[for = ".concat(t.id,"]")),o=0;o-1;if(o[i]===j.mouse.target)return}if(r)return;t.preventDefault(),t.stopPropagation()}};function C(t){for(var e,n=g?["click"]:d,r=0;r0?e[0]:t.target}function M(t){var e,n=t.type,r=t.currentTarget[u];if(r){var o=r[n];if(o){if(!t[c]&&(t[c]={},"touch"===n.slice(0,5))){var i=(t=t).changedTouches[0];if("touchstart"===n&&1===t.touches.length&&(j.touch.id=i.identifier),j.touch.id!==i.identifier)return;s||"touchstart"!==n&&"touchmove"!==n||function(t){var e=t.changedTouches[0],n=t.type;if("touchstart"===n)j.touch.x=e.clientX,j.touch.y=e.clientY,j.touch.scrollDecided=!1;else if("touchmove"===n){if(j.touch.scrollDecided)return;j.touch.scrollDecided=!0;var r=function(t){for(var e,n="auto",r=N(t),o=0;oi:"pan-y"===r&&(o=i>a)),o?t.preventDefault():B("track")}}(t)}if(!(e=t[c]).skip){for(var a,f=0;f-1&&a.reset&&a.reset();for(var h,p=0;p=h||o>=h}function J(t,e,n){if(e){var r,o=t.moves[t.moves.length-2],i=t.moves[t.moves.length-1],a=i.x-t.x,s=i.y-t.y,u=0;o&&(r=i.x-o.x,u=i.y-o.y),z(e,"track",{state:t.state,x:n.clientX,y:n.clientY,dx:a,dy:s,ddx:r,ddy:u,sourceEvent:n,hover:function(){return function(t,e){for(var n=document.elementFromPoint(t,e),r=n;r&&r.shadowRoot&&!window.ShadyDOM&&r!==(r=r.shadowRoot.elementFromPoint(t,e));)r&&(n=r);return n}(n.clientX,n.clientY)}})}}function V(t,e,n){var r=Math.abs(e.clientX-t.x),o=Math.abs(e.clientY-t.y),i=I(n||e);!i||P[i.localName]&&i.hasAttribute("disabled")||(isNaN(r)||isNaN(o)||r<=f&&o<=f||function(t){if("click"===t.type){if(0===t.detail)return!0;var e=I(t);if(!e.nodeType||e.nodeType!==Node.ELEMENT_NODE)return!0;var n=e.getBoundingClientRect(),r=t.pageX,o=t.pageY;return!(r>=n.left&&r<=n.right&&o>=n.top&&o<=n.bottom)}return!1}(e))&&(t.prevent||z(i,"tap",{x:e.clientX,y:e.clientY,sourceEvent:e,preventer:n}))}F({name:"downup",deps:["mousedown","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["down","up"],info:{movefn:null,upfn:null},reset:function(){A(this.info)},mousedown:function(t){if(E(t)){var e=I(t),n=this;T(this.info,function(t){E(t)||(q("up",e,t),A(n.info))},function(t){E(t)&&q("up",e,t),A(n.info)}),q("down",e,t)}},touchstart:function(t){q("down",I(t),t.changedTouches[0],t)},touchend:function(t){q("up",I(t),t.changedTouches[0],t)}}),F({name:"track",touchAction:"none",deps:["mousedown","touchstart","touchmove","touchend"],flow:{start:["mousedown","touchstart"],end:["mouseup","touchend"]},emits:["track"],info:{x:0,y:0,state:"start",started:!1,moves:[],addMove:function(t){this.moves.length>2&&this.moves.shift(),this.moves.push(t)},movefn:null,upfn:null,prevent:!1},reset:function(){this.info.state="start",this.info.started=!1,this.info.moves=[],this.info.x=0,this.info.y=0,this.info.prevent=!1,A(this.info)},mousedown:function(t){if(E(t)){var e=I(t),n=this,r=function(t){var r=t.clientX,o=t.clientY;Y(n.info,r,o)&&(n.info.state=n.info.started?"mouseup"===t.type?"end":"track":"start","start"===n.info.state&&B("tap"),n.info.addMove({x:r,y:o}),E(t)||(n.info.state="end",A(n.info)),e&&J(n.info,e,t),n.info.started=!0)};T(this.info,r,function(t){n.info.started&&r(t),A(n.info)}),this.info.x=t.clientX,this.info.y=t.clientY}},touchstart:function(t){var e=t.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchmove:function(t){var e=I(t),n=t.changedTouches[0],r=n.clientX,o=n.clientY;Y(this.info,r,o)&&("start"===this.info.state&&B("tap"),this.info.addMove({x:r,y:o}),J(this.info,e,n),this.info.state="track",this.info.started=!0)},touchend:function(t){var e=I(t),n=t.changedTouches[0];this.info.started&&(this.info.state="end",this.info.addMove({x:n.clientX,y:n.clientY}),J(this.info,e,n))}}),F({name:"tap",deps:["mousedown","click","touchstart","touchend"],flow:{start:["mousedown","touchstart"],end:["click","touchend"]},emits:["tap"],info:{x:NaN,y:NaN,prevent:!1},reset:function(){this.info.x=NaN,this.info.y=NaN,this.info.prevent=!1},mousedown:function(t){E(t)&&(this.info.x=t.clientX,this.info.y=t.clientY)},click:function(t){E(t)&&V(this.info,t)},touchstart:function(t){var e=t.changedTouches[0];this.info.x=e.clientX,this.info.y=e.clientY},touchend:function(t){V(this.info,t.changedTouches[0],t)}});var U=I,$=D},,,,,,function(t,e,n){"use strict";n.d(e,"d",function(){return r}),n.d(e,"g",function(){return o}),n.d(e,"b",function(){return i}),n.d(e,"c",function(){return a}),n.d(e,"i",function(){return s}),n.d(e,"e",function(){return u}),n.d(e,"f",function(){return c}),n.d(e,"a",function(){return f}),n.d(e,"h",function(){return h});n(8);function r(t){return t.indexOf(".")>=0}function o(t){var e=t.indexOf(".");return-1===e?t:t.slice(0,e)}function i(t,e){return 0===t.indexOf(e+".")}function a(t,e){return 0===e.indexOf(t+".")}function s(t,e,n){return e+n.slice(t.length)}function u(t,e){return t===e||i(t,e)||a(t,e)}function c(t){if(Array.isArray(t)){for(var e=[],n=0;n1){for(var a=0;al.source.length&&"property"==c.kind&&!c.isCompound&&u.__isPropertyEffectsClient&&u.__dataHasAccessor&&u.__dataHasAccessor[c.target]){var f=n[e];e=Object(i.i)(l.source,c.target,e),u._setPendingPropertyOrPath(e,f,!1,!0)&&t._enqueueClient(u)}else{!function(t,e,n,r,o){o=function(t,e,n,r){if(n.isCompound){var o=t.__dataCompoundStorage[n.target];o[r.compoundIndex]=e,e=o.join("")}return"attribute"!==n.kind&&("textContent"!==n.target&&("value"!==n.target||"input"!==t.localName&&"textarea"!==t.localName)||(e=null==e?"":e)),e}(e,o,n,r),O.e&&(o=Object(O.e)(o,n.target,n.kind,e));if("attribute"==n.kind)t._valueToNodeAttribute(e,o,n.target);else{var i=n.target;e.__isPropertyEffectsClient&&e.__dataHasAccessor&&e.__dataHasAccessor[i]?e[N.READ_ONLY]&&e[N.READ_ONLY][i]||e._setPendingProperty(i,o)&&t._enqueueClient(e):t._setUnmanagedPropertyToNode(e,i,o)}}(t,u,c,l,o.evaluator._evaluateBinding(t,l,e,n,r,a))}}function U(t,e){if(e.isCompound){for(var n=t.__dataCompoundStorage||(t.__dataCompoundStorage={}),r=e.parts,o=new Array(r.length),i=0;i="0"&&r<="9"&&(r="#"),r){case"'":case'"':n.value=e.slice(1,-1),n.literal=!0;break;case"#":n.value=Number(e),n.literal=!0}return n.literal||(n.rootProperty=Object(i.g)(e),n.structured=Object(i.d)(e),n.structured&&(n.wildcard=".*"==e.slice(-2),n.wildcard&&(n.name=e.slice(0,-2)))),n}function et(t,e,n){var r=Object(i.a)(t,n);return void 0===r&&(r=e[n]),r}function nt(t,e,n,r){t.notifyPath(n+".splices",{indexSplices:r}),t.notifyPath(n+".length",e.length)}function rt(t,e,n,r,o,i){nt(t,e,n,[{index:r,addedCount:o,removed:i,object:e,type:"splice"}])}var ot=Object(o.a)(function(t){var e=g(Object(s.a)(t));return function(t){function n(){var t;return w(this,n),(t=k(this,E(n).call(this))).__isPropertyEffectsClient=!0,t.__dataCounter=0,t.__dataClientsReady,t.__dataPendingClients,t.__dataToNotify,t.__dataLinkedPaths,t.__dataHasPaths,t.__dataCompoundStorage,t.__dataHost,t.__dataTemp,t.__dataClientsInitialized,t.__data,t.__dataPending,t.__dataOld,t.__computeEffects,t.__reflectEffects,t.__notifyEffects,t.__propagateEffects,t.__observeEffects,t.__readOnly,t.__templateInfo,t}return function(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&j(t,e)}(n,e),S(n,[{key:"_initializeProperties",value:function(){C(E(n.prototype),"_initializeProperties",this).call(this),it.registerHost(this),this.__dataClientsReady=!1,this.__dataPendingClients=null,this.__dataToNotify=null,this.__dataLinkedPaths=null,this.__dataHasPaths=!1,this.__dataCompoundStorage=this.__dataCompoundStorage||null,this.__dataHost=this.__dataHost||null,this.__dataTemp={},this.__dataClientsInitialized=!1}},{key:"_initializeProtoProperties",value:function(t){this.__data=Object.create(t),this.__dataPending=Object.create(t),this.__dataOld={}}},{key:"_initializeInstanceProperties",value:function(t){var e=this[N.READ_ONLY];for(var n in t)e&&e[n]||(this.__dataPending=this.__dataPending||{},this.__dataOld=this.__dataOld||{},this.__data[n]=this.__dataPending[n]=t[n])}},{key:"_addPropertyEffect",value:function(t,e,n){this._createPropertyAccessor(t,e==N.READ_ONLY);var r=R(this,e)[t];r||(r=this[e][t]=[]),r.push(n)}},{key:"_removePropertyEffect",value:function(t,e,n){var r=R(this,e)[t],o=r.indexOf(n);o>=0&&r.splice(o,1)}},{key:"_hasPropertyEffect",value:function(t,e){var n=this[e];return Boolean(n&&n[t])}},{key:"_hasReadOnlyEffect",value:function(t){return this._hasPropertyEffect(t,N.READ_ONLY)}},{key:"_hasNotifyEffect",value:function(t){return this._hasPropertyEffect(t,N.NOTIFY)}},{key:"_hasReflectEffect",value:function(t){return this._hasPropertyEffect(t,N.REFLECT)}},{key:"_hasComputedEffect",value:function(t){return this._hasPropertyEffect(t,N.COMPUTE)}},{key:"_setPendingPropertyOrPath",value:function(t,e,r,o){if(o||Object(i.g)(Array.isArray(t)?t[0]:t)!==t){if(!o){var a=Object(i.a)(this,t);if(!(t=Object(i.h)(this,t,e))||!C(E(n.prototype),"_shouldPropertyChange",this).call(this,t,e,a))return!1}if(this.__dataHasPaths=!0,this._setPendingProperty(t,e,r))return function(t,e,n){var r,o=t.__dataLinkedPaths;if(o)for(var a in o){var s=o[a];Object(i.c)(a,e)?(r=Object(i.i)(a,s,e),t._setPendingPropertyOrPath(r,n,!0,!0)):Object(i.c)(s,e)&&(r=Object(i.i)(s,a,e),t._setPendingPropertyOrPath(r,n,!0,!0))}}(this,t,e),!0}else{if(this.__dataHasAccessor&&this.__dataHasAccessor[t])return this._setPendingProperty(t,e,r);this[t]=e}return!1}},{key:"_setUnmanagedPropertyToNode",value:function(t,e,n){n===t[e]&&"object"!=T(n)||(t[e]=n)}},{key:"_setPendingProperty",value:function(t,e,n){var r=this.__dataHasPaths&&Object(i.d)(t),o=r?this.__dataTemp:this.__data;return!!this._shouldPropertyChange(t,e,o[t])&&(this.__dataPending||(this.__dataPending={},this.__dataOld={}),t in this.__dataOld||(this.__dataOld[t]=this.__data[t]),r?this.__dataTemp[t]=e:this.__data[t]=e,this.__dataPending[t]=e,(r||this[N.NOTIFY]&&this[N.NOTIFY][t])&&(this.__dataToNotify=this.__dataToNotify||{},this.__dataToNotify[t]=n),!0)}},{key:"_setProperty",value:function(t,e){this._setPendingProperty(t,e,!0)&&this._invalidateProperties()}},{key:"_invalidateProperties",value:function(){this.__dataReady&&this._flushProperties()}},{key:"_enqueueClient",value:function(t){this.__dataPendingClients=this.__dataPendingClients||[],t!==this&&this.__dataPendingClients.push(t)}},{key:"_flushProperties",value:function(){this.__dataCounter++,C(E(n.prototype),"_flushProperties",this).call(this),this.__dataCounter--}},{key:"_flushClients",value:function(){this.__dataClientsReady?this.__enableOrFlushClients():(this.__dataClientsReady=!0,this._readyClients(),this.__dataReady=!0)}},{key:"__enableOrFlushClients",value:function(){var t=this.__dataPendingClients;if(t){this.__dataPendingClients=null;for(var e=0;e1?o-1:0),s=1;s3?r-3:0),a=3;a1?r-1:0),a=1;ao&&r.push({literal:t.slice(o,n.index)});var i=n[1][0],a=Boolean(n[2]),s=n[3].trim(),u=!1,c="",l=-1;"{"==i&&(l=s.indexOf("::"))>0&&(c=s.substring(l+2),s=s.substring(0,l),u=!0);var f=Q(s),h=[];if(f){for(var p=f.args,d=f.methodName,y=0;y0||n>0;)if(0!=e)if(0!=n){var c=t[e-1][n-1],l=t[e-1][n],f=t[e][n-1],h=void 0;(h=l=0;e--){var n=t[e];for(var r in n)this._ensureAttribute(r,n[r])}u(c(f.prototype),"_ensureAttributes",this).call(this)}},{key:"ready",value:function(){u(c(f.prototype),"ready",this).call(this);var t=i.ready;if(t)for(var e=0;e=0;o--){var i=e[o];i?Array.isArray(i)?t(i,n):n.indexOf(i)<0&&(!r||r.indexOf(i)<0)&&n.unshift(i):console.warn("behavior is null, check for missing or 404 import")}return n}(n,null,d),f.prototype.behaviors=d?d.concat(n):r}var v=function(e){r&&function(t,e,n){for(var r=0;r2&&void 0!==arguments[2]?arguments[2]:"",r="";if(t.cssText||t.rules){var o=t.rules;if(o&&!function(t){var e=t[0];return Boolean(e)&&Boolean(e.selector)&&0===e.selector.indexOf(f)}(o))for(var i,s=0,h=o.length;s1&&void 0!==arguments[1]?arguments[1]:"",n=g(t);return this.transformRules(n,e),t.textContent=b(n),n}},{key:"transformCustomStyle",value:function(t){var e=this,n=g(t);return O(n,function(t){":root"===t.selector&&(t.selector="html"),e.transformRule(t)}),t.textContent=b(n),n}},{key:"transformRules",value:function(t,e){var n=this;this._currentElement=e,O(t,function(t){n.transformRule(t)}),this._currentElement=null}},{key:"transformRule",value:function(t){t.cssText=this.transformCssText(t.parsedCssText,t),":root"===t.selector&&(t.selector=":host > *")}},{key:"transformCssText",value:function(t,e){var n=this;return t=t.replace(d.c,function(t,r,o,i){return n._produceCssProperties(t,r,o,i,e)}),this._consumeCssProperties(t,e)}},{key:"_getInitialValueForProperty",value:function(t){return this._measureElement||(this._measureElement=document.createElement("meta"),this._measureElement.setAttribute("apply-shim-measure",""),this._measureElement.style.all="initial",document.head.appendChild(this._measureElement)),window.getComputedStyle(this._measureElement).getPropertyValue(t)}},{key:"_fallbacksFromPreviousRules",value:function(t){for(var e=this,n=t;n.parent;)n=n.parent;var r={},o=!1;return O(n,function(n){(o=o||n===t)||n.selector===t.selector&&Object.assign(r,e._cssTextToMap(n.parsedCssText))}),r}},{key:"_consumeCssProperties",value:function(t,e){for(var n=null;n=d.b.exec(t);){var r=n[0],o=n[1],i=n.index,a=i+r.indexOf("@apply"),s=i+r.length,u=t.slice(0,a),c=t.slice(s),l=e?this._fallbacksFromPreviousRules(e):{};Object.assign(l,this._cssTextToMap(u));var f=this._atApplyToCssProperties(o,l);t="".concat(u).concat(f).concat(c),d.b.lastIndex=i+f.length}return t}},{key:"_atApplyToCssProperties",value:function(t,e){t=t.replace(A,"");var n=[],r=this._map.get(t);if(r||(this._map.set(t,{}),r=this._map.get(t)),r){var o,i,a;this._currentElement&&(r.dependants[this._currentElement]=!0);var s=r.properties;for(o in s)i=[o,": var(",t,"_-_",o],(a=e&&e[o])&&i.push(",",a.replace(x,"")),i.push(")"),x.test(s[o])&&i.push(" !important"),n.push(i.join(""))}return n.join("; ")}},{key:"_replaceInitialOrInherit",value:function(t,e){var n=N.exec(e);return n&&(e=n[1]?this._getInitialValueForProperty(t):"apply-shim-inherit"),e}},{key:"_cssTextToMap",value:function(t){for(var e,n,r,o,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=t.split(";"),s={},u=0;u1&&(e=o[0].trim(),n=o.slice(1).join(":"),i&&(n=this._replaceInitialOrInherit(e,n)),s[e]=n);return s}},{key:"_invalidateMixinEntry",value:function(t){if(I)for(var e in t.dependants)e!==this._currentElement&&I(e)}},{key:"_produceCssProperties",value:function(t,e,n,r,o){var i=this;if(n&&function t(e,n){var r=e.indexOf("var(");if(-1===r)return n(e,"","","");var o=w(e,r+3),i=e.substring(r+4,o),a=e.substring(0,r),s=t(e.substring(o+1),n),u=i.indexOf(",");return-1===u?n(a,i.trim(),"",s):n(a,i.substring(0,u).trim(),i.substring(u+1).trim(),s)}(n,function(t,e){e&&i._map.get(e)&&(r="@apply ".concat(e,";"))}),!r)return t;var a=this._consumeCssProperties(""+r,o),s=t.slice(0,t.indexOf("--")),u=this._cssTextToMap(a,!0),c=u,l=this._map.get(e),f=l&&l.properties;f?c=Object.assign(Object.create(f),u):this._map.set(e,c);var h,p,d=[],y=!1;for(h in c)void 0===(p=u[h])&&(p="initial"),!f||h in f||(y=!0),d.push("".concat(e).concat("_-_").concat(h,": ").concat(p));return y&&this._invalidateMixinEntry(l),l&&(l.properties=c),n&&(s="".concat(t,";").concat(s)),"".concat(s).concat(d.join("; "),";")}}]),t}();M.prototype.detectMixin=M.prototype.detectMixin,M.prototype.transformStyle=M.prototype.transformStyle,M.prototype.transformCustomStyle=M.prototype.transformCustomStyle,M.prototype.transformRules=M.prototype.transformRules,M.prototype.transformRule=M.prototype.transformRule,M.prototype.transformTemplate=M.prototype.transformTemplate,M.prototype._separator="_-_",Object.defineProperty(M.prototype,"invalidCallback",{get:function(){return I},set:function(t){I=t}});var D=M,L={},F="_applyShimCurrentVersion",H="_applyShimNextVersion",z="_applyShimValidatingVersion",B=Promise.resolve();function q(t){var e=L[t];e&&function(t){t[F]=t[F]||0,t[z]=t[z]||0,t[H]=(t[H]||0)+1}(e)}function Y(t){return t[F]===t[H]}function J(t){return!Y(t)&&t[z]===t[H]}function V(t){t[z]=t[H],t._validating||(t._validating=!0,B.then(function(){t[F]=t[H],t._validating=!1}))}n(92);function U(t,e){for(var n=0;n-1?n=e:(r=e,n=t.getAttribute&&t.getAttribute("is")||""):(n=t.is,r=t.extends),{is:n,typeExtension:r}}(t).is,n=L[e];if((!n||!k(n))&&n&&!Y(n)){J(n)||(this.prepareTemplate(n,e),V(n));var r=t.shadowRoot;if(r){var o=r.querySelector("style");o&&(o.__cssRules=n._styleAst,o.textContent=b(n._styleAst))}}}},{key:"styleDocument",value:function(t){this.ensure(),this.styleSubtree(document.body,t)}}])&&U(e.prototype,n),r&&U(e,r),t}();if(!window.ShadyCSS||!window.ShadyCSS.ScopingShim){var W=new X,G=window.ShadyCSS&&window.ShadyCSS.CustomStyleInterface;window.ShadyCSS={prepareTemplate:function(t,e,n){W.flushCustomStyles(),W.prepareTemplate(t,e)},prepareTemplateStyles:function(t,e,n){window.ShadyCSS.prepareTemplate(t,e,n)},prepareTemplateDom:function(t,e){},styleSubtree:function(t,e){W.flushCustomStyles(),W.styleSubtree(t,e)},styleElement:function(t){W.flushCustomStyles(),W.styleElement(t)},styleDocument:function(t){W.flushCustomStyles(),W.styleDocument(t)},getComputedStyleValue:function(t,e){return Object(C.b)(t,e)},flushCustomStyles:function(){W.flushCustomStyles()},nativeCss:r.c,nativeShadow:r.d,cssBuild:r.a,disableRuntime:r.b},G&&(window.ShadyCSS.CustomStyleInterface=G)}window.ShadyCSS.ApplyShim=$;var K=n(48),Z=n(68),Q=n(66),tt=n(10);function et(t){return(et="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function nt(t,e){return!e||"object"!==et(e)&&"function"!=typeof e?function(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}(t):e}function rt(t,e){for(var n=0;n-1&&ht.splice(t,1)}}}]),n}();return n.__activateDir=!1,n});n(40);function bt(){document.body.removeAttribute("unresolved")}"interactive"===document.readyState||"complete"===document.readyState?bt():window.addEventListener("DOMContentLoaded",bt);var gt=n(6),Ot=n(32),wt=n(18),Pt=n(23),St=n(38),kt=n(14);function Ct(t){return(Ct="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function Et(t){return function(t){if(Array.isArray(t)){for(var e=0,n=new Array(t.length);e0?Pt.c.after(n):Pt.b,e.bind(this))}},{key:"isDebouncerActive",value:function(t){this._debouncers=this._debouncers||{};var e=this._debouncers[t];return!(!e||!e.isActive())}},{key:"flushDebouncer",value:function(t){this._debouncers=this._debouncers||{};var e=this._debouncers[t];e&&e.flush()}},{key:"cancelDebouncer",value:function(t){this._debouncers=this._debouncers||{};var e=this._debouncers[t];e&&e.cancel()}},{key:"async",value:function(t,e){return e>0?Pt.c.run(t.bind(this),e):~Pt.b.run(t.bind(this))}},{key:"cancelAsync",value:function(t){t<0?Pt.b.cancel(~t):Pt.c.cancel(t)}},{key:"create",value:function(t,e){var n=document.createElement(t);if(e)if(n.setProperties)n.setProperties(e);else for(var r in e)n[r]=e[r];return n}},{key:"elementMatches",value:function(t,e){return Object(gt.b)(e||this,t)}},{key:"toggleAttribute",value:function(t,e){var n=this;return 3===arguments.length&&(n=arguments[2]),1==arguments.length&&(e=!n.hasAttribute(t)),e?(Object(kt.a)(n).setAttribute(t,""),!0):(Object(kt.a)(n).removeAttribute(t),!1)}},{key:"toggleClass",value:function(t,e,n){n=n||this,1==arguments.length&&(e=!n.classList.contains(t)),e?n.classList.add(t):n.classList.remove(t)}},{key:"transform",value:function(t,e){(e=e||this).style.webkitTransform=t,e.style.transform=t}},{key:"translate3d",value:function(t,e,n,r){r=r||this,this.transform("translate3d("+t+","+e+","+n+")",r)}},{key:"arrayDelete",value:function(t,e){var n;if(Array.isArray(t)){if((n=t.indexOf(e))>=0)return t.splice(n,1)}else if((n=Object(St.a)(this,t).indexOf(e))>=0)return this.splice(t,n,1);return null}},{key:"_logger",value:function(t,e){var n;switch(Array.isArray(e)&&1===e.length&&Array.isArray(e[0])&&(e=e[0]),t){case"log":case"warn":case"error":(n=console)[t].apply(n,Et(e))}}},{key:"_log",value:function(){for(var t=arguments.length,e=new Array(t),n=0;n1?e-1:0),r=1;r\n \n\n\n \n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content);var o=document.createElement("style");o.textContent="[hidden] { display: none !important; }",document.head.appendChild(o)},,function(e,t,n){"use strict";n(3),n(25);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n'],['\n\n \n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},function(e,t,n){"use strict";n(3),n(9);var i=n(5),r=n(4),a=n(31);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n \n
    \n'],['\n \n\n \n \n \n
    \n']);return o=function(){return e},e}Object(i.a)({_template:Object(r.a)(o()),is:"iron-image",properties:{src:{type:String,value:""},alt:{type:String,value:null},crossorigin:{type:String,value:null},preventLoad:{type:Boolean,value:!1},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)","_loadStateObserver(src, preventLoad)"],created:function(){this._resolvedSrc=""},_imgOnLoad:function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))},_imgOnError:function(){this.$.img.src===this._resolveSrc(this.src)&&(this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!0))},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){return null!==this.alt?this.alt:""===this.src?"":this._resolveSrc(this.src).replace(/[?|#].*/g,"").split("/").pop()},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_loadStateObserver:function(e,t){var n=this._resolveSrc(e);n!==this._resolvedSrc&&(this._resolvedSrc="",this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",""===e||t?(this._setLoading(!1),this._setLoaded(!1),this._setError(!1)):(this._resolvedSrc=n,this.$.img.src=this._resolvedSrc,this.$.sizedImgDiv.style.backgroundImage='url("'+this._resolvedSrc+'")',this._setLoading(!0),this._setLoaded(!1),this._setError(!1)))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=Object(a.c)(e,this.$.baseURIAnchor.href);return"/"===t[0]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});n(46);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n']);return s=function(){return e},e}var l=Object(r.a)(s());l.setAttribute("style","display: none;"),document.head.appendChild(l.content);n(11);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'],['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n']);return c=function(){return e},e}Object(i.a)({_template:Object(r.a)(c()),is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),n=this.getAttribute("aria-label");"string"==typeof n&&n!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}})},function(e,t,n){"use strict";var i=n(15);function r(e,t){for(var n=0;n1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:this.startNode;Object(r.b)(this.startNode.parentNode,e.nextSibling,this.endNode)}}]),e}(),x=function(){function e(t,n,i){if(f(this,e),this.value=void 0,this._pendingValue=void 0,2!==i.length||""!==i[0]||""!==i[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=n,this.strings=i}return b(e,[{key:"setValue",value:function(e){this._pendingValue=e}},{key:"commit",value:function(){for(;Object(i.b)(this._pendingValue);){var e=this._pendingValue;this._pendingValue=a.a,e(this)}if(this._pendingValue!==a.a){var t=!!this._pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name)),this.value=t,this._pendingValue=a.a}}}]),e}(),k=function(e){function t(e,n,i){var r;return f(this,t),(r=c(this,d(t).call(this,e,n,i))).single=2===i.length&&""===i[0]&&""===i[1],r}return u(t,y),b(t,[{key:"_createPart",value:function(){return new S(this)}},{key:"_getValue",value:function(){return this.single?this.parts[0].value:p(d(t.prototype),"_getValue",this).call(this)}},{key:"commit",value:function(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}]),t}(),S=function(e){function t(){return f(this,t),c(this,d(t).apply(this,arguments))}return u(t,_),t}(),C=!1;try{var A={get capture(){return C=!0,!1}};window.addEventListener("test",A,A),window.removeEventListener("test",A,A)}catch(e){}var O=function(){function e(t,n,i){var r=this;f(this,e),this.value=void 0,this._pendingValue=void 0,this.element=t,this.eventName=n,this.eventContext=i,this._boundHandleEvent=function(e){return r.handleEvent(e)}}return b(e,[{key:"setValue",value:function(e){this._pendingValue=e}},{key:"commit",value:function(){for(;Object(i.b)(this._pendingValue);){var e=this._pendingValue;this._pendingValue=a.a,e(this)}if(this._pendingValue!==a.a){var t=this._pendingValue,n=this.value,r=null==t||null!=n&&(t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive),o=null!=t&&(null==n||r);r&&this.element.removeEventListener(this.eventName,this._boundHandleEvent,this._options),o&&(this._options=T(t),this.element.addEventListener(this.eventName,this._boundHandleEvent,this._options)),this.value=t,this._pendingValue=a.a}}},{key:"handleEvent",value:function(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}]),e}(),T=function(e){return e&&(C?{capture:e.capture,passive:e.passive,once:e.once}:e.capture)}},function(e,t,n){"use strict";var i=n(20),r=n(57);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['.mdc-button{font-family:Roboto,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:2.25rem;font-weight:500;letter-spacing:.0892857143em;text-decoration:none;text-transform:uppercase;padding:0 8px 0 8px;display:inline-flex;position:relative;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;height:36px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:hidden;vertical-align:middle;border-radius:4px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{background-color:transparent;color:rgba(0,0,0,.37);cursor:default;pointer-events:none}.mdc-button.mdc-button--dense{border-radius:4px}.mdc-button:not(:disabled){background-color:transparent}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;width:18px;height:18px;font-size:18px;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--raised .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon,.mdc-button--outlined .mdc-button__icon{margin-left:-4px;margin-right:8px}[dir=rtl] .mdc-button--raised .mdc-button__icon,.mdc-button--raised .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__icon,.mdc-button--outlined .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--raised .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mdc-button--raised,.mdc-button--unelevated{padding:0 16px 0 16px}.mdc-button--raised:disabled,.mdc-button--unelevated:disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.37)}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:#6200ee}@supports not (-ms-ime-align: auto){.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:var(--mdc-theme-primary, #6200ee)}}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary, #fff)}.mdc-button--raised{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--raised:hover,.mdc-button--raised:focus{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12)}.mdc-button--raised:active{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12)}.mdc-button--raised:disabled{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12)}.mdc-button--outlined{border-style:solid;padding:0 14px 0 14px;border-width:2px}.mdc-button--outlined:disabled{border-color:rgba(0,0,0,.37)}.mdc-button--outlined:not(:disabled){border-color:#6200ee;border-color:var(--mdc-theme-primary, #6200ee)}.mdc-button--dense{height:32px;font-size:.8125rem}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface--test-edge-var-bug{--mdc-ripple-surface-test-edge-var: 1px solid #000;visibility:hidden}.mdc-ripple-surface--test-edge-var-bug::before{border:var(--mdc-ripple-surface-test-edge-var)}.mdc-button{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity}.mdc-button::before,.mdc-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-button::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button::before,.mdc-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-button::before,.mdc-button::after{background-color:#6200ee}@supports not (-ms-ime-align: auto){.mdc-button::before,.mdc-button::after{background-color:var(--mdc-theme-primary, #6200ee)}}.mdc-button:hover::before{opacity:.04}.mdc-button:not(.mdc-ripple-upgraded):focus::before,.mdc-button.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:#fff}@supports not (-ms-ime-align: auto){.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:var(--mdc-theme-on-primary, #fff)}}.mdc-button--raised:hover::before,.mdc-button--unelevated:hover::before{opacity:.08}.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before,.mdc-button--raised.mdc-ripple-upgraded--background-focused::before,.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.mdc-button--raised:not(.mdc-ripple-upgraded)::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.mdc-button--raised.mdc-ripple-upgraded,.mdc-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:host{display:inline-flex;outline:none}:host([disabled]){pointer-events:none}.mdc-button{flex:1}']);return a=function(){return e},e}var o=Object(i.b)(a()),s=n(13);var l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var c=function(){return(c=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&y.some(function(e){return t.adapter_.containsEventTarget(e)})?this.resetActivationState_():(void 0!==e&&(y.push(e.target),this.registerDeactivationHandlers_(e)),n.wasElementMadeActive=this.checkElementMadeActive_(e),n.wasElementMadeActive&&this.animateActivation_(),requestAnimationFrame(function(){y=[],n.wasElementMadeActive||void 0===e||" "!==e.key&&32!==e.keyCode||(n.wasElementMadeActive=t.checkElementMadeActive_(e),n.wasElementMadeActive&&t.animateActivation_()),n.wasElementMadeActive||(t.activationState_=t.defaultActivationState_())}))}}},t.prototype.checkElementMadeActive_=function(e){return void 0===e||"keydown"!==e.type||this.adapter_.isSurfaceActive()},t.prototype.animateActivation_=function(){var e=this,n=t.strings,i=n.VAR_FG_TRANSLATE_START,r=n.VAR_FG_TRANSLATE_END,a=t.cssClasses,o=a.FG_DEACTIVATION,s=a.FG_ACTIVATION,l=t.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal_();var c="",p="";if(!this.adapter_.isUnbounded()){var d=this.getFgTranslationCoordinates_(),u=d.startPoint,h=d.endPoint;c=u.x+"px, "+u.y+"px",p=h.x+"px, "+h.y+"px"}this.adapter_.updateCssVariable(i,c),this.adapter_.updateCssVariable(r,p),clearTimeout(this.activationTimer_),clearTimeout(this.fgDeactivationRemovalTimer_),this.rmBoundedActivationClasses_(),this.adapter_.removeClass(o),this.adapter_.computeBoundingRect(),this.adapter_.addClass(s),this.activationTimer_=setTimeout(function(){return e.activationTimerCallback_()},l)},t.prototype.getFgTranslationCoordinates_=function(){var e,t=this.activationState_,n=t.activationEvent;return{startPoint:e={x:(e=t.wasActivatedByPointer?function(e,t,n){if(!e)return{x:0,y:0};var i,r,a=t.x,o=t.y,s=a+n.left,l=o+n.top;if("touchstart"===e.type){var c=e;i=c.changedTouches[0].pageX-s,r=c.changedTouches[0].pageY-l}else{var p=e;i=p.pageX-s,r=p.pageY-l}return{x:i,y:r}}(n,this.adapter_.getWindowPageOffset(),this.adapter_.computeBoundingRect()):{x:this.frame_.width/2,y:this.frame_.height/2}).x-this.initialSize_/2,y:e.y-this.initialSize_/2},endPoint:{x:this.frame_.width/2-this.initialSize_/2,y:this.frame_.height/2-this.initialSize_/2}}},t.prototype.runDeactivationUXLogicIfReady_=function(){var e=this,n=t.cssClasses.FG_DEACTIVATION,i=this.activationState_,r=i.hasDeactivationUXRun,a=i.isActivated;(r||!a)&&this.activationAnimationHasEnded_&&(this.rmBoundedActivationClasses_(),this.adapter_.addClass(n),this.fgDeactivationRemovalTimer_=setTimeout(function(){e.adapter_.removeClass(n)},m.FG_DEACTIVATION_MS))},t.prototype.rmBoundedActivationClasses_=function(){var e=t.cssClasses.FG_ACTIVATION;this.adapter_.removeClass(e),this.activationAnimationHasEnded_=!1,this.adapter_.computeBoundingRect()},t.prototype.resetActivationState_=function(){var e=this;this.previousActivationEvent_=this.activationState_.activationEvent,this.activationState_=this.defaultActivationState_(),setTimeout(function(){return e.previousActivationEvent_=void 0},t.numbers.TAP_DELAY_MS)},t.prototype.deactivate_=function(){var e=this,t=this.activationState_;if(t.isActivated){var n=c({},t);t.isProgrammatic?(requestAnimationFrame(function(){return e.animateDeactivation_(n)}),this.resetActivationState_()):(this.deregisterDeactivationHandlers_(),requestAnimationFrame(function(){e.activationState_.hasDeactivationUXRun=!0,e.animateDeactivation_(n),e.resetActivationState_()}))}},t.prototype.animateDeactivation_=function(e){var t=e.wasActivatedByPointer,n=e.wasElementMadeActive;(t||n)&&this.runDeactivationUXLogicIfReady_()},t.prototype.layoutInternal_=function(){var e=this;this.frame_=this.adapter_.computeBoundingRect();var n=Math.max(this.frame_.height,this.frame_.width);this.maxRadius_=this.adapter_.isUnbounded()?n:Math.sqrt(Math.pow(e.frame_.width,2)+Math.pow(e.frame_.height,2))+t.numbers.PADDING,this.initialSize_=Math.floor(n*t.numbers.INITIAL_ORIGIN_SCALE),this.fgScale_=""+this.maxRadius_/this.initialSize_,this.updateLayoutCssVars_()},t.prototype.updateLayoutCssVars_=function(){var e=t.strings,n=e.VAR_FG_SIZE,i=e.VAR_LEFT,r=e.VAR_TOP,a=e.VAR_FG_SCALE;this.adapter_.updateCssVariable(n,this.initialSize_+"px"),this.adapter_.updateCssVariable(a,this.fgScale_),this.adapter_.isUnbounded()&&(this.unboundedCoords_={left:Math.round(this.frame_.width/2-this.initialSize_/2),top:Math.round(this.frame_.height/2-this.initialSize_/2)},this.adapter_.updateCssVariable(i,this.unboundedCoords_.left+"px"),this.adapter_.updateCssVariable(r,this.unboundedCoords_.top+"px"))},t}(u);function w(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}"]);return w=function(){return e},e}var x=Object(i.b)(w());function k(e,t){return(e.matches||e.webkitMatchesSelector||e.msMatchesSelector).call(e,t)}var S=function(e,t){void 0===t&&(t=!1);var n=e.CSS,i=p;if("boolean"==typeof p&&!t)return p;if(!n||"function"!=typeof n.supports)return!1;var r=n.supports("--css-vars","yes"),a=n.supports("(--css-vars: yes)")&&n.supports("color","#00000000");return i=!(!r&&!a||function(e){var t=e.document,n=t.createElement("div");n.className="mdc-ripple-surface--test-edge-var-bug",t.body.appendChild(n);var i=e.getComputedStyle(n),r=null!==i&&"solid"===i.borderTopStyle;return n.remove(),r}(e)),t||(p=i),i}(window),C=navigator.userAgent.match(/Safari/),A=!1,O=function(e){C&&!A&&function(){A=!0;var e=new s.b({templateFactory:s.h});e.appendInto(document.head),e.setValue(x),e.commit()}();var t=e.surfaceNode,n=e.interactionNode||t;n.getRootNode()!==t.getRootNode()&&""===n.style.position&&(n.style.position="relative");var i=new _({browserSupportsCssVars:function(){return S},isUnbounded:function(){return void 0===e.unbounded||e.unbounded},isSurfaceActive:function(){return k(n,":active")},isSurfaceDisabled:function(){return Boolean(e.disabled)},addClass:function(e){return t.classList.add(e)},removeClass:function(e){return t.classList.remove(e)},containsEventTarget:function(e){return n.contains(e)},registerInteractionHandler:function(e,t){return n.addEventListener(e,t,b())},deregisterInteractionHandler:function(e,t){return n.removeEventListener(e,t,b())},registerDocumentInteractionHandler:function(e,t){return document.documentElement.addEventListener(e,t,b())},deregisterDocumentInteractionHandler:function(e,t){return document.documentElement.removeEventListener(e,t,b())},registerResizeHandler:function(e){return window.addEventListener("resize",e)},deregisterResizeHandler:function(e){return window.removeEventListener("resize",e)},updateCssVariable:function(e,n){return t.style.setProperty(e,n)},computeBoundingRect:function(){return n.getBoundingClientRect()},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}}});return i.init(),i},T=new WeakMap,E=Object(s.e)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.committer.element,i=e.interactionNode||n,r=t.value,a=T.get(r);void 0!==a&&a!==i&&(r.destroy(),r=s.g),r===s.g?(r=O(Object.assign({},e,{surfaceNode:n})),T.set(r,i),t.setValue(r)):(void 0!==e.unbounded&&r.setUnbounded(e.unbounded),void 0!==e.disabled&&r.setUnbounded(e.disabled)),!0===e.active?r.activate():!1===e.active&&r.deactivate()}});n(97);function z(){var e=R(['\n \n ','\n ',"\n ","\n \n "]);return z=function(){return e},e}function I(){var e=R(['',""]);return I=function(){return e},e}function R(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function j(e,t){for(var n=0;n=0;s--)(r=e[s])&&(o=(a<3?r(o):a>3?r(t,n,o):r(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},F=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=P(this,N(t).apply(this,arguments))).raised=!1,e.unelevated=!1,e.outlined=!1,e.dense=!1,e.disabled=!1,e.trailingIcon=!1,e.icon="",e.label="",e}var n,a,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&B(e,t)}(t,i["a"]),n=t,(a=[{key:"createRenderRoot",value:function(){return this.attachShadow({mode:"open",delegatesFocus:!0})}},{key:"render",value:function(){var e={"mdc-button--raised":this.raised,"mdc-button--unelevated":this.unelevated,"mdc-button--outlined":this.outlined,"mdc-button--dense":this.dense},t=Object(i.d)(I(),this.icon);return Object(i.d)(z(),E({unbounded:!1}),Object(r.a)(e),this.disabled,this.label||this.icon,this.icon&&!this.trailingIcon?t:"",this.label,this.icon&&this.trailingIcon?t:"")}}])&&j(n.prototype,a),o&&j(n,o),t}();F.styles=o,D([Object(i.e)({type:Boolean})],F.prototype,"raised",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"unelevated",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"outlined",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"dense",void 0),D([Object(i.e)({type:Boolean,reflect:!0})],F.prototype,"disabled",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"trailingIcon",void 0),D([Object(i.e)()],F.prototype,"icon",void 0),D([Object(i.e)()],F.prototype,"label",void 0),F=D([Object(i.c)("mwc-button")],F)},,,function(e,t,n){"use strict";n.d(t,"f",function(){return i}),n.d(t,"g",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s}),n.d(t,"d",function(){return l}),n.d(t,"c",function(){return c}),n.d(t,"e",function(){return p});var i="{{lit-".concat(String(Math.random()).slice(2),"}}"),r="\x3c!--".concat(i,"--\x3e"),a=new RegExp("".concat(i,"|").concat(r)),o="$lit$",s=function e(t,n){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.parts=[],this.element=n;var s=-1,l=0,d=[];!function e(n){for(var u=n.content,h=document.createTreeWalker(u,133,null,!1),f=0;h.nextNode();){s++;var m=h.currentNode;if(1===m.nodeType){if(m.hasAttributes()){for(var b=m.attributes,g=0,v=0;v=0&&g++;for(;g-- >0;){var y=t.strings[l],_=p.exec(y)[2],w=_.toLowerCase()+o,x=m.getAttribute(w).split(a);r.parts.push({type:"attribute",index:s,name:_,strings:x}),m.removeAttribute(w),l+=x.length-1}}"TEMPLATE"===m.tagName&&e(m)}else if(3===m.nodeType){var k=m.data;if(k.indexOf(i)>=0){for(var S=m.parentNode,C=k.split(a),A=C.length-1,O=0;O=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/},function(e,t,n){"use strict";var i=n(13),r=n(24),a=n(19),o=133;function s(e,t){for(var n=e.element.content,i=e.parts,r=document.createTreeWalker(n,o,null,!1),a=c(i),s=i[a],l=-1,p=0,d=[],u=null;r.nextNode();){l++;var h=r.currentNode;for(h.previousSibling===u&&(u=null),t.has(h)&&(d.push(h),null===u&&(u=h)),null!==u&&p++;void 0!==s&&s.index===l;)s.index=null!==u?-1:s.index-p,s=i[a=c(i,a)]}d.forEach(function(e){return e.parentNode.removeChild(e)})}var l=function(e){for(var t=11===e.nodeType?0:1,n=document.createTreeWalker(e,o,null,!1);n.nextNode();)t++;return t},c=function(e){for(var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1)+1;t2&&void 0!==arguments[2]?arguments[2]:null,i=e.element.content,r=e.parts;if(null!=n)for(var a=document.createTreeWalker(i,o,null,!1),s=c(r),p=0,d=-1;a.nextNode();)for(d++,a.currentNode===n&&(p=l(t),n.parentNode.insertBefore(t,n));-1!==s&&r[s].index===d;){if(p>0){for(;-1!==s;)r[s].index+=p,s=c(r,s);return}s=c(r,s)}else i.appendChild(t)}(t,r,t.element.content.firstChild),window.ShadyCSS.prepareTemplateStyles(t.element,n),window.ShadyCSS.nativeShadow){var u=t.element.content.querySelector("style");e.insertBefore(u.cloneNode(!0),e.firstChild)}else{t.element.content.insertBefore(r,t.element.content.firstChild);var h=new Set;h.add(r),s(t,h)}}else window.ShadyCSS.prepareTemplateStyles(t.element,n)};function _(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:I,i=this.constructor,r=i._attributeNameForProperty(e,n);if(void 0!==r){var a=i._propertyValueToAttribute(t,n);if(void 0===a)return;this._updateState=8|this._updateState,null==a?this.removeAttribute(r):this.setAttribute(r,a),this._updateState=-9&this._updateState}}},{key:"_attributeToProperty",value:function(e,t){if(!(8&this._updateState)){var n=this.constructor,i=n._attributeToPropertyMap.get(e);if(void 0!==i){var r=n._classProperties.get(i)||I;this._updateState=16|this._updateState,this[i]=n._propertyValueFromAttribute(t,r),this._updateState=-17&this._updateState}}}},{key:"_requestUpdate",value:function(e,t){var n=!0;if(void 0!==e){var i=this.constructor,r=i._classProperties.get(e)||I;i._valueHasChanged(this[e],t,r.hasChanged)?(this._changedProperties.has(e)||this._changedProperties.set(e,t),!0!==r.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(e,r))):n=!1}!this._hasRequestedUpdate&&n&&this._enqueueUpdate()}},{key:"requestUpdate",value:function(e,t){return this._requestUpdate(e,t),this.updateComplete}},{key:"_enqueueUpdate",value:function(){var e,t=(e=regeneratorRuntime.mark(function e(){var t,n,i,r,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this._updateState=4|this._updateState,i=this._updatePromise,this._updatePromise=new Promise(function(e,i){t=e,n=i}),e.prev=3,e.next=6,i;case 6:e.next=10;break;case 8:e.prev=8,e.t0=e.catch(3);case 10:if(this._hasConnected){e.next=13;break}return e.next=13,new Promise(function(e){return a._hasConnectedResolver=e});case 13:if(e.prev=13,null==(r=this.performUpdate())){e.next=18;break}return e.next=18,r;case 18:e.next=23;break;case 20:e.prev=20,e.t1=e.catch(13),n(e.t1);case 23:t(!this._hasRequestedUpdate);case 24:case"end":return e.stop()}},e,this,[[3,8],[13,20]])}),function(){var t=this,n=arguments;return new Promise(function(i,r){var a=e.apply(t,n);function o(e){x(a,i,r,o,s,"next",e)}function s(e){x(a,i,r,o,s,"throw",e)}o(void 0)})});return function(){return t.apply(this,arguments)}}()},{key:"performUpdate",value:function(){this._instanceProperties&&this._applyInstanceProperties();var e=!1,t=this._changedProperties;try{(e=this.shouldUpdate(t))&&this.update(t)}catch(t){throw e=!1,t}finally{this._markUpdated()}e&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(t)),this.updated(t))}},{key:"_markUpdated",value:function(){this._changedProperties=new Map,this._updateState=-5&this._updateState}},{key:"shouldUpdate",value:function(e){return!0}},{key:"update",value:function(e){var t=this;void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(function(e,n){return t._propertyToAttribute(n,t[n],e)}),this._reflectingProperties=void 0)}},{key:"updated",value:function(e){}},{key:"firstUpdated",value:function(e){}},{key:"_hasConnected",get:function(){return 32&this._updateState}},{key:"_hasRequestedUpdate",get:function(){return 4&this._updateState}},{key:"hasUpdated",get:function(){return 1&this._updateState}},{key:"updateComplete",get:function(){return this._updatePromise}}],r=[{key:"_ensureClassProperties",value:function(){var e=this;if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;var t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach(function(t,n){return e._classProperties.set(n,t)})}}},{key:"createProperty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I;if(this._ensureClassProperties(),this._classProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){var n="symbol"===w(e)?Symbol():"__".concat(e);Object.defineProperty(this.prototype,e,{get:function(){return this[n]},set:function(t){var i=this[e];this[n]=t,this._requestUpdate(e,i)},configurable:!0,enumerable:!0})}}},{key:"finalize",value:function(){if(!this.hasOwnProperty(JSCompiler_renameProperty("finalized",this))||!this.finalized){var e=Object.getPrototypeOf(this);if("function"==typeof e.finalize&&e.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){var t=this.properties,n=[].concat(_(Object.getOwnPropertyNames(t)),_("function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[])),i=!0,r=!1,a=void 0;try{for(var o,s=n[Symbol.iterator]();!(i=(o=s.next()).done);i=!0){var l=o.value;this.createProperty(l,t[l])}}catch(e){r=!0,a=e}finally{try{i||null==s.return||s.return()}finally{if(r)throw a}}}}}},{key:"_attributeNameForProperty",value:function(e,t){var n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}},{key:"_valueHasChanged",value:function(e,t){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:z)(e,t)}},{key:"_propertyValueFromAttribute",value:function(e,t){var n=t.type,i=t.converter||E,r="function"==typeof i?i:i.fromAttribute;return r?r(e,n):e}},{key:"_propertyValueToAttribute",value:function(e,t){if(void 0!==t.reflect){var n=t.type,i=t.converter;return(i&&i.toAttribute||E.toAttribute)(e,n)}}},{key:"observedAttributes",get:function(){var e=this;this.finalize();var t=[];return this._classProperties.forEach(function(n,i){var r=e._attributeNameForProperty(i,n);void 0!==r&&(e._attributeToPropertyMap.set(r,i),t.push(r))}),t}}],i&&k(n.prototype,i),r&&k(n,r),t}();j.finalized=!0;var P=function(e){return function(t){return"function"==typeof t?function(e,t){return window.customElements.define(e,t),t}(e,t):function(e,t){return{kind:t.kind,elements:t.elements,finisher:function(t){window.customElements.define(e,t)}}}(e,t)}},N=function(e,t){return"method"!==t.kind||!t.descriptor||"value"in t.descriptor?{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer:function(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher:function(n){n.createProperty(t.key,e)}}:Object.assign({},t,{finisher:function(n){n.createProperty(t.key,e)}})},B=function(e,t,n){t.constructor.createProperty(n,e)};function L(e){return function(t,n){return void 0!==n?B(e,t,n):N(e,t)}}function D(e,t){for(var n=0;n1?t-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:[],i=0,r=t.length;i=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):r[e]),t}(e.keyCode)||"");var n,a}function h(e,t){return u(t,e.hasModifiers)===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey)}function f(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0],r=n[1];return i in a?(e[a[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=r||"keydown"),e},{combo:e.split(":").shift()})}(e)})}var m={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=f(t),i=0;i2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=t;r!==n;){var a=r.nextSibling;e.insertBefore(r,i),r=a}},a=function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=t;i!==n;){var r=i.nextSibling;e.removeChild(i),i=r}}},function(e,t,n){"use strict";n(3);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n\n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},function(e,t,n){"use strict";n(3),n(27),n(11);var i=n(55),r=n(5),a=n(4);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n '],['\n \n\n \n ']);return o=function(){return e},e}Object(r.a)({is:"paper-icon-button",_template:Object(a.a)(o()),hostAttributes:{role:"button",tabindex:"0"},behaviors:[i.a],registered:function(){this._template.setAttribute("strip-whitespace","")},properties:{src:{type:String},icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(e,t){var n=this.getAttribute("aria-label");n&&t!=n||this.setAttribute("aria-label",e)}})},function(e,t,n){"use strict";n(9),n(54);var i=n(5),r=n(6),a=n(4),o=n(3);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return s=function(){return e},e}Object(i.a)({_template:Object(a.a)(s()),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:o.a.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Object(r.a)(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Object(r.a)(this.root).appendChild(this._img))}})},,function(e,t,n){"use strict";n.d(t,"b",function(){return h}),n.d(t,"a",function(){return f});var i=n(24),r=n(19);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e,t,n){return(s="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(n):r.value}})(e,t,n||e)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n".concat(s(l(t.prototype),"getHTML",this).call(this),"")}},{key:"getTemplateElement",value:function(){var e=s(l(t.prototype),"getTemplateElement",this).call(this),n=e.content,r=n.firstChild;return n.removeChild(r),Object(i.c)(n,r.firstChild),e}}]),t}()},function(e,t,n){"use strict";n(3);if(!window.polymerSkipLoadingFontRoboto){var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.crossOrigin="anonymous",i.href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700|Roboto:400,300,300italic,400italic,500,500italic,700,700italic",document.head.appendChild(i)}var r=n(4);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return a=function(){return e},e}var o=Object(r.a)(a());o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},,,function(e,t,n){"use strict";n(3),n(9);var i=n(5),r=n(4);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return a=function(){return e},e}Object(i.a)({_template:Object(r.a)(a()),is:"app-toolbar"})},function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return a});var i=n(19);function r(e){var t=a.get(e.type);void 0===t&&(t={stringsArray:new WeakMap,keyString:new Map},a.set(e.type,t));var n=t.stringsArray.get(e.strings);if(void 0!==n)return n;var r=e.strings.join(i.f);return void 0===(n=t.keyString.get(r))&&(n=new i.a(e,e.getTemplateElement()),t.keyString.set(r,n)),t.stringsArray.set(e.strings,n),n}var a=new Map},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return o});n(3),n(21);var i=n(22),r=n(6),a={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_focusChanged(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_focusChanged:function(e){this._detectKeyboardFocus(e),e||this._setPressed(!1)},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!1),this._setPressed(!1)},_spaceKeyDownHandler:function(e){var t=e.detail.keyboardEvent,n=Object(r.a)(t).localTarget;this.isLightDescendant(n)||(t.preventDefault(),t.stopImmediatePropagation(),this._setPressed(!0))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,n=Object(r.a)(t).localTarget;this.isLightDescendant(n)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},o=[i.a,a]},,function(e,t,n){"use strict";n(3);var i=n(5),r=n(4);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n
    [[_text]]
    \n']);return a=function(){return e},e}var o=Object(i.a)({_template:Object(r.a)(a()),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){o.instance||(o.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});o.instance=null,o.requestAvailability=function(){o.instance||(o.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(o.instance)};var s=n(47),l=n(6);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return c=function(){return e},e}Object(i.a)({_template:Object(r.a)(c()),is:"iron-input",behaviors:[s.a],properties:{bindValue:{type:String,value:""},value:{type:String,computed:"_computeValue(bindValue)"},allowedPattern:{type:String},autoValidate:{type:Boolean,value:!1},_inputElement:Object},observers:["_bindValueChanged(bindValue, _inputElement)"],listeners:{input:"_onInput",keypress:"_onKeypress"},created:function(){o.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Object(l.a)(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Object(l.a)(this).unobserveNodes(this._observer),this._observer=null)},get inputElement(){return this._inputElement},_initSlottedInput:function(){this._inputElement=this.getEffectiveChildren()[0],this.inputElement&&this.inputElement.value&&(this.bindValue=this.inputElement.value),this.fire("iron-input-ready")},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.inputElement.type){case"number":e=/[0-9.,e-]/}return e},_bindValueChanged:function(e,t){t&&(void 0===e?t.value=null:e!==t.value&&(this.inputElement.value=e),this.autoValidate&&this.validate(),this.fire("bind-value-changed",{value:e}))},_onInput:function(){this.allowedPattern&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.inputElement.value=this._previousValidInput));this.bindValue=this._previousValidInput=this.inputElement.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,n=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==e.charCode&&n)},_onKeypress:function(e){if(this.allowedPattern||"number"===this.inputElement.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){this._patternAlreadyChecked=!0;var n=String.fromCharCode(e.charCode);this._isPrintable(e)&&!t.test(n)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid character "+n+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t\n :host {\n display: inline-block;\n float: right;\n\n @apply --paper-font-caption;\n @apply --paper-input-char-counter;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n :host(:dir(rtl)) {\n float: left;\n }\n \n\n [[_charCounterStr]]\n"]);return d=function(){return e},e}Object(i.a)({_template:Object(r.a)(d()),is:"paper-input-char-counter",behaviors:[p],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}});n(9),n(11);var u=n(39);function h(){var e=m(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'],['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n']);return h=function(){return e},e}function f(){var e=m(['\n\n \n\n']);return f=function(){return e},e}function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var b=Object(r.a)(f());function g(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return g=function(){return e},e}b.setAttribute("style","display: none;"),document.head.appendChild(b.content),Object(i.a)({_template:Object(r.a)(h()),is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return Object(u.b)(this.attrForValue)},get _inputElement(){return Object(l.a)(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){var t=e.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===t.value||""===t.value)||this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&e&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t);this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,n=0;t=this._addons[n];n++)t.update(e)},_computeInputContentClass:function(e,t,n,i,r){var a="input-content";if(e)r&&(a+=" label-is-hidden"),i&&(a+=" is-invalid");else{var o=this.querySelector("label");t||r?(a+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",i?a+=" is-invalid":n&&(a+=" label-is-highlighted")):(o&&(this.$.labelAndInputContainer.style.position="relative"),i&&(a+=" is-invalid"))}return n&&(a+=" focused"),a},_computeUnderlineClass:function(e,t){var n="underline";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(e,t){var n="add-on-content";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n}}),Object(i.a)({_template:Object(r.a)(g()),is:"paper-input-error",behaviors:[p],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var v=n(58),y=(n(53),n(22)),_=n(21),w=n(7),x={NextLabelID:1,NextAddonID:1,NextInputID:1},k={properties:{label:{type:String},value:{notify:!0,type:String},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},allowedPattern:{type:String},type:{type:String},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:{type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,value:""},_ariaLabelledBy:{type:String,value:""},_inputId:{type:String,value:""}},listeners:{"addon-attached":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttributes:{tabindex:0},get inputElement(){return this.$||(this.$={}),this.$.input||(this._generateInputId(),this.$.input=this.$$("#"+this._inputId)),this.$.input},get _focusableElement(){return this.inputElement},created:function(){this._typesThatHaveText=["date","datetime","datetime-local","month","time","week","file"]},attached:function(){this._updateAriaLabelledBy(),!w.a&&this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.inputElement.type)&&(this.alwaysFloatLabel=!0)},_appendStringWithSpace:function(e,t){return e=e?e+" "+t:t},_onAddonAttached:function(e){var t=Object(l.a)(e).rootTarget;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,t.id);else{var n="paper-input-add-on-"+x.NextAddonID++;t.id=n,this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,n)}},validate:function(){return this.inputElement.validate()},_focusBlurHandler:function(e){_.a._focusBlurHandler.call(this,e),this.focused&&!this._shiftTabPressed&&this._focusableElement&&this._focusableElement.focus()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=!0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),this._shiftTabPressed=!1},1)},_handleAutoValidate:function(){this.autoValidate&&this.validate()},updateValueAndPreserveCaret:function(e){try{var t=this.inputElement.selectionStart;this.value=e,this.inputElement.selectionStart=t,this.inputElement.selectionEnd=t}catch(t){this.value=e}},_computeAlwaysFloatLabel:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e,t=Object(l.a)(this.root).querySelector("label");t?(t.id?e=t.id:(e="paper-input-label-"+x.NextLabelID++,t.id=e),this._ariaLabelledBy=e):this._ariaLabelledBy=""},_generateInputId:function(){this._inputId&&""!==this._inputId||(this._inputId="input-"+x.NextInputID++)},_onChange:function(e){this.shadowRoot&&this.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&e!==document.documentElement||this._focusableElement.focus()}}},S=[_.a,y.a,k];function C(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n\n \n\n \n\n \x3c!-- Need to bind maxlength so that the paper-input-char-counter works correctly --\x3e\n \n \n \n\n \n\n \n\n \n\n \n '],['\n \n\n \n\n \n\n \n\n \x3c!-- Need to bind maxlength so that the paper-input-char-counter works correctly --\x3e\n \n \n \n\n \n\n \n\n \n\n \n ']);return C=function(){return e},e}Object(i.a)({is:"paper-input",_template:Object(r.a)(C()),behaviors:[S,v.a],properties:{value:{type:String}},get _focusableElement(){return this.inputElement._inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}})},,,,function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return a});var i=new WeakMap,r=function(e){return function(){var t=e.apply(void 0,arguments);return i.set(t,!0),t}},a=function(e){return"function"==typeof e&&i.has(e)}},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return r});var i={},r={}},function(e,t,n){"use strict";n.d(t,"a",function(){return s});var i=n(24),r=n(19);function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t\n \n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},function(e,t,n){"use strict";n.d(t,"a",function(){return a});n(3);var i=n(54),r=null,a={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){r=new i.a({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return r&&r.byKey(this.validator)},hasValidator:function(){return null!=this._validator},validate:function(e){return void 0===e&&void 0!==this.value?this.invalid=!this._getValidity(this.value):this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)}}},,,,,,,,function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s});n(3);var i=n(35),r=n(21),a=n(45),o={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=a.a._createRipple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}},s=[i.a,r.a,a.a,o]},function(e,t,n){"use strict";n.d(t,"a",function(){return o});n(3);var i=n(6),r=n(17),a=new Set,o={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this),this._boundOnDescendantIronResize=this._onDescendantIronResize.bind(this)},attached:function(){this._requestResizeNotifications()},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):(a.delete(this),window.removeEventListener("resize",this._boundNotifyResize)),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable&&this._parentResizable.stopResizeNotificationsFor(this),this._parentResizable=e,e&&-1===e._interestedResizables.indexOf(this)&&(e._interestedResizables.push(this),e._subscribeIronResize(this))},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this._unsubscribeIronResize(e))},_subscribeIronResize:function(e){e.addEventListener("iron-resize",this._boundOnDescendantIronResize)},_unsubscribeIronResize:function(e){e.removeEventListener("iron-resize",this._boundOnDescendantIronResize)},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():r.h||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Object(i.a)(e).rootTarget;t!==this&&(t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",function t(){document.removeEventListener("readystatechange",t),e()})}else this._findParent(),this._parentResizable?this._parentResizable._interestedResizables.forEach(function(e){e!==this&&e._findParent()},this):(a.forEach(function(e){e!==this&&e._findParent()},this),window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},_findParent:function(){this.assignParentResizable(null),this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable?a.delete(this):a.add(this)}}},function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n(13);window.navigator.userAgent.match("Trident")&&(DOMTokenList.prototype.toggle=function(e,t){return void 0===t||t?this.add(e):this.remove(e),void 0===t||t});var r=new WeakMap,a=new WeakMap,o=Object(i.e)(function(e){return function(t){if(!(t instanceof i.a)||t instanceof i.c||"class"!==t.committer.name||t.committer.parts.length>1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");a.has(t)||(t.committer.element.className=t.committer.strings.join(" "),a.set(t,!0));var n=r.get(t);for(var o in n)o in e||t.committer.element.classList.remove(o);for(var s in e)n&&n[s]===e[s]||t.committer.element.classList.toggle(s,Boolean(e[s]));r.set(t,e)}})},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3);var i={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1}},attached:function(){},detached:function(){}}},,,function(e,t,n){"use strict";n(3);var i=n(22),r=n(63),a={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0,value:function(){return[]}},selectedItems:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this._toggleSelected(e):this.selected=e},multiChanged:function(e){this._selection.multi=e,this._updateSelected()},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this.selectedItems&&this.selectedItems.length>0&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):r.a._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){e=e||[];var t=(this._valuesToItems(e)||[]).filter(function(e){return null!=e});this._selection.clear(t);for(var n=0;n=0}},{key:"setItemSelected",value:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var n=this.selection.indexOf(e);n>=0&&this.selection.splice(n,1)}this.selectCallback&&this.selectCallback(e,t)}}},{key:"select",value:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))}},{key:"toggle",value:function(e){this.setItemSelected(e,!this.isSelected(e))}}])&&a(t.prototype,n),i&&a(t,i),e}();n.d(t,"a",function(){return s});var s={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1,"dom-bind":1,"dom-if":1,"dom-repeat":1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new o(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Object(i.a)(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items?this.items.indexOf(e):-1},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=e-1;void 0!==this.selected&&(t=(Number(this._valueToIndex(this.selected))-1+e)%e),this.selected=this._indexToValue(t)},selectNext:function(){var e=0;void 0!==this.selected&&(e=(Number(this._valueToIndex(this.selected))+1)%this.items.length),this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._observer&&"function"==typeof this._observer.flush?this._observer.flush():this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Object(i.a)(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this.selectedItem&&(this.selected=this._valueForItem(this.selectedItem))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){if(this.items){var t=this._valueToItem(this.selected);t?this._selection.select(t):this._selection.clear(),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)}},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,n=0;t=this.items[n];n++)if(this._valueForItem(t)==e)return n},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){if(!e)return null;if(!this.attrForSelected){var t=this.indexOf(e);return-1===t?null:t}var n=e[Object(r.b)(this.attrForSelected)];return null!=n?n:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Object(i.a)(e).observeNodes(function(e){this._updateItems(),this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,n=this.items;t&&t!=this;){var i=n.indexOf(t);if(i>=0){var r=this._indexToValue(i);return void this._itemActivate(r,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}}},function(e,t,n){"use strict";n(3);var i=n(58),r=n(47),a={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},o=[i.a,r.a,a],s=n(55),l=n(45);n.d(t,"a",function(){return p});var c={_checkedChanged:function(){a._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){l.a._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}},p=[s.a,o,c]},,,,,,,function(e,t,n){"use strict";n(3);var i=n(5);Object(i.a)({is:"app-route",properties:{route:{type:Object,notify:!0},pattern:{type:String},data:{type:Object,value:function(){return{}},notify:!0},autoActivate:{type:Boolean,value:!1},_queryParamsUpdating:{type:Boolean,value:!1},queryParams:{type:Object,value:function(){return{}},notify:!0},tail:{type:Object,value:function(){return{path:null,prefix:null,__queryParams:null}},notify:!0},active:{type:Boolean,notify:!0,readOnly:!0},_matched:{type:String,value:""}},observers:["__tryToMatch(route.path, pattern)","__updatePathOnDataChange(data.*)","__tailPathChanged(tail.path)","__routeQueryParamsChanged(route.__queryParams)","__tailQueryParamsChanged(tail.__queryParams)","__queryParamsChanged(queryParams.*)"],created:function(){this.linkPaths("route.__queryParams","tail.__queryParams"),this.linkPaths("tail.__queryParams","route.__queryParams")},__routeQueryParamsChanged:function(e){if(e&&this.tail){if(this.tail.__queryParams!==e&&this.set("tail.__queryParams",e),!this.active||this._queryParamsUpdating)return;var t={},n=!1;for(var i in e)t[i]=e[i],!n&&this.queryParams&&e[i]===this.queryParams[i]||(n=!0);for(var i in this.queryParams)if(n||!(i in e)){n=!0;break}if(!n)return;this._queryParamsUpdating=!0,this.set("queryParams",t),this._queryParamsUpdating=!1}},__tailQueryParamsChanged:function(e){e&&this.route&&this.route.__queryParams!=e&&this.set("route.__queryParams",e)},__queryParamsChanged:function(e){this.active&&!this._queryParamsUpdating&&this.set("route.__"+e.path,e.value)},__resetProperties:function(){this._setActive(!1),this._matched=null},__tryToMatch:function(){if(this.route){var e=this.route.path,t=this.pattern;if(this.autoActivate&&""===e&&(e="/"),t)if(e){for(var n=e.split("/"),i=t.split("/"),r=[],a={},o=0;o0&&(d="/"+d),this.tail&&this.tail.prefix===p&&this.tail.path===d||(c.tail={prefix:p,path:d,__queryParams:this.route.__queryParams}),c.data=a,this._dataInUrl={},a)this._dataInUrl[u]=a[u];this.setProperties?this.setProperties(c,!0):this.__setMulti(c)}else this.__resetProperties()}},__tailPathChanged:function(e){if(this.active){var t=e,n=this._matched;t&&("/"!==t.charAt(0)&&(t="/"+t),n+=t),this.set("route.path",n)}},__updatePathOnDataChange:function(){if(this.route&&this.active){var e=this.__getLink({});e!==this.__getLink(this._dataInUrl)&&this.set("route.path",e)}},__getLink:function(e){var t={tail:null};for(var n in this.data)t[n]=this.data[n];for(var n in e)t[n]=e[n];var i=this.pattern.split("/").map(function(e){return":"==e[0]&&(e=t[e.slice(1)]),e},this);return t.tail&&t.tail.path&&(i.length>0&&"/"===t.tail.path.charAt(0)?i.push(t.tail.path.slice(1)):i.push(t.tail.path)),i.join("/")},__setMulti:function(e){for(var t in e)this._propertySetter(t,e[t]);void 0!==e.data&&(this._pathEffector("data",this.data),this._notifyChange("data")),void 0!==e.active&&(this._pathEffector("active",this.active),this._notifyChange("active")),void 0!==e.tail&&(this._pathEffector("tail",this.tail),this._notifyChange("tail"))}})},function(e,t,n){"use strict";var i=document.createElement("template");i.setAttribute("style","display: none;"),i.innerHTML="\n \n",document.head.appendChild(i.content)},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3);var i={properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__activeChanged"},alt:{type:String,value:"loading",observer:"__altChanged"},__coolingDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){"loading"===e?this.alt=this.getAttribute("aria-label")||e:(this.__setAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidden:function(e){e?this.setAttribute("aria-hidden","true"):this.removeAttribute("aria-hidden")},__reset:function(){this.active=!1,this.__coolingDown=!1}}},function(e,t,n){"use strict";n(3);var i=n(22),r=n(5),a=n(6),o=n(4);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n
    \n']);return s=function(){return e},e}var l={distance:function(e,t,n,i){var r=e-n,a=t-i;return Math.sqrt(r*r+a*a)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function c(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function p(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Object(a.a)(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}c.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=l.distance(e,t,0,0),i=l.distance(e,t,this.width,0),r=l.distance(e,t,0,this.height),a=l.distance(e,t,this.width,this.height);return Math.max(n,i,r,a)}},p.MAX_RADIUS=300,p.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=l.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?l.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),p.MAX_RADIUS)+5,i=1.1-n/p.MAX_RADIUS*.2,r=this.mouseInteractionSeconds/i,a=n*(1-Math.pow(80,-r));return Math.abs(a)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,p.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,p.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new c(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=l.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=l.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=l.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=l.now())},remove:function(){Object(a.a)(this.waveContainer.parentNode).removeChild(this.waveContainer)}},Object(r.a)({_template:Object(o.a)(s()),is:"paper-ripple",behaviors:[i.a],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Object(a.a)(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new p(this);return Object(a.a)(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e\n :host {\n display: block;\n /**\n * Force app-header-layout to have its own stacking context so that its parent can\n * control the stacking of it relative to other elements (e.g. app-drawer-layout).\n * This could be done using `isolation: isolate`, but that\'s not well supported\n * across browsers.\n */\n position: relative;\n z-index: 0;\n }\n\n #wrapper ::slotted([slot=header]) {\n @apply --layout-fixed-top;\n z-index: 1;\n }\n\n #wrapper.initializing ::slotted([slot=header]) {\n position: relative;\n }\n\n :host([has-scrolling-region]) {\n height: 100%;\n }\n\n :host([has-scrolling-region]) #wrapper ::slotted([slot=header]) {\n position: absolute;\n }\n\n :host([has-scrolling-region]) #wrapper.initializing ::slotted([slot=header]) {\n position: relative;\n }\n\n :host([has-scrolling-region]) #wrapper #contentContainer {\n @apply --layout-fit;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n :host([has-scrolling-region]) #wrapper.initializing #contentContainer {\n position: relative;\n }\n\n :host([fullbleed]) {\n @apply --layout-vertical;\n @apply --layout-fit;\n }\n\n :host([fullbleed]) #wrapper,\n :host([fullbleed]) #wrapper #contentContainer {\n @apply --layout-vertical;\n @apply --layout-flex;\n }\n\n #contentContainer {\n /* Create a stacking context here so that all children appear below the header. */\n position: relative;\n z-index: 0;\n }\n\n @media print {\n :host([has-scrolling-region]) #wrapper #contentContainer {\n overflow-y: visible;\n }\n }\n\n \n\n
    \n \n\n
    \n \n
    \n
    \n'],['\n \n\n
    \n \n\n
    \n \n
    \n
    \n']);return s=function(){return e},e}Object(i.a)({_template:Object(a.a)(s()),is:"app-header-layout",behaviors:[o.a],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Object(r.a)(this.$.headerSlot).getDistributedNodes()[0]},_updateLayoutStates:function(){var e=this.header;if(this.isAttached&&e){this.$.wrapper.classList.remove("initializing"),e.scrollTarget=this.hasScrollingRegion?this.$.contentContainer:this.ownerDocument.documentElement;var t=e.offsetHeight;this.hasScrollingRegion?(e.style.left="",e.style.right=""):requestAnimationFrame(function(){var t=this.getBoundingClientRect(),n=document.documentElement.clientWidth-t.right;e.style.left=t.left+"px",e.style.right=n+"px"}.bind(this));var n=this.$.contentContainer.style;e.fixed&&!e.condenses&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddingTop=""):(n.paddingTop=t+"px",n.marginTop="")}}})},function(e,t,n){"use strict";n.d(t,"a",function(){return l});n(3);var i=n(56),r=n(6),a=n(23),o=n(18),s=n(28),l=[i.a,{listeners:{"app-reset-layout":"_appResetLayoutHandler","iron-resize":"resetLayout"},attached:function(){this.fire("app-reset-layout")},_appResetLayoutHandler:function(e){Object(r.a)(e).path[0]!==this&&(this.resetLayout(),e.stopPropagation())},_updateLayoutStates:function(){console.error("unimplemented")},resetLayout:function(){var e=this._updateLayoutStates.bind(this);this._layoutDebouncer=o.a.debounce(this._layoutDebouncer,a.a,e),Object(s.a)(this._layoutDebouncer),this._notifyDescendantResize()},_notifyLayoutChanged:function(){var e=this;requestAnimationFrame(function(){e.fire("app-reset-layout")})},_notifyDescendantResize:function(){this.isAttached&&this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this)}}]},function(e,t,n){"use strict";n(3),n(9),n(11);var i=n(78),r=n(5),a=n(4);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return o=function(){return e},e}Object(r.a)({_template:Object(a.a)(o()),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(i.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return o});n(3);var i=n(89),r=n(6),a={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1},__readied:{type:Boolean,value:!1}},observers:["_modalChanged(modal, __readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.__readied=!0},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Object(r.a)(e).path,n=0,i=t.indexOf(this);n0;a>=0&&t.push(r),n="content"===r.localName||"slot"===r.localName?Object(i.a)(r).getDistributedNodes():Object(i.a)(r.root||r).children;for(var s=0;s0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),i=Math.max(t.tabIndex,0);return 0===n||0===i?i>n:n>i}}},function(e,t,n){"use strict";n(3),n(9);var i=n(35),r=n(21),a=n(45),o=n(5),s=n(6),l=n(4);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return c=function(){return e},e}Object(o.a)({_template:Object(l.a)(c()),is:"paper-tab",behaviors:[r.a,i.a,a.a],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Object(s.a)(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}})},function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return a});n(3);var i=n(61),r={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?this._focusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onRightKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},a=[i.a,r]},function(e,t,n){"use strict";n(3),n(11);var i=n(64),r=n(55),a=n(5),o=n(4),s=n(40);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n
    \n
    \n
    \n
    \n
    \n\n
    '],['\n\n
    \n
    \n
    \n
    \n
    \n\n
    ']);return l=function(){return e},e}var c=Object(o.a)(l());c.setAttribute("strip-whitespace",""),Object(a.a)({_template:c,is:"paper-checkbox",behaviors:[i.a],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){Object(s.a)(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-checkbox-ink-size").trim()){var e=this.getComputedStyleValue("--calculated-paper-checkbox-size").trim(),t="px",n=e.match(/[A-Za-z]+$/);null!==n&&(t=n[0]);var i=parseFloat(e),r=8/3*i;"px"===t&&(r=Math.floor(r))%2!=i%2&&r++,this.updateStyles({"--paper-checkbox-ink-size":r+t})}})},_computeCheckboxClass:function(e,t){var n="";return e&&(n+="checked "),t&&(n+="invalid"),n},_computeCheckmarkClass:function(e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=this.$.checkboxContainer,r.b._createRipple.call(this)}})},function(e,t,n){"use strict";n(3),n(11),n(9);var i=n(64),r=n(5),a=n(4),o=n(40);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n\n
    \n
    \n
    \n
    \n\n
    '],['\n\n\n
    \n
    \n
    \n
    \n\n
    ']);return s=function(){return e},e}var l=Object(a.a)(s());l.setAttribute("strip-whitespace",""),Object(r.a)({_template:l,is:"paper-radio-button",behaviors:[i.a],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){Object(o.a)(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.updateStyles({"--paper-radio-button-ink-size":t+"px"})}})}})},,,,,,function(e,t,n){"use strict";n(3);var i=n(6),r={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Object(i.a)(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},get __shouldPosition(){return(this.horizontalAlign||this.verticalAlign)&&this.positionTarget},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):(window.ShadyDOM&&ShadyDOM.flush(),this.fit()))},detached:function(){this.__deferredFit&&(clearTimeout(this.__deferredFit),this.__deferredFit=null)},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.__shouldPosition){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),n=this.__getNormalizedRect(this.fitInto),i=this._fitInfo.margin,r={width:e.width+i.left+i.right,height:e.height+i.top+i.bottom},a=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,r,e,t,n),o=a.left+i.left,s=a.top+i.top,l=Math.min(n.right-i.right,o+e.width),c=Math.min(n.bottom-i.bottom,s+e.height);o=Math.max(n.left+i.left,Math.min(o,l-this._fitInfo.sizedBy.minWidth)),s=Math.max(n.top+i.top,Math.min(s,c-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-o,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(c-s,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=o-e.left+"px",this.style.top=s-e.top+"px"}},constrain:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,n,i,r){this.__sizeDimension(e,t,n,i,r)},__sizeDimension:function(e,t,n,i,r){var a=this._fitInfo,o=this.__getNormalizedRect(this.fitInto),s="Width"===r?o.width:o.height,l=t===i,c=l?s-e[i]:e[n],p=a.margin[l?n:i],d="offset"+r,u=this[d]-this.sizingTarget[d];this.sizingTarget.style["max"+r]=s-p-c-u+"px"},center:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),n=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var i=n.top-t.top+(n.height-t.height)/2;this.style.top=i+"px"}if(!e.horizontally){var r=n.left-t.left+(n.width-t.width)/2;this.style.left=r+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getOffscreenArea:function(e,t,n){var i=Math.min(0,e.top)+Math.min(0,n.bottom-(e.top+t.height)),r=Math.min(0,e.left)+Math.min(0,n.right-(e.left+t.width));return Math.abs(i)*t.width+Math.abs(r)*t.height},__getPosition:function(e,t,n,i,r,a){var o,s=[{verticalAlign:"top",horizontalAlign:"left",top:r.top+this.verticalOffset,left:r.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:r.top+this.verticalOffset,left:r.right-n.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:r.bottom-n.height-this.verticalOffset,left:r.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:r.bottom-n.height-this.verticalOffset,left:r.right-n.width-this.horizontalOffset}];if(this.noOverlap){for(var l=0,c=s.length;l\n :host {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: var(--iron-overlay-backdrop-background-color, #000);\n opacity: 0;\n transition: opacity 0.2s;\n pointer-events: none;\n @apply --iron-overlay-backdrop;\n }\n\n :host(.opened) {\n opacity: var(--iron-overlay-backdrop-opacity, 0.6);\n pointer-events: auto;\n @apply --iron-overlay-backdrop-opened;\n }\n \n\n \n"]);return p=function(){return e},e}Object(l.a)({_template:Object(c.a)(p()),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Object(i.a)(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Object(i.a)(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var d=n(22),u=n(32),h=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,u.a(document.documentElement,"tap",function(){}),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};h.prototype={constructor:h,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=!1||(e=document.body);e.root&&Object(i.a)(e.root).activeElement;)e=Object(i.a)(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,i=this._overlays[n];if(i&&this._shouldBeBehindOverlay(t,i)&&n--,!(e>=n)){var r=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=r&&this._applyOverlayZ(t,r);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,i=this._overlays[n-1],r=Math.max(this._getZ(i),this._minimumZ),a=this._getZ(e);if(i&&this._shouldBeBehindOverlay(e,i)){this._applyOverlayZ(i,r),n--;var o=this._overlays[n-1];r=Math.max(this._getZ(o),this._minimumZ)}a<=r&&this._applyOverlayZ(e,r),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t=0||(0===k.length&&function(){f=f||function(e){e.cancelable&&function(e){var t=Object(i.a)(e).rootTarget;"touchmove"!==e.type&&v!==t&&(v=t,y=function(e){for(var t=[],n=e.indexOf(m),i=0;i<=n;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var r=e[i],a=r.style;"scroll"!==a.overflow&&"auto"!==a.overflow&&(a=window.getComputedStyle(r)),"scroll"!==a.overflow&&"auto"!==a.overflow||t.push(r)}return t}(Object(i.a)(e).path));if(!y.length)return!0;if("touchstart"===e.type)return!1;var n=function(e){var t={deltaX:e.deltaX,deltaY:e.deltaY};if("deltaX"in e);else if("wheelDeltaX"in e&&"wheelDeltaY"in e)t.deltaX=-e.wheelDeltaX,t.deltaY=-e.wheelDeltaY;else if("wheelDelta"in e)t.deltaX=0,t.deltaY=-e.wheelDelta;else if("axis"in e)t.deltaX=1===e.axis?e.detail:0,t.deltaY=2===e.axis?e.detail:0;else if(e.targetTouches){var n=e.targetTouches[0];t.deltaX=g.pageX-n.pageX,t.deltaY=g.pageY-n.pageY}return t}(e);return!function(e,t,n){if(!t&&!n)return;for(var i=Math.abs(n)>=Math.abs(t),r=0;r0:a.scrollTop0:a.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},C=[r,a.a,S]},function(e,t,n){"use strict";n(3),n(9);var i=n(5),r=n(6),a=n(4),o=n(76);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l={properties:{scrollTarget:{type:HTMLElement,value:function(){return this._defaultScrollTarget}}},observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener:!0,_scrollTargetChanged:function(e,t){if(this._oldScrollTarget&&(this._toggleScrollListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),t)if("document"===e)this.scrollTarget=this._doc;else if("string"==typeof e){var n=this.domHost;this.scrollTarget=n&&n.$?n.$[e]:Object(r.a)(this.ownerDocument).querySelector("#"+e)}else this._isValidScrollTarget()&&(this._oldScrollTarget=e,this._toggleScrollListener(this._shouldHaveListener,e))},_scrollHandler:function(){},get _defaultScrollTarget(){return this._doc},get _doc(){return this.ownerDocument.documentElement},get _scrollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTarget.scrollLeft:0},set _scrollTop(e){this.scrollTarget===this._doc?window.scrollTo(window.pageXOffset,e):this._isValidScrollTarget()&&(this.scrollTarget.scrollTop=e)},set _scrollLeft(e){this.scrollTarget===this._doc?window.scrollTo(e,window.pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=e)},scroll:function(e,t){var n;"object"===s(e)?(n=e.left,t=e.top):n=e,n=n||0,t=t||0,this.scrollTarget===this._doc?window.scrollTo(n,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=n,this.scrollTarget.scrollTop=t)},get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTargetHeight(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){return this.scrollTarget instanceof HTMLElement},_toggleScrollListener:function(e,t){var n=t===this._doc?window:t;e?this._boundScrollHandler||(this._boundScrollHandler=this._scrollHandler.bind(this),n.addEventListener("scroll",this._boundScrollHandler)):this._boundScrollHandler&&(n.removeEventListener("scroll",this._boundScrollHandler),this._boundScrollHandler=null)},toggleScrollListener:function(e){this._shouldHaveListener=e,this._toggleScrollListener(e,this.scrollTarget)}},c={},p=[l,{properties:{effects:{type:String},effectsConfig:{type:Object,value:function(){return{}}},disabled:{type:Boolean,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTriggered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_effectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:function(e){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_effectsRunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollTop)},attached:function(){this._scrollStateChanged()},detached:function(){this._tearDownEffects()},createEffect:function(e,t){var n=c[e];if(!n)throw new ReferenceError(this._getUndefinedMsg(e));var i=this._boundEffect(n,t||{});return i.setUp(),i},_effectsChanged:function(e,t,n){this._tearDownEffects(),e&&n&&(e.split(" ").forEach(function(e){var n;""!==e&&((n=c[e])?this._effects.push(this._boundEffect(n,t[e])):console.warn(this._getUndefinedMsg(e)))},this),this._setUpEffect())},_layoutIfDirty:function(){return this.offsetWidth},_boundEffect:function(e,t){t=t||{};var n=parseFloat(t.startsAt||0),i=parseFloat(t.endsAt||1),r=i-n,a=function(){},o=0===n&&1===i?e.run:function(t,i){e.run.call(this,Math.max(0,(t-n)/r),i)};return{setUp:e.setUp?e.setUp.bind(this,t):a,run:e.run?o.bind(this):a,tearDown:e.tearDown?e.tearDown.bind(this):a}},_setUpEffect:function(){this.isAttached&&this._effects&&(this._effectsRunFn=[],this._effects.forEach(function(e){!1!==e.setUp()&&this._effectsRunFn.push(e.run)},this))},_tearDownEffects:function(){this._effects&&this._effects.forEach(function(e){e.tearDown()}),this._effectsRunFn=[],this._effects=[]},_runEffects:function(e,t){this._effectsRunFn&&this._effectsRunFn.forEach(function(n){n(e,t)})},_scrollHandler:function(){this._scrollStateChanged()},_scrollStateChanged:function(){if(!this.disabled){var e=this._clampedScrollTop;this._updateScrollState(e),this.threshold>0&&this._setThresholdTriggered(e>=this.threshold)}},_getDOMRef:function(e){console.warn("_getDOMRef","`"+e+"` is undefined")},_getUndefinedMsg:function(e){return"Scroll effect `"+e+"` is undefined. Did you forget to import app-layout/app-scroll-effects/effects/"+e+".html ?"}}];function d(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n
    \n \n
    \n']);return d=function(){return e},e}Object(i.a)({_template:Object(a.a)(d()),is:"app-header",behaviors:[p,o.a],properties:{condenses:{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},reveals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1}},observers:["_configChanged(isAttached, condenses, fixed)"],_height:0,_dHeight:0,_stickyElTop:0,_stickyElRef:null,_top:0,_progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestamp:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?this._dHeight:this._height+5},get _stickyEl(){if(this._stickyElRef)return this._stickyElRef;for(var e,t=Object(r.a)(this.$.slot).getDistributedNodes(),n=0;e=t[n];n++)if(e.nodeType===Node.ELEMENT_NODE){if(e.hasAttribute("sticky")){this._stickyElRef=e;break}this._stickyElRef||(this._stickyElRef=e)}return this._stickyElRef},_configChanged:function(){this.resetLayout(),this._notifyLayoutChanged()},_updateLayoutStates:function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var e=this._clampedScrollTop,t=0===this._height||0===e,n=this.disabled;this._height=this.offsetHeight,this._stickyElRef=null,this.disabled=!0,t||this._updateScrollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this._stickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._stickyEl.offsetTop:0,this._setUpEffect(),t?this._updateScrollState(e,!0):(this._updateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=n}},_updateScrollState:function(e,t){if(0!==this._height){var n=0,i=0,r=this._top,a=(this._lastScrollTop,this._maxHeaderTop),o=e-this._lastScrollTop,s=Math.abs(o),l=e>this._lastScrollTop,c=performance.now();if(this._mayMove()&&(i=this._clamp(this.reveals?r+o:e,0,a)),e>=this._dHeight&&(i=this.condenses&&!this.fixed?Math.max(this._dHeight,i):i,this.style.transitionDuration="0ms"),this.reveals&&!this.disabled&&s<100&&((c-this._initTimestamp>300||this._wasScrollingDown!==l)&&(this._initScrollTop=e,this._initTimestamp=c),e>=a))if(Math.abs(this._initScrollTop-e)>30||s>10){l&&e>=a?i=a:!l&&e>=this._dHeight&&(i=this.condenses&&!this.fixed?this._dHeight:0);var p=o/(c-this._lastTimestamp);this.style.transitionDuration=this._clamp((i-r)/p,0,300)+"ms"}else i=this._top;n=0===this._dHeight?e>0?1:0:i/this._dHeight,t||(this._lastScrollTop=e,this._top=i,this._wasScrollingDown=l,this._lastTimestamp=c),(t||n!==this._progress||r!==i||0===e)&&(this._progress=n,this._runEffects(n,i),this._transformHeader(i))}},_mayMove:function(){return this.condenses||!this.fixed},willCondense:function(){return this._dHeight>0&&this.condenses},isOnScreen:function(){return 0!==this._height&&this._top0:this._clampedScrollTop-this._maxHeaderTop>=0},_transformHeader:function(e){this.translate3d(0,-e+"px",0),this._stickyEl&&this.translate3d(0,this.condenses&&e>=this._stickyElTop?Math.min(e,this._dHeight)-this._stickyElTop+"px":0,0,this._stickyEl)},_clamp:function(e,t,n){return Math.min(n,Math.max(t,e))},_ensureBgContainers:function(){this._bgContainer||(this._bgContainer=document.createElement("div"),this._bgContainer.id="background",this._bgRear=document.createElement("div"),this._bgRear.id="backgroundRearLayer",this._bgContainer.appendChild(this._bgRear),this._bgFront=document.createElement("div"),this._bgFront.id="backgroundFrontLayer",this._bgContainer.appendChild(this._bgFront),Object(r.a)(this.root).insertBefore(this._bgContainer,this.$.contentContainer))},_getDOMRef:function(e){switch(e){case"backgroundFrontLayer":return this._ensureBgContainers(),this._bgFront;case"backgroundRearLayer":return this._ensureBgContainers(),this._bgRear;case"background":return this._ensureBgContainers(),this._bgContainer;case"mainTitle":return Object(r.a)(this).querySelector("[main-title]");case"condensedTitle":return Object(r.a)(this).querySelector("[condensed-title]")}return null},getScrollState:function(){return{progress:this._progress,top:this._top}}})},,,function(e,t,n){"use strict";n(3);var i={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var i;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(i=e?this.animationConfig[e]:this.animationConfig,Array.isArray(i)||(i=[i]),i)for(var r,a=0;r=i[a];a++)if(r.animatable)r.animatable._getAnimationConfigRecursive(r.type||e,t,n);else if(r.id){var o=t[r.id];o?(o.isClone||(t[r.id]=this._cloneConfig(o),o=t[r.id]),this._copyProperties(o,r)):t[r.id]=r}else n.push(r)},getAnimationConfig:function(e){var t={},n=[];for(var i in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[i]);return n}};n.d(t,"a",function(){return r});var r=[i,{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var i,r=0;i=e[r];r++){var a=document.createElement(i.name);if(a.isNeonAnimation){var o;a.configure||(a.configure=function(e){return null}),o=a.configure(i),n.push({result:o,config:i,neonAnimation:a})}else console.warn(this.is+":",i.name,"not found!")}for(var s=0;s\n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n']);return o=function(){return e},e}var s=Object(r.a)(o());s.setAttribute("strip-whitespace",""),Object(i.a)({_template:s,is:"paper-spinner-lite",behaviors:[a.a]})},function(e,t,n){"use strict";n(9),n(25),n(11),n(46),n(30)},function(e,t){var n,i,r,a;n=function(){return this}(),r={},a={},function(e,t){function n(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear",this._easingFunction=u}function i(){return e.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(t,i,r){var a=new n;return i&&(a.fill="both",a.duration="auto"),"number"!=typeof t||isNaN(t)?void 0!==t&&Object.getOwnPropertyNames(t).forEach(function(n){if("auto"!=t[n]){if(("number"==typeof a[n]||"duration"==n)&&("number"!=typeof t[n]||isNaN(t[n])))return;if("fill"==n&&-1==p.indexOf(t[n]))return;if("direction"==n&&-1==d.indexOf(t[n]))return;if("playbackRate"==n&&1!==t[n]&&e.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;a[n]=t[n]}}):a.duration=t,a}function a(e,t,n,i){return e<0||e>1||n<0||n>1?u:function(r){function a(e,t,n){return 3*e*(1-n)*(1-n)*n+3*t*(1-n)*n*n+n*n*n}if(r<=0){var o=0;return e>0?o=t/e:!t&&n>0&&(o=i/n),o*r}if(r>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&e<1&&(s=(t-1)/(e-1)),1+s*(r-1)}for(var l=0,c=1;l=1)return 1;var i=1/e;return(n+=t*i)-n%i}}function s(e){g||(g=document.createElement("div").style),g.animationTimingFunction="",g.animationTimingFunction=e;var t=g.animationTimingFunction;if(""==t&&i())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return u;var t=y.exec(e);if(t)return a.apply(this,t.slice(1).map(Number));var n=_.exec(e);return n?o(Number(n[1]),{start:h,middle:f,end:m}[n[2]]):b[e]||u}function c(e,t,n){if(null==t)return w;var i=n.delay+e+n.endDelay;return t=Math.min(n.delay+e,i)?k:S}var p="backwards|forwards|both|none".split("|"),d="reverse|alternate|alternate-reverse".split("|"),u=function(e){return e};n.prototype={_setMember:function(t,n){this["_"+t]=n,this._effect&&(this._effect._timingInput[t]=n,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(s(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var h=1,f=.5,m=0,b={ease:a(.25,.1,.25,1),"ease-in":a(.42,0,1,1),"ease-out":a(0,0,.58,1),"ease-in-out":a(.42,0,.58,1),"step-start":o(1,h),"step-middle":o(1,f),"step-end":o(1,m)},g=null,v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",y=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),_=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,w=0,x=1,k=2,S=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var n in e)t[n]=e[n];return t},e.makeTiming=r,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,n){return r(t=e.numericTimingToObject(t),n)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,n){var i=c(e,t,n),r=function(e,t,n,i,r){switch(i){case x:return"backwards"==t||"both"==t?0:null;case S:return n-r;case k:return"forwards"==t||"both"==t?e:null;case w:return null}}(e,n.fill,t,i,n.delay);if(null===r)return null;var a=function(e,t,n,i,r){var a=r;return 0===e?t!==x&&(a+=n):a+=i/e,a}(n.duration,i,n.iterations,r,n.iterationStart),o=function(e,t,n,i,r,a){var o=e===1/0?t%1:e%1;return 0!==o||n!==k||0===i||0===r&&0!==a||(o=1),o}(a,n.iterationStart,i,n.iterations,r,n.duration),s=function(e,t,n,i){return e===k&&t===1/0?1/0:1===n?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,o,a),l=function(e,t,n){var i=e;if("normal"!==e&&"reverse"!==e){var r=t;"alternate-reverse"===e&&(r+=1),i="normal",r!==1/0&&r%2!=0&&(i="reverse")}return"normal"===i?n:1-n}(n.direction,s,o);return n._easingFunction(l)},e.calculatePhase=c,e.normalizeEasing=s,e.parseEasingFunction=l}(i={}),function(e,t){function n(e,t){return e in l&&l[e][t]||t}function i(e,t,i){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var r=a[e];if(r)for(var s in o.style[e]=t,r){var l=r[s],c=o.style[l];i[l]=n(l,c)}else i[e]=n(e,t)}}function r(e){var t=[];for(var n in e)if(!(n in["easing","offset","composite"])){var i=e[n];Array.isArray(i)||(i=[i]);for(var r,a=i.length,o=0;o1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){if("add"==a||"accumulate"==a)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=a)throw new TypeError("Invalid composite mode "+a+".")}else a="easing"==r?e.normalizeEasing(a):""+a;i(r,a,n)}return null==n.offset&&(n.offset=null),null==n.easing&&(n.easing="linear"),n}),a=!0,o=-1/0,s=0;s=0&&e.offset<=1}),a||function(){var e=n.length;null==n[e-1].offset&&(n[e-1].offset=1),e>1&&null==n[0].offset&&(n[0].offset=0);for(var t=0,i=n[0].offset,r=1;r=e.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var n=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var n=this._finishHandlers.indexOf(t);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new i(this,this._currentTime,e),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(i,r),function(e,t,n){function i(e){var t=c;c=[],ei?n%=i:i%=n;return e*t/(n+i)}(i.length,r.length),c=0;c=1?t:"visible"}]},["visibility"]),function(e,t){function n(e){e=e.trim(),a.fillStyle="#000",a.fillStyle=e;var t=a.fillStyle;if(a.fillStyle="#fff",a.fillStyle=e,t==a.fillStyle){a.fillRect(0,0,1,1);var n=a.getImageData(0,0,1,1).data;a.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(t,n){return[t,n,function(t){function n(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var i=0;i<3;i++)t[i]=Math.round(n(t[i]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var a=r.getContext("2d");e.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,n),e.mergeColors=i}(r),function(e,t){function n(e){function t(){var t=o.exec(e);a=t?t[0]:void 0}function n(){if("("!==a)return function(){var e=Number(a);return t(),e}();t();var e=r();return")"!==a?NaN:(t(),e)}function i(){for(var e=n();"*"===a||"/"===a;){var i=a;t();var r=n();"*"===i?e*=r:e/=r}return e}function r(){for(var e=i();"+"===a||"-"===a;){var n=a;t();var r=i();"+"===n?e+=r:e-=r}return e}var a,o=/([\+\-\w\.]+|[\(\)\*\/])/g;return t(),r()}function i(e,t){if("0"==(t=t.trim().toLowerCase())&&"px".search(e)>=0)return{px:0};if(/^[^(]*$|^calc/.test(t)){t=t.replace(/calc\(/g,"(");var i={};t=t.replace(e,function(e){return i[e]=null,"U"+e});for(var r="U("+e.source+")",a=t.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+r,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),o=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var o="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(o,"g")),l=i.bind(null,new RegExp(o+"|%","g")),c=i.bind(null,/deg|rad|grad|turn/g);e.parseLength=s,e.parseLengthOrPercent=l,e.consumeLengthOrPercent=e.consumeParenthesised.bind(null,l),e.parseAngle=c,e.mergeDimensions=a;var p=e.consumeParenthesised.bind(null,s),d=e.consumeRepeated.bind(void 0,p,/^/),u=e.consumeRepeated.bind(void 0,d,/^,/);e.consumeSizePairList=u;var h=e.mergeNestedRepeated.bind(void 0,r," "),f=e.mergeNestedRepeated.bind(void 0,h,",");e.mergeNonNegativeSizePair=h,e.addPropertiesHandler(function(e){var t=u(e);if(t&&""==t[1])return t[0]},f,["background-size"]),e.addPropertiesHandler(l,r,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),e.addPropertiesHandler(l,a,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(r),function(e,t){function n(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function i(t){var i=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,n,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(i&&4==i[0].length)return i[0]}var r=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,n){return"auto"==t||"auto"==n?[!0,!1,function(i){var r=i?t:n;if("auto"==r)return"auto";var a=e.mergeDimensions(r,r);return a[2](a[0])}]:e.mergeDimensions(t,n)},", ");e.parseBox=i,e.mergeBoxes=r,e.addPropertiesHandler(i,r,["clip"])}(r),function(e,t){function n(e){return function(t){var n=0;return e.map(function(e){return e===c?t[n++]:e})}}function i(e){return e}function r(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,r=[],a=0;n=i.exec(t);){if(n.index!=a)return;a=n.index+n[0].length;var o=n[1],s=u[o];if(!s)return;var l=n[2].split(","),c=s[0];if(c.length=0&&this._cancelHandlers.splice(n,1)}else l.call(this,e,t)},a}}}(),function(e){var t=document.documentElement,n=null,i=!1;try{var r="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(n=t.animate({opacity:[r,r]},{duration:1})).currentTime=0,i=getComputedStyle(t).getPropertyValue("opacity")==r}catch(e){}finally{n&&n.cancel()}if(!i){var a=window.Element.prototype.animate;window.Element.prototype.animate=function(t,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),a.call(this,t,n)}}}(i),function(e,t,n){function i(e){var n=t.timeline;n.currentTime=e,n._discardAnimations(),0==n._animations.length?a=!1:requestAnimationFrame(i)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return r(function(n){t.timeline._updateAnimationsPromises(),e(n),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var n=new t.Animation(e,this);return this._animations.push(n),t.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(e){return e&&e.remove(),this._play(e)}};var a=!1;t.restartWebAnimationsNextTick=function(){a||(a=!0,requestAnimationFrame(i))};var o=new t.AnimationTimeline;t.timeline=o;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return o}})}catch(e){}try{window.document.timeline=o}catch(e){}}(0,a),function(e,t,n){t.animationsWithPromises=[],t.Animation=function(t,n){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,n,i,r,a=!!this._animation;a&&(e=this.playbackRate,n=this._paused,i=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),a&&(1!=e&&(this.playbackRate=e),null!==i?this.startTime=i:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"]);return o=function(){return e},e}Object(r.a)({_template:Object(a.a)(o()),is:"paper-listbox",behaviors:[i.a],hostAttributes:{role:"listbox"}})},function(e,t,n){"use strict";n(3),n(9);var i=n(21),r=n(47),a=n(5),o=n(6),s=n(4);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'],['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n']);return l=function(){return e},e}Object(a.a)({_template:Object(s.a)(l()),is:"iron-autogrow-textarea",behaviors:[r.a,i.a],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var e=this.$.textarea.validity.valid;return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=r.a.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_bindValueChanged:function(e){this.value=e},_valueChanged:function(e){var t=this.textarea;t&&(t.value!==e&&(t.value=e||0===e?e:""),this.bindValue=e,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){var t=Object(o.a)(e).path;this.value=t?t[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}})},function(e,t,n){"use strict";n(3),n(25),n(72);var i=n(5),r=n(4),a=n(73);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n']);return o=function(){return e},e}var s=Object(r.a)(o());s.setAttribute("strip-whitespace",""),Object(i.a)({_template:s,is:"paper-spinner",behaviors:[a.a]})},function(e,t,n){"use strict";n(3),n(9),n(25),n(11);var i=n(64),r=n(45),a=n(5),o=n(32),s=n(4),l=n(40);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n\n
    \n
    \n
    \n
    \n\n
    \n\n ']);return c=function(){return e},e}var p=Object(s.a)(c());p.setAttribute("strip-whitespace",""),Object(a.a)({_template:p,is:"paper-toggle-button",behaviors:[i.a],hostAttributes:{role:"button","aria-pressed":"false",tabindex:0},properties:{},listeners:{track:"_ontrack"},attached:function(){Object(l.a)(this,function(){Object(o.e)(this,"pan-y")})},_ontrack:function(e){var t=e.detail;"start"===t.state?this._trackStart(t):"track"===t.state?this._trackMove(t):"end"===t.state&&this._trackEnd(t)},_trackStart:function(e){this._width=this.$.toggleBar.offsetWidth/2,this._trackChecked=this.checked,this.$.toggleButton.classList.add("dragging")},_trackMove:function(e){var t=e.dx;this._x=Math.min(this._width,Math.max(0,this._trackChecked?this._width+t:t)),this.translate3d(this._x+"px",0,0,this.$.toggleButton),this._userActivate(this._x>this._width/2)},_trackEnd:function(e){this.$.toggleButton.classList.remove("dragging"),this.transform("",this.$.toggleButton)},_createRipple:function(){this._rippleContainer=this.$.toggleButton;var e=r.a._createRipple();return e.id="ink",e.setAttribute("recenters",""),e.classList.add("circle","toggle-ink"),e}})},function(e,t,n){"use strict";n(3),n(22),n(83);var i=n(81),r=n(63),a=n(5),o=n(4);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return s=function(){return e},e}Object(a.a)({_template:Object(o.a)(s()),is:"paper-radio-group",behaviors:[i.a],hostAttributes:{role:"radiogroup"},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var n=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(n&&(n.checked=!0));e=""}n&&(n.checked=!1)}r.a.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){i.b._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){i.b._onRightKey.apply(this,arguments),this._activateFocusedItem()}})},function(e,t,n){"use strict";n(3);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n/* Most common used flex styles*/\n\n \n\n/* Basic flexbox reverse styles */\n\n \n\n/* Flexbox alignment */\n\n \n\n/* Non-flexbox positioning helper styles */\n\n \n\n\n \n\n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},,,,,,,function(e,t,n){"use strict";n(3);var i=n(22),r=(n(27),n(37),n(21)),a=n(89),o=n(93),s=n(5),l=n(6),c=n(4);function p(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return p=function(){return e},e}Object(s.a)({_template:Object(c.a)(p()),is:"iron-dropdown",behaviors:[r.a,i.a,a.a,o.a],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Object(l.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
    \n \n
    \n\n \n \n \n']);return u=function(){return e},e}Object(s.a)({is:"paper-menu-grow-height-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this._effect=new KeyframeEffect(t,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-grow-width-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-width-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-height-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this.setPrefixedProperty(t,"transformOrigin","0 0"),this._effect=new KeyframeEffect(t,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}});var h={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},f=Object(s.a)({_template:Object(c.a)(u()),is:"paper-menu-button",behaviors:[i.a,r.a],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:h.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:h.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:h.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Object(l.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(h).forEach(function(e){f[e]=h[e]});n(74),n(49);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n\n\n\n',document.head.appendChild(m.content);var b=document.createElement("template");b.setAttribute("style","display: none;"),b.innerHTML='\n \n',document.head.appendChild(b.content);var g=n(35),v=n(58),y=n(47),_=n(32);function w(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n']);return w=function(){return e},e}Object(s.a)({_template:Object(c.a)(w()),is:"paper-dropdown-menu",behaviors:[g.a,r.a,v.a,y.a],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Object(l.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n \n",document.head.appendChild(i.content);var r=n(5),a=n(4),o=n(35),s=n(21),l=[o.a,s.a,{hostAttributes:{role:"option",tabindex:"0"}}];function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return c=function(){return e},e}Object(r.a)({_template:Object(a.a)(c()),is:"paper-item",behaviors:[l]})},function(e,t,n){"use strict";n(3),n(9),n(11),n(30),n(46);var i=document.createElement("template");i.setAttribute("style","display: none;"),i.innerHTML='\n \n',document.head.appendChild(i.content);var r=n(93),a=n(78),o=n(5),s=n(4);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return l=function(){return e},e}Object(o.a)({_template:Object(s.a)(l()),is:"paper-dialog",behaviors:[a.a,r.a],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}})},function(e,t,n){"use strict";n(3),n(9),n(27),n(26),n(25),n(49);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n\n\n\n']);return r=function(){return e},e}var a=Object(i.a)(r());document.head.appendChild(a.content);n(80);var o=n(61),s=n(81),l=n(56),c=n(5),p=n(6);function d(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'],['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n']);return d=function(){return e},e}Object(c.a)({_template:Object(i.a)(d()),is:"paper-tabs",behaviors:[l.a,s.a],properties:{noink:{type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1},noSlide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer:{type:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{type:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Object(p.a)(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,n){return!t||n?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),o.b._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var n=t&&-t.ddx||0;this._affectScroll(n)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var n=this.$.tabsContent.getBoundingClientRect(),i=n.width,r=e.getBoundingClientRect(),a=r.left-n.left;if(this._pos={width:this._calcPercent(r.width,i),left:this._calcPercent(a,i)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var o=t.getBoundingClientRect(),s=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var c=s0&&(this.$.tabsContainer.scrollLeft+=n)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}})}]]); +//# sourceMappingURL=chunk.31b41b04602ce627ad98.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.8038876231b1b1817795.js.LICENSE b/hassio/api/panel/chunk.31b41b04602ce627ad98.js.LICENSE similarity index 100% rename from hassio/api/panel/chunk.8038876231b1b1817795.js.LICENSE rename to hassio/api/panel/chunk.31b41b04602ce627ad98.js.LICENSE diff --git a/hassio/api/panel/chunk.31b41b04602ce627ad98.js.gz b/hassio/api/panel/chunk.31b41b04602ce627ad98.js.gz new file mode 100644 index 000000000..5d9f00ded Binary files /dev/null and b/hassio/api/panel/chunk.31b41b04602ce627ad98.js.gz differ diff --git a/hassio/api/panel/chunk.d86ead4948c3bb8d56b2.js.map b/hassio/api/panel/chunk.31b41b04602ce627ad98.js.map similarity index 60% rename from hassio/api/panel/chunk.d86ead4948c3bb8d56b2.js.map rename to hassio/api/panel/chunk.31b41b04602ce627ad98.js.map index 5ae436c39..83934529b 100644 --- a/hassio/api/panel/chunk.d86ead4948c3bb8d56b2.js.map +++ b/hassio/api/panel/chunk.31b41b04602ce627ad98.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk.d86ead4948c3bb8d56b2.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk.31b41b04602ce627ad98.js","sourceRoot":""} \ No newline at end of file diff --git a/hassio/api/panel/chunk.75766aa821239c9936dc.js b/hassio/api/panel/chunk.381b1e7d41316cfb583c.js similarity index 58% rename from hassio/api/panel/chunk.75766aa821239c9936dc.js rename to hassio/api/panel/chunk.381b1e7d41316cfb583c.js index a050f68ce..20bcadd95 100644 --- a/hassio/api/panel/chunk.75766aa821239c9936dc.js +++ b/hassio/api/panel/chunk.381b1e7d41316cfb583c.js @@ -1 +1 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{2:function(t,e,n){"use strict";n.r(e);n(48);function C(t){return(C="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function o(t,e){for(var n=0;n\n "]);return c=function(){return e},e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){return(u=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function d(e){var t,n=m(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var o={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(o.decorators=e.decorators),"field"===e.kind&&(o.initializer=e.value),o}function f(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function h(e){return e.decorators&&e.decorators.length}function b(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function y(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function m(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==s(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}!function(e,t,n,o){var r=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(o){t.forEach(function(t){var r=t.placement;if(t.kind===o&&("static"===r||"prototype"===r)){var a="static"===r?e:n;this.defineClassElement(a,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var o=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===o?void 0:o.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],o=[],r={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,r)},this),e.forEach(function(e){if(!h(e))return n.push(e);var t=this.decorateElement(e,r);n.push(t.element),n.push.apply(n,t.extras),o.push.apply(o,t.finishers)},this),!t)return{elements:n,finishers:o};var a=this.decorateConstructor(n,t);return o.push.apply(o,a.finishers),a.finishers=o,a},addElementPlacement:function(e,t,n){var o=t[e.placement];if(!n&&-1!==o.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");o.push(e.key)},decorateElement:function(e,t){for(var n=[],o=[],r=e.decorators,a=r.length-1;a>=0;a--){var i=t[e.placement];i.splice(i.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,r[a])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&o.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;o--){var r=this.fromClassDescriptor(e),a=this.toClassDescriptor((0,t[o])(r)||r);if(void 0!==a.finisher&&n.push(a.finisher),void 0!==a.elements){e=a.elements;for(var i=0;i\n "]);return D=function(){return e},e}function z(){var e=H(["\n \n "]);return z=function(){return e},e}function I(){var e=H(["\n \n ",'\n \n
    \n \n
    \n ']);return I=function(){return e},e}function H(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function B(e,t){return(B=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function M(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function N(e){var t,n=W(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var o={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(o.decorators=e.decorators),"field"===e.kind&&(o.initializer=e.value),o}function U(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function F(e){return e.decorators&&e.decorators.length}function q(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function $(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function W(e){var t=function(e,t){if("object"!==A(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==A(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===A(t)?t:String(t)}(function(e,t,n,o){var r=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(o){t.forEach(function(t){var r=t.placement;if(t.kind===o&&("static"===r||"prototype"===r)){var a="static"===r?e:n;this.defineClassElement(a,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var o=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===o?void 0:o.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],o=[],r={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,r)},this),e.forEach(function(e){if(!F(e))return n.push(e);var t=this.decorateElement(e,r);n.push(t.element),n.push.apply(n,t.extras),o.push.apply(o,t.finishers)},this),!t)return{elements:n,finishers:o};var a=this.decorateConstructor(n,t);return o.push.apply(o,a.finishers),a.finishers=o,a},addElementPlacement:function(e,t,n){var o=t[e.placement];if(!n&&-1!==o.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");o.push(e.key)},decorateElement:function(e,t){for(var n=[],o=[],r=e.decorators,a=r.length-1;a>=0;a--){var i=t[e.placement];i.splice(i.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,r[a])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&o.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;o--){var r=this.fromClassDescriptor(e),a=this.toClassDescriptor((0,t[o])(r)||r);if(void 0!==a.finisher&&n.push(a.finisher),void 0!==a.elements){e=a.elements;for(var i=0;i\n \n\n \n"),document.head.appendChild(J.content);n(75),n(89);var Y=n(10);function G(e){return(G="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function X(e,t){for(var n=0;n=0?t:null}:null}),e._resize();for(var t=document.createTreeWalker(e,1,null,!1);t.nextNode();){var n=t.currentNode;"A"===n.tagName&&n.host!==document.location.host?n.target="_blank":"IMG"===n.tagName&&n.addEventListener("load",e._resize)}}else 2===e._scriptLoaded&&(e.innerText=e.content)}))}}])&&te(o.prototype,a),i&&te(o,i),t}();function le(e){return(le="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function ue(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n ']);return ue=function(){return e},e}function pe(e,t){for(var n=0;n\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n '],['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n ']);return me=function(){return e},e}function ve(e,t){for(var n=0;n\n .container {\n position: relative;\n display: inline-block;\n }\n\n mwc-button {\n transition: all 1s;\n }\n\n .success mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n ']);return _e=function(){return e},e}function Se(e,t){for(var n=0;n\n ']);return De=function(){return e},e}function ze(e,t){return!t||"object"!==Ae(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Ie(e){return(Ie=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function He(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n ']);return Ue=function(){return e},e}function Fe(e,t){for(var n=0;n bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n "]);return rt=function(){return e},e}function at(){var e=ut(['\n
    ',"
    \n "]);return at=function(){return e},e}function it(){var e=ut(['\n \n ',"\n \n "]);return it=function(){return e},e}function st(){var e=ut(["\n ","\n "]);return st=function(){return e},e}function ct(){var e=ut(['\n \n ']);return ct=function(){return e},e}function lt(){var e=ut(['\n
    \n
    \n \n ',"\n ","\n
    \n ","\n
    \n ","\n \n "]);return lt=function(){return e},e}function ut(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function pt(e,t){for(var n=0;n4)}),!this.icon||this.value||this.image?"":Object(a.d)(ct(),this.icon),this.value&&!this.image?Object(a.d)(st(),this.value):"",this.label?Object(a.d)(it(),Object(Ye.a)({label:!0,big:this.label.length>5}),this.label):"",this.description?Object(a.d)(at(),this.description):"")}},{key:"updated",value:function(e){ft(ht(t.prototype),"updated",this).call(this,e),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?"url(".concat(this.image,")"):"")}}])&&pt(n.prototype,o),r&&pt(n,r),t}();customElements.define("ha-label-badge",yt);var mt=n(6),vt=[60,60,24,7],gt=["second","minute","hour","day"];function wt(e){return(wt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function kt(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{};return function(){var o,r=((n.compareTime||new Date).getTime()-e.getTime())/1e3,a=r>=0?"past":"future";r=Math.abs(r);for(var i=0;i\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n iron-icon.not_available {\n color: var(--google-red-500);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n \n
    \n
    \n '],['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n \n
    \n
    \n ']);return It=function(){return e},e}function Ht(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n paper-card.warning {\n background-color: var(--google-red-500);\n color: white;\n --paper-card-header-color: white;\n }\n paper-card.warning mwc-button {\n color: white !important;\n }\n .warning {\n color: var(--google-red-500);\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div {\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n .red {\n --ha-label-badge-color: var(--label-badge-red, #df4c1e);\n }\n .blue {\n --ha-label-badge-color: var(--label-badge-blue, #039be5);\n }\n .green {\n --ha-label-badge-color: var(--label-badge-green, #0da035);\n }\n .yellow {\n --ha-label-badge-color: var(--label-badge-yellow, #f4b400);\n }\n .security {\n margin-bottom: 16px;\n }\n .security h3 {\n margin-bottom: 8px;\n font-weight: normal;\n }\n .security ha-label-badge {\n cursor: pointer;\n margin-right: 4px;\n --iron-icon-height: 45px;\n }\n \n\n \n\n \n
    \n
    \n [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit\n [[addon.name]] page for\n details.\n
    \n \n \n
    \n

    Addon Security Rating

    \n
    \n Hass.io provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an addon requires on your system, the lower the score, thus raising the possible security risks.\n
    \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n
    \n \n \n \n
    \n
    \n \n ']);return Ft=function(){return e},e}function qt(e,t){for(var n=0;n4?"green":e>2?"yellow":"red"}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/options"),e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/options"),e)}},{key:"protectionToggled",value:function(){var e={protected:!this.addon.protected};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/security"),e),this.set("addon.protected",!this.addon.protected)}},{key:"showMoreInfo",value:function(e){var t=e.target.getAttribute("id");this.fire("hassio-markdown-dialog",{title:Yt[t].title,content:Yt[t].description})}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/".concat(this.addonSlug,"/changelog")).then(function(e){return e},function(){return"Error getting changelog"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Changelog",content:t})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var t="hassio/addons/".concat(this.addonSlug,"/uninstall"),n={path:t};this.hass.callApi("post",t).then(function(e){n.success=!0,n.response=e},function(e){n.success=!1,n.response=e}).then(function(){e.fire("hass-api-called",n)})}}}])&&qt(n.prototype,a),i&&qt(n,i),t}();function Xt(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return Xt=function(){return e},e}customElements.define("hassio-addon-info",Gt);var Vt=Object(o.a)(Xt());function Kt(e){for(var t,n=document.createElement("pre"),o=/\033(?:\[(.*?)[@-~]|\].*?(?:\007|\033\\))/g,r=0,a={bold:!1,italic:!1,underline:!1,strikethrough:!1,foregroundColor:null,backgroundColor:null},i=function(e){var t=document.createElement("span");a.bold&&t.classList.add("bold"),a.italic&&t.classList.add("italic"),a.underline&&t.classList.add("underline"),a.strikethrough&&t.classList.add("strikethrough"),null!==a.foregroundColor&&t.classList.add("fg-".concat(a.foregroundColor)),null!==a.backgroundColor&&t.classList.add("bg-".concat(a.backgroundColor)),t.appendChild(document.createTextNode(e)),n.appendChild(t)};null!==(t=o.exec(e));){var s=t.index;if(i(e.substring(r,s)),r=s+t[0].length,void 0!==t[1]){var c=!0,l=!1,u=void 0;try{for(var p,d=t[1].split(";")[Symbol.iterator]();!(c=(p=d.next()).done);c=!0){var f=p.value;switch(parseInt(f)){case 0:a.bold=!1,a.italic=!1,a.underline=!1,a.strikethrough=!1,a.foregroundColor=null,a.backgroundColor=null;break;case 1:a.bold=!0;break;case 3:a.italic=!0;break;case 4:a.underline=!0;break;case 9:a.strikethrough=!0;break;case 22:a.bold=!1;break;case 23:a.italic=!1;break;case 24:a.underline=!1;break;case 29:a.strikethrough=!1;break;case 30:a.foregroundColor=null;break;case 31:a.foregroundColor="red";break;case 32:a.foregroundColor="green";break;case 33:a.foregroundColor="yellow";break;case 34:a.foregroundColor="blue";break;case 35:a.foregroundColor="magenta";break;case 36:a.foregroundColor="cyan";break;case 37:a.foregroundColor="white";break;case 39:a.foregroundColor=null;break;case 40:a.backgroundColor="black";break;case 41:a.backgroundColor="red";break;case 42:a.backgroundColor="green";break;case 43:a.backgroundColor="yellow";break;case 44:a.backgroundColor="blue";break;case 45:a.backgroundColor="magenta";break;case 46:a.backgroundColor="cyan";break;case 47:a.backgroundColor="white";break;case 49:a.backgroundColor=null}}}catch(e){l=!0,u=e}finally{try{c||null==d.return||d.return()}finally{if(l)throw u}}}}return i(e.substring(r)),n}function Qt(e){return(Qt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Zt(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n ','\n \n
    \n
    \n Refresh\n
    \n
    \n ']);return Zt=function(){return e},e}function en(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n ']);return sn=function(){return e},e}function cn(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n max-width: calc(100% - 8px);\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n min-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n ']);return hn=function(){return e},e}function bn(e,t){for(var n=0;n2&&void 0!==arguments[2]&&arguments[2];n?history.replaceState(null,"",t):history.pushState(null,"",t),i(window,"location-changed",{replace:n})}).apply(void 0,[this].concat(t))}}])&&Cn(o.prototype,r),a&&Cn(o,a),n}()});function zn(e){return(zn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function In(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n \n \n ']);return In=function(){return e},e}function Hn(e,t){for(var n=0;n\n .add {\n padding: 12px 16px;\n }\n iron-icon {\n color: var(--secondary-text-color);\n margin-right: 16px;\n display: inline-block;\n }\n paper-input {\n width: calc(100% - 49px);\n display: inline-block;\n }\n \n
    \n
    \n Repositories\n
    \n Configure which add-on repositories to fetch data from:\n
    \n
    \n \n \n
    \n \n
    \n
    \n Remove\n
    \n
    \n \n \n
    \n \n \n
    \n
    \n Add\n
    \n
    \n
    \n ']);return Fn=function(){return e},e}function qn(e,t){for(var n=0;n\n hassio-addon-repository {\n margin-top: 24px;\n }\n \n \n\n \n ']);return Xn=function(){return e},e}function Vn(e,t){for(var n=0;n\n paper-card {\n cursor: pointer;\n }\n \n
    \n
    Add-ons
    \n \n \n \n
    \n \n
    \n
    \n \n
    \n ']);return oo=function(){return e},e}function ro(e,t){for(var n=0;n\n paper-card {\n display: block;\n margin-bottom: 32px;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n a {\n color: var(--primary-color);\n }\n \n \n ']);return lo=function(){return e},e}function uo(e){return(uo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function po(e,t){for(var n=0;n\n .content {\n margin: 0 auto;\n }\n \n
    \n \n \n
    \n ']);return go=function(){return e},e}function wo(e,t){for(var n=0;n\n paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-dialog-scrollable {\n margin: 0;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n paper-dialog {\n max-height: 100%;\n height: 100%;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n .details {\n color: var(--secondary-text-color);\n }\n .download {\n color: var(--primary-color);\n }\n .warning,\n .error {\n color: var(--google-red-500);\n }\n \n \n \n \n
    [[_computeName(snapshot)]]
    \n
    \n
    \n [[_computeType(snapshot.type)]] ([[_computeSize(snapshot.size)]])
    \n [[_formatDatetime(snapshot.date)]]\n
    \n
    Home Assistant:
    \n \n Home Assistant [[snapshot.homeassistant]]\n \n \n \n \n \n \n \n
    \n \n \n Restore selected\n \n
    \n \n ']);return Po=function(){return e},e}function xo(e,t,n,o,r,a,i){try{var s=e[a](i),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(o,r)}function Eo(e,t){for(var n=0;n\n paper-radio-group {\n display: block;\n }\n paper-radio-button {\n padding: 0 0 2px 2px;\n }\n paper-radio-button,\n paper-checkbox,\n paper-input[type="password"] {\n display: block;\n margin: 4px 0 4px 48px;\n }\n .pointer {\n cursor: pointer;\n }\n \n
    \n
    \n
    \n Create snapshot\n
    \n Snapshots allow you to easily backup and restore all data of your\n Hass.io instance.\n
    \n
    \n \n
    \n \n Type:\n \n \n Full snapshot\n \n \n Partial snapshot\n \n \n \n \n Security:\n Password protection\n \n \n
    \n
    \n Create\n
    \n
    \n
    \n\n
    \n
    Available snapshots
    \n \n \n \n
    \n \n
    \n
    \n \n
    \n
    \n ']);return zo=function(){return e},e}function Io(e,t){for(var n=0;n\n paper-card {\n display: inline-block;\n width: 400px;\n margin-left: 8px;\n }\n .card-content {\n height: 200px;\n color: var(--primary-text-color);\n }\n @media screen and (max-width: 830px) {\n paper-card {\n margin-top: 8px;\n margin-left: 0;\n width: 100%;\n }\n .card-content {\n height: auto;\n }\n }\n .info {\n width: 100%;\n }\n .info td:nth-child(2) {\n text-align: right;\n }\n .errors {\n color: var(--google-red-500);\n margin-top: 16px;\n }\n mwc-button.info {\n max-width: calc(50% - 12px);\n }\n table.info {\n margin-bottom: 10px;\n }\n \n \n
    \n

    Host system

    \n \n \n \n \n \n \n \n \n \n \n \n \n
    Hostname[[data.hostname]]
    System[[data.operating_system]]
    \n \n Hardware\n \n \n \n
    \n
    \n \n \n \n \n
    \n
    \n ']);return Uo=function(){return e},e}function Fo(e){return(Fo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function qo(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"",o="";return Object.keys(e).forEach(function(r){"object"!==Fo(e[r])?o+="".concat(n,"- ").concat(r,": ").concat(e[r],"\n"):(o+="".concat(n,"- ").concat(r,":\n"),Array.isArray(e[r])?e[r].length&&(o+="".concat(n," - ")+e[r].join("\n".concat(n," - "))+"\n"):o+=t._objectToMarkdown(e[r]," ".concat(n)))}),o}},{key:"_changeHostnameClicked",value:function(){var e=this.data.hostname,t=prompt("Please enter a new hostname:",e);t&&t!==e&&this.hass.callApi("post","hassio/host/options",{hostname:t})}}])&&qo(n.prototype,a),i&&qo(n,i),t}();function Xo(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n
    \n

    Hass.io supervisor

    \n \n \n \n \n \n \n \n \n \n \n \n \n
    Version[[data.version]]
    Latest version[[data.last_version]]
    \n \n
    \n
    \n Reload\n \n \n \n
    \n
    \n ']);return Xo=function(){return e},e}function Vo(e){return(Vo="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Ko(e,t){for(var n=0;n\n paper-card {\n display: block;\n }\n pre {\n overflow-x: auto;\n white-space: pre-wrap;\n overflow-wrap: break-word;\n }\n .fg-green {\n color: var(--primary-text-color) !important;\n }\n \n ','\n \n
    \n
    \n Refresh\n
    \n
    \n ']);return rr=function(){return e},e}function ar(e,t){for(var n=0;nError fetching logs'})}},{key:"refresh",value:function(){this.loadData()}}])&&ar(n.prototype,a),i&&ar(n,i),t}();function pr(e){return(pr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function dr(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n
    \n
    Information
    \n \n \n
    System log
    \n \n
    \n ']);return dr=function(){return e},e}function fr(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n paper-tabs {\n margin-left: 12px;\n --paper-tabs-selection-bar-color: #fff;\n text-transform: uppercase;\n }\n \n \n \n \n \n
    Hass.io
    \n \n
    \n \n Dashboard\n Snapshots\n Add-on store\n System\n \n
    \n \n \n \n \n
    \n\n \n\n \n ']);return gr=function(){return e},e}function wr(e,t){for(var n=0;n200?o.scrollTop=0:t._currentAnimationId===r&&(o.scrollTop=(n=c,-s*(n/=200)*(n-2)+i),requestAnimationFrame(e.bind(t)))}.call(t)}},{key:"equals",value:function(e,t){return e===t}},{key:"showRefreshButton",value:function(e){return"store"===e||"snapshots"===e}},{key:"refreshClicked",value:function(){"snapshots"===this.page?this.shadowRoot.querySelector("hassio-snapshots").refreshData():this.shadowRoot.querySelector("hassio-addon-store").refreshData()}},{key:"openMarkdown",value:function(e){this.setProperties({markdownTitle:e.detail.title,markdownContent:e.detail.content}),this.shadowRoot.querySelector("hassio-markdown-dialog").openDialog()}}])&&wr(n.prototype,a),i&&wr(n,i),t}();function Pr(e){return(Pr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function xr(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n\n \n\n \n ']);return xr=function(){return e},e}function Er(e,t){for(var n=0;n3&&void 0!==arguments[3]&&arguments[3];e._themes||(e._themes={});var r=t.default_theme;("default"===n||n&&t.themes[n])&&(r=n);var a=Object.assign({},e._themes);if("default"!==r){var i=t.themes[r];Object.keys(i).forEach(function(t){var n="--"+t;e._themes[n]="",a[n]=i[t]})}if(e.updateStyles?e.updateStyles(a):window.ShadyCSS&&window.ShadyCSS.styleSubtree(e,a),o){var s=document.querySelector("meta[name=theme-color]");if(s){s.hasAttribute("default-content")||s.setAttribute("default-content",s.getAttribute("content"));var c=a["--primary-color"]||s.getAttribute("default-content");s.setAttribute("content",c)}}}(this,this.hass.themes,this.hass.selectedTheme,!0),this.addEventListener("hass-api-called",function(t){return e.apiCalled(t)}),this.addEventListener("hass-toggle-menu",function(){i(window.parent.customPanel,e.hass.dockedSidebar?"hass-close-menu":"hass-open-menu")}),window.addEventListener("location-changed",function(t){return i(e,t.type,t.detail,{bubbles:!1})})}},{key:"connectedCallback",value:function(){Tr(Ar(t.prototype),"connectedCallback",this).call(this),this.routeChanged(this.route)}},{key:"apiCalled",value:function(e){var t=this;if(e.detail.success){var n=1;!function e(){t.$.data.refresh().catch(function(){n+=1,setTimeout(e,1e3*Math.min(n,5))})}()}}},{key:"computeIsLoaded",value:function(e,t,n){return null!==e&&null!==t&&null!==n}},{key:"routeChanged",value:function(e){""===e.path&&"/hassio"===e.prefix&&this.navigate("/hassio/dashboard",!0),i(this,"iron-resize")}},{key:"equalsAddon",value:function(e){return e&&"addon"===e}}])&&Er(n.prototype,a),s&&Er(n,s),t}();customElements.define("hassio-main",Dr)},35:function(e,t){var n=document.createElement("template");n.setAttribute("style","display: none;"),n.innerHTML='\n \n',document.head.appendChild(n.content)}}]); \ No newline at end of file diff --git a/hassio/api/panel/chunk.7b2353341ba15ea393c7.js.gz b/hassio/api/panel/chunk.7b2353341ba15ea393c7.js.gz deleted file mode 100644 index 4ea31fd75..000000000 Binary files a/hassio/api/panel/chunk.7b2353341ba15ea393c7.js.gz and /dev/null differ diff --git a/hassio/api/panel/chunk.8038876231b1b1817795.js b/hassio/api/panel/chunk.8038876231b1b1817795.js deleted file mode 100644 index 58e043526..000000000 --- a/hassio/api/panel/chunk.8038876231b1b1817795.js +++ /dev/null @@ -1,3 +0,0 @@ -/*! For license information please see chunk.8038876231b1b1817795.js.LICENSE */ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],[,,,,,,,,,function(e,t,n){"use strict";n(3);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n\n\n \n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content);var o=document.createElement("style");o.textContent="[hidden] { display: none !important; }",document.head.appendChild(o)},,function(e,t,n){"use strict";n(3),n(24);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n'],['\n\n \n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},function(e,t,n){"use strict";n(3),n(9);var i=n(5),r=n(4),a=n(30);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n \n \n
    \n'],['\n \n\n \n \n \n
    \n']);return o=function(){return e},e}Object(i.a)({_template:Object(r.a)(o()),is:"iron-image",properties:{src:{type:String,value:""},alt:{type:String,value:null},crossorigin:{type:String,value:null},preventLoad:{type:Boolean,value:!1},sizing:{type:String,value:null,reflectToAttribute:!0},position:{type:String,value:"center"},preload:{type:Boolean,value:!1},placeholder:{type:String,value:null,observer:"_placeholderChanged"},fade:{type:Boolean,value:!1},loaded:{notify:!0,readOnly:!0,type:Boolean,value:!1},loading:{notify:!0,readOnly:!0,type:Boolean,value:!1},error:{notify:!0,readOnly:!0,type:Boolean,value:!1},width:{observer:"_widthChanged",type:Number,value:null},height:{observer:"_heightChanged",type:Number,value:null}},observers:["_transformChanged(sizing, position)","_loadStateObserver(src, preventLoad)"],created:function(){this._resolvedSrc=""},_imgOnLoad:function(){this.$.img.src===this._resolveSrc(this.src)&&(this._setLoading(!1),this._setLoaded(!0),this._setError(!1))},_imgOnError:function(){this.$.img.src===this._resolveSrc(this.src)&&(this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",this._setLoading(!1),this._setLoaded(!1),this._setError(!0))},_computePlaceholderHidden:function(){return!this.preload||!this.fade&&!this.loading&&this.loaded},_computePlaceholderClassName:function(){return this.preload&&this.fade&&!this.loading&&this.loaded?"faded-out":""},_computeImgDivHidden:function(){return!this.sizing},_computeImgDivARIAHidden:function(){return""===this.alt?"true":void 0},_computeImgDivARIALabel:function(){return null!==this.alt?this.alt:""===this.src?"":this._resolveSrc(this.src).replace(/[?|#].*/g,"").split("/").pop()},_computeImgHidden:function(){return!!this.sizing},_widthChanged:function(){this.style.width=isNaN(this.width)?this.width:this.width+"px"},_heightChanged:function(){this.style.height=isNaN(this.height)?this.height:this.height+"px"},_loadStateObserver:function(e,t){var n=this._resolveSrc(e);n!==this._resolvedSrc&&(this._resolvedSrc="",this.$.img.removeAttribute("src"),this.$.sizedImgDiv.style.backgroundImage="",""===e||t?(this._setLoading(!1),this._setLoaded(!1),this._setError(!1)):(this._resolvedSrc=n,this.$.img.src=this._resolvedSrc,this.$.sizedImgDiv.style.backgroundImage='url("'+this._resolvedSrc+'")',this._setLoading(!0),this._setLoaded(!1),this._setError(!1)))},_placeholderChanged:function(){this.$.placeholder.style.backgroundImage=this.placeholder?'url("'+this.placeholder+'")':""},_transformChanged:function(){var e=this.$.sizedImgDiv.style,t=this.$.placeholder.style;e.backgroundSize=t.backgroundSize=this.sizing,e.backgroundPosition=t.backgroundPosition=this.sizing?this.position:"",e.backgroundRepeat=t.backgroundRepeat=this.sizing?"no-repeat":""},_resolveSrc:function(e){var t=Object(a.c)(e,this.$.baseURIAnchor.href);return"/"===t[0]&&(t=(location.origin||location.protocol+"//"+location.host)+t),t}});n(45);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n']);return s=function(){return e},e}var l=Object(r.a)(s());l.setAttribute("style","display: none;"),document.head.appendChild(l.content);n(11);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n'],['\n \n\n
    \n \n
    [[heading]]
    \n
    \n\n \n']);return c=function(){return e},e}Object(i.a)({_template:Object(r.a)(c()),is:"paper-card",properties:{heading:{type:String,value:"",observer:"_headingChanged"},image:{type:String,value:""},alt:{type:String},preloadImage:{type:Boolean,value:!1},fadeImage:{type:Boolean,value:!1},placeholderImage:{type:String,value:null},elevation:{type:Number,value:1,reflectToAttribute:!0},animatedShadow:{type:Boolean,value:!1},animated:{type:Boolean,reflectToAttribute:!0,readOnly:!0,computed:"_computeAnimated(animatedShadow)"}},_isHidden:function(e){return e?"false":"true"},_headingChanged:function(e){var t=this.getAttribute("heading"),n=this.getAttribute("aria-label");"string"==typeof n&&n!==t||this.setAttribute("aria-label",e)},_computeHeadingClass:function(e){return e?" over-image":""},_computeAnimated:function(e){return e}})},function(e,t,n){"use strict";var i=n(14);function r(e,t){for(var n=0;n1?t-1:0),i=1;i0&&void 0!==arguments[0]?arguments[0]:this.startNode;Object(r.b)(this.startNode.parentNode,e.nextSibling,this.endNode)}}]),e}(),w=function(){function e(t,n,i){if(f(this,e),this.value=void 0,this._pendingValue=void 0,2!==i.length||""!==i[0]||""!==i[1])throw new Error("Boolean attributes can only contain a single expression");this.element=t,this.name=n,this.strings=i}return b(e,[{key:"setValue",value:function(e){this._pendingValue=e}},{key:"commit",value:function(){for(;Object(i.b)(this._pendingValue);){var e=this._pendingValue;this._pendingValue=a.a,e(this)}if(this._pendingValue!==a.a){var t=!!this._pendingValue;this.value!==t&&(t?this.element.setAttribute(this.name,""):this.element.removeAttribute(this.name)),this.value=t,this._pendingValue=a.a}}}]),e}(),k=function(e){function t(e,n,i){var r;return f(this,t),(r=c(this,d(t).call(this,e,n,i))).single=2===i.length&&""===i[0]&&""===i[1],r}return u(t,y),b(t,[{key:"_createPart",value:function(){return new S(this)}},{key:"_getValue",value:function(){return this.single?this.parts[0].value:p(d(t.prototype),"_getValue",this).call(this)}},{key:"commit",value:function(){this.dirty&&(this.dirty=!1,this.element[this.name]=this._getValue())}}]),t}(),S=function(e){function t(){return f(this,t),c(this,d(t).apply(this,arguments))}return u(t,_),t}(),C=!1;try{var A={get capture(){return C=!0,!1}};window.addEventListener("test",A,A),window.removeEventListener("test",A,A)}catch(e){}var O=function(){function e(t,n,i){var r=this;f(this,e),this.value=void 0,this._pendingValue=void 0,this.element=t,this.eventName=n,this.eventContext=i,this._boundHandleEvent=function(e){return r.handleEvent(e)}}return b(e,[{key:"setValue",value:function(e){this._pendingValue=e}},{key:"commit",value:function(){for(;Object(i.b)(this._pendingValue);){var e=this._pendingValue;this._pendingValue=a.a,e(this)}if(this._pendingValue!==a.a){var t=this._pendingValue,n=this.value,r=null==t||null!=n&&(t.capture!==n.capture||t.once!==n.once||t.passive!==n.passive),o=null!=t&&(null==n||r);r&&this.element.removeEventListener(this.eventName,this._boundHandleEvent,this._options),o&&(this._options=T(t),this.element.addEventListener(this.eventName,this._boundHandleEvent,this._options)),this.value=t,this._pendingValue=a.a}}},{key:"handleEvent",value:function(e){"function"==typeof this.value?this.value.call(this.eventContext||this.element,e):this.value.handleEvent(e)}}]),e}(),T=function(e){return e&&(C?{capture:e.capture,passive:e.passive,once:e.once}:e.capture)}},function(e,t,n){"use strict";var i=n(22),r=n(56);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['.mdc-button{font-family:Roboto,sans-serif;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-size:.875rem;line-height:2.25rem;font-weight:500;letter-spacing:.0892857143em;text-decoration:none;text-transform:uppercase;padding:0 8px 0 8px;display:inline-flex;position:relative;align-items:center;justify-content:center;box-sizing:border-box;min-width:64px;height:36px;border:none;outline:none;line-height:inherit;user-select:none;-webkit-appearance:none;overflow:hidden;vertical-align:middle;border-radius:4px}.mdc-button::-moz-focus-inner{padding:0;border:0}.mdc-button:active{outline:none}.mdc-button:hover{cursor:pointer}.mdc-button:disabled{background-color:transparent;color:rgba(0,0,0,.37);cursor:default;pointer-events:none}.mdc-button.mdc-button--dense{border-radius:4px}.mdc-button:not(:disabled){background-color:transparent}.mdc-button .mdc-button__icon{margin-left:0;margin-right:8px;display:inline-block;width:18px;height:18px;font-size:18px;vertical-align:top}[dir=rtl] .mdc-button .mdc-button__icon,.mdc-button .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:0}.mdc-button:not(:disabled){color:#6200ee;color:var(--mdc-theme-primary, #6200ee)}.mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:0}[dir=rtl] .mdc-button__label+.mdc-button__icon,.mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:0;margin-right:8px}svg.mdc-button__icon{fill:currentColor}.mdc-button--raised .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon,.mdc-button--outlined .mdc-button__icon{margin-left:-4px;margin-right:8px}[dir=rtl] .mdc-button--raised .mdc-button__icon,.mdc-button--raised .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__icon,.mdc-button--unelevated .mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__icon,.mdc-button--outlined .mdc-button__icon[dir=rtl]{margin-left:8px;margin-right:-4px}.mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon{margin-left:8px;margin-right:-4px}[dir=rtl] .mdc-button--raised .mdc-button__label+.mdc-button__icon,.mdc-button--raised .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--unelevated .mdc-button__label+.mdc-button__icon,.mdc-button--unelevated .mdc-button__label+.mdc-button__icon[dir=rtl],[dir=rtl] .mdc-button--outlined .mdc-button__label+.mdc-button__icon,.mdc-button--outlined .mdc-button__label+.mdc-button__icon[dir=rtl]{margin-left:-4px;margin-right:8px}.mdc-button--raised,.mdc-button--unelevated{padding:0 16px 0 16px}.mdc-button--raised:disabled,.mdc-button--unelevated:disabled{background-color:rgba(0,0,0,.12);color:rgba(0,0,0,.37)}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:#6200ee}@supports not (-ms-ime-align: auto){.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){background-color:var(--mdc-theme-primary, #6200ee)}}.mdc-button--raised:not(:disabled),.mdc-button--unelevated:not(:disabled){color:#fff;color:var(--mdc-theme-on-primary, #fff)}.mdc-button--raised{box-shadow:0px 3px 1px -2px rgba(0, 0, 0, 0.2),0px 2px 2px 0px rgba(0, 0, 0, 0.14),0px 1px 5px 0px rgba(0,0,0,.12);transition:box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1)}.mdc-button--raised:hover,.mdc-button--raised:focus{box-shadow:0px 2px 4px -1px rgba(0, 0, 0, 0.2),0px 4px 5px 0px rgba(0, 0, 0, 0.14),0px 1px 10px 0px rgba(0,0,0,.12)}.mdc-button--raised:active{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2),0px 8px 10px 1px rgba(0, 0, 0, 0.14),0px 3px 14px 2px rgba(0,0,0,.12)}.mdc-button--raised:disabled{box-shadow:0px 0px 0px 0px rgba(0, 0, 0, 0.2),0px 0px 0px 0px rgba(0, 0, 0, 0.14),0px 0px 0px 0px rgba(0,0,0,.12)}.mdc-button--outlined{border-style:solid;padding:0 14px 0 14px;border-width:2px}.mdc-button--outlined:disabled{border-color:rgba(0,0,0,.37)}.mdc-button--outlined:not(:disabled){border-color:#6200ee;border-color:var(--mdc-theme-primary, #6200ee)}.mdc-button--dense{height:32px;font-size:.8125rem}@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}.mdc-ripple-surface--test-edge-var-bug{--mdc-ripple-surface-test-edge-var: 1px solid #000;visibility:hidden}.mdc-ripple-surface--test-edge-var-bug::before{border:var(--mdc-ripple-surface-test-edge-var)}.mdc-button{--mdc-ripple-fg-size: 0;--mdc-ripple-left: 0;--mdc-ripple-top: 0;--mdc-ripple-fg-scale: 1;--mdc-ripple-fg-translate-end: 0;--mdc-ripple-fg-translate-start: 0;-webkit-tap-highlight-color:rgba(0,0,0,0);will-change:transform,opacity}.mdc-button::before,.mdc-button::after{position:absolute;border-radius:50%;opacity:0;pointer-events:none;content:""}.mdc-button::before{transition:opacity 15ms linear,background-color 15ms linear;z-index:1}.mdc-button.mdc-ripple-upgraded::before{transform:scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button.mdc-ripple-upgraded::after{top:0;left:0;transform:scale(0);transform-origin:center center}.mdc-button.mdc-ripple-upgraded--unbounded::after{top:var(--mdc-ripple-top, 0);left:var(--mdc-ripple-left, 0)}.mdc-button.mdc-ripple-upgraded--foreground-activation::after{animation:mdc-ripple-fg-radius-in 225ms forwards,mdc-ripple-fg-opacity-in 75ms forwards}.mdc-button.mdc-ripple-upgraded--foreground-deactivation::after{animation:mdc-ripple-fg-opacity-out 150ms;transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}.mdc-button::before,.mdc-button::after{top:calc(50% - 100%);left:calc(50% - 100%);width:200%;height:200%}.mdc-button.mdc-ripple-upgraded::after{width:var(--mdc-ripple-fg-size, 100%);height:var(--mdc-ripple-fg-size, 100%)}.mdc-button::before,.mdc-button::after{background-color:#6200ee}@supports not (-ms-ime-align: auto){.mdc-button::before,.mdc-button::after{background-color:var(--mdc-theme-primary, #6200ee)}}.mdc-button:hover::before{opacity:.04}.mdc-button:not(.mdc-ripple-upgraded):focus::before,.mdc-button.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.12}.mdc-button:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.12}.mdc-button.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.12}.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:#fff}@supports not (-ms-ime-align: auto){.mdc-button--raised::before,.mdc-button--raised::after,.mdc-button--unelevated::before,.mdc-button--unelevated::after{background-color:var(--mdc-theme-on-primary, #fff)}}.mdc-button--raised:hover::before,.mdc-button--unelevated:hover::before{opacity:.08}.mdc-button--raised:not(.mdc-ripple-upgraded):focus::before,.mdc-button--raised.mdc-ripple-upgraded--background-focused::before,.mdc-button--unelevated:not(.mdc-ripple-upgraded):focus::before,.mdc-button--unelevated.mdc-ripple-upgraded--background-focused::before{transition-duration:75ms;opacity:.24}.mdc-button--raised:not(.mdc-ripple-upgraded)::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-button--raised:not(.mdc-ripple-upgraded):active::after,.mdc-button--unelevated:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms;opacity:.24}.mdc-button--raised.mdc-ripple-upgraded,.mdc-button--unelevated.mdc-ripple-upgraded{--mdc-ripple-fg-opacity: 0.24}.material-icons{font-family:var(--mdc-icon-font, "Material Icons");font-weight:normal;font-style:normal;font-size:var(--mdc-icon-size, 24px);line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased}:host{display:inline-flex;outline:none}:host([disabled]){pointer-events:none}.mdc-button{flex:1}']);return a=function(){return e},e}var o=Object(i.b)(a()),s=n(13);var l=function(e,t){return(l=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};var c=function(){return(c=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0&&y.some(function(e){return t.adapter_.containsEventTarget(e)})?this.resetActivationState_():(void 0!==e&&(y.push(e.target),this.registerDeactivationHandlers_(e)),n.wasElementMadeActive=this.checkElementMadeActive_(e),n.wasElementMadeActive&&this.animateActivation_(),requestAnimationFrame(function(){y=[],n.wasElementMadeActive||void 0===e||" "!==e.key&&32!==e.keyCode||(n.wasElementMadeActive=t.checkElementMadeActive_(e),n.wasElementMadeActive&&t.animateActivation_()),n.wasElementMadeActive||(t.activationState_=t.defaultActivationState_())}))}}},t.prototype.checkElementMadeActive_=function(e){return void 0===e||"keydown"!==e.type||this.adapter_.isSurfaceActive()},t.prototype.animateActivation_=function(){var e=this,n=t.strings,i=n.VAR_FG_TRANSLATE_START,r=n.VAR_FG_TRANSLATE_END,a=t.cssClasses,o=a.FG_DEACTIVATION,s=a.FG_ACTIVATION,l=t.numbers.DEACTIVATION_TIMEOUT_MS;this.layoutInternal_();var c="",p="";if(!this.adapter_.isUnbounded()){var d=this.getFgTranslationCoordinates_(),u=d.startPoint,h=d.endPoint;c=u.x+"px, "+u.y+"px",p=h.x+"px, "+h.y+"px"}this.adapter_.updateCssVariable(i,c),this.adapter_.updateCssVariable(r,p),clearTimeout(this.activationTimer_),clearTimeout(this.fgDeactivationRemovalTimer_),this.rmBoundedActivationClasses_(),this.adapter_.removeClass(o),this.adapter_.computeBoundingRect(),this.adapter_.addClass(s),this.activationTimer_=setTimeout(function(){return e.activationTimerCallback_()},l)},t.prototype.getFgTranslationCoordinates_=function(){var e,t=this.activationState_,n=t.activationEvent;return{startPoint:e={x:(e=t.wasActivatedByPointer?function(e,t,n){if(!e)return{x:0,y:0};var i,r,a=t.x,o=t.y,s=a+n.left,l=o+n.top;if("touchstart"===e.type){var c=e;i=c.changedTouches[0].pageX-s,r=c.changedTouches[0].pageY-l}else{var p=e;i=p.pageX-s,r=p.pageY-l}return{x:i,y:r}}(n,this.adapter_.getWindowPageOffset(),this.adapter_.computeBoundingRect()):{x:this.frame_.width/2,y:this.frame_.height/2}).x-this.initialSize_/2,y:e.y-this.initialSize_/2},endPoint:{x:this.frame_.width/2-this.initialSize_/2,y:this.frame_.height/2-this.initialSize_/2}}},t.prototype.runDeactivationUXLogicIfReady_=function(){var e=this,n=t.cssClasses.FG_DEACTIVATION,i=this.activationState_,r=i.hasDeactivationUXRun,a=i.isActivated;(r||!a)&&this.activationAnimationHasEnded_&&(this.rmBoundedActivationClasses_(),this.adapter_.addClass(n),this.fgDeactivationRemovalTimer_=setTimeout(function(){e.adapter_.removeClass(n)},m.FG_DEACTIVATION_MS))},t.prototype.rmBoundedActivationClasses_=function(){var e=t.cssClasses.FG_ACTIVATION;this.adapter_.removeClass(e),this.activationAnimationHasEnded_=!1,this.adapter_.computeBoundingRect()},t.prototype.resetActivationState_=function(){var e=this;this.previousActivationEvent_=this.activationState_.activationEvent,this.activationState_=this.defaultActivationState_(),setTimeout(function(){return e.previousActivationEvent_=void 0},t.numbers.TAP_DELAY_MS)},t.prototype.deactivate_=function(){var e=this,t=this.activationState_;if(t.isActivated){var n=c({},t);t.isProgrammatic?(requestAnimationFrame(function(){return e.animateDeactivation_(n)}),this.resetActivationState_()):(this.deregisterDeactivationHandlers_(),requestAnimationFrame(function(){e.activationState_.hasDeactivationUXRun=!0,e.animateDeactivation_(n),e.resetActivationState_()}))}},t.prototype.animateDeactivation_=function(e){var t=e.wasActivatedByPointer,n=e.wasElementMadeActive;(t||n)&&this.runDeactivationUXLogicIfReady_()},t.prototype.layoutInternal_=function(){var e=this;this.frame_=this.adapter_.computeBoundingRect();var n=Math.max(this.frame_.height,this.frame_.width);this.maxRadius_=this.adapter_.isUnbounded()?n:Math.sqrt(Math.pow(e.frame_.width,2)+Math.pow(e.frame_.height,2))+t.numbers.PADDING,this.initialSize_=Math.floor(n*t.numbers.INITIAL_ORIGIN_SCALE),this.fgScale_=""+this.maxRadius_/this.initialSize_,this.updateLayoutCssVars_()},t.prototype.updateLayoutCssVars_=function(){var e=t.strings,n=e.VAR_FG_SIZE,i=e.VAR_LEFT,r=e.VAR_TOP,a=e.VAR_FG_SCALE;this.adapter_.updateCssVariable(n,this.initialSize_+"px"),this.adapter_.updateCssVariable(a,this.fgScale_),this.adapter_.isUnbounded()&&(this.unboundedCoords_={left:Math.round(this.frame_.width/2-this.initialSize_/2),top:Math.round(this.frame_.height/2-this.initialSize_/2)},this.adapter_.updateCssVariable(i,this.unboundedCoords_.left+"px"),this.adapter_.updateCssVariable(r,this.unboundedCoords_.top+"px"))},t}(u);function x(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["@keyframes mdc-ripple-fg-radius-in{from{animation-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transform:translate(var(--mdc-ripple-fg-translate-start, 0)) scale(1)}to{transform:translate(var(--mdc-ripple-fg-translate-end, 0)) scale(var(--mdc-ripple-fg-scale, 1))}}@keyframes mdc-ripple-fg-opacity-in{from{animation-timing-function:linear;opacity:0}to{opacity:var(--mdc-ripple-fg-opacity, 0)}}@keyframes mdc-ripple-fg-opacity-out{from{animation-timing-function:linear;opacity:var(--mdc-ripple-fg-opacity, 0)}to{opacity:0}}"]);return x=function(){return e},e}var w=Object(i.b)(x());function k(e,t){return(e.matches||e.webkitMatchesSelector||e.msMatchesSelector).call(e,t)}var S=function(e,t){void 0===t&&(t=!1);var n=e.CSS,i=p;if("boolean"==typeof p&&!t)return p;if(!n||"function"!=typeof n.supports)return!1;var r=n.supports("--css-vars","yes"),a=n.supports("(--css-vars: yes)")&&n.supports("color","#00000000");return i=!(!r&&!a||function(e){var t=e.document,n=t.createElement("div");n.className="mdc-ripple-surface--test-edge-var-bug",t.body.appendChild(n);var i=e.getComputedStyle(n),r=null!==i&&"solid"===i.borderTopStyle;return n.remove(),r}(e)),t||(p=i),i}(window),C=navigator.userAgent.match(/Safari/),A=!1,O=function(e){C&&!A&&function(){A=!0;var e=new s.b({templateFactory:s.h});e.appendInto(document.head),e.setValue(w),e.commit()}();var t=e.surfaceNode,n=e.interactionNode||t;n.getRootNode()!==t.getRootNode()&&""===n.style.position&&(n.style.position="relative");var i=new _({browserSupportsCssVars:function(){return S},isUnbounded:function(){return void 0===e.unbounded||e.unbounded},isSurfaceActive:function(){return k(n,":active")},isSurfaceDisabled:function(){return Boolean(e.disabled)},addClass:function(e){return t.classList.add(e)},removeClass:function(e){return t.classList.remove(e)},containsEventTarget:function(e){return n.contains(e)},registerInteractionHandler:function(e,t){return n.addEventListener(e,t,b())},deregisterInteractionHandler:function(e,t){return n.removeEventListener(e,t,b())},registerDocumentInteractionHandler:function(e,t){return document.documentElement.addEventListener(e,t,b())},deregisterDocumentInteractionHandler:function(e,t){return document.documentElement.removeEventListener(e,t,b())},registerResizeHandler:function(e){return window.addEventListener("resize",e)},deregisterResizeHandler:function(e){return window.removeEventListener("resize",e)},updateCssVariable:function(e,n){return t.style.setProperty(e,n)},computeBoundingRect:function(){return n.getBoundingClientRect()},getWindowPageOffset:function(){return{x:window.pageXOffset,y:window.pageYOffset}}});return i.init(),i},T=new WeakMap,E=Object(s.e)(function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function(t){var n=t.committer.element,i=e.interactionNode||n,r=t.value,a=T.get(r);void 0!==a&&a!==i&&(r.destroy(),r=s.g),r===s.g?(r=O(Object.assign({},e,{surfaceNode:n})),T.set(r,i),t.setValue(r)):(void 0!==e.unbounded&&r.setUnbounded(e.unbounded),void 0!==e.disabled&&r.setUnbounded(e.disabled)),!0===e.active?r.activate():!1===e.active&&r.deactivate()}});n(94);function z(){var e=R(['\n \n ','\n ',"\n ","\n \n "]);return z=function(){return e},e}function I(){var e=R(['',""]);return I=function(){return e},e}function R(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function j(e,t){for(var n=0;n=0;s--)(r=e[s])&&(o=(a<3?r(o):a>3?r(t,n,o):r(t,n))||o);return a>3&&o&&Object.defineProperty(t,n,o),o},F=function(e){function t(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),(e=P(this,N(t).apply(this,arguments))).raised=!1,e.unelevated=!1,e.outlined=!1,e.dense=!1,e.disabled=!1,e.trailingIcon=!1,e.icon="",e.label="",e}var n,a,o;return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&B(e,t)}(t,i["a"]),n=t,(a=[{key:"createRenderRoot",value:function(){return this.attachShadow({mode:"open",delegatesFocus:!0})}},{key:"render",value:function(){var e={"mdc-button--raised":this.raised,"mdc-button--unelevated":this.unelevated,"mdc-button--outlined":this.outlined,"mdc-button--dense":this.dense},t=Object(i.d)(I(),this.icon);return Object(i.d)(z(),E({unbounded:!1}),Object(r.a)(e),this.disabled,this.label||this.icon,this.icon&&!this.trailingIcon?t:"",this.label,this.icon&&this.trailingIcon?t:"")}}])&&j(n.prototype,a),o&&j(n,o),t}();F.styles=o,D([Object(i.e)({type:Boolean})],F.prototype,"raised",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"unelevated",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"outlined",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"dense",void 0),D([Object(i.e)({type:Boolean,reflect:!0})],F.prototype,"disabled",void 0),D([Object(i.e)({type:Boolean})],F.prototype,"trailingIcon",void 0),D([Object(i.e)()],F.prototype,"icon",void 0),D([Object(i.e)()],F.prototype,"label",void 0),F=D([Object(i.c)("mwc-button")],F)},function(e,t,n){"use strict";n.d(t,"f",function(){return i}),n.d(t,"g",function(){return r}),n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s}),n.d(t,"d",function(){return l}),n.d(t,"c",function(){return c}),n.d(t,"e",function(){return p});var i="{{lit-".concat(String(Math.random()).slice(2),"}}"),r="\x3c!--".concat(i,"--\x3e"),a=new RegExp("".concat(i,"|").concat(r)),o="$lit$",s=function e(t,n){var r=this;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.parts=[],this.element=n;var s=-1,l=0,d=[];!function e(n){for(var u=n.content,h=document.createTreeWalker(u,133,null,!1),f=0;h.nextNode();){s++;var m=h.currentNode;if(1===m.nodeType){if(m.hasAttributes()){for(var b=m.attributes,g=0,v=0;v=0&&g++;for(;g-- >0;){var y=t.strings[l],_=p.exec(y)[2],x=_.toLowerCase()+o,w=m.getAttribute(x).split(a);r.parts.push({type:"attribute",index:s,name:_,strings:w}),m.removeAttribute(x),l+=w.length-1}}"TEMPLATE"===m.tagName&&e(m)}else if(3===m.nodeType){var k=m.data;if(k.indexOf(i)>=0){for(var S=m.parentNode,C=k.split(a),A=C.length-1,O=0;O=\/]+)([ \x09\x0a\x0c\x0d]*=[ \x09\x0a\x0c\x0d]*(?:[^ \x09\x0a\x0c\x0d"'`<>=]*|"[^"]*|'[^']*))$/},,function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3),n(6);var i={properties:{focused:{type:Boolean,value:!1,notify:!0,readOnly:!0,reflectToAttribute:!0},disabled:{type:Boolean,value:!1,notify:!0,observer:"_disabledChanged",reflectToAttribute:!0},_oldTabIndex:{type:String},_boundFocusBlurHandler:{type:Function,value:function(){return this._focusBlurHandler.bind(this)}}},observers:["_changedControlState(focused, disabled)"],ready:function(){this.addEventListener("focus",this._boundFocusBlurHandler,!0),this.addEventListener("blur",this._boundFocusBlurHandler,!0)},_focusBlurHandler:function(e){this._setFocused("focus"===e.type)},_disabledChanged:function(e,t){this.setAttribute("aria-disabled",e?"true":"false"),this.style.pointerEvents=e?"none":"",e?(this._oldTabIndex=this.getAttribute("tabindex"),this._setFocused(!1),this.tabIndex=-1,this.blur()):void 0!==this._oldTabIndex&&(null===this._oldTabIndex?this.removeAttribute("tabindex"):this.setAttribute("tabindex",this._oldTabIndex))},_changedControlState:function(){this._controlStateChanged&&this._controlStateChanged()}}},function(e,t,n){"use strict";n.d(t,"a",function(){return m});n(3);var i={"U+0008":"backspace","U+0009":"tab","U+001B":"esc","U+0020":"space","U+007F":"del"},r={8:"backspace",9:"tab",13:"enter",27:"esc",33:"pageup",34:"pagedown",35:"end",36:"home",32:"space",37:"left",38:"up",39:"right",40:"down",46:"del",106:"*"},a={shift:"shiftKey",ctrl:"ctrlKey",alt:"altKey",meta:"metaKey"},o=/[a-z0-9*]/,s=/U\+/,l=/^arrow/,c=/^space(bar)?/,p=/^escape$/;function d(e,t){var n="";if(e){var i=e.toLowerCase();" "===i||c.test(i)?n="space":p.test(i)?n="esc":1==i.length?t&&!o.test(i)||(n=i):n=l.test(i)?i.replace("arrow",""):"multiply"==i?"*":i}return n}function u(e,t){return e.key?d(e.key,t):e.detail&&e.detail.key?d(e.detail.key,t):(n=e.keyIdentifier,a="",n&&(n in i?a=i[n]:s.test(n)?(n=parseInt(n.replace("U+","0x"),16),a=String.fromCharCode(n).toLowerCase()):a=n.toLowerCase()),a||function(e){var t="";return Number(e)&&(t=e>=65&&e<=90?String.fromCharCode(32+e):e>=112&&e<=123?"f"+(e-112+1):e>=48&&e<=57?String(e-48):e>=96&&e<=105?String(e-96):r[e]),t}(e.keyCode)||"");var n,a}function h(e,t){return u(t,e.hasModifiers)===e.key&&(!e.hasModifiers||!!t.shiftKey==!!e.shiftKey&&!!t.ctrlKey==!!e.ctrlKey&&!!t.altKey==!!e.altKey&&!!t.metaKey==!!e.metaKey)}function f(e){return e.trim().split(" ").map(function(e){return function(e){return 1===e.length?{combo:e,key:e,event:"keydown"}:e.split("+").reduce(function(e,t){var n=t.split(":"),i=n[0],r=n[1];return i in a?(e[a[i]]=!0,e.hasModifiers=!0):(e.key=i,e.event=r||"keydown"),e},{combo:e.split(":").shift()})}(e)})}var m={properties:{keyEventTarget:{type:Object,value:function(){return this}},stopKeyboardEventPropagation:{type:Boolean,value:!1},_boundKeyHandlers:{type:Array,value:function(){return[]}},_imperativeKeyBindings:{type:Object,value:function(){return{}}}},observers:["_resetKeyEventListeners(keyEventTarget, _boundKeyHandlers)"],keyBindings:{},registered:function(){this._prepKeyBindings()},attached:function(){this._listenKeyEventListeners()},detached:function(){this._unlistenKeyEventListeners()},addOwnKeyBinding:function(e,t){this._imperativeKeyBindings[e]=t,this._prepKeyBindings(),this._resetKeyEventListeners()},removeOwnKeyBindings:function(){this._imperativeKeyBindings={},this._prepKeyBindings(),this._resetKeyEventListeners()},keyboardEventMatchesKeys:function(e,t){for(var n=f(t),i=0;i2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,r=t;r!==n;){var a=r.nextSibling;e.insertBefore(r,i),r=a}},a=function(e,t){for(var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=t;i!==n;){var r=i.nextSibling;e.removeChild(i),i=r}}},function(e,t,n){"use strict";var i=n(13),r=n(21),a=n(16),o=133;function s(e,t){for(var n=e.element.content,i=e.parts,r=document.createTreeWalker(n,o,null,!1),a=c(i),s=i[a],l=-1,p=0,d=[],u=null;r.nextNode();){l++;var h=r.currentNode;for(h.previousSibling===u&&(u=null),t.has(h)&&(d.push(h),null===u&&(u=h)),null!==u&&p++;void 0!==s&&s.index===l;)s.index=null!==u?-1:s.index-p,s=i[a=c(i,a)]}d.forEach(function(e){return e.parentNode.removeChild(e)})}var l=function(e){for(var t=11===e.nodeType?0:1,n=document.createTreeWalker(e,o,null,!1);n.nextNode();)t++;return t},c=function(e){for(var t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1)+1;t2&&void 0!==arguments[2]?arguments[2]:null,i=e.element.content,r=e.parts;if(null!=n)for(var a=document.createTreeWalker(i,o,null,!1),s=c(r),p=0,d=-1;a.nextNode();)for(d++,a.currentNode===n&&(p=l(t),n.parentNode.insertBefore(t,n));-1!==s&&r[s].index===d;){if(p>0){for(;-1!==s;)r[s].index+=p,s=c(r,s);return}s=c(r,s)}else i.appendChild(t)}(t,r,t.element.content.firstChild),window.ShadyCSS.prepareTemplateStyles(t.element,n),window.ShadyCSS.nativeShadow){var u=t.element.content.querySelector("style");e.insertBefore(u.cloneNode(!0),e.firstChild)}else{t.element.content.insertBefore(r,t.element.content.firstChild);var h=new Set;h.add(r),s(t,h)}}else window.ShadyCSS.prepareTemplateStyles(t.element,n)};function _(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t2&&void 0!==arguments[2]?arguments[2]:I,i=this.constructor,r=i._attributeNameForProperty(e,n);if(void 0!==r){var a=i._propertyValueToAttribute(t,n);if(void 0===a)return;this._updateState=8|this._updateState,null==a?this.removeAttribute(r):this.setAttribute(r,a),this._updateState=-9&this._updateState}}},{key:"_attributeToProperty",value:function(e,t){if(!(8&this._updateState)){var n=this.constructor,i=n._attributeToPropertyMap.get(e);if(void 0!==i){var r=n._classProperties.get(i)||I;this._updateState=16|this._updateState,this[i]=n._propertyValueFromAttribute(t,r),this._updateState=-17&this._updateState}}}},{key:"_requestUpdate",value:function(e,t){var n=!0;if(void 0!==e){var i=this.constructor,r=i._classProperties.get(e)||I;i._valueHasChanged(this[e],t,r.hasChanged)?(this._changedProperties.has(e)||this._changedProperties.set(e,t),!0!==r.reflect||16&this._updateState||(void 0===this._reflectingProperties&&(this._reflectingProperties=new Map),this._reflectingProperties.set(e,r))):n=!1}!this._hasRequestedUpdate&&n&&this._enqueueUpdate()}},{key:"requestUpdate",value:function(e,t){return this._requestUpdate(e,t),this.updateComplete}},{key:"_enqueueUpdate",value:function(){var e,t=(e=regeneratorRuntime.mark(function e(){var t,n,i,r,a=this;return regeneratorRuntime.wrap(function(e){for(;;)switch(e.prev=e.next){case 0:return this._updateState=4|this._updateState,i=this._updatePromise,this._updatePromise=new Promise(function(e,i){t=e,n=i}),e.prev=3,e.next=6,i;case 6:e.next=10;break;case 8:e.prev=8,e.t0=e.catch(3);case 10:if(this._hasConnected){e.next=13;break}return e.next=13,new Promise(function(e){return a._hasConnectedResolver=e});case 13:if(e.prev=13,null==(r=this.performUpdate())){e.next=18;break}return e.next=18,r;case 18:e.next=23;break;case 20:e.prev=20,e.t1=e.catch(13),n(e.t1);case 23:t(!this._hasRequestedUpdate);case 24:case"end":return e.stop()}},e,this,[[3,8],[13,20]])}),function(){var t=this,n=arguments;return new Promise(function(i,r){var a=e.apply(t,n);function o(e){w(a,i,r,o,s,"next",e)}function s(e){w(a,i,r,o,s,"throw",e)}o(void 0)})});return function(){return t.apply(this,arguments)}}()},{key:"performUpdate",value:function(){this._instanceProperties&&this._applyInstanceProperties();var e=!1,t=this._changedProperties;try{(e=this.shouldUpdate(t))&&this.update(t)}catch(t){throw e=!1,t}finally{this._markUpdated()}e&&(1&this._updateState||(this._updateState=1|this._updateState,this.firstUpdated(t)),this.updated(t))}},{key:"_markUpdated",value:function(){this._changedProperties=new Map,this._updateState=-5&this._updateState}},{key:"shouldUpdate",value:function(e){return!0}},{key:"update",value:function(e){var t=this;void 0!==this._reflectingProperties&&this._reflectingProperties.size>0&&(this._reflectingProperties.forEach(function(e,n){return t._propertyToAttribute(n,t[n],e)}),this._reflectingProperties=void 0)}},{key:"updated",value:function(e){}},{key:"firstUpdated",value:function(e){}},{key:"_hasConnected",get:function(){return 32&this._updateState}},{key:"_hasRequestedUpdate",get:function(){return 4&this._updateState}},{key:"hasUpdated",get:function(){return 1&this._updateState}},{key:"updateComplete",get:function(){return this._updatePromise}}],r=[{key:"_ensureClassProperties",value:function(){var e=this;if(!this.hasOwnProperty(JSCompiler_renameProperty("_classProperties",this))){this._classProperties=new Map;var t=Object.getPrototypeOf(this)._classProperties;void 0!==t&&t.forEach(function(t,n){return e._classProperties.set(n,t)})}}},{key:"createProperty",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:I;if(this._ensureClassProperties(),this._classProperties.set(e,t),!t.noAccessor&&!this.prototype.hasOwnProperty(e)){var n="symbol"===x(e)?Symbol():"__".concat(e);Object.defineProperty(this.prototype,e,{get:function(){return this[n]},set:function(t){var i=this[e];this[n]=t,this._requestUpdate(e,i)},configurable:!0,enumerable:!0})}}},{key:"finalize",value:function(){if(!this.hasOwnProperty(JSCompiler_renameProperty("finalized",this))||!this.finalized){var e=Object.getPrototypeOf(this);if("function"==typeof e.finalize&&e.finalize(),this.finalized=!0,this._ensureClassProperties(),this._attributeToPropertyMap=new Map,this.hasOwnProperty(JSCompiler_renameProperty("properties",this))){var t=this.properties,n=[].concat(_(Object.getOwnPropertyNames(t)),_("function"==typeof Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t):[])),i=!0,r=!1,a=void 0;try{for(var o,s=n[Symbol.iterator]();!(i=(o=s.next()).done);i=!0){var l=o.value;this.createProperty(l,t[l])}}catch(e){r=!0,a=e}finally{try{i||null==s.return||s.return()}finally{if(r)throw a}}}}}},{key:"_attributeNameForProperty",value:function(e,t){var n=t.attribute;return!1===n?void 0:"string"==typeof n?n:"string"==typeof e?e.toLowerCase():void 0}},{key:"_valueHasChanged",value:function(e,t){return(arguments.length>2&&void 0!==arguments[2]?arguments[2]:z)(e,t)}},{key:"_propertyValueFromAttribute",value:function(e,t){var n=t.type,i=t.converter||E,r="function"==typeof i?i:i.fromAttribute;return r?r(e,n):e}},{key:"_propertyValueToAttribute",value:function(e,t){if(void 0!==t.reflect){var n=t.type,i=t.converter;return(i&&i.toAttribute||E.toAttribute)(e,n)}}},{key:"observedAttributes",get:function(){var e=this;this.finalize();var t=[];return this._classProperties.forEach(function(n,i){var r=e._attributeNameForProperty(i,n);void 0!==r&&(e._attributeToPropertyMap.set(r,i),t.push(r))}),t}}],i&&k(n.prototype,i),r&&k(n,r),t}();j.finalized=!0;var P=function(e){return function(t){return"function"==typeof t?function(e,t){return window.customElements.define(e,t),t}(e,t):function(e,t){return{kind:t.kind,elements:t.elements,finisher:function(t){window.customElements.define(e,t)}}}(e,t)}},N=function(e,t){return"method"!==t.kind||!t.descriptor||"value"in t.descriptor?{kind:"field",key:Symbol(),placement:"own",descriptor:{},initializer:function(){"function"==typeof t.initializer&&(this[t.key]=t.initializer.call(this))},finisher:function(n){n.createProperty(t.key,e)}}:Object.assign({},t,{finisher:function(n){n.createProperty(t.key,e)}})},B=function(e,t,n){t.constructor.createProperty(n,e)};function L(e){return function(t,n){return void 0!==n?B(e,t,n):N(e,t)}}function D(e,t){for(var n=0;n1?t-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:[],i=0,r=t.length;i\n \n\n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},function(e,t,n){"use strict";n(3),n(26),n(11);var i=n(54),r=n(5),a=n(4);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n\n'],['\n\n \n\n']);return o=function(){return e},e}var s=Object(a.a)(o());s.setAttribute("style","display: none;"),document.body.appendChild(s.content),Object(r.a)({is:"paper-icon-button",hostAttributes:{role:"button",tabindex:"0"},behaviors:[i.a],properties:{src:{type:String},icon:{type:String},alt:{type:String,observer:"_altChanged"}},_altChanged:function(e,t){var n=this.getAttribute("aria-label");n&&t!=n||this.setAttribute("aria-label",e)}})},function(e,t,n){"use strict";n(9),n(53);var i=n(5),r=n(6),a=n(4),o=n(3);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return s=function(){return e},e}Object(i.a)({_template:Object(a.a)(s()),is:"iron-icon",properties:{icon:{type:String},theme:{type:String},src:{type:String},_meta:{value:o.a.create("iron-meta",{type:"iconset"})}},observers:["_updateIcon(_meta, isAttached)","_updateIcon(theme, isAttached)","_srcChanged(src, isAttached)","_iconChanged(icon, isAttached)"],_DEFAULT_ICONSET:"icons",_iconChanged:function(e){var t=(e||"").split(":");this._iconName=t.pop(),this._iconsetName=t.pop()||this._DEFAULT_ICONSET,this._updateIcon()},_srcChanged:function(e){this._updateIcon()},_usesIconset:function(){return this.icon||!this.src},_updateIcon:function(){this._usesIconset()?(this._img&&this._img.parentNode&&Object(r.a)(this.root).removeChild(this._img),""===this._iconName?this._iconset&&this._iconset.removeIcon(this):this._iconsetName&&this._meta&&(this._iconset=this._meta.byKey(this._iconsetName),this._iconset?(this._iconset.applyIcon(this,this._iconName,this.theme),this.unlisten(window,"iron-iconset-added","_updateIcon")):this.listen(window,"iron-iconset-added","_updateIcon"))):(this._iconset&&this._iconset.removeIcon(this),this._img||(this._img=document.createElement("img"),this._img.style.width="100%",this._img.style.height="100%",this._img.draggable=!1),this._img.src=this.src,Object(r.a)(this.root).appendChild(this._img))}})},,function(e,t,n){"use strict";n.d(t,"b",function(){return h}),n.d(t,"a",function(){return f});var i=n(21),r=n(16);function a(e){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(e,t){return!t||"object"!==a(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function s(e,t,n){return(s="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var i=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=l(e)););return e}(e,t);if(i){var r=Object.getOwnPropertyDescriptor(i,t);return r.get?r.get.call(n):r.value}})(e,t,n||e)}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function d(e,t){for(var n=0;n".concat(s(l(t.prototype),"getHTML",this).call(this),"")}},{key:"getTemplateElement",value:function(){var e=s(l(t.prototype),"getTemplateElement",this).call(this),n=e.content,r=n.firstChild;return n.removeChild(r),Object(i.c)(n,r.firstChild),e}}]),t}()},function(e,t,n){"use strict";n(3);if(!window.polymerSkipLoadingFontRoboto){var i=document.createElement("link");i.rel="stylesheet",i.type="text/css",i.crossOrigin="anonymous",i.href="https://fonts.googleapis.com/css?family=Roboto+Mono:400,700|Roboto:400,300,300italic,400italic,500,500italic,700,700italic",document.head.appendChild(i)}var r=n(4);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return a=function(){return e},e}var o=Object(r.a)(a());o.setAttribute("style","display: none;"),document.head.appendChild(o.content)},,,function(e,t,n){"use strict";n(3),n(9);var i=n(5),r=n(4);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return a=function(){return e},e}Object(i.a)({_template:Object(r.a)(a()),is:"app-toolbar"})},function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return a});var i=n(16);function r(e){var t=a.get(e.type);void 0===t&&(t={stringsArray:new WeakMap,keyString:new Map},a.set(e.type,t));var n=t.stringsArray.get(e.strings);if(void 0!==n)return n;var r=e.strings.join(i.f);return void 0===(n=t.keyString.get(r))&&(n=new i.a(e,e.getTemplateElement()),t.keyString.set(r,n)),t.stringsArray.set(e.strings,n),n}var a=new Map},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return o});n(3),n(18);var i=n(19),r=n(6),a={properties:{pressed:{type:Boolean,readOnly:!0,value:!1,reflectToAttribute:!0,observer:"_pressedChanged"},toggles:{type:Boolean,value:!1,reflectToAttribute:!0},active:{type:Boolean,value:!1,notify:!0,reflectToAttribute:!0},pointerDown:{type:Boolean,readOnly:!0,value:!1},receivedFocusFromKeyboard:{type:Boolean,readOnly:!0},ariaActiveAttribute:{type:String,value:"aria-pressed",observer:"_ariaActiveAttributeChanged"}},listeners:{down:"_downHandler",up:"_upHandler",tap:"_tapHandler"},observers:["_focusChanged(focused)","_activeChanged(active, ariaActiveAttribute)"],keyBindings:{"enter:keydown":"_asyncClick","space:keydown":"_spaceKeyDownHandler","space:keyup":"_spaceKeyUpHandler"},_mouseEventRe:/^mouse/,_tapHandler:function(){this.toggles?this._userActivate(!this.active):this.active=!1},_focusChanged:function(e){this._detectKeyboardFocus(e),e||this._setPressed(!1)},_detectKeyboardFocus:function(e){this._setReceivedFocusFromKeyboard(!this.pointerDown&&e)},_userActivate:function(e){this.active!==e&&(this.active=e,this.fire("change"))},_downHandler:function(e){this._setPointerDown(!0),this._setPressed(!0),this._setReceivedFocusFromKeyboard(!1)},_upHandler:function(){this._setPointerDown(!1),this._setPressed(!1)},_spaceKeyDownHandler:function(e){var t=e.detail.keyboardEvent,n=Object(r.a)(t).localTarget;this.isLightDescendant(n)||(t.preventDefault(),t.stopImmediatePropagation(),this._setPressed(!0))},_spaceKeyUpHandler:function(e){var t=e.detail.keyboardEvent,n=Object(r.a)(t).localTarget;this.isLightDescendant(n)||(this.pressed&&this._asyncClick(),this._setPressed(!1))},_asyncClick:function(){this.async(function(){this.click()},1)},_pressedChanged:function(e){this._changedButtonState()},_ariaActiveAttributeChanged:function(e,t){t&&t!=e&&this.hasAttribute(t)&&this.removeAttribute(t)},_activeChanged:function(e,t){this.toggles?this.setAttribute(this.ariaActiveAttribute,e?"true":"false"):this.removeAttribute(this.ariaActiveAttribute),this._changedButtonState()},_controlStateChanged:function(){this.disabled?this._setPressed(!1):this._changedButtonState()},_changedButtonState:function(){this._buttonStateChanged&&this._buttonStateChanged()}},o=[i.a,a]},,function(e,t,n){"use strict";n(3);var i=n(5),r=n(4);function a(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n
    [[_text]]
    \n'],['\n \n
    [[_text]]
    \n']);return a=function(){return e},e}var o=Object(i.a)({_template:Object(r.a)(a()),is:"iron-a11y-announcer",properties:{mode:{type:String,value:"polite"},_text:{type:String,value:""}},created:function(){o.instance||(o.instance=this),document.body.addEventListener("iron-announce",this._onIronAnnounce.bind(this))},announce:function(e){this._text="",this.async(function(){this._text=e},100)},_onIronAnnounce:function(e){e.detail&&e.detail.text&&this.announce(e.detail.text)}});o.instance=null,o.requestAvailability=function(){o.instance||(o.instance=document.createElement("iron-a11y-announcer")),document.body.appendChild(o.instance)};var s=n(46),l=n(6);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return c=function(){return e},e}Object(i.a)({_template:Object(r.a)(c()),is:"iron-input",behaviors:[s.a],properties:{bindValue:{type:String,value:""},value:{type:String,computed:"_computeValue(bindValue)"},allowedPattern:{type:String},autoValidate:{type:Boolean,value:!1},_inputElement:Object},observers:["_bindValueChanged(bindValue, _inputElement)"],listeners:{input:"_onInput",keypress:"_onKeypress"},created:function(){o.requestAvailability(),this._previousValidInput="",this._patternAlreadyChecked=!1},attached:function(){this._observer=Object(l.a)(this).observeNodes(function(e){this._initSlottedInput()}.bind(this))},detached:function(){this._observer&&(Object(l.a)(this).unobserveNodes(this._observer),this._observer=null)},get inputElement(){return this._inputElement},_initSlottedInput:function(){this._inputElement=this.getEffectiveChildren()[0],this.inputElement&&this.inputElement.value&&(this.bindValue=this.inputElement.value),this.fire("iron-input-ready")},get _patternRegExp(){var e;if(this.allowedPattern)e=new RegExp(this.allowedPattern);else switch(this.inputElement.type){case"number":e=/[0-9.,e-]/}return e},_bindValueChanged:function(e,t){t&&(void 0===e?t.value=null:e!==t.value&&(this.inputElement.value=e),this.autoValidate&&this.validate(),this.fire("bind-value-changed",{value:e}))},_onInput:function(){this.allowedPattern&&!this._patternAlreadyChecked&&(this._checkPatternValidity()||(this._announceInvalidCharacter("Invalid string of characters not entered."),this.inputElement.value=this._previousValidInput));this.bindValue=this._previousValidInput=this.inputElement.value,this._patternAlreadyChecked=!1},_isPrintable:function(e){var t=8==e.keyCode||9==e.keyCode||13==e.keyCode||27==e.keyCode,n=19==e.keyCode||20==e.keyCode||45==e.keyCode||46==e.keyCode||144==e.keyCode||145==e.keyCode||e.keyCode>32&&e.keyCode<41||e.keyCode>111&&e.keyCode<124;return!(t||0==e.charCode&&n)},_onKeypress:function(e){if(this.allowedPattern||"number"===this.inputElement.type){var t=this._patternRegExp;if(t&&!(e.metaKey||e.ctrlKey||e.altKey)){this._patternAlreadyChecked=!0;var n=String.fromCharCode(e.charCode);this._isPrintable(e)&&!t.test(n)&&(e.preventDefault(),this._announceInvalidCharacter("Invalid character "+n+" not entered."))}}},_checkPatternValidity:function(){var e=this._patternRegExp;if(!e)return!0;for(var t=0;t\n :host {\n display: inline-block;\n float: right;\n\n @apply --paper-font-caption;\n @apply --paper-input-char-counter;\n }\n\n :host([hidden]) {\n display: none !important;\n }\n\n :host(:dir(rtl)) {\n float: left;\n }\n \n\n [[_charCounterStr]]\n"]);return d=function(){return e},e}Object(i.a)({_template:Object(r.a)(d()),is:"paper-input-char-counter",behaviors:[p],properties:{_charCounterStr:{type:String,value:"0"}},update:function(e){if(e.inputElement){e.value=e.value||"";var t=e.value.toString().length.toString();e.inputElement.hasAttribute("maxlength")&&(t+="/"+e.inputElement.getAttribute("maxlength")),this._charCounterStr=t}}});n(9),n(11);var u=n(38);function h(){var e=m(['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n'],['\n \n\n \n\n
    \n \n\n
    \n \n \n
    \n\n \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n \n
    \n']);return h=function(){return e},e}function f(){var e=m(['\n\n \n\n']);return f=function(){return e},e}function m(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}var b=Object(r.a)(f());function g(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return g=function(){return e},e}b.setAttribute("style","display: none;"),document.head.appendChild(b.content),Object(i.a)({_template:Object(r.a)(h()),is:"paper-input-container",properties:{noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},attrForValue:{type:String,value:"bind-value"},autoValidate:{type:Boolean,value:!1},invalid:{observer:"_invalidChanged",type:Boolean,value:!1},focused:{readOnly:!0,type:Boolean,value:!1,notify:!0},_addons:{type:Array},_inputHasContent:{type:Boolean,value:!1},_inputSelector:{type:String,value:"input,iron-input,textarea,.paper-input-input"},_boundOnFocus:{type:Function,value:function(){return this._onFocus.bind(this)}},_boundOnBlur:{type:Function,value:function(){return this._onBlur.bind(this)}},_boundOnInput:{type:Function,value:function(){return this._onInput.bind(this)}},_boundValueChanged:{type:Function,value:function(){return this._onValueChanged.bind(this)}}},listeners:{"addon-attached":"_onAddonAttached","iron-input-validate":"_onIronInputValidate"},get _valueChangedEvent(){return this.attrForValue+"-changed"},get _propertyForValue(){return Object(u.b)(this.attrForValue)},get _inputElement(){return Object(l.a)(this).querySelector(this._inputSelector)},get _inputElementValue(){return this._inputElement[this._propertyForValue]||this._inputElement.value},ready:function(){this.__isFirstValueUpdate=!0,this._addons||(this._addons=[]),this.addEventListener("focus",this._boundOnFocus,!0),this.addEventListener("blur",this._boundOnBlur,!0)},attached:function(){this.attrForValue?this._inputElement.addEventListener(this._valueChangedEvent,this._boundValueChanged):this.addEventListener("input",this._onInput),this._inputElementValue&&""!=this._inputElementValue?this._handleValueAndAutoValidate(this._inputElement):this._handleValue(this._inputElement)},_onAddonAttached:function(e){this._addons||(this._addons=[]);var t=e.target;-1===this._addons.indexOf(t)&&(this._addons.push(t),this.isAttached&&this._handleValue(this._inputElement))},_onFocus:function(){this._setFocused(!0)},_onBlur:function(){this._setFocused(!1),this._handleValueAndAutoValidate(this._inputElement)},_onInput:function(e){this._handleValueAndAutoValidate(e.target)},_onValueChanged:function(e){var t=e.target;this.__isFirstValueUpdate&&(this.__isFirstValueUpdate=!1,void 0===t.value||""===t.value)||this._handleValueAndAutoValidate(e.target)},_handleValue:function(e){var t=this._inputElementValue;t||0===t||"number"===e.type&&!e.checkValidity()?this._inputHasContent=!0:this._inputHasContent=!1,this.updateAddons({inputElement:e,value:t,invalid:this.invalid})},_handleValueAndAutoValidate:function(e){var t;this.autoValidate&&e&&(t=e.validate?e.validate(this._inputElementValue):e.checkValidity(),this.invalid=!t);this._handleValue(e)},_onIronInputValidate:function(e){this.invalid=this._inputElement.invalid},_invalidChanged:function(){this._addons&&this.updateAddons({invalid:this.invalid})},updateAddons:function(e){for(var t,n=0;t=this._addons[n];n++)t.update(e)},_computeInputContentClass:function(e,t,n,i,r){var a="input-content";if(e)r&&(a+=" label-is-hidden"),i&&(a+=" is-invalid");else{var o=this.querySelector("label");t||r?(a+=" label-is-floating",this.$.labelAndInputContainer.style.position="static",i?a+=" is-invalid":n&&(a+=" label-is-highlighted")):(o&&(this.$.labelAndInputContainer.style.position="relative"),i&&(a+=" is-invalid"))}return n&&(a+=" focused"),a},_computeUnderlineClass:function(e,t){var n="underline";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n},_computeAddOnContentClass:function(e,t){var n="add-on-content";return t?n+=" is-invalid":e&&(n+=" is-highlighted"),n}}),Object(i.a)({_template:Object(r.a)(g()),is:"paper-input-error",behaviors:[p],properties:{invalid:{readOnly:!0,reflectToAttribute:!0,type:Boolean}},update:function(e){this._setInvalid(e.invalid)}});var v=n(57),y=(n(52),n(19)),_=n(18),x=n(7),w={NextLabelID:1,NextAddonID:1,NextInputID:1},k={properties:{label:{type:String},value:{notify:!0,type:String},disabled:{type:Boolean,value:!1},invalid:{type:Boolean,value:!1,notify:!0},allowedPattern:{type:String},type:{type:String},list:{type:String},pattern:{type:String},required:{type:Boolean,value:!1},errorMessage:{type:String},charCounter:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1},alwaysFloatLabel:{type:Boolean,value:!1},autoValidate:{type:Boolean,value:!1},validator:{type:String},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,observer:"_autofocusChanged"},inputmode:{type:String},minlength:{type:Number},maxlength:{type:Number},min:{type:String},max:{type:String},step:{type:String},name:{type:String},placeholder:{type:String,value:""},readonly:{type:Boolean,value:!1},size:{type:Number},autocapitalize:{type:String,value:"none"},autocorrect:{type:String,value:"off"},autosave:{type:String},results:{type:Number},accept:{type:String},multiple:{type:Boolean},_ariaDescribedBy:{type:String,value:""},_ariaLabelledBy:{type:String,value:""},_inputId:{type:String,value:""}},listeners:{"addon-attached":"_onAddonAttached"},keyBindings:{"shift+tab:keydown":"_onShiftTabDown"},hostAttributes:{tabindex:0},get inputElement(){return this.$||(this.$={}),this.$.input||(this._generateInputId(),this.$.input=this.$$("#"+this._inputId)),this.$.input},get _focusableElement(){return this.inputElement},created:function(){this._typesThatHaveText=["date","datetime","datetime-local","month","time","week","file"]},attached:function(){this._updateAriaLabelledBy(),!x.a&&this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.inputElement.type)&&(this.alwaysFloatLabel=!0)},_appendStringWithSpace:function(e,t){return e=e?e+" "+t:t},_onAddonAttached:function(e){var t=Object(l.a)(e).rootTarget;if(t.id)this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,t.id);else{var n="paper-input-add-on-"+w.NextAddonID++;t.id=n,this._ariaDescribedBy=this._appendStringWithSpace(this._ariaDescribedBy,n)}},validate:function(){return this.inputElement.validate()},_focusBlurHandler:function(e){_.a._focusBlurHandler.call(this,e),this.focused&&!this._shiftTabPressed&&this._focusableElement&&this._focusableElement.focus()},_onShiftTabDown:function(e){var t=this.getAttribute("tabindex");this._shiftTabPressed=!0,this.setAttribute("tabindex","-1"),this.async(function(){this.setAttribute("tabindex",t),this._shiftTabPressed=!1},1)},_handleAutoValidate:function(){this.autoValidate&&this.validate()},updateValueAndPreserveCaret:function(e){try{var t=this.inputElement.selectionStart;this.value=e,this.inputElement.selectionStart=t,this.inputElement.selectionEnd=t}catch(t){this.value=e}},_computeAlwaysFloatLabel:function(e,t){return t||e},_updateAriaLabelledBy:function(){var e,t=Object(l.a)(this.root).querySelector("label");t?(t.id?e=t.id:(e="paper-input-label-"+w.NextLabelID++,t.id=e),this._ariaLabelledBy=e):this._ariaLabelledBy=""},_generateInputId:function(){this._inputId&&""!==this._inputId||(this._inputId="input-"+w.NextInputID++)},_onChange:function(e){this.shadowRoot&&this.fire(e.type,{sourceEvent:e},{node:this,bubbles:e.bubbles,cancelable:e.cancelable})},_autofocusChanged:function(){if(this.autofocus&&this._focusableElement){var e=document.activeElement;e instanceof HTMLElement&&e!==document.body&&e!==document.documentElement||this._focusableElement.focus()}}},S=[_.a,y.a,k];function C(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n\n \n\n \n\n \x3c!-- Need to bind maxlength so that the paper-input-char-counter works correctly --\x3e\n \n \n \n\n \n\n \n\n \n\n \n '],['\n \n\n \n\n \n\n \n\n \x3c!-- Need to bind maxlength so that the paper-input-char-counter works correctly --\x3e\n \n \n \n\n \n\n \n\n \n\n \n ']);return C=function(){return e},e}Object(i.a)({is:"paper-input",_template:Object(r.a)(C()),behaviors:[S,v.a],properties:{value:{type:String}},get _focusableElement(){return this.inputElement._inputElement},listeners:{"iron-input-ready":"_onIronInputReady"},_onIronInputReady:function(){this.$.nativeInput||(this.$.nativeInput=this.$$("input")),this.inputElement&&-1!==this._typesThatHaveText.indexOf(this.$.nativeInput.type)&&(this.alwaysFloatLabel=!0),this.inputElement.bindValue&&this.$.container._handleValueAndAutoValidate(this.inputElement)}})},,,,function(e,t,n){"use strict";n.d(t,"a",function(){return r}),n.d(t,"b",function(){return a});var i=new WeakMap,r=function(e){return function(){var t=e.apply(void 0,arguments);return i.set(t,!0),t}},a=function(e){return"function"==typeof e&&i.has(e)}},function(e,t,n){"use strict";n.d(t,"a",function(){return i}),n.d(t,"b",function(){return r});var i={},r={}},function(e,t,n){"use strict";n.d(t,"a",function(){return s});var i=n(21),r=n(16);function a(e){return function(e){if(Array.isArray(e)){for(var t=0,n=new Array(e.length);t\n \n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},function(e,t,n){"use strict";n.d(t,"a",function(){return a});n(3);var i=n(53),r=null,a={properties:{validator:{type:String},invalid:{notify:!0,reflectToAttribute:!0,type:Boolean,value:!1,observer:"_invalidChanged"}},registered:function(){r=new i.a({type:"validator"})},_invalidChanged:function(){this.invalid?this.setAttribute("aria-invalid","true"):this.removeAttribute("aria-invalid")},get _validator(){return r&&r.byKey(this.validator)},hasValidator:function(){return null!=this._validator},validate:function(e){return void 0===e&&void 0!==this.value?this.invalid=!this._getValidity(this.value):this.invalid=!this._getValidity(e),!this.invalid},_getValidity:function(e){return!this.hasValidator()||this._validator.validate(e)}}},,,,,,,,function(e,t,n){"use strict";n.d(t,"b",function(){return o}),n.d(t,"a",function(){return s});n(3);var i=n(34),r=n(18),a=n(44),o={observers:["_focusedChanged(receivedFocusFromKeyboard)"],_focusedChanged:function(e){e&&this.ensureRipple(),this.hasRipple()&&(this._ripple.holdDown=e)},_createRipple:function(){var e=a.a._createRipple();return e.id="ink",e.setAttribute("center",""),e.classList.add("circle"),e}},s=[i.a,r.a,a.a,o]},function(e,t,n){"use strict";n.d(t,"a",function(){return o});n(3);var i=n(6),r=n(17),a=new Set,o={properties:{_parentResizable:{type:Object,observer:"_parentResizableChanged"},_notifyingDescendant:{type:Boolean,value:!1}},listeners:{"iron-request-resize-notifications":"_onIronRequestResizeNotifications"},created:function(){this._interestedResizables=[],this._boundNotifyResize=this.notifyResize.bind(this),this._boundOnDescendantIronResize=this._onDescendantIronResize.bind(this)},attached:function(){this._requestResizeNotifications()},detached:function(){this._parentResizable?this._parentResizable.stopResizeNotificationsFor(this):(a.delete(this),window.removeEventListener("resize",this._boundNotifyResize)),this._parentResizable=null},notifyResize:function(){this.isAttached&&(this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this),this._fireResize())},assignParentResizable:function(e){this._parentResizable&&this._parentResizable.stopResizeNotificationsFor(this),this._parentResizable=e,e&&-1===e._interestedResizables.indexOf(this)&&(e._interestedResizables.push(this),e._subscribeIronResize(this))},stopResizeNotificationsFor:function(e){var t=this._interestedResizables.indexOf(e);t>-1&&(this._interestedResizables.splice(t,1),this._unsubscribeIronResize(e))},_subscribeIronResize:function(e){e.addEventListener("iron-resize",this._boundOnDescendantIronResize)},_unsubscribeIronResize:function(e){e.removeEventListener("iron-resize",this._boundOnDescendantIronResize)},resizerShouldNotify:function(e){return!0},_onDescendantIronResize:function(e){this._notifyingDescendant?e.stopPropagation():r.f||this._fireResize()},_fireResize:function(){this.fire("iron-resize",null,{node:this,bubbles:!1})},_onIronRequestResizeNotifications:function(e){var t=Object(i.a)(e).rootTarget;t!==this&&(t.assignParentResizable(this),this._notifyDescendant(t),e.stopPropagation())},_parentResizableChanged:function(e){e&&window.removeEventListener("resize",this._boundNotifyResize)},_notifyDescendant:function(e){this.isAttached&&(this._notifyingDescendant=!0,e.notifyResize(),this._notifyingDescendant=!1)},_requestResizeNotifications:function(){if(this.isAttached)if("loading"===document.readyState){var e=this._requestResizeNotifications.bind(this);document.addEventListener("readystatechange",function t(){document.removeEventListener("readystatechange",t),e()})}else this._findParent(),this._parentResizable?this._parentResizable._interestedResizables.forEach(function(e){e!==this&&e._findParent()},this):(a.forEach(function(e){e!==this&&e._findParent()},this),window.addEventListener("resize",this._boundNotifyResize),this.notifyResize())},_findParent:function(){this.assignParentResizable(null),this.fire("iron-request-resize-notifications",null,{node:this,bubbles:!0,cancelable:!0}),this._parentResizable?a.delete(this):a.add(this)}}},function(e,t,n){"use strict";n.d(t,"a",function(){return o});var i=n(13);window.navigator.userAgent.match("Trident")&&(DOMTokenList.prototype.toggle=function(e,t){return void 0===t||t?this.add(e):this.remove(e),void 0===t||t});var r=new WeakMap,a=new WeakMap,o=Object(i.e)(function(e){return function(t){if(!(t instanceof i.a)||t instanceof i.c||"class"!==t.committer.name||t.committer.parts.length>1)throw new Error("The `classMap` directive must be used in the `class` attribute and must be the only part in the attribute.");a.has(t)||(t.committer.element.className=t.committer.strings.join(" "),a.set(t,!0));var n=r.get(t);for(var o in n)o in e||t.committer.element.classList.remove(o);for(var s in e)n&&n[s]===e[s]||t.committer.element.classList.toggle(s,Boolean(e[s]));r.set(t,e)}})},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3);var i={properties:{name:{type:String},value:{notify:!0,type:String},required:{type:Boolean,value:!1}},attached:function(){},detached:function(){}}},,,function(e,t,n){"use strict";n(3);var i=n(19),r=n(62),a={properties:{multi:{type:Boolean,value:!1,observer:"multiChanged"},selectedValues:{type:Array,notify:!0,value:function(){return[]}},selectedItems:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}}},observers:["_updateSelected(selectedValues.splices)"],select:function(e){this.multi?this._toggleSelected(e):this.selected=e},multiChanged:function(e){this._selection.multi=e,this._updateSelected()},get _shouldUpdateSelection(){return null!=this.selected||null!=this.selectedValues&&this.selectedValues.length},_updateAttrForSelected:function(){this.multi?this.selectedItems&&this.selectedItems.length>0&&(this.selectedValues=this.selectedItems.map(function(e){return this._indexToValue(this.indexOf(e))},this).filter(function(e){return null!=e},this)):r.a._updateAttrForSelected.apply(this)},_updateSelected:function(){this.multi?this._selectMulti(this.selectedValues):this._selectSelected(this.selected)},_selectMulti:function(e){e=e||[];var t=(this._valuesToItems(e)||[]).filter(function(e){return null!=e});this._selection.clear(t);for(var n=0;n=0}},{key:"setItemSelected",value:function(e,t){if(null!=e&&t!==this.isSelected(e)){if(t)this.selection.push(e);else{var n=this.selection.indexOf(e);n>=0&&this.selection.splice(n,1)}this.selectCallback&&this.selectCallback(e,t)}}},{key:"select",value:function(e){this.multi?this.toggle(e):this.get()!==e&&(this.setItemSelected(this.get(),!1),this.setItemSelected(e,!0))}},{key:"toggle",value:function(e){this.setItemSelected(e,!this.isSelected(e))}}])&&a(t.prototype,n),i&&a(t,i),e}();n.d(t,"a",function(){return s});var s={properties:{attrForSelected:{type:String,value:null},selected:{type:String,notify:!0},selectedItem:{type:Object,readOnly:!0,notify:!0},activateEvent:{type:String,value:"tap",observer:"_activateEventChanged"},selectable:String,selectedClass:{type:String,value:"iron-selected"},selectedAttribute:{type:String,value:null},fallbackSelection:{type:String,value:null},items:{type:Array,readOnly:!0,notify:!0,value:function(){return[]}},_excludedLocalNames:{type:Object,value:function(){return{template:1,"dom-bind":1,"dom-if":1,"dom-repeat":1}}}},observers:["_updateAttrForSelected(attrForSelected)","_updateSelected(selected)","_checkFallback(fallbackSelection)"],created:function(){this._bindFilterItem=this._filterItem.bind(this),this._selection=new o(this._applySelection.bind(this))},attached:function(){this._observer=this._observeItems(this),this._addListener(this.activateEvent)},detached:function(){this._observer&&Object(i.a)(this).unobserveNodes(this._observer),this._removeListener(this.activateEvent)},indexOf:function(e){return this.items?this.items.indexOf(e):-1},select:function(e){this.selected=e},selectPrevious:function(){var e=this.items.length,t=e-1;void 0!==this.selected&&(t=(Number(this._valueToIndex(this.selected))-1+e)%e),this.selected=this._indexToValue(t)},selectNext:function(){var e=0;void 0!==this.selected&&(e=(Number(this._valueToIndex(this.selected))+1)%this.items.length),this.selected=this._indexToValue(e)},selectIndex:function(e){this.select(this._indexToValue(e))},forceSynchronousItemUpdate:function(){this._observer&&"function"==typeof this._observer.flush?this._observer.flush():this._updateItems()},get _shouldUpdateSelection(){return null!=this.selected},_checkFallback:function(){this._updateSelected()},_addListener:function(e){this.listen(this,e,"_activateHandler")},_removeListener:function(e){this.unlisten(this,e,"_activateHandler")},_activateEventChanged:function(e,t){this._removeListener(t),this._addListener(e)},_updateItems:function(){var e=Object(i.a)(this).queryDistributedElements(this.selectable||"*");e=Array.prototype.filter.call(e,this._bindFilterItem),this._setItems(e)},_updateAttrForSelected:function(){this.selectedItem&&(this.selected=this._valueForItem(this.selectedItem))},_updateSelected:function(){this._selectSelected(this.selected)},_selectSelected:function(e){if(this.items){var t=this._valueToItem(this.selected);t?this._selection.select(t):this._selection.clear(),this.fallbackSelection&&this.items.length&&void 0===this._selection.get()&&(this.selected=this.fallbackSelection)}},_filterItem:function(e){return!this._excludedLocalNames[e.localName]},_valueToItem:function(e){return null==e?null:this.items[this._valueToIndex(e)]},_valueToIndex:function(e){if(!this.attrForSelected)return Number(e);for(var t,n=0;t=this.items[n];n++)if(this._valueForItem(t)==e)return n},_indexToValue:function(e){if(!this.attrForSelected)return e;var t=this.items[e];return t?this._valueForItem(t):void 0},_valueForItem:function(e){if(!e)return null;if(!this.attrForSelected){var t=this.indexOf(e);return-1===t?null:t}var n=e[Object(r.b)(this.attrForSelected)];return null!=n?n:e.getAttribute(this.attrForSelected)},_applySelection:function(e,t){this.selectedClass&&this.toggleClass(this.selectedClass,t,e),this.selectedAttribute&&this.toggleAttribute(this.selectedAttribute,t,e),this._selectionChange(),this.fire("iron-"+(t?"select":"deselect"),{item:e})},_selectionChange:function(){this._setSelectedItem(this._selection.get())},_observeItems:function(e){return Object(i.a)(e).observeNodes(function(e){this._updateItems(),this._updateSelected(),this.fire("iron-items-changed",e,{bubbles:!1,cancelable:!1})})},_activateHandler:function(e){for(var t=e.target,n=this.items;t&&t!=this;){var i=n.indexOf(t);if(i>=0){var r=this._indexToValue(i);return void this._itemActivate(r,t)}t=t.parentNode}},_itemActivate:function(e,t){this.fire("iron-activate",{selected:e,item:t},{cancelable:!0}).defaultPrevented||this.select(e)}}},function(e,t,n){"use strict";n(3);var i=n(57),r=n(46),a={properties:{checked:{type:Boolean,value:!1,reflectToAttribute:!0,notify:!0,observer:"_checkedChanged"},toggles:{type:Boolean,value:!0,reflectToAttribute:!0},value:{type:String,value:"on",observer:"_valueChanged"}},observers:["_requiredChanged(required)"],created:function(){this._hasIronCheckedElementBehavior=!0},_getValidity:function(e){return this.disabled||!this.required||this.checked},_requiredChanged:function(){this.required?this.setAttribute("aria-required","true"):this.removeAttribute("aria-required")},_checkedChanged:function(){this.active=this.checked,this.fire("iron-change")},_valueChanged:function(){void 0!==this.value&&null!==this.value||(this.value="on")}},o=[i.a,r.a,a],s=n(54),l=n(44);n.d(t,"a",function(){return p});var c={_checkedChanged:function(){a._checkedChanged.call(this),this.hasRipple()&&(this.checked?this._ripple.setAttribute("checked",""):this._ripple.removeAttribute("checked"))},_buttonStateChanged:function(){l.a._buttonStateChanged.call(this),this.disabled||this.isAttached&&(this.checked=this.active)}},p=[s.a,o,c]},,,,,,function(e,t,n){"use strict";n(3);var i=n(5);Object(i.a)({is:"app-route",properties:{route:{type:Object,notify:!0},pattern:{type:String},data:{type:Object,value:function(){return{}},notify:!0},autoActivate:{type:Boolean,value:!1},_queryParamsUpdating:{type:Boolean,value:!1},queryParams:{type:Object,value:function(){return{}},notify:!0},tail:{type:Object,value:function(){return{path:null,prefix:null,__queryParams:null}},notify:!0},active:{type:Boolean,notify:!0,readOnly:!0},_matched:{type:String,value:""}},observers:["__tryToMatch(route.path, pattern)","__updatePathOnDataChange(data.*)","__tailPathChanged(tail.path)","__routeQueryParamsChanged(route.__queryParams)","__tailQueryParamsChanged(tail.__queryParams)","__queryParamsChanged(queryParams.*)"],created:function(){this.linkPaths("route.__queryParams","tail.__queryParams"),this.linkPaths("tail.__queryParams","route.__queryParams")},__routeQueryParamsChanged:function(e){if(e&&this.tail){if(this.tail.__queryParams!==e&&this.set("tail.__queryParams",e),!this.active||this._queryParamsUpdating)return;var t={},n=!1;for(var i in e)t[i]=e[i],!n&&this.queryParams&&e[i]===this.queryParams[i]||(n=!0);for(var i in this.queryParams)if(n||!(i in e)){n=!0;break}if(!n)return;this._queryParamsUpdating=!0,this.set("queryParams",t),this._queryParamsUpdating=!1}},__tailQueryParamsChanged:function(e){e&&this.route&&this.route.__queryParams!=e&&this.set("route.__queryParams",e)},__queryParamsChanged:function(e){this.active&&!this._queryParamsUpdating&&this.set("route.__"+e.path,e.value)},__resetProperties:function(){this._setActive(!1),this._matched=null},__tryToMatch:function(){if(this.route){var e=this.route.path,t=this.pattern;if(this.autoActivate&&""===e&&(e="/"),t)if(e){for(var n=e.split("/"),i=t.split("/"),r=[],a={},o=0;o0&&(d="/"+d),this.tail&&this.tail.prefix===p&&this.tail.path===d||(c.tail={prefix:p,path:d,__queryParams:this.route.__queryParams}),c.data=a,this._dataInUrl={},a)this._dataInUrl[u]=a[u];this.setProperties?this.setProperties(c,!0):this.__setMulti(c)}else this.__resetProperties()}},__tailPathChanged:function(e){if(this.active){var t=e,n=this._matched;t&&("/"!==t.charAt(0)&&(t="/"+t),n+=t),this.set("route.path",n)}},__updatePathOnDataChange:function(){if(this.route&&this.active){var e=this.__getLink({});e!==this.__getLink(this._dataInUrl)&&this.set("route.path",e)}},__getLink:function(e){var t={tail:null};for(var n in this.data)t[n]=this.data[n];for(var n in e)t[n]=e[n];var i=this.pattern.split("/").map(function(e){return":"==e[0]&&(e=t[e.slice(1)]),e},this);return t.tail&&t.tail.path&&(i.length>0&&"/"===t.tail.path.charAt(0)?i.push(t.tail.path.slice(1)):i.push(t.tail.path)),i.join("/")},__setMulti:function(e){for(var t in e)this._propertySetter(t,e[t]);void 0!==e.data&&(this._pathEffector("data",this.data),this._notifyChange("data")),void 0!==e.active&&(this._pathEffector("active",this.active),this._notifyChange("active")),void 0!==e.tail&&(this._pathEffector("tail",this.tail),this._notifyChange("tail"))}})},function(e,t){var n=document.createElement("template");n.setAttribute("style","display: none;"),n.innerHTML="\n \n",document.head.appendChild(n.content)},function(e,t,n){"use strict";n.d(t,"a",function(){return i});n(3);var i={properties:{active:{type:Boolean,value:!1,reflectToAttribute:!0,observer:"__activeChanged"},alt:{type:String,value:"loading",observer:"__altChanged"},__coolingDown:{type:Boolean,value:!1}},__computeContainerClasses:function(e,t){return[e||t?"active":"",t?"cooldown":""].join(" ")},__activeChanged:function(e,t){this.__setAriaHidden(!e),this.__coolingDown=!e&&t},__altChanged:function(e){"loading"===e?this.alt=this.getAttribute("aria-label")||e:(this.__setAriaHidden(""===e),this.setAttribute("aria-label",e))},__setAriaHidden:function(e){e?this.setAttribute("aria-hidden","true"):this.removeAttribute("aria-hidden")},__reset:function(){this.active=!1,this.__coolingDown=!1}}},function(e,t,n){"use strict";n(3);var i=n(19),r=n(5),a=n(6),o=n(4);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n
    \n']);return s=function(){return e},e}var l={distance:function(e,t,n,i){var r=e-n,a=t-i;return Math.sqrt(r*r+a*a)},now:window.performance&&window.performance.now?window.performance.now.bind(window.performance):Date.now};function c(e){this.element=e,this.width=this.boundingRect.width,this.height=this.boundingRect.height,this.size=Math.max(this.width,this.height)}function p(e){this.element=e,this.color=window.getComputedStyle(e).color,this.wave=document.createElement("div"),this.waveContainer=document.createElement("div"),this.wave.style.backgroundColor=this.color,this.wave.classList.add("wave"),this.waveContainer.classList.add("wave-container"),Object(a.a)(this.waveContainer).appendChild(this.wave),this.resetInteractionState()}c.prototype={get boundingRect(){return this.element.getBoundingClientRect()},furthestCornerDistanceFrom:function(e,t){var n=l.distance(e,t,0,0),i=l.distance(e,t,this.width,0),r=l.distance(e,t,0,this.height),a=l.distance(e,t,this.width,this.height);return Math.max(n,i,r,a)}},p.MAX_RADIUS=300,p.prototype={get recenters(){return this.element.recenters},get center(){return this.element.center},get mouseDownElapsed(){var e;return this.mouseDownStart?(e=l.now()-this.mouseDownStart,this.mouseUpStart&&(e-=this.mouseUpElapsed),e):0},get mouseUpElapsed(){return this.mouseUpStart?l.now()-this.mouseUpStart:0},get mouseDownElapsedSeconds(){return this.mouseDownElapsed/1e3},get mouseUpElapsedSeconds(){return this.mouseUpElapsed/1e3},get mouseInteractionSeconds(){return this.mouseDownElapsedSeconds+this.mouseUpElapsedSeconds},get initialOpacity(){return this.element.initialOpacity},get opacityDecayVelocity(){return this.element.opacityDecayVelocity},get radius(){var e=this.containerMetrics.width*this.containerMetrics.width,t=this.containerMetrics.height*this.containerMetrics.height,n=1.1*Math.min(Math.sqrt(e+t),p.MAX_RADIUS)+5,i=1.1-n/p.MAX_RADIUS*.2,r=this.mouseInteractionSeconds/i,a=n*(1-Math.pow(80,-r));return Math.abs(a)},get opacity(){return this.mouseUpStart?Math.max(0,this.initialOpacity-this.mouseUpElapsedSeconds*this.opacityDecayVelocity):this.initialOpacity},get outerOpacity(){var e=.3*this.mouseUpElapsedSeconds,t=this.opacity;return Math.max(0,Math.min(e,t))},get isOpacityFullyDecayed(){return this.opacity<.01&&this.radius>=Math.min(this.maxRadius,p.MAX_RADIUS)},get isRestingAtMaxRadius(){return this.opacity>=this.initialOpacity&&this.radius>=Math.min(this.maxRadius,p.MAX_RADIUS)},get isAnimationComplete(){return this.mouseUpStart?this.isOpacityFullyDecayed:this.isRestingAtMaxRadius},get translationFraction(){return Math.min(1,this.radius/this.containerMetrics.size*2/Math.sqrt(2))},get xNow(){return this.xEnd?this.xStart+this.translationFraction*(this.xEnd-this.xStart):this.xStart},get yNow(){return this.yEnd?this.yStart+this.translationFraction*(this.yEnd-this.yStart):this.yStart},get isMouseDown(){return this.mouseDownStart&&!this.mouseUpStart},resetInteractionState:function(){this.maxRadius=0,this.mouseDownStart=0,this.mouseUpStart=0,this.xStart=0,this.yStart=0,this.xEnd=0,this.yEnd=0,this.slideDistance=0,this.containerMetrics=new c(this.element)},draw:function(){var e,t,n;this.wave.style.opacity=this.opacity,e=this.radius/(this.containerMetrics.size/2),t=this.xNow-this.containerMetrics.width/2,n=this.yNow-this.containerMetrics.height/2,this.waveContainer.style.webkitTransform="translate("+t+"px, "+n+"px)",this.waveContainer.style.transform="translate3d("+t+"px, "+n+"px, 0)",this.wave.style.webkitTransform="scale("+e+","+e+")",this.wave.style.transform="scale3d("+e+","+e+",1)"},downAction:function(e){var t=this.containerMetrics.width/2,n=this.containerMetrics.height/2;this.resetInteractionState(),this.mouseDownStart=l.now(),this.center?(this.xStart=t,this.yStart=n,this.slideDistance=l.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)):(this.xStart=e?e.detail.x-this.containerMetrics.boundingRect.left:this.containerMetrics.width/2,this.yStart=e?e.detail.y-this.containerMetrics.boundingRect.top:this.containerMetrics.height/2),this.recenters&&(this.xEnd=t,this.yEnd=n,this.slideDistance=l.distance(this.xStart,this.yStart,this.xEnd,this.yEnd)),this.maxRadius=this.containerMetrics.furthestCornerDistanceFrom(this.xStart,this.yStart),this.waveContainer.style.top=(this.containerMetrics.height-this.containerMetrics.size)/2+"px",this.waveContainer.style.left=(this.containerMetrics.width-this.containerMetrics.size)/2+"px",this.waveContainer.style.width=this.containerMetrics.size+"px",this.waveContainer.style.height=this.containerMetrics.size+"px"},upAction:function(e){this.isMouseDown&&(this.mouseUpStart=l.now())},remove:function(){Object(a.a)(this.waveContainer.parentNode).removeChild(this.waveContainer)}},Object(r.a)({_template:Object(o.a)(s()),is:"paper-ripple",behaviors:[i.a],properties:{initialOpacity:{type:Number,value:.25},opacityDecayVelocity:{type:Number,value:.8},recenters:{type:Boolean,value:!1},center:{type:Boolean,value:!1},ripples:{type:Array,value:function(){return[]}},animating:{type:Boolean,readOnly:!0,reflectToAttribute:!0,value:!1},holdDown:{type:Boolean,value:!1,observer:"_holdDownChanged"},noink:{type:Boolean,value:!1},_animating:{type:Boolean},_boundAnimate:{type:Function,value:function(){return this.animate.bind(this)}}},get target(){return this.keyEventTarget},keyBindings:{"enter:keydown":"_onEnterKeydown","space:keydown":"_onSpaceKeydown","space:keyup":"_onSpaceKeyup"},attached:function(){11==this.parentNode.nodeType?this.keyEventTarget=Object(a.a)(this).getOwnerRoot().host:this.keyEventTarget=this.parentNode;var e=this.keyEventTarget;this.listen(e,"up","uiUpAction"),this.listen(e,"down","uiDownAction")},detached:function(){this.unlisten(this.keyEventTarget,"up","uiUpAction"),this.unlisten(this.keyEventTarget,"down","uiDownAction"),this.keyEventTarget=null},get shouldKeepAnimating(){for(var e=0;e0||(this.addRipple().downAction(e),this._animating||(this._animating=!0,this.animate()))},uiUpAction:function(e){this.noink||this.upAction(e)},upAction:function(e){this.holdDown||(this.ripples.forEach(function(t){t.upAction(e)}),this._animating=!0,this.animate())},onAnimationComplete:function(){this._animating=!1,this.$.background.style.backgroundColor=null,this.fire("transitionend")},addRipple:function(){var e=new p(this);return Object(a.a)(this.$.waves).appendChild(e.waveContainer),this.$.background.style.backgroundColor=e.color,this.ripples.push(e),this._setAnimating(!0),e},removeRipple:function(e){var t=this.ripples.indexOf(e);t<0||(this.ripples.splice(t,1),e.remove(),this.ripples.length||this._setAnimating(!1))},animate:function(){if(this._animating){var e,t;for(e=0;e\n :host {\n display: block;\n /**\n * Force app-header-layout to have its own stacking context so that its parent can\n * control the stacking of it relative to other elements (e.g. app-drawer-layout).\n * This could be done using `isolation: isolate`, but that\'s not well supported\n * across browsers.\n */\n position: relative;\n z-index: 0;\n }\n\n #wrapper ::slotted([slot=header]) {\n @apply --layout-fixed-top;\n z-index: 1;\n }\n\n #wrapper.initializing ::slotted([slot=header]) {\n position: relative;\n }\n\n :host([has-scrolling-region]) {\n height: 100%;\n }\n\n :host([has-scrolling-region]) #wrapper ::slotted([slot=header]) {\n position: absolute;\n }\n\n :host([has-scrolling-region]) #wrapper.initializing ::slotted([slot=header]) {\n position: relative;\n }\n\n :host([has-scrolling-region]) #wrapper #contentContainer {\n @apply --layout-fit;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n }\n\n :host([has-scrolling-region]) #wrapper.initializing #contentContainer {\n position: relative;\n }\n\n :host([fullbleed]) {\n @apply --layout-vertical;\n @apply --layout-fit;\n }\n\n :host([fullbleed]) #wrapper,\n :host([fullbleed]) #wrapper #contentContainer {\n @apply --layout-vertical;\n @apply --layout-flex;\n }\n\n #contentContainer {\n /* Create a stacking context here so that all children appear below the header. */\n position: relative;\n z-index: 0;\n }\n\n @media print {\n :host([has-scrolling-region]) #wrapper #contentContainer {\n overflow-y: visible;\n }\n }\n\n \n\n
    \n \n\n
    \n \n
    \n
    \n'],['\n \n\n
    \n \n\n
    \n \n
    \n
    \n']);return s=function(){return e},e}Object(i.a)({_template:Object(a.a)(s()),is:"app-header-layout",behaviors:[o.a],properties:{hasScrollingRegion:{type:Boolean,value:!1,reflectToAttribute:!0}},observers:["resetLayout(isAttached, hasScrollingRegion)"],get header(){return Object(r.a)(this.$.headerSlot).getDistributedNodes()[0]},_updateLayoutStates:function(){var e=this.header;if(this.isAttached&&e){this.$.wrapper.classList.remove("initializing"),e.scrollTarget=this.hasScrollingRegion?this.$.contentContainer:this.ownerDocument.documentElement;var t=e.offsetHeight;this.hasScrollingRegion?(e.style.left="",e.style.right=""):requestAnimationFrame(function(){var t=this.getBoundingClientRect(),n=document.documentElement.clientWidth-t.right;e.style.left=t.left+"px",e.style.right=n+"px"}.bind(this));var n=this.$.contentContainer.style;e.fixed&&!e.condenses&&this.hasScrollingRegion?(n.marginTop=t+"px",n.paddingTop=""):(n.paddingTop=t+"px",n.marginTop="")}}})},function(e,t,n){"use strict";n.d(t,"a",function(){return l});n(3);var i=n(55),r=n(6),a=n(20),o=n(23),s=n(27),l=[i.a,{listeners:{"app-reset-layout":"_appResetLayoutHandler","iron-resize":"resetLayout"},attached:function(){this.fire("app-reset-layout")},_appResetLayoutHandler:function(e){Object(r.a)(e).path[0]!==this&&(this.resetLayout(),e.stopPropagation())},_updateLayoutStates:function(){console.error("unimplemented")},resetLayout:function(){var e=this._updateLayoutStates.bind(this);this._layoutDebouncer=o.a.debounce(this._layoutDebouncer,a.a,e),Object(s.a)(this._layoutDebouncer),this._notifyDescendantResize()},_notifyLayoutChanged:function(){var e=this;requestAnimationFrame(function(){e.fire("app-reset-layout")})},_notifyDescendantResize:function(){this.isAttached&&this._interestedResizables.forEach(function(e){this.resizerShouldNotify(e)&&this._notifyDescendant(e)},this)}}]},function(e,t,n){"use strict";n(3),n(9),n(11);var i=n(76),r=n(5),a=n(4);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return o=function(){return e},e}Object(r.a)({_template:Object(a.a)(o()),is:"paper-dialog-scrollable",properties:{dialogElement:{type:Object}},get scrollTarget(){return this.$.scrollable},ready:function(){this._ensureTarget(),this.classList.add("no-padding")},attached:function(){this._ensureTarget(),requestAnimationFrame(this.updateScrollState.bind(this))},updateScrollState:function(){this.toggleClass("is-scrolled",this.scrollTarget.scrollTop>0),this.toggleClass("can-scroll",this.scrollTarget.offsetHeight=this.scrollTarget.scrollHeight)},_ensureTarget:function(){this.dialogElement=this.dialogElement||this.parentElement,this.dialogElement&&this.dialogElement.behaviors&&this.dialogElement.behaviors.indexOf(i.b)>=0?(this.dialogElement.sizingTarget=this.scrollTarget,this.scrollTarget.classList.remove("fit")):this.dialogElement&&this.scrollTarget.classList.add("fit")}})},function(e,t,n){"use strict";n.d(t,"b",function(){return a}),n.d(t,"a",function(){return o});n(3);var i=n(86),r=n(6),a={hostAttributes:{role:"dialog",tabindex:"-1"},properties:{modal:{type:Boolean,value:!1},__readied:{type:Boolean,value:!1}},observers:["_modalChanged(modal, __readied)"],listeners:{tap:"_onDialogClick"},ready:function(){this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.__readied=!0},_modalChanged:function(e,t){t&&(e?(this.__prevNoCancelOnOutsideClick=this.noCancelOnOutsideClick,this.__prevNoCancelOnEscKey=this.noCancelOnEscKey,this.__prevWithBackdrop=this.withBackdrop,this.noCancelOnOutsideClick=!0,this.noCancelOnEscKey=!0,this.withBackdrop=!0):(this.noCancelOnOutsideClick=this.noCancelOnOutsideClick&&this.__prevNoCancelOnOutsideClick,this.noCancelOnEscKey=this.noCancelOnEscKey&&this.__prevNoCancelOnEscKey,this.withBackdrop=this.withBackdrop&&this.__prevWithBackdrop))},_updateClosingReasonConfirmed:function(e){this.closingReason=this.closingReason||{},this.closingReason.confirmed=e},_onDialogClick:function(e){for(var t=Object(r.a)(e).path,n=0,i=t.indexOf(this);n\n :host {\n @apply --layout-inline;\n @apply --layout-center;\n @apply --layout-center-justified;\n @apply --layout-flex-auto;\n\n position: relative;\n padding: 0 12px;\n overflow: hidden;\n cursor: pointer;\n vertical-align: middle;\n\n @apply --paper-font-common-base;\n @apply --paper-tab;\n }\n\n :host(:focus) {\n outline: none;\n }\n\n :host([link]) {\n padding: 0;\n }\n\n .tab-content {\n height: 100%;\n transform: translateZ(0);\n -webkit-transform: translateZ(0);\n transition: opacity 0.1s cubic-bezier(0.4, 0.0, 1, 1);\n @apply --layout-horizontal;\n @apply --layout-center-center;\n @apply --layout-flex-auto;\n @apply --paper-tab-content;\n }\n\n :host(:not(.iron-selected)) > .tab-content {\n opacity: 0.8;\n\n @apply --paper-tab-content-unselected;\n }\n\n :host(:focus) .tab-content {\n opacity: 1;\n font-weight: 700;\n }\n\n paper-ripple {\n color: var(--paper-tab-ink, var(--paper-yellow-a100));\n }\n\n .tab-content > ::slotted(a) {\n @apply --layout-flex-auto;\n\n height: 100%;\n }\n \n\n
    \n \n
    \n']);return c=function(){return e},e}Object(o.a)({_template:Object(l.a)(c()),is:"paper-tab",behaviors:[r.a,i.a,a.a],properties:{link:{type:Boolean,value:!1,reflectToAttribute:!0}},hostAttributes:{role:"tab"},listeners:{down:"_updateNoink",tap:"_onTap"},attached:function(){this._updateNoink()},get _parentNoink(){var e=Object(s.a)(this).parentNode;return!!e&&!!e.noink},_updateNoink:function(){this.noink=!!this.noink||!!this._parentNoink},_onTap:function(e){if(this.link){var t=this.queryEffectiveChildren("a");if(!t)return;if(e.target===t)return;t.click()}}})},function(e,t,n){"use strict";n.d(t,"b",function(){return r}),n.d(t,"a",function(){return a});n(3);var i=n(60),r={hostAttributes:{role:"menubar"},keyBindings:{left:"_onLeftKey",right:"_onRightKey"},_onUpKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},_onDownKey:function(e){this.focusedItem.click(),e.detail.keyboardEvent.preventDefault()},get _isRTL(){return"rtl"===window.getComputedStyle(this).direction},_onLeftKey:function(e){this._isRTL?this._focusNext():this._focusPrevious(),e.detail.keyboardEvent.preventDefault()},_onRightKey:function(e){this._isRTL?this._focusPrevious():this._focusNext(),e.detail.keyboardEvent.preventDefault()},_onKeydown:function(e){this.keyboardEventMatchesKeys(e,"up down left right esc")||this._focusWithKeyboardEvent(e)}},a=[i.a,r]},function(e,t,n){"use strict";n(3),n(11);var i=n(63),r=n(54),a=n(5),o=n(4),s=n(39);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n
    \n
    \n
    \n
    \n
    \n\n
    '],['\n\n
    \n
    \n
    \n
    \n
    \n\n
    ']);return l=function(){return e},e}var c=Object(o.a)(l());c.setAttribute("strip-whitespace",""),Object(a.a)({_template:c,is:"paper-checkbox",behaviors:[i.a],hostAttributes:{role:"checkbox","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},attached:function(){Object(s.a)(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-checkbox-ink-size").trim()){var e=this.getComputedStyleValue("--calculated-paper-checkbox-size").trim(),t="px",n=e.match(/[A-Za-z]+$/);null!==n&&(t=n[0]);var i=parseFloat(e),r=8/3*i;"px"===t&&(r=Math.floor(r))%2!=i%2&&r++,this.updateStyles({"--paper-checkbox-ink-size":r+t})}})},_computeCheckboxClass:function(e,t){var n="";return e&&(n+="checked "),t&&(n+="invalid"),n},_computeCheckmarkClass:function(e){return e?"":"hidden"},_createRipple:function(){return this._rippleContainer=this.$.checkboxContainer,r.b._createRipple.call(this)}})},function(e,t,n){"use strict";n(3),n(11),n(9);var i=n(63),r=n(5),a=n(4),o=n(39);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n\n
    \n
    \n
    \n
    \n\n
    '],['\n\n\n
    \n
    \n
    \n
    \n\n
    ']);return s=function(){return e},e}var l=Object(a.a)(s());l.setAttribute("strip-whitespace",""),Object(r.a)({_template:l,is:"paper-radio-button",behaviors:[i.a],hostAttributes:{role:"radio","aria-checked":!1,tabindex:0},properties:{ariaActiveAttribute:{type:String,value:"aria-checked"}},ready:function(){this._rippleContainer=this.$.radioContainer},attached:function(){Object(o.a)(this,function(){if("-1px"===this.getComputedStyleValue("--calculated-paper-radio-button-ink-size").trim()){var e=parseFloat(this.getComputedStyleValue("--calculated-paper-radio-button-size").trim()),t=Math.floor(3*e);t%2!=e%2&&t++,this.updateStyles({"--paper-radio-button-ink-size":t+"px"})}})}})},,,,,,function(e,t,n){"use strict";n(3);var i=n(6),r={properties:{sizingTarget:{type:Object,value:function(){return this}},fitInto:{type:Object,value:window},noOverlap:{type:Boolean},positionTarget:{type:Element},horizontalAlign:{type:String},verticalAlign:{type:String},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},autoFitOnAttach:{type:Boolean,value:!1},_fitInfo:{type:Object}},get _fitWidth(){return this.fitInto===window?this.fitInto.innerWidth:this.fitInto.getBoundingClientRect().width},get _fitHeight(){return this.fitInto===window?this.fitInto.innerHeight:this.fitInto.getBoundingClientRect().height},get _fitLeft(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().left},get _fitTop(){return this.fitInto===window?0:this.fitInto.getBoundingClientRect().top},get _defaultPositionTarget(){var e=Object(i.a)(this).parentNode;return e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE&&(e=e.host),e},get _localeHorizontalAlign(){if(this._isRTL){if("right"===this.horizontalAlign)return"left";if("left"===this.horizontalAlign)return"right"}return this.horizontalAlign},get __shouldPosition(){return(this.horizontalAlign||this.verticalAlign)&&this.positionTarget},attached:function(){void 0===this._isRTL&&(this._isRTL="rtl"==window.getComputedStyle(this).direction),this.positionTarget=this.positionTarget||this._defaultPositionTarget,this.autoFitOnAttach&&("none"===window.getComputedStyle(this).display?setTimeout(function(){this.fit()}.bind(this)):(window.ShadyDOM&&ShadyDOM.flush(),this.fit()))},detached:function(){this.__deferredFit&&(clearTimeout(this.__deferredFit),this.__deferredFit=null)},fit:function(){this.position(),this.constrain(),this.center()},_discoverInfo:function(){if(!this._fitInfo){var e=window.getComputedStyle(this),t=window.getComputedStyle(this.sizingTarget);this._fitInfo={inlineStyle:{top:this.style.top||"",left:this.style.left||"",position:this.style.position||""},sizerInlineStyle:{maxWidth:this.sizingTarget.style.maxWidth||"",maxHeight:this.sizingTarget.style.maxHeight||"",boxSizing:this.sizingTarget.style.boxSizing||""},positionedBy:{vertically:"auto"!==e.top?"top":"auto"!==e.bottom?"bottom":null,horizontally:"auto"!==e.left?"left":"auto"!==e.right?"right":null},sizedBy:{height:"none"!==t.maxHeight,width:"none"!==t.maxWidth,minWidth:parseInt(t.minWidth,10)||0,minHeight:parseInt(t.minHeight,10)||0},margin:{top:parseInt(e.marginTop,10)||0,right:parseInt(e.marginRight,10)||0,bottom:parseInt(e.marginBottom,10)||0,left:parseInt(e.marginLeft,10)||0}}}},resetFit:function(){var e=this._fitInfo||{};for(var t in e.sizerInlineStyle)this.sizingTarget.style[t]=e.sizerInlineStyle[t];for(var t in e.inlineStyle)this.style[t]=e.inlineStyle[t];this._fitInfo=null},refit:function(){var e=this.sizingTarget.scrollLeft,t=this.sizingTarget.scrollTop;this.resetFit(),this.fit(),this.sizingTarget.scrollLeft=e,this.sizingTarget.scrollTop=t},position:function(){if(this.__shouldPosition){this._discoverInfo(),this.style.position="fixed",this.sizingTarget.style.boxSizing="border-box",this.style.left="0px",this.style.top="0px";var e=this.getBoundingClientRect(),t=this.__getNormalizedRect(this.positionTarget),n=this.__getNormalizedRect(this.fitInto),i=this._fitInfo.margin,r={width:e.width+i.left+i.right,height:e.height+i.top+i.bottom},a=this.__getPosition(this._localeHorizontalAlign,this.verticalAlign,r,e,t,n),o=a.left+i.left,s=a.top+i.top,l=Math.min(n.right-i.right,o+e.width),c=Math.min(n.bottom-i.bottom,s+e.height);o=Math.max(n.left+i.left,Math.min(o,l-this._fitInfo.sizedBy.minWidth)),s=Math.max(n.top+i.top,Math.min(s,c-this._fitInfo.sizedBy.minHeight)),this.sizingTarget.style.maxWidth=Math.max(l-o,this._fitInfo.sizedBy.minWidth)+"px",this.sizingTarget.style.maxHeight=Math.max(c-s,this._fitInfo.sizedBy.minHeight)+"px",this.style.left=o-e.left+"px",this.style.top=s-e.top+"px"}},constrain:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo;e.positionedBy.vertically||(this.style.position="fixed",this.style.top="0px"),e.positionedBy.horizontally||(this.style.position="fixed",this.style.left="0px"),this.sizingTarget.style.boxSizing="border-box";var t=this.getBoundingClientRect();e.sizedBy.height||this.__sizeDimension(t,e.positionedBy.vertically,"top","bottom","Height"),e.sizedBy.width||this.__sizeDimension(t,e.positionedBy.horizontally,"left","right","Width")}},_sizeDimension:function(e,t,n,i,r){this.__sizeDimension(e,t,n,i,r)},__sizeDimension:function(e,t,n,i,r){var a=this._fitInfo,o=this.__getNormalizedRect(this.fitInto),s="Width"===r?o.width:o.height,l=t===i,c=l?s-e[i]:e[n],p=a.margin[l?n:i],d="offset"+r,u=this[d]-this.sizingTarget[d];this.sizingTarget.style["max"+r]=s-p-c-u+"px"},center:function(){if(!this.__shouldPosition){this._discoverInfo();var e=this._fitInfo.positionedBy;if(!e.vertically||!e.horizontally){this.style.position="fixed",e.vertically||(this.style.top="0px"),e.horizontally||(this.style.left="0px");var t=this.getBoundingClientRect(),n=this.__getNormalizedRect(this.fitInto);if(!e.vertically){var i=n.top-t.top+(n.height-t.height)/2;this.style.top=i+"px"}if(!e.horizontally){var r=n.left-t.left+(n.width-t.width)/2;this.style.left=r+"px"}}}},__getNormalizedRect:function(e){return e===document.documentElement||e===window?{top:0,left:0,width:window.innerWidth,height:window.innerHeight,right:window.innerWidth,bottom:window.innerHeight}:e.getBoundingClientRect()},__getOffscreenArea:function(e,t,n){var i=Math.min(0,e.top)+Math.min(0,n.bottom-(e.top+t.height)),r=Math.min(0,e.left)+Math.min(0,n.right-(e.left+t.width));return Math.abs(i)*t.width+Math.abs(r)*t.height},__getPosition:function(e,t,n,i,r,a){var o,s=[{verticalAlign:"top",horizontalAlign:"left",top:r.top+this.verticalOffset,left:r.left+this.horizontalOffset},{verticalAlign:"top",horizontalAlign:"right",top:r.top+this.verticalOffset,left:r.right-n.width-this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"left",top:r.bottom-n.height-this.verticalOffset,left:r.left+this.horizontalOffset},{verticalAlign:"bottom",horizontalAlign:"right",top:r.bottom-n.height-this.verticalOffset,left:r.right-n.width-this.horizontalOffset}];if(this.noOverlap){for(var l=0,c=s.length;l0;a>=0&&t.push(r),n="content"===r.localName||"slot"===r.localName?Object(i.a)(r).getDistributedNodes():Object(i.a)(r.root||r).children;for(var s=0;s0&&t.length>0;)this._hasLowerTabOrder(e[0],t[0])?n.push(t.shift()):n.push(e.shift());return n.concat(e,t)},_hasLowerTabOrder:function(e,t){var n=Math.max(e.tabIndex,0),i=Math.max(t.tabIndex,0);return 0===n||0===i?i>n:n>i}},p=n(5),d=n(4);function u(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return u=function(){return e},e}Object(p.a)({_template:Object(d.a)(u()),is:"iron-overlay-backdrop",properties:{opened:{reflectToAttribute:!0,type:Boolean,value:!1,observer:"_openedChanged"}},listeners:{transitionend:"_onTransitionend"},created:function(){this.__openedRaf=null},attached:function(){this.opened&&this._openedChanged(this.opened)},prepare:function(){this.opened&&!this.parentNode&&Object(i.a)(document.body).appendChild(this)},open:function(){this.opened=!0},close:function(){this.opened=!1},complete:function(){this.opened||this.parentNode!==document.body||Object(i.a)(this.parentNode).removeChild(this)},_onTransitionend:function(e){e&&e.target===this&&this.complete()},_openedChanged:function(e){if(e)this.prepare();else{var t=window.getComputedStyle(this);"0s"!==t.transitionDuration&&0!=t.opacity||this.complete()}this.isAttached&&(this.__openedRaf&&(window.cancelAnimationFrame(this.__openedRaf),this.__openedRaf=null),this.scrollTop=this.scrollTop,this.__openedRaf=window.requestAnimationFrame(function(){this.__openedRaf=null,this.toggleClass("opened",this.opened)}.bind(this)))}});var h=n(19),f=n(31),m=function(){this._overlays=[],this._minimumZ=101,this._backdropElement=null,f.a(document.documentElement,"tap",function(){}),document.addEventListener("tap",this._onCaptureClick.bind(this),!0),document.addEventListener("focus",this._onCaptureFocus.bind(this),!0),document.addEventListener("keydown",this._onCaptureKeyDown.bind(this),!0)};m.prototype={constructor:m,get backdropElement(){return this._backdropElement||(this._backdropElement=document.createElement("iron-overlay-backdrop")),this._backdropElement},get deepActiveElement(){var e=document.activeElement;for(e&&e instanceof Element!=!1||(e=document.body);e.root&&Object(i.a)(e.root).activeElement;)e=Object(i.a)(e.root).activeElement;return e},_bringOverlayAtIndexToFront:function(e){var t=this._overlays[e];if(t){var n=this._overlays.length-1,i=this._overlays[n];if(i&&this._shouldBeBehindOverlay(t,i)&&n--,!(e>=n)){var r=Math.max(this.currentOverlayZ(),this._minimumZ);for(this._getZ(t)<=r&&this._applyOverlayZ(t,r);e=0)return this._bringOverlayAtIndexToFront(t),void this.trackBackdrop();var n=this._overlays.length,i=this._overlays[n-1],r=Math.max(this._getZ(i),this._minimumZ),a=this._getZ(e);if(i&&this._shouldBeBehindOverlay(e,i)){this._applyOverlayZ(i,r),n--;var o=this._overlays[n-1];r=Math.max(this._getZ(o),this._minimumZ)}a<=r&&this._applyOverlayZ(e,r),this._overlays.splice(n,0,e),this.trackBackdrop()},removeOverlay:function(e){var t=this._overlays.indexOf(e);-1!==t&&(this._overlays.splice(t,1),this.trackBackdrop())},currentOverlay:function(){var e=this._overlays.length-1;return this._overlays[e]},currentOverlayZ:function(){return this._getZ(this.currentOverlay())},ensureMinimumZ:function(e){this._minimumZ=Math.max(this._minimumZ,e)},focusOverlay:function(){var e=this.currentOverlay();e&&e._applyFocus()},trackBackdrop:function(){var e=this._overlayWithBackdrop();(e||this._backdropElement)&&(this.backdropElement.style.zIndex=this._getZ(e)-1,this.backdropElement.opened=!!e,this.backdropElement.prepare())},getBackdrops:function(){for(var e=[],t=0;t=0;e--)if(this._overlays[e].withBackdrop)return this._overlays[e]},_getZ:function(e){var t=this._minimumZ;if(e){var n=Number(e.style.zIndex||window.getComputedStyle(e).zIndex);n==n&&(t=n)}return t},_setZ:function(e,t){e.style.zIndex=t},_applyOverlayZ:function(e,t){this._setZ(e,t+2)},_overlayInPath:function(e){e=e||[];for(var t=0;t=0||(0===C.length&&function(){b=b||function(e){e.cancelable&&function(e){var t=Object(i.a)(e).rootTarget;"touchmove"!==e.type&&_!==t&&(_=t,x=function(e){for(var t=[],n=e.indexOf(g),i=0;i<=n;i++)if(e[i].nodeType===Node.ELEMENT_NODE){var r=e[i],a=r.style;"scroll"!==a.overflow&&"auto"!==a.overflow&&(a=window.getComputedStyle(r)),"scroll"!==a.overflow&&"auto"!==a.overflow||t.push(r)}return t}(Object(i.a)(e).path));if(!x.length)return!0;if("touchstart"===e.type)return!1;var n=function(e){var t={deltaX:e.deltaX,deltaY:e.deltaY};if("deltaX"in e);else if("wheelDeltaX"in e&&"wheelDeltaY"in e)t.deltaX=-e.wheelDeltaX,t.deltaY=-e.wheelDeltaY;else if("wheelDelta"in e)t.deltaX=0,t.deltaY=-e.wheelDelta;else if("axis"in e)t.deltaX=1===e.axis?e.detail:0,t.deltaY=2===e.axis?e.detail:0;else if(e.targetTouches){var n=e.targetTouches[0];t.deltaX=y.pageX-n.pageX,t.deltaY=y.pageY-n.pageY}return t}(e);return!function(e,t,n){if(!t&&!n)return;for(var i=Math.abs(n)>=Math.abs(t),r=0;r0:a.scrollTop0:a.scrollLeft=0))switch(this.scrollAction){case"lock":this.__restoreScrollPosition();break;case"refit":this.__deraf("refit",this.refit);break;case"cancel":this.cancel(e)}},__saveScrollPosition:function(){document.scrollingElement?(this.__scrollTop=document.scrollingElement.scrollTop,this.__scrollLeft=document.scrollingElement.scrollLeft):(this.__scrollTop=Math.max(document.documentElement.scrollTop,document.body.scrollTop),this.__scrollLeft=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft))},__restoreScrollPosition:function(){document.scrollingElement?(document.scrollingElement.scrollTop=this.__scrollTop,document.scrollingElement.scrollLeft=this.__scrollLeft):(document.documentElement.scrollTop=document.body.scrollTop=this.__scrollTop,document.documentElement.scrollLeft=document.body.scrollLeft=this.__scrollLeft)}},O=[r,a.a,A]},function(e,t,n){"use strict";n(3),n(9);var i=n(5),r=n(6),a=n(4),o=n(74);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var l={properties:{scrollTarget:{type:HTMLElement,value:function(){return this._defaultScrollTarget}}},observers:["_scrollTargetChanged(scrollTarget, isAttached)"],_shouldHaveListener:!0,_scrollTargetChanged:function(e,t){if(this._oldScrollTarget&&(this._toggleScrollListener(!1,this._oldScrollTarget),this._oldScrollTarget=null),t)if("document"===e)this.scrollTarget=this._doc;else if("string"==typeof e){var n=this.domHost;this.scrollTarget=n&&n.$?n.$[e]:Object(r.a)(this.ownerDocument).querySelector("#"+e)}else this._isValidScrollTarget()&&(this._oldScrollTarget=e,this._toggleScrollListener(this._shouldHaveListener,e))},_scrollHandler:function(){},get _defaultScrollTarget(){return this._doc},get _doc(){return this.ownerDocument.documentElement},get _scrollTop(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageYOffset:this.scrollTarget.scrollTop:0},get _scrollLeft(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.pageXOffset:this.scrollTarget.scrollLeft:0},set _scrollTop(e){this.scrollTarget===this._doc?window.scrollTo(window.pageXOffset,e):this._isValidScrollTarget()&&(this.scrollTarget.scrollTop=e)},set _scrollLeft(e){this.scrollTarget===this._doc?window.scrollTo(e,window.pageYOffset):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=e)},scroll:function(e,t){var n;"object"===s(e)?(n=e.left,t=e.top):n=e,n=n||0,t=t||0,this.scrollTarget===this._doc?window.scrollTo(n,t):this._isValidScrollTarget()&&(this.scrollTarget.scrollLeft=n,this.scrollTarget.scrollTop=t)},get _scrollTargetWidth(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerWidth:this.scrollTarget.offsetWidth:0},get _scrollTargetHeight(){return this._isValidScrollTarget()?this.scrollTarget===this._doc?window.innerHeight:this.scrollTarget.offsetHeight:0},_isValidScrollTarget:function(){return this.scrollTarget instanceof HTMLElement},_toggleScrollListener:function(e,t){var n=t===this._doc?window:t;e?this._boundScrollHandler||(this._boundScrollHandler=this._scrollHandler.bind(this),n.addEventListener("scroll",this._boundScrollHandler)):this._boundScrollHandler&&(n.removeEventListener("scroll",this._boundScrollHandler),this._boundScrollHandler=null)},toggleScrollListener:function(e){this._shouldHaveListener=e,this._toggleScrollListener(e,this.scrollTarget)}},c={},p=[l,{properties:{effects:{type:String},effectsConfig:{type:Object,value:function(){return{}}},disabled:{type:Boolean,reflectToAttribute:!0,value:!1},threshold:{type:Number,value:0},thresholdTriggered:{type:Boolean,notify:!0,readOnly:!0,reflectToAttribute:!0}},observers:["_effectsChanged(effects, effectsConfig, isAttached)"],_updateScrollState:function(e){},isOnScreen:function(){return!1},isContentBelow:function(){return!1},_effectsRunFn:null,_effects:null,get _clampedScrollTop(){return Math.max(0,this._scrollTop)},detached:function(){this._tearDownEffects()},createEffect:function(e,t){var n=c[e];if(!n)throw new ReferenceError(this._getUndefinedMsg(e));var i=this._boundEffect(n,t||{});return i.setUp(),i},_effectsChanged:function(e,t,n){this._tearDownEffects(),e&&n&&(e.split(" ").forEach(function(e){var n;""!==e&&((n=c[e])?this._effects.push(this._boundEffect(n,t[e])):console.warn(this._getUndefinedMsg(e)))},this),this._setUpEffect())},_layoutIfDirty:function(){return this.offsetWidth},_boundEffect:function(e,t){t=t||{};var n=parseFloat(t.startsAt||0),i=parseFloat(t.endsAt||1),r=i-n,a=function(){},o=0===n&&1===i?e.run:function(t,i){e.run.call(this,Math.max(0,(t-n)/r),i)};return{setUp:e.setUp?e.setUp.bind(this,t):a,run:e.run?o.bind(this):a,tearDown:e.tearDown?e.tearDown.bind(this):a}},_setUpEffect:function(){this.isAttached&&this._effects&&(this._effectsRunFn=[],this._effects.forEach(function(e){!1!==e.setUp()&&this._effectsRunFn.push(e.run)},this))},_tearDownEffects:function(){this._effects&&this._effects.forEach(function(e){e.tearDown()}),this._effectsRunFn=[],this._effects=[]},_runEffects:function(e,t){this._effectsRunFn&&this._effectsRunFn.forEach(function(n){n(e,t)})},_scrollHandler:function(){if(!this.disabled){var e=this._clampedScrollTop;this._updateScrollState(e),this.threshold>0&&this._setThresholdTriggered(e>=this.threshold)}},_getDOMRef:function(e){console.warn("_getDOMRef","`"+e+"` is undefined")},_getUndefinedMsg:function(e){return"Scroll effect `"+e+"` is undefined. Did you forget to import app-layout/app-scroll-effects/effects/"+e+".html ?"}}];function d(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n
    \n \n
    \n']);return d=function(){return e},e}Object(i.a)({_template:Object(a.a)(d()),is:"app-header",behaviors:[p,o.a],properties:{condenses:{type:Boolean,value:!1},fixed:{type:Boolean,value:!1},reveals:{type:Boolean,value:!1},shadow:{type:Boolean,reflectToAttribute:!0,value:!1}},observers:["_configChanged(isAttached, condenses, fixed)"],_height:0,_dHeight:0,_stickyElTop:0,_stickyElRef:null,_top:0,_progress:0,_wasScrollingDown:!1,_initScrollTop:0,_initTimestamp:0,_lastTimestamp:0,_lastScrollTop:0,get _maxHeaderTop(){return this.fixed?this._dHeight:this._height+5},get _stickyEl(){if(this._stickyElRef)return this._stickyElRef;for(var e,t=Object(r.a)(this.$.slot).getDistributedNodes(),n=0;e=t[n];n++)if(e.nodeType===Node.ELEMENT_NODE){if(e.hasAttribute("sticky")){this._stickyElRef=e;break}this._stickyElRef||(this._stickyElRef=e)}return this._stickyElRef},_configChanged:function(){this.resetLayout(),this._notifyLayoutChanged()},_updateLayoutStates:function(){if(0!==this.offsetWidth||0!==this.offsetHeight){var e=this._clampedScrollTop,t=0===this._height||0===e,n=this.disabled;this._height=this.offsetHeight,this._stickyElRef=null,this.disabled=!0,t||this._updateScrollState(0,!0),this._mayMove()?this._dHeight=this._stickyEl?this._height-this._stickyEl.offsetHeight:0:this._dHeight=0,this._stickyElTop=this._stickyEl?this._stickyEl.offsetTop:0,this._setUpEffect(),t?this._updateScrollState(e,!0):(this._updateScrollState(this._lastScrollTop,!0),this._layoutIfDirty()),this.disabled=n}},_updateScrollState:function(e,t){if(0!==this._height){var n=0,i=0,r=this._top,a=(this._lastScrollTop,this._maxHeaderTop),o=e-this._lastScrollTop,s=Math.abs(o),l=e>this._lastScrollTop,c=performance.now();if(this._mayMove()&&(i=this._clamp(this.reveals?r+o:e,0,a)),e>=this._dHeight&&(i=this.condenses&&!this.fixed?Math.max(this._dHeight,i):i,this.style.transitionDuration="0ms"),this.reveals&&!this.disabled&&s<100&&((c-this._initTimestamp>300||this._wasScrollingDown!==l)&&(this._initScrollTop=e,this._initTimestamp=c),e>=a))if(Math.abs(this._initScrollTop-e)>30||s>10){l&&e>=a?i=a:!l&&e>=this._dHeight&&(i=this.condenses&&!this.fixed?this._dHeight:0);var p=o/(c-this._lastTimestamp);this.style.transitionDuration=this._clamp((i-r)/p,0,300)+"ms"}else i=this._top;n=0===this._dHeight?e>0?1:0:i/this._dHeight,t||(this._lastScrollTop=e,this._top=i,this._wasScrollingDown=l,this._lastTimestamp=c),(t||n!==this._progress||r!==i||0===e)&&(this._progress=n,this._runEffects(n,i),this._transformHeader(i))}},_mayMove:function(){return this.condenses||!this.fixed},willCondense:function(){return this._dHeight>0&&this.condenses},isOnScreen:function(){return 0!==this._height&&this._top0:this._clampedScrollTop-this._maxHeaderTop>=0},_transformHeader:function(e){this.translate3d(0,-e+"px",0),this._stickyEl&&this.translate3d(0,this.condenses&&e>=this._stickyElTop?Math.min(e,this._dHeight)-this._stickyElTop+"px":0,0,this._stickyEl)},_clamp:function(e,t,n){return Math.min(n,Math.max(t,e))},_ensureBgContainers:function(){this._bgContainer||(this._bgContainer=document.createElement("div"),this._bgContainer.id="background",this._bgRear=document.createElement("div"),this._bgRear.id="backgroundRearLayer",this._bgContainer.appendChild(this._bgRear),this._bgFront=document.createElement("div"),this._bgFront.id="backgroundFrontLayer",this._bgContainer.appendChild(this._bgFront),Object(r.a)(this.root).insertBefore(this._bgContainer,this.$.contentContainer))},_getDOMRef:function(e){switch(e){case"backgroundFrontLayer":return this._ensureBgContainers(),this._bgFront;case"backgroundRearLayer":return this._ensureBgContainers(),this._bgRear;case"background":return this._ensureBgContainers(),this._bgContainer;case"mainTitle":return Object(r.a)(this).querySelector("[main-title]");case"condensedTitle":return Object(r.a)(this).querySelector("[condensed-title]")}return null},getScrollState:function(){return{progress:this._progress,top:this._top}}})},function(e,t,n){"use strict";n(3);var i={properties:{animationConfig:{type:Object},entryAnimation:{observer:"_entryAnimationChanged",type:String},exitAnimation:{observer:"_exitAnimationChanged",type:String}},_entryAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.entry=[{name:this.entryAnimation,node:this}]},_exitAnimationChanged:function(){this.animationConfig=this.animationConfig||{},this.animationConfig.exit=[{name:this.exitAnimation,node:this}]},_copyProperties:function(e,t){for(var n in t)e[n]=t[n]},_cloneConfig:function(e){var t={isClone:!0};return this._copyProperties(t,e),t},_getAnimationConfigRecursive:function(e,t,n){var i;if(this.animationConfig)if(this.animationConfig.value&&"function"==typeof this.animationConfig.value)this._warn(this._logf("playAnimation","Please put 'animationConfig' inside of your components 'properties' object instead of outside of it."));else if(i=e?this.animationConfig[e]:this.animationConfig,Array.isArray(i)||(i=[i]),i)for(var r,a=0;r=i[a];a++)if(r.animatable)r.animatable._getAnimationConfigRecursive(r.type||e,t,n);else if(r.id){var o=t[r.id];o?(o.isClone||(t[r.id]=this._cloneConfig(o),o=t[r.id]),this._copyProperties(o,r)):t[r.id]=r}else n.push(r)},getAnimationConfig:function(e){var t={},n=[];for(var i in this._getAnimationConfigRecursive(e,t,n),t)n.push(t[i]);return n}};n.d(t,"a",function(){return r});var r=[i,{_configureAnimations:function(e){var t=[],n=[];if(e.length>0)for(var i,r=0;i=e[r];r++){var a=document.createElement(i.name);if(a.isNeonAnimation){var o;a.configure||(a.configure=function(e){return null}),o=a.configure(i),n.push({result:o,config:i,neonAnimation:a})}else console.warn(this.is+":",i.name,"not found!")}for(var s=0;s\n \n']);return l=function(){return e},e}Object(o.a)({_template:Object(s.a)(l()),is:"paper-dialog",behaviors:[a.a,r.a],listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},_renderOpened:function(){this.cancelAnimation(),this.playAnimation("entry")},_renderClosed:function(){this.cancelAnimation(),this.playAnimation("exit")},_onNeonAnimationFinish:function(){this.opened?this._finishRenderOpened():this._finishRenderClosed()}})},,function(e,t,n){"use strict";n(3),n(24),n(70);var i=n(5),r=n(4),a=n(71);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n
    \n
    \n
    \n
    \n
    \n']);return o=function(){return e},e}var s=Object(r.a)(o());s.setAttribute("strip-whitespace",""),Object(i.a)({_template:s,is:"paper-spinner-lite",behaviors:[a.a]})},function(e,t,n){"use strict";n(9),n(24),n(11),n(45),n(29)},function(e,t){var n,i,r,a;n=function(){return this}(),r={},a={},function(e,t){function n(){this._delay=0,this._endDelay=0,this._fill="none",this._iterationStart=0,this._iterations=1,this._duration=0,this._playbackRate=1,this._direction="normal",this._easing="linear",this._easingFunction=u}function i(){return e.isDeprecated("Invalid timing inputs","2016-03-02","TypeError exceptions will be thrown instead.",!0)}function r(t,i,r){var a=new n;return i&&(a.fill="both",a.duration="auto"),"number"!=typeof t||isNaN(t)?void 0!==t&&Object.getOwnPropertyNames(t).forEach(function(n){if("auto"!=t[n]){if(("number"==typeof a[n]||"duration"==n)&&("number"!=typeof t[n]||isNaN(t[n])))return;if("fill"==n&&-1==p.indexOf(t[n]))return;if("direction"==n&&-1==d.indexOf(t[n]))return;if("playbackRate"==n&&1!==t[n]&&e.isDeprecated("AnimationEffectTiming.playbackRate","2014-11-28","Use Animation.playbackRate instead."))return;a[n]=t[n]}}):a.duration=t,a}function a(e,t,n,i){return e<0||e>1||n<0||n>1?u:function(r){function a(e,t,n){return 3*e*(1-n)*(1-n)*n+3*t*(1-n)*n*n+n*n*n}if(r<=0){var o=0;return e>0?o=t/e:!t&&n>0&&(o=i/n),o*r}if(r>=1){var s=0;return n<1?s=(i-1)/(n-1):1==n&&e<1&&(s=(t-1)/(e-1)),1+s*(r-1)}for(var l=0,c=1;l=1)return 1;var i=1/e;return(n+=t*i)-n%i}}function s(e){g||(g=document.createElement("div").style),g.animationTimingFunction="",g.animationTimingFunction=e;var t=g.animationTimingFunction;if(""==t&&i())throw new TypeError(e+" is not a valid value for easing");return t}function l(e){if("linear"==e)return u;var t=y.exec(e);if(t)return a.apply(this,t.slice(1).map(Number));var n=_.exec(e);return n?o(Number(n[1]),{start:h,middle:f,end:m}[n[2]]):b[e]||u}function c(e,t,n){if(null==t)return x;var i=n.delay+e+n.endDelay;return t=Math.min(n.delay+e,i)?k:S}var p="backwards|forwards|both|none".split("|"),d="reverse|alternate|alternate-reverse".split("|"),u=function(e){return e};n.prototype={_setMember:function(t,n){this["_"+t]=n,this._effect&&(this._effect._timingInput[t]=n,this._effect._timing=e.normalizeTimingInput(this._effect._timingInput),this._effect.activeDuration=e.calculateActiveDuration(this._effect._timing),this._effect._animation&&this._effect._animation._rebuildUnderlyingAnimation())},get playbackRate(){return this._playbackRate},set delay(e){this._setMember("delay",e)},get delay(){return this._delay},set endDelay(e){this._setMember("endDelay",e)},get endDelay(){return this._endDelay},set fill(e){this._setMember("fill",e)},get fill(){return this._fill},set iterationStart(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterationStart must be a non-negative number, received: "+timing.iterationStart);this._setMember("iterationStart",e)},get iterationStart(){return this._iterationStart},set duration(e){if("auto"!=e&&(isNaN(e)||e<0)&&i())throw new TypeError("duration must be non-negative or auto, received: "+e);this._setMember("duration",e)},get duration(){return this._duration},set direction(e){this._setMember("direction",e)},get direction(){return this._direction},set easing(e){this._easingFunction=l(s(e)),this._setMember("easing",e)},get easing(){return this._easing},set iterations(e){if((isNaN(e)||e<0)&&i())throw new TypeError("iterations must be non-negative, received: "+e);this._setMember("iterations",e)},get iterations(){return this._iterations}};var h=1,f=.5,m=0,b={ease:a(.25,.1,.25,1),"ease-in":a(.42,0,1,1),"ease-out":a(0,0,.58,1),"ease-in-out":a(.42,0,.58,1),"step-start":o(1,h),"step-middle":o(1,f),"step-end":o(1,m)},g=null,v="\\s*(-?\\d+\\.?\\d*|-?\\.\\d+)\\s*",y=new RegExp("cubic-bezier\\("+v+","+v+","+v+","+v+"\\)"),_=/steps\(\s*(\d+)\s*,\s*(start|middle|end)\s*\)/,x=0,w=1,k=2,S=3;e.cloneTimingInput=function(e){if("number"==typeof e)return e;var t={};for(var n in e)t[n]=e[n];return t},e.makeTiming=r,e.numericTimingToObject=function(e){return"number"==typeof e&&(e=isNaN(e)?{duration:0}:{duration:e}),e},e.normalizeTimingInput=function(t,n){return r(t=e.numericTimingToObject(t),n)},e.calculateActiveDuration=function(e){return Math.abs(function(e){return 0===e.duration||0===e.iterations?0:e.duration*e.iterations}(e)/e.playbackRate)},e.calculateIterationProgress=function(e,t,n){var i=c(e,t,n),r=function(e,t,n,i,r){switch(i){case w:return"backwards"==t||"both"==t?0:null;case S:return n-r;case k:return"forwards"==t||"both"==t?e:null;case x:return null}}(e,n.fill,t,i,n.delay);if(null===r)return null;var a=function(e,t,n,i,r){var a=r;return 0===e?t!==w&&(a+=n):a+=i/e,a}(n.duration,i,n.iterations,r,n.iterationStart),o=function(e,t,n,i,r,a){var o=e===1/0?t%1:e%1;return 0!==o||n!==k||0===i||0===r&&0!==a||(o=1),o}(a,n.iterationStart,i,n.iterations,r,n.duration),s=function(e,t,n,i){return e===k&&t===1/0?1/0:1===n?Math.floor(i)-1:Math.floor(i)}(i,n.iterations,o,a),l=function(e,t,n){var i=e;if("normal"!==e&&"reverse"!==e){var r=t;"alternate-reverse"===e&&(r+=1),i="normal",r!==1/0&&r%2!=0&&(i="reverse")}return"normal"===i?n:1-n}(n.direction,s,o);return n._easingFunction(l)},e.calculatePhase=c,e.normalizeEasing=s,e.parseEasingFunction=l}(i={}),function(e,t){function n(e,t){return e in l&&l[e][t]||t}function i(e,t,i){if(!function(e){return"display"===e||0===e.lastIndexOf("animation",0)||0===e.lastIndexOf("transition",0)}(e)){var r=a[e];if(r)for(var s in o.style[e]=t,r){var l=r[s],c=o.style[l];i[l]=n(l,c)}else i[e]=n(e,t)}}function r(e){var t=[];for(var n in e)if(!(n in["easing","offset","composite"])){var i=e[n];Array.isArray(i)||(i=[i]);for(var r,a=i.length,o=0;o1)throw new TypeError("Keyframe offsets must be between 0 and 1.")}}else if("composite"==r){if("add"==a||"accumulate"==a)throw{type:DOMException.NOT_SUPPORTED_ERR,name:"NotSupportedError",message:"add compositing is not supported"};if("replace"!=a)throw new TypeError("Invalid composite mode "+a+".")}else a="easing"==r?e.normalizeEasing(a):""+a;i(r,a,n)}return null==n.offset&&(n.offset=null),null==n.easing&&(n.easing="linear"),n}),a=!0,o=-1/0,s=0;s=0&&e.offset<=1}),a||function(){var e=n.length;null==n[e-1].offset&&(n[e-1].offset=1),e>1&&null==n[0].offset&&(n[0].offset=0);for(var t=0,i=n[0].offset,r=1;r=e.applyFrom&&n0?this._totalDuration:0),this._ensureAlive())},get currentTime(){return this._idle||this._currentTimePending?null:this._currentTime},set currentTime(e){e=+e,isNaN(e)||(t.restart(),this._paused||null==this._startTime||(this._startTime=this._timeline.currentTime-e/this._playbackRate),this._currentTimePending=!1,this._currentTime!=e&&(this._idle&&(this._idle=!1,this._paused=!0),this._tickCurrentTime(e,!0),t.applyDirtiedAnimation(this)))},get startTime(){return this._startTime},set startTime(e){e=+e,isNaN(e)||this._paused||this._idle||(this._startTime=e,this._tickCurrentTime((this._timeline.currentTime-this._startTime)*this.playbackRate),t.applyDirtiedAnimation(this))},get playbackRate(){return this._playbackRate},set playbackRate(e){if(e!=this._playbackRate){var n=this.currentTime;this._playbackRate=e,this._startTime=null,"paused"!=this.playState&&"idle"!=this.playState&&(this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)),null!=n&&(this.currentTime=n)}},get _isFinished(){return!this._idle&&(this._playbackRate>0&&this._currentTime>=this._totalDuration||this._playbackRate<0&&this._currentTime<=0)},get _totalDuration(){return this._effect._totalDuration},get playState(){return this._idle?"idle":null==this._startTime&&!this._paused&&0!=this.playbackRate||this._currentTimePending?"pending":this._paused?"paused":this._isFinished?"finished":"running"},_rewind:function(){if(this._playbackRate>=0)this._currentTime=0;else{if(!(this._totalDuration<1/0))throw new DOMException("Unable to rewind negative playback rate animation with infinite duration","InvalidStateError");this._currentTime=this._totalDuration}},play:function(){this._paused=!1,(this._isFinished||this._idle)&&(this._rewind(),this._startTime=null),this._finishedFlag=!1,this._idle=!1,this._ensureAlive(),t.applyDirtiedAnimation(this)},pause:function(){this._isFinished||this._paused||this._idle?this._idle&&(this._rewind(),this._idle=!1):this._currentTimePending=!0,this._startTime=null,this._paused=!0},finish:function(){this._idle||(this.currentTime=this._playbackRate>0?this._totalDuration:0,this._startTime=this._totalDuration-this.currentTime,this._currentTimePending=!1,t.applyDirtiedAnimation(this))},cancel:function(){this._inEffect&&(this._inEffect=!1,this._idle=!0,this._paused=!1,this._isFinished=!0,this._finishedFlag=!0,this._currentTime=0,this._startTime=null,this._effect._update(null),t.applyDirtiedAnimation(this))},reverse:function(){this.playbackRate*=-1,this.play()},addEventListener:function(e,t){"function"==typeof t&&"finish"==e&&this._finishHandlers.push(t)},removeEventListener:function(e,t){if("finish"==e){var n=this._finishHandlers.indexOf(t);n>=0&&this._finishHandlers.splice(n,1)}},_fireEvents:function(e){if(this._isFinished){if(!this._finishedFlag){var t=new i(this,this._currentTime,e),n=this._finishHandlers.concat(this.onfinish?[this.onfinish]:[]);setTimeout(function(){n.forEach(function(e){e.call(t.target,t)})},0),this._finishedFlag=!0}}else this._finishedFlag=!1},_tick:function(e,t){this._idle||this._paused||(null==this._startTime?t&&(this.startTime=e-this._currentTime/this.playbackRate):this._isFinished||this._tickCurrentTime((e-this._startTime)*this.playbackRate)),t&&(this._currentTimePending=!1,this._fireEvents(e))},get _needsTick(){return this.playState in{pending:1,running:1}||!this._finishedFlag},_targetAnimations:function(){var e=this._effect._target;return e._activeAnimations||(e._activeAnimations=[]),e._activeAnimations},_markTarget:function(){var e=this._targetAnimations();-1===e.indexOf(this)&&e.push(this)},_unmarkTarget:function(){var e=this._targetAnimations(),t=e.indexOf(this);-1!==t&&e.splice(t,1)}}}(i,r),function(e,t,n){function i(e){var t=c;c=[],ei?n%=i:i%=n;return e*t/(n+i)}(i.length,r.length),c=0;c=1?t:"visible"}]},["visibility"]),function(e,t){function n(e){e=e.trim(),a.fillStyle="#000",a.fillStyle=e;var t=a.fillStyle;if(a.fillStyle="#fff",a.fillStyle=e,t==a.fillStyle){a.fillRect(0,0,1,1);var n=a.getImageData(0,0,1,1).data;a.clearRect(0,0,1,1);var i=n[3]/255;return[n[0]*i,n[1]*i,n[2]*i,i]}}function i(t,n){return[t,n,function(t){function n(e){return Math.max(0,Math.min(255,e))}if(t[3])for(var i=0;i<3;i++)t[i]=Math.round(n(t[i]/t[3]));return t[3]=e.numberToString(e.clamp(0,1,t[3])),"rgba("+t.join(",")+")"}]}var r=document.createElementNS("http://www.w3.org/1999/xhtml","canvas");r.width=r.height=1;var a=r.getContext("2d");e.addPropertiesHandler(n,i,["background-color","border-bottom-color","border-left-color","border-right-color","border-top-color","color","fill","flood-color","lighting-color","outline-color","stop-color","stroke","text-decoration-color"]),e.consumeColor=e.consumeParenthesised.bind(null,n),e.mergeColors=i}(r),function(e,t){function n(e){function t(){var t=o.exec(e);a=t?t[0]:void 0}function n(){if("("!==a)return function(){var e=Number(a);return t(),e}();t();var e=r();return")"!==a?NaN:(t(),e)}function i(){for(var e=n();"*"===a||"/"===a;){var i=a;t();var r=n();"*"===i?e*=r:e/=r}return e}function r(){for(var e=i();"+"===a||"-"===a;){var n=a;t();var r=i();"+"===n?e+=r:e-=r}return e}var a,o=/([\+\-\w\.]+|[\(\)\*\/])/g;return t(),r()}function i(e,t){if("0"==(t=t.trim().toLowerCase())&&"px".search(e)>=0)return{px:0};if(/^[^(]*$|^calc/.test(t)){t=t.replace(/calc\(/g,"(");var i={};t=t.replace(e,function(e){return i[e]=null,"U"+e});for(var r="U("+e.source+")",a=t.replace(/[-+]?(\d*\.)?\d+([Ee][-+]?\d+)?/g,"N").replace(new RegExp("N"+r,"g"),"D").replace(/\s[+-]\s/g,"O").replace(/\s/g,""),o=[/N\*(D)/g,/(N|D)[*\/]N/g,/(N|D)O\1/g,/\((N|D)\)/g],s=0;s1?"calc("+n+")":n}]}var o="px|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc",s=i.bind(null,new RegExp(o,"g")),l=i.bind(null,new RegExp(o+"|%","g")),c=i.bind(null,/deg|rad|grad|turn/g);e.parseLength=s,e.parseLengthOrPercent=l,e.consumeLengthOrPercent=e.consumeParenthesised.bind(null,l),e.parseAngle=c,e.mergeDimensions=a;var p=e.consumeParenthesised.bind(null,s),d=e.consumeRepeated.bind(void 0,p,/^/),u=e.consumeRepeated.bind(void 0,d,/^,/);e.consumeSizePairList=u;var h=e.mergeNestedRepeated.bind(void 0,r," "),f=e.mergeNestedRepeated.bind(void 0,h,",");e.mergeNonNegativeSizePair=h,e.addPropertiesHandler(function(e){var t=u(e);if(t&&""==t[1])return t[0]},f,["background-size"]),e.addPropertiesHandler(l,r,["border-bottom-width","border-image-width","border-left-width","border-right-width","border-top-width","flex-basis","font-size","height","line-height","max-height","max-width","outline-width","width"]),e.addPropertiesHandler(l,a,["border-bottom-left-radius","border-bottom-right-radius","border-top-left-radius","border-top-right-radius","bottom","left","letter-spacing","margin-bottom","margin-left","margin-right","margin-top","min-height","min-width","outline-offset","padding-bottom","padding-left","padding-right","padding-top","perspective","right","shape-margin","stroke-dashoffset","text-indent","top","vertical-align","word-spacing"])}(r),function(e,t){function n(t){return e.consumeLengthOrPercent(t)||e.consumeToken(/^auto/,t)}function i(t){var i=e.consumeList([e.ignore(e.consumeToken.bind(null,/^rect/)),e.ignore(e.consumeToken.bind(null,/^\(/)),e.consumeRepeated.bind(null,n,/^,/),e.ignore(e.consumeToken.bind(null,/^\)/))],t);if(i&&4==i[0].length)return i[0]}var r=e.mergeWrappedNestedRepeated.bind(null,function(e){return"rect("+e+")"},function(t,n){return"auto"==t||"auto"==n?[!0,!1,function(i){var r=i?t:n;if("auto"==r)return"auto";var a=e.mergeDimensions(r,r);return a[2](a[0])}]:e.mergeDimensions(t,n)},", ");e.parseBox=i,e.mergeBoxes=r,e.addPropertiesHandler(i,r,["clip"])}(r),function(e,t){function n(e){return function(t){var n=0;return e.map(function(e){return e===c?t[n++]:e})}}function i(e){return e}function r(t){if("none"==(t=t.toLowerCase().trim()))return[];for(var n,i=/\s*(\w+)\(([^)]*)\)/g,r=[],a=0;n=i.exec(t);){if(n.index!=a)return;a=n.index+n[0].length;var o=n[1],s=u[o];if(!s)return;var l=n[2].split(","),c=s[0];if(c.length=0&&this._cancelHandlers.splice(n,1)}else l.call(this,e,t)},a}}}(),function(e){var t=document.documentElement,n=null,i=!1;try{var r="0"==getComputedStyle(t).getPropertyValue("opacity")?"1":"0";(n=t.animate({opacity:[r,r]},{duration:1})).currentTime=0,i=getComputedStyle(t).getPropertyValue("opacity")==r}catch(e){}finally{n&&n.cancel()}if(!i){var a=window.Element.prototype.animate;window.Element.prototype.animate=function(t,n){return window.Symbol&&Symbol.iterator&&Array.prototype.from&&t[Symbol.iterator]&&(t=Array.from(t)),Array.isArray(t)||null===t||(t=e.convertToArrayForm(t)),a.call(this,t,n)}}}(i),function(e,t,n){function i(e){var n=t.timeline;n.currentTime=e,n._discardAnimations(),0==n._animations.length?a=!1:requestAnimationFrame(i)}var r=window.requestAnimationFrame;window.requestAnimationFrame=function(e){return r(function(n){t.timeline._updateAnimationsPromises(),e(n),t.timeline._updateAnimationsPromises()})},t.AnimationTimeline=function(){this._animations=[],this.currentTime=void 0},t.AnimationTimeline.prototype={getAnimations:function(){return this._discardAnimations(),this._animations.slice()},_updateAnimationsPromises:function(){t.animationsWithPromises=t.animationsWithPromises.filter(function(e){return e._updatePromises()})},_discardAnimations:function(){this._updateAnimationsPromises(),this._animations=this._animations.filter(function(e){return"finished"!=e.playState&&"idle"!=e.playState})},_play:function(e){var n=new t.Animation(e,this);return this._animations.push(n),t.restartWebAnimationsNextTick(),n._updatePromises(),n._animation.play(),n._updatePromises(),n},play:function(e){return e&&e.remove(),this._play(e)}};var a=!1;t.restartWebAnimationsNextTick=function(){a||(a=!0,requestAnimationFrame(i))};var o=new t.AnimationTimeline;t.timeline=o;try{Object.defineProperty(window.document,"timeline",{configurable:!0,get:function(){return o}})}catch(e){}try{window.document.timeline=o}catch(e){}}(0,a),function(e,t,n){t.animationsWithPromises=[],t.Animation=function(t,n){if(this.id="",t&&t._id&&(this.id=t._id),this.effect=t,t&&(t._animation=this),!n)throw new Error("Animation with null timeline is not supported");this._timeline=n,this._sequenceNumber=e.sequenceNumber++,this._holdTime=0,this._paused=!1,this._isGroup=!1,this._animation=null,this._childAnimations=[],this._callback=null,this._oldPlayState="idle",this._rebuildUnderlyingAnimation(),this._animation.cancel(),this._updatePromises()},t.Animation.prototype={_updatePromises:function(){var e=this._oldPlayState,t=this.playState;return this._readyPromise&&t!==e&&("idle"==t?(this._rejectReadyPromise(),this._readyPromise=void 0):"pending"==e?this._resolveReadyPromise():"pending"==t&&(this._readyPromise=void 0)),this._finishedPromise&&t!==e&&("idle"==t?(this._rejectFinishedPromise(),this._finishedPromise=void 0):"finished"==t?this._resolveFinishedPromise():"finished"==e&&(this._finishedPromise=void 0)),this._oldPlayState=this.playState,this._readyPromise||this._finishedPromise},_rebuildUnderlyingAnimation:function(){this._updatePromises();var e,n,i,r,a=!!this._animation;a&&(e=this.playbackRate,n=this._paused,i=this.startTime,r=this.currentTime,this._animation.cancel(),this._animation._wrapper=null,this._animation=null),(!this.effect||this.effect instanceof window.KeyframeEffect)&&(this._animation=t.newUnderlyingAnimationForKeyframeEffect(this.effect),t.bindAnimationForKeyframeEffect(this)),(this.effect instanceof window.SequenceEffect||this.effect instanceof window.GroupEffect)&&(this._animation=t.newUnderlyingAnimationForGroup(this.effect),t.bindAnimationForGroup(this)),this.effect&&this.effect._onsample&&t.bindAnimationForCustomEffect(this),a&&(1!=e&&(this.playbackRate=e),null!==i?this.startTime=i:null!==r?this.currentTime=r:null!==this._holdTime&&(this.currentTime=this._holdTime),n&&this.pause()),this._updatePromises()},_updateChildren:function(){if(this.effect&&"idle"!=this.playState){var e=this.effect._timing.delay;this._childAnimations.forEach(function(n){this._arrangeChildren(n,e),this.effect instanceof window.SequenceEffect&&(e+=t.groupChildDuration(n.effect))}.bind(this))}},_setExternalAnimation:function(e){if(this.effect&&this._isGroup)for(var t=0;t\n :host {\n display: block;\n padding: 8px 0;\n\n background: var(--paper-listbox-background-color, var(--primary-background-color));\n color: var(--paper-listbox-color, var(--primary-text-color));\n\n @apply --paper-listbox;\n }\n \n\n \n"]);return o=function(){return e},e}Object(r.a)({_template:Object(a.a)(o()),is:"paper-listbox",behaviors:[i.a],hostAttributes:{role:"listbox"}})},function(e,t,n){"use strict";n(3),n(9);var i=n(18),r=n(46),a=n(5),o=n(6),s=n(4);function l(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n'],['\n \n\n \x3c!-- the mirror sizes the input/textarea so it grows with typing --\x3e\n \x3c!-- use   instead   of to allow this element to be used in XHTML --\x3e\n \n\n \x3c!-- size the input/textarea with a div, because the textarea has intrinsic size in ff --\x3e\n
    \n \n
    \n']);return l=function(){return e},e}Object(a.a)({_template:Object(s.a)(l()),is:"iron-autogrow-textarea",behaviors:[r.a,i.a],properties:{value:{observer:"_valueChanged",type:String,notify:!0},bindValue:{observer:"_bindValueChanged",type:String,notify:!0},rows:{type:Number,value:1,observer:"_updateCached"},maxRows:{type:Number,value:0,observer:"_updateCached"},autocomplete:{type:String,value:"off"},autofocus:{type:Boolean,value:!1},inputmode:{type:String},placeholder:{type:String},readonly:{type:String},required:{type:Boolean},minlength:{type:Number},maxlength:{type:Number},label:{type:String}},listeners:{input:"_onInput"},get textarea(){return this.$.textarea},get selectionStart(){return this.$.textarea.selectionStart},get selectionEnd(){return this.$.textarea.selectionEnd},set selectionStart(e){this.$.textarea.selectionStart=e},set selectionEnd(e){this.$.textarea.selectionEnd=e},attached:function(){navigator.userAgent.match(/iP(?:[oa]d|hone)/)&&(this.$.textarea.style.marginLeft="-3px")},validate:function(){var e=this.$.textarea.validity.valid;return e&&(this.required&&""===this.value?e=!1:this.hasValidator()&&(e=r.a.validate.call(this,this.value))),this.invalid=!e,this.fire("iron-input-validate"),e},_bindValueChanged:function(e){this.value=e},_valueChanged:function(e){var t=this.textarea;t&&(t.value!==e&&(t.value=e||0===e?e:""),this.bindValue=e,this.$.mirror.innerHTML=this._valueForMirror(),this.fire("bind-value-changed",{value:this.bindValue}))},_onInput:function(e){var t=Object(o.a)(e).path;this.value=t?t[0].value:e.target.value},_constrain:function(e){var t;for(e=e||[""],t=this.maxRows>0&&e.length>this.maxRows?e.slice(0,this.maxRows):e.slice(0);this.rows>0&&t.length")+" "},_valueForMirror:function(){var e=this.textarea;if(e)return this.tokens=e&&e.value?e.value.replace(/&/gm,"&").replace(/"/gm,""").replace(/'/gm,"'").replace(//gm,">").split("\n"):[""],this._constrain(this.tokens)},_updateCached:function(){this.$.mirror.innerHTML=this._constrain(this.tokens)}})},function(e,t,n){"use strict";n(3),n(24),n(70);var i=n(5),r=n(4),a=n(71);function o(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n\n
    \n
    \n
    \n
    \n
    \n']);return o=function(){return e},e}var s=Object(r.a)(o());s.setAttribute("strip-whitespace",""),Object(i.a)({_template:s,is:"paper-spinner",behaviors:[a.a]})},function(e,t,n){"use strict";n(3),n(9),n(24),n(11);var i=n(63),r=n(44),a=n(5),o=n(31),s=n(4),l=n(39);function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n \n\n
    \n
    \n
    \n
    \n\n
    \n\n ']);return c=function(){return e},e}var p=Object(s.a)(c());p.setAttribute("strip-whitespace",""),Object(a.a)({_template:p,is:"paper-toggle-button",behaviors:[i.a],hostAttributes:{role:"button","aria-pressed":"false",tabindex:0},properties:{},listeners:{track:"_ontrack"},attached:function(){Object(l.a)(this,function(){Object(o.e)(this,"pan-y")})},_ontrack:function(e){var t=e.detail;"start"===t.state?this._trackStart(t):"track"===t.state?this._trackMove(t):"end"===t.state&&this._trackEnd(t)},_trackStart:function(e){this._width=this.$.toggleBar.offsetWidth/2,this._trackChecked=this.checked,this.$.toggleButton.classList.add("dragging")},_trackMove:function(e){var t=e.dx;this._x=Math.min(this._width,Math.max(0,this._trackChecked?this._width+t:t)),this.translate3d(this._x+"px",0,0,this.$.toggleButton),this._userActivate(this._x>this._width/2)},_trackEnd:function(e){this.$.toggleButton.classList.remove("dragging"),this.transform("",this.$.toggleButton)},_createRipple:function(){this._rippleContainer=this.$.toggleButton;var e=r.a._createRipple();return e.id="ink",e.setAttribute("recenters",""),e.classList.add("circle","toggle-ink"),e}})},function(e,t,n){"use strict";n(3),n(19),n(80);var i=n(78),r=n(62),a=n(5),o=n(4);function s(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n\n \n"]);return s=function(){return e},e}Object(a.a)({_template:Object(o.a)(s()),is:"paper-radio-group",behaviors:[i.a],hostAttributes:{role:"radiogroup"},properties:{attrForSelected:{type:String,value:"name"},selectedAttribute:{type:String,value:"checked"},selectable:{type:String,value:"paper-radio-button"},allowEmptySelection:{type:Boolean,value:!1}},select:function(e){var t=this._valueToItem(e);if(!t||!t.hasAttribute("disabled")){if(this.selected){var n=this._valueToItem(this.selected);if(this.selected==e){if(!this.allowEmptySelection)return void(n&&(n.checked=!0));e=""}n&&(n.checked=!1)}r.a.select.apply(this,[e]),this.fire("paper-radio-group-changed")}},_activateFocusedItem:function(){this._itemActivate(this._valueForItem(this.focusedItem),this.focusedItem)},_onUpKey:function(e){this._focusPrevious(),e.preventDefault(),this._activateFocusedItem()},_onDownKey:function(e){this._focusNext(),e.preventDefault(),this._activateFocusedItem()},_onLeftKey:function(e){i.b._onLeftKey.apply(this,arguments),this._activateFocusedItem()},_onRightKey:function(e){i.b._onRightKey.apply(this,arguments),this._activateFocusedItem()}})},function(e,t,n){"use strict";n(3);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n/* Most common used flex styles*/\n\n \n\n/* Basic flexbox reverse styles */\n\n \n\n/* Flexbox alignment */\n\n \n\n/* Non-flexbox positioning helper styles */\n\n \n\n\n \n\n']);return r=function(){return e},e}var a=Object(i.a)(r());a.setAttribute("style","display: none;"),document.head.appendChild(a.content)},,,,,,,function(e,t,n){"use strict";n(3);var i=n(19),r=(n(26),n(36),n(18)),a=n(86),o=n(88),s=n(5),l=n(6),c=n(4);function p(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n
    \n \n
    \n']);return p=function(){return e},e}Object(s.a)({_template:Object(c.a)(p()),is:"iron-dropdown",behaviors:[r.a,i.a,a.a,o.a],properties:{horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},openAnimationConfig:{type:Object},closeAnimationConfig:{type:Object},focusTarget:{type:Object},noAnimations:{type:Boolean,value:!1},allowOutsideScroll:{type:Boolean,value:!1,observer:"_allowOutsideScrollChanged"}},listeners:{"neon-animation-finish":"_onNeonAnimationFinish"},observers:["_updateOverlayPosition(positionTarget, verticalAlign, horizontalAlign, verticalOffset, horizontalOffset)"],get containedElement(){for(var e=Object(l.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n :host {\n display: inline-block;\n position: relative;\n padding: 8px;\n outline: none;\n\n @apply --paper-menu-button;\n }\n\n :host([disabled]) {\n cursor: auto;\n color: var(--disabled-text-color);\n\n @apply --paper-menu-button-disabled;\n }\n\n iron-dropdown {\n @apply --paper-menu-button-dropdown;\n }\n\n .dropdown-content {\n @apply --shadow-elevation-2dp;\n\n position: relative;\n border-radius: 2px;\n background-color: var(--paper-menu-button-dropdown-background, var(--primary-background-color));\n\n @apply --paper-menu-button-content;\n }\n\n :host([vertical-align="top"]) .dropdown-content {\n margin-bottom: 20px;\n margin-top: -10px;\n top: 10px;\n }\n\n :host([vertical-align="bottom"]) .dropdown-content {\n bottom: 10px;\n margin-bottom: -10px;\n margin-top: 20px;\n }\n\n #trigger {\n cursor: pointer;\n }\n \n\n
    \n \n
    \n\n \n \n \n']);return u=function(){return e},e}Object(s.a)({is:"paper-menu-grow-height-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this._effect=new KeyframeEffect(t,[{height:n/2+"px"},{height:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-grow-width-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n/2+"px"},{width:n+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-width-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().width;return this._effect=new KeyframeEffect(t,[{width:n+"px"},{width:n-n/20+"px"}],this.timingFromConfig(e)),this._effect}}),Object(s.a)({is:"paper-menu-shrink-height-animation",behaviors:[d],configure:function(e){var t=e.node,n=t.getBoundingClientRect().height;return this.setPrefixedProperty(t,"transformOrigin","0 0"),this._effect=new KeyframeEffect(t,[{height:n+"px",transform:"translateY(0)"},{height:n/2+"px",transform:"translateY(-20px)"}],this.timingFromConfig(e)),this._effect}});var h={ANIMATION_CUBIC_BEZIER:"cubic-bezier(.3,.95,.5,1)",MAX_ANIMATION_TIME_MS:400},f=Object(s.a)({_template:Object(c.a)(u()),is:"paper-menu-button",behaviors:[i.a,r.a],properties:{opened:{type:Boolean,value:!1,notify:!0,observer:"_openedChanged"},horizontalAlign:{type:String,value:"left",reflectToAttribute:!0},verticalAlign:{type:String,value:"top",reflectToAttribute:!0},dynamicAlign:{type:Boolean},horizontalOffset:{type:Number,value:0,notify:!0},verticalOffset:{type:Number,value:0,notify:!0},noOverlap:{type:Boolean},noAnimations:{type:Boolean,value:!1},ignoreSelect:{type:Boolean,value:!1},closeOnActivate:{type:Boolean,value:!1},openAnimationConfig:{type:Object,value:function(){return[{name:"fade-in-animation",timing:{delay:100,duration:200}},{name:"paper-menu-grow-width-animation",timing:{delay:100,duration:150,easing:h.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-grow-height-animation",timing:{delay:100,duration:275,easing:h.ANIMATION_CUBIC_BEZIER}}]}},closeAnimationConfig:{type:Object,value:function(){return[{name:"fade-out-animation",timing:{duration:150}},{name:"paper-menu-shrink-width-animation",timing:{delay:100,duration:50,easing:h.ANIMATION_CUBIC_BEZIER}},{name:"paper-menu-shrink-height-animation",timing:{duration:200,easing:"ease-in"}}]}},allowOutsideScroll:{type:Boolean,value:!1},restoreFocusOnClose:{type:Boolean,value:!0},_dropdownContent:{type:Object}},hostAttributes:{role:"group","aria-haspopup":"true"},listeners:{"iron-activate":"_onIronActivate","iron-select":"_onIronSelect"},get contentElement(){for(var e=Object(l.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t-1&&e.preventDefault()}});Object.keys(h).forEach(function(e){f[e]=h[e]});n(72),n(48);var m=document.createElement("template");m.setAttribute("style","display: none;"),m.innerHTML='\n\n\n\n',document.head.appendChild(m.content);var b=document.createElement("template");b.setAttribute("style","display: none;"),b.innerHTML='\n \n',document.head.appendChild(b.content);var g=n(34),v=n(57),y=n(46),_=n(31);function x(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \x3c!-- this div fulfills an a11y requirement for combobox, do not remove --\x3e\n \n \n \x3c!-- support hybrid mode: user might be using paper-menu-button 1.x which distributes via --\x3e\n \n \n \n']);return x=function(){return e},e}Object(s.a)({_template:Object(c.a)(x()),is:"paper-dropdown-menu",behaviors:[g.a,r.a,v.a,y.a],properties:{selectedItemLabel:{type:String,notify:!0,readOnly:!0},selectedItem:{type:Object,notify:!0,readOnly:!0},value:{type:String,notify:!0},label:{type:String},placeholder:{type:String},errorMessage:{type:String},opened:{type:Boolean,notify:!0,value:!1,observer:"_openedChanged"},allowOutsideScroll:{type:Boolean,value:!1},noLabelFloat:{type:Boolean,value:!1,reflectToAttribute:!0},alwaysFloatLabel:{type:Boolean,value:!1},noAnimations:{type:Boolean,value:!1},horizontalAlign:{type:String,value:"right"},verticalAlign:{type:String,value:"top"},verticalOffset:Number,dynamicAlign:{type:Boolean},restoreFocusOnClose:{type:Boolean,value:!0}},listeners:{tap:"_onTap"},keyBindings:{"up down":"open",esc:"close"},hostAttributes:{role:"combobox","aria-autocomplete":"none","aria-haspopup":"true"},observers:["_selectedItemChanged(selectedItem)"],attached:function(){var e=this.contentElement;e&&e.selectedItem&&this._setSelectedItem(e.selectedItem)},get contentElement(){for(var e=Object(l.a)(this.$.content).getDistributedNodes(),t=0,n=e.length;t\n \n",document.head.appendChild(i.content);var r=n(5),a=n(4),o=n(34),s=n(18),l=[o.a,s.a,{hostAttributes:{role:"option",tabindex:"0"}}];function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n \n']);return c=function(){return e},e}Object(r.a)({_template:Object(a.a)(c()),is:"paper-item",behaviors:[l]})},function(e,t,n){"use strict";n(3),n(9),n(26),n(25),n(24),n(48);var i=n(4);function r(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n\n\n\n\n']);return r=function(){return e},e}var a=Object(i.a)(r());document.head.appendChild(a.content);n(77);var o=n(60),s=n(78),l=n(55),c=n(5),p=n(6);function d(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n'],['\n \n\n \n\n
    \n
    \n
    \n \n
    \n
    \n\n \n']);return d=function(){return e},e}Object(c.a)({_template:Object(i.a)(d()),is:"paper-tabs",behaviors:[l.a,s.a],properties:{noink:{type:Boolean,value:!1,observer:"_noinkChanged"},noBar:{type:Boolean,value:!1},noSlide:{type:Boolean,value:!1},scrollable:{type:Boolean,value:!1},fitContainer:{type:Boolean,value:!1},disableDrag:{type:Boolean,value:!1},hideScrollButtons:{type:Boolean,value:!1},alignBottom:{type:Boolean,value:!1},selectable:{type:String,value:"paper-tab"},autoselect:{type:Boolean,value:!1},autoselectDelay:{type:Number,value:0},_step:{type:Number,value:10},_holdDelay:{type:Number,value:1},_leftHidden:{type:Boolean,value:!1},_rightHidden:{type:Boolean,value:!1},_previousTab:{type:Object}},hostAttributes:{role:"tablist"},listeners:{"iron-resize":"_onTabSizingChanged","iron-items-changed":"_onTabSizingChanged","iron-select":"_onIronSelect","iron-deselect":"_onIronDeselect"},keyBindings:{"left:keyup right:keyup":"_onArrowKeyup"},created:function(){this._holdJob=null,this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,this._bindDelayedActivationHandler=this._delayedActivationHandler.bind(this),this.addEventListener("blur",this._onBlurCapture.bind(this),!0)},ready:function(){this.setScrollDirection("y",this.$.tabsContainer)},detached:function(){this._cancelPendingActivation()},_noinkChanged:function(e){Object(p.a)(this).querySelectorAll("paper-tab").forEach(e?this._setNoinkAttribute:this._removeNoinkAttribute)},_setNoinkAttribute:function(e){e.setAttribute("noink","")},_removeNoinkAttribute:function(e){e.removeAttribute("noink")},_computeScrollButtonClass:function(e,t,n){return!t||n?"hidden":e?"not-visible":""},_computeTabsContentClass:function(e,t){return e?"scrollable"+(t?" fit-container":""):" fit-container"},_computeSelectionBarClass:function(e,t){return e?"hidden":t?"align-bottom":""},_onTabSizingChanged:function(){this.debounce("_onTabSizingChanged",function(){this._scroll(),this._tabChanged(this.selectedItem)},10)},_onIronSelect:function(e){this._tabChanged(e.detail.item,this._previousTab),this._previousTab=e.detail.item,this.cancelDebouncer("tab-changed")},_onIronDeselect:function(e){this.debounce("tab-changed",function(){this._tabChanged(null,this._previousTab),this._previousTab=null},1)},_activateHandler:function(){this._cancelPendingActivation(),o.b._activateHandler.apply(this,arguments)},_scheduleActivation:function(e,t){this._pendingActivationItem=e,this._pendingActivationTimeout=this.async(this._bindDelayedActivationHandler,t)},_delayedActivationHandler:function(){var e=this._pendingActivationItem;this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0,e.fire(this.activateEvent,null,{bubbles:!0,cancelable:!0})},_cancelPendingActivation:function(){void 0!==this._pendingActivationTimeout&&(this.cancelAsync(this._pendingActivationTimeout),this._pendingActivationItem=void 0,this._pendingActivationTimeout=void 0)},_onArrowKeyup:function(e){this.autoselect&&this._scheduleActivation(this.focusedItem,this.autoselectDelay)},_onBlurCapture:function(e){e.target===this._pendingActivationItem&&this._cancelPendingActivation()},get _tabContainerScrollSize(){return Math.max(0,this.$.tabsContainer.scrollWidth-this.$.tabsContainer.offsetWidth)},_scroll:function(e,t){if(this.scrollable){var n=t&&-t.ddx||0;this._affectScroll(n)}},_down:function(e){this.async(function(){this._defaultFocusAsync&&(this.cancelAsync(this._defaultFocusAsync),this._defaultFocusAsync=null)},1)},_affectScroll:function(e){this.$.tabsContainer.scrollLeft+=e;var t=this.$.tabsContainer.scrollLeft;this._leftHidden=0===t,this._rightHidden=t===this._tabContainerScrollSize},_onLeftScrollButtonDown:function(){this._scrollToLeft(),this._holdJob=setInterval(this._scrollToLeft.bind(this),this._holdDelay)},_onRightScrollButtonDown:function(){this._scrollToRight(),this._holdJob=setInterval(this._scrollToRight.bind(this),this._holdDelay)},_onScrollButtonUp:function(){clearInterval(this._holdJob),this._holdJob=null},_scrollToLeft:function(){this._affectScroll(-this._step)},_scrollToRight:function(){this._affectScroll(this._step)},_tabChanged:function(e,t){if(!e)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(0,0);var n=this.$.tabsContent.getBoundingClientRect(),i=n.width,r=e.getBoundingClientRect(),a=r.left-n.left;if(this._pos={width:this._calcPercent(r.width,i),left:this._calcPercent(a,i)},this.noSlide||null==t)return this.$.selectionBar.classList.remove("expand"),this.$.selectionBar.classList.remove("contract"),void this._positionBar(this._pos.width,this._pos.left);var o=t.getBoundingClientRect(),s=this.items.indexOf(t),l=this.items.indexOf(e);this.$.selectionBar.classList.add("expand");var c=s0&&(this.$.tabsContainer.scrollLeft+=n)},_calcPercent:function(e,t){return 100*e/t},_positionBar:function(e,t){e=e||0,t=t||0,this._width=e,this._left=t,this.transform("translateX("+t+"%) scaleX("+e/100+")",this.$.selectionBar)},_onBarTransitionEnd:function(e){var t=this.$.selectionBar.classList;t.contains("expand")?(t.remove("expand"),t.add("contract"),this._positionBar(this._pos.width,this._pos.left)):t.contains("contract")&&t.remove("contract")}})}]]); -//# sourceMappingURL=chunk.8038876231b1b1817795.js.map \ No newline at end of file diff --git a/hassio/api/panel/chunk.8038876231b1b1817795.js.gz b/hassio/api/panel/chunk.8038876231b1b1817795.js.gz deleted file mode 100644 index 38339d447..000000000 Binary files a/hassio/api/panel/chunk.8038876231b1b1817795.js.gz and /dev/null differ diff --git a/hassio/api/panel/chunk.8a4a3a3274af0f09d86b.js b/hassio/api/panel/chunk.8a4a3a3274af0f09d86b.js new file mode 100644 index 000000000..4593a3385 --- /dev/null +++ b/hassio/api/panel/chunk.8a4a3a3274af0f09d86b.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{114:function(n,r,t){"use strict";t.r(r),t.d(r,"marked",function(){return a}),t.d(r,"filterXSS",function(){return c});var e=t(104),i=t.n(e),o=t(106),u=t.n(o),a=i.a,c=u.a}}]); \ No newline at end of file diff --git a/hassio/api/panel/chunk.8a4a3a3274af0f09d86b.js.gz b/hassio/api/panel/chunk.8a4a3a3274af0f09d86b.js.gz new file mode 100644 index 000000000..893f295f8 Binary files /dev/null and b/hassio/api/panel/chunk.8a4a3a3274af0f09d86b.js.gz differ diff --git a/hassio/api/panel/chunk.a6e3bc73416702354e6d.js b/hassio/api/panel/chunk.a6e3bc73416702354e6d.js new file mode 100644 index 000000000..c643bdd68 --- /dev/null +++ b/hassio/api/panel/chunk.a6e3bc73416702354e6d.js @@ -0,0 +1 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{1:function(e,t,n){"use strict";n.r(t);n(71);var o=n(4),r=n(7),a=(n(33),n(94),n(20)),i=(n(26),function(e,t,n,o){o=o||{},n=null==n?{}:n;var r=new Event(t,{bubbles:void 0===o.bubbles||o.bubbles,cancelable:Boolean(o.cancelable),composed:void 0===o.composed||o.composed});return r.detail=n,e.dispatchEvent(r),r});function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n "]);return c=function(){return e},e}function l(e){return(l=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function p(e,t){return(p=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(e){var t,n=m(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var o={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(o.decorators=e.decorators),"field"===e.kind&&(o.initializer=e.value),o}function f(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function h(e){return e.decorators&&e.decorators.length}function b(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function y(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function m(e){var t=function(e,t){if("object"!==s(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==s(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===s(t)?t:String(t)}!function(e,t,n,o){var r=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(o){t.forEach(function(t){var r=t.placement;if(t.kind===o&&("static"===r||"prototype"===r)){var a="static"===r?e:n;this.defineClassElement(a,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var o=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===o?void 0:o.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],o=[],r={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,r)},this),e.forEach(function(e){if(!h(e))return n.push(e);var t=this.decorateElement(e,r);n.push(t.element),n.push.apply(n,t.extras),o.push.apply(o,t.finishers)},this),!t)return{elements:n,finishers:o};var a=this.decorateConstructor(n,t);return o.push.apply(o,a.finishers),a.finishers=o,a},addElementPlacement:function(e,t,n){var o=t[e.placement];if(!n&&-1!==o.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");o.push(e.key)},decorateElement:function(e,t){for(var n=[],o=[],r=e.decorators,a=r.length-1;a>=0;a--){var i=t[e.placement];i.splice(i.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,r[a])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&o.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;o--){var r=this.fromClassDescriptor(e),a=this.toClassDescriptor((0,t[o])(r)||r);if(void 0!==a.finisher&&n.push(a.finisher),void 0!==a.elements){e=a.elements;for(var i=0;i\n "]);return R=function(){return e},e}function z(){var e=H(["\n \n "]);return z=function(){return e},e}function I(){var e=H(["\n \n ",'\n \n
    \n \n
    \n ']);return I=function(){return e},e}function H(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function N(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function F(e,t){return(F=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function B(e){var t,n=W(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var o={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(o.decorators=e.decorators),"field"===e.kind&&(o.initializer=e.value),o}function M(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function U(e){return e.decorators&&e.decorators.length}function q(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function $(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function W(e){var t=function(e,t){if("object"!==A(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==A(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===A(t)?t:String(t)}(function(e,t,n,o){var r=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(o){t.forEach(function(t){var r=t.placement;if(t.kind===o&&("static"===r||"prototype"===r)){var a="static"===r?e:n;this.defineClassElement(a,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var o=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===o?void 0:o.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],o=[],r={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,r)},this),e.forEach(function(e){if(!U(e))return n.push(e);var t=this.decorateElement(e,r);n.push(t.element),n.push.apply(n,t.extras),o.push.apply(o,t.finishers)},this),!t)return{elements:n,finishers:o};var a=this.decorateConstructor(n,t);return o.push.apply(o,a.finishers),a.finishers=o,a},addElementPlacement:function(e,t,n){var o=t[e.placement];if(!n&&-1!==o.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");o.push(e.key)},decorateElement:function(e,t){for(var n=[],o=[],r=e.decorators,a=r.length-1;a>=0;a--){var i=t[e.placement];i.splice(i.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,r[a])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&o.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;o--){var r=this.fromClassDescriptor(e),a=this.toClassDescriptor((0,t[o])(r)||r);if(void 0!==a.finisher&&n.push(a.finisher),void 0!==a.elements){e=a.elements;for(var i=0;i\n \n\n \n"),document.head.appendChild(J.content);n(77);var G=n(10);function Y(e){return(Y="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function V(e,t){for(var n=0;n=0?t:null}:null}),e._resize();for(var t=document.createTreeWalker(e,1,null,!1);t.nextNode();){var n=t.currentNode;"A"===n.tagName&&n.host!==document.location.host?n.target="_blank":"IMG"===n.tagName&&n.addEventListener("load",e._resize)}}else 2===e._scriptLoaded&&(e.innerText=e.content)}))}}])&&te(o.prototype,a),i&&te(o,i),t}();customElements.define("ha-markdown",ce);n(112);var le=n(70),ue=n(6),pe=n(79),de={getTabbableNodes:function(e){var t=[];return this._collectTabbableNodes(e,t)?pe.a._sortByTabIndex(t):t},_collectTabbableNodes:function(e,t){if(e.nodeType!==Node.ELEMENT_NODE||!pe.a._isVisible(e))return!1;var n,o=e,r=pe.a._normalizedTabIndex(o),a=r>0;r>=0&&t.push(o),n="content"===o.localName||"slot"===o.localName?Object(ue.a)(o).getDistributedNodes():Object(ue.a)(o.shadowRoot||o.root||o).children;for(var i=0;i\n ha-paper-dialog {\n min-width: 350px;\n font-size: 14px;\n border-radius: 2px;\n }\n app-toolbar {\n margin: 0;\n padding: 0 16px;\n color: var(--primary-text-color);\n background-color: var(--secondary-background-color);\n }\n app-toolbar [main-title] {\n margin-left: 16px;\n }\n paper-checkbox {\n display: block;\n margin: 4px;\n }\n @media all and (max-width: 450px), all and (max-height: 500px) {\n ha-paper-dialog {\n max-height: 100%;\n }\n ha-paper-dialog::before {\n content: "";\n position: fixed;\n z-index: -1;\n top: 0px;\n left: 0px;\n right: 0px;\n bottom: 0px;\n background-color: inherit;\n }\n app-toolbar {\n color: var(--text-primary-color);\n background-color: var(--primary-color);\n }\n }\n \n \n \n \n
    [[title]]
    \n
    \n \n \n \n
    \n ']);return ke=function(){return e},e}function Oe(e,t){for(var n=0;n\n :host,\n paper-card,\n paper-dropdown-menu {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n paper-item {\n width: 450px;\n }\n .card-actions {\n text-align: right;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n '],['\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n \n \n
    \n
    \n Save\n
    \n
    \n ']);return Ee=function(){return e},e}function Ce(e,t){for(var n=0;n\n .container {\n position: relative;\n display: inline-block;\n }\n\n mwc-button {\n transition: all 1s;\n }\n\n .success mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--google-green-500);\n transition: none;\n }\n\n .error mwc-button {\n --mdc-theme-primary: white;\n background-color: var(--google-red-500);\n transition: none;\n }\n\n .progress {\n @apply --layout;\n @apply --layout-center-center;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n }\n \n
    \n \n \n \n \n
    \n ']);return Ie=function(){return e},e}function He(e,t){for(var n=0;n\n ']);return $e=function(){return e},e}function We(e,t){return!t||"object"!==Ue(t)&&"function"!=typeof t?function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e):t}function Je(e){return(Je=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function Ge(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n iron-autogrow-textarea {\n width: 100%;\n font-family: monospace;\n }\n .syntaxerror {\n color: var(--google-red-500);\n }\n \n \n
    \n \n \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n ']);return Qe=function(){return e},e}function Ze(e,t){for(var n=0;n bit more top margin */\n font-weight: 500;\n overflow: hidden;\n text-transform: uppercase;\n text-overflow: ellipsis;\n transition: background-color 0.3s ease-in-out;\n text-transform: var(--ha-label-badge-label-text-transform, uppercase);\n }\n .label-badge .label.big span {\n font-size: 90%;\n padding: 10% 12% 7% 12%; /* push smaller text a bit down to center vertically */\n }\n .badge-container .title {\n margin-top: 1em;\n font-size: var(--ha-label-badge-title-font-size, 0.9em);\n width: var(--ha-label-badge-title-width, 5em);\n font-weight: var(--ha-label-badge-title-font-weight, 400);\n overflow: hidden;\n text-overflow: ellipsis;\n line-height: normal;\n }\n "]);return bt=function(){return e},e}function yt(){var e=kt(['\n
    ',"
    \n "]);return yt=function(){return e},e}function mt(){var e=kt(['\n \n ',"\n \n "]);return mt=function(){return e},e}function vt(){var e=kt(["\n ","\n "]);return vt=function(){return e},e}function gt(){var e=kt(['\n \n ']);return gt=function(){return e},e}function wt(){var e=kt(['\n
    \n
    \n \n ',"\n ","\n
    \n ","\n
    \n ","\n \n "]);return wt=function(){return e},e}function kt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function Ot(e,t){for(var n=0;n4)}),!this.icon||this.value||this.image?"":Object(a.d)(gt(),this.icon),this.value&&!this.image?Object(a.d)(vt(),this.value):"",this.label?Object(a.d)(mt(),Object(rt.a)({label:!0,big:this.label.length>5}),this.label):"",this.description?Object(a.d)(yt(),this.description):"")}},{key:"updated",value:function(e){_t(St(t.prototype),"updated",this).call(this,e),e.has("image")&&(this.shadowRoot.getElementById("badge").style.backgroundImage=this.image?"url(".concat(this.image,")"):"")}}])&&Ot(n.prototype,o),r&&Ot(n,r),t}();customElements.define("ha-label-badge",xt);var Et=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];n?history.replaceState(null,"",t):history.pushState(null,"",t),i(window,"location-changed",{replace:n})},Ct=[60,60,24,7],Tt=["second","minute","hour","day"];function At(e){return(At="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function Dt(e,t){for(var n=0;n2&&void 0!==arguments[2]?arguments[2]:{},r=((o.compareTime||new Date).getTime()-e.getTime())/1e3,a=r>=0?"past":"future";r=Math.abs(r);for(var i=0;i\n iron-icon {\n margin-right: 16px;\n margin-top: 16px;\n float: left;\n color: var(--secondary-text-color);\n }\n iron-icon.update {\n color: var(--paper-orange-400);\n }\n iron-icon.running,\n iron-icon.installed {\n color: var(--paper-green-400);\n }\n iron-icon.hassupdate,\n iron-icon.snapshot {\n color: var(--paper-item-icon-color);\n }\n iron-icon.not_available {\n color: var(--google-red-500);\n }\n .title {\n color: var(--primary-text-color);\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n }\n .addition {\n color: var(--secondary-text-color);\n overflow: hidden;\n position: relative;\n height: 2.4em;\n line-height: 1.2em;\n }\n ha-relative-time {\n display: block;\n }\n \n \n
    \n
    [[title]]
    \n
    \n \n \n \n
    \n
    \n '],['\n \n \n
    \n
    [[title]]
    \n
    \n \n \n \n
    \n
    \n ']);return Jt=function(){return e},e}function Gt(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n margin-bottom: 16px;\n }\n paper-card.warning {\n background-color: var(--google-red-500);\n color: white;\n --paper-card-header-color: white;\n }\n paper-card.warning mwc-button {\n color: white !important;\n }\n .warning {\n color: var(--google-red-500);\n }\n .addon-header {\n @apply --paper-font-headline;\n }\n .light-color {\n color: var(--secondary-text-color);\n }\n .addon-version {\n float: right;\n font-size: 15px;\n vertical-align: middle;\n }\n .description {\n margin-bottom: 16px;\n }\n .logo img {\n max-height: 60px;\n margin: 16px 0;\n display: block;\n }\n .state div {\n width: 150px;\n display: inline-block;\n }\n paper-toggle-button {\n display: inline;\n }\n iron-icon.running {\n color: var(--paper-green-400);\n }\n iron-icon.stopped {\n color: var(--google-red-300);\n }\n ha-call-api-button {\n font-weight: 500;\n color: var(--primary-color);\n }\n .right {\n float: right;\n }\n ha-markdown img {\n max-width: 100%;\n }\n .red {\n --ha-label-badge-color: var(--label-badge-red, #df4c1e);\n }\n .blue {\n --ha-label-badge-color: var(--label-badge-blue, #039be5);\n }\n .green {\n --ha-label-badge-color: var(--label-badge-green, #0da035);\n }\n .yellow {\n --ha-label-badge-color: var(--label-badge-yellow, #f4b400);\n }\n .security {\n margin-bottom: 16px;\n }\n .security h3 {\n margin-bottom: 8px;\n font-weight: normal;\n }\n .security ha-label-badge {\n cursor: pointer;\n margin-right: 4px;\n --iron-icon-height: 45px;\n }\n \n\n \n\n \n
    \n
    \n [[addon.name]]\n
    \n \n \n
    \n
    \n
    \n [[addon.description]].
    \n Visit\n [[addon.name]] page for\n details.\n
    \n \n \n
    \n

    Addon Security Rating

    \n
    \n Hass.io provides a security rating to each of the add-ons, which indicates the risks involved when using this add-on. The more access an addon requires on your system, the lower the score, thus raising the possible security risks.\n
    \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n
    \n \n \n Open web UI\n \n \n \n
    \n
    \n \n ']);return Zt=function(){return e},e}function en(e,t){for(var n=0;n4?"green":e>2?"yellow":"red"}},{key:"startOnBootToggled",value:function(){var e={boot:"auto"===this.addon.boot?"manual":"auto"};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/options"),e)}},{key:"autoUpdateToggled",value:function(){var e={auto_update:!this.addon.auto_update};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/options"),e)}},{key:"protectionToggled",value:function(){var e={protected:!this.addon.protected};this.hass.callApi("POST","hassio/addons/".concat(this.addonSlug,"/security"),e),this.set("addon.protected",!this.addon.protected)}},{key:"showMoreInfo",value:function(e){var t=e.target.getAttribute("id");this.fire("hassio-markdown-dialog",{title:rn[t].title,content:rn[t].description})}},{key:"openChangelog",value:function(){var e=this;this.hass.callApi("get","hassio/addons/".concat(this.addonSlug,"/changelog")).then(function(e){return e},function(){return"Error getting changelog"}).then(function(t){e.fire("hassio-markdown-dialog",{title:"Changelog",content:t})})}},{key:"_unistallClicked",value:function(){var e=this;if(confirm("Are you sure you want to uninstall this add-on?")){var t="hassio/addons/".concat(this.addonSlug,"/uninstall"),n={path:t};this.hass.callApi("post",t).then(function(e){n.success=!0,n.response=e},function(e){n.success=!1,n.response=e}).then(function(){e.fire("hass-api-called",n)})}}}])&&en(n.prototype,a),i&&en(n,i),t}();function sn(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(["\n \n"]);return sn=function(){return e},e}customElements.define("hassio-addon-info",an);var cn=Object(o.a)(sn());function ln(e){for(var t,n=document.createElement("pre"),o=/\033(?:\[(.*?)[@-~]|\].*?(?:\007|\033\\))/g,r=0,a={bold:!1,italic:!1,underline:!1,strikethrough:!1,foregroundColor:null,backgroundColor:null},i=function(e){var t=document.createElement("span");a.bold&&t.classList.add("bold"),a.italic&&t.classList.add("italic"),a.underline&&t.classList.add("underline"),a.strikethrough&&t.classList.add("strikethrough"),null!==a.foregroundColor&&t.classList.add("fg-".concat(a.foregroundColor)),null!==a.backgroundColor&&t.classList.add("bg-".concat(a.backgroundColor)),t.appendChild(document.createTextNode(e)),n.appendChild(t)};null!==(t=o.exec(e));){var s=t.index;if(i(e.substring(r,s)),r=s+t[0].length,void 0!==t[1]){var c=!0,l=!1,u=void 0;try{for(var p,d=t[1].split(";")[Symbol.iterator]();!(c=(p=d.next()).done);c=!0){var f=p.value;switch(parseInt(f)){case 0:a.bold=!1,a.italic=!1,a.underline=!1,a.strikethrough=!1,a.foregroundColor=null,a.backgroundColor=null;break;case 1:a.bold=!0;break;case 3:a.italic=!0;break;case 4:a.underline=!0;break;case 9:a.strikethrough=!0;break;case 22:a.bold=!1;break;case 23:a.italic=!1;break;case 24:a.underline=!1;break;case 29:a.strikethrough=!1;break;case 30:a.foregroundColor=null;break;case 31:a.foregroundColor="red";break;case 32:a.foregroundColor="green";break;case 33:a.foregroundColor="yellow";break;case 34:a.foregroundColor="blue";break;case 35:a.foregroundColor="magenta";break;case 36:a.foregroundColor="cyan";break;case 37:a.foregroundColor="white";break;case 39:a.foregroundColor=null;break;case 40:a.backgroundColor="black";break;case 41:a.backgroundColor="red";break;case 42:a.backgroundColor="green";break;case 43:a.backgroundColor="yellow";break;case 44:a.backgroundColor="blue";break;case 45:a.backgroundColor="magenta";break;case 46:a.backgroundColor="cyan";break;case 47:a.backgroundColor="white";break;case 49:a.backgroundColor=null}}}catch(e){l=!0,u=e}finally{try{c||null==d.return||d.return()}finally{if(l)throw u}}}}return i(e.substring(r)),n}function un(e){return(un="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function pn(){var e=function(e,t){t||(t=e.slice(0));return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}(['\n \n ','\n \n
    \n
    \n Refresh\n
    \n
    \n ']);return pn=function(){return e},e}function dn(e,t){for(var n=0;n\n :host {\n display: block;\n }\n paper-card {\n display: block;\n }\n .errors {\n color: var(--google-red-500);\n margin-bottom: 16px;\n }\n .card-actions {\n @apply --layout;\n @apply --layout-justified;\n }\n \n \n
    \n \n\n \n \n \n \n \n \n \n \n
    ContainerHost
    \n
    \n
    \n Reset to defaults\n Save\n
    \n
    \n ']);return vn=function(){return e},e}function gn(e,t){for(var n=0;n\n :host {\n color: var(--primary-text-color);\n --paper-card-header-color: var(--primary-text-color);\n }\n .content {\n padding: 24px 0 32px;\n display: flex;\n flex-direction: column;\n align-items: center;\n }\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config {\n margin-bottom: 24px;\n width: 600px;\n }\n hassio-addon-logs {\n max-width: calc(100% - 8px);\n min-width: 600px;\n }\n @media only screen and (max-width: 600px) {\n hassio-addon-info,\n hassio-addon-network,\n hassio-addon-audio,\n hassio-addon-config,\n hassio-addon-logs {\n max-width: 100%;\n min-width: 100%;\n }\n }\n \n \n \n \n \n \n \n
    Hass.io: add-on details
    \n
    \n
    \n
    \n \n\n \n
    \n
    \n\n \n ']);return Sn=function(){return e},e}function Pn(e,t){for(var n=0;n\n "]);return Fn=function(){return e},e}function Bn(){var e=Un(["\n \n "]);return Bn=function(){return e},e}function Mn(){var e=Un(['\n
    \n ',"\n\n
    ",'
    \n \n
    \n
    \n ']);return Mn=function(){return e},e}function Un(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function qn(e){return(qn=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function $n(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Wn(e,t){return(Wn=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Jn(e){var t,n=Kn(e.key);"method"===e.kind?t={value:e.value,writable:!0,configurable:!0,enumerable:!1}:"get"===e.kind?t={get:e.value,configurable:!0,enumerable:!1}:"set"===e.kind?t={set:e.value,configurable:!0,enumerable:!1}:"field"===e.kind&&(t={configurable:!0,writable:!0,enumerable:!0});var o={kind:"field"===e.kind?"field":"method",key:n,placement:e.static?"static":"field"===e.kind?"own":"prototype",descriptor:t};return e.decorators&&(o.decorators=e.decorators),"field"===e.kind&&(o.initializer=e.value),o}function Gn(e,t){void 0!==e.descriptor.get?t.descriptor.get=e.descriptor.get:t.descriptor.set=e.descriptor.set}function Yn(e){return e.decorators&&e.decorators.length}function Vn(e){return void 0!==e&&!(void 0===e.value&&void 0===e.writable)}function Xn(e,t){var n=e[t];if(void 0!==n&&"function"!=typeof n)throw new TypeError("Expected '"+t+"' to be a function");return n}function Kn(e){var t=function(e,t){if("object"!==Ln(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==Ln(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Ln(t)?t:String(t)}!function(e,t,n,o){var r=function(){var e={elementsDefinitionOrder:[["method"],["field"]],initializeInstanceElements:function(e,t){["method","field"].forEach(function(n){t.forEach(function(t){t.kind===n&&"own"===t.placement&&this.defineClassElement(e,t)},this)},this)},initializeClassElements:function(e,t){var n=e.prototype;["method","field"].forEach(function(o){t.forEach(function(t){var r=t.placement;if(t.kind===o&&("static"===r||"prototype"===r)){var a="static"===r?e:n;this.defineClassElement(a,t)}},this)},this)},defineClassElement:function(e,t){var n=t.descriptor;if("field"===t.kind){var o=t.initializer;n={enumerable:n.enumerable,writable:n.writable,configurable:n.configurable,value:void 0===o?void 0:o.call(e)}}Object.defineProperty(e,t.key,n)},decorateClass:function(e,t){var n=[],o=[],r={static:[],prototype:[],own:[]};if(e.forEach(function(e){this.addElementPlacement(e,r)},this),e.forEach(function(e){if(!Yn(e))return n.push(e);var t=this.decorateElement(e,r);n.push(t.element),n.push.apply(n,t.extras),o.push.apply(o,t.finishers)},this),!t)return{elements:n,finishers:o};var a=this.decorateConstructor(n,t);return o.push.apply(o,a.finishers),a.finishers=o,a},addElementPlacement:function(e,t,n){var o=t[e.placement];if(!n&&-1!==o.indexOf(e.key))throw new TypeError("Duplicated element ("+e.key+")");o.push(e.key)},decorateElement:function(e,t){for(var n=[],o=[],r=e.decorators,a=r.length-1;a>=0;a--){var i=t[e.placement];i.splice(i.indexOf(e.key),1);var s=this.fromElementDescriptor(e),c=this.toElementFinisherExtras((0,r[a])(s)||s);e=c.element,this.addElementPlacement(e,t),c.finisher&&o.push(c.finisher);var l=c.extras;if(l){for(var u=0;u=0;o--){var r=this.fromClassDescriptor(e),a=this.toClassDescriptor((0,t[o])(r)||r);if(void 0!==a.finisher&&n.push(a.finisher),void 0!==a.elements){e=a.elements;for(var i=0;i\n \n \n \n