From 6e3f448aa35586a64da456719996cb5c454e3cd0 Mon Sep 17 00:00:00 2001 From: "start.vaadin.com" Date: Sun, 25 Jul 2021 10:44:30 +0000 Subject: [PATCH] Generated project --- .gitignore | 19 + .mvn/wrapper/MavenWrapperDownloader.java | 118 + .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 50710 bytes .mvn/wrapper/maven-wrapper.properties | 2 + .npmrc | 6 + .prettierrc.js | 4 + .vscode/extensions.json | 9 + .vscode/settings.json | 3 + Dockerfile | 34 + LICENSE.md | 24 + README.md | 63 + frontend/auth.ts | 74 + frontend/index.html | 24 + frontend/index.ts | 20 + frontend/routes.ts | 80 + frontend/stores/app-store.ts | 48 + .../themes/fusionmanagement/main-layout.css | 50 + frontend/themes/fusionmanagement/styles.css | 9 + frontend/themes/fusionmanagement/theme.json | 1 + .../fusionmanagement/views/admin-view.css | 3 + .../fusionmanagement/views/home-view.css | 3 + .../fusionmanagement/views/profile-view.css | 3 + frontend/views/admin/admin-view.ts | 10 + frontend/views/home/home-view.ts | 10 + frontend/views/login/login-view.ts | 40 + frontend/views/main-layout.ts | 83 + frontend/views/profile/profile-view.ts | 10 + frontend/views/view.ts | 51 + mvnw | 310 + mvnw.cmd | 182 + package.json | 171 + pnpm-lock.yaml | 8485 +++++++++++++++++ pom.xml | 262 + .../java/com/cubetiqs/fusion/Application.java | 27 + .../cubetiqs/fusion/data/AbstractEntity.java | 45 + .../java/com/cubetiqs/fusion/data/Role.java | 16 + .../fusion/data/endpoint/UserEndpoint.java | 22 + .../com/cubetiqs/fusion/data/entity/User.java | 61 + .../fusion/data/generator/DataGenerator.java | 57 + .../fusion/data/service/UserRepository.java | 17 + .../fusion/data/service/UserService.java | 30 + .../fusion/security/AuthenticatedUser.java | 47 + .../security/SecurityConfiguration.java | 38 + .../security/UserDetailsServiceImpl.java | 40 + .../META-INF/resources/icons/icon.png | Bin 0 -> 15994 bytes .../META-INF/resources/images/logo.png | Bin 0 -> 16070 bytes src/main/resources/application.properties | 7 + src/main/resources/banner.txt | 6 + tsconfig.json | 34 + types.d.ts | 5 + 50 files changed, 10663 insertions(+) create mode 100644 .gitignore create mode 100644 .mvn/wrapper/MavenWrapperDownloader.java create mode 100644 .mvn/wrapper/maven-wrapper.jar create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 .npmrc create mode 100644 .prettierrc.js create mode 100644 .vscode/extensions.json create mode 100644 .vscode/settings.json create mode 100644 Dockerfile create mode 100644 LICENSE.md create mode 100644 README.md create mode 100644 frontend/auth.ts create mode 100644 frontend/index.html create mode 100644 frontend/index.ts create mode 100644 frontend/routes.ts create mode 100644 frontend/stores/app-store.ts create mode 100644 frontend/themes/fusionmanagement/main-layout.css create mode 100644 frontend/themes/fusionmanagement/styles.css create mode 100644 frontend/themes/fusionmanagement/theme.json create mode 100644 frontend/themes/fusionmanagement/views/admin-view.css create mode 100644 frontend/themes/fusionmanagement/views/home-view.css create mode 100644 frontend/themes/fusionmanagement/views/profile-view.css create mode 100644 frontend/views/admin/admin-view.ts create mode 100644 frontend/views/home/home-view.ts create mode 100644 frontend/views/login/login-view.ts create mode 100644 frontend/views/main-layout.ts create mode 100644 frontend/views/profile/profile-view.ts create mode 100644 frontend/views/view.ts create mode 100644 mvnw create mode 100644 mvnw.cmd create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 pom.xml create mode 100644 src/main/java/com/cubetiqs/fusion/Application.java create mode 100644 src/main/java/com/cubetiqs/fusion/data/AbstractEntity.java create mode 100644 src/main/java/com/cubetiqs/fusion/data/Role.java create mode 100644 src/main/java/com/cubetiqs/fusion/data/endpoint/UserEndpoint.java create mode 100644 src/main/java/com/cubetiqs/fusion/data/entity/User.java create mode 100644 src/main/java/com/cubetiqs/fusion/data/generator/DataGenerator.java create mode 100644 src/main/java/com/cubetiqs/fusion/data/service/UserRepository.java create mode 100644 src/main/java/com/cubetiqs/fusion/data/service/UserService.java create mode 100644 src/main/java/com/cubetiqs/fusion/security/AuthenticatedUser.java create mode 100644 src/main/java/com/cubetiqs/fusion/security/SecurityConfiguration.java create mode 100644 src/main/java/com/cubetiqs/fusion/security/UserDetailsServiceImpl.java create mode 100644 src/main/resources/META-INF/resources/icons/icon.png create mode 100644 src/main/resources/META-INF/resources/images/logo.png create mode 100644 src/main/resources/application.properties create mode 100644 src/main/resources/banner.txt create mode 100644 tsconfig.json create mode 100644 types.d.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b845353 --- /dev/null +++ b/.gitignore @@ -0,0 +1,19 @@ +/target/ +.idea/ +.settings +.project +.classpath + +*.iml +.DS_Store + +# The following files are generated/updated by vaadin-maven-plugin +node_modules/ +frontend/generated/ +pnpmfile.js + +# Browser drivers for local integration tests +drivers/ +# Error screenshots generated by TestBench for failed integration tests +error-screenshots/ +webpack.generated.js diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java new file mode 100644 index 0000000..eed2b64 --- /dev/null +++ b/.mvn/wrapper/MavenWrapperDownloader.java @@ -0,0 +1,118 @@ +/* + * Copyright 2007-present the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import java.net.*; +import java.io.*; +import java.nio.channels.*; +import java.util.Properties; + +public class MavenWrapperDownloader { + + private static final String WRAPPER_VERSION = "0.5.6"; + /** + * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is + * provided. + */ + private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/" + + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar"; + + /** + * Path to the maven-wrapper.properties file, which might contain a downloadUrl + * property to use instead of the default one. + */ + private static final String MAVEN_WRAPPER_PROPERTIES_PATH = ".mvn/wrapper/maven-wrapper.properties"; + + /** + * Path where the maven-wrapper.jar will be saved to. + */ + private static final String MAVEN_WRAPPER_JAR_PATH = ".mvn/wrapper/maven-wrapper.jar"; + + /** + * Name of the property which should be used to override the default download + * url for the wrapper. + */ + private static final String PROPERTY_NAME_WRAPPER_URL = "wrapperUrl"; + + public static void main(String args[]) { + System.out.println("- Downloader started"); + File baseDirectory = new File(args[0]); + System.out.println("- Using base directory: " + baseDirectory.getAbsolutePath()); + + // If the maven-wrapper.properties exists, read it and check if it contains a + // custom + // wrapperUrl parameter. + File mavenWrapperPropertyFile = new File(baseDirectory, MAVEN_WRAPPER_PROPERTIES_PATH); + String url = DEFAULT_DOWNLOAD_URL; + if (mavenWrapperPropertyFile.exists()) { + FileInputStream mavenWrapperPropertyFileInputStream = null; + try { + mavenWrapperPropertyFileInputStream = new FileInputStream(mavenWrapperPropertyFile); + Properties mavenWrapperProperties = new Properties(); + mavenWrapperProperties.load(mavenWrapperPropertyFileInputStream); + url = mavenWrapperProperties.getProperty(PROPERTY_NAME_WRAPPER_URL, url); + } catch (IOException e) { + System.out.println("- ERROR loading '" + MAVEN_WRAPPER_PROPERTIES_PATH + "'"); + } finally { + try { + if (mavenWrapperPropertyFileInputStream != null) { + mavenWrapperPropertyFileInputStream.close(); + } + } catch (IOException e) { + // Ignore ... + } + } + } + System.out.println("- Downloading from: " + url); + + File outputFile = new File(baseDirectory.getAbsolutePath(), MAVEN_WRAPPER_JAR_PATH); + if (!outputFile.getParentFile().exists()) { + if (!outputFile.getParentFile().mkdirs()) { + System.out.println( + "- ERROR creating output directory '" + outputFile.getParentFile().getAbsolutePath() + "'"); + } + } + System.out.println("- Downloading to: " + outputFile.getAbsolutePath()); + try { + downloadFileFromURL(url, outputFile); + System.out.println("Done"); + System.exit(0); + } catch (Throwable e) { + System.out.println("- Error downloading"); + e.printStackTrace(); + System.exit(1); + } + } + + private static void downloadFileFromURL(String urlString, File destination) throws Exception { + if (System.getenv("MVNW_USERNAME") != null && System.getenv("MVNW_PASSWORD") != null) { + String username = System.getenv("MVNW_USERNAME"); + char[] password = System.getenv("MVNW_PASSWORD").toCharArray(); + Authenticator.setDefault(new Authenticator() { + @Override + protected PasswordAuthentication getPasswordAuthentication() { + return new PasswordAuthentication(username, password); + } + }); + } + URL website = new URL(urlString); + ReadableByteChannel rbc; + rbc = Channels.newChannel(website.openStream()); + FileOutputStream fos = new FileOutputStream(destination); + fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE); + fos.close(); + rbc.close(); + } + +} diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..2cc7d4a55c0cd0092912bf49ae38b3a9e3fd0054 GIT binary patch literal 50710 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 EfAhh=DF6Tf literal 0 HcmV?d00001 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..ffdc10e --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..34e3360 --- /dev/null +++ b/.npmrc @@ -0,0 +1,6 @@ +# +# NOTICE: this is an auto-generated file +# +# This file sets the default parameters for manual `pnpm install`. +# +shamefully-hoist=true diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..783d42f --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,4 @@ +module.exports = { + singleQuote: true, + printWidth: 120, +}; diff --git a/.vscode/extensions.json b/.vscode/extensions.json new file mode 100644 index 0000000..60b2613 --- /dev/null +++ b/.vscode/extensions.json @@ -0,0 +1,9 @@ +{ + "recommendations": [ + "runem.lit-plugin", + "vscjava.vscode-java-pack", + "pivotal.vscode-spring-boot", + "vaadin.studio" + ], + "unwantedRecommendations": [] +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c29af74 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "lit-plugin.strict": true +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..ba055e0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +# Stage that builds the application, a prerequisite for the running stage +FROM maven:3-openjdk-16-slim as build +RUN curl -sL https://deb.nodesource.com/setup_14.x | bash - +RUN apt-get update -qq && apt-get install -qq --no-install-recommends nodejs + +# Stop running as root at this point +RUN useradd -m myuser +WORKDIR /usr/src/app/ +RUN chown myuser:myuser /usr/src/app/ +USER myuser + +# Copy pom.xml and prefetch dependencies so a repeated build can continue from the next step with existing dependencies +COPY --chown=myuser pom.xml ./ +RUN mvn dependency:go-offline -Pproduction + +# Copy all needed project files to a folder +COPY --chown=myuser:myuser src src +COPY --chown=myuser:myuser frontend frontend +COPY --chown=myuser:myuser package.json ./ + +# Using * after the files that are autogenerated so that so build won't fail if they are not yet created +COPY --chown=myuser:myuser package-lock.json* pnpm-lock.yaml* webpack.config.js* ./ + + +# Build the production package, assuming that we validated the version before so no need for running tests again +RUN mvn clean package -DskipTests -Pproduction + +# Running stage: the part that is used for running the application +FROM openjdk:16-jdk-slim +COPY --from=build /usr/src/app/target/*.jar /usr/app/app.jar +RUN useradd -m myuser +USER myuser +EXPOSE 8080 +CMD java -jar /usr/app/app.jar diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..cf1ab25 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/README.md b/README.md new file mode 100644 index 0000000..7447ee5 --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +# Custom project from start.vaadin.com + +This project can be used as a starting point to create your own Vaadin application with Spring Boot. +It contains all the necessary configuration and some placeholder files to get you started. + +## Running the application +The project is a standard Maven project. To run it from the command line, +type `mvnw` (Windows), or `./mvnw` (Mac & Linux), then open +http://localhost:8080 in your browser. + +You can also import the project to your IDE of choice as you would with any +Maven project. Read more on [how to set up a development environment for +Vaadin projects](https://vaadin.com/docs/latest/guide/install) (Windows, Linux, macOS). + +## Deploying to Production +To create a production build, call `mvnw clean package -Pproduction` (Windows), +or `./mvnw clean package -Pproduction` (Mac & Linux). +This will build a JAR file with all the dependencies and front-end resources, +ready to be deployed. The file can be found in the `target` folder after the build completes. + +Once the JAR file is built, you can run it using +`java -jar target/myapp-1.0-SNAPSHOT.jar` (NOTE, replace +`myapp-1.0-SNAPSHOT.jar` with the name of your jar). + +## Project structure + + + + + + + + + + + +
DirectoryDescription
frontend/Client-side source directory
    index.htmlHTML template
    index.tsFrontend entrypoint, contains the client-side routing setup using Vaadin Router
    main-layout.tsMain layout Web Component, contains the navigation menu, uses App Layout
    views/UI views Web Components (TypeScript)
    themes/Custom +CSS styles
src/main/java/<groupId>/Server-side +source directory, contains the server-side Java views
    Application.javaServer entry-point
+ +## Useful links + +- Read the documentation at [vaadin.com/docs](https://vaadin.com/docs/latest/). +- Create new projects at [start.vaadin.com](https://start.vaadin.com/). +- Search UI components and their usage examples at [vaadin.com/components](https://vaadin.com/components). +- Find a collection of solutions to common use cases in [Vaadin Cookbook](https://cookbook.vaadin.com/). +- Find Add-ons at [vaadin.com/directory](https://vaadin.com/directory). +- Ask questions on [Stack Overflow](https://stackoverflow.com/questions/tagged/vaadin) or join our [Discord channel](https://discord.gg/MYFq5RTbBn). +- Report issues, create pull requests in [GitHub](https://github.com/vaadin/). + +## Deploying using Docker + +To build the Dockerized version of the project, run + +``` +docker build . -t myapp:latest +``` + +Once the Docker image is correctly built, you can test it locally using + +``` +docker run -p 8080:8080 myapp:latest +``` diff --git a/frontend/auth.ts b/frontend/auth.ts new file mode 100644 index 0000000..47958a4 --- /dev/null +++ b/frontend/auth.ts @@ -0,0 +1,74 @@ +import { login as loginImpl, LoginResult, logout as logoutImpl } from '@vaadin/flow-frontend'; +import { appStore } from './stores/app-store'; + +interface Authentication { + timestamp: number; +} + +let authentication: Authentication | undefined = undefined; + +const AUTHENTICATION_KEY = 'authentication'; +const THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1000; + +// Get authentication from local storage +const storedAuthenticationJson = localStorage.getItem(AUTHENTICATION_KEY); +if (storedAuthenticationJson !== null) { + const storedAuthentication = JSON.parse(storedAuthenticationJson) as Authentication; + // Check that the stored timestamp is not older than 30 days + const hasRecentAuthenticationTimestamp = new Date().getTime() - storedAuthentication.timestamp < THIRTY_DAYS_MS; + if (hasRecentAuthenticationTimestamp) { + // Use loaded authentication + authentication = storedAuthentication; + } else { + // Delete expired stored authentication + setSessionExpired(); + } +} + +/** + * Forces the session to expire and removes user information stored in + * `localStorage`. + */ +export function setSessionExpired() { + authentication = undefined; + + // Delete the authentication from the local storage + localStorage.removeItem(AUTHENTICATION_KEY); +} + +export function isAuthenticated() { + return !!authentication; +} + +/** + * Login wrapper method that retrieves user information. + * + * Uses `localStorage` for offline support. + */ +export async function login(username: string, password: string): Promise { + const result = await loginImpl(username, password); + if (!result.error) { + // Get user info from endpoint + await appStore.fetchUserInfo(); + authentication = { + timestamp: new Date().getTime(), + }; + + // Save the authentication to local storage + localStorage.setItem(AUTHENTICATION_KEY, JSON.stringify(authentication)); + } + + return result; +} + +/** + * Login wrapper method that retrieves user information. + * + * Uses `localStorage` for offline support. + */ +export async function logout() { + setSessionExpired(); + await logoutImpl(); + appStore.clearUserInfo(); + location.href = ''; +} diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..269422a --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,24 @@ + + + + + + Fusion Management + + + + + +
+ + diff --git a/frontend/index.ts b/frontend/index.ts new file mode 100644 index 0000000..1d425c2 --- /dev/null +++ b/frontend/index.ts @@ -0,0 +1,20 @@ +import { Router } from '@vaadin/router'; +import { routes } from './routes'; +import { appStore } from './stores/app-store'; + +export const router = new Router(document.querySelector('#outlet')); + +appStore.fetchUserInfo().finally(() => { + // Ensure router access checks are not done before we know if we are logged in + router.setRoutes(routes); +}); + +window.addEventListener('vaadin-router-location-changed', (e) => { + appStore.setLocation((e as CustomEvent).detail.location); + const title = appStore.currentViewTitle; + if (title) { + document.title = title + ' | ' + appStore.applicationName; + } else { + document.title = appStore.applicationName; + } +}); diff --git a/frontend/routes.ts b/frontend/routes.ts new file mode 100644 index 0000000..1c0c1a6 --- /dev/null +++ b/frontend/routes.ts @@ -0,0 +1,80 @@ +import { Route } from '@vaadin/router'; +import Role from './generated/com/example/application/data/Role'; +import { appStore } from './stores/app-store'; +import './views/home/home-view'; +import './views/main-layout'; + +export type ViewRoute = Route & { + title?: string; + icon?: string; + requiresLogin?: boolean; + rolesAllowed?: Role[]; + children?: ViewRoute[]; +}; + +export const hasAccess = (route: Route) => { + const viewRoute = route as ViewRoute; + if (viewRoute.requiresLogin && !appStore.loggedIn) { + return false; + } + + if (viewRoute.rolesAllowed) { + return viewRoute.rolesAllowed.some((role) => appStore.isUserInRole(role)); + } + return true; +}; + +export const views: ViewRoute[] = [ + // place routes below (more info https://vaadin.com/docs/latest/fusion/routing/overview) + { + path: '', + component: 'home-view', + icon: 'la la-home', + title: 'Home', + }, + { + path: 'profile', + component: 'profile-view', + requiresLogin: true, + icon: 'la la-user', + title: 'Profile', + action: async (_context, _command) => { + if (!hasAccess(_context.route)) { + return _command.redirect('login'); + } + await import('./views/profile/profile-view'); + return; + }, + }, + { + path: 'admin', + component: 'admin-view', + rolesAllowed: [Role.ADMIN], + icon: 'la la-user-lock', + title: 'Admin', + action: async (_context, _command) => { + if (!hasAccess(_context.route)) { + return _command.redirect('login'); + } + await import('./views/admin/admin-view'); + return; + }, + }, +]; +export const routes: ViewRoute[] = [ + { + path: '', + component: 'main-layout', + children: [...views], + }, + { + path: 'login', + component: 'login-view', + icon: '', + title: 'Login', + action: async (_context, _command) => { + await import('./views/login/login-view'); + return; + }, + }, +]; diff --git a/frontend/stores/app-store.ts b/frontend/stores/app-store.ts new file mode 100644 index 0000000..dfdff30 --- /dev/null +++ b/frontend/stores/app-store.ts @@ -0,0 +1,48 @@ +import { RouterLocation } from '@vaadin/router'; +import User from 'Frontend/generated/com/cubetiqs/fusion/data/entity/User'; +import Role from 'Frontend/generated/com/cubetiqs/fusion/data/Role'; +import { UserEndpoint } from 'Frontend/generated/UserEndpoint'; +import { makeAutoObservable } from 'mobx'; + +export class AppStore { + applicationName = 'Fusion Management'; + + // The location, relative to the base path, e.g. "hello" when viewing "/hello" + location = ''; + + currentViewTitle = ''; + + user: User | undefined = undefined; + + constructor() { + makeAutoObservable(this); + } + + setLocation(location: RouterLocation) { + if (location.route) { + this.location = location.route.path; + } else if (location.pathname.startsWith(location.baseUrl)) { + this.location = location.pathname.substr(location.baseUrl.length); + } else { + this.location = location.pathname; + } + this.currentViewTitle = (location?.route as any)?.title || ''; + } + + async fetchUserInfo() { + this.user = await UserEndpoint.getAuthenticatedUser(); + } + + clearUserInfo() { + this.user = undefined; + } + + get loggedIn() { + return !!this.user; + } + + isUserInRole(role: Role) { + return this.user?.roles?.includes(role); + } +} +export const appStore = new AppStore(); diff --git a/frontend/themes/fusionmanagement/main-layout.css b/frontend/themes/fusionmanagement/main-layout.css new file mode 100644 index 0000000..1039691 --- /dev/null +++ b/frontend/themes/fusionmanagement/main-layout.css @@ -0,0 +1,50 @@ +.sidemenu-header { + align-items: center; + box-shadow: var(--lumo-box-shadow-s); + display: flex; + height: var(--lumo-size-xl); + width: 100%; +} + +.sidemenu-header h1 { + font-size: var(--lumo-font-size-l); + margin: 0; +} + +.sidemenu-menu #logo { + align-items: center; + box-sizing: border-box; + display: flex; + padding: var(--lumo-space-s) var(--lumo-space-m); +} + +.sidemenu-menu #logo img { + height: calc(var(--lumo-size-l) * 1.5); +} + +.sidemenu-menu #logo span { + font-size: var(--lumo-font-size-xl); + font-weight: 600; + margin: 0 var(--lumo-space-s); +} + +.sidemenu-menu vaadin-tab { + font-size: var(--lumo-font-size-s); + height: var(--lumo-size-l); + font-weight: 600; + color: var(--lumo-body-text-color); +} + +.sidemenu-menu vaadin-tab:hover { + background-color: var(--lumo-contrast-5pct); + text-decoration: none; +} + +.sidemenu-menu vaadin-tab[selected] { + background-color: var(--lumo-primary-color-10pct); + color: var(--lumo-primary-text-color); +} + +hr { + margin: 0; +} diff --git a/frontend/themes/fusionmanagement/styles.css b/frontend/themes/fusionmanagement/styles.css new file mode 100644 index 0000000..a868350 --- /dev/null +++ b/frontend/themes/fusionmanagement/styles.css @@ -0,0 +1,9 @@ +@import url('./main-layout.css'); +@import url('./views/home-view.css'); +@import url('./views/profile-view.css'); +@import url('./views/admin-view.css'); +@import url('line-awesome/dist/line-awesome/css/line-awesome.min.css'); +@import url('@fontsource/roboto'); html { +--lumo-font-family: Roboto; + + } diff --git a/frontend/themes/fusionmanagement/theme.json b/frontend/themes/fusionmanagement/theme.json new file mode 100644 index 0000000..88c4f9a --- /dev/null +++ b/frontend/themes/fusionmanagement/theme.json @@ -0,0 +1 @@ +{"lumoImports":["typography","color","spacing","badge","utility"]} \ No newline at end of file diff --git a/frontend/themes/fusionmanagement/views/admin-view.css b/frontend/themes/fusionmanagement/views/admin-view.css new file mode 100644 index 0000000..c630146 --- /dev/null +++ b/frontend/themes/fusionmanagement/views/admin-view.css @@ -0,0 +1,3 @@ +admin-view { + display: block; +} diff --git a/frontend/themes/fusionmanagement/views/home-view.css b/frontend/themes/fusionmanagement/views/home-view.css new file mode 100644 index 0000000..394a384 --- /dev/null +++ b/frontend/themes/fusionmanagement/views/home-view.css @@ -0,0 +1,3 @@ +home-view { + display: block; +} diff --git a/frontend/themes/fusionmanagement/views/profile-view.css b/frontend/themes/fusionmanagement/views/profile-view.css new file mode 100644 index 0000000..dc2b9c3 --- /dev/null +++ b/frontend/themes/fusionmanagement/views/profile-view.css @@ -0,0 +1,3 @@ +profile-view { + display: block; +} diff --git a/frontend/views/admin/admin-view.ts b/frontend/views/admin/admin-view.ts new file mode 100644 index 0000000..aaa6491 --- /dev/null +++ b/frontend/views/admin/admin-view.ts @@ -0,0 +1,10 @@ +import { html } from 'lit'; +import { customElement } from 'lit/decorators.js'; +import { View } from '../../views/view'; + +@customElement('admin-view') +export class AdminView extends View { + render() { + return html`
Content placeholder
`; + } +} diff --git a/frontend/views/home/home-view.ts b/frontend/views/home/home-view.ts new file mode 100644 index 0000000..dc72e15 --- /dev/null +++ b/frontend/views/home/home-view.ts @@ -0,0 +1,10 @@ +import { html } from 'lit'; +import { customElement } from 'lit/decorators.js'; +import { View } from '../../views/view'; + +@customElement('home-view') +export class HomeView extends View { + render() { + return html`
Content placeholder
`; + } +} diff --git a/frontend/views/login/login-view.ts b/frontend/views/login/login-view.ts new file mode 100644 index 0000000..3df1f16 --- /dev/null +++ b/frontend/views/login/login-view.ts @@ -0,0 +1,40 @@ +import '@vaadin/vaadin-login'; +import { LoginI18n } from '@vaadin/vaadin-login'; +import { html } from 'lit'; +import { customElement, state } from 'lit/decorators'; +import { View } from '../../views/view'; + +const loginI18nDefault: LoginI18n = { + form: { + title: 'Log in', + username: 'Username', + password: 'Password', + submit: 'Log in', + forgotPassword: 'Forgot password', + }, + errorMessage: { + title: 'Incorrect username or password', + message: 'Check that you have entered the correct username and password and try again.', + }, +}; +@customElement('login-view') +export class LoginView extends View { + @state() + private error = false; + + render() { + return html` + + + `; + } +} diff --git a/frontend/views/main-layout.ts b/frontend/views/main-layout.ts new file mode 100644 index 0000000..d7cfcb1 --- /dev/null +++ b/frontend/views/main-layout.ts @@ -0,0 +1,83 @@ +import '@vaadin/vaadin-app-layout'; +import { AppLayoutElement } from '@vaadin/vaadin-app-layout'; +import '@vaadin/vaadin-app-layout/vaadin-drawer-toggle'; +import '@vaadin/vaadin-avatar/vaadin-avatar'; +import '@vaadin/vaadin-context-menu'; +import '@vaadin/vaadin-tabs'; +import '@vaadin/vaadin-tabs/vaadin-tab'; +import '@vaadin/vaadin-template-renderer'; +import { html, render } from 'lit'; +import { customElement } from 'lit/decorators.js'; +import { logout } from '../auth'; +import { router } from '../index'; +import { hasAccess, views } from '../routes'; +import { appStore } from '../stores/app-store'; +import { Layout } from './view'; + +interface RouteInfo { + path: string; + title: string; + icon: string; +} + +@customElement('main-layout') +export class MainLayout extends Layout { + render() { + return html` + +
+ +

${appStore.currentViewTitle}

+ ${appStore.user + ? html` + ` + : html`Sign in`} +
+ +
+ +
+ + ${this.getMenuRoutes().map( + (viewRoute) => html` + + + ${viewRoute.title} + + ` + )} + +
+ +
+ `; + } + + connectedCallback() { + super.connectedCallback(); + this.classList.add('block', 'h-full'); + this.reaction( + () => appStore.location, + () => { + AppLayoutElement.dispatchCloseOverlayDrawerEvent(); + } + ); + } + + private renderLogoutOptions(root: HTMLElement) { + render(html` logout()}>Logout`, root); + } + + private getMenuRoutes(): RouteInfo[] { + return views.filter((route) => route.title).filter((route) => hasAccess(route)) as RouteInfo[]; + } + + private getSelectedViewRoute(): number { + const path = appStore.location; + return this.getMenuRoutes().findIndex((viewRoute) => viewRoute.path == path); + } +} diff --git a/frontend/views/profile/profile-view.ts b/frontend/views/profile/profile-view.ts new file mode 100644 index 0000000..afe6fd3 --- /dev/null +++ b/frontend/views/profile/profile-view.ts @@ -0,0 +1,10 @@ +import { html } from 'lit'; +import { customElement } from 'lit/decorators.js'; +import { View } from '../../views/view'; + +@customElement('profile-view') +export class ProfileView extends View { + render() { + return html`
Content placeholder
`; + } +} diff --git a/frontend/views/view.ts b/frontend/views/view.ts new file mode 100644 index 0000000..4706d3f --- /dev/null +++ b/frontend/views/view.ts @@ -0,0 +1,51 @@ +import { MobxLitElement } from '@adobe/lit-mobx'; +import { applyTheme } from 'Frontend/generated/theme'; +import { autorun, IAutorunOptions, IReactionDisposer, IReactionOptions, IReactionPublic, reaction } from 'mobx'; + +export class MobxElement extends MobxLitElement { + private disposers: IReactionDisposer[] = []; + + /** + * Creates a MobX reaction using the given parameters and disposes it when this element is detached. + * + * This should be called from `connectedCallback` to ensure that the reaction is active also if the element is attached again later. + */ + protected reaction( + expression: (r: IReactionPublic) => T, + effect: (arg: T, prev: T, r: IReactionPublic) => void, + opts?: IReactionOptions + ): void { + this.disposers.push(reaction(expression, effect, opts)); + } + + /** + * Creates a MobX autorun using the given parameters and disposes it when this element is detached. + * + * This should be called from `connectedCallback` to ensure that the reaction is active also if the element is attached again later. + */ + protected autorun(view: (r: IReactionPublic) => any, opts?: IAutorunOptions): void { + this.disposers.push(autorun(view, opts)); + } + + disconnectedCallback() { + super.disconnectedCallback(); + this.disposers.forEach((disposer) => { + disposer(); + }); + this.disposers = []; + } +} + +export class View extends MobxElement { + createRenderRoot() { + // Do not use a shadow root + return this; + } +} + +export class Layout extends MobxElement { + connectedCallback() { + super.connectedCallback(); + applyTheme(this.shadowRoot!); + } +} diff --git a/mvnw b/mvnw new file mode 100644 index 0000000..41c0f0c --- /dev/null +++ b/mvnw @@ -0,0 +1,310 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`which java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..8611571 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,182 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM http://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_pre.bat" call "%HOME%\mavenrc_pre.bat" +if exist "%HOME%\mavenrc_pre.cmd" call "%HOME%\mavenrc_pre.cmd" +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + +FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% %JVM_CONFIG_MAVEN_PROPS% %MAVEN_OPTS% %MAVEN_DEBUG_OPTS% -classpath %WRAPPER_JAR% "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%HOME%\mavenrc_post.bat" call "%HOME%\mavenrc_post.bat" +if exist "%HOME%\mavenrc_post.cmd" call "%HOME%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%" == "on" pause + +if "%MAVEN_TERMINATE_CMD%" == "on" exit %ERROR_CODE% + +exit /B %ERROR_CODE% diff --git a/package.json b/package.json new file mode 100644 index 0000000..ab2bfce --- /dev/null +++ b/package.json @@ -0,0 +1,171 @@ +{ + "name": "no-name", + "license": "UNLICENSED", + "dependencies": { + "@adobe/lit-mobx": "2.0.0-rc.4", + "@fontsource/roboto": "4.5.0", + "@polymer/iron-icon": "3.0.1", + "@polymer/iron-list": "3.1.0", + "@polymer/polymer": "3.2.0", + "@vaadin/flow-frontend": "./target/flow-frontend", + "@vaadin/form": "./target/flow-frontend/form", + "@vaadin/router": "1.7.4", + "@vaadin/vaadin-accordion": "21.0.0-alpha13", + "@vaadin/vaadin-app-layout": "21.0.0-alpha13", + "@vaadin/vaadin-avatar": "21.0.0-alpha13", + "@vaadin/vaadin-board": "21.0.0-alpha13", + "@vaadin/vaadin-button": "21.0.0-alpha13", + "@vaadin/vaadin-charts": "21.0.0-alpha13", + "@vaadin/vaadin-checkbox": "21.0.0-alpha13", + "@vaadin/vaadin-combo-box": "21.0.0-alpha13", + "@vaadin/vaadin-confirm-dialog": "21.0.0-alpha13", + "@vaadin/vaadin-context-menu": "21.0.0-alpha13", + "@vaadin/vaadin-cookie-consent": "21.0.0-alpha13", + "@vaadin/vaadin-core-shrinkwrap": "21.0.0-alpha10", + "@vaadin/vaadin-crud": "21.0.0-alpha13", + "@vaadin/vaadin-custom-field": "21.0.0-alpha13", + "@vaadin/vaadin-date-picker": "21.0.0-alpha13", + "@vaadin/vaadin-date-time-picker": "21.0.0-alpha13", + "@vaadin/vaadin-details": "21.0.0-alpha13", + "@vaadin/vaadin-dialog": "21.0.0-alpha13", + "@vaadin/vaadin-form-layout": "21.0.0-alpha13", + "@vaadin/vaadin-grid": "21.0.0-alpha13", + "@vaadin/vaadin-grid-pro": "21.0.0-alpha13", + "@vaadin/vaadin-icon": "21.0.0-alpha13", + "@vaadin/vaadin-icons": "21.0.0-alpha13", + "@vaadin/vaadin-item": "21.0.0-alpha13", + "@vaadin/vaadin-list-box": "21.0.0-alpha13", + "@vaadin/vaadin-login": "21.0.0-alpha13", + "@vaadin/vaadin-lumo-styles": "21.0.0-alpha13", + "@vaadin/vaadin-material-styles": "21.0.0-alpha13", + "@vaadin/vaadin-menu-bar": "21.0.0-alpha13", + "@vaadin/vaadin-messages": "21.0.0-alpha13", + "@vaadin/vaadin-notification": "21.0.0-alpha13", + "@vaadin/vaadin-ordered-layout": "21.0.0-alpha13", + "@vaadin/vaadin-progress-bar": "21.0.0-alpha13", + "@vaadin/vaadin-radio-button": "21.0.0-alpha13", + "@vaadin/vaadin-rich-text-editor": "21.0.0-alpha13", + "@vaadin/vaadin-select": "21.0.0-alpha13", + "@vaadin/vaadin-shrinkwrap": "21.0.0-alpha10", + "@vaadin/vaadin-split-layout": "21.0.0-alpha13", + "@vaadin/vaadin-tabs": "21.0.0-alpha13", + "@vaadin/vaadin-template-renderer": "21.0.0-alpha13", + "@vaadin/vaadin-text-field": "21.0.0-alpha13", + "@vaadin/vaadin-time-picker": "21.0.0-alpha13", + "@vaadin/vaadin-upload": "21.0.0-alpha13", + "@vaadin/vaadin-virtual-list": "21.0.0-alpha13", + "construct-style-sheets-polyfill": "2.4.16", + "line-awesome": "1.3.0", + "lit": "2.0.0-rc.1", + "mobx": "^6.1.5" + }, + "devDependencies": { + "@types/validator": "13.1.0", + "@vaadin/application-theme-plugin": "./target/plugins/application-theme-plugin", + "@vaadin/stats-plugin": "./target/plugins/stats-plugin", + "@vaadin/theme-live-reload-plugin": "./target/plugins/theme-live-reload-plugin", + "@vaadin/theme-loader": "./target/plugins/theme-loader", + "chokidar": "^3.5.0", + "compression-webpack-plugin": "4.0.1", + "css-loader": "4.2.1", + "extra-watch-webpack-plugin": "1.0.3", + "extract-loader": "5.1.0", + "file-loader": "6.2.0", + "fork-ts-checker-webpack-plugin": "6.2.1", + "glob": "7.1.6", + "html-webpack-plugin": "4.5.1", + "lit-css-loader": "0.1.0", + "loader-utils": "2.0.0", + "ts-loader": "8.0.12", + "typescript": "4.3.3", + "validator": "13.1.17", + "webpack": "4.46.0", + "webpack-cli": "3.3.11", + "webpack-dev-server": "3.11.0", + "webpack-manifest-plugin": "3.0.0", + "webpack-merge": "4.2.2", + "workbox-core": "6.1.0", + "workbox-precaching": "6.1.0", + "workbox-webpack-plugin": "6.1.0" + }, + "vaadin": { + "dependencies": { + "@polymer/iron-icon": "3.0.1", + "@polymer/iron-list": "3.1.0", + "@polymer/polymer": "3.2.0", + "@vaadin/router": "1.7.4", + "@vaadin/vaadin-accordion": "21.0.0-alpha13", + "@vaadin/vaadin-app-layout": "21.0.0-alpha13", + "@vaadin/vaadin-avatar": "21.0.0-alpha13", + "@vaadin/vaadin-board": "21.0.0-alpha13", + "@vaadin/vaadin-button": "21.0.0-alpha13", + "@vaadin/vaadin-charts": "21.0.0-alpha13", + "@vaadin/vaadin-checkbox": "21.0.0-alpha13", + "@vaadin/vaadin-combo-box": "21.0.0-alpha13", + "@vaadin/vaadin-confirm-dialog": "21.0.0-alpha13", + "@vaadin/vaadin-context-menu": "21.0.0-alpha13", + "@vaadin/vaadin-cookie-consent": "21.0.0-alpha13", + "@vaadin/vaadin-core-shrinkwrap": "21.0.0-alpha10", + "@vaadin/vaadin-crud": "21.0.0-alpha13", + "@vaadin/vaadin-custom-field": "21.0.0-alpha13", + "@vaadin/vaadin-date-picker": "21.0.0-alpha13", + "@vaadin/vaadin-date-time-picker": "21.0.0-alpha13", + "@vaadin/vaadin-details": "21.0.0-alpha13", + "@vaadin/vaadin-dialog": "21.0.0-alpha13", + "@vaadin/vaadin-form-layout": "21.0.0-alpha13", + "@vaadin/vaadin-grid": "21.0.0-alpha13", + "@vaadin/vaadin-grid-pro": "21.0.0-alpha13", + "@vaadin/vaadin-icon": "21.0.0-alpha13", + "@vaadin/vaadin-icons": "21.0.0-alpha13", + "@vaadin/vaadin-item": "21.0.0-alpha13", + "@vaadin/vaadin-list-box": "21.0.0-alpha13", + "@vaadin/vaadin-login": "21.0.0-alpha13", + "@vaadin/vaadin-lumo-styles": "21.0.0-alpha13", + "@vaadin/vaadin-material-styles": "21.0.0-alpha13", + "@vaadin/vaadin-menu-bar": "21.0.0-alpha13", + "@vaadin/vaadin-messages": "21.0.0-alpha13", + "@vaadin/vaadin-notification": "21.0.0-alpha13", + "@vaadin/vaadin-ordered-layout": "21.0.0-alpha13", + "@vaadin/vaadin-progress-bar": "21.0.0-alpha13", + "@vaadin/vaadin-radio-button": "21.0.0-alpha13", + "@vaadin/vaadin-rich-text-editor": "21.0.0-alpha13", + "@vaadin/vaadin-select": "21.0.0-alpha13", + "@vaadin/vaadin-shrinkwrap": "21.0.0-alpha10", + "@vaadin/vaadin-split-layout": "21.0.0-alpha13", + "@vaadin/vaadin-tabs": "21.0.0-alpha13", + "@vaadin/vaadin-template-renderer": "21.0.0-alpha13", + "@vaadin/vaadin-text-field": "21.0.0-alpha13", + "@vaadin/vaadin-time-picker": "21.0.0-alpha13", + "@vaadin/vaadin-upload": "21.0.0-alpha13", + "@vaadin/vaadin-virtual-list": "21.0.0-alpha13", + "construct-style-sheets-polyfill": "2.4.16", + "lit": "2.0.0-rc.1" + }, + "devDependencies": { + "@types/validator": "13.1.0", + "chokidar": "^3.5.0", + "compression-webpack-plugin": "4.0.1", + "css-loader": "4.2.1", + "extra-watch-webpack-plugin": "1.0.3", + "extract-loader": "5.1.0", + "file-loader": "6.2.0", + "fork-ts-checker-webpack-plugin": "6.2.1", + "glob": "7.1.6", + "html-webpack-plugin": "4.5.1", + "lit-css-loader": "0.1.0", + "loader-utils": "2.0.0", + "ts-loader": "8.0.12", + "typescript": "4.3.3", + "validator": "13.1.17", + "webpack": "4.46.0", + "webpack-cli": "3.3.11", + "webpack-dev-server": "3.11.0", + "webpack-manifest-plugin": "3.0.0", + "webpack-merge": "4.2.2", + "workbox-core": "6.1.0", + "workbox-precaching": "6.1.0", + "workbox-webpack-plugin": "6.1.0" + }, + "hash": "732bab371dec73c0c97e8b97b815095666d7d1f3c5c61b169d46ba69f09ab1a6" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..7f4812f --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,8485 @@ +dependencies: + '@polymer/iron-icon': 3.0.1 + '@polymer/iron-list': 3.1.0 + '@polymer/polymer': 3.2.0 + '@vaadin/flow-frontend': link:target/flow-frontend + '@vaadin/form': link:target/flow-frontend/form + '@vaadin/router': 1.7.4 + '@vaadin/vaadin-accordion': 21.0.0-alpha13 + '@vaadin/vaadin-app-layout': 21.0.0-alpha13 + '@vaadin/vaadin-avatar': 21.0.0-alpha13 + '@vaadin/vaadin-board': 21.0.0-alpha13 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-charts': 21.0.0-alpha13 + '@vaadin/vaadin-checkbox': 21.0.0-alpha13 + '@vaadin/vaadin-combo-box': 21.0.0-alpha13 + '@vaadin/vaadin-confirm-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-context-menu': 21.0.0-alpha13 + '@vaadin/vaadin-cookie-consent': 21.0.0-alpha13 + '@vaadin/vaadin-core-shrinkwrap': 21.0.0-alpha10 + '@vaadin/vaadin-crud': 21.0.0-alpha13 + '@vaadin/vaadin-custom-field': 21.0.0-alpha13 + '@vaadin/vaadin-date-picker': 21.0.0-alpha13 + '@vaadin/vaadin-date-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-details': 21.0.0-alpha13 + '@vaadin/vaadin-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-form-layout': 21.0.0-alpha13 + '@vaadin/vaadin-grid': 21.0.0-alpha13 + '@vaadin/vaadin-grid-pro': 21.0.0-alpha13 + '@vaadin/vaadin-icon': 21.0.0-alpha13 + '@vaadin/vaadin-icons': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-login': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-menu-bar': 21.0.0-alpha13 + '@vaadin/vaadin-messages': 21.0.0-alpha13 + '@vaadin/vaadin-notification': 21.0.0-alpha13 + '@vaadin/vaadin-ordered-layout': 21.0.0-alpha13 + '@vaadin/vaadin-progress-bar': 21.0.0-alpha13 + '@vaadin/vaadin-radio-button': 21.0.0-alpha13 + '@vaadin/vaadin-rich-text-editor': 21.0.0-alpha13 + '@vaadin/vaadin-select': 21.0.0-alpha13 + '@vaadin/vaadin-shrinkwrap': 21.0.0-alpha10 + '@vaadin/vaadin-split-layout': 21.0.0-alpha13 + '@vaadin/vaadin-tabs': 21.0.0-alpha13 + '@vaadin/vaadin-template-renderer': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-upload': 21.0.0-alpha13 + '@vaadin/vaadin-virtual-list': 21.0.0-alpha13 + construct-style-sheets-polyfill: 2.4.16 + lit: 2.0.0-rc.1 +devDependencies: + '@types/validator': 13.1.0 + '@vaadin/application-theme-plugin': link:target/plugins/application-theme-plugin + '@vaadin/stats-plugin': link:target/plugins/stats-plugin + '@vaadin/theme-live-reload-plugin': link:target/plugins/theme-live-reload-plugin + '@vaadin/theme-loader': link:target/plugins/theme-loader + chokidar: 3.5.2 + compression-webpack-plugin: 4.0.1_webpack@4.46.0 + css-loader: 4.2.1_webpack@4.46.0 + extra-watch-webpack-plugin: 1.0.3 + extract-loader: 5.1.0 + file-loader: 6.2.0_webpack@4.46.0 + fork-ts-checker-webpack-plugin: 6.2.1 + glob: 7.1.6 + html-webpack-plugin: 4.5.1_webpack@4.46.0 + lit-css-loader: 0.1.0 + loader-utils: 2.0.0 + ts-loader: 8.0.12_typescript@4.3.3+webpack@4.46.0 + typescript: 4.3.3 + validator: 13.1.17 + webpack: 4.46.0_webpack-cli@3.3.11 + webpack-cli: 3.3.11_webpack@4.46.0 + webpack-dev-server: 3.11.0_68d0005888c13e79f5e307f4e918d09a + webpack-manifest-plugin: 3.0.0_webpack@4.46.0 + webpack-merge: 4.2.2 + workbox-core: 6.1.0 + workbox-precaching: 6.1.0 + workbox-webpack-plugin: 6.1.0_webpack@4.46.0 +lockfileVersion: 5.2 +packages: + /@babel/code-frame/7.14.5: + dependencies: + '@babel/highlight': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== + /@babel/compat-data/7.14.7: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== + /@babel/core/7.14.6: + dependencies: + '@babel/code-frame': 7.14.5 + '@babel/generator': 7.14.5 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/helper-module-transforms': 7.14.5 + '@babel/helpers': 7.14.6 + '@babel/parser': 7.14.7 + '@babel/template': 7.14.5 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 + convert-source-map: 1.8.0 + debug: 4.3.2 + gensync: 1.0.0-beta.2 + json5: 2.2.0 + semver: 6.3.0 + source-map: 0.5.7 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-gJnOEWSqTk96qG5BoIrl5bVtc23DCycmIePPYnamY9RboYdI4nFy5vAQMSl81O5K/W0sLDWfGysnOECC+KUUCA== + /@babel/generator/7.14.5: + dependencies: + '@babel/types': 7.14.5 + jsesc: 2.5.2 + source-map: 0.5.7 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== + /@babel/helper-annotate-as-pure/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== + /@babel/helper-builder-binary-assignment-operator-visitor/7.14.5: + dependencies: + '@babel/helper-explode-assignable-expression': 7.14.5 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== + /@babel/helper-compilation-targets/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/compat-data': 7.14.7 + '@babel/core': 7.14.6 + '@babel/helper-validator-option': 7.14.5 + browserslist: 4.16.6 + semver: 6.3.0 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== + /@babel/helper-create-class-features-plugin/7.14.6_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-annotate-as-pure': 7.14.5 + '@babel/helper-function-name': 7.14.5 + '@babel/helper-member-expression-to-functions': 7.14.7 + '@babel/helper-optimise-call-expression': 7.14.5 + '@babel/helper-replace-supers': 7.14.5 + '@babel/helper-split-export-declaration': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-Z6gsfGofTxH/+LQXqYEK45kxmcensbzmk/oi8DmaQytlQCgqNZt9XQF8iqlI/SeXWVjaMNxvYvzaYw+kh42mDg== + /@babel/helper-create-regexp-features-plugin/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-annotate-as-pure': 7.14.5 + regexpu-core: 4.7.1 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== + /@babel/helper-define-polyfill-provider/0.2.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/helper-module-imports': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/traverse': 7.14.7 + debug: 4.3.2 + lodash.debounce: 4.0.8 + resolve: 1.20.0 + semver: 6.3.0 + dev: true + peerDependencies: + '@babel/core': ^7.4.0-0 + resolution: + integrity: sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== + /@babel/helper-explode-assignable-expression/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== + /@babel/helper-function-name/7.14.5: + dependencies: + '@babel/helper-get-function-arity': 7.14.5 + '@babel/template': 7.14.5 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== + /@babel/helper-get-function-arity/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== + /@babel/helper-hoist-variables/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== + /@babel/helper-member-expression-to-functions/7.14.7: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== + /@babel/helper-module-imports/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== + /@babel/helper-module-transforms/7.14.5: + dependencies: + '@babel/helper-module-imports': 7.14.5 + '@babel/helper-replace-supers': 7.14.5 + '@babel/helper-simple-access': 7.14.5 + '@babel/helper-split-export-declaration': 7.14.5 + '@babel/helper-validator-identifier': 7.14.5 + '@babel/template': 7.14.5 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== + /@babel/helper-optimise-call-expression/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== + /@babel/helper-plugin-utils/7.14.5: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== + /@babel/helper-remap-async-to-generator/7.14.5: + dependencies: + '@babel/helper-annotate-as-pure': 7.14.5 + '@babel/helper-wrap-function': 7.14.5 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== + /@babel/helper-replace-supers/7.14.5: + dependencies: + '@babel/helper-member-expression-to-functions': 7.14.7 + '@babel/helper-optimise-call-expression': 7.14.5 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== + /@babel/helper-simple-access/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== + /@babel/helper-skip-transparent-expression-wrappers/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== + /@babel/helper-split-export-declaration/7.14.5: + dependencies: + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== + /@babel/helper-validator-identifier/7.14.5: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== + /@babel/helper-validator-option/7.14.5: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== + /@babel/helper-wrap-function/7.14.5: + dependencies: + '@babel/helper-function-name': 7.14.5 + '@babel/template': 7.14.5 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== + /@babel/helpers/7.14.6: + dependencies: + '@babel/template': 7.14.5 + '@babel/traverse': 7.14.7 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-yesp1ENQBiLI+iYHSJdoZKUtRpfTlL1grDIX9NRlAVppljLw/4tTyYupIB7uIYmC3stW/imAv8EqaKaS/ibmeA== + /@babel/highlight/7.14.5: + dependencies: + '@babel/helper-validator-identifier': 7.14.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== + /@babel/parser/7.14.7: + dev: true + engines: + node: '>=6.0.0' + hasBin: true + resolution: + integrity: sha512-X67Z5y+VBJuHB/RjwECp8kSl5uYi0BvRbNeWqkaJCVh+LiTPl19WBUfG627psSgp9rSf6ojuXghQM3ha6qHHdA== + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 + '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.13.0 + resolution: + integrity: sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ== + /@babel/plugin-proposal-async-generator-functions/7.14.7_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-remap-async-to-generator': 7.14.5 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-RK8Wj7lXLY3bqei69/cc25gwS5puEc3dknoFPFbqfy3XxYQBQFvu4ioWpafMBAB+L9NyptQK4nMOa5Xz16og8Q== + /@babel/plugin-proposal-class-properties/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== + /@babel/plugin-proposal-class-static-block/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.12.0 + resolution: + integrity: sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg== + /@babel/plugin-proposal-dynamic-import/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== + /@babel/plugin-proposal-export-namespace-from/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== + /@babel/plugin-proposal-json-strings/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== + /@babel/plugin-proposal-logical-assignment-operators/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== + /@babel/plugin-proposal-nullish-coalescing-operator/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== + /@babel/plugin-proposal-numeric-separator/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== + /@babel/plugin-proposal-object-rest-spread/7.14.7_@babel+core@7.14.6: + dependencies: + '@babel/compat-data': 7.14.7 + '@babel/core': 7.14.6 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-082hsZz+sVabfmDWo1Oct1u1AgbKbUAyVgmX4otIc7bdsRgHBXwTwb3DpDmD4Eyyx6DNiuz5UAATT655k+kL5g== + /@babel/plugin-proposal-optional-catch-binding/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== + /@babel/plugin-proposal-optional-chaining/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== + /@babel/plugin-proposal-private-methods/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== + /@babel/plugin-proposal-private-property-in-object/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-annotate-as-pure': 7.14.5 + '@babel/helper-create-class-features-plugin': 7.14.6_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q== + /@babel/plugin-proposal-unicode-property-regex/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=4' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== + /@babel/plugin-syntax-async-generators/7.8.4_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== + /@babel/plugin-syntax-class-properties/7.12.13_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== + /@babel/plugin-syntax-class-static-block/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== + /@babel/plugin-syntax-dynamic-import/7.8.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== + /@babel/plugin-syntax-export-namespace-from/7.8.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== + /@babel/plugin-syntax-json-strings/7.8.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== + /@babel/plugin-syntax-logical-assignment-operators/7.10.4_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== + /@babel/plugin-syntax-nullish-coalescing-operator/7.8.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== + /@babel/plugin-syntax-numeric-separator/7.10.4_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== + /@babel/plugin-syntax-object-rest-spread/7.8.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== + /@babel/plugin-syntax-optional-catch-binding/7.8.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== + /@babel/plugin-syntax-optional-chaining/7.8.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== + /@babel/plugin-syntax-private-property-in-object/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== + /@babel/plugin-syntax-top-level-await/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== + /@babel/plugin-transform-arrow-functions/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== + /@babel/plugin-transform-async-to-generator/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-module-imports': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-remap-async-to-generator': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== + /@babel/plugin-transform-block-scoped-functions/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== + /@babel/plugin-transform-block-scoping/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw== + /@babel/plugin-transform-classes/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-annotate-as-pure': 7.14.5 + '@babel/helper-function-name': 7.14.5 + '@babel/helper-optimise-call-expression': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-replace-supers': 7.14.5 + '@babel/helper-split-export-declaration': 7.14.5 + globals: 11.12.0 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA== + /@babel/plugin-transform-computed-properties/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== + /@babel/plugin-transform-destructuring/7.14.7_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-0mDE99nK+kVh3xlc5vKwB6wnP9ecuSj+zQCa/n0voENtP/zymdT4HH6QEb65wjjcbqr1Jb/7z9Qp7TF5FtwYGw== + /@babel/plugin-transform-dotall-regex/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== + /@babel/plugin-transform-duplicate-keys/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== + /@babel/plugin-transform-exponentiation-operator/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== + /@babel/plugin-transform-for-of/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== + /@babel/plugin-transform-function-name/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-function-name': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== + /@babel/plugin-transform-literals/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== + /@babel/plugin-transform-member-expression-literals/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== + /@babel/plugin-transform-modules-amd/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-module-transforms': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== + /@babel/plugin-transform-modules-commonjs/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-module-transforms': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-simple-access': 7.14.5 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A== + /@babel/plugin-transform-modules-systemjs/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-hoist-variables': 7.14.5 + '@babel/helper-module-transforms': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-validator-identifier': 7.14.5 + babel-plugin-dynamic-import-node: 2.3.3 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== + /@babel/plugin-transform-modules-umd/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-module-transforms': 7.14.5 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== + /@babel/plugin-transform-named-capturing-groups-regex/7.14.7_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0 + resolution: + integrity: sha512-DTNOTaS7TkW97xsDMrp7nycUVh6sn/eq22VaxWfEdzuEbRsiaOU0pqU7DlyUGHVsbQbSghvjKRpEl+nUCKGQSg== + /@babel/plugin-transform-new-target/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== + /@babel/plugin-transform-object-super/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-replace-supers': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== + /@babel/plugin-transform-parameters/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== + /@babel/plugin-transform-property-literals/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== + /@babel/plugin-transform-regenerator/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + regenerator-transform: 0.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== + /@babel/plugin-transform-reserved-words/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== + /@babel/plugin-transform-shorthand-properties/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== + /@babel/plugin-transform-spread/7.14.6_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Zr0x0YroFJku7n7+/HH3A2eIrGMjbmAIbJSVv0IZ+t3U2WUQUA64S/oeied2e+MaGSjmt4alzBCsK9E8gh+fag== + /@babel/plugin-transform-sticky-regex/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== + /@babel/plugin-transform-template-literals/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== + /@babel/plugin-transform-typeof-symbol/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== + /@babel/plugin-transform-unicode-escapes/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== + /@babel/plugin-transform-unicode-regex/7.14.5_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-create-regexp-features-plugin': 7.14.5_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== + /@babel/preset-env/7.14.7_@babel+core@7.14.6: + dependencies: + '@babel/compat-data': 7.14.7 + '@babel/core': 7.14.6 + '@babel/helper-compilation-targets': 7.14.5_@babel+core@7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/helper-validator-option': 7.14.5 + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-async-generator-functions': 7.14.7_@babel+core@7.14.6 + '@babel/plugin-proposal-class-properties': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-class-static-block': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-dynamic-import': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-export-namespace-from': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-json-strings': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-logical-assignment-operators': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-nullish-coalescing-operator': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-numeric-separator': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-object-rest-spread': 7.14.7_@babel+core@7.14.6 + '@babel/plugin-proposal-optional-catch-binding': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-optional-chaining': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-private-methods': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-private-property-in-object': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.14.6 + '@babel/plugin-syntax-class-properties': 7.12.13_@babel+core@7.14.6 + '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-dynamic-import': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-export-namespace-from': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-json-strings': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4_@babel+core@7.14.6 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-numeric-separator': 7.10.4_@babel+core@7.14.6 + '@babel/plugin-syntax-object-rest-spread': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-optional-chaining': 7.8.3_@babel+core@7.14.6 + '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-arrow-functions': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-async-to-generator': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-block-scoped-functions': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-block-scoping': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-classes': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-computed-properties': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-destructuring': 7.14.7_@babel+core@7.14.6 + '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-duplicate-keys': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-exponentiation-operator': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-for-of': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-function-name': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-literals': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-member-expression-literals': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-modules-amd': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-modules-commonjs': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-modules-systemjs': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-modules-umd': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-named-capturing-groups-regex': 7.14.7_@babel+core@7.14.6 + '@babel/plugin-transform-new-target': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-object-super': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-parameters': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-property-literals': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-regenerator': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-reserved-words': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-shorthand-properties': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-spread': 7.14.6_@babel+core@7.14.6 + '@babel/plugin-transform-sticky-regex': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-template-literals': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-typeof-symbol': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-unicode-escapes': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-unicode-regex': 7.14.5_@babel+core@7.14.6 + '@babel/preset-modules': 0.1.4_@babel+core@7.14.6 + '@babel/types': 7.14.5 + babel-plugin-polyfill-corejs2: 0.2.2_@babel+core@7.14.6 + babel-plugin-polyfill-corejs3: 0.2.3_@babel+core@7.14.6 + babel-plugin-polyfill-regenerator: 0.2.2_@babel+core@7.14.6 + core-js-compat: 3.15.2 + semver: 6.3.0 + dev: true + engines: + node: '>=6.9.0' + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA== + /@babel/preset-modules/0.1.4_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-plugin-utils': 7.14.5 + '@babel/plugin-proposal-unicode-property-regex': 7.14.5_@babel+core@7.14.6 + '@babel/plugin-transform-dotall-regex': 7.14.5_@babel+core@7.14.6 + '@babel/types': 7.14.5 + esutils: 2.0.3 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== + /@babel/runtime/7.14.6: + dependencies: + regenerator-runtime: 0.13.7 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-/PCB2uJ7oM44tz8YhC4Z/6PeOKXp4K588f+5M3clr1M4zbqztlo0XEfJ2LEzj/FgwfgGcIdl8n7YYjTCI0BYwg== + /@babel/template/7.14.5: + dependencies: + '@babel/code-frame': 7.14.5 + '@babel/parser': 7.14.7 + '@babel/types': 7.14.5 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== + /@babel/traverse/7.14.7: + dependencies: + '@babel/code-frame': 7.14.5 + '@babel/generator': 7.14.5 + '@babel/helper-function-name': 7.14.5 + '@babel/helper-hoist-variables': 7.14.5 + '@babel/helper-split-export-declaration': 7.14.5 + '@babel/parser': 7.14.7 + '@babel/types': 7.14.5 + debug: 4.3.2 + globals: 11.12.0 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-9vDr5NzHu27wgwejuKL7kIOm4bwEtaPQ4Z6cpCmjSuaRqpH/7xc4qcGEscwMqlkwgcXl6MvqoAjZkQ24uSdIZQ== + /@babel/types/7.14.5: + dependencies: + '@babel/helper-validator-identifier': 7.14.5 + to-fast-properties: 2.0.0 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== + /@hapi/address/2.1.4: + deprecated: Moved to 'npm install @sideway/address' + dev: true + resolution: + integrity: sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ== + /@hapi/formula/1.2.0: + deprecated: Moved to 'npm install @sideway/formula' + dev: true + resolution: + integrity: sha512-UFbtbGPjstz0eWHb+ga/GM3Z9EzqKXFWIbSOFURU0A/Gku0Bky4bCk9/h//K2Xr3IrCfjFNhMm4jyZ5dbCewGA== + /@hapi/hoek/8.5.1: + deprecated: This version has been deprecated and is no longer supported or maintained + dev: true + resolution: + integrity: sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow== + /@hapi/joi/16.1.8: + dependencies: + '@hapi/address': 2.1.4 + '@hapi/formula': 1.2.0 + '@hapi/hoek': 8.5.1 + '@hapi/pinpoint': 1.0.2 + '@hapi/topo': 3.1.6 + deprecated: Switch to 'npm install joi' + dev: true + resolution: + integrity: sha512-wAsVvTPe+FwSrsAurNt5vkg3zo+TblvC5Bb1zMVK6SJzZqw9UrJnexxR+76cpePmtUZKHAPxcQ2Bf7oVHyahhg== + /@hapi/pinpoint/1.0.2: + deprecated: Moved to 'npm install @sideway/pinpoint' + dev: true + resolution: + integrity: sha512-dtXC/WkZBfC5vxscazuiJ6iq4j9oNx1SHknmIr8hofarpKUZKmlUVYVIhNVzIEgK5Wrc4GMHL5lZtt1uS2flmQ== + /@hapi/topo/3.1.6: + dependencies: + '@hapi/hoek': 8.5.1 + deprecated: This version has been deprecated and is no longer supported or maintained + dev: true + resolution: + integrity: sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ== + /@lit/reactive-element/1.0.0-rc.2: + dev: false + resolution: + integrity: sha512-cujeIl5Ei8FC7UHf4/4Q3bRJOtdTe1vpJV/JEBYCggedmQ+2P8A2oz7eE+Vxi6OJ4nc0X+KZxXnBoH4QrEbmEQ== + /@npmcli/move-file/1.1.2: + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + /@polymer/iron-a11y-announcer/3.0.2: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-LqnMF39mXyxSSRbTHRzGbcJS8nU0NVTo2raBOgOlpxw5yfGJUVcwaTJ/qy5NtWCZLRfa4suycf0oAkuUjHTXHQ== + /@polymer/iron-a11y-keys-behavior/3.0.1: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-lnrjKq3ysbBPT/74l0Fj0U9H9C35Tpw2C/tpJ8a+5g8Y3YJs1WSZYnEl1yOkw6sEyaxOq/1DkzH0+60gGu5/PQ== + /@polymer/iron-fit-behavior/3.0.2: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-JndryJYbBR3gSN5IlST4rCHsd01+OyvYpRO6z5Zd3C6u5V/m07TwAtcf3aXwZ8WBNt2eLG28OcvdSO7XR2v2pg== + /@polymer/iron-flex-layout/3.0.1: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-7gB869czArF+HZcPTVSgvA7tXYFze9EKckvM95NB7SqYF+NnsQyhoXgKnpFwGyo95lUjUW9TFDLUwDXnCYFtkw== + /@polymer/iron-icon/3.0.1: + dependencies: + '@polymer/iron-flex-layout': 3.0.1 + '@polymer/iron-meta': 3.0.1 + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-QLPwirk+UPZNaLnMew9VludXA4CWUCenRewgEcGYwdzVgDPCDbXxy6vRJjmweZobMQv/oVLppT2JZtJFnPxX6g== + /@polymer/iron-iconset-svg/3.0.1: + dependencies: + '@polymer/iron-meta': 3.0.1 + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-XNwURbNHRw6u2fJe05O5fMYye6GSgDlDqCO+q6K1zAnKIrpgZwf2vTkBd5uCcZwsN0FyCB3mvNZx4jkh85dRDw== + /@polymer/iron-list/3.1.0: + dependencies: + '@polymer/iron-a11y-keys-behavior': 3.0.1 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/iron-scroll-target-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-Eiv6xd3h3oPmn8SXFntXVfC3ZnegH+KHAxiKLKcOASFSRY3mHnr2AdcnExUJ9ItoCMA5UzKaM/0U22eWzGERtA== + /@polymer/iron-media-query/3.0.1: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-czUX1pm1zfmfcZtq5J57XFkcobBv08Y50exp0/3v8Bos5VL/jv2tU0RwiTfDBxUMhjicGbgwEBFQPY2V5DMzyw== + /@polymer/iron-meta/3.0.1: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-pWguPugiLYmWFV9UWxLWzZ6gm4wBwQdDy4VULKwdHCqR7OP7u98h+XDdGZsSlDPv6qoryV/e3tGHlTIT0mbzJA== + /@polymer/iron-overlay-behavior/3.0.3: + dependencies: + '@polymer/iron-a11y-keys-behavior': 3.0.1 + '@polymer/iron-fit-behavior': 3.0.2 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-Q/Fp0+uOQQ145ebZ7T8Cxl4m1tUKYjyymkjcL2rXUm+aDQGb1wA1M1LYxUF5YBqd+9lipE0PTIiYwA2ZL/sznA== + /@polymer/iron-resizable-behavior/3.0.1: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-FyHxRxFspVoRaeZSWpT3y0C9awomb4tXXolIJcZ7RvXhMP632V5lez+ch5G5SwK0LpnAPkg35eB0LPMFv+YMMQ== + /@polymer/iron-scroll-target-behavior/3.0.1: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-xg1WanG25BIkQE8rhuReqY9zx1K5M7F+YAIYpswEp5eyDIaZ1Y3vUmVeQ3KG+hiSugzI1M752azXN7kvyhOBcQ== + /@polymer/polymer/3.2.0: + dependencies: + '@webcomponents/shadycss': 1.9.6 + dev: false + resolution: + integrity: sha512-L6uV1oM6T6xbwbVx6t3biG5T2VSSB03LxnIrUd9M2pr6RkHVPFHJ37pC5MUwBAEhkGFJif7eks7fdMMSGZTeEQ== + /@rollup/plugin-babel/5.3.0_@babel+core@7.14.6+rollup@2.52.7: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-module-imports': 7.14.5 + '@rollup/pluginutils': 3.1.0_rollup@2.52.7 + rollup: 2.52.7 + dev: true + engines: + node: '>= 10.0.0' + peerDependencies: + '@babel/core': ^7.0.0 + '@types/babel__core': ^7.1.9 + rollup: ^1.20.0||^2.0.0 + peerDependenciesMeta: + '@types/babel__core': + optional: true + resolution: + integrity: sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw== + /@rollup/plugin-node-resolve/11.2.1_rollup@2.52.7: + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.52.7 + '@types/resolve': 1.17.1 + builtin-modules: 3.2.0 + deepmerge: 4.2.2 + is-module: 1.0.0 + resolve: 1.20.0 + rollup: 2.52.7 + dev: true + engines: + node: '>= 10.0.0' + peerDependencies: + rollup: ^1.20.0||^2.0.0 + resolution: + integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== + /@rollup/plugin-replace/2.4.2_rollup@2.52.7: + dependencies: + '@rollup/pluginutils': 3.1.0_rollup@2.52.7 + magic-string: 0.25.7 + rollup: 2.52.7 + dev: true + peerDependencies: + rollup: ^1.20.0 || ^2.0.0 + resolution: + integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== + /@rollup/pluginutils/3.1.0_rollup@2.52.7: + dependencies: + '@types/estree': 0.0.39 + estree-walker: 1.0.1 + picomatch: 2.3.0 + rollup: 2.52.7 + dev: true + engines: + node: '>= 8.0.0' + peerDependencies: + rollup: ^1.20.0||^2.0.0 + resolution: + integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + /@surma/rollup-plugin-off-main-thread/1.4.2: + dependencies: + ejs: 2.7.4 + magic-string: 0.25.7 + dev: true + resolution: + integrity: sha512-yBMPqmd1yEJo/280PAMkychuaALyQ9Lkb5q1ck3mjJrFuEobIfhnQ4J3mbvBoISmR3SWMWV+cGB/I0lCQee79A== + /@types/estree/0.0.39: + dev: true + resolution: + integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + /@types/glob/7.1.3: + dependencies: + '@types/minimatch': 3.0.4 + '@types/node': 16.0.0 + dev: true + resolution: + integrity: sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + /@types/html-minifier-terser/5.1.1: + dev: true + resolution: + integrity: sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== + /@types/json-schema/7.0.7: + dev: true + resolution: + integrity: sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + /@types/minimatch/3.0.4: + dev: true + resolution: + integrity: sha512-1z8k4wzFnNjVK/tlxvrWuK5WMt6mydWWP7+zvH5eFep4oj+UkrfiJTRtjCeBXNpwaA/FYqqtb4/QS4ianFpIRA== + /@types/node/16.0.0: + dev: true + resolution: + integrity: sha512-TmCW5HoZ2o2/z2EYi109jLqIaPIi9y/lc2LmDCWzuCi35bcaQ+OtUh6nwBiFK7SOu25FAU5+YKdqFZUwtqGSdg== + /@types/parse-json/4.0.0: + dev: true + resolution: + integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== + /@types/resolve/1.17.1: + dependencies: + '@types/node': 16.0.0 + dev: true + resolution: + integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== + /@types/source-list-map/0.1.2: + dev: true + resolution: + integrity: sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== + /@types/tapable/1.0.8: + dev: true + resolution: + integrity: sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== + /@types/trusted-types/1.0.6: + dev: false + resolution: + integrity: sha512-230RC8sFeHoT6sSUlRO6a8cAnclO06eeiq1QDfiv2FGCLWFvvERWgwIQD4FWqD9A69BN7Lzee4OXwoMVnnsWDw== + /@types/uglify-js/3.13.1: + dependencies: + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== + /@types/validator/13.1.0: + dev: true + resolution: + integrity: sha512-gHUHI6pJaANIO2r6WcbT7+WMgbL9GZooR4tWpuBOETpDIqFNxwaJluE+6rj6VGYe8k6OkfhbHz2Fkm8kl06Igw== + /@types/webpack-sources/2.1.1: + dependencies: + '@types/node': 16.0.0 + '@types/source-list-map': 0.1.2 + source-map: 0.7.3 + dev: true + resolution: + integrity: sha512-MjM1R6iuw8XaVbtkCBz0N349cyqBjJHCbQiOeppe3VBeFvxqs74RKHAVt9LkxTnUWc7YLZOEsUfPUnmK6SBPKQ== + /@types/webpack/4.41.30: + dependencies: + '@types/node': 16.0.0 + '@types/tapable': 1.0.8 + '@types/uglify-js': 3.13.1 + '@types/webpack-sources': 2.1.1 + anymatch: 3.1.2 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-GUHyY+pfuQ6haAfzu4S14F+R5iGRwN6b2FRNJY7U0NilmFAqbsOfK6j1HwuLBAqwRIT+pVdNDJGJ6e8rpp0KHA== + /@vaadin/router/1.7.4: + dependencies: + '@vaadin/vaadin-usage-statistics': 2.1.0 + path-to-regexp: 2.4.0 + dev: false + resolution: + integrity: sha512-B4JVtzFVUMlsjuJHNXEMfNZrM4QDrdeOMc6EEigiHYxwF82py6yDdP6SWP0aPoP3f6aQHt51tLWdXSpkKpWf7A== + /@vaadin/vaadin-accordion/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-details': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-IBJ7inPYEFdvWCkHSX32dtH7Shbr8zitXlkBqzzoueBh/sAqDW6ySslRsRHPe6yx2vWLOuRvANDhZCdJf+2Zcg== + /@vaadin/vaadin-app-layout/21.0.0-alpha13: + dependencies: + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-V8Y8rxUVyFC1eWtsGNO+hC/jvNl8nqZRHEZKrlaBk0USsrFWK86VvE+kIY7WD2s3I4JaIawBcUsSxWN1+/Ywtw== + /@vaadin/vaadin-avatar/21.0.0-alpha13: + dependencies: + '@polymer/iron-a11y-announcer': 3.0.2 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-j117Iv7D3j3QbPjPNwW2bpP9z+a4KgJfTLBztrJZaSQo5VQK5uhlsGoOHcyo7hiZQZZqEZ9A5hhrQYbPaFurJw== + /@vaadin/vaadin-board/21.0.0-alpha13: + dependencies: + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-license-checker': 2.1.2 + dev: false + resolution: + integrity: sha512-rZ4IBSJlCVXwWLGHLVRhnHjZrEaG02h66hEumrL/rG/DS1zr9p4Eo/zHYKIx8ct+AqCMpmHZ8Zn/N+lwOWOhSQ== + /@vaadin/vaadin-button/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-XL0bSdLekzrpTK0lEzEsYtU0thq5AF8Oz0h59MXoe8fT1FcRU4yWGysenJZN691kEk4hF6XWelZhZ7AFQnIWnA== + /@vaadin/vaadin-charts/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-license-checker': 2.1.2 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + highcharts: 8.1.2 + dev: false + resolution: + integrity: sha512-qBUyGBRaarj6pr+mLHwQ6yZDPg1JKXoS6n27vj3eOzV+zPjZMu1SuJatpQAJo25sPzpnjlXfraxLEVfaCqgC5A== + /@vaadin/vaadin-checkbox/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-PN77u497L0AijHKo+NMYzRUBHb6X8VhAuPEOsuwSCuDEoZeUC6iFAKBxnP1frMvLG2D+5DaBBx5BWvBlU7kOVA== + /@vaadin/vaadin-combo-box/21.0.0-alpha13: + dependencies: + '@polymer/iron-a11y-announcer': 3.0.2 + '@polymer/iron-list': 3.1.0 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-qHwh7x21Q6Fi/m4AD5GN8Q0GyIUs2tVRxR+Fwzp8bOXkAHsIvrK5sMXXXwzc1hTeCfYNJqf76UOqSbobiNHmtg== + /@vaadin/vaadin-confirm-dialog/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-license-checker': 2.1.2 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-ap6sbZc1udgLU2FX7opCLS7LcOfRANxYErjYvUFxtiicIbNoKuISg7B+8aJPVZ1vv/sT1dyKdLmCi3KpIpmuNg== + /@vaadin/vaadin-context-menu/21.0.0-alpha13: + dependencies: + '@polymer/iron-media-query': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-amx4oFGamZygaCNSE81oxX3j/FQ3tD3lYfrMU/eCOajesUeRCEP+1p/uDifh9v2zYX3JNbBM9yS4O6e8mZCLow== + /@vaadin/vaadin-control-state-mixin/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-CZSPxPtkwCpSKbe61JFKNAdM8VcSQqA10oRStfXSQop6/tkouM09QdRVt1rxtYw4kXsuQRxAQgbYwkx+wnUIhA== + /@vaadin/vaadin-cookie-consent/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-license-checker': 2.1.2 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + cookieconsent: 3.1.1 + dev: false + resolution: + integrity: sha512-o6bHHpWZWTGEp2FOdNQfZgaznMbsPQl7LfGP/zEaqP9y/d80Z/blZQ7NdljwdOJ4LXjT58BoB3lZPAEwTrNIVw== + /@vaadin/vaadin-core-shrinkwrap/21.0.0-alpha10: + dependencies: + '@polymer/iron-a11y-announcer': 3.0.2 + '@polymer/iron-a11y-keys-behavior': 3.0.1 + '@polymer/iron-fit-behavior': 3.0.2 + '@polymer/iron-flex-layout': 3.0.1 + '@polymer/iron-icon': 3.0.1 + '@polymer/iron-iconset-svg': 3.0.1 + '@polymer/iron-list': 3.1.0 + '@polymer/iron-media-query': 3.0.1 + '@polymer/iron-meta': 3.0.1 + '@polymer/iron-overlay-behavior': 3.0.3 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/iron-scroll-target-behavior': 3.0.1 + '@vaadin/router': 1.7.4 + '@vaadin/vaadin-accordion': 21.0.0-alpha13 + '@vaadin/vaadin-app-layout': 21.0.0-alpha13 + '@vaadin/vaadin-avatar': 21.0.0-alpha13 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-checkbox': 21.0.0-alpha13 + '@vaadin/vaadin-combo-box': 21.0.0-alpha13 + '@vaadin/vaadin-context-menu': 21.0.0-alpha13 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-custom-field': 21.0.0-alpha13 + '@vaadin/vaadin-date-picker': 21.0.0-alpha13 + '@vaadin/vaadin-date-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-details': 21.0.0-alpha13 + '@vaadin/vaadin-development-mode-detector': 2.0.4 + '@vaadin/vaadin-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-form-layout': 21.0.0-alpha13 + '@vaadin/vaadin-grid': 21.0.0-alpha13 + '@vaadin/vaadin-icons': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-list-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-login': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-menu-bar': 21.0.0-alpha13 + '@vaadin/vaadin-messages': 21.0.0-alpha13 + '@vaadin/vaadin-notification': 21.0.0-alpha13 + '@vaadin/vaadin-ordered-layout': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-progress-bar': 21.0.0-alpha13 + '@vaadin/vaadin-radio-button': 21.0.0-alpha13 + '@vaadin/vaadin-select': 21.0.0-alpha13 + '@vaadin/vaadin-split-layout': 21.0.0-alpha13 + '@vaadin/vaadin-tabs': 21.0.0-alpha13 + '@vaadin/vaadin-template-renderer': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-upload': 21.0.0-alpha13 + '@vaadin/vaadin-usage-statistics': 2.1.0 + '@vaadin/vaadin-virtual-list': 21.0.0-alpha13 + '@webcomponents/shadycss': 1.9.6 + dev: false + resolution: + integrity: sha512-AA0eG4/Zn3ryb0w9VtO9Lm8iHNdxI7+ugkaLYlu7Y73cTScFiBKvwpHDrAFrYWENeKcZTkmgAa/8EMR0+5ASWA== + /@vaadin/vaadin-crud/21.0.0-alpha13: + dependencies: + '@polymer/iron-media-query': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-confirm-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-form-layout': 21.0.0-alpha13 + '@vaadin/vaadin-grid': 21.0.0-alpha13 + '@vaadin/vaadin-license-checker': 2.1.2 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-LwXvnbnkCJLZF/1HuPl09o7tubX8YHbZrmje/aoxnDKogxm1Gqu0AIssmKmoFG7exzWEIJXixYdc6kVy7FMpOg== + /@vaadin/vaadin-custom-field/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-iAPmkHAp8rR6r0jtLsxKFkwVTDM4w5vo8gY1n+PY2WvZYcf0YahN+qeqhEbR+C+TNPuwoHZHAxI0qmwv3VHYHg== + /@vaadin/vaadin-date-picker/21.0.0-alpha13: + dependencies: + '@polymer/iron-a11y-announcer': 3.0.2 + '@polymer/iron-a11y-keys-behavior': 3.0.1 + '@polymer/iron-media-query': 3.0.1 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-bz737E0s1zIZjMj7hcbPGXJlkRt/38W/wQp7a55qfuZH+szLFomtkiDyQrClRno7ZuEmsLbeGFRTFFVAZl4Nwg== + /@vaadin/vaadin-date-time-picker/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-custom-field': 21.0.0-alpha13 + '@vaadin/vaadin-date-picker': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-time-picker': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-Il8S6qs6968fry1V/LnuEXvpHrUYQHhsoXBpbOyLt+t530h7Peu20qetRYqSVuCCAn3ois+06byEKVuUq+QzRA== + /@vaadin/vaadin-details/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-Bc75urS67c3McQoXLrcBy9JRx+qeWMfoNYcTc1ZG2o8B1gnuoErBgkrYyL+MHL3QXb4LCyD34Cg1kI6I/ZIGvQ== + /@vaadin/vaadin-development-mode-detector/2.0.4: + dev: false + resolution: + integrity: sha512-S+PaFrZpK8uBIOnIHxjntTrgumd5ztuCnZww96ydGKXgo9whXfZsbMwDuD/102a/IuPUMyF+dh/n3PbWzJ6igA== + /@vaadin/vaadin-dialog/21.0.0-alpha13: + dependencies: + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-/BjsHfVoy6z6rc0iTKfv1mtIILMAl/QDibYmkmNpqqyD4yA+gRDEZlY+sCIi7xonk0t6AEMrjheWP7dEWE2kFA== + /@vaadin/vaadin-element-mixin/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-development-mode-detector': 2.0.4 + '@vaadin/vaadin-usage-statistics': 2.1.0 + dev: false + resolution: + integrity: sha512-hHiwzzUtGcPfMoz//o96tFE2rgZH5TrzlDOqHmXSodJftspdk0u/qNZaiyRSmcWe9R79cIhcYw7GmqQz8G70+Q== + /@vaadin/vaadin-form-layout/21.0.0-alpha13: + dependencies: + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-48WzpVWbLctMOihOE9urtVNdVux4bdT7laPScy/+eG5TpbEEYuYZt+SFvhCbO9139x2qNeUR5iSRAYwd5yQA9Q== + /@vaadin/vaadin-grid-pro/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-checkbox': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-grid': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-license-checker': 2.1.2 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-select': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-7cFOCxvWSGM5HvlMPi3RBuNoSb87CAetPATxnhXbYa4sIZeTzIhL4trjpuzogTw68abK4dL/2z3KGL3KG+PLaw== + /@vaadin/vaadin-grid/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-checkbox': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-virtual-list': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-xzT+XUv0WAiO2cSRxL91gKhnvfAmm7QK0tFqAl9t08hQk9DZFDSt1MRi89iHYP3tITXAWVpDEQLfQJe9+0Eh9g== + /@vaadin/vaadin-icon/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + lit: 2.0.0-rc.1 + dev: false + resolution: + integrity: sha512-/qHgEql13ZHpoCS4IxXNdP/0j4GeOX7804F9B+6CnQNGddIaEDS9KOTF492dgblrEiWprYepxLTQVRb5UGPCjw== + /@vaadin/vaadin-icons/21.0.0-alpha13: + dependencies: + '@polymer/iron-icon': 3.0.1 + '@polymer/iron-iconset-svg': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-icon': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-eTb6N62U4IFn0oStWu47G20fj/zpYu+91okfomn4kv7UaJes9KwI141kdFCbxhkcXrf4jtSL5kwRueBm6cqvaA== + /@vaadin/vaadin-item/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-1CG6PpiNeJNcPfrMhnPFQ/oQz0tF6N0sngzwN/prXdJ0zB+mxjFBLExUUqYFwGamkIrudqsoxIwAa2cu7ysiUQ== + /@vaadin/vaadin-license-checker/2.1.2: + dependencies: + '@vaadin/vaadin-development-mode-detector': 2.0.4 + dev: false + resolution: + integrity: sha512-oD6/MoavXyIZp6NWhkbJD5RKrpiWohhaQpgqjM0bFIthRr+1NoiG5R1w0uY3NIdMDuaXlsUFSQJ/Viz1v7F/jQ== + /@vaadin/vaadin-list-box/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-vLJf7J2fMf9A6LKUwqmAYUn41PITD7U0DnTrL7DnNrgl0FNgxlXZKWDCA4P1M8ne6Ke+OVfKJMG7o+KjjFjjrQ== + /@vaadin/vaadin-list-mixin/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-ME7RhaBZAxRVxPIK0AA3K4vAvHI81QT2s8hoemBvVfo5l0KXiNNE0EpuPgPIoqzk0cmD8KuEe/y1t0eL9/tmKg== + /@vaadin/vaadin-login/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-lRv3aRfTQKoDoETio6kByXyoBgpRmct01wFzi6RFCtKj4EioWoTknZtlx9fzmi5XdohFMb2qYZ85I6Fbn5vCHg== + /@vaadin/vaadin-lumo-styles/21.0.0-alpha13: + dependencies: + '@polymer/iron-icon': 3.0.1 + '@polymer/iron-iconset-svg': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-icon': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-T7+vRl9Kz1E7TpTSIwmXawnHtX7qGhOhwzT0VnG5Jmdm6rcEr1L/VnLfbrlLRYPKr+pBPrVfLuUhW0+3Gz1WQQ== + /@vaadin/vaadin-material-styles/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-Bgun3ZCxrSSiEeTCHGy1wrRXAYAO03kwslL75eqbrqi7BEL4pqA1u7WZwClyD3AvkFGRBfcwX5b0iK0ub7n8iQ== + /@vaadin/vaadin-menu-bar/21.0.0-alpha13: + dependencies: + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-context-menu': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-Vq3VZJfybczs9IKSr1cWOzqdVYdDnbJ7vy4vTW5XEYOmlVWH2bExgogqT2PXK9pv3A6e+Xi0wYwpen+7B+Jopw== + /@vaadin/vaadin-messages/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-avatar': 21.0.0-alpha13 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-vbjldvEH9MNJvey0MHTOtz4R3tFdAOBZGVAHsB8qeHAgw3IbUQwOIMyRI9CVskNexvvh6+GGsQP5LiWHQaa6JQ== + /@vaadin/vaadin-notification/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-DPUnRrNMRGuEwb/uBZyG/+rfGRaB3Xgh60Q4kGwNwTOplukQHvveAVt5fi+WgiiOcTWAwfzAkPqdCh7uZnDtpg== + /@vaadin/vaadin-ordered-layout/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-/XhzuZK5ZdvYqQktVZs5rlOYFhexzKTf3QtkA7ir1o8d6Od2x8/T93793Ov0hNea4PxQUYpT+fOrF/1/+KAODg== + /@vaadin/vaadin-overlay/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-fUA5OtuDTztyl0r9WBWlUEVYjxGOH8GLjiQD3uFmAGjhulE7cXXfKTjWZuHwmfJhexBg3qm+J5lng05ySLXonw== + /@vaadin/vaadin-progress-bar/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-bvVCb0gJ06RaENQIvcIWGht3lqWTufEo0pDjRO50ScBFz2bzwUBBG4dAHaHBSO4gaf1NJRNvd8lc1omuUuh5FA== + /@vaadin/vaadin-radio-button/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-OPMHBrZqXrHW6O8UXEZmM1+c4DG62rAbO7UB8MJToCBvdOXcV+njHEh89QfcsouxVhwTLGZL/fnWR1HveivB/g== + /@vaadin/vaadin-rich-text-editor/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-confirm-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-license-checker': 2.1.2 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-LohVUyI+0W53TI2QU1U3iaRibzIaZGMT+udfmKPH88r0uuQYQJHFbOW/iKZ5zFatjvpXKau7HEpu+12VzeIlEQ== + /@vaadin/vaadin-select/21.0.0-alpha13: + dependencies: + '@polymer/iron-media-query': 3.0.1 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-list-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-Y8i8RVtqx/kKKOznqSOv/jX3rtPEl5PNdXOBhzGgRnHEyXiJ9OPqcFAIeePyTGKXOuAPRmiJeWH7OCBNKcPyzA== + /@vaadin/vaadin-shrinkwrap/21.0.0-alpha10: + dependencies: + '@polymer/iron-a11y-announcer': 3.0.2 + '@polymer/iron-a11y-keys-behavior': 3.0.1 + '@polymer/iron-fit-behavior': 3.0.2 + '@polymer/iron-flex-layout': 3.0.1 + '@polymer/iron-icon': 3.0.1 + '@polymer/iron-iconset-svg': 3.0.1 + '@polymer/iron-list': 3.1.0 + '@polymer/iron-media-query': 3.0.1 + '@polymer/iron-meta': 3.0.1 + '@polymer/iron-overlay-behavior': 3.0.3 + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/iron-scroll-target-behavior': 3.0.1 + '@vaadin/router': 1.7.4 + '@vaadin/vaadin-accordion': 21.0.0-alpha13 + '@vaadin/vaadin-app-layout': 21.0.0-alpha13 + '@vaadin/vaadin-avatar': 21.0.0-alpha13 + '@vaadin/vaadin-board': 21.0.0-alpha13 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-charts': 21.0.0-alpha13 + '@vaadin/vaadin-checkbox': 21.0.0-alpha13 + '@vaadin/vaadin-combo-box': 21.0.0-alpha13 + '@vaadin/vaadin-confirm-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-context-menu': 21.0.0-alpha13 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-cookie-consent': 21.0.0-alpha13 + '@vaadin/vaadin-crud': 21.0.0-alpha13 + '@vaadin/vaadin-custom-field': 21.0.0-alpha13 + '@vaadin/vaadin-date-picker': 21.0.0-alpha13 + '@vaadin/vaadin-date-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-details': 21.0.0-alpha13 + '@vaadin/vaadin-development-mode-detector': 2.0.4 + '@vaadin/vaadin-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-form-layout': 21.0.0-alpha13 + '@vaadin/vaadin-grid': 21.0.0-alpha13 + '@vaadin/vaadin-grid-pro': 21.0.0-alpha13 + '@vaadin/vaadin-icons': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-list-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-login': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-menu-bar': 21.0.0-alpha13 + '@vaadin/vaadin-messages': 21.0.0-alpha13 + '@vaadin/vaadin-notification': 21.0.0-alpha13 + '@vaadin/vaadin-ordered-layout': 21.0.0-alpha13 + '@vaadin/vaadin-overlay': 21.0.0-alpha13 + '@vaadin/vaadin-progress-bar': 21.0.0-alpha13 + '@vaadin/vaadin-radio-button': 21.0.0-alpha13 + '@vaadin/vaadin-rich-text-editor': 21.0.0-alpha13 + '@vaadin/vaadin-select': 21.0.0-alpha13 + '@vaadin/vaadin-split-layout': 21.0.0-alpha13 + '@vaadin/vaadin-tabs': 21.0.0-alpha13 + '@vaadin/vaadin-template-renderer': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-upload': 21.0.0-alpha13 + '@vaadin/vaadin-usage-statistics': 2.1.0 + '@vaadin/vaadin-virtual-list': 21.0.0-alpha13 + '@webcomponents/shadycss': 1.9.6 + dev: false + resolution: + integrity: sha512-8h8nGHjLuG52ZVwknijc6VwDidBAtouB7ekFS2VtrcDQzXj+/2d7e+VeMT7jdS9pqw31zq5cVS0TWTdqlEa+Yg== + /@vaadin/vaadin-split-layout/21.0.0-alpha13: + dependencies: + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-rPhHAXQlKcz0nmPaSOhdIokAX5q2N6UkSv+4iT1HwKqgGXuPJXWTXCOM/0zuBU76K7SWu52gEdtMxoEcrW/5Jw== + /@vaadin/vaadin-tabs/21.0.0-alpha13: + dependencies: + '@polymer/iron-resizable-behavior': 3.0.1 + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-O2S/hZZ8RFzcVwb/B/HzqniINWiMImMpY+70CXYrNkgnnDxAscLJWaz1UkHlbFAifnxFEkXNcRrEZnDzAZ2lMA== + /@vaadin/vaadin-template-renderer/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + dev: false + resolution: + integrity: sha512-0e1BRpWujmLGGSgllcXAhng4VXijuMyICvlXy00MqGkJzelY6L0SinPLVY4E8qrNEVsDpsdC+EsPEsHY7tVbjA== + /@vaadin/vaadin-text-field/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-YVAD65BNClVl2LNbANbIuwQJtoxatJtINckqmHRGqFJEQEtHBU78HobMscDnpXu1atcoFp+p9IqiA96SAPknWQ== + /@vaadin/vaadin-themable-mixin/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + lit: 2.0.0-rc.1 + dev: false + resolution: + integrity: sha512-mO6n2xEl+vD5p4WBbupF7Uw08ohKL/ChcfWZve6mnXfD9kuOcwJZXo1qLYCcB0nOdEJ1YE+6oyjnCTpUuGY2Yw== + /@vaadin/vaadin-time-picker/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-combo-box': 21.0.0-alpha13 + '@vaadin/vaadin-control-state-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-2IUC7yh4cPkzHoo/3Dsl4pH/tGpJXRDZhMpEZMgT4AXVTkq/48dDCo6CLP53+DIHhWmDQjGq+Y05jito4xFyDw== + /@vaadin/vaadin-upload/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-progress-bar': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-E3OFShln+AGdheCe1KVVSi886oh2kVZcFQb1jpDOJBFzfzKYgvfutyiWwqptQQyN4ssS2ix/JQ/tucVNu/GIHg== + /@vaadin/vaadin-usage-statistics/2.1.0: + dependencies: + '@vaadin/vaadin-development-mode-detector': 2.0.4 + dev: false + requiresBuild: true + resolution: + integrity: sha512-e81nbqY5zsaYhLJuOVkJkB/Um1pGK5POIqIlTNhUfjeoyGaJ63tiX8+D5n6F+GgVxUTLUarsKa6SKRcQel0AzA== + /@vaadin/vaadin-virtual-list/21.0.0-alpha13: + dependencies: + '@polymer/polymer': 3.2.0 + '@vaadin/vaadin-element-mixin': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-themable-mixin': 21.0.0-alpha13 + dev: false + resolution: + integrity: sha512-Sl6qmJmcSfSDCI+Ey9z1bYbjDdLKtXUx6VqAzxyCyJTT10cdImQj0SmzRZFcuB2FZUx5l2hvaqILsGdO4DRn3Q== + /@webassemblyjs/ast/1.9.0: + dependencies: + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + dev: true + resolution: + integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA== + /@webassemblyjs/floating-point-hex-parser/1.9.0: + dev: true + resolution: + integrity: sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA== + /@webassemblyjs/helper-api-error/1.9.0: + dev: true + resolution: + integrity: sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw== + /@webassemblyjs/helper-buffer/1.9.0: + dev: true + resolution: + integrity: sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA== + /@webassemblyjs/helper-code-frame/1.9.0: + dependencies: + '@webassemblyjs/wast-printer': 1.9.0 + dev: true + resolution: + integrity: sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA== + /@webassemblyjs/helper-fsm/1.9.0: + dev: true + resolution: + integrity: sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw== + /@webassemblyjs/helper-module-context/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + dev: true + resolution: + integrity: sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g== + /@webassemblyjs/helper-wasm-bytecode/1.9.0: + dev: true + resolution: + integrity: sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw== + /@webassemblyjs/helper-wasm-section/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + dev: true + resolution: + integrity: sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw== + /@webassemblyjs/ieee754/1.9.0: + dependencies: + '@xtuc/ieee754': 1.2.0 + dev: true + resolution: + integrity: sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg== + /@webassemblyjs/leb128/1.9.0: + dependencies: + '@xtuc/long': 4.2.2 + dev: true + resolution: + integrity: sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw== + /@webassemblyjs/utf8/1.9.0: + dev: true + resolution: + integrity: sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w== + /@webassemblyjs/wasm-edit/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/helper-wasm-section': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-opt': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + '@webassemblyjs/wast-printer': 1.9.0 + dev: true + resolution: + integrity: sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw== + /@webassemblyjs/wasm-gen/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + dev: true + resolution: + integrity: sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA== + /@webassemblyjs/wasm-opt/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-buffer': 1.9.0 + '@webassemblyjs/wasm-gen': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + dev: true + resolution: + integrity: sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A== + /@webassemblyjs/wasm-parser/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-wasm-bytecode': 1.9.0 + '@webassemblyjs/ieee754': 1.9.0 + '@webassemblyjs/leb128': 1.9.0 + '@webassemblyjs/utf8': 1.9.0 + dev: true + resolution: + integrity: sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA== + /@webassemblyjs/wast-parser/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/floating-point-hex-parser': 1.9.0 + '@webassemblyjs/helper-api-error': 1.9.0 + '@webassemblyjs/helper-code-frame': 1.9.0 + '@webassemblyjs/helper-fsm': 1.9.0 + '@xtuc/long': 4.2.2 + dev: true + resolution: + integrity: sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw== + /@webassemblyjs/wast-printer/1.9.0: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/wast-parser': 1.9.0 + '@xtuc/long': 4.2.2 + dev: true + resolution: + integrity: sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA== + /@webcomponents/shadycss/1.9.6: + dev: false + resolution: + integrity: sha512-5fFjvP0jQJZoXK6YzYeYcIDGJ5oEsdjr1L9VaYLw5yxNd4aRz4srMpwCwldeNG0A6Hvr9igbG7fCsBeiiCXd7A== + /@xtuc/ieee754/1.2.0: + dev: true + resolution: + integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + /@xtuc/long/4.2.2: + dev: true + resolution: + integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + /accepts/1.3.7: + dependencies: + mime-types: 2.1.31 + negotiator: 0.6.2 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== + /acorn/6.4.2: + dev: true + engines: + node: '>=0.4.0' + hasBin: true + resolution: + integrity: sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== + /aggregate-error/3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + /ajv-errors/1.0.1_ajv@6.12.6: + dependencies: + ajv: 6.12.6 + dev: true + peerDependencies: + ajv: '>=5.0.0' + resolution: + integrity: sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== + /ajv-keywords/3.5.2_ajv@6.12.6: + dependencies: + ajv: 6.12.6 + dev: true + peerDependencies: + ajv: ^6.9.1 + resolution: + integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + /ajv/6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + resolution: + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + /ansi-colors/3.2.4: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA== + /ansi-html/0.0.7: + dev: true + engines: + '0': node >= 0.8.0 + hasBin: true + resolution: + integrity: sha1-gTWEAhliqenm/QOflA0S9WynhZ4= + /ansi-regex/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w7M6te42DYbg5ijwRorn7yfWVN8= + /ansi-regex/4.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== + /ansi-styles/2.2.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4= + /ansi-styles/3.2.1: + dependencies: + color-convert: 1.9.3 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== + /ansi-styles/4.3.0: + dependencies: + color-convert: 2.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + /anymatch/3.1.2: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.0 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== + /aproba/1.2.0: + dev: true + resolution: + integrity: sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw== + /arr-diff/4.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA= + /arr-flatten/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== + /arr-union/3.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ= + /array-flatten/1.1.1: + dev: true + resolution: + integrity: sha1-ml9pkFGx5wczKPKgCJaLZOopVdI= + /array-flatten/2.1.2: + dev: true + resolution: + integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== + /array-union/1.0.2: + dependencies: + array-uniq: 1.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk= + /array-uniq/1.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-r2rId6Jcx/dOBYiUdThY39sk/bY= + /array-unique/0.3.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= + /asn1.js/5.4.1: + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 + dev: true + resolution: + integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== + /assert/1.5.0: + dependencies: + object-assign: 4.1.1 + util: 0.10.3 + dev: true + resolution: + integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== + /assign-symbols/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c= + /async-limiter/1.0.1: + dev: true + resolution: + integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== + /async/2.6.3: + dependencies: + lodash: 4.17.21 + dev: true + resolution: + integrity: sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg== + /at-least-node/1.0.0: + dev: true + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== + /atob/2.1.2: + dev: true + engines: + node: '>= 4.5.0' + hasBin: true + resolution: + integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== + /babel-code-frame/6.26.0: + dependencies: + chalk: 1.1.3 + esutils: 2.0.3 + js-tokens: 3.0.2 + dev: true + resolution: + integrity: sha1-Y/1D99weO7fONZR9uP42mj9Yx0s= + /babel-core/6.26.3: + dependencies: + babel-code-frame: 6.26.0 + babel-generator: 6.26.1 + babel-helpers: 6.24.1 + babel-messages: 6.23.0 + babel-register: 6.26.0 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + convert-source-map: 1.8.0 + debug: 2.6.9 + json5: 0.5.1 + lodash: 4.17.21 + minimatch: 3.0.4 + path-is-absolute: 1.0.1 + private: 0.1.8 + slash: 1.0.0 + source-map: 0.5.7 + dev: true + resolution: + integrity: sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA== + /babel-generator/6.26.1: + dependencies: + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + detect-indent: 4.0.0 + jsesc: 1.3.0 + lodash: 4.17.21 + source-map: 0.5.7 + trim-right: 1.0.1 + dev: true + resolution: + integrity: sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA== + /babel-helper-builder-binary-assignment-operator-visitor/6.24.1: + dependencies: + babel-helper-explode-assignable-expression: 6.24.1 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-zORReto1b0IgvK6KAsKzRvmlZmQ= + /babel-helper-call-delegate/6.24.1: + dependencies: + babel-helper-hoist-variables: 6.24.1 + babel-runtime: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340= + /babel-helper-define-map/6.26.0: + dependencies: + babel-helper-function-name: 6.24.1 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + lodash: 4.17.21 + dev: true + resolution: + integrity: sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8= + /babel-helper-explode-assignable-expression/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-8luCz33BBDPFX3BZLVdGQArCLKo= + /babel-helper-function-name/6.24.1: + dependencies: + babel-helper-get-function-arity: 6.24.1 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-00dbjAPtmCQqJbSDUasYOZ01gKk= + /babel-helper-get-function-arity/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0= + /babel-helper-hoist-variables/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-HssnaJydJVE+rbyZFKc/VAi+enY= + /babel-helper-optimise-call-expression/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc= + /babel-helper-regex/6.26.0: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + lodash: 4.17.21 + dev: true + resolution: + integrity: sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI= + /babel-helper-remap-async-to-generator/6.24.1: + dependencies: + babel-helper-function-name: 6.24.1 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-XsWBgnrXI/7N04HxySg5BnbkVRs= + /babel-helper-replace-supers/6.24.1: + dependencies: + babel-helper-optimise-call-expression: 6.24.1 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-v22/5Dk40XNpohPKiov3S2qQqxo= + /babel-helpers/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-template: 6.26.0 + dev: true + resolution: + integrity: sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI= + /babel-messages/6.23.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-8830cDhYA1sqKVHG7F7fbGLyYw4= + /babel-plugin-add-module-exports/1.0.4: + dev: true + resolution: + integrity: sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg== + /babel-plugin-check-es2015-constants/6.22.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o= + /babel-plugin-dynamic-import-node/2.3.3: + dependencies: + object.assign: 4.1.2 + dev: true + resolution: + integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== + /babel-plugin-polyfill-corejs2/0.2.2_@babel+core@7.14.6: + dependencies: + '@babel/compat-data': 7.14.7 + '@babel/core': 7.14.6 + '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.6 + semver: 6.3.0 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== + /babel-plugin-polyfill-corejs3/0.2.3_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.6 + core-js-compat: 3.15.2 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-rCOFzEIJpJEAU14XCcV/erIf/wZQMmMT5l5vXOpL5uoznyOGfDIjPj6FVytMvtzaKSTSVKouOCTPJ5OMUZH30g== + /babel-plugin-polyfill-regenerator/0.2.2_@babel+core@7.14.6: + dependencies: + '@babel/core': 7.14.6 + '@babel/helper-define-polyfill-provider': 0.2.3_@babel+core@7.14.6 + dev: true + peerDependencies: + '@babel/core': ^7.0.0-0 + resolution: + integrity: sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== + /babel-plugin-syntax-async-functions/6.13.0: + dev: true + resolution: + integrity: sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU= + /babel-plugin-syntax-exponentiation-operator/6.13.0: + dev: true + resolution: + integrity: sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4= + /babel-plugin-syntax-trailing-function-commas/6.22.0: + dev: true + resolution: + integrity: sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM= + /babel-plugin-transform-async-to-generator/6.24.1: + dependencies: + babel-helper-remap-async-to-generator: 6.24.1 + babel-plugin-syntax-async-functions: 6.13.0 + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E= + /babel-plugin-transform-es2015-arrow-functions/6.22.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE= + /babel-plugin-transform-es2015-block-scoped-functions/6.22.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-u8UbSflk1wy42OC5ToICRs46YUE= + /babel-plugin-transform-es2015-block-scoping/6.26.0: + dependencies: + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + lodash: 4.17.21 + dev: true + resolution: + integrity: sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8= + /babel-plugin-transform-es2015-classes/6.24.1: + dependencies: + babel-helper-define-map: 6.26.0 + babel-helper-function-name: 6.24.1 + babel-helper-optimise-call-expression: 6.24.1 + babel-helper-replace-supers: 6.24.1 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-WkxYpQyclGHlZLSyo7+ryXolhNs= + /babel-plugin-transform-es2015-computed-properties/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-template: 6.26.0 + dev: true + resolution: + integrity: sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM= + /babel-plugin-transform-es2015-destructuring/6.23.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-mXux8auWf2gtKwh2/jWNYOdlxW0= + /babel-plugin-transform-es2015-duplicate-keys/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-c+s9MQypaePvnskcU3QabxV2Qj4= + /babel-plugin-transform-es2015-for-of/6.23.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE= + /babel-plugin-transform-es2015-function-name/6.24.1: + dependencies: + babel-helper-function-name: 6.24.1 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-g0yJhTvDaxrw86TF26qU/Y6sqos= + /babel-plugin-transform-es2015-literals/6.22.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-T1SgLWzWbPkVKAAZox0xklN3yi4= + /babel-plugin-transform-es2015-modules-amd/6.24.1: + dependencies: + babel-plugin-transform-es2015-modules-commonjs: 6.26.2 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + dev: true + resolution: + integrity: sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ= + /babel-plugin-transform-es2015-modules-commonjs/6.26.2: + dependencies: + babel-plugin-transform-strict-mode: 6.24.1 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q== + /babel-plugin-transform-es2015-modules-systemjs/6.24.1: + dependencies: + babel-helper-hoist-variables: 6.24.1 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + dev: true + resolution: + integrity: sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM= + /babel-plugin-transform-es2015-modules-umd/6.24.1: + dependencies: + babel-plugin-transform-es2015-modules-amd: 6.24.1 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + dev: true + resolution: + integrity: sha1-rJl+YoXNGO1hdq22B9YCNErThGg= + /babel-plugin-transform-es2015-object-super/6.24.1: + dependencies: + babel-helper-replace-supers: 6.24.1 + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-JM72muIcuDp/hgPa0CH1cusnj40= + /babel-plugin-transform-es2015-parameters/6.24.1: + dependencies: + babel-helper-call-delegate: 6.24.1 + babel-helper-get-function-arity: 6.24.1 + babel-runtime: 6.26.0 + babel-template: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-V6w1GrScrxSpfNE7CfZv3wpiXys= + /babel-plugin-transform-es2015-shorthand-properties/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-JPh11nIch2YbvZmkYi5R8U3jiqA= + /babel-plugin-transform-es2015-spread/6.22.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-1taKmfia7cRTbIGlQujdnxdG+NE= + /babel-plugin-transform-es2015-sticky-regex/6.24.1: + dependencies: + babel-helper-regex: 6.26.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-AMHNsaynERLN8M9hJsLta0V8zbw= + /babel-plugin-transform-es2015-template-literals/6.22.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-qEs0UPfp+PH2g51taH2oS7EjbY0= + /babel-plugin-transform-es2015-typeof-symbol/6.23.0: + dependencies: + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I= + /babel-plugin-transform-es2015-unicode-regex/6.24.1: + dependencies: + babel-helper-regex: 6.26.0 + babel-runtime: 6.26.0 + regexpu-core: 2.0.0 + dev: true + resolution: + integrity: sha1-04sS9C6nMj9yk4fxinxa4frrNek= + /babel-plugin-transform-exponentiation-operator/6.24.1: + dependencies: + babel-helper-builder-binary-assignment-operator-visitor: 6.24.1 + babel-plugin-syntax-exponentiation-operator: 6.13.0 + babel-runtime: 6.26.0 + dev: true + resolution: + integrity: sha1-KrDJx/MJj6SJB3cruBP+QejeOg4= + /babel-plugin-transform-regenerator/6.26.0: + dependencies: + regenerator-transform: 0.10.1 + dev: true + resolution: + integrity: sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8= + /babel-plugin-transform-strict-mode/6.24.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + dev: true + resolution: + integrity: sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g= + /babel-preset-env/1.7.0: + dependencies: + babel-plugin-check-es2015-constants: 6.22.0 + babel-plugin-syntax-trailing-function-commas: 6.22.0 + babel-plugin-transform-async-to-generator: 6.24.1 + babel-plugin-transform-es2015-arrow-functions: 6.22.0 + babel-plugin-transform-es2015-block-scoped-functions: 6.22.0 + babel-plugin-transform-es2015-block-scoping: 6.26.0 + babel-plugin-transform-es2015-classes: 6.24.1 + babel-plugin-transform-es2015-computed-properties: 6.24.1 + babel-plugin-transform-es2015-destructuring: 6.23.0 + babel-plugin-transform-es2015-duplicate-keys: 6.24.1 + babel-plugin-transform-es2015-for-of: 6.23.0 + babel-plugin-transform-es2015-function-name: 6.24.1 + babel-plugin-transform-es2015-literals: 6.22.0 + babel-plugin-transform-es2015-modules-amd: 6.24.1 + babel-plugin-transform-es2015-modules-commonjs: 6.26.2 + babel-plugin-transform-es2015-modules-systemjs: 6.24.1 + babel-plugin-transform-es2015-modules-umd: 6.24.1 + babel-plugin-transform-es2015-object-super: 6.24.1 + babel-plugin-transform-es2015-parameters: 6.24.1 + babel-plugin-transform-es2015-shorthand-properties: 6.24.1 + babel-plugin-transform-es2015-spread: 6.22.0 + babel-plugin-transform-es2015-sticky-regex: 6.24.1 + babel-plugin-transform-es2015-template-literals: 6.22.0 + babel-plugin-transform-es2015-typeof-symbol: 6.23.0 + babel-plugin-transform-es2015-unicode-regex: 6.24.1 + babel-plugin-transform-exponentiation-operator: 6.24.1 + babel-plugin-transform-regenerator: 6.26.0 + browserslist: 3.2.8 + invariant: 2.2.4 + semver: 5.7.1 + dev: true + resolution: + integrity: sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg== + /babel-register/6.26.0: + dependencies: + babel-core: 6.26.3 + babel-runtime: 6.26.0 + core-js: 2.6.12 + home-or-tmp: 2.0.0 + lodash: 4.17.21 + mkdirp: 0.5.5 + source-map-support: 0.4.18 + dev: true + resolution: + integrity: sha1-btAhFz4vy0htestFxgCahW9kcHE= + /babel-runtime/6.26.0: + dependencies: + core-js: 2.6.12 + regenerator-runtime: 0.11.1 + dev: true + resolution: + integrity: sha1-llxwWGaOgrVde/4E/yM3vItWR/4= + /babel-template/6.26.0: + dependencies: + babel-runtime: 6.26.0 + babel-traverse: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + lodash: 4.17.21 + dev: true + resolution: + integrity: sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI= + /babel-traverse/6.26.0: + dependencies: + babel-code-frame: 6.26.0 + babel-messages: 6.23.0 + babel-runtime: 6.26.0 + babel-types: 6.26.0 + babylon: 6.18.0 + debug: 2.6.9 + globals: 9.18.0 + invariant: 2.2.4 + lodash: 4.17.21 + dev: true + resolution: + integrity: sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4= + /babel-types/6.26.0: + dependencies: + babel-runtime: 6.26.0 + esutils: 2.0.3 + lodash: 4.17.21 + to-fast-properties: 1.0.3 + dev: true + resolution: + integrity: sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc= + /babylon/6.18.0: + dev: true + hasBin: true + resolution: + integrity: sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== + /balanced-match/1.0.2: + dev: true + resolution: + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + /base/0.11.2: + dependencies: + cache-base: 1.0.1 + class-utils: 0.3.6 + component-emitter: 1.3.0 + define-property: 1.0.0 + isobject: 3.0.1 + mixin-deep: 1.3.2 + pascalcase: 0.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== + /base64-js/1.5.1: + dev: true + resolution: + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + /batch/0.6.1: + dev: true + resolution: + integrity: sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY= + /big.js/5.2.2: + dev: true + resolution: + integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== + /binary-extensions/2.2.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + /bluebird/3.7.2: + dev: true + resolution: + integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + /bn.js/4.12.0: + dev: true + resolution: + integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== + /bn.js/5.2.0: + dev: true + resolution: + integrity: sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== + /body-parser/1.19.0: + dependencies: + bytes: 3.1.0 + content-type: 1.0.4 + debug: 2.6.9 + depd: 1.1.2 + http-errors: 1.7.2 + iconv-lite: 0.4.24 + on-finished: 2.3.0 + qs: 6.7.0 + raw-body: 2.4.0 + type-is: 1.6.18 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw== + /bonjour/3.5.0: + dependencies: + array-flatten: 2.1.2 + deep-equal: 1.1.1 + dns-equal: 1.0.0 + dns-txt: 2.0.2 + multicast-dns: 6.2.3 + multicast-dns-service-types: 1.1.0 + dev: true + resolution: + integrity: sha1-jokKGD2O6aI5OzhExpGkK897yfU= + /boolbase/1.0.0: + dev: true + resolution: + integrity: sha1-aN/1++YMUes3cl6p4+0xDcwed24= + /brace-expansion/1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + resolution: + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + /braces/2.3.2: + dependencies: + arr-flatten: 1.1.0 + array-unique: 0.3.2 + extend-shallow: 2.0.1 + fill-range: 4.0.0 + isobject: 3.0.1 + repeat-element: 1.1.4 + snapdragon: 0.8.2 + snapdragon-node: 2.1.1 + split-string: 3.1.0 + to-regex: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== + /braces/3.0.2: + dependencies: + fill-range: 7.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + /brorand/1.1.0: + dev: true + resolution: + integrity: sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= + /browserify-aes/1.2.0: + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== + /browserify-cipher/1.0.1: + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + dev: true + resolution: + integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== + /browserify-des/1.0.2: + dependencies: + cipher-base: 1.0.4 + des.js: 1.0.1 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== + /browserify-rsa/4.1.0: + dependencies: + bn.js: 5.2.0 + randombytes: 2.1.0 + dev: true + resolution: + integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== + /browserify-sign/4.2.1: + dependencies: + bn.js: 5.2.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.4 + inherits: 2.0.4 + parse-asn1: 5.1.6 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== + /browserify-zlib/0.2.0: + dependencies: + pako: 1.0.11 + dev: true + resolution: + integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== + /browserslist/3.2.8: + dependencies: + caniuse-lite: 1.0.30001242 + electron-to-chromium: 1.3.768 + dev: true + hasBin: true + resolution: + integrity: sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ== + /browserslist/4.16.6: + dependencies: + caniuse-lite: 1.0.30001242 + colorette: 1.2.2 + electron-to-chromium: 1.3.768 + escalade: 3.1.1 + node-releases: 1.1.73 + dev: true + engines: + node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 + hasBin: true + resolution: + integrity: sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== + /btoa/1.2.1: + dev: true + engines: + node: '>= 0.4.0' + hasBin: true + resolution: + integrity: sha512-SB4/MIGlsiVkMcHmT+pSmIPoNDoHg+7cMzmt3Uxt628MTz2487DKSqK/fuhFBrkuqrYv5UCEnACpF4dTFNKc/g== + /buffer-from/1.1.1: + dev: true + resolution: + integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + /buffer-indexof/1.1.1: + dev: true + resolution: + integrity: sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g== + /buffer-xor/1.0.3: + dev: true + resolution: + integrity: sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= + /buffer/4.9.2: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + isarray: 1.0.0 + dev: true + resolution: + integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== + /builtin-modules/3.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA== + /builtin-status-codes/3.0.0: + dev: true + resolution: + integrity: sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= + /bytes/3.0.0: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg= + /bytes/3.1.0: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== + /cacache/12.0.4: + dependencies: + bluebird: 3.7.2 + chownr: 1.1.4 + figgy-pudding: 3.5.2 + glob: 7.1.6 + graceful-fs: 4.2.6 + infer-owner: 1.0.4 + lru-cache: 5.1.1 + mississippi: 3.0.0 + mkdirp: 0.5.5 + move-concurrently: 1.0.1 + promise-inflight: 1.0.1 + rimraf: 2.7.1 + ssri: 6.0.2 + unique-filename: 1.1.1 + y18n: 4.0.3 + dev: true + resolution: + integrity: sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ== + /cacache/15.2.0: + dependencies: + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.1.6 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.1.3 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.1.0 + unique-filename: 1.1.1 + dev: true + engines: + node: '>= 10' + resolution: + integrity: sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== + /cache-base/1.0.1: + dependencies: + collection-visit: 1.0.0 + component-emitter: 1.3.0 + get-value: 2.0.6 + has-value: 1.0.0 + isobject: 3.0.1 + set-value: 2.0.1 + to-object-path: 0.3.0 + union-value: 1.0.1 + unset-value: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== + /call-bind/1.0.2: + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + dev: true + resolution: + integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== + /callsites/3.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + /camel-case/4.1.2: + dependencies: + pascal-case: 3.1.2 + tslib: 2.3.0 + dev: true + resolution: + integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== + /camelcase/5.3.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== + /camelcase/6.2.0: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + /caniuse-lite/1.0.30001242: + dev: true + resolution: + integrity: sha512-KvNuZ/duufelMB3w2xtf9gEWCSxJwUgoxOx5b6ScLXC4kPc9xsczUVCPrQU26j5kOsHM4pSUL54tAZt5THQKug== + /chalk/1.1.3: + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg= + /chalk/2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== + /chalk/4.1.1: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + /chokidar/3.5.2: + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.1 + normalize-path: 3.0.0 + readdirp: 3.6.0 + dev: true + engines: + node: '>= 8.10.0' + optionalDependencies: + fsevents: 2.3.2 + resolution: + integrity: sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== + /chownr/1.1.4: + dev: true + resolution: + integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + /chownr/2.0.0: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + /chrome-trace-event/1.0.3: + dev: true + engines: + node: '>=6.0' + resolution: + integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + /cipher-base/1.0.4: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== + /class-utils/0.3.6: + dependencies: + arr-union: 3.1.0 + define-property: 0.2.5 + isobject: 3.0.1 + static-extend: 0.1.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== + /clean-css/4.2.3: + dependencies: + source-map: 0.6.1 + dev: true + engines: + node: '>= 4.0' + resolution: + integrity: sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + /clean-stack/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + /cliui/5.0.0: + dependencies: + string-width: 3.1.0 + strip-ansi: 5.2.0 + wrap-ansi: 5.1.0 + dev: true + resolution: + integrity: sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== + /collection-visit/1.0.0: + dependencies: + map-visit: 1.0.0 + object-visit: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA= + /color-convert/1.9.3: + dependencies: + color-name: 1.1.3 + dev: true + resolution: + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== + /color-convert/2.0.1: + dependencies: + color-name: 1.1.4 + dev: true + engines: + node: '>=7.0.0' + resolution: + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + /color-name/1.1.3: + dev: true + resolution: + integrity: sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + /color-name/1.1.4: + dev: true + resolution: + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + /colorette/1.2.2: + dev: true + resolution: + integrity: sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + /commander/2.20.3: + dev: true + resolution: + integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + /commander/4.1.1: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + /common-tags/1.8.0: + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + /commondir/1.0.1: + dev: true + resolution: + integrity: sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= + /component-emitter/1.3.0: + dev: true + resolution: + integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== + /compressible/2.0.18: + dependencies: + mime-db: 1.48.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg== + /compression-webpack-plugin/4.0.1_webpack@4.46.0: + dependencies: + cacache: 15.2.0 + find-cache-dir: 3.3.1 + schema-utils: 2.7.1 + serialize-javascript: 4.0.0 + webpack: 4.46.0_webpack-cli@3.3.11 + webpack-sources: 1.4.3 + dev: true + engines: + node: '>= 10.13.0' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-0mg6PgwTsUe5LEcUrOu3ob32vraDx2VdbMGAT1PARcOV+UJWDYZFdkSo6RbHoGQ061mmmkC7XpRKOlvwm/gzJQ== + /compression/1.7.4: + dependencies: + accepts: 1.3.7 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ== + /concat-map/0.0.1: + dev: true + resolution: + integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + /concat-stream/1.6.2: + dependencies: + buffer-from: 1.1.1 + inherits: 2.0.4 + readable-stream: 2.3.7 + typedarray: 0.0.6 + dev: true + engines: + '0': node >= 0.8 + resolution: + integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw== + /connect-history-api-fallback/1.6.0: + dev: true + engines: + node: '>=0.8' + resolution: + integrity: sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg== + /console-browserify/1.2.0: + dev: true + resolution: + integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== + /constants-browserify/1.0.0: + dev: true + resolution: + integrity: sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= + /construct-style-sheets-polyfill/2.4.16: + dev: false + resolution: + integrity: sha512-gaXX8c0IcLpTNj6q6TCKnhBJ1wuzmWEIrjp3pc1XfXS57WnvB3rVeAvsqYwyGOdPNdZiZYFyCOLgYbKKjhHIFg== + /content-disposition/0.5.3: + dependencies: + safe-buffer: 5.1.2 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g== + /content-type/1.0.4: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== + /convert-source-map/1.8.0: + dependencies: + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + /cookie-signature/1.0.6: + dev: true + resolution: + integrity: sha1-4wOogrNCzD7oylE6eZmXNNqzriw= + /cookie/0.4.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg== + /cookieconsent/3.1.1: + dev: false + resolution: + integrity: sha512-v8JWLJcI7Zs9NWrs8hiVldVtm3EBF70TJI231vxn6YToBGj0c9dvdnYwltydkAnrbBMOM/qX1xLFrnTfm5wTag== + /copy-concurrently/1.0.5: + dependencies: + aproba: 1.2.0 + fs-write-stream-atomic: 1.0.10 + iferr: 0.1.5 + mkdirp: 0.5.5 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: true + resolution: + integrity: sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A== + /copy-descriptor/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= + /core-js-compat/3.15.2: + dependencies: + browserslist: 4.16.6 + semver: 7.0.0 + dev: true + resolution: + integrity: sha512-Wp+BJVvwopjI+A1EFqm2dwUmWYXrvucmtIB2LgXn/Rb+gWPKYxtmb4GKHGKG/KGF1eK9jfjzT38DITbTOCX/SQ== + /core-js/2.6.12: + deprecated: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js. + dev: true + requiresBuild: true + resolution: + integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== + /core-util-is/1.0.2: + dev: true + resolution: + integrity: sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + /cosmiconfig/6.0.0: + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg== + /create-ecdh/4.0.4: + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + dev: true + resolution: + integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== + /create-hash/1.2.0: + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: true + resolution: + integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== + /create-hmac/1.1.7: + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + resolution: + integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== + /cross-spawn/6.0.5: + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + engines: + node: '>=4.8' + resolution: + integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== + /crypto-browserify/3.12.0: + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.1 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: true + resolution: + integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== + /crypto-random-string/2.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== + /css-loader/4.2.1_webpack@4.46.0: + dependencies: + camelcase: 6.2.0 + cssesc: 3.0.0 + icss-utils: 4.1.1 + loader-utils: 2.0.0 + normalize-path: 3.0.0 + postcss: 7.0.36 + postcss-modules-extract-imports: 2.0.0 + postcss-modules-local-by-default: 3.0.3 + postcss-modules-scope: 2.2.0 + postcss-modules-values: 3.0.0 + postcss-value-parser: 4.1.0 + schema-utils: 2.7.1 + semver: 7.3.5 + webpack: 4.46.0_webpack-cli@3.3.11 + dev: true + engines: + node: '>= 10.13.0' + peerDependencies: + webpack: ^4.27.0 || ^5.0.0 + resolution: + integrity: sha512-MoqmF1if7Z0pZIEXA4ZF9PgtCXxWbfzfJM+3p+OYfhcrwcqhaCRb74DSnfzRl7e024xEiCRn5hCvfUbTf2sgFA== + /css-select/4.1.3: + dependencies: + boolbase: 1.0.0 + css-what: 5.0.1 + domhandler: 4.2.0 + domutils: 2.7.0 + nth-check: 2.0.0 + dev: true + resolution: + integrity: sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + /css-what/5.0.1: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg== + /cssesc/3.0.0: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + /cyclist/1.0.1: + dev: true + resolution: + integrity: sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk= + /debug/2.6.9: + dependencies: + ms: 2.0.0 + dev: true + resolution: + integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + /debug/3.2.7: + dependencies: + ms: 2.1.3 + dev: true + resolution: + integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== + /debug/4.3.2: + dependencies: + ms: 2.1.2 + dev: true + engines: + node: '>=6.0' + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + resolution: + integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + /debug/4.3.2_supports-color@6.1.0: + dependencies: + ms: 2.1.2 + supports-color: 6.1.0 + dev: true + engines: + node: '>=6.0' + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + resolution: + integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + /decamelize/1.2.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= + /decode-uri-component/0.2.0: + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= + /deep-equal/1.1.1: + dependencies: + is-arguments: 1.1.0 + is-date-object: 1.0.4 + is-regex: 1.1.3 + object-is: 1.1.5 + object-keys: 1.1.1 + regexp.prototype.flags: 1.3.1 + dev: true + resolution: + integrity: sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g== + /deepmerge/4.2.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== + /default-gateway/4.2.0: + dependencies: + execa: 1.0.0 + ip-regex: 2.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA== + /define-properties/1.1.3: + dependencies: + object-keys: 1.1.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== + /define-property/0.2.5: + dependencies: + is-descriptor: 0.1.6 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY= + /define-property/1.0.0: + dependencies: + is-descriptor: 1.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-dp66rz9KY6rTr56NMEybvnm/sOY= + /define-property/2.0.2: + dependencies: + is-descriptor: 1.0.2 + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== + /del/4.1.1: + dependencies: + '@types/glob': 7.1.3 + globby: 6.1.0 + is-path-cwd: 2.2.0 + is-path-in-cwd: 2.1.0 + p-map: 2.1.0 + pify: 4.0.1 + rimraf: 2.7.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ== + /depd/1.1.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= + /des.js/1.0.1: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + resolution: + integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== + /destroy/1.0.4: + dev: true + resolution: + integrity: sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= + /detect-file/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8NZtA2cqglyxtzvbP+YjEMjlUrc= + /detect-indent/4.0.0: + dependencies: + repeating: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-920GQ1LN9Docts5hnE7jqUdd4gg= + /detect-node/2.1.0: + dev: true + resolution: + integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== + /diffie-hellman/5.0.3: + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: true + resolution: + integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== + /dns-equal/1.0.0: + dev: true + resolution: + integrity: sha1-s55/HabrCnW6nBcySzR1PEfgZU0= + /dns-packet/1.3.4: + dependencies: + ip: 1.1.5 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== + /dns-txt/2.0.2: + dependencies: + buffer-indexof: 1.1.1 + dev: true + resolution: + integrity: sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY= + /dom-converter/0.2.0: + dependencies: + utila: 0.4.0 + dev: true + resolution: + integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== + /dom-serializer/1.3.2: + dependencies: + domelementtype: 2.2.0 + domhandler: 4.2.0 + entities: 2.2.0 + dev: true + resolution: + integrity: sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + /domain-browser/1.2.0: + dev: true + engines: + node: '>=0.4' + npm: '>=1.2' + resolution: + integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== + /domelementtype/2.2.0: + dev: true + resolution: + integrity: sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== + /domhandler/4.2.0: + dependencies: + domelementtype: 2.2.0 + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-zk7sgt970kzPks2Bf+dwT/PLzghLnsivb9CcxkvR8Mzr66Olr0Ofd8neSbglHJHaHa2MadfoSdNlKYAaafmWfA== + /domutils/2.7.0: + dependencies: + dom-serializer: 1.3.2 + domelementtype: 2.2.0 + domhandler: 4.2.0 + dev: true + resolution: + integrity: sha512-8eaHa17IwJUPAiB+SoTYBo5mCdeMgdcAoXJ59m6DT1vw+5iLS3gNoqYaRowaBKtGVrOF1Jz4yDTgYKLK2kvfJg== + /dot-case/3.0.4: + dependencies: + no-case: 3.0.4 + tslib: 2.3.0 + dev: true + resolution: + integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + /duplexify/3.7.1: + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 2.3.7 + stream-shift: 1.0.1 + dev: true + resolution: + integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g== + /ee-first/1.1.1: + dev: true + resolution: + integrity: sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= + /ejs/2.7.4: + dev: true + engines: + node: '>=0.10.0' + requiresBuild: true + resolution: + integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== + /electron-to-chromium/1.3.768: + dev: true + resolution: + integrity: sha512-I4UMZHhVSK2pwt8jOIxTi3GIuc41NkddtKT/hpuxp9GO5UWJgDKTBa4TACppbVAuKtKbMK6BhQZvT5tFF1bcNA== + /elliptic/6.5.4: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: true + resolution: + integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== + /emoji-regex/7.0.3: + dev: true + resolution: + integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== + /emojis-list/2.1.0: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha1-TapNnbAPmBmIDHn6RXrlsJof04k= + /emojis-list/3.0.0: + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q== + /encodeurl/1.0.2: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= + /end-of-stream/1.4.4: + dependencies: + once: 1.4.0 + dev: true + resolution: + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + /enhanced-resolve/4.1.0: + dependencies: + graceful-fs: 4.2.6 + memory-fs: 0.4.1 + tapable: 1.1.3 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-F/7vkyTtyc/llOIn8oWclcB25KdRaiPBpZYDgJHgh/UHtpgT2p2eldQgtQnLtUvfMKPKxbRaQM/hHkvLHt1Vng== + /enhanced-resolve/4.5.0: + dependencies: + graceful-fs: 4.2.6 + memory-fs: 0.5.0 + tapable: 1.1.3 + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg== + /entities/2.2.0: + dev: true + resolution: + integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== + /errno/0.1.8: + dependencies: + prr: 1.0.1 + dev: true + hasBin: true + resolution: + integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== + /error-ex/1.3.2: + dependencies: + is-arrayish: 0.2.1 + dev: true + resolution: + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== + /es-abstract/1.18.3: + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + get-intrinsic: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.2 + is-callable: 1.2.3 + is-negative-zero: 2.0.1 + is-regex: 1.1.3 + is-string: 1.0.6 + object-inspect: 1.10.3 + object-keys: 1.1.1 + object.assign: 4.1.2 + string.prototype.trimend: 1.0.4 + string.prototype.trimstart: 1.0.4 + unbox-primitive: 1.0.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== + /es-to-primitive/1.2.1: + dependencies: + is-callable: 1.2.3 + is-date-object: 1.0.4 + is-symbol: 1.0.4 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== + /escalade/3.1.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + /escape-html/1.0.3: + dev: true + resolution: + integrity: sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= + /escape-string-regexp/1.0.5: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= + /eslint-scope/4.0.3: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg== + /esrecurse/4.3.0: + dependencies: + estraverse: 5.2.0 + dev: true + engines: + node: '>=4.0' + resolution: + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + /estraverse/4.3.0: + dev: true + engines: + node: '>=4.0' + resolution: + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + /estraverse/5.2.0: + dev: true + engines: + node: '>=4.0' + resolution: + integrity: sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== + /estree-walker/1.0.1: + dev: true + resolution: + integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + /esutils/2.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + /etag/1.8.1: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= + /eventemitter3/4.0.7: + dev: true + resolution: + integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== + /events/3.3.0: + dev: true + engines: + node: '>=0.8.x' + resolution: + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + /eventsource/1.1.0: + dependencies: + original: 1.0.2 + dev: true + engines: + node: '>=0.12.0' + resolution: + integrity: sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== + /evp_bytestokey/1.0.3: + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== + /execa/1.0.0: + dependencies: + cross-spawn: 6.0.5 + get-stream: 4.1.0 + is-stream: 1.1.0 + npm-run-path: 2.0.2 + p-finally: 1.0.0 + signal-exit: 3.0.3 + strip-eof: 1.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== + /expand-brackets/2.1.4: + dependencies: + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + posix-character-classes: 0.1.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-t3c14xXOMPa27/D4OwQVGiJEliI= + /expand-tilde/2.0.2: + dependencies: + homedir-polyfill: 1.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-l+gBqgUt8CRU3kawK/YhZCzchQI= + /express/4.17.1: + dependencies: + accepts: 1.3.7 + array-flatten: 1.1.1 + body-parser: 1.19.0 + content-disposition: 0.5.3 + content-type: 1.0.4 + cookie: 0.4.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 1.1.2 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.1.2 + fresh: 0.5.2 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.3.0 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.7.0 + range-parser: 1.2.1 + safe-buffer: 5.1.2 + send: 0.17.1 + serve-static: 1.14.1 + setprototypeof: 1.1.1 + statuses: 1.5.0 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + dev: true + engines: + node: '>= 0.10.0' + resolution: + integrity: sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g== + /extend-shallow/2.0.1: + dependencies: + is-extendable: 0.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= + /extend-shallow/3.0.2: + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg= + /extglob/2.0.4: + dependencies: + array-unique: 0.3.2 + define-property: 1.0.0 + expand-brackets: 2.1.4 + extend-shallow: 2.0.1 + fragment-cache: 0.2.1 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== + /extra-watch-webpack-plugin/1.0.3: + dependencies: + glob: 7.1.6 + is-glob: 4.0.1 + lodash.uniq: 4.5.0 + schema-utils: 0.4.7 + dev: true + resolution: + integrity: sha512-ZScQdMH6hNofRRN6QMQFg+aa5vqimfBgnPXmRDhdaLpttT6hrzpY9Oyren3Gh/FySPrgsvKCNbx/NFA7XNdIsg== + /extract-loader/5.1.0: + dependencies: + babel-core: 6.26.3 + babel-plugin-add-module-exports: 1.0.4 + babel-preset-env: 1.7.0 + babel-runtime: 6.26.0 + btoa: 1.2.1 + loader-utils: 1.4.0 + resolve: 1.20.0 + dev: true + engines: + node: '>= 6.0.0' + resolution: + integrity: sha512-+U7sMNULTgm3d3G4hE+N7Rvr/Npsxa7M1jfgvhyYdJuOnyLepm9e2gGuriKw1mrX+mJnX4krPfKI4qyLJ5x94w== + /fast-deep-equal/3.1.3: + dev: true + resolution: + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + /fast-json-stable-stringify/2.1.0: + dev: true + resolution: + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== + /faye-websocket/0.10.0: + dependencies: + websocket-driver: 0.6.5 + dev: true + engines: + node: '>=0.4.0' + resolution: + integrity: sha1-TkkvjQTftviQA1B/btvy1QHnxvQ= + /faye-websocket/0.11.4: + dependencies: + websocket-driver: 0.7.4 + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g== + /figgy-pudding/3.5.2: + dev: true + resolution: + integrity: sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw== + /file-loader/6.2.0_webpack@4.46.0: + dependencies: + loader-utils: 2.0.0 + schema-utils: 3.1.0 + webpack: 4.46.0_webpack-cli@3.3.11 + dev: true + engines: + node: '>= 10.13.0' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== + /fill-range/4.0.0: + dependencies: + extend-shallow: 2.0.1 + is-number: 3.0.0 + repeat-string: 1.6.1 + to-regex-range: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc= + /fill-range/7.0.1: + dependencies: + to-regex-range: 5.0.1 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + /finalhandler/1.1.2: + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== + /find-cache-dir/2.1.0: + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ== + /find-cache-dir/3.3.1: + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + /find-up/3.0.0: + dependencies: + locate-path: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== + /find-up/4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== + /findup-sync/3.0.0: + dependencies: + detect-file: 1.0.0 + is-glob: 4.0.1 + micromatch: 3.1.10 + resolve-dir: 1.0.1 + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha512-YbffarhcicEhOrm4CtrwdKBdCuz576RLdhJDsIfvNtxUuhdRet1qZcsMjqbePtAseKdAnDyM/IyXbu7PRPRLYg== + /flush-write-stream/1.1.1: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w== + /follow-redirects/1.14.1_debug@4.3.2: + dependencies: + debug: 4.3.2_supports-color@6.1.0 + dev: true + engines: + node: '>=4.0' + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + resolution: + integrity: sha512-HWqDgT7ZEkqRzBvc2s64vSZ/hfOceEol3ac/7tKwzuvEyWx3/4UegXh5oBOIotkGsObyk3xznnSRVADBgWSQVg== + /for-in/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-gQaNKVqBQuwKxybG4iAMMPttXoA= + /fork-ts-checker-webpack-plugin/6.2.1: + dependencies: + '@babel/code-frame': 7.14.5 + '@types/json-schema': 7.0.7 + chalk: 4.1.1 + chokidar: 3.5.2 + cosmiconfig: 6.0.0 + deepmerge: 4.2.2 + fs-extra: 9.1.0 + memfs: 3.2.2 + minimatch: 3.0.4 + schema-utils: 2.7.0 + semver: 7.3.5 + tapable: 1.1.3 + dev: true + engines: + node: '>=10' + yarn: '>=1.0.0' + resolution: + integrity: sha512-Pyhn2kav/Y2g6I7aInABgcph/B78jjdXc4kGHzaAUBL4UVthknxM6aMH47JwpnuTJmdOuf6p5vMbIahsBHuWGg== + /forwarded/0.2.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + /fragment-cache/0.2.1: + dependencies: + map-cache: 0.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk= + /fresh/0.5.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac= + /from2/2.3.0: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8= + /fs-extra/9.1.0: + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.6 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + /fs-minipass/2.1.0: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + /fs-monkey/1.0.3: + dev: true + resolution: + integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q== + /fs-write-stream-atomic/1.0.10: + dependencies: + graceful-fs: 4.2.6 + iferr: 0.1.5 + imurmurhash: 0.1.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha1-tH31NJPvkR33VzHnCp3tAYnbQMk= + /fs.realpath/1.0.0: + dev: true + resolution: + integrity: sha1-FQStJSMVjKpA20onh8sBQRmU6k8= + /fsevents/2.3.2: + dev: true + engines: + node: ^8.16.0 || ^10.6.0 || >=11.0.0 + optional: true + os: + - darwin + resolution: + integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== + /function-bind/1.1.1: + dev: true + resolution: + integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== + /gensync/1.0.0-beta.2: + dev: true + engines: + node: '>=6.9.0' + resolution: + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== + /get-caller-file/2.0.5: + dev: true + engines: + node: 6.* || 8.* || >= 10.* + resolution: + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== + /get-intrinsic/1.1.1: + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.2 + dev: true + resolution: + integrity: sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== + /get-own-enumerable-property-symbols/3.0.2: + dev: true + resolution: + integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g== + /get-stream/4.1.0: + dependencies: + pump: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== + /get-value/2.0.6: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= + /glob-parent/5.1.2: + dependencies: + is-glob: 4.0.1 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + /glob/7.1.6: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.0.4 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + resolution: + integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + /global-modules/1.0.0: + dependencies: + global-prefix: 1.0.2 + is-windows: 1.0.2 + resolve-dir: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg== + /global-modules/2.0.0: + dependencies: + global-prefix: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A== + /global-prefix/1.0.2: + dependencies: + expand-tilde: 2.0.2 + homedir-polyfill: 1.0.3 + ini: 1.3.8 + is-windows: 1.0.2 + which: 1.3.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2/dDxsFJklk8ZVVoy2btMsASLr4= + /global-prefix/3.0.0: + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg== + /globals/11.12.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== + /globals/9.18.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ== + /globby/6.1.0: + dependencies: + array-union: 1.0.2 + glob: 7.1.6 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-9abXDoOV4hyFj7BInWTfAkJNUGw= + /graceful-fs/4.2.6: + dev: true + resolution: + integrity: sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== + /handle-thing/2.0.1: + dev: true + resolution: + integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== + /has-ansi/2.0.0: + dependencies: + ansi-regex: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE= + /has-bigints/1.0.1: + dev: true + resolution: + integrity: sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== + /has-flag/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-tdRU3CGZriJWmfNGfloH87lVuv0= + /has-flag/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + /has-symbols/1.0.2: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== + /has-value/0.3.1: + dependencies: + get-value: 2.0.6 + has-values: 0.1.4 + isobject: 2.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8= + /has-value/1.0.0: + dependencies: + get-value: 2.0.6 + has-values: 1.0.0 + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc= + /has-values/0.1.4: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-bWHeldkd/Km5oCCJrThL/49it3E= + /has-values/1.0.0: + dependencies: + is-number: 3.0.0 + kind-of: 4.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-lbC2P+whRmGab+V/51Yo1aOe/k8= + /has/1.0.3: + dependencies: + function-bind: 1.1.1 + dev: true + engines: + node: '>= 0.4.0' + resolution: + integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== + /hash-base/3.1.0: + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.0 + safe-buffer: 5.2.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== + /hash.js/1.1.7: + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + resolution: + integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== + /he/1.2.0: + dev: true + hasBin: true + resolution: + integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== + /highcharts/8.1.2: + dev: false + resolution: + integrity: sha512-Q124Lj+2+bVY2MKMd7d8uSVAmhZVzWgknUUzUBEC27S94dCyK6PBgahuwiMP/ET4w7qSFBBi4OC77ZUb0Vnuyg== + /hmac-drbg/1.0.1: + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: true + resolution: + integrity: sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= + /home-or-tmp/2.0.0: + dependencies: + os-homedir: 1.0.2 + os-tmpdir: 1.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-42w/LSyufXRqhX440Y1fMqeILbg= + /homedir-polyfill/1.0.3: + dependencies: + parse-passwd: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA== + /hpack.js/2.1.6: + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.7 + wbuf: 1.7.3 + dev: true + resolution: + integrity: sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI= + /html-entities/1.4.0: + dev: true + resolution: + integrity: sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== + /html-minifier-terser/5.1.1: + dependencies: + camel-case: 4.1.2 + clean-css: 4.2.3 + commander: 4.1.1 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 4.8.0 + dev: true + engines: + node: '>=6' + hasBin: true + resolution: + integrity: sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg== + /html-webpack-plugin/4.5.1_webpack@4.46.0: + dependencies: + '@types/html-minifier-terser': 5.1.1 + '@types/tapable': 1.0.8 + '@types/webpack': 4.41.30 + html-minifier-terser: 5.1.1 + loader-utils: 1.4.0 + lodash: 4.17.21 + pretty-error: 2.1.2 + tapable: 1.1.3 + util.promisify: 1.0.0 + webpack: 4.46.0_webpack-cli@3.3.11 + dev: true + engines: + node: '>=6.9' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg== + /htmlparser2/6.1.0: + dependencies: + domelementtype: 2.2.0 + domhandler: 4.2.0 + domutils: 2.7.0 + entities: 2.2.0 + dev: true + resolution: + integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== + /http-deceiver/1.2.7: + dev: true + resolution: + integrity: sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc= + /http-errors/1.6.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0= + /http-errors/1.7.2: + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== + /http-errors/1.7.3: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.1.1 + statuses: 1.5.0 + toidentifier: 1.0.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== + /http-parser-js/0.5.3: + dev: true + resolution: + integrity: sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== + /http-proxy-middleware/0.19.1_debug@4.3.2: + dependencies: + http-proxy: 1.18.1_debug@4.3.2 + is-glob: 4.0.1 + lodash: 4.17.21 + micromatch: 3.1.10 + dev: true + engines: + node: '>=4.0.0' + peerDependencies: + debug: '*' + resolution: + integrity: sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q== + /http-proxy/1.18.1_debug@4.3.2: + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.14.1_debug@4.3.2 + requires-port: 1.0.0 + dev: true + engines: + node: '>=8.0.0' + peerDependencies: + debug: '*' + resolution: + integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== + /https-browserify/1.0.0: + dev: true + resolution: + integrity: sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= + /iconv-lite/0.4.24: + dependencies: + safer-buffer: 2.1.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== + /icss-utils/4.1.1: + dependencies: + postcss: 7.0.36 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA== + /ieee754/1.2.1: + dev: true + resolution: + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + /iferr/0.1.5: + dev: true + resolution: + integrity: sha1-xg7taebY/bazEEofy8ocGS3FtQE= + /import-fresh/3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + /import-local/2.0.0: + dependencies: + pkg-dir: 3.0.0 + resolve-cwd: 2.0.0 + dev: true + engines: + node: '>=6' + hasBin: true + resolution: + integrity: sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ== + /imurmurhash/0.1.4: + dev: true + engines: + node: '>=0.8.19' + resolution: + integrity: sha1-khi5srkoojixPcT7a21XbyMUU+o= + /indent-string/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + /infer-owner/1.0.4: + dev: true + resolution: + integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + /inflight/1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + resolution: + integrity: sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= + /inherits/2.0.1: + dev: true + resolution: + integrity: sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= + /inherits/2.0.3: + dev: true + resolution: + integrity: sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= + /inherits/2.0.4: + dev: true + resolution: + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + /ini/1.3.8: + dev: true + resolution: + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + /internal-ip/4.3.0: + dependencies: + default-gateway: 4.2.0 + ipaddr.js: 1.9.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg== + /interpret/1.2.0: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw== + /invariant/2.2.4: + dependencies: + loose-envify: 1.4.0 + dev: true + resolution: + integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + /invert-kv/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== + /ip-regex/2.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk= + /ip/1.1.5: + dev: true + resolution: + integrity: sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo= + /ipaddr.js/1.9.1: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + /is-absolute-url/3.0.3: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== + /is-accessor-descriptor/0.1.6: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qeEss66Nh2cn7u84Q/igiXtcmNY= + /is-accessor-descriptor/1.0.0: + dependencies: + kind-of: 6.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== + /is-arguments/1.1.0: + dependencies: + call-bind: 1.0.2 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== + /is-arrayish/0.2.1: + dev: true + resolution: + integrity: sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= + /is-bigint/1.0.2: + dev: true + resolution: + integrity: sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + /is-binary-path/2.1.0: + dependencies: + binary-extensions: 2.2.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + /is-boolean-object/1.1.1: + dependencies: + call-bind: 1.0.2 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + /is-buffer/1.1.6: + dev: true + resolution: + integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + /is-callable/1.2.3: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== + /is-core-module/2.4.0: + dependencies: + has: 1.0.3 + dev: true + resolution: + integrity: sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== + /is-data-descriptor/0.1.4: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y= + /is-data-descriptor/1.0.0: + dependencies: + kind-of: 6.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== + /is-date-object/1.0.4: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-/b4ZVsG7Z5XVtIxs/h9W8nvfLgSAyKYdtGWQLbqy6jA1icmgjf8WCoTKgeS4wy5tYaPePouzFMANbnj94c2Z+A== + /is-descriptor/0.1.6: + dependencies: + is-accessor-descriptor: 0.1.6 + is-data-descriptor: 0.1.4 + kind-of: 5.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== + /is-descriptor/1.0.2: + dependencies: + is-accessor-descriptor: 1.0.0 + is-data-descriptor: 1.0.0 + kind-of: 6.0.3 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== + /is-extendable/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= + /is-extendable/1.0.1: + dependencies: + is-plain-object: 2.0.4 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + /is-extglob/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= + /is-finite/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + /is-fullwidth-code-point/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-o7MKXE8ZkYMWeqq5O+764937ZU8= + /is-glob/4.0.1: + dependencies: + is-extglob: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== + /is-module/1.0.0: + dev: true + resolution: + integrity: sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE= + /is-negative-zero/2.0.1: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== + /is-number-object/1.0.5: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + /is-number/3.0.0: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU= + /is-number/7.0.0: + dev: true + engines: + node: '>=0.12.0' + resolution: + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + /is-obj/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-PkcprB9f3gJc19g6iW2rn09n2w8= + /is-path-cwd/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ== + /is-path-in-cwd/2.1.0: + dependencies: + is-path-inside: 2.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ== + /is-path-inside/2.1.0: + dependencies: + path-is-inside: 1.0.2 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg== + /is-plain-object/2.0.4: + dependencies: + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + /is-regex/1.1.3: + dependencies: + call-bind: 1.0.2 + has-symbols: 1.0.2 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== + /is-regexp/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-/S2INUXEa6xaYz57mgnof6LLUGk= + /is-stream/1.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-EtSj3U5o4Lec6428hBc66A2RykQ= + /is-stream/2.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + /is-string/1.0.6: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== + /is-symbol/1.0.4: + dependencies: + has-symbols: 1.0.2 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== + /is-windows/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== + /is-wsl/1.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0= + /isarray/1.0.0: + dev: true + resolution: + integrity: sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= + /isexe/2.0.0: + dev: true + resolution: + integrity: sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= + /isobject/2.1.0: + dependencies: + isarray: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= + /isobject/3.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-TkMekrEalzFjaqH5yNHMvP2reN8= + /jest-worker/26.6.2: + dependencies: + '@types/node': 16.0.0 + merge-stream: 2.0.0 + supports-color: 7.2.0 + dev: true + engines: + node: '>= 10.13.0' + resolution: + integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== + /js-tokens/3.0.2: + dev: true + resolution: + integrity: sha1-mGbfOVECEw449/mWvOtlRDIJwls= + /js-tokens/4.0.0: + dev: true + resolution: + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== + /jsesc/0.5.0: + dev: true + hasBin: true + resolution: + integrity: sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= + /jsesc/1.3.0: + dev: true + hasBin: true + resolution: + integrity: sha1-RsP+yMGJKxKwgz25vHYiF226s0s= + /jsesc/2.5.2: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== + /json-parse-better-errors/1.0.2: + dev: true + resolution: + integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== + /json-parse-even-better-errors/2.3.1: + dev: true + resolution: + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + /json-schema-traverse/0.4.1: + dev: true + resolution: + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== + /json3/3.3.3: + dev: true + resolution: + integrity: sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA== + /json5/0.5.1: + dev: true + hasBin: true + resolution: + integrity: sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE= + /json5/1.0.1: + dependencies: + minimist: 1.2.5 + dev: true + hasBin: true + resolution: + integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== + /json5/2.2.0: + dependencies: + minimist: 1.2.5 + dev: true + engines: + node: '>=6' + hasBin: true + resolution: + integrity: sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== + /jsonfile/6.1.0: + dependencies: + universalify: 2.0.0 + dev: true + optionalDependencies: + graceful-fs: 4.2.6 + resolution: + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== + /killable/1.0.1: + dev: true + resolution: + integrity: sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg== + /kind-of/3.2.2: + dependencies: + is-buffer: 1.1.6 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= + /kind-of/4.0.0: + dependencies: + is-buffer: 1.1.6 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-IIE989cSkosgc3hpGkUGb65y3Vc= + /kind-of/5.1.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + /kind-of/6.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== + /lcid/2.0.0: + dependencies: + invert-kv: 2.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== + /lines-and-columns/1.1.6: + dev: true + resolution: + integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= + /lit-css-loader/0.1.0: + dependencies: + loader-utils: 2.0.0 + dev: true + resolution: + integrity: sha512-b5k074E6UuzMGxHhm/bkw6DNdNxnpzAroNXd1Aejf3korc6NIHTaeivyrrbYHjjnyZD8eZ8TrKjQWJbB4ukRrw== + /lit-element/3.0.0-rc.2: + dependencies: + '@lit/reactive-element': 1.0.0-rc.2 + lit-html: 2.0.0-rc.3 + dev: false + resolution: + integrity: sha512-2Z7DabJ3b5K+p5073vFjMODoaWqy5PIaI4y6ADKm+fCGc8OnX9fU9dMoUEBZjFpd/bEFR9PBp050tUtBnT9XTQ== + /lit-html/2.0.0-rc.3: + dependencies: + '@types/trusted-types': 1.0.6 + dev: false + resolution: + integrity: sha512-Y6P8LlAyQuqvzq6l/Nc4z5/P5M/rVLYKQIRxcNwSuGajK0g4kbcBFQqZmgvqKG+ak+dHZjfm2HUw9TF5N/pkCw== + /lit/2.0.0-rc.1: + dependencies: + '@lit/reactive-element': 1.0.0-rc.2 + lit-element: 3.0.0-rc.2 + lit-html: 2.0.0-rc.3 + dev: false + resolution: + integrity: sha512-cf4r18feMhu56sO963a5MaHUn6OX2Am9sj9lzyGTYx2IPDhC9NP/Xh4rj9Ialo9dA+lI4brD7+9cxSzRIWHOmw== + /loader-runner/2.4.0: + dev: true + engines: + node: '>=4.3.0 <5.0.0 || >=5.10' + resolution: + integrity: sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw== + /loader-utils/1.2.3: + dependencies: + big.js: 5.2.2 + emojis-list: 2.1.0 + json5: 1.0.1 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== + /loader-utils/1.4.0: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.1 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA== + /loader-utils/2.0.0: + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.0 + dev: true + engines: + node: '>=8.9.0' + resolution: + integrity: sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== + /locate-path/3.0.0: + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== + /locate-path/5.0.0: + dependencies: + p-locate: 4.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== + /lodash.debounce/4.0.8: + dev: true + resolution: + integrity: sha1-gteb/zCmfEAF/9XiUVMArZyk168= + /lodash.sortby/4.7.0: + dev: true + resolution: + integrity: sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= + /lodash.uniq/4.5.0: + dev: true + resolution: + integrity: sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= + /lodash/4.17.21: + dev: true + resolution: + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + /loglevel/1.7.1: + dev: true + engines: + node: '>= 0.6.0' + resolution: + integrity: sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== + /loose-envify/1.4.0: + dependencies: + js-tokens: 4.0.0 + dev: true + hasBin: true + resolution: + integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== + /lower-case/2.0.2: + dependencies: + tslib: 2.3.0 + dev: true + resolution: + integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== + /lru-cache/5.1.1: + dependencies: + yallist: 3.1.1 + dev: true + resolution: + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== + /lru-cache/6.0.0: + dependencies: + yallist: 4.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + /magic-string/0.25.7: + dependencies: + sourcemap-codec: 1.4.8 + dev: true + resolution: + integrity: sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + /make-dir/2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.1 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== + /make-dir/3.1.0: + dependencies: + semver: 6.3.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== + /map-age-cleaner/0.1.3: + dependencies: + p-defer: 1.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== + /map-cache/0.2.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8= + /map-visit/1.0.0: + dependencies: + object-visit: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7Nyo8TFE5mDxtb1B8S80edmN+48= + /md5.js/1.3.5: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== + /media-typer/0.3.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= + /mem/4.3.0: + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 2.1.0 + p-is-promise: 2.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== + /memfs/3.2.2: + dependencies: + fs-monkey: 1.0.3 + dev: true + engines: + node: '>= 4.0.0' + resolution: + integrity: sha512-RE0CwmIM3CEvpcdK3rZ19BC4E6hv9kADkMN5rPduRak58cNArWLi/9jFLsa4rhsjfVxMP3v0jO7FHXq7SvFY5Q== + /memory-fs/0.4.1: + dependencies: + errno: 0.1.8 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha1-OpoguEYlI+RHz7x+i7gO1me/xVI= + /memory-fs/0.5.0: + dependencies: + errno: 0.1.8 + readable-stream: 2.3.7 + dev: true + engines: + node: '>=4.3.0 <5.0.0 || >=5.10' + resolution: + integrity: sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA== + /merge-descriptors/1.0.1: + dev: true + resolution: + integrity: sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E= + /merge-stream/2.0.0: + dev: true + resolution: + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + /methods/1.1.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= + /micromatch/3.1.10: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + braces: 2.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + extglob: 2.0.4 + fragment-cache: 0.2.1 + kind-of: 6.0.3 + nanomatch: 1.2.13 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== + /micromatch/4.0.4: + dependencies: + braces: 3.0.2 + picomatch: 2.3.0 + dev: true + engines: + node: '>=8.6' + resolution: + integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== + /miller-rabin/4.0.1: + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + dev: true + hasBin: true + resolution: + integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== + /mime-db/1.48.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== + /mime-types/2.1.31: + dependencies: + mime-db: 1.48.0 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== + /mime/1.6.0: + dev: true + engines: + node: '>=4' + hasBin: true + resolution: + integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== + /mime/2.5.2: + dev: true + engines: + node: '>=4.0.0' + hasBin: true + resolution: + integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg== + /mimic-fn/2.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== + /minimalistic-assert/1.0.1: + dev: true + resolution: + integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== + /minimalistic-crypto-utils/1.0.1: + dev: true + resolution: + integrity: sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= + /minimatch/3.0.4: + dependencies: + brace-expansion: 1.1.11 + dev: true + resolution: + integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + /minimist/1.2.5: + dev: true + resolution: + integrity: sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== + /minipass-collect/1.0.2: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + /minipass-flush/1.0.5: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + /minipass-pipeline/1.2.4: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + /minipass/3.1.3: + dependencies: + yallist: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + /minizlib/2.1.2: + dependencies: + minipass: 3.1.3 + yallist: 4.0.0 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + /mississippi/3.0.0: + dependencies: + concat-stream: 1.6.2 + duplexify: 3.7.1 + end-of-stream: 1.4.4 + flush-write-stream: 1.1.1 + from2: 2.3.0 + parallel-transform: 1.2.0 + pump: 3.0.0 + pumpify: 1.5.1 + stream-each: 1.2.3 + through2: 2.0.5 + dev: true + engines: + node: '>=4.0.0' + resolution: + integrity: sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA== + /mixin-deep/1.3.2: + dependencies: + for-in: 1.0.2 + is-extendable: 1.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== + /mkdirp/0.5.5: + dependencies: + minimist: 1.2.5 + dev: true + hasBin: true + resolution: + integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== + /mkdirp/1.0.4: + dev: true + engines: + node: '>=10' + hasBin: true + resolution: + integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + /move-concurrently/1.0.1: + dependencies: + aproba: 1.2.0 + copy-concurrently: 1.0.5 + fs-write-stream-atomic: 1.0.10 + mkdirp: 0.5.5 + rimraf: 2.7.1 + run-queue: 1.0.3 + dev: true + resolution: + integrity: sha1-viwAX9oy4LKa8fBdfEszIUxwH5I= + /ms/2.0.0: + dev: true + resolution: + integrity: sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= + /ms/2.1.1: + dev: true + resolution: + integrity: sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== + /ms/2.1.2: + dev: true + resolution: + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + /ms/2.1.3: + dev: true + resolution: + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + /multicast-dns-service-types/1.1.0: + dev: true + resolution: + integrity: sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE= + /multicast-dns/6.2.3: + dependencies: + dns-packet: 1.3.4 + thunky: 1.1.0 + dev: true + hasBin: true + resolution: + integrity: sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g== + /nanomatch/1.2.13: + dependencies: + arr-diff: 4.0.0 + array-unique: 0.3.2 + define-property: 2.0.2 + extend-shallow: 3.0.2 + fragment-cache: 0.2.1 + is-windows: 1.0.2 + kind-of: 6.0.3 + object.pick: 1.3.0 + regex-not: 1.0.2 + snapdragon: 0.8.2 + to-regex: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== + /negotiator/0.6.2: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== + /neo-async/2.6.2: + dev: true + resolution: + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + /nice-try/1.0.5: + dev: true + resolution: + integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== + /no-case/3.0.4: + dependencies: + lower-case: 2.0.2 + tslib: 2.3.0 + dev: true + resolution: + integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== + /node-forge/0.10.0: + dev: true + engines: + node: '>= 6.0.0' + resolution: + integrity: sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== + /node-libs-browser/2.2.1: + dependencies: + assert: 1.5.0 + browserify-zlib: 0.2.0 + buffer: 4.9.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.0 + domain-browser: 1.2.0 + events: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 0.0.1 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 2.3.7 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.0 + url: 0.11.0 + util: 0.11.1 + vm-browserify: 1.1.2 + dev: true + resolution: + integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== + /node-releases/1.1.73: + dev: true + resolution: + integrity: sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== + /normalize-path/3.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + /npm-run-path/2.0.2: + dependencies: + path-key: 2.0.1 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8= + /nth-check/2.0.0: + dependencies: + boolbase: 1.0.0 + dev: true + resolution: + integrity: sha512-i4sc/Kj8htBrAiH1viZ0TgU8Y5XqCaV/FziYK6TBczxmeKm3AEFWqqF3195yKudrarqy7Zu80Ra5dobFjn9X/Q== + /object-assign/4.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= + /object-copy/0.1.0: + dependencies: + copy-descriptor: 0.1.1 + define-property: 0.2.5 + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-fn2Fi3gb18mRpBupde04EnVOmYw= + /object-inspect/1.10.3: + dev: true + resolution: + integrity: sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== + /object-is/1.1.5: + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + /object-keys/1.1.1: + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== + /object-visit/1.0.1: + dependencies: + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-95xEk68MU3e1n+OdOV5BBC3QRbs= + /object.assign/4.1.2: + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + has-symbols: 1.0.2 + object-keys: 1.1.1 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== + /object.getownpropertydescriptors/2.1.2: + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + es-abstract: 1.18.3 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== + /object.pick/1.3.0: + dependencies: + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c= + /obuf/1.1.2: + dev: true + resolution: + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + /on-finished/2.3.0: + dependencies: + ee-first: 1.1.1 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= + /on-headers/1.0.2: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== + /once/1.4.0: + dependencies: + wrappy: 1.0.2 + dev: true + resolution: + integrity: sha1-WDsap3WWHUsROsF9nFC6753Xa9E= + /opn/5.5.0: + dependencies: + is-wsl: 1.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA== + /original/1.0.2: + dependencies: + url-parse: 1.5.1 + dev: true + resolution: + integrity: sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg== + /os-browserify/0.3.0: + dev: true + resolution: + integrity: sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= + /os-homedir/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-/7xJiDNuDoM94MFox+8VISGqf7M= + /os-locale/3.1.0: + dependencies: + execa: 1.0.0 + lcid: 2.0.0 + mem: 4.3.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== + /os-tmpdir/1.0.2: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= + /p-defer/1.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-n26xgvbJqozXQwBKfU+WsZaw+ww= + /p-finally/1.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4= + /p-is-promise/2.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== + /p-limit/2.3.0: + dependencies: + p-try: 2.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== + /p-locate/3.0.0: + dependencies: + p-limit: 2.3.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== + /p-locate/4.1.0: + dependencies: + p-limit: 2.3.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== + /p-map/2.1.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== + /p-map/4.0.0: + dependencies: + aggregate-error: 3.1.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + /p-retry/3.0.1: + dependencies: + retry: 0.12.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w== + /p-try/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== + /pako/1.0.11: + dev: true + resolution: + integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== + /parallel-transform/1.2.0: + dependencies: + cyclist: 1.0.1 + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg== + /param-case/3.0.4: + dependencies: + dot-case: 3.0.4 + tslib: 2.3.0 + dev: true + resolution: + integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== + /parent-module/1.0.1: + dependencies: + callsites: 3.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== + /parse-asn1/5.1.6: + dependencies: + asn1.js: 5.4.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== + /parse-json/5.2.0: + dependencies: + '@babel/code-frame': 7.14.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.1.6 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== + /parse-passwd/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY= + /parseurl/1.3.3: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== + /pascal-case/3.1.2: + dependencies: + no-case: 3.0.4 + tslib: 2.3.0 + dev: true + resolution: + integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== + /pascalcase/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= + /path-browserify/0.0.1: + dev: true + resolution: + integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== + /path-exists/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= + /path-exists/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + /path-is-absolute/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-F0uSaHNVNP+8es5r9TpanhtcX18= + /path-is-inside/1.0.2: + dev: true + resolution: + integrity: sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= + /path-key/2.0.1: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= + /path-parse/1.0.7: + dev: true + resolution: + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + /path-to-regexp/0.1.7: + dev: true + resolution: + integrity: sha1-32BBeABfUi8V60SQ5yR6G/qmf4w= + /path-to-regexp/2.4.0: + dev: false + resolution: + integrity: sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w== + /path-type/4.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + /pbkdf2/3.1.2: + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== + /picomatch/2.3.0: + dev: true + engines: + node: '>=8.6' + resolution: + integrity: sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== + /pify/2.3.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-7RQaasBDqEnqWISY59yosVMw6Qw= + /pify/4.0.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== + /pinkie-promise/2.0.1: + dependencies: + pinkie: 2.0.4 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ITXW36ejWMBprJsXh3YogihFD/o= + /pinkie/2.0.4: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-clVrgM+g1IqXToDnckjoDtT3+HA= + /pkg-dir/3.0.0: + dependencies: + find-up: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw== + /pkg-dir/4.2.0: + dependencies: + find-up: 4.1.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== + /portfinder/1.0.28: + dependencies: + async: 2.6.3 + debug: 3.2.7 + mkdirp: 0.5.5 + dev: true + engines: + node: '>= 0.12.0' + resolution: + integrity: sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA== + /posix-character-classes/0.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= + /postcss-modules-extract-imports/2.0.0: + dependencies: + postcss: 7.0.36 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ== + /postcss-modules-local-by-default/3.0.3: + dependencies: + icss-utils: 4.1.1 + postcss: 7.0.36 + postcss-selector-parser: 6.0.6 + postcss-value-parser: 4.1.0 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-e3xDq+LotiGesympRlKNgaJ0PCzoUIdpH0dj47iWAui/kyTgh3CiAr1qP54uodmJhl6p9rN6BoNcdEDVJx9RDw== + /postcss-modules-scope/2.2.0: + dependencies: + postcss: 7.0.36 + postcss-selector-parser: 6.0.6 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ== + /postcss-modules-values/3.0.0: + dependencies: + icss-utils: 4.1.1 + postcss: 7.0.36 + dev: true + resolution: + integrity: sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg== + /postcss-selector-parser/6.0.6: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== + /postcss-value-parser/4.1.0: + dev: true + resolution: + integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ== + /postcss/7.0.36: + dependencies: + chalk: 2.4.2 + source-map: 0.6.1 + supports-color: 6.1.0 + dev: true + engines: + node: '>=6.0.0' + resolution: + integrity: sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== + /pretty-bytes/5.6.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== + /pretty-error/2.1.2: + dependencies: + lodash: 4.17.21 + renderkid: 2.0.7 + dev: true + resolution: + integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== + /private/0.1.8: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg== + /process-nextick-args/2.0.1: + dev: true + resolution: + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== + /process/0.11.10: + dev: true + engines: + node: '>= 0.6.0' + resolution: + integrity: sha1-czIwDoQBYb2j5podHZGn1LwW8YI= + /promise-inflight/1.0.1: + dev: true + resolution: + integrity: sha1-mEcocL8igTL8vdhoEputEsPAKeM= + /proxy-addr/2.0.7: + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + /prr/1.0.1: + dev: true + resolution: + integrity: sha1-0/wRS6BplaRexok/SEzrHXj19HY= + /public-encrypt/4.0.3: + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.6 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== + /pump/2.0.1: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + resolution: + integrity: sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA== + /pump/3.0.0: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + resolution: + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + /pumpify/1.5.1: + dependencies: + duplexify: 3.7.1 + inherits: 2.0.4 + pump: 2.0.1 + dev: true + resolution: + integrity: sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ== + /punycode/1.3.2: + dev: true + resolution: + integrity: sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= + /punycode/1.4.1: + dev: true + resolution: + integrity: sha1-wNWmOycYgArY4esPpSachN1BhF4= + /punycode/2.1.1: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== + /qs/6.7.0: + dev: true + engines: + node: '>=0.6' + resolution: + integrity: sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ== + /querystring-es3/0.2.1: + dev: true + engines: + node: '>=0.4.x' + resolution: + integrity: sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= + /querystring/0.2.0: + deprecated: The + dev: true + engines: + node: '>=0.4.x' + resolution: + integrity: sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= + /querystringify/2.2.0: + dev: true + resolution: + integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + /randombytes/2.1.0: + dependencies: + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + /randomfill/1.0.4: + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== + /range-parser/1.2.1: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== + /raw-body/2.4.0: + dependencies: + bytes: 3.1.0 + http-errors: 1.7.2 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q== + /readable-stream/2.3.7: + dependencies: + core-util-is: 1.0.2 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + resolution: + integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== + /readable-stream/3.6.0: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== + /readdirp/3.6.0: + dependencies: + picomatch: 2.3.0 + dev: true + engines: + node: '>=8.10.0' + resolution: + integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + /regenerate-unicode-properties/8.2.0: + dependencies: + regenerate: 1.4.2 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== + /regenerate/1.4.2: + dev: true + resolution: + integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== + /regenerator-runtime/0.11.1: + dev: true + resolution: + integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== + /regenerator-runtime/0.13.7: + dev: true + resolution: + integrity: sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== + /regenerator-transform/0.10.1: + dependencies: + babel-runtime: 6.26.0 + babel-types: 6.26.0 + private: 0.1.8 + dev: true + resolution: + integrity: sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q== + /regenerator-transform/0.14.5: + dependencies: + '@babel/runtime': 7.14.6 + dev: true + resolution: + integrity: sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw== + /regex-not/1.0.2: + dependencies: + extend-shallow: 3.0.2 + safe-regex: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== + /regexp.prototype.flags/1.3.1: + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + engines: + node: '>= 0.4' + resolution: + integrity: sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== + /regexpu-core/2.0.0: + dependencies: + regenerate: 1.4.2 + regjsgen: 0.2.0 + regjsparser: 0.1.5 + dev: true + resolution: + integrity: sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA= + /regexpu-core/4.7.1: + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 8.2.0 + regjsgen: 0.5.2 + regjsparser: 0.6.9 + unicode-match-property-ecmascript: 1.0.4 + unicode-match-property-value-ecmascript: 1.2.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + /regjsgen/0.2.0: + dev: true + resolution: + integrity: sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc= + /regjsgen/0.5.2: + dev: true + resolution: + integrity: sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== + /regjsparser/0.1.5: + dependencies: + jsesc: 0.5.0 + dev: true + hasBin: true + resolution: + integrity: sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw= + /regjsparser/0.6.9: + dependencies: + jsesc: 0.5.0 + dev: true + hasBin: true + resolution: + integrity: sha512-ZqbNRz1SNjLAiYuwY0zoXW8Ne675IX5q+YHioAGbCw4X96Mjl2+dcX9B2ciaeyYjViDAfvIjFpQjJgLttTEERQ== + /relateurl/0.2.7: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha1-VNvzd+UUQKypCkzSdGANP/LYiKk= + /renderkid/2.0.7: + dependencies: + css-select: 4.1.3 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 3.0.1 + dev: true + resolution: + integrity: sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== + /repeat-element/1.1.4: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== + /repeat-string/1.6.1: + dev: true + engines: + node: '>=0.10' + resolution: + integrity: sha1-jcrkcOHIirwtYA//Sndihtp15jc= + /repeating/2.0.1: + dependencies: + is-finite: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo= + /require-directory/2.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-jGStX9MNqxyXbiNE/+f3kqam30I= + /require-main-filename/2.0.0: + dev: true + resolution: + integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== + /requires-port/1.0.0: + dev: true + resolution: + integrity: sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= + /resolve-cwd/2.0.0: + dependencies: + resolve-from: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-AKn3OHVW4nA46uIyyqNypqWbZlo= + /resolve-dir/1.0.1: + dependencies: + expand-tilde: 2.0.2 + global-modules: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-eaQGRMNivoLybv/nOcm7U4IEb0M= + /resolve-from/3.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-six699nWiBvItuZTM17rywoYh0g= + /resolve-from/4.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + /resolve-url/0.2.1: + deprecated: https://github.com/lydell/resolve-url#deprecated + dev: true + resolution: + integrity: sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= + /resolve/1.20.0: + dependencies: + is-core-module: 2.4.0 + path-parse: 1.0.7 + dev: true + resolution: + integrity: sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== + /ret/0.1.15: + dev: true + engines: + node: '>=0.12' + resolution: + integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== + /retry/0.12.0: + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs= + /rimraf/2.7.1: + dependencies: + glob: 7.1.6 + dev: true + hasBin: true + resolution: + integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== + /rimraf/3.0.2: + dependencies: + glob: 7.1.6 + dev: true + hasBin: true + resolution: + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + /ripemd160/2.0.2: + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: true + resolution: + integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== + /rollup-plugin-terser/7.0.2_rollup@2.52.7: + dependencies: + '@babel/code-frame': 7.14.5 + jest-worker: 26.6.2 + rollup: 2.52.7 + serialize-javascript: 4.0.0 + terser: 5.7.1 + dev: true + peerDependencies: + rollup: ^2.0.0 + resolution: + integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ== + /rollup/2.52.7: + dev: true + engines: + node: '>=10.0.0' + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + resolution: + integrity: sha512-55cSH4CCU6MaPr9TAOyrIC+7qFCHscL7tkNsm1MBfIJRRqRbCEY0mmeFn4Wg8FKsHtEH8r389Fz38r/o+kgXLg== + /run-queue/1.0.3: + dependencies: + aproba: 1.2.0 + dev: true + resolution: + integrity: sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec= + /safe-buffer/5.1.2: + dev: true + resolution: + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + /safe-buffer/5.2.1: + dev: true + resolution: + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + /safe-regex/1.1.0: + dependencies: + ret: 0.1.15 + dev: true + resolution: + integrity: sha1-QKNmnzsHfR6UPURinhV91IAjvy4= + /safer-buffer/2.1.2: + dev: true + resolution: + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + /schema-utils/0.4.7: + dependencies: + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ== + /schema-utils/1.0.0: + dependencies: + ajv: 6.12.6 + ajv-errors: 1.0.1_ajv@6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 4' + resolution: + integrity: sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g== + /schema-utils/2.7.0: + dependencies: + '@types/json-schema': 7.0.7 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 8.9.0' + resolution: + integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== + /schema-utils/2.7.1: + dependencies: + '@types/json-schema': 7.0.7 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 8.9.0' + resolution: + integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== + /schema-utils/3.1.0: + dependencies: + '@types/json-schema': 7.0.7 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + dev: true + engines: + node: '>= 10.13.0' + resolution: + integrity: sha512-tTEaeYkyIhEZ9uWgAjDerWov3T9MgX8dhhy2r0IGeeX4W8ngtGl1++dUve/RUqzuaASSh7shwCDJjEzthxki8w== + /select-hose/2.0.0: + dev: true + resolution: + integrity: sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo= + /selfsigned/1.10.11: + dependencies: + node-forge: 0.10.0 + dev: true + resolution: + integrity: sha512-aVmbPOfViZqOZPgRBT0+3u4yZFHpmnIghLMlAcb5/xhp5ZtB/RVnKhz5vl2M32CLXAqR4kha9zfhNg0Lf/sxKA== + /semver/5.7.1: + dev: true + hasBin: true + resolution: + integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== + /semver/6.3.0: + dev: true + hasBin: true + resolution: + integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== + /semver/7.0.0: + dev: true + hasBin: true + resolution: + integrity: sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== + /semver/7.3.5: + dependencies: + lru-cache: 6.0.0 + dev: true + engines: + node: '>=10' + hasBin: true + resolution: + integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + /send/0.17.1: + dependencies: + debug: 2.6.9 + depd: 1.1.2 + destroy: 1.0.4 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 1.7.3 + mime: 1.6.0 + ms: 2.1.1 + on-finished: 2.3.0 + range-parser: 1.2.1 + statuses: 1.5.0 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg== + /serialize-javascript/4.0.0: + dependencies: + randombytes: 2.1.0 + dev: true + resolution: + integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw== + /serve-index/1.9.1: + dependencies: + accepts: 1.3.7 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.31 + parseurl: 1.3.3 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha1-03aNabHn2C5c4FD/9bRTvqEqkjk= + /serve-static/1.14.1: + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.17.1 + dev: true + engines: + node: '>= 0.8.0' + resolution: + integrity: sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg== + /set-blocking/2.0.0: + dev: true + resolution: + integrity: sha1-BF+XgtARrppoA93TgrJDkrPYkPc= + /set-value/2.0.1: + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== + /setimmediate/1.0.5: + dev: true + resolution: + integrity: sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= + /setprototypeof/1.1.0: + dev: true + resolution: + integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ== + /setprototypeof/1.1.1: + dev: true + resolution: + integrity: sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== + /sha.js/2.4.11: + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + hasBin: true + resolution: + integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== + /shebang-command/1.2.0: + dependencies: + shebang-regex: 1.0.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= + /shebang-regex/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= + /signal-exit/3.0.3: + dev: true + resolution: + integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + /slash/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU= + /snapdragon-node/2.1.1: + dependencies: + define-property: 1.0.0 + isobject: 3.0.1 + snapdragon-util: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== + /snapdragon-util/3.0.1: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== + /snapdragon/0.8.2: + dependencies: + base: 0.11.2 + debug: 2.6.9 + define-property: 0.2.5 + extend-shallow: 2.0.1 + map-cache: 0.2.2 + source-map: 0.5.7 + source-map-resolve: 0.5.3 + use: 3.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== + /sockjs-client/1.4.0: + dependencies: + debug: 3.2.7 + eventsource: 1.1.0 + faye-websocket: 0.11.4 + inherits: 2.0.4 + json3: 3.3.3 + url-parse: 1.5.1 + dev: true + resolution: + integrity: sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g== + /sockjs/0.3.20: + dependencies: + faye-websocket: 0.10.0 + uuid: 3.4.0 + websocket-driver: 0.6.5 + dev: true + resolution: + integrity: sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA== + /source-list-map/2.0.1: + dev: true + resolution: + integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw== + /source-map-resolve/0.5.3: + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.0 + resolve-url: 0.2.1 + source-map-url: 0.4.1 + urix: 0.1.0 + dev: true + resolution: + integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== + /source-map-support/0.4.18: + dependencies: + source-map: 0.5.7 + dev: true + resolution: + integrity: sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA== + /source-map-support/0.5.19: + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== + /source-map-url/0.4.1: + dev: true + resolution: + integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== + /source-map/0.5.7: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= + /source-map/0.6.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + /source-map/0.7.3: + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== + /source-map/0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + /sourcemap-codec/1.4.8: + dev: true + resolution: + integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + /spdy-transport/3.0.0_supports-color@6.1.0: + dependencies: + debug: 4.3.2_supports-color@6.1.0 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.0 + wbuf: 1.7.3 + dev: true + peerDependencies: + supports-color: '*' + resolution: + integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw== + /spdy/4.0.2_supports-color@6.1.0: + dependencies: + debug: 4.3.2_supports-color@6.1.0 + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0_supports-color@6.1.0 + dev: true + engines: + node: '>=6.0.0' + peerDependencies: + supports-color: '*' + resolution: + integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA== + /split-string/3.1.0: + dependencies: + extend-shallow: 3.0.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== + /ssri/6.0.2: + dependencies: + figgy-pudding: 3.5.2 + dev: true + resolution: + integrity: sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== + /ssri/8.0.1: + dependencies: + minipass: 3.1.3 + dev: true + engines: + node: '>= 8' + resolution: + integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + /static-extend/0.1.2: + dependencies: + define-property: 0.2.5 + object-copy: 0.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY= + /statuses/1.5.0: + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= + /stream-browserify/2.0.2: + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + resolution: + integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== + /stream-each/1.2.3: + dependencies: + end-of-stream: 1.4.4 + stream-shift: 1.0.1 + dev: true + resolution: + integrity: sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw== + /stream-http/2.8.3: + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 2.3.7 + to-arraybuffer: 1.0.1 + xtend: 4.0.2 + dev: true + resolution: + integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== + /stream-shift/1.0.1: + dev: true + resolution: + integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== + /string-width/3.1.0: + dependencies: + emoji-regex: 7.0.3 + is-fullwidth-code-point: 2.0.0 + strip-ansi: 5.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== + /string.prototype.trimend/1.0.4: + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + resolution: + integrity: sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== + /string.prototype.trimstart/1.0.4: + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.3 + dev: true + resolution: + integrity: sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== + /string_decoder/1.1.1: + dependencies: + safe-buffer: 5.1.2 + dev: true + resolution: + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== + /string_decoder/1.3.0: + dependencies: + safe-buffer: 5.2.1 + dev: true + resolution: + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + /stringify-object/3.3.0: + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw== + /strip-ansi/3.0.1: + dependencies: + ansi-regex: 2.1.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= + /strip-ansi/5.2.0: + dependencies: + ansi-regex: 4.1.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== + /strip-comments/2.0.1: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw== + /strip-eof/1.0.0: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-u0P/VZim6wXYm1n80SnJgzE2Br8= + /supports-color/2.0.0: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha1-U10EXOa2Nj+kARcIRimZXp3zJMc= + /supports-color/5.5.0: + dependencies: + has-flag: 3.0.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== + /supports-color/6.1.0: + dependencies: + has-flag: 3.0.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== + /supports-color/7.2.0: + dependencies: + has-flag: 4.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + /tapable/1.1.3: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== + /tapable/2.2.0: + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-FBk4IesMV1rBxX2tfiK8RAmogtWn53puLOQlvO8XuwlgxcYbP4mVPS9Ph4aeamSyyVjOl24aYWAuc8U5kCVwMw== + /tar/6.1.0: + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 3.1.3 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: true + engines: + node: '>= 10' + resolution: + integrity: sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== + /temp-dir/2.0.0: + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg== + /tempy/0.6.0: + dependencies: + is-stream: 2.0.0 + temp-dir: 2.0.0 + type-fest: 0.16.0 + unique-string: 2.0.0 + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw== + /terser-webpack-plugin/1.4.5_webpack@4.46.0: + dependencies: + cacache: 12.0.4 + find-cache-dir: 2.1.0 + is-wsl: 1.1.0 + schema-utils: 1.0.0 + serialize-javascript: 4.0.0 + source-map: 0.6.1 + terser: 4.8.0 + webpack: 4.46.0_webpack-cli@3.3.11 + webpack-sources: 1.4.3 + worker-farm: 1.7.0 + dev: true + engines: + node: '>= 6.9.0' + peerDependencies: + webpack: ^4.0.0 + resolution: + integrity: sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== + /terser/4.8.0: + dependencies: + commander: 2.20.3 + source-map: 0.6.1 + source-map-support: 0.5.19 + dev: true + engines: + node: '>=6.0.0' + hasBin: true + resolution: + integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw== + /terser/5.7.1: + dependencies: + commander: 2.20.3 + source-map: 0.7.3 + source-map-support: 0.5.19 + dev: true + engines: + node: '>=10' + hasBin: true + resolution: + integrity: sha512-b3e+d5JbHAe/JSjwsC3Zn55wsBIM7AsHLjKxT31kGCldgbpFePaFo+PiddtO6uwRZWRw7sPXmAN8dTW61xmnSg== + /through2/2.0.5: + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + dev: true + resolution: + integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== + /thunky/1.1.0: + dev: true + resolution: + integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== + /timers-browserify/2.0.12: + dependencies: + setimmediate: 1.0.5 + dev: true + engines: + node: '>=0.6.0' + resolution: + integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== + /to-arraybuffer/1.0.1: + dev: true + resolution: + integrity: sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= + /to-fast-properties/1.0.3: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-uDVx+k2MJbguIxsG46MFXeTKGkc= + /to-fast-properties/2.0.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= + /to-object-path/0.3.0: + dependencies: + kind-of: 3.2.2 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68= + /to-regex-range/2.1.1: + dependencies: + is-number: 3.0.0 + repeat-string: 1.6.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg= + /to-regex-range/5.0.1: + dependencies: + is-number: 7.0.0 + dev: true + engines: + node: '>=8.0' + resolution: + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + /to-regex/3.0.2: + dependencies: + define-property: 2.0.2 + extend-shallow: 3.0.2 + regex-not: 1.0.2 + safe-regex: 1.1.0 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== + /toidentifier/1.0.0: + dev: true + engines: + node: '>=0.6' + resolution: + integrity: sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== + /tr46/1.0.1: + dependencies: + punycode: 2.1.1 + dev: true + resolution: + integrity: sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= + /trim-right/1.0.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= + /ts-loader/8.0.12_typescript@4.3.3+webpack@4.46.0: + dependencies: + chalk: 2.4.2 + enhanced-resolve: 4.5.0 + loader-utils: 1.4.0 + micromatch: 4.0.4 + semver: 6.3.0 + typescript: 4.3.3 + webpack: 4.46.0_webpack-cli@3.3.11 + dev: true + engines: + node: '>=10.0.0' + peerDependencies: + typescript: '*' + webpack: '*' + resolution: + integrity: sha512-UIivVfGVJDdwwjgSrbtcL9Nf10c1BWnL1mxAQUVcnhNIn/P9W3nP5v60Z0aBMtc7ZrE11lMmU6+5jSgAXmGaYw== + /tslib/2.3.0: + dev: true + resolution: + integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== + /tty-browserify/0.0.0: + dev: true + resolution: + integrity: sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= + /type-fest/0.16.0: + dev: true + engines: + node: '>=10' + resolution: + integrity: sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg== + /type-is/1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.31 + dev: true + engines: + node: '>= 0.6' + resolution: + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + /typedarray/0.0.6: + dev: true + resolution: + integrity: sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= + /typescript/4.3.3: + dev: true + engines: + node: '>=4.2.0' + hasBin: true + resolution: + integrity: sha512-rUvLW0WtF7PF2b9yenwWUi9Da9euvDRhmH7BLyBG4DCFfOJ850LGNknmRpp8Z8kXNUPObdZQEfKOiHtXuQHHKA== + /unbox-primitive/1.0.1: + dependencies: + function-bind: 1.1.1 + has-bigints: 1.0.1 + has-symbols: 1.0.2 + which-boxed-primitive: 1.0.2 + dev: true + resolution: + integrity: sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== + /unicode-canonical-property-names-ecmascript/1.0.4: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== + /unicode-match-property-ecmascript/1.0.4: + dependencies: + unicode-canonical-property-names-ecmascript: 1.0.4 + unicode-property-aliases-ecmascript: 1.1.0 + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== + /unicode-match-property-value-ecmascript/1.2.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== + /unicode-property-aliases-ecmascript/1.1.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== + /union-value/1.0.1: + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== + /unique-filename/1.1.1: + dependencies: + unique-slug: 2.0.2 + dev: true + resolution: + integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + /unique-slug/2.0.2: + dependencies: + imurmurhash: 0.1.4 + dev: true + resolution: + integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + /unique-string/2.0.0: + dependencies: + crypto-random-string: 2.0.0 + dev: true + engines: + node: '>=8' + resolution: + integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg== + /universalify/2.0.0: + dev: true + engines: + node: '>= 10.0.0' + resolution: + integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== + /unpipe/1.0.0: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= + /unset-value/1.0.0: + dependencies: + has-value: 0.3.1 + isobject: 3.0.1 + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha1-g3aHP30jNRef+x5vw6jtDfyKtVk= + /upath/1.2.0: + dev: true + engines: + node: '>=4' + resolution: + integrity: sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== + /uri-js/4.4.1: + dependencies: + punycode: 2.1.1 + dev: true + resolution: + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + /urix/0.1.0: + deprecated: Please see https://github.com/lydell/urix#deprecated + dev: true + resolution: + integrity: sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= + /url-parse/1.5.1: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + resolution: + integrity: sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== + /url/0.11.0: + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + dev: true + resolution: + integrity: sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= + /use/3.1.1: + dev: true + engines: + node: '>=0.10.0' + resolution: + integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== + /util-deprecate/1.0.2: + dev: true + resolution: + integrity: sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= + /util.promisify/1.0.0: + dependencies: + define-properties: 1.1.3 + object.getownpropertydescriptors: 2.1.2 + dev: true + resolution: + integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== + /util/0.10.3: + dependencies: + inherits: 2.0.1 + dev: true + resolution: + integrity: sha1-evsa/lCAUkZInj23/g7TeTNqwPk= + /util/0.11.1: + dependencies: + inherits: 2.0.3 + dev: true + resolution: + integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== + /utila/0.4.0: + dev: true + resolution: + integrity: sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= + /utils-merge/1.0.1: + dev: true + engines: + node: '>= 0.4.0' + resolution: + integrity: sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + /uuid/3.4.0: + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + dev: true + hasBin: true + resolution: + integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== + /v8-compile-cache/2.0.3: + dev: true + resolution: + integrity: sha512-CNmdbwQMBjwr9Gsmohvm0pbL954tJrNzf6gWL3K+QMQf00PF7ERGrEiLgjuU3mKreLC2MeGhUsNV9ybTbLgd3w== + /validator/13.1.17: + dev: true + engines: + node: '>= 0.10' + resolution: + integrity: sha512-zL5QBoemJ3jYFb2/j38y7ljhwYGXVLUp8H6W1nVxadnAOvUOytec+L7BHh1oBQ82/TzWXHd+GSaxUWp4lROkLg== + /vary/1.1.2: + dev: true + engines: + node: '>= 0.8' + resolution: + integrity: sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= + /vm-browserify/1.1.2: + dev: true + resolution: + integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== + /watchpack-chokidar2/2.0.1: + dependencies: + chokidar: 3.5.2 + dev: true + optional: true + resolution: + integrity: sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww== + /watchpack/1.7.5: + dependencies: + graceful-fs: 4.2.6 + neo-async: 2.6.2 + dev: true + optionalDependencies: + chokidar: 3.5.2 + watchpack-chokidar2: 2.0.1 + resolution: + integrity: sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ== + /wbuf/1.7.3: + dependencies: + minimalistic-assert: 1.0.1 + dev: true + resolution: + integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA== + /webidl-conversions/4.0.2: + dev: true + resolution: + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + /webpack-cli/3.3.11_webpack@4.46.0: + dependencies: + chalk: 2.4.2 + cross-spawn: 6.0.5 + enhanced-resolve: 4.1.0 + findup-sync: 3.0.0 + global-modules: 2.0.0 + import-local: 2.0.0 + interpret: 1.2.0 + loader-utils: 1.2.3 + supports-color: 6.1.0 + v8-compile-cache: 2.0.3 + webpack: 4.46.0_webpack-cli@3.3.11 + yargs: 13.2.4 + dev: true + engines: + node: '>=6.11.5' + hasBin: true + peerDependencies: + webpack: 4.x.x + resolution: + integrity: sha512-dXlfuml7xvAFwYUPsrtQAA9e4DOe58gnzSxhgrO/ZM/gyXTBowrsYeubyN4mqGhYdpXMFNyQ6emjJS9M7OBd4g== + /webpack-dev-middleware/3.7.3_webpack@4.46.0: + dependencies: + memory-fs: 0.4.1 + mime: 2.5.2 + mkdirp: 0.5.5 + range-parser: 1.2.1 + webpack: 4.46.0_webpack-cli@3.3.11 + webpack-log: 2.0.0 + dev: true + engines: + node: '>= 6' + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + resolution: + integrity: sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== + /webpack-dev-server/3.11.0_68d0005888c13e79f5e307f4e918d09a: + dependencies: + ansi-html: 0.0.7 + bonjour: 3.5.0 + chokidar: 3.5.2 + compression: 1.7.4 + connect-history-api-fallback: 1.6.0 + debug: 4.3.2_supports-color@6.1.0 + del: 4.1.1 + express: 4.17.1 + html-entities: 1.4.0 + http-proxy-middleware: 0.19.1_debug@4.3.2 + import-local: 2.0.0 + internal-ip: 4.3.0 + ip: 1.1.5 + is-absolute-url: 3.0.3 + killable: 1.0.1 + loglevel: 1.7.1 + opn: 5.5.0 + p-retry: 3.0.1 + portfinder: 1.0.28 + schema-utils: 1.0.0 + selfsigned: 1.10.11 + semver: 6.3.0 + serve-index: 1.9.1 + sockjs: 0.3.20 + sockjs-client: 1.4.0 + spdy: 4.0.2_supports-color@6.1.0 + strip-ansi: 3.0.1 + supports-color: 6.1.0 + url: 0.11.0 + webpack: 4.46.0_webpack-cli@3.3.11 + webpack-cli: 3.3.11_webpack@4.46.0 + webpack-dev-middleware: 3.7.3_webpack@4.46.0 + webpack-log: 2.0.0 + ws: 6.2.2 + yargs: 13.3.2 + dev: true + engines: + node: '>= 6.11.5' + hasBin: true + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + resolution: + integrity: sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg== + /webpack-log/2.0.0: + dependencies: + ansi-colors: 3.2.4 + uuid: 3.4.0 + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg== + /webpack-manifest-plugin/3.0.0_webpack@4.46.0: + dependencies: + tapable: 2.2.0 + webpack: 4.46.0_webpack-cli@3.3.11 + webpack-sources: 2.3.0 + dev: true + engines: + node: '>=10.22.1' + peerDependencies: + webpack: '>=4.44.2' + resolution: + integrity: sha512-nbORTdky2HxD8XSaaT+zrsHb30AAgyWAWgCLWaAeQO21VGCScGb52ipqlHA/njix1Z8OW8IOlo4+XK0OKr1fkw== + /webpack-merge/4.2.2: + dependencies: + lodash: 4.17.21 + dev: true + resolution: + integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== + /webpack-sources/1.4.3: + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: true + resolution: + integrity: sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ== + /webpack-sources/2.3.0: + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: true + engines: + node: '>=10.13.0' + resolution: + integrity: sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ== + /webpack/4.46.0_webpack-cli@3.3.11: + dependencies: + '@webassemblyjs/ast': 1.9.0 + '@webassemblyjs/helper-module-context': 1.9.0 + '@webassemblyjs/wasm-edit': 1.9.0 + '@webassemblyjs/wasm-parser': 1.9.0 + acorn: 6.4.2 + ajv: 6.12.6 + ajv-keywords: 3.5.2_ajv@6.12.6 + chrome-trace-event: 1.0.3 + enhanced-resolve: 4.5.0 + eslint-scope: 4.0.3 + json-parse-better-errors: 1.0.2 + loader-runner: 2.4.0 + loader-utils: 1.4.0 + memory-fs: 0.4.1 + micromatch: 3.1.10 + mkdirp: 0.5.5 + neo-async: 2.6.2 + node-libs-browser: 2.2.1 + schema-utils: 1.0.0 + tapable: 1.1.3 + terser-webpack-plugin: 1.4.5_webpack@4.46.0 + watchpack: 1.7.5 + webpack-cli: 3.3.11_webpack@4.46.0 + webpack-sources: 1.4.3 + dev: true + engines: + node: '>=6.11.5' + hasBin: true + peerDependencies: + webpack-cli: '*' + webpack-command: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + webpack-command: + optional: true + resolution: + integrity: sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q== + /websocket-driver/0.6.5: + dependencies: + websocket-extensions: 0.1.4 + dev: true + engines: + node: '>=0.6.0' + resolution: + integrity: sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY= + /websocket-driver/0.7.4: + dependencies: + http-parser-js: 0.5.3 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg== + /websocket-extensions/0.1.4: + dev: true + engines: + node: '>=0.8.0' + resolution: + integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg== + /whatwg-url/7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + dev: true + resolution: + integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + /which-boxed-primitive/1.0.2: + dependencies: + is-bigint: 1.0.2 + is-boolean-object: 1.1.1 + is-number-object: 1.0.5 + is-string: 1.0.6 + is-symbol: 1.0.4 + dev: true + resolution: + integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== + /which-module/2.0.0: + dev: true + resolution: + integrity: sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= + /which/1.3.1: + dependencies: + isexe: 2.0.0 + dev: true + hasBin: true + resolution: + integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== + /workbox-background-sync/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-VbUmPLsdz+sLzuNxHvMylzyRTiM4q+q7rwLBk3p2mtRL5NZozI8j/KgoGbno96vs84jx4b9zCZMEOIKEUTPf6w== + /workbox-broadcast-update/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-zGrTTs+n4wHpYtqYMqBg6kl/x5j1UrczGCQnODSHTxIDV8GXLb/GtA1BCZdysNxpMmdVSeLmTcgIYAAqWFamrA== + /workbox-build/6.1.5: + dependencies: + '@babel/core': 7.14.6 + '@babel/preset-env': 7.14.7_@babel+core@7.14.6 + '@babel/runtime': 7.14.6 + '@hapi/joi': 16.1.8 + '@rollup/plugin-babel': 5.3.0_@babel+core@7.14.6+rollup@2.52.7 + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.52.7 + '@rollup/plugin-replace': 2.4.2_rollup@2.52.7 + '@surma/rollup-plugin-off-main-thread': 1.4.2 + common-tags: 1.8.0 + fast-json-stable-stringify: 2.1.0 + fs-extra: 9.1.0 + glob: 7.1.6 + lodash: 4.17.21 + pretty-bytes: 5.6.0 + rollup: 2.52.7 + rollup-plugin-terser: 7.0.2_rollup@2.52.7 + source-map: 0.8.0-beta.0 + source-map-url: 0.4.1 + stringify-object: 3.3.0 + strip-comments: 2.0.1 + tempy: 0.6.0 + upath: 1.2.0 + workbox-background-sync: 6.1.5 + workbox-broadcast-update: 6.1.5 + workbox-cacheable-response: 6.1.5 + workbox-core: 6.1.5 + workbox-expiration: 6.1.5 + workbox-google-analytics: 6.1.5 + workbox-navigation-preload: 6.1.5 + workbox-precaching: 6.1.5 + workbox-range-requests: 6.1.5 + workbox-recipes: 6.1.5 + workbox-routing: 6.1.5 + workbox-strategies: 6.1.5 + workbox-streams: 6.1.5 + workbox-sw: 6.1.5 + workbox-window: 6.1.5 + dev: true + engines: + node: '>=10.0.0' + resolution: + integrity: sha512-P+fakR5QFVqJN9l9xHVXtmafga72gh9I+jM3A9HiB/6UNRmOAejXnDgD+RMegOHgQHPwnB44TalMToFaXKWIyA== + /workbox-cacheable-response/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-x8DC71lO/JCgiaJ194l9le8wc8lFPLgUpDkLhp2si7mXV6S/wZO+8Osvw1LLgYa8YYTWGbhbFhFTXIkEMknIIA== + /workbox-core/6.1.0: + dev: true + resolution: + integrity: sha512-s3KqTJfBreO4xCZpR2LB5p/EknAx8eg0QumKiIgxM4hRO0RtwS2pJvTieNEM23X3RqxRhqweriLD8To19KUvjg== + /workbox-core/6.1.5: + dev: true + resolution: + integrity: sha512-9SOEle7YcJzg3njC0xMSmrPIiFjfsFm9WjwGd5enXmI8Lwk8wLdy63B0nzu5LXoibEmS9k+aWF8EzaKtOWjNSA== + /workbox-expiration/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-6cN+FVbh8fNq56LFKPMchGNKCJeyboHsDuGBqmhDUPvD4uDjsegQpDQzn52VaE0cpywbSIsDF/BSq9E9Yjh5oQ== + /workbox-google-analytics/6.1.5: + dependencies: + workbox-background-sync: 6.1.5 + workbox-core: 6.1.5 + workbox-routing: 6.1.5 + workbox-strategies: 6.1.5 + dev: true + resolution: + integrity: sha512-LYsJ/VxTkYVLxM1uJKXZLz4cJdemidY7kPyAYtKVZ6EiDG89noASqis75/5lhqM1m3HwQfp2DtoPrelKSpSDBA== + /workbox-navigation-preload/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-hDbNcWlffv0uvS21jCAC/mYk7NzaGRSWOQXv1p7bj2aONAX5l699D2ZK4D27G8TO0BaLHUmW/1A5CZcsvweQdg== + /workbox-precaching/6.1.0: + dependencies: + workbox-core: 6.1.0 + workbox-routing: 6.1.5 + workbox-strategies: 6.1.5 + dev: true + resolution: + integrity: sha512-zjye8MVzieBVJ3sS0hFcbKLp7pTHMfJM17YqxCxB0KykXWnxLOpYnStQ9M+bjWJsKJOQvbkPqvq5u9+mtA923g== + /workbox-precaching/6.1.5: + dependencies: + workbox-core: 6.1.5 + workbox-routing: 6.1.5 + workbox-strategies: 6.1.5 + dev: true + resolution: + integrity: sha512-yhm1kb6wgi141JeM5X7z42XJxCry53tbMLB3NgrxktrZbwbrJF8JILzYy+RFKC9tHC6u2bPmL789GPLT2NCDzw== + /workbox-range-requests/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-iACChSapzB0yuIum3ascP/+cfBNuZi5DRrE+u4u5mCHigPlwfSWtlaY+y8p+a8EwcDTVTZVtnrGrRnF31SiLqQ== + /workbox-recipes/6.1.5: + dependencies: + workbox-cacheable-response: 6.1.5 + workbox-core: 6.1.5 + workbox-expiration: 6.1.5 + workbox-precaching: 6.1.5 + workbox-routing: 6.1.5 + workbox-strategies: 6.1.5 + dev: true + resolution: + integrity: sha512-MD1yabHca6O/oj1hrRdfj9cRwhKA5zqIE53rWOAg/dKMMzWQsf9nyRbXRgzK3a13iQvYKuQzURU4Cx58tdnR+Q== + /workbox-routing/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-uC/Ctz+4GXGL42h1WxUNKxqKRik/38uS0NZ6VY/EHqL2F1ObLFqMHUZ4ZYvyQsKdyI82cxusvhJZHOrY0a2fIQ== + /workbox-strategies/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-QhiOn9KT9YGBdbfWOmJT6pXZOIAxaVrs6J6AMYzRpkUegBTEcv36+ZhE/cfHoT0u2fxVtthHnskOQ/snEzaXQw== + /workbox-streams/6.1.5: + dependencies: + workbox-core: 6.1.5 + workbox-routing: 6.1.5 + dev: true + resolution: + integrity: sha512-OI1kLvRHGFXV+soDvs6aEwfBwdAkvPB0mRryqdh3/K17qUj/1gRXc8QtpgU+83xqx/I/ar2bTCIj0KPzI/ChCQ== + /workbox-sw/6.1.5: + dev: true + resolution: + integrity: sha512-IMDiqxYbKzPorZLGMUMacLB6r76iVQbdTzYthIZoPfy+uFURJFUtqiWQJKg1L+RMyuYXwKXTahCIGkgFs4jBeg== + /workbox-webpack-plugin/6.1.0_webpack@4.46.0: + dependencies: + fast-json-stable-stringify: 2.1.0 + pretty-bytes: 5.6.0 + source-map-url: 0.4.1 + upath: 1.2.0 + webpack: 4.46.0_webpack-cli@3.3.11 + webpack-sources: 1.4.3 + workbox-build: 6.1.5 + dev: true + engines: + node: '>=10.0.0' + peerDependencies: + webpack: ^4.4.0 || ^5.9.0 + resolution: + integrity: sha512-uRmImfQghNmNF/iyPJ+MS0o2Z9E6kExZRSZIDOhnf1v+Mw1ixxx3n9fuTvTuCDvrUksaXcVEkvhagr12kfkEYA== + /workbox-window/6.1.5: + dependencies: + workbox-core: 6.1.5 + dev: true + resolution: + integrity: sha512-akL0X6mAegai2yypnq78RgfazeqvKbsllRtEI4dnbhPcRINEY1NmecFmsQk8SD+zWLK1gw5OdwAOX+zHSRVmeA== + /worker-farm/1.7.0: + dependencies: + errno: 0.1.8 + dev: true + resolution: + integrity: sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw== + /wrap-ansi/5.1.0: + dependencies: + ansi-styles: 3.2.1 + string-width: 3.1.0 + strip-ansi: 5.2.0 + dev: true + engines: + node: '>=6' + resolution: + integrity: sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== + /wrappy/1.0.2: + dev: true + resolution: + integrity: sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= + /ws/6.2.2: + dependencies: + async-limiter: 1.0.1 + dev: true + resolution: + integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== + /xtend/4.0.2: + dev: true + engines: + node: '>=0.4' + resolution: + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + /y18n/4.0.3: + dev: true + resolution: + integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== + /yallist/3.1.1: + dev: true + resolution: + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== + /yallist/4.0.0: + dev: true + resolution: + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + /yaml/1.10.2: + dev: true + engines: + node: '>= 6' + resolution: + integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + /yargs-parser/13.1.2: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + dev: true + resolution: + integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== + /yargs/13.2.4: + dependencies: + cliui: 5.0.0 + find-up: 3.0.0 + get-caller-file: 2.0.5 + os-locale: 3.1.0 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 3.1.0 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 13.1.2 + dev: true + resolution: + integrity: sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg== + /yargs/13.3.2: + dependencies: + cliui: 5.0.0 + find-up: 3.0.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 3.1.0 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 13.1.2 + dev: true + resolution: + integrity: sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== +specifiers: + '@polymer/iron-icon': 3.0.1 + '@polymer/iron-list': 3.1.0 + '@polymer/polymer': 3.2.0 + '@types/validator': 13.1.0 + '@vaadin/application-theme-plugin': ./target/plugins/application-theme-plugin + '@vaadin/flow-frontend': ./target/flow-frontend + '@vaadin/form': ./target/flow-frontend/form + '@vaadin/router': 1.7.4 + '@vaadin/stats-plugin': ./target/plugins/stats-plugin + '@vaadin/theme-live-reload-plugin': ./target/plugins/theme-live-reload-plugin + '@vaadin/theme-loader': ./target/plugins/theme-loader + '@vaadin/vaadin-accordion': 21.0.0-alpha13 + '@vaadin/vaadin-app-layout': 21.0.0-alpha13 + '@vaadin/vaadin-avatar': 21.0.0-alpha13 + '@vaadin/vaadin-board': 21.0.0-alpha13 + '@vaadin/vaadin-button': 21.0.0-alpha13 + '@vaadin/vaadin-charts': 21.0.0-alpha13 + '@vaadin/vaadin-checkbox': 21.0.0-alpha13 + '@vaadin/vaadin-combo-box': 21.0.0-alpha13 + '@vaadin/vaadin-confirm-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-context-menu': 21.0.0-alpha13 + '@vaadin/vaadin-cookie-consent': 21.0.0-alpha13 + '@vaadin/vaadin-core-shrinkwrap': 21.0.0-alpha10 + '@vaadin/vaadin-crud': 21.0.0-alpha13 + '@vaadin/vaadin-custom-field': 21.0.0-alpha13 + '@vaadin/vaadin-date-picker': 21.0.0-alpha13 + '@vaadin/vaadin-date-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-details': 21.0.0-alpha13 + '@vaadin/vaadin-dialog': 21.0.0-alpha13 + '@vaadin/vaadin-form-layout': 21.0.0-alpha13 + '@vaadin/vaadin-grid': 21.0.0-alpha13 + '@vaadin/vaadin-grid-pro': 21.0.0-alpha13 + '@vaadin/vaadin-icon': 21.0.0-alpha13 + '@vaadin/vaadin-icons': 21.0.0-alpha13 + '@vaadin/vaadin-item': 21.0.0-alpha13 + '@vaadin/vaadin-list-box': 21.0.0-alpha13 + '@vaadin/vaadin-login': 21.0.0-alpha13 + '@vaadin/vaadin-lumo-styles': 21.0.0-alpha13 + '@vaadin/vaadin-material-styles': 21.0.0-alpha13 + '@vaadin/vaadin-menu-bar': 21.0.0-alpha13 + '@vaadin/vaadin-messages': 21.0.0-alpha13 + '@vaadin/vaadin-notification': 21.0.0-alpha13 + '@vaadin/vaadin-ordered-layout': 21.0.0-alpha13 + '@vaadin/vaadin-progress-bar': 21.0.0-alpha13 + '@vaadin/vaadin-radio-button': 21.0.0-alpha13 + '@vaadin/vaadin-rich-text-editor': 21.0.0-alpha13 + '@vaadin/vaadin-select': 21.0.0-alpha13 + '@vaadin/vaadin-shrinkwrap': 21.0.0-alpha10 + '@vaadin/vaadin-split-layout': 21.0.0-alpha13 + '@vaadin/vaadin-tabs': 21.0.0-alpha13 + '@vaadin/vaadin-template-renderer': 21.0.0-alpha13 + '@vaadin/vaadin-text-field': 21.0.0-alpha13 + '@vaadin/vaadin-time-picker': 21.0.0-alpha13 + '@vaadin/vaadin-upload': 21.0.0-alpha13 + '@vaadin/vaadin-virtual-list': 21.0.0-alpha13 + chokidar: ^3.5.0 + compression-webpack-plugin: 4.0.1 + construct-style-sheets-polyfill: 2.4.16 + css-loader: 4.2.1 + extra-watch-webpack-plugin: 1.0.3 + extract-loader: 5.1.0 + file-loader: 6.2.0 + fork-ts-checker-webpack-plugin: 6.2.1 + glob: 7.1.6 + html-webpack-plugin: 4.5.1 + lit: 2.0.0-rc.1 + lit-css-loader: 0.1.0 + loader-utils: 2.0.0 + ts-loader: 8.0.12 + typescript: 4.3.3 + validator: 13.1.17 + webpack: 4.46.0 + webpack-cli: 3.3.11 + webpack-dev-server: 3.11.0 + webpack-manifest-plugin: 3.0.0 + webpack-merge: 4.2.2 + workbox-core: 6.1.0 + workbox-precaching: 6.1.0 + workbox-webpack-plugin: 6.1.0 diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..4ca805e --- /dev/null +++ b/pom.xml @@ -0,0 +1,262 @@ + + + 4.0.0 + + com.cubetiqs.fusion + fusionmanagement + Project base for Spring Boot and Vaadin Flow + 1.0-SNAPSHOT + jar + + + 11 + 21.0.0.alpha10 + + + + org.springframework.boot + spring-boot-starter-parent + 2.4.5 + + + + + + + + central + https://repo.maven.apache.org/maven2 + + false + + + + vaadin-prereleases + + https://maven.vaadin.com/vaadin-prereleases/ + + + + + Vaadin Directory + https://maven.vaadin.com/vaadin-addons + + false + + + + + + + + central + https://repo.maven.apache.org/maven2 + + false + + + + vaadin-prereleases + + https://maven.vaadin.com/vaadin-prereleases/ + + + + + + + + com.vaadin + vaadin-bom + ${vaadin.version} + pom + import + + + + + + + com.vaadin + + vaadin + + + com.vaadin + vaadin-spring-boot-starter + + + org.springframework.boot + spring-boot-starter-security + + + + org.vaadin.artur + a-vaadin-helper + 1.7.1 + + + + org.vaadin.artur.exampledata + exampledata + 3.4.0 + + + + com.h2database + h2 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-devtools + true + + + org.springframework.boot + spring-boot-starter-test + test + + + com.vaadin + vaadin-testbench + test + + + + org.junit.vintage + junit-vintage-engine + test + + + org.hamcrest + hamcrest-core + + + + + io.github.bonigarcia + webdrivermanager + 4.4.0 + test + + + + + spring-boot:run + + + org.springframework.boot + spring-boot-maven-plugin + + + 500 + 240 + + + + + + com.vaadin + vaadin-maven-plugin + ${vaadin.version} + + + + prepare-frontend + + + + + + + + + + + production + + + + com.vaadin + vaadin-maven-plugin + ${vaadin.version} + + + + build-frontend + + compile + + + + true + + + + + + + + it + + + + org.springframework.boot + spring-boot-maven-plugin + + + start-spring-boot + pre-integration-test + + start + + + + stop-spring-boot + post-integration-test + + stop + + + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + + + + integration-test + verify + + + + + false + true + + + + + + + + diff --git a/src/main/java/com/cubetiqs/fusion/Application.java b/src/main/java/com/cubetiqs/fusion/Application.java new file mode 100644 index 0000000..df8dbe7 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/Application.java @@ -0,0 +1,27 @@ +package com.cubetiqs.fusion; + +import com.vaadin.flow.component.page.AppShellConfigurator; +import com.vaadin.flow.server.PWA; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; +import com.vaadin.flow.theme.Theme; + +/** + * The entry point of the Spring Boot application. + * + * Use the @PWA annotation make the application installable on phones, tablets + * and some desktop browsers. + * + */ +@SpringBootApplication +@Theme(value = "fusionmanagement") +@PWA(name = "Fusion Management", shortName = "Fusion Management", offlineResources = {"images/logo.png"}) +public class Application extends SpringBootServletInitializer implements AppShellConfigurator { + + public static void main(String[] args) { + SpringApplication.run(Application.class, args); + } + +} diff --git a/src/main/java/com/cubetiqs/fusion/data/AbstractEntity.java b/src/main/java/com/cubetiqs/fusion/data/AbstractEntity.java new file mode 100644 index 0000000..58771f6 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/data/AbstractEntity.java @@ -0,0 +1,45 @@ +package com.cubetiqs.fusion.data; + +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.MappedSuperclass; + +import com.vaadin.fusion.Nonnull; + +@MappedSuperclass +public abstract class AbstractEntity { + + @Id + @GeneratedValue + @Nonnull + private Integer id; + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + @Override + public int hashCode() { + if (id != null) { + return id.hashCode(); + } + return super.hashCode(); + } + + @Override + public boolean equals(Object obj) { + if (!(obj instanceof AbstractEntity)) { + return false; // null or other class + } + AbstractEntity other = (AbstractEntity) obj; + + if (id != null) { + return id.equals(other.id); + } + return super.equals(other); + } +} diff --git a/src/main/java/com/cubetiqs/fusion/data/Role.java b/src/main/java/com/cubetiqs/fusion/data/Role.java new file mode 100644 index 0000000..72e1ad2 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/data/Role.java @@ -0,0 +1,16 @@ +package com.cubetiqs.fusion.data; + +public enum Role { + USER("user"), ADMIN("admin"); + + private String roleName; + + private Role(String roleName) { + this.roleName = roleName; + } + + public String getRoleName() { + return roleName; + } + +} diff --git a/src/main/java/com/cubetiqs/fusion/data/endpoint/UserEndpoint.java b/src/main/java/com/cubetiqs/fusion/data/endpoint/UserEndpoint.java new file mode 100644 index 0000000..ecef5f4 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/data/endpoint/UserEndpoint.java @@ -0,0 +1,22 @@ +package com.cubetiqs.fusion.data.endpoint; + +import java.util.Optional; + +import com.cubetiqs.fusion.data.entity.User; +import com.cubetiqs.fusion.security.AuthenticatedUser; +import com.vaadin.flow.server.auth.AnonymousAllowed; +import com.vaadin.fusion.Endpoint; + +import org.springframework.beans.factory.annotation.Autowired; + +@Endpoint +@AnonymousAllowed +public class UserEndpoint { + + @Autowired + private AuthenticatedUser authenticatedUser; + + public Optional getAuthenticatedUser() { + return authenticatedUser.get(); + } +} diff --git a/src/main/java/com/cubetiqs/fusion/data/entity/User.java b/src/main/java/com/cubetiqs/fusion/data/entity/User.java new file mode 100644 index 0000000..f8461c3 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/data/entity/User.java @@ -0,0 +1,61 @@ +package com.cubetiqs.fusion.data.entity; + +import javax.persistence.Entity; + +import com.cubetiqs.fusion.data.AbstractEntity; +import com.vaadin.fusion.Nonnull; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Set; +import javax.persistence.ElementCollection; +import javax.persistence.FetchType; +import com.cubetiqs.fusion.data.Role; +import javax.persistence.Lob; + +@Entity +public class User extends AbstractEntity { + + @Nonnull + private String username; + @Nonnull + private String name; + @JsonIgnore + private String hashedPassword; + @ElementCollection(fetch = FetchType.EAGER) + @Nonnull + private Set roles; + @Nonnull + @Lob + private String profilePictureUrl; + + public String getUsername() { + return username; + } + public void setUsername(String username) { + this.username = username; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public String getHashedPassword() { + return hashedPassword; + } + public void setHashedPassword(String hashedPassword) { + this.hashedPassword = hashedPassword; + } + public Set getRoles() { + return roles; + } + public void setRoles(Set roles) { + this.roles = roles; + } + public String getProfilePictureUrl() { + return profilePictureUrl; + } + public void setProfilePictureUrl(String profilePictureUrl) { + this.profilePictureUrl = profilePictureUrl; + } + +} diff --git a/src/main/java/com/cubetiqs/fusion/data/generator/DataGenerator.java b/src/main/java/com/cubetiqs/fusion/data/generator/DataGenerator.java new file mode 100644 index 0000000..764c535 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/data/generator/DataGenerator.java @@ -0,0 +1,57 @@ +package com.cubetiqs.fusion.data.generator; + +import com.vaadin.flow.spring.annotation.SpringComponent; + +import com.cubetiqs.fusion.data.service.UserRepository; +import com.cubetiqs.fusion.data.entity.User; +import java.util.Collections; +import org.springframework.security.crypto.password.PasswordEncoder; +import com.cubetiqs.fusion.data.Role; + +import java.time.LocalDateTime; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.boot.CommandLineRunner; +import org.springframework.context.annotation.Bean; +import org.vaadin.artur.exampledata.DataType; +import org.vaadin.artur.exampledata.ExampleDataGenerator; + +@SpringComponent +public class DataGenerator { + + @Bean + public CommandLineRunner loadData(PasswordEncoder passwordEncoder, UserRepository userRepository) { + return args -> { + Logger logger = LoggerFactory.getLogger(getClass()); + if (userRepository.count() != 0L) { + logger.info("Using existing database"); + return; + } + int seed = 123; + + logger.info("Generating demo data"); + + logger.info("... generating 2 User entities..."); + User user = new User(); + user.setName("John Normal"); + user.setUsername("user"); + user.setHashedPassword(passwordEncoder.encode("user")); + user.setProfilePictureUrl( + "https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=128&h=128&q=80"); + user.setRoles(Collections.singleton(Role.USER)); + userRepository.save(user); + User admin = new User(); + admin.setName("John Normal"); + admin.setUsername("admin"); + admin.setHashedPassword(passwordEncoder.encode("admin")); + admin.setProfilePictureUrl( + "https://images.unsplash.com/photo-1607746882042-944635dfe10e?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=128&h=128&q=80"); + admin.setRoles(Collections.singleton(Role.ADMIN)); + userRepository.save(admin); + + logger.info("Generated demo data"); + }; + } + +} \ No newline at end of file diff --git a/src/main/java/com/cubetiqs/fusion/data/service/UserRepository.java b/src/main/java/com/cubetiqs/fusion/data/service/UserRepository.java new file mode 100644 index 0000000..32cb7fd --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/data/service/UserRepository.java @@ -0,0 +1,17 @@ +package com.cubetiqs.fusion.data.service; + +import com.cubetiqs.fusion.data.entity.User; + +import org.springframework.data.jpa.repository.JpaRepository; +import com.vaadin.fusion.Nonnull; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Set; +import javax.persistence.ElementCollection; +import javax.persistence.FetchType; +import com.cubetiqs.fusion.data.Role; +import javax.persistence.Lob; + +public interface UserRepository extends JpaRepository { + + User findByUsername(String username); +} \ No newline at end of file diff --git a/src/main/java/com/cubetiqs/fusion/data/service/UserService.java b/src/main/java/com/cubetiqs/fusion/data/service/UserService.java new file mode 100644 index 0000000..cabb4e2 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/data/service/UserService.java @@ -0,0 +1,30 @@ +package com.cubetiqs.fusion.data.service; + +import com.cubetiqs.fusion.data.entity.User; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.vaadin.artur.helpers.CrudService; +import com.vaadin.fusion.Nonnull; +import com.fasterxml.jackson.annotation.JsonIgnore; +import java.util.Set; +import javax.persistence.ElementCollection; +import javax.persistence.FetchType; +import com.cubetiqs.fusion.data.Role; +import javax.persistence.Lob; + +@Service +public class UserService extends CrudService { + + private UserRepository repository; + + public UserService(@Autowired UserRepository repository) { + this.repository = repository; + } + + @Override + protected UserRepository getRepository() { + return repository; + } + +} diff --git a/src/main/java/com/cubetiqs/fusion/security/AuthenticatedUser.java b/src/main/java/com/cubetiqs/fusion/security/AuthenticatedUser.java new file mode 100644 index 0000000..d940bf2 --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/security/AuthenticatedUser.java @@ -0,0 +1,47 @@ +package com.cubetiqs.fusion.security; + +import java.util.Optional; + +import com.cubetiqs.fusion.data.entity.User; +import com.cubetiqs.fusion.data.service.UserRepository; +import com.vaadin.flow.component.UI; +import com.vaadin.flow.server.VaadinServletRequest; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.context.SecurityContext; +import org.springframework.security.core.context.SecurityContextHolder; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; +import org.springframework.stereotype.Component; + +@Component +public class AuthenticatedUser { + + @Autowired + private UserRepository userRepository; + + private UserDetails getAuthenticatedUser() { + SecurityContext context = SecurityContextHolder.getContext(); + Object principal = context.getAuthentication().getPrincipal(); + if (principal instanceof UserDetails) { + UserDetails userDetails = (UserDetails) context.getAuthentication().getPrincipal(); + return userDetails; + } + return null; + } + + public Optional get() { + UserDetails details = getAuthenticatedUser(); + if (details == null) { + return Optional.empty(); + } + return Optional.of(userRepository.findByUsername(details.getUsername())); + } + + public void logout() { + UI.getCurrent().getPage().setLocation(SecurityConfiguration.LOGOUT_URL); + SecurityContextLogoutHandler logoutHandler = new SecurityContextLogoutHandler(); + logoutHandler.logout(VaadinServletRequest.getCurrent().getHttpServletRequest(), null, null); + } + +} diff --git a/src/main/java/com/cubetiqs/fusion/security/SecurityConfiguration.java b/src/main/java/com/cubetiqs/fusion/security/SecurityConfiguration.java new file mode 100644 index 0000000..a7b619c --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/security/SecurityConfiguration.java @@ -0,0 +1,38 @@ +package com.cubetiqs.fusion.security; + +import com.vaadin.flow.spring.security.VaadinWebSecurityConfigurerAdapter; + +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.security.config.annotation.web.builders.HttpSecurity; +import org.springframework.security.config.annotation.web.builders.WebSecurity; +import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; +import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; +import org.springframework.security.crypto.password.PasswordEncoder; + +@EnableWebSecurity +@Configuration +public class SecurityConfiguration extends VaadinWebSecurityConfigurerAdapter { + + public static final String LOGOUT_URL = "/"; + + @Bean + public PasswordEncoder passwordEncoder() { + return new BCryptPasswordEncoder(); + } + + @Override + protected void configure(HttpSecurity http) throws Exception { + // Public access + http.authorizeRequests().antMatchers("/").permitAll(); + + super.configure(http); + setLoginView(http, "/login", LOGOUT_URL); + } + + @Override + public void configure(WebSecurity web) throws Exception { + super.configure(web); + web.ignoring().antMatchers("/images/logo.png"); + } +} diff --git a/src/main/java/com/cubetiqs/fusion/security/UserDetailsServiceImpl.java b/src/main/java/com/cubetiqs/fusion/security/UserDetailsServiceImpl.java new file mode 100644 index 0000000..0f5534e --- /dev/null +++ b/src/main/java/com/cubetiqs/fusion/security/UserDetailsServiceImpl.java @@ -0,0 +1,40 @@ +package com.cubetiqs.fusion.security; + +import java.util.List; +import java.util.stream.Collectors; + +import com.cubetiqs.fusion.data.entity.User; +import com.cubetiqs.fusion.data.service.UserRepository; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.security.core.GrantedAuthority; +import org.springframework.security.core.authority.SimpleGrantedAuthority; +import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.security.core.userdetails.UserDetailsService; +import org.springframework.security.core.userdetails.UsernameNotFoundException; +import org.springframework.stereotype.Service; + +@Service +public class UserDetailsServiceImpl implements UserDetailsService { + + @Autowired + private UserRepository userRepository; + + @Override + public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { + User user = userRepository.findByUsername(username); + if (user == null) { + throw new UsernameNotFoundException("No user present with username: " + username); + } else { + return new org.springframework.security.core.userdetails.User(user.getUsername(), user.getHashedPassword(), + getAuthorities(user)); + } + } + + private static List getAuthorities(User user) { + return user.getRoles().stream().map(role -> new SimpleGrantedAuthority("ROLE_" + role.getRoleName())) + .collect(Collectors.toList()); + + } + +} diff --git a/src/main/resources/META-INF/resources/icons/icon.png b/src/main/resources/META-INF/resources/icons/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6fde5c10d44ec14b621ef75e6b283f564c017f38 GIT binary patch literal 15994 zcmeI3PEfWXlI9{>Ny z;04(L*+yVfu$KLY>$Vis=BNi!dtzMw5mU`wo7{*PPdJws`StI^**0I^X!cx$WuY}>Dh^xWuc>@1xgOmhBn^Z z$7z~hCdrSuka$za;p?=2EcA@*u15+_97pix&E@-6+3AFsY6qL^Y}6SDM`@}^(YA4b z-I1f+6peK1oXO@pbVBpvGQ$?$5&|AskN*@$m~dQh#S7(9;ntq24V~^`dwS<|^0|md z!$f=Xr^6{Sxh-p%>{rE}9R>RR*#*vE~Q+4phN=k*irnqvR0kt8KFa+eUkKBQC`U7n>)M zbGkE48~r@DjvI>6ueH~oaHoK#H#h$Diynp;iRpPCqid^BH?WB;dmQ5B7k9<}EvFh` zP|0~;bB^WAWORdaYB`ZatlJx-T@iRLR_md^@56heyfNRs)DG=W z((mQ@^B2$4K?oTU5=F#6tVm`}-6GyE^=~eru3^F;jk5YTP7C>(O>IV;wAsOqaD43F z^PDWslv1M!Hp5;9!8Z6o!7PiqZ@G)2msh=@mlV!s}_qS1CVL7+U>49H) zgjdS?4lI07bgg@SK*i?W&XG$)=XT=j)ofQUZtlXhFp$epL+1xfxw7WYSX1uzLc?f& z1<%bBxKDe%w?F>X``M7~@1Fv?2L|5JzB&rF3Iw+fDJ&mn^bN8p1cQa|Rk%MULjIkN zQ|ENi>;Bem+c>73@1^pLy}5quC%Yl;w(vq)Z=cmNVPdv_z?O|x_y!pC$#?o5d_(N0 zfL-i7{3%IhpYEBGUd|Rfzsq*9Zz%0){JjF40tj-8@Q2AWLpJ-|;e6$ZdCZ$yjXxdY zXVTwo7uZ2bv^U9hbl>2aL3WLd#f|Db#P)x3%;Mf6)Px~>pF4>s$j_cFHye!l2XTW| z`{2V~HtccH8kcuz+5kC}=!9_FSCx&U)pU>Mxx1kmO2bT=6~VFZ1!ghPBLn z;HeNJ8iGIxXexSXxCpI}ALw*MD5ES;14$)Xp`=5;$Q$UE&FeAHRK~ z8~I~eUftF#2o)8c7-=^X6|6ajBG0I{g3}DYlO^d*2-dF;jdmY^-c+bF03V!xY3!b! zlCH#`(%x3f@+Yqe%bBye%mFeWXne`9v2nPKeV)T92i4bl~i4>S|@sQuBtVfs&6I016W&bGA@_tFh-K|`Ud4+STboJhk zJd!Z}tc@WG#Bw8tu73${)}WMqMqjea?+?H^F_KjwV8?EWblzgmHsIFTKD<$nFQbw{ zPmXruTk@n*`>HyFn}oH~xu$T7QRkfx{vwXL#B;R&Ec)28z1ryHy^%g-U`7O0Ucz$m z_-nqvr?frwQKM%eI33VM_I~$`O7cn8TQFamOLShnMp|A8MN+BUoKltVYSz-O?c`d& zKZCoa-2C&zIXX>)cP-V-k`pGI+`h{CbAV=}nirL?56N10JsW5A7PV@=&n#G<5XOv< zFvI`M(Zto&8Esc3t-r^fMf+95UyAlQn5HYmGQfz3$au0AkzBopIibc~pi~~e93i)f z!}Ugt@AK!;5|928sDKg;o)})wGb|BM+WyUPWTlxmTk8UxQa(3sk0xl)sv#!q=^JcW zux&kG4LZPS&hzNfZP{Xq3*i)!U5&V-bh%E);B`Wab%I%wu06rY(ho_kW1E63!kTnb ze>OMpyWh^Ye?DbQgtYT6sc7+a6Q|0lRW!Gm<9J>6-5hcn1_RN@mlTKt`*bBN ztz`_;Tnl?CqYQ}rhsHWNaLP)?M#|vh8vYGQAL26=(CL}}xu$H~Dn2pA_xnMIcQcp&1^9m^{HiAL_#(dLk&1HY(`fo()_dTsQ!5=%e ztjm0czHjOU;goe=1p!5-43lIfp586F-~c`Q#rBuw>@-9jI&S^GZcCp7Ex5Ah=Y;!@&Kel9Z+GYZnKj|J-j&n;fzG zMK>Jy*72=1H^rju4yy!#rgj@Fk;IIY5tTiKME;z4^s0wy|p%S7BXY4jyD;;&AvJfz}+sz z`7&lAgu~YBv2k6x2jH*Qysv#-{4l$K-J&+S{U%#Cs2JyqFY)Plsn2gKJIh5Y)s^q5 z_z-?z12KyqXjn~kE1tGuvyu>(xN&L3=h;tati3yn6urZTo7hR*!PalPXNFQ3$^#(y zsO?Y0L%Z1v>l{9IqTZ}@jajj{GuwyU{QXs*_(8Ms$6X8C?P!w{A1AvVqL_M*F+IqG zgEnsW8h;7CGyS;nbL5S=J$&GR5E7jbdwrB0TxNckP3P-pQo$p0SWVBk8X`3Z^t_27 zr=@gXY~$PY%dE{ZHemdNI*HG_7B2TNFD_Oyw*x&pxXaOX2N2Dwz8_mzL~ly(qbwt4KP)rG$%2FywpgxncL zb2s%n$&gDW-tVkj3KLh(t9+q=Y>JcYi+jZG-Cyav1iFBs;1LLG8kP(|hXXHbmg?6Hrq<^3!+ zkm3D1Cv_LG>)X=59-W#!9jaG~{ud9Z`_;8O7+gGevV%U&FdEKMz!Udx+J_n&7A$Oz zOHZjB6m*#glr4Ma38n7gME(ita-fdsSdHZ#dEJn(s~qrSx<;O;d>@Lmu^W%!pYmnk z&03JM`_}0tVV>uv8~o1+lS4{o=6n#`d&LEb1)KJ0-cQeu6%nYKq39I;;vcqWB^rBr zu5m7ve2PlG>zp{LQhXztygw=|C_J_T zZ{nXhzwVbkvn8X;t%9Fu7jP*Y#bh!5H=wL%kiK)Hvzmh7XKpe3hU!I3rSP0CMHx9O zu(YqL;Kqx5vApqbw&z4%R9?N2xv$eU>-qVGFCEE2{K3^@DJV+6^(Xg=>y#^(r{C>P z;#Mb->IH_)xHen1i;$zcN_bZUb1z@qbrTo)!r7_-YOq{UY3ebz)F+oV-Yt5`P};%7 z{}n!ScaA3L%7DfqiZ>hD!>oK+7aDzJ@6t{MgnN7(82pQYOz4p%iN@+PYmc=Ni4+JC z%!x8lZ02;8eY>Re*Co74aEwI&Szd^vW%U1&gE2l>TX=r49`)1#e1RTJGkJ@S7gNIm zW>Zppp#JLI@Zd;&{K2;taUajmfw;`&7Py{w`*}kCrMQe3$C4KM?cQ|HgKNJ1Z1GSD z^!r}AB1}!vPM+y}H-9GIBiM@ab>2PsK$01pi+{_JYE$1|69Q@6tR#0-Ld^102n=^M zF8W%CaK&qYP}L(zSRIjjd%R}}rRZ_NJ;N#ueFJ4G3|RJ`vl3*P&#p;fepO~QHIo@n z+h4EzI(aqR|4qwunJZfngUjPsj5-=77s<+tUcIMwC{3wyV?a8WnZ zk6bbtMv%%pvJ5zDX0A6E&*_eteB3<99}QS)G12*r<-z2edd%iE)<0&_F)L4abEiHr zZ?kuk^nW|-ycw<$KYFz^L2e+a=-4+pn|^nf)?&f#_4jqz1?einh02fz z%uQW_az>cupgL#t2y&LiNN3yi_<8q1WUrUxis1Oz)ATN;LBItwetiP2u^g0opO2YQ zznA>TxVg)1U^|B5h~`P*+gk#-IJGH04WC#gce4bmmu{ozIrBcRa7c@y0CaQc>#*Ln*cISEhu(SdPZ_cUe z_Tt7m84#S>V4PiqT=hw(Hl0Nf(!kcDa;s3c6!ZB}(V6X-f3$kfH0z$h*fmu0(ABo( zZaY4rMl%)rMzG;IZ$*`cirdGMoo;PSUpf>f1KH{oaw$iJ{`wOW}L; z!}XGnJ)0ko6b*_vc)$bxK0IcgB|_>-6ePNR&z2K%u#dETBN3nAVP+jnf9+`u>E;!X zVx}k^CeSNU8fHDPm(X`^taGvQpqIH9$3u0M5MSj)|2=Tpg*%e}9{8u?&#PnEyy%7e7`o1{Mz=iC|KI<&y^Sqlkh zejyNd->iRy@2UE=mkxf!SDB8rGE&Jwe1zbn?a*XTllJ`P^+r7I+3FZch158a*%2>b3Qpyz(|LptkcRIB!#f#fZ;c-pJRl(IjaNLWGLfWp84+ z>115V5z8kva%t{muGJoR*c(IDEK+#esbw^cvzUzuTR1Ei9TO~u~dxxx)( zGhP}s+tQ^1>zcGlkZ6g7#T)h^vc9l#& zAKxSGuIu|!Osh6p*j(fJOeHcb`z+ns&*SRs(r?j-jbs00huEG!<%p+dE;@KvFT0cC zYIh{6Rz+?HK$rReN|J8gW0v#{i9ZMV_GO+=RU!^!5?CBU2(I?>;#R5WiCdY`dH0rs zJ|~rSPNbv)rG7ynnU-tm6T*Y6prpo<$TTqR`3#d96n63qHg@^Y zTc>VsmN(>IH29E;Cb`YQ#;K9+&{s+E<@LKU`s9vfu#TO{RN62dv2zU&fX9MpcXo~# zN_OL4r*t-SC|~ocVK?Eh1cE@u7RdI*C(q897FVImdx^j8^L=#3U43~An?5Cg3fCsJ zh!^SL?_G7l?IrXH{EP)5nMKRl$8FM5fOVC4hCf~Tsdte8Q$EX(Yz(%zot=`s`K*K} zBOKt5j_~gd^FC2qEpse2KGZW+<>@6KhN%O}3i9xPuwOPC;oRrba|7nksPK0lgMLn> zbL^KeNZs`*bOAthjVV>Fd=7Fe;w5O0Wf+YvO`T*NtQ&4~9Eh`Ns#bn?=w_pugj$Wb zW1fi&`6S`Ud^8H>2Z~utY`Y?R`Ro42KnnitQ4kzzc>d4?KFD^ebeadCuO+K?LHGHQ5k^ zL8)Ftt=_uEqqYnenIfCY#1nC$^rlIrA6j5nQzd`2g#-OM%{=>mhsH6+P~1KF1}bovXv zL**_zk!7Anm>xyU;tcvIRp}jU_QbLCTi1+0*e19C_IavW zbPR~{^QEBW%XLnSa`b`y+h?cp{5ZP6P57hbQQ_$0S-9AZYR`HRd$m-Np$}JvQ)F(Z ze@QB`Z&X=7lf(DLGZB>%+#8no(~)em-w(np4e|!3k`%x8dWU?FVt5XA&#q}LZs74G z{>dmgraAc`QCnk|oCl{m_aSbxBHb@$O0<6#y+{o4ue|ddfPHq7cV%IE(Mx90HuA9M z^#{O6vMPzR-?iAXFG&gXrf*Z{i4Z>~O{!8(UHg_zD`uEG|DoM#&{F?II$XgR+fx?O z@Iy%V$|1ooQ(F1?PecEPv072mG~oz`Jh|f|<>?M(aR%+7cB`r1Ck(zHL?zxJ->(|! zw%^M2Jj@%uDRTZB*1^?o4cto*I0bUs;iOxVp>Szyoe<21vB_;IfM%y%~36LRn>d-I3SWoR(zb8=%29C zH_is$^YdBJBqCT(EZLp%g?#NjAP8Zc$$Er$u}<)h=E_1Y6eVt}s(Xiy1A8hm@YbSv z(DjSD-<}C9yVaLv0_c?*m>hwe{sJvg6VY?Sd&GI!nwone;*I+$pzGr+LdU=u zL&y&Fe-GIpW*Uw9U@f3$Wa3&1MFy3~Yam6;Z&xIEvW<6eAs$BP;%F|E%)L++G9RK~ z7SbcO=p=6D&jyOWs7;X{HZ)&M@uKsV6QQ_}0T$;)@_e4aJ66e6GN*Y2sCfBY2M{Ky zeU&I#V8C=Z3u=Fdzk{pgN-_NyApW?n(v&EY-|sheMMSz> z;-!uQY8i+8I!saYw?<}6qF1NzLcOL#U?F0#9E zho1?tpZdwQNWk!=GD5%j^?^QY{NhG4j1W$YEO5R2V>ICk!fw|1jYM~w7t6y^uI{!f z7z}eOmy0EJ6g;6C&AOT?AHE74ljs2)zJgLq=mHamN=PoOx<7 znX}s=0u%0v1;`<3EyIKwf;VF%Zn5OioU+sE`ZL_UYLtMrjtX5K$8UhzF>;OX-^Y&l0D^Oy_0!>t~nX%sV>nQpL&PP9_bksm;>*_k2(CAk( z&fWr*XgPGD>gqJmf;;$xSp;+mXw5#8o$%gSMl!%ZXCQyo`Ihaj_OEZ&ohd%`Z(h~% zfy|EzxD7GzQ0%~8cqETzdW2Ng7;d?y{G+eWAg!y-6@A&wT1Mf>BIPKintYFdo~NfD z-r10HfOpc@EY~aP9N*M}N81liJ)O3{Oa(@B;{1*&$y)sKeRMHGg}px37n8I>0UyPR zxOPUCQzZW_0Z(X8*VCtp_|}q!h16U;Q^RPbM83Xw94E3nD0L9hhl}zB`R22$QAK{+ z-h#8CWj}qjH=KuE56V^P11W)x@|$8Pk(n`WlL^~p9;y|anjWkPb|yO|lcKWo0Bte# zTMB>HQRimDT%S9{aR*Ikvvc(2rzqq>x=%?0tIDcFB@5V&#c1@rz%3#}J|O7`Yt?)7 z=?3n*L{yF;)T7o0gsbZOQ%X9%w z*a?L#$2sy@sRCtEV4-pq2mSWYDMlbVKv~LMu?=_CKSJ!KJ6>~9my~l%Y~OnGXhEmQ zqiRGjIjbO6`tWOQ7b}QfX?#T|koGtYmUgnTll7uljm?2*NpEP-!|u1B#=owIPq?U+ zpW;qKdn6)`%Kn+V^K6?>S{AcAwu(J$>1^(ii&kDJT)Hy$5kx=M=?<4F-2Et*6>T#4%0EN2Y*$Z5y>-WV zjp!{a1W0r^z%)d4&P$SqhZ(*q&<&ZU;+c^V*eb^z1S6QfJfHZwp7xmd-eb2VSaZ@q+ zFxgbMijAHKSv`a4Q>jRD4E7e}7)e^_U0mHSUhr$KI+2bmo~_8#yGoVFXs8{BQQ_4Z zcsWx6PvNHXT4`mup~A{zx=A&^GqY*;!?HxvMq$#gb`?O?=pI}b%}R^jVb9Nu>kh#S zlPObgXzRb56fU2%`1qUY(iWaOuq|nKH^dlC%^T6!JQ}+K2#oVY*BS26MC!$m-Lo?Z z3KczE{XQ`D z^$KYNw$3DvL(K1@2YL~Whg}1zC5pfIe>?H^pXLTJUmY9aF}33(l^PrTzx4`E1vs*) zk|q~i3$D+d*&Z#yM4!G0?;XYJ%u%V60frjK{QrCWCxid=;QyIx;73Vhxph{D>sq4> zBaa3Ert+;(u0>OovuV~oLDZ`BW-G$GMsDO_>MZo|C{Whi-_+FK@~{R7HoUcqY0jF+ z83BU~lzE`jWh6(DMQs_jg>lS_7n4s|%VQfIs>jV~-E7YXCC|1(MH_|qmfO}@4o_2y zDt2YIV`Bv`fqyJN_(@^V=wZ1?0m9` z(Zjg%FhYU~nt0Ue-2R~^_`c8dja>${T{6wnt=~v9=GqXKnIaYK25*~E51^H-KX2?Z zhxBs5+QqA0NZ3Fc9%s5-0RT-0RM8U4)l?s#(<6tzhN6hlmxe@!*3r&Q1JtZa`f zXMHqY`37o>f!DUZtCEarN9O0$ll3VLHY=)G`eMUYFa|G-bBO=-Is@P>EY3F&rg^DE z>l+phOVMn!85QH}xL9&?>5L41U1?YgHID8E>VpYSi@ewgQxyC=2?hazkbjOo0EqdN#(tBdYDfT zjDzeFM>C_vTYV0U%>8}&&Ij)6W^535RyDv@@?ll~lV!L8<#4oVLR5$S5&Xa@+%@rd zJ5o-GV~tM1vz_aQTciZ=P<4N#jD91@PF%bmluS@z{FC_mpwf-QUn8*6io;Tb3 z`?425BnVbG7+2@mb8$UN!Lt)qUa)iox){s>m(@8t=R?#V0y)^ey_M}#L-X~R%)_rf zIImyDiK~ZO5C1l@D+>^>ZUajl80Og|0#TtoF-xN3)yvk$b2nH@kH;3wWqmK7b^rcZ z72*(Z)k6^2h)AfLcc=B`tC9Hj^w`rAS<7NpijlEjiBv5vAaNku>|(HPJ})UJtT0Rr zGE5YatlLXbbYWP(2WX-y3&j5PLu?3jL&1fKScf8EYF}?ei)Rzf3nh4tCr!u^R9vT_ zCEuDjqb@$TwKFHP!cAN0m;6`Ub$Ee4?K!K#VZY{a=Gvg}qW*_TO=9Avxr@uz59SHs z1y+#vNr`?%$;~mBqS$H;kbZ-9o#)F&&WtgwKnB2>=H?>td>fE_r=A+GP=!7w+@BVy z><`bqyNR;Sp~mlh>XMvJYTkXwowQ3rp~AdgYgX)1;5z73Tdz7@4UQR#7xXC*w(>1Y6TV z@YU9aLGAD(@ApJN$@`wj{@Jr@q`|SAo?a$@QD=+zROqc?9~7?|?R?zs2gzyrN*v z{i*l9H3nRv?C%oNy?V+AheRoYUR$VzGSgog+EN28-U(2F7_qrX%bw9lzK9Np>aFSfNDJ ztP{Od5xP(5+;%f7r(&NHC+ZJKWWRFh?kbYI@*akL6rbK#UI7%`*0vjytM1aL6ip>s zQmDT97>B`FjU>>0_habr6C3)JQWz}7lIMZm#EUbO3AM%c#Iw2UB$UgKS+A_dPoPkL zd&_?H67{p>DVHF@nG-$GU3ssxV5WA$Zp4>Q8Ilrkr;6`iRj7gUf##D*F;?Fu>}}6` zTS?zE0#;>qYPEKt5@yByb;Ei+wf;{@zxKg!WR&qOc$LPto%zr_CuwZq?6E{?r%giv z_H56gngwL?>FcR0|Jh($^9-6)=0-L>1O)hHMpiIpd?Wj9S)QCf)}EB>qkf)wHNHnm ziZQ^95`>ki3ivsW^PcpYo!;=e_&DPOzprd{DI+lld`#0%$6^EMue_ZX3v$1?M(ait zBVW5X;$)MF*l#``<-DqDedOFBPyp$A5#}D#=isq}-hB^W(J(SCbyeXSa{@6QV97v0 zVm$!8(UW-;C+K!6J&{JuhOFoJjZpFa6xQ+Oi= z^klU_9jnG(^Jh#{78F_Uwtffb-P4~3k-|Imvz9`%JYQb6TLb-tH8y28ggWxSJ-lIF zYIZ~;BV&oXhiJmwPj%OHuxE2`?#zsef;XGSR_sH{nxzs z-CoPNv#Z8Pyq8KDRlklzh$%N~2_0pqnsB(}1Ic58Io4$Z%ily2WordLqY9b_E+8@> z!_s+D+}#TU$$%gmR7oWaTbJP=)6HP;OIcSZ*PfW~8@?c1zvByv(i8N{g8Nidd3#ql zQ{ZJ|9)cwATU^lv)2I}#2UVgD|8!{Pg50CzUrVI%n9e6QsrcVYvLNzWgLO(^?~cLxKE~?32w7&U0J=Td_ky&G0(JhVI>S2X}w{4Mu# zO!(sTY?f_&yq%`bDZ1e3YnHKsPJdA~9yJujX_n>e%Kr^W__GSfU2X%*4%9>{*)?nb zN+P#nsWN=e=b2l)e%_d34|Eehc%8BNSHmf|`#iEmyv;KOXbF{YfyBQ#zoVdY;O2A9 zwE8G+O2oMcZkx;$1KlhIbuss~YrE~So;J6v}v98R01X+sO;jXa;Ch*quZJJ z%}cJ@2V#x&_jm9kah;S8zUenO&xD8F*0CNd*tsbnD005m-OH*30*QvrmAha+fiX-R9dzv**LH^LYSLR(U}|@eZ{HzZe9L=9hH^5(?xu=vL5uM)@DjnnNjd9?Wnk%UY) zhBYIFM-Xv$Zrf+F>SRxF_S#PzCbw3X80Yi+*`5+UV!E?@?c%HKOh5BRAg{W?VkNDi=Y0Jo1wFkAouO0ef`YVv%N8-w@ciExhH#sWZMBv?K zVw&6Y7_Ga?0N!+Y-CYqAk!XzZXbcZB6nGZ_J7BQvTbA-1cnWMXH5gKN9^W9l4Ly5! z`kJaWS8+IhZtws$cO#>02WZNSe;?W$WxH(`)WoTJAa7-}eE99b<$>BY;Qo-kNeP6?14&`<2z%x0$fPaqM ze0mU2yr}NIVO}C#a}0aH9hbIE^^3a78m~a3ORCr$Nt_H=!3vPDO4d|VBtld^pOKH& zOkghBn>{H@A@;M6rsxzDiMO@o9WCpWhYlS7)i&&QFW&&o&>vvtvzgUYlg0=L10lf! zWE?g0JmsV93{Rg^gYk)8nEfsu#(o#Qcu=0xBb@?rr)wHlip=qBvhrWQBYA2xTAqIs zg&)d6YBZrcDq(pK*o#D}CKw2S{P&-qYn|OXZBpONJ%;D21a_ZS6l2ciqU?0o!8GfV zI{jQRP_JJ2FGCiiHlQ7miDJ9?l|g?ryvjh~U*cj7fYcPM5EnIn*{;Q$`_ZeC$d&e+ z8+Hmi@P_D zLJT?4z2c=uX-1Y0hs+GG%xXUWd^T^X%@A=)IqN)n6w8z!j@r9^sbScNaXTpQ=Jtry zbG>GWnQO6YEQwBA?AV%-iy_o}#!^2w&tI8y0_#8;U0~J7!8k`L2V|WKlnDa!CWo>! z8bGgPi786Rb(etFt%O>RY3fuFtW&u8Z-^-}Kjh}0Ve9$FPEB@PK%dxhhB<9a45O%Jg83d=DQ|a<+ zUJ44dl|S-y^_&W`s_s8ry^F2~d(PP)XZ-^`w)*?lQ47(w_WoO9>yorPXXr;)(KHC+ z2mGqBhMw^yUcjWZ#+J-_8hmYb`>k_-xVW-iw&ZG3O-)%xI|I_P=IP-8Uy#!`TYP3HZCRq-1ORzWwbNn?1D#^RZ^f42y zLG*|TOG0q4B~7Y83i`V69}#enrU^u$HaTybcU@O+3+hMCQ;Wry z7g=ipzu0`rPRq;eJi4yRdEM+99YxD8e-Z0C67Uz2C z%rI(;moL#q)-BjR2`jh#V9mPOO$f>6{#Ucxs%f_AS!(Om(cqbkubXT-<5Tv=R9VMg z)%~b>O+rwq{AnY}p!A2tx25g9SJUdyv)EO>S9AYXtdl=w?{)$Xzc0J_0qZ*K@*&SUui1rvcWp`%0Wf4@fC!?Hy6x^qUoE8QS#cwdyTAY9lI7Y4i6JR};hOZ;+$RH4< zIbW79D_pIDs)KrLBD?J@LZDB$DikvS6fAa{`e&ZjlMjCa$Us4AC&|)16s9H`W7$Gu z)9BU7hn~h zv{(|e6}bvzSvbMTj_#YtlLFUv}jr#GQR=5s%yWOR|Ns@W}zA!A>huzc^%lhS-mmNLc_ z=fwzK?AanFT$#37W`cu#62rMA&1?k0HLMAkWzS#Dv!yFc1W^=f(wF!_i1oHkc1u0SSDb9EXmh{ z#yj;PpBELeWH^iRY!#$1M&!l!^||p@rp$9m32w)RDs=bjr8c)NTb5`Cg>L`Jo?+z%)S{fAJV_y6&oe@47@M$>Cn z^lwYPdJaQ-CmNo&E{a{f*GtB>?W<_}*6S;M$d(Wzhz3vc68p$psyl29(1kFGRhmoWf+mjxxCaLwwJLyGghe_f6HH*#Zn&$RMkG39d+ zxsiF_Tn>LG+rGTP{CgpX;iD`pLiAe^u`vhNl$M8EgxY@ zBJGu5CC#OmbfERUOtP+8t`&+nJ30jg`#k?!IZ((9bzhIAf4?`>pk>D@SuBM*$BE_6 z_eMM7Vr<|00glV`HFMsdOz!8ne&TG**49!meCsl*IM0k}n@o_V3hkBBC~T4Hd5_UD zuIy3(Hu+YMN~Iou=BFeP>;liiysqCWvx$qLvUnR&^LhE*BO6C6Q-toG1Ejv^7boo+ zWBPHDXs2OS>vI`mqxBxxkaXY4(whGBRR zD5?FAWPulK5@%Z+0K>c~FL4Bgd9PZaqSQBKfe!(^3W?hW2aF7jXc%P?slfs^Bz~|; zYdBmCDkU`~=V8}gDGN*FJOq$I37plNyy1p-COG&A7z@prIU92aXZ2GWWmU+oP4JP@E54z{?&I+lgIpCY<*Ml&k`O6vGF(EC1#~V#9?p`{%3kz|9_@fclUe5Ez;3eQy)xzXZx@FKO37*k zjT#dt5Pb#YcT0o(5M`@*cw!yG1J)EGvRDNXy+^{3UD35@smX!_6SL_t^joIpVt1WS z7w%K+i!*dGAhdjqidc4M8e`NCq2NEXEZ`Gx>yH;O6u>6J3^Gop}*sdQe#ZGPc{_OmEosy_p7EhU3J!K6N!B=QtZWIwG zrk9m~?wI5i7b0O!oD`9p0d)ok#5hy&`5I|JS)vf_t|8?Kum3gD*-a(ovH+UEPsfA|~y(&>JK;4#bFc_e60h#NYfs}S6>V$E~xYTeVV zT;=_t?#}H4Ja8qCcZRMhwHQR14UU;`+&Dl@!o(^p7V4fwHF_^>E~xA?TBk4@TD?tD@g^4qEHyT+@DS$np> z=iUe1^i6HXW(U6IZ*9Gh`}hg}RltJz+ddVKTfzuo-1J1o)#3YI8)nx7Bd;KlYCDo@ z*v%|B?Z*>%>=YH({;w@6?yu8Z4{YO_+#tY|8ktPNkZ&l;T~d-l~^)_rwCf3@pP$3wDuiLdDV55XM1bh3bHD~2!e zWgeT|XNFVPJ&?&p*1;)vyp_UxDA(<`UaSj~xMDk1ffy{VQ&Aw4UP#c>*<+UeUlTaN znshDHc~wflW@sDH?jq?uB6GPcggcWY?-j5B>H=-vvbE<~nwt~hP{nTU}=e>cQV)LTywHm-zb{K$3!cqzc} z9uuhs9b7rFJSm?Lb9Ge4h$iY0LW|aw_1i`_Q>qc%F?)*k^50O$lw_Hknrbi3WEw|=orp`%(KZg>wYkOTQ zx626xBj#$Rh6cUY&1ZVj^XT14)zWZ-RW84wHt&~H;sv+LZef-P|4HQtDqbdJko=5M z$$yRA3x42eTmFq>jKIbC>C>A;<9hkmVE_#Ead4ZV@_VR>weq<%z74{?keORk3RrOe zwXkCQ^xBj>p-}EVs|;+`kHudm9vCP-oE?{0pX(e0k;4#VEH}v`fj_>xfWOMlmjcKz z+1E-06+&r8QmK==yPeZm@Kg}{(&tb-A9M{~A4&xASxPCXVVyqai`9K^k~TIU3xN0w z7mi)S*og%~F`~8bvxU*?<_&cZuTvX$DH$sjD_$3OkhqL}Xj@DyVXb`Dua+|A1ftL@BD=JorVSnt=19{vyC_`w_(FX&iS>}hD%ty?b@-ld2ee1;@k3}^F z2&D;2+1Uj$bfb)VZYpn2xPp)bw-NL_sT!yh*^e~erw+AkeIlRmmpT#!h2dV$OcSL2 zGUJ)k6@I9Hh<&D^3AR4ABtLqz?td6Jdv|VlLUrmE*XK}Q@!Fr&`^^BxXc(@@DT@02 zBmg@Q^#m=#Jkkl$(!;Q-&UBwY40U$&s~0kdG$#;%Iq1)d9gvYC(#u5pwL2i{Tk9SSs`)-hDsOJz z=>8r+==*IC6MP=@JiU85#ZIV=ms0FkX7NTesFFVAey5e=jHlREQl0Y;F+{p26hVG)g5CfLo!+sl0(N3LmV&D} zZB+mdcL*Z^ws6951409f6( z6mPp}*-Y$v^S;OcxNJRgl6$GN@{L&Hq;;9;WpMH7%gcVp&bS*l|E<|n5qY#~q5t** zCz!^-xDpsh z9&O}&Z<{hNAb*C2EJC%crQJBv`-^=t0s7y1EOcg1eBN;SmL{8s;12Q?Q+u1K+f53%tsnV zISHw_SsJ`C-Aepoay^U1gffVheC(SKyHM$|*hTpgg^OeA z>hY`Ianv|V|8`&jgyXX`DJy7qZImgc8ta{)eDrYVYfc|?%8=fpmd|2m?of*6Y6hV*1o<`FEH~S1x-Y0wUiRr z4oJm9$L?QIF6rWf=k)?&A5;9ecqF)FA2+YvsIj171nc5e#!^=-Oi|kJ3pFZY^@*j- z6>=3WBhvs-;5twow$G!gD^ukOb0*JYWbRKY=WX|T6d@c^jyjrq=4dghxk}^cltk>8 z+jzdL8dh5Z?@^E)wIk~6xcilw9<346YG8-`F)S@4K5P2~4`kAq6%b(DPS_}*i-!%k z<)BC6u_rAYRWaFvOOa578+ao4X@dMPO(KjkmoN7yRKG!I3gC`p)|KHVIL9{#Sh%a{ z$l8?P-@_R6M+>B%FIqS)(36M&ay68pm}~Wv%MqvA2yE-@OY%pkPd36llm+LJ2#Q%^9J{T-JhODgBCgeM6v; zN^Xi66Oq2d+i+6M6D^yLEF28qZ4hv-7<6$7b{2F?Zo>RZb)fyD`+E3o`k6Nu6gkRC zvJC$hP+Dp2TFBmkmCPhN$~QO%nFflmx#9q_{aJCMhl8X3)}P&)6fjaE8HXnQSqFzc zL>IQo8=sDKt$Itdt?N2KH<~CrJM$B1Ewz1C$5Yy`Lob%gC5aR?Painp*;2|R7*IO7^hjNeY{3#PM?%)W|M;)hmL52S#8mL^xBSe81H zl3NOyM|q8xn=Y}_+=leR&0&|;aWGV8HSLNhN5}Zr?>Ot`TeoqyH}wJGo8s#?x+gRm zjN317cV%1M_#~yy*k;i4?m?ncca#-J8JPgKOYjVgdx*);J}qz%K0LG9vs8CX)1dba zubqjgKj~>n=XO)<_>veos(6Sb(A0+HsnGf@iI=3Tin@fwl(zN>Vc;+w+bWTX&hu4q z5fEfb*h>UV*F_)uL=`3AAx^)uR_v5js%0))jK4(N5u@ZT85j-HxF(?%yh<0p_dp~T zj;I+aZtDyd9l7>!!bd>HuXy79){Y-JUCNbl44kBrxWLxeP|Jocp=!%~1PQhwNEZ3|*#QXZ&_Cs~Ex!9% znDiuDvO@25JXgEhVjr43&%O zy0G!OWD>oYr~Q6&O0TdHCyK=iS&s%Hvil{t6lA0kOcE~uc>L9kLCX`mQw zzkw0IgRC;p6e^Q!EO6dr-c)Nnol&(sJLjbvOK1~(>&20^@o)sSAS9jLZV=k|X->cW zq-YtidmYu4$ zUXdvQdqh?po!Lxc7q zHY55bqYtr$y~BCfe7#cZ#MrjKHukvwFshEIhWD-50!lp~DqUkY4vWdz-jl_A#gi3l zseAqT4VQ=~)rgfkvXXa;lxTjs40b}?EsBVWKJcTnG`!>YA7~{I4ZGzAB$f5~dvzZm z^s>3;M+7dFBCSi0+1iH5@13coVVB0BZBbv2uK4Om{N(*hjy|5r>okZ`a|$>&uLnvy zLXxXZ*bKMQXwExCb?<>6)$3jrxNW9!0#&}Ie@(w3BW@UG86Xo`8^$6ON*bsreIvPb zPRl~QR9}>@*CrajJaTQoW-sarhIui|kb~pK?N3coTpjSPN@PIJsb}fqjua{kim6$n zYn+5t>B2U3;8{tJqy0w*R}}msied7g&TYalO7QxAzHr_=(204{8>7u?ns)SXz-ZpN z+zD5ekK?_F-Y?syY7u+K->M2$S9N6cI-XroV?=K4`%cz!AB`jrR1qgX30NP3_MX>>0Nzou414IL(^uI!cy(S>ZdVc1) zEqEYsms{f+7o(?^!!1qD7T$(w^`LZ!iT4J&m~!FLkAZ3lUdU6~@1Eu;BzU0!Oh3;W zW}K_8kFOHBw!3*QF!aSXA86wEJ8$da5jg@8pA*v`Jf%eh{j*yP)eC|nBe7adjLh)w zT~&25?49|xUA`lQY2jwc3o=kvYe>Nl6T} z;gDR=&zK>>miuEudVi*OwFipc)kuobOT&$Iedb8*nge*56*Yj99)!kzq#^ug(G;-3 zqrxL8-GYAE*ZoUGK0~%`owsuChwppwo&+Y*bLjj#|8UQ>w4!4#AA2$dA92F4!d%X1 zIcyOKxeCm(!KhsYPt9oY2oSX10xkU_z!m7ahBuuNsZF_ek#H%h?Rw`e zAnyB1y%H14Q!taConpXjE8y)u^Xk6A2{?;1~9Y2@bwGb(x>{_Tpz=^1rf0e?W z#~_d{^zmi_;5%JB!3C9;`2((0pfmjU&shwF@dMaFD2GF+bUXj*9uyAjUr1$6CzQyE zEHEn{za1DgorP>fDmR`wEpBGD$2u|?!0}3oi-_&oXgIyLsY*%W&4Ra^HsPwfft5CQ znixMv9Dyrxzho2OF|`^JvZ&13AIsiYo|$)C?^F~Q&hh}Jj=7B-e_jDB?s>+#Cv8mBC8Qcgz(n?`yQYSMjW{82ET^JC zKjzno%g;Ey*31#LI_Be3>xfxUG3nX+z_)@1G9~G`)$bsfRj_w4qIStRNBSssX!R;$ zO5PcTK7=uY$}7{2a&DGqrDzVo~v_udE>{$ePOvh7Y!|P$Wv0 zqw?4a;vE@wJ@eF8xP}DaBK-Bwws1KVx2{;Wzdz(H_28pmyMWKVa+J+Zzk~K~q10y> zp;$V1d9!SXQFZbv!@5OSa3d@yLoX-JVE0T01sA!?eHujU6$`+yH*cL7t_qib37pk? zLv{`Beq*BKnV(m{AObms*%X?C%C<{iqAZFY6yP(QDaiRxclV!LF$|QqF4qCg*UFH= z@0l<`N?I`4%1K7(jVs4&O2t{h(~~zw!l^uiDFMA|x@Mmu#*w2;Cb1It(U5pZ>U359 zPv+t_&q@o+@J;Z>B;R6|CEs9vuOU*9@fUq^ljAb5LqXSSqF_D*&A51Cc)id>&&(`( zks2Lr$;E*qD$W(SdGE>vv)KqbsXVh9{+|V* zE8N<)l9m`d5lyXei1p!=MZXBN*jHmnehOSj{cIG#JD*9z+htFuuHO)(vdAvd^}5NJ zJjJZky?I@kfYhujfGs?^%D8wL$fKKFv((JaizY*ipIj9Y({>zB998?O2RI<0%yEaq zpAwi60(5UE3FUlK=UZk6MX&=(U*i5<9}#lsy{wG%=_&}Tl#L1|;IUDJ7zb(4(w$jD zn{PC9X(%-QgRJNU1}H;Oul;IKt@It&ah)OX4Ss05yt~YB>pR14+sS9m_(MJrG%$Sp zl$_ao-1W9I(U_Tc?s{_xPL;X>-Vr1>lWHODqc`FfbgvXmBVKEI8>5SP1g{zl=>d#A zw*c@zu8h7H+1N_WrH?eGOaJphpIA5@JbL*`aAZX-0@VVo=tKz>@kMlCPUGMi* z=L|+c2TH2y$5Fg6*zwLM9u`hNf9 zw)?vRlJ$z+YdFl{eztkz{NhXfsbW}j9vh*RY{?YnuR_$-t#$QSIu@5*26M<85Mmd3 z!e93y1wWkW?K#GbtcYNngBjT5q7p2paks?v@lQ~w?I41wdGvBj#(M;*ulP8*@@Nd} z0IxaoBScQWePAeV^{`|=`>=?)#v668BN)uQGXTaC-A25Rr7*%)$m}*u6h@D#kIx?L z7Nxb9838^HesQyCW)UMKlZ?r0-0vjQoeEq321lM}em-4&Y4bHFmuwBM@Z!-$s%WRX z6!6EL&A&U^d9e{8JU4@)LW`nv<~y@##AMx!aAU1tb}G+BQT02e?Mii^5);?uU^3^U zrvR=Fao2lpnBVgNpMqCROo49hol70WSkEdvJPS5AkmcCRvTsQNVCMr|z5LYQz4)8n~IuhXFZiXshF!1Neaz`qa@ zvMG_0uv~ZDQtH+j9@>1EhokyuOYn`+`9^>bKa10;oc>Ft?TP>t{mq!^{3a*PLgRDK zOZ(n4!hwf+iaKCxBnGpx-hQ+L^#R3|J4=G=P2749Om60*jh%j}o%XNm#N4dp0k7US ztL5fB+x#{EbUR8YAAA9V(J1W8>*AV-I00k0qB6T?9z$3H9+3Ne8VPMy9591@SB$+c z)bYDt0;29wC~C+6+{QazVc_(RKJ&sGV|#C zP1-C+O%B#I6&ZDu+nHIbUAP4&>{FbJI(tH~{^O{wqleWt6xcq)zSZ_>EKLKiGG>G!xbGcB-^ z1&B_2vt8~daZRg^o0H6EckVWmP?78gfm@;nY-Qx7;?vz0W>#$YO0$<%>c7q^$ZsHT6x7+( zn!JCu-`|DpjZ|!b^@U|hnd-F?Rs*^|w{i5ZAKfsI9v^*)QPBay_ia*@?kq)_ekppN+ZiCzj2c`d~a#+*S`5aF{%9P+(}bAh1ND2x|&b z5wZcn0@@e=K@9lvBokXYn$Dg6=N=siwPtPmjepNFj9qt$O!OV4{EvBFm)2JcHqCk= z<{@jD@<&y2&5WJRb`Fn`CW9(E+z?V0e7Il(#^3qiW@oe0>)@sSKy!Yce6<&Jl~EnyV0>{CaND_QO72 zayr{lk)CFyu7BUMB!!;6dI{g|iI?!A`CJV&(9Ekx^zmxCWYMv=ZlN?cBF$|S+4ToF zC9+ggi;QeRYc4;9!lb173^wjxoD-8;YtHSZSFp{xmkp>mBRMxRn#0cuw1R9K7maUE zFxp0~Onan=4nTFa&7)C-DD#Xav$sK+e{ZQoMlN+D_WBI$anObVJXI%Y47 z;ik z2L146NQG8bWxip^YgeS!BGuf#5TK*$ZysH`tV6muB8M5`H!B4C7(`bcsh^8?bu6Ok zdpu{jp)!A!WiECIGrop3@*gRBkgI$BJ&FfPQG4Why+l$^V$uP-lPli?KqhXpWvP?n6IsLSZ!w_zt^0k?I^<+-@cz{fS zC-Wt3TW#OV%jrL_Fe8PF!0$2CNPRjbU8-GVmy4+!EO90Ad7j!%*H6ediih+qIp+LG z2&_Kxd-9e1Ja!{M(3C_NhewbYs)YXu4ZuPOpwSlNQ_`0)qjxnFWngAA<;HD2E0FFW z`h$BLI2k~Bpj|u6lI=K3%9+;f3Hx72>%s5dw>*Yj0>hralmP>Uj_(H9ZV-3PJAF6R z$Ws9|9%wuoHRPanNNz*#z>>QU! zDaK?6r;p<|YO)>6E~1z6+OD0pD#-CyJLSuIq2rezTSKK2Mpr>af!XDQGSu{_)!QKu ztvN^PU8=PROr(0CnhV#M1P@~~=P0V8e$DDc3}WBh8IhldsEJ?GAf29a2r~o{%0zVQ z73Z^u@9O-9Aj2pcgh+`NHF|@z-6m#B!k?5N$y#t>Feo00g{3m6XW)gc+h*DJ&;oOd zh5e+hNw)~m=kdlfZRtDT&%`B95;Ii0(b~St8yK6$eN`S}N(FmBQokbT$F8a4SfTxL zH5kkG9%=$NULgi zWr!FHD6L%pdJ815Hf3^`z(@Le`%>6gtl43Kpd19>Ses{kF+`?CK9j1h-{Q=5Rk|h> z7RVw-HvAx!;ksk`e3&w+pFT!|;?v>Nu@v@Zy_$}LhHLW}7x+b{b06s9nhkz|DfO;P zUNKY}wpDw5EU!r!=}XIam!L1Vzz`u6vNL`=P1d5a!D^JH#cUs<-r}RT8w5>xmgjw< zV;@Xg*D?_a_-fN}LrSy6YV%Ia+Eb;ctC-a~BLjN~u}F~3V3&Hhw`VX z4%gN;sCE%8Sgltq18vz~uz4tcIvQx{jr|yi8gC>#!w$EEyozE*2g@Vy?7*RwA>UfU ze=i$PKBqWSTYld)Z08Gq|1_Z{s@c!Inp`uuZ?W?=s{gc^Y;6ienSssL{Ql1}Tbfy( zRYdu_G)%0v{aQbjx^GszXl)k%O`MvC5VfLlI181@uGBEQb@O#2)AJDIzQp&p;U)=V z`<4|mzcL?=g(U|S+e~>P*Y)dP=G_iLn2z^kU8@X0r3xTYW(ZV^v!6X$!}={Jd#_63o9N|<176Pz)Um0>ZyO)R~hGHnRR%p&)^`i9BYyRcyGO}Q*j{?T8DEGs(7^)Pict40# zJ1CRp&o#L%r0iFTQ3W^3N)Nn9e#zht!6uLUC0K_t!~0w<^_4rzC-VDTE=|PFlFnzw z<@*Gme(hY_WA9!ldBDZ2Ynu-Sa|f8;(M~zZrqA9)*A2mve%DpU1kaNCk7}sAR%tK- zqG&Q%V9?w3ej?@TyY@4@kBska0rXcMLyR%7*TnEw=jGrT$r?&!LEbk+UN7cIG>baP zKo=#_uu`cyv-c-BIh*7Etp%;_M2sMXvacDu)}qRW7Th<|aW(GrB0L^1H^%ktb_2v4lMp)a{nvlniPP*!%&yG!wB2)|BJ z)jW@Z+FHz`!a3GxLi2w&Qo_;*`b^+Dkm0O^Bq986D{W^r z41Dh&3LfQ#D?Oj(g7F_TmnnszTl1FX`~gkWV85uho?pM{9}&6KCz>l#Z76+>{f_`t z3UA!mC%<3+NZc9iL2w(}oW(+66Gs(B9km-o>>f7BX?@gr8(p`j4aL!%=WlYIuPw!a zXu)dJ*NjK;n}ty%+93f<&52rA%X(TkmO_XRe+k%{AzW)D&4+kKdlOx>qv@MwEH&KS zOj>xiFMKb~QupSTw}!6R?WHP7M@5!K7C%cp8aVU-*DJ*ox%xM8*~_tPonJL}UWw6b z*AipuKbwgi?TELBMxj$#?tfd<4suufL2Qr*r0%B>ucb*4At@t;N;Hkxv}jWD$pYUu z!)I1nE*rZyIsZM~sgy^cFFW&P3}KvtoFN1mNc!7sJ?mi%B+va!ZTi{}hQ9 zhQ{ikY46X(O2?eN$=VhDLpAj8-4hNw?95XGMC`9Pu?>nu{tz^MdsGxY;kofSRT!p* zMkL{W|2hT~YCrzL4q`d@CBPv{*GD*0Y}J><@*LGn_!aH+M{y#v6a~n-&eK5K$<~k zhBD`dS?2&OMrgo599)5|xE2bW2vxu4mrugz*?t`ymK8AI3QzUvta@Wiv6X?$S9}NE ze&rFDr)vwwg0g4({g$MHrrA>bo+YLN82H$hNbGsQhZ_f>>Lf&?Wi(Xloz*L*G$2upV) zK{Hmjrd#d9&=8}2avQVt`n1+qzvOB^!kVpZ?wUGg@q>IZl%e^W(T3I7Rb#f^GC2d z`v<2Luc7m|=6n~AxuwG+I7=jWTAMEu@hg}x(i#+yTi}5*Qq6%W#S0u>do<;9ym%I7 z*^wCG?LcDhNz?98??@Fr`EFI+$_=rnuiG%2X9qdCT$q{G>j1;+^156qF8@Ctgs1;c zwQzJH!d>o@dNc>zg8-6ojy^hwG&%_xemK6$UFp8L8dW}>5A_*KK$X=C7(6zhfWk||vu z>StSt1!Tzz90iL5^w(ua?I*Lu$yhkPb@}Y%4Qb_PLZIOa-B`@%Vt@zV6mW|`0Ji^# zvs^KQ0wK6F&atJXVDOT}L>4yi6;RQYph+ii<*r-?g%n_&ISpn!cOS}qyX?3*nB1t&F$*FTmNw?mw$>)b1*oyU8c z?jbhCW$>Z3o7bzJuC6)BIQ~P9A^t)rr)}0DJwOG2-T8USoq4PR&;9f*FfMMhQ_Su6 z?|R3EyX`NJ>kM1&z*1T32m?jR)+4RrS7+YN%f}Yf^PZp7?^8slKG#;oP*7hD%|U9B zQhlvyluhzF_nkx2URz)G+N|s8Weg^3EGGK%hQkf7_sOBBhuRA1Ui-!`gDvm)&fL43 zho7gFpo2ki-UjDN3a=whGex1Q_+14L91*~V^t78b6}1Akuc2mfpCt$zQ|f;+bw935`>8j)oLLbO?_uMu}TI_SN+{O*Rd=6q7GWq0XehC zI`;D04JGKnk#L9hl^J;q3F;4Md-U%whbeTP*_Q%KUL?Mk&c=d3&3n(v1GiWKkN%~s zkN3k2+lKvdh{(>ZN%4OVXmWVMITm6y@p6A6i&XsloAVhBtCk?vQ;v95%WIkXbBq!t zNh61fw>nu;D|0R}Zp5Y--7W;?+A5c9cFwTJVlu1eskJkly$)#N1YhP+Vl`gxdex2y1y8)qZRON@j;v}mHHqIY zo7}Sk$U4`Ml`8gU4Ri^V3Y!T@TPwQ+DZtQpxC|;w1N$C3vN2xOf|Xx@C5bm8oaA=E zQG1wYb#LQ2eLUWI97dWAih*p?@4Y!|c^uYKeGl7xa46^)_@hseYG2RSNFtTJl_K;9 z2AY!_V~~Cv5H(tjjT9}B%xn)=ip)S|hMI4qc^eXb#x8*Ah5tcEFqMu>jHC<5a(iA+ z*>%I0JAQoxhrte_lW|0+@bc9plbZS5+E73+o2PASCwjh~ z3mVohutzr*j)2vC4`ce=m|Wy&OMagGH=NDi+UlPj8C*~BD*vN-37WN){R?C;ByTAj zF)hD?&7b%_DNpXY{Iq;;Lh%bMhSbI_Qj(TY#csz-PlADl{(58$JwH)urND`Js9-GE z4nF&DyKDKAJxDIAR*dXpC=_cYnz3^QFd}$VFSy79htbh_5!KX%A;f!EF-ZcMEzdjE zsWtpsTHr7S%D@np4t@3q6F;fAI}SsZPKswpuKAV7p1g9oZo~^?Xyo6omJDN?C>LPJ zC+yTf*g+Y6XchS%KlNP^Se)5Wpb_vkih$`$_QEgHuJ&a*Q#DZD-V$S4wWyZ?+*!?{ zxsJSSkf-a3%i{J7trfu0HWu(`y0`y74P_6jrQ#A93OPG~%8veE;o=`@;b`Fu7H zQgIdge?eR{{tbU=5U_3ES$-V+iIh6GiDhpqD!9I0?wElgdg|w-XMC^_x2t%;`N&AXbtCLgY>wjW2sIfe)Wv_fh zK3bRq_yyY|`(U*~3nP)^@*Yry!aYxln?4jti+|0i5Wgo|NXyz+6hNO~pi|0GsQWzn zFa1MeePwV*IrsAl91|`DD;4+9R&w67KiwTTDv;6aQa|LfN9q1d@$qc)ibu2)*habB z!hjj*{25_$^ME(jX8N|6@G@YElihwGECf|G7bmsdl^oS>oZ?|sOgY5Q@`r)6AZ67T+b&%7%ADVir-mZ+@m5>$ouXiWYN7yc(;GOs}54`FeS+7HPJ%u z%1xF*v)Qzu8r+_Et0c0VEHCAnGq|MryPubMNgy4K#goSa?T3j})tNv+3k(2gm(vg_ z*IP{^Ru}=PGk!;}=l`%nZ$ZsU39=6MDlwMH{Sou#`~o(-J4@UiyjKbN-dwjC6Q~P* zlRTOms}&1!5Q!F+AuDj5C7;97=pB_L~`q&lL|F`wqbBor_$H3g7mdGw@NS`1fnn?ELNNXr0gVP6rTvYNR^zpU|`X zNqDrMab%yp=}armKp3MlL;nIS*&PDLcbG!GAYjqk58is;*Fy~VNl!*;CXARW) zq5nN3c9Q((&#FoX4Ym|JgWct2*|aV zGp2b(pLK!Np>qECC8#aK&W-h6ZOV?1oxWDall-7J8~D+2Q(jb9F0Q#A-aA5e@ShF4 z8~P`DV4YDn5b3V3jenmZq4bNo=Zc?=3Az*(PaCvTz6f0^7$mK*al32SeW3kysyu-t z$kx={@QCXMY?tY_iCyqBqB5y;i0F@r_u^H(wu_$gaRW^v9tviFH##!rWSa5g+R>l4 z9T{