From 67b62e6c71f55929172762a918941d62fa995afb Mon Sep 17 00:00:00 2001 From: Motapothula Devendra Venkat Nadh Date: Sun, 22 Mar 2026 00:30:37 +0530 Subject: [PATCH] Initial release of Ambari Kavach --- ambari-kavach/.gitignore | 57 + ambari-kavach/README.md | 534 + .../ambari-kavach-backend/.gitignore | 19 + ambari-kavach/ambari-kavach-backend/README.md | 276 + .../ambari_kavach.ini.example | 31 + ambari-kavach/ambari-kavach-backend/app.py | 2557 ++++ .../ambari-kavach-backend/building_on_fire.py | 383 + .../ambari-kavach-backend/requirements.txt | 9 + .../ambari-kavach-backend/schema.sql | 67 + .../ambari-kavach-frontend/.eslintrc.cjs | 15 + .../ambari-kavach-frontend/.gitignore | 23 + .../ambari-kavach-frontend/README.md | 174 + .../ambari-kavach-frontend/babel.config.js | 5 + .../ambari-kavach-frontend/jsconfig.json | 19 + .../ambari-kavach-frontend/package-lock.json | 12612 ++++++++++++++++ .../ambari-kavach-frontend/package.json | 56 + .../public/ambari-kavach-logo.png | Bin 0 -> 1348834 bytes .../ambari-kavach-frontend/public/favicon.ico | Bin 0 -> 4286 bytes .../ambari-kavach-frontend/public/favicon.png | Bin 0 -> 1348834 bytes .../ambari-kavach-frontend/public/index.html | 19 + .../ambari-kavach-frontend/src/App.vue | 30 + .../ambari-kavach-frontend/src/api/client.js | 60 + .../src/assets/logo.png | Bin 0 -> 6849 bytes .../src/components/AppLayout.vue | 384 + .../src/components/CreateAmbariUser.vue | 248 + .../src/components/LoginPage.vue | 376 + .../src/components/NavBar.vue | 525 + .../src/components/RegisterClusterForm.vue | 608 + .../src/components/SideBar.vue | 575 + .../src/composables/useSnackbar.js | 27 + .../src/layouts/DefaultLayout.vue | 17 + .../ambari-kavach-frontend/src/main.js | 23 + .../src/plugins/vuetify.js | 47 + .../src/router/index.js | 121 + .../ambari-kavach-frontend/src/stores/auth.js | 127 + .../src/utils/dateUtils.js | 63 + .../src/views/AdminPanel.vue | 523 + .../src/views/AnalyticsView.vue | 249 + .../src/views/AuditLogsView.vue | 135 + .../src/views/ClusterManager.vue | 274 + .../src/views/ClusterRegister.vue | 9 + .../src/views/ClustersView.vue | 165 + .../src/views/CreateAmbariUserPage.vue | 9 + .../src/views/Dashboard.vue | 324 + .../src/views/MyUsers.vue | 178 + .../src/views/ProfileView.vue | 169 + .../ambari-kavach-frontend/vue.config.js | 26 + 47 files changed, 22148 insertions(+) create mode 100644 ambari-kavach/.gitignore create mode 100644 ambari-kavach/README.md create mode 100644 ambari-kavach/ambari-kavach-backend/.gitignore create mode 100644 ambari-kavach/ambari-kavach-backend/README.md create mode 100644 ambari-kavach/ambari-kavach-backend/ambari_kavach.ini.example create mode 100644 ambari-kavach/ambari-kavach-backend/app.py create mode 100644 ambari-kavach/ambari-kavach-backend/building_on_fire.py create mode 100644 ambari-kavach/ambari-kavach-backend/requirements.txt create mode 100644 ambari-kavach/ambari-kavach-backend/schema.sql create mode 100644 ambari-kavach/ambari-kavach-frontend/.eslintrc.cjs create mode 100644 ambari-kavach/ambari-kavach-frontend/.gitignore create mode 100644 ambari-kavach/ambari-kavach-frontend/README.md create mode 100644 ambari-kavach/ambari-kavach-frontend/babel.config.js create mode 100644 ambari-kavach/ambari-kavach-frontend/jsconfig.json create mode 100644 ambari-kavach/ambari-kavach-frontend/package-lock.json create mode 100644 ambari-kavach/ambari-kavach-frontend/package.json create mode 100644 ambari-kavach/ambari-kavach-frontend/public/ambari-kavach-logo.png create mode 100644 ambari-kavach/ambari-kavach-frontend/public/favicon.ico create mode 100644 ambari-kavach/ambari-kavach-frontend/public/favicon.png create mode 100644 ambari-kavach/ambari-kavach-frontend/public/index.html create mode 100644 ambari-kavach/ambari-kavach-frontend/src/App.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/api/client.js create mode 100644 ambari-kavach/ambari-kavach-frontend/src/assets/logo.png create mode 100644 ambari-kavach/ambari-kavach-frontend/src/components/AppLayout.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/components/CreateAmbariUser.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/components/LoginPage.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/components/NavBar.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/components/RegisterClusterForm.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/components/SideBar.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/composables/useSnackbar.js create mode 100644 ambari-kavach/ambari-kavach-frontend/src/layouts/DefaultLayout.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/main.js create mode 100644 ambari-kavach/ambari-kavach-frontend/src/plugins/vuetify.js create mode 100644 ambari-kavach/ambari-kavach-frontend/src/router/index.js create mode 100644 ambari-kavach/ambari-kavach-frontend/src/stores/auth.js create mode 100644 ambari-kavach/ambari-kavach-frontend/src/utils/dateUtils.js create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/AdminPanel.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/AnalyticsView.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/AuditLogsView.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/ClusterManager.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/ClusterRegister.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/ClustersView.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/CreateAmbariUserPage.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/Dashboard.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/MyUsers.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/src/views/ProfileView.vue create mode 100644 ambari-kavach/ambari-kavach-frontend/vue.config.js diff --git a/ambari-kavach/.gitignore b/ambari-kavach/.gitignore new file mode 100644 index 00000000000..0422d04ac15 --- /dev/null +++ b/ambari-kavach/.gitignore @@ -0,0 +1,57 @@ +# ── OS ────────────────────────────────────────────────────────────────────── +.DS_Store +.DS_Store? +._* +Thumbs.db +ehthumbs.db + +# ── Python ─────────────────────────────────────────────────────────────────── +__pycache__/ +*.py[cod] +*$py.class +*.so +*.egg +*.egg-info/ +dist/ +build/ +venv/ +.venv/ +env/ +.env + +# ── Node / Frontend ────────────────────────────────────────────────────────── +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.npm + +# ── Frontend build artifacts ───────────────────────────────────────────────── +ambari-kavach-frontend/dist/ + +# ── IDE / Editor ───────────────────────────────────────────────────────────── +.idea/ +.vscode/ +*.swp +*.swo +*~ + +# ── Logs (may contain sensitive data — user emails, audit events) ───────────── +kavach/logs/ +logs/ +*.log + +# ── Local configuration (copy *.ini.example → *.ini and fill in your values) ── +**/*.ini +!**/*.ini.example +**/.env.local +**/.env.*.local + +# ── Secrets ────────────────────────────────────────────────────────────────── +*.pem +*.key +id_rsa +id_rsa.pub + +# ── Misc ───────────────────────────────────────────────────────────────────── +.claude/ diff --git a/ambari-kavach/README.md b/ambari-kavach/README.md new file mode 100644 index 00000000000..009b833bd73 --- /dev/null +++ b/ambari-kavach/README.md @@ -0,0 +1,534 @@ +# Ambari Kavach + +> **"Kavach"** — shield or armour in Sanskrit. + +Ambari Kavach is a self-hosted security access-control layer for [Apache Ambari](https://ambari.apache.org/) clusters. It replaces long-lived shared credentials with a fully audited, temporary-user issuance system, accessible through a modern web dashboard backed by Google SSO. + +--- + +## Table of Contents + +1. [Why Ambari Kavach?](#why-ambari-kavach) +2. [Architecture](#architecture) +3. [Key Features](#key-features) +4. [Security Design](#security-design) +5. [Role Hierarchy](#role-hierarchy) +6. [Project Structure](#project-structure) +7. [Prerequisites](#prerequisites) +8. [Getting Started](#getting-started) +9. [Configuration Reference](#configuration-reference) +10. [Dashboard Walkthrough](#dashboard-walkthrough) +11. [API Reference](#api-reference) +12. [Emergency DR Recovery](#emergency-dr-recovery) +13. [Production Deployment](#production-deployment) + +--- + +## Why Ambari Kavach? + +Apache Ambari ships with a single `admin` account that teams tend to share indefinitely. This creates real operational and security problems: + +| Problem | How Kavach solves it | +|---|---| +| Shared `admin/admin` is a single point of compromise | Registration replaces it with a dedicated vault service account; the `admin` account is permanently deleted | +| No audit trail of who accessed what | Every action — cluster events, user creation, DR access — is written to an immutable audit log | +| Access is all-or-nothing, with no time scoping | All issued accounts are temporary (5 min → 12 hr); a background scheduler auto-deletes them on expiry | +| Revoking access requires shared-account coordination | Cluster managers can delete any active user instantly from the dashboard | +| Disaster-recovery credentials are stored ad-hoc | A dedicated `ambari_admin_dr` account is created at registration, its password Fernet-encrypted in the database, and exposed only via a controlled CLI tool that automatically locks the cluster | + +--- + +## Architecture + +``` +┌──────────────────────────────────────────────────────────────┐ +│ Browser │ +│ Vue 3 SPA — port 8080 │ +│ Google SSO → JWT → Axios → Dev Proxy │ +└─────────────────────────┬────────────────────────────────────┘ + │ HTTP (port 5000) +┌─────────────────────────▼────────────────────────────────────┐ +│ Flask Backend (app.py) │ +│ │ +│ ┌──────────────┐ ┌───────────────┐ ┌───────────────┐ │ +│ │ Google OAuth │ │ Fernet Encrypt│ │ APScheduler │ │ +│ │ + JWT Auth │ │ (passwords) │ │ (auto-expiry) │ │ +│ └──────────────┘ └───────────────┘ └───────────────┘ │ +│ │ +└─────────────────────────┬────────────────────────────────────┘ + │ mysql-connector-python +┌─────────────────────────▼────────────────────────────────────┐ +│ MySQL Database │ +│ ambari_onboarding │ ambari_manager_users │ audit log │ +└─────────────────────────┬────────────────────────────────────┘ + │ Ambari REST API +┌─────────────────────────▼────────────────────────────────────┐ +│ Apache Ambari Clusters │ +│ ambari-server-1 ambari-server-2 ambari-server-N … │ +└──────────────────────────────────────────────────────────────┘ +``` + +| Layer | Technology | +|---|---| +| Frontend | Vue 3, Vuetify 3, Pinia, Vue Router 4, Axios | +| Backend | Python 3.9+, Flask, flask-jwt-extended, APScheduler | +| Database | MySQL 8.0+ | +| Auth | Google OAuth 2.0 → JWT | +| Encryption | Fernet symmetric encryption (`cryptography` library) | +| Password hashing | bcrypt | + +--- + +## Key Features + +### Cluster Hardening at Registration +When a cluster is registered, Kavach performs a one-time hardening sequence via the Ambari REST API: +- Creates a **`vault`** service account (`CLUSTER.ADMINISTRATOR`) — its password Fernet-encrypted in the DB +- Creates **`ambari_admin_dr`** — a disaster-recovery admin account, encrypted separately +- Creates **`sre_ro`** and **`dev_ro`** — read-only cluster user accounts for ops teams +- Deletes all other pre-existing user accounts +- Deletes the `admin` account last, using the freshly created vault credentials + +After registration, no human ever uses a long-lived password to log into Ambari directly. + +### Temporary User Issuance +- Any authenticated user can self-serve a time-limited Ambari account +- Duration choices: **5 min, 15 min, 30 min, 1 hr, 2 hr, 4 hr, 8 hr, 12 hr** +- Role choices: `CLUSTER.ADMINISTRATOR`, `CLUSTER.OPERATOR`, `CLUSTER.USER` (read-only) +- Credentials are displayed exactly **once** at creation — never stored in plaintext anywhere +- APScheduler polls every 60 seconds and auto-deletes expired accounts from Ambari + +### Single-User Mode +Each cluster can be toggled into **single-user mode** — only one active temporary user is permitted at a time. Any request to create a second user while one is active returns a clear error with the active username and its expiry time. + +### Fully Audited Access +Every significant action writes to the `ambari_vault_major_audit` table: + +| Audit Event | Trigger | +|---|---| +| `CLUSTER_REGISTERED` | New cluster registered | +| `MANAGER_REREGISTRATION_DONE` | Credentials rotated by a manager | +| `AMBARI_DR_COMPROMISED` | Emergency DR password revealed | +| `USER_CREATED` | Temporary user issued | +| `USER_DELETED` | User force-deleted by a manager | + +### Cluster Manager Delegation +- Each cluster has its own manager list, set during registration +- Super admins can update manager lists at any time from the Admin Panel +- Managers have authority **only** over their own clusters + +### Emergency DR Recovery +`building_on_fire.py` is a standalone CLI tool for when the Kavach server itself is unreachable. It connects directly to MySQL, decrypts and prints the `ambari_admin_dr` password, flags the cluster as `DR_COMPROMISED` (immediately blocking all Kavach user creation), and writes an audit record. See [Emergency DR Recovery](#emergency-dr-recovery). + +--- + +## Security Design + +Kavach was designed with the following principles: + +### Credentials never leave the server in plaintext +All Ambari service-account passwords are encrypted at rest using **Fernet symmetric encryption** before being written to MySQL. The encryption key is never stored in the database or the application config file — it must be supplied as an environment variable (`KAVACH_ENCRYPTION_KEY`). The server refuses to start if it is absent. + +### No long-lived human passwords +Every Ambari account issued to a human is temporary. Passwords are generated randomly (21 characters, mixed alphanumeric), shown once to the requester, and never retrievable afterwards. Only a bcrypt hash is stored in the database. + +### Identity verified on every request +The backend validates the `X-Email` request header against the authenticated JWT identity on every protected endpoint. A user cannot impersonate a different email by manipulating headers — the JWT is the source of truth. + +### Role-based access enforced server-side +All role checks (super admin, cluster manager, regular user) are enforced in the Flask backend on every API call, independent of what the frontend shows. A non-manager cannot delete users or re-register clusters even if they craft a direct API request. + +### DR access is destructive by design +The emergency DR tool (`building_on_fire.py`) automatically sets `dr_compromised = 1` on the cluster row the moment the password is revealed. This immediately blocks all further Kavach user creation on that cluster. Recovery requires a super admin to re-register the cluster, which rotates all credentials and clears the flag — creating a forced review checkpoint after every DR event. + +### Domain-restricted Google SSO +Login is restricted to Google accounts from domains listed in `allowed_domains` (configured in the INI file). Accounts from unlisted domains are rejected at the OAuth callback stage regardless of Google authentication outcome. + +### Secrets fail loud +Both `KAVACH_ENCRYPTION_KEY` and `JWT_SECRET_KEY` raise a `RuntimeError` at startup if not set as environment variables. There are no hardcoded fallback defaults — a misconfigured deployment fails immediately rather than silently. + +--- + +## Role Hierarchy + +``` +┌──────────────────────────────────────────────────────┐ +│ Super Admin │ +│ Configured via super_admin_list in kavach.ini │ +│ │ +│ ● Register new Ambari clusters │ +│ ● Delete cluster registrations │ +│ ● Update per-cluster manager email lists │ +│ ● All Cluster Manager capabilities │ +└────────────────────┬─────────────────────────────────┘ + │ +┌────────────────────▼─────────────────────────────────┐ +│ Cluster Manager │ +│ Assigned per-cluster during registration │ +│ │ +│ ● Re-register their cluster (rotates credentials) │ +│ ● Force-delete any active user on their cluster │ +│ ● Create temporary users │ +└────────────────────┬─────────────────────────────────┘ + │ +┌────────────────────▼─────────────────────────────────┐ +│ User │ +│ Any authenticated Google SSO user │ +│ │ +│ ● Create temporary Ambari users │ +│ ● View their own active and expired accounts │ +│ ● View analytics and audit logs │ +└──────────────────────────────────────────────────────┘ +``` + +--- + +## Project Structure + +``` +ambari-kavach/ +│ +├── ambari-kavach-backend/ +│ ├── app.py # Flask application — all API endpoints +│ ├── building_on_fire.py # Emergency DR recovery CLI tool +│ ├── schema.sql # MySQL DDL — run once to set up the database +│ ├── requirements.txt # Python dependencies +│ ├── ambari_kavach.ini.example # Configuration template (copy → ambari_kavach.ini) +│ └── README.md # Backend setup and internals guide +│ +├── ambari-kavach-frontend/ +│ ├── src/ +│ │ ├── views/ # Page-level Vue components (one per route) +│ │ ├── components/ # Reusable UI components +│ │ ├── stores/auth.js # Pinia auth store (JWT, email, role flags) +│ │ ├── router/index.js # Vue Router with authentication guard +│ │ ├── api/client.js # Axios instance (JWT + X-Email interceptors) +│ │ └── plugins/vuetify.js # Vuetify 3 theme configuration +│ ├── public/ # Static assets (logo, favicon) +│ ├── vue.config.js # Dev-server API proxy configuration +│ ├── package.json +│ └── README.md # Frontend setup guide +│ +└── README.md # This file +``` + +--- + +## Prerequisites + +| Requirement | Minimum version | +|---|---| +| Python | 3.9 | +| npm | 8 | +| MySQL | 8.0 | +| Optinal - Google Cloud project | OAuth 2.0 Client ID (Web application type) | + +--- + +## Getting Started + +### 1 — Database + +```bash +mysql -u root -p < ambari-kavach-backend/schema.sql +``` + +Create a dedicated MySQL user for the application: + +```sql +CREATE USER 'kavach'@'localhost' IDENTIFIED BY 'strong_password'; +GRANT ALL PRIVILEGES ON ambari_kavach.* TO 'kavach'@'localhost'; +FLUSH PRIVILEGES; +``` + +--- + +### 2 — Backend + +```bash +cd ambari-kavach-backend + +python3 -m venv venv +source venv/bin/activate # macOS / Linux +# venv\Scripts\activate # Windows + +pip install -r requirements.txt +mkdir -p ../logs +cp ambari_kavach.ini.example ambari_kavach.ini +# Edit ambari_kavach.ini — fill in DB credentials, super admin emails, allowed domains +``` + +Generate a Fernet encryption key (run once and store it safely): + +```bash +python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" +``` + +Generate a JWT secret: + +```bash +python3 -c "import secrets; print(secrets.token_hex(32))" +``` + +Export both as environment variables before starting: + +```bash +export KAVACH_ENCRYPTION_KEY="" +export JWT_SECRET_KEY="" + +python3 app.py +``` + +Backend runs at `http://localhost:5000`. Verify: `curl http://localhost:5000/api/health` + +--- + +### 3 — Google OAuth + +1. Open [Google Cloud Console](https://console.cloud.google.com/) → **APIs & Services** → **Credentials** +2. **Create Credentials** → **OAuth 2.0 Client ID** → **Web application** +3. Add **Authorised JavaScript origins**: `http://localhost:8080` (plus your production URL) +4. Copy the **Client ID** +5. Create `ambari-kavach-frontend/.env.local`: + ``` + VUE_APP_GOOGLE_CLIENT_ID=.apps.googleusercontent.com + ``` + +--- + +### 4 — Frontend + +```bash +cd ambari-kavach-frontend +npm install +npm run serve +``` + +Frontend runs at `http://localhost:8080`. API calls are automatically proxied to `http://localhost:5000`. + +--- + +### 5 — First Login + +1. Open `http://localhost:8080` +2. Click **Sign in with Google** using an account from one of your `allowed_domains` +3. You land on the **Dashboard** +4. Users whose email appears in `super_admin_list` in the INI file have Super Admin access immediately + +--- + +## Configuration Reference + +`ambari-kavach-backend/ambari_kavach.ini`: + +```ini +[Kavachlog] +file_log_level = INFO +log_format = [%(asctime)s] - %(levelname)s - %(message)s +ambari_user_audit_file = ../logs/ambari_user_audit.log +kavach_server_log_file = ../logs/ambari_kavach.log + +[KavachDB] +mysql_hostname = 127.0.0.1 +kavach_database = ambari_kavach +kavach_db_user_name = kavach +kavach_db_password = your_db_password_here + +[sudo_powers] +super_admin_list = ["admin@yourcompany.com"] + +[auth] +allowed_domains = yourcompany.com,gmail.com +``` + +| Key | Description | +|---|---| +| `file_log_level` | Python logging level — `DEBUG`, `INFO`, `WARNING`, or `ERROR` | +| `mysql_hostname` | MySQL host (IP or hostname) | +| `kavach_database` | Database name (`ambari_kavach`) | +| `super_admin_list` | JSON array of super admin emails — these users have global admin powers | +| `allowed_domains` | Comma-separated Google OAuth domains allowed to log in | + +**Required environment variables** — the server will not start without these: + +| Variable | How to generate | +|---|---| +| `KAVACH_ENCRYPTION_KEY` | `python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())"` | +| `JWT_SECRET_KEY` | `python3 -c "import secrets; print(secrets.token_hex(32))"` | + +--- + +## Dashboard Walkthrough + +### Login +Google SSO sign-in restricted to `allowed_domains`. A JWT is issued on success and stored in the browser. + +### Dashboard +Summary cards: registered cluster count, currently active temp users, clusters in DR-compromised state. Recent audit event feed. + +### Create User +Choose a cluster, role, and expiry duration. On success, the generated username and one-time password are displayed. **Copy them immediately — they cannot be retrieved again.** + +| Role | Ambari access level | +|---|---| +| `CLUSTER.ADMINISTRATOR` | Full administrative access | +| `CLUSTER.OPERATOR` | Can execute operations, cannot change configurations | +| `CLUSTER.USER` | Read-only — view dashboards and service state | + +### My Users +Table of all temp accounts created by the logged-in user — active, expired, and deleted — with expiry countdowns. + +### Clusters +All registered clusters with HTTP method, port, DR status, single-user mode flag, and manager list. + +### Cluster Registration *(Super Admin)* +Register a new Ambari cluster. Requires the cluster to have `admin/admin` credentials active. Kavach performs the full hardening sequence and deletes `admin` as the final step. + +### Cluster Manager Panel *(Manager)* +View all active users on a managed cluster. Delete users immediately. Re-register the cluster to rotate all credentials. + +### Analytics +Per-cluster charts: users created over time, expiry distribution, usage breakdown by role. + +### Audit Logs +Paginated, filterable view of every major system event with actor, event type, affected entity, and timestamp. + +### Admin Panel *(Super Admin)* +View and edit per-cluster manager lists. Delete cluster registrations. + +### Profile +Current user's email, role, and JWT expiry. + +--- + +## API Reference + +All endpoints require `Authorization: Bearer ` unless marked **Public**. + +### Auth & Health + +| Method | Endpoint | Access | Description | +|---|---|---|---| +| POST | `/auth/google-login` | Public | Exchange Google ID token for a Kavach JWT | +| GET | `/api/health` | Public | Health check — `{"status":"ok"}` | +| GET | `/api/me` | JWT | Current user profile, manager status, and admin flag | + +### Clusters + +| Method | Endpoint | Access | Description | +|---|---|---|---| +| GET | `/api/servers` | JWT | List all registered clusters | +| POST | `/api/register` | Super Admin | Register and harden a new cluster | +| POST | `/api/re-register` | Manager | Rotate credentials, reset DR flag | +| POST | `/api/test_connection` | JWT | Test connectivity to an Ambari server | +| DELETE | `/api/clusters/` | Super Admin | Delete a cluster registration | +| PUT | `/api/clusters//managers` | Super Admin | Update cluster manager list | + +### Temporary Users + +| Method | Endpoint | Access | Description | +|---|---|---|---| +| POST | `/create_user` | JWT | Issue a temporary Ambari user | +| GET | `/api/active_users` | JWT | Caller's active (non-expired) users | +| GET | `/api/expired_users` | JWT | Caller's expired and deleted users | +| GET | `/api/cluster_users` | Manager | All users on a managed cluster | +| POST | `/manager/delete_user` | Manager | Force-delete a user from Ambari | + +### Analytics & Audit + +| Method | Endpoint | Access | Description | +|---|---|---|---| +| GET | `/api/analytics/cluster_overview` | JWT | Per-cluster activity metrics | +| GET | `/api/audit_logs` | JWT | Paginated major event audit log | +| GET | `/api/ambari/clusters` | JWT | Ambari cluster names for a server | + +--- + +## Emergency DR Recovery + +> Use this tool **only** when the Kavach server is unreachable and direct Ambari access is urgently needed. + +```bash +cd ambari-kavach-backend +source venv/bin/activate + +python3 building_on_fire.py \ + --db-host localhost \ + --db-name ambari_kavach \ + --db-user kavach \ + --db-password \ + --encryption-key \ + --cluster \ + --operator +``` + +**What happens:** +1. Connects directly to MySQL — no running Kavach server required +2. Decrypts and prints the `ambari_admin_dr` password +3. Sets `dr_compromised = 1` — **immediately blocks all Kavach user creation on this cluster** +4. Writes an `AMBARI_DR_COMPROMISED` audit record + +**After the incident:** +1. Log into Ambari as `ambari_admin_dr` and fix the issue +2. Log into Kavach as Super Admin → **Admin Panel → Re-register Cluster** +3. Re-registration rotates all credentials and clears the DR flag + +--- + +## Production Deployment + +### Backend — Gunicorn + systemd + +```bash +pip install gunicorn +gunicorn -w 4 -b 0.0.0.0:5000 app:app +``` + +Example systemd unit: + +```ini +[Unit] +Description=Ambari Kavach Backend +After=network.target mysql.service + +[Service] +User=kavach +WorkingDirectory=/opt/ambari-kavach/ambari-kavach-backend +Environment=KAVACH_ENCRYPTION_KEY= +Environment=JWT_SECRET_KEY= +ExecStart=/opt/ambari-kavach/ambari-kavach-backend/venv/bin/gunicorn -w 4 -b 0.0.0.0:5000 app:app +Restart=on-failure + +[Install] +WantedBy=multi-user.target +``` + +### Frontend — Build + Nginx + +```bash +cd ambari-kavach-frontend +echo "VUE_APP_GOOGLE_CLIENT_ID=.apps.googleusercontent.com" > .env.production +echo "VUE_APP_API_BASE=https://kavach.yourcompany.com" >> .env.production +npm run build +``` + +Example Nginx config: + +```nginx +server { + listen 80; + server_name kavach.yourcompany.com; + + root /opt/ambari-kavach/ambari-kavach-frontend/dist; + index index.html; + + location / { try_files $uri $uri/ /index.html; } + + location /api/ { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; } + location /auth/ { proxy_pass http://127.0.0.1:5000; } + location /create_user { proxy_pass http://127.0.0.1:5000; } + location /manager/ { proxy_pass http://127.0.0.1:5000; } +} +``` + +--- diff --git a/ambari-kavach/ambari-kavach-backend/.gitignore b/ambari-kavach/ambari-kavach-backend/.gitignore new file mode 100644 index 00000000000..8bbe8f7fb8b --- /dev/null +++ b/ambari-kavach/ambari-kavach-backend/.gitignore @@ -0,0 +1,19 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +venv/ +env/ +.venv/ + +# Logs +logs/ +*.log + +# IDE +.idea/ +.vscode/ +*.swp +*.swo diff --git a/ambari-kavach/ambari-kavach-backend/README.md b/ambari-kavach/ambari-kavach-backend/README.md new file mode 100644 index 00000000000..579f938265c --- /dev/null +++ b/ambari-kavach/ambari-kavach-backend/README.md @@ -0,0 +1,276 @@ +# Ambari Kavach — Backend + +Flask-based REST API server that manages Ambari cluster registrations, temporary user lifecycle, authentication, and the audit trail. + +--- + +## Directory Layout + +``` +ambari-kavach-backend/ +├── app.py # Main Flask application +├── building_on_fire.py # Emergency DR recovery CLI tool +├── schema.sql # MySQL DDL — initialise the database +├── requirements.txt # Python dependencies +├── ambari_kavach.ini.example # Configuration template +└── README.md # This file +``` + +Logs (gitignored, created at runtime): +``` +logs/ +├── ambari_kavach.log # Server + error log +└── ambari_user_audit.log # Per-user action log +``` + +--- + +## Setup + +### 1. Python virtual environment + +```bash +python3 -m venv venv +source venv/bin/activate # macOS / Linux +pip install -r requirements.txt +``` + +### 2. Database + +```bash +mysql -u root -p < schema.sql +``` + +Create a dedicated DB user: + +```sql +CREATE USER 'kavach'@'localhost' IDENTIFIED BY 'strong_password'; +GRANT ALL PRIVILEGES ON ambari_kavach.* TO 'kavach'@'localhost'; +FLUSH PRIVILEGES; +``` + +### 3. Generate encryption key + +```bash +python3 -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" +``` + +Store this key securely — it encrypts all Ambari passwords at rest. Losing it means losing access to all registered clusters. + +### 4. Configuration + +```bash +cp ambari_kavach.ini.example ambari_kavach.ini +# Edit ambari_kavach.ini — see Configuration section below +``` + +### 5. Set required environment variables + +Both variables are **required**. The server will refuse to start if either is missing. + +```bash +export KAVACH_ENCRYPTION_KEY="" +export JWT_SECRET_KEY="" +``` + +### 6. Start the server + +```bash +mkdir -p logs +python3 app.py +``` + +Backend runs at `http://localhost:5000`. + +--- + +## Configuration (`ambari_kavach.ini`) + +| Section | Key | Description | +|---|---|---| +| `[Kavachlog]` | `file_log_level` | `DEBUG` / `INFO` / `WARNING` / `ERROR` | +| `[Kavachlog]` | `ambari_user_audit_file` | Path for the user-action audit log | +| `[Kavachlog]` | `kavach_server_log_file` | Path for the server log | +| `[KavachDB]` | `mysql_hostname` | MySQL host | +| `[KavachDB]` | `kavach_database` | Database name (default: `ambari_kavach`) | +| `[KavachDB]` | `kavach_db_user_name` | MySQL username | +| `[KavachDB]` | `kavach_db_password` | MySQL password | +| `[sudo_powers]` | `super_admin_list` | JSON array of super admin emails | +| `[auth]` | `allowed_domains` | Comma-separated Google OAuth domains | + +--- + +## Database Schema + +Three tables — defined in `schema.sql`: + +### `ambari_onboarding` +One row per registered Ambari cluster. + +| Column | Type | Description | +|---|---|---| +| `ambari_server` | VARCHAR(255) PK | Ambari server hostname | +| `http_method` | VARCHAR(10) | `http` or `https` | +| `port` | INT | Ambari port (default 8888) | +| `vault_password` | TEXT | Fernet-encrypted vault service account password | +| `admin_dr_password` | TEXT | Fernet-encrypted DR admin password | +| `manager_emails` | TEXT | JSON array of per-cluster manager emails | +| `single_user_mode` | TINYINT(1) | 1 = only one active temp user at a time | +| `dr_compromised` | TINYINT(1) | 1 = DR password exposed; blocks all user creation | + +### `ambari_manager_users` +Every temporary Ambari user ever issued through Kavach. + +| Column | Type | Description | +|---|---|---| +| `id` | INT PK | Auto-increment | +| `ambari_server` | VARCHAR(255) | Cluster the user belongs to | +| `user_name` | VARCHAR(255) | Ambari username | +| `email` | VARCHAR(255) | Kavach user who requested this account | +| `hash_password` | TEXT | bcrypt hash of the temp password | +| `expire_time` | DATETIME | When the account is auto-deleted | +| `pass_flag` | TINYINT | 1 = active, 0 = expired/deleted | +| `created_at` | DATETIME | Creation timestamp | +| `deleted_at` | DATETIME | Deletion timestamp (NULL if still active) | +| `role` | VARCHAR(64) NOT NULL | Ambari role: `CLUSTER.ADMINISTRATOR`, `CLUSTER.OPERATOR`, or `CLUSTER.USER` | + +### `ambari_vault_major_audit` +Immutable event log — rows are never updated or deleted. + +| Column | Type | Description | +|---|---|---| +| `id` | INT PK | Auto-increment | +| `actor_email` | VARCHAR(255) | Who triggered the event | +| `audit_event` | VARCHAR(255) | Event type (see below) | +| `impact_entity` | VARCHAR(255) | Cluster hostname or username affected | +| `event_time` | TIMESTAMP | Auto-set on insert | + +**Audit event types:** + +| Event | Trigger | +|---|---| +| `CLUSTER_REGISTERED` | New cluster registered via `/api/register` | +| `MANAGER_REREGISTRATION_DONE` | Manager re-registered a cluster via `/api/re-register` | +| `AMBARI_DR_COMPROMISED` | DR password revealed via `building_on_fire.py` | +| `USER_CREATED` | Temporary user created via `/create_user` | +| `USER_DELETED` | Manager force-deleted a user via `/manager/delete_user` | + +--- + +## Application Flow + +### Cluster Registration (`/api/register`) + +Only super admins can register clusters. Registration hardwires the cluster into the Kavach trust model by rotating all credentials and removing the default admin account. + +``` +Request (super admin) + │ + ├─ Validate admin/admin credentials on Ambari server + ├─ Create vault user (CLUSTER.ADMINISTRATOR) — long-lived service account + ├─ Create ambari_admin_dr user (CLUSTER.ADMINISTRATOR) — break-glass only + ├─ Create sre_ro user (CLUSTER.USER) — read-only for SRE + ├─ Create dev_ro user (CLUSTER.USER) — read-only for developers + ├─ Delete all other pre-existing users + ├─ Delete admin account (using vault credentials) + ├─ Encrypt vault + DR passwords with Fernet + ├─ INSERT into ambari_onboarding + └─ Write CLUSTER_REGISTERED audit event +``` + +After registration the cluster has no default admin. All access goes through Kavach. + +### Temporary User Creation (`/create_user`) + +``` +Request (authenticated user) + │ + ├─ Validate JWT + verify X-Email header matches JWT identity + ├─ Check email domain against allowed_domains allowlist + ├─ Check dr_compromised flag → 403 if set (cluster locked down) + ├─ Check single_user_mode → 409 if another active user exists + ├─ Generate username (user_) + random 12-char password + ├─ Create user on Ambari via REST API (vault credentials used) + ├─ Assign requested role (CLUSTER.ADMINISTRATOR / OPERATOR / USER) + ├─ bcrypt-hash password, INSERT into ambari_manager_users + └─ Return plaintext credentials to caller (shown once only) +``` + +### Background Expiry Scheduler + +APScheduler runs every 60 seconds to enforce time-bounded access: + +``` +For each row WHERE pass_flag=1 AND expire_time < NOW(): + ├─ Delete user from Ambari via REST API + ├─ UPDATE pass_flag=0, deleted_at=NOW() + └─ Log deletion +``` + +Users are removed automatically — no manual cleanup required. + +### Re-registration (`/api/re-register`) + +Used to rotate credentials on a cluster or recover from a DR compromise event. Clears the `dr_compromised` flag. + +``` +Request (cluster manager) + │ + ├─ Validate manager has authority over this cluster + ├─ Verify admin/admin is active on the cluster + ├─ Rotate vault + DR passwords (delete existing accounts, create new) + ├─ Recreate sre_ro and dev_ro users + ├─ Delete all other stale users + ├─ Delete admin account (via new vault credentials) + ├─ UPDATE ambari_onboarding (new encrypted passwords, dr_compromised=0) + └─ Write MANAGER_REREGISTRATION_DONE audit event +``` + +--- + +## Security Design + +### Secrets never touch disk in plaintext +All Ambari passwords stored in the database are Fernet-encrypted. The encryption key lives exclusively in the `KAVACH_ENCRYPTION_KEY` environment variable. The server refuses to start if this variable is absent — there is no insecure fallback. + +### Credentials shown exactly once +When a temporary user is created, the plaintext password is returned in the API response and never stored. Only a bcrypt hash is persisted. There is no mechanism to retrieve a password after the creation response is consumed. + +### JWT identity binding +Every protected endpoint validates that the `X-Email` header matches the identity embedded in the JWT. A valid token cannot be used to act as a different user. + +### Role enforcement is server-side +Valid roles (`CLUSTER.ADMINISTRATOR`, `CLUSTER.OPERATOR`, `CLUSTER.USER`) are enforced in `app.py`. Any request with an unrecognised role is rejected with HTTP 400 before touching Ambari. + +### DR lockdown +When `building_on_fire.py` reveals the DR password, it immediately sets `dr_compromised=1` on that cluster. All subsequent user-creation requests for that cluster return HTTP 403 until a manager re-registers the cluster and rotates credentials. The lock cannot be cleared without a full credential rotation. + +### Domain-restricted SSO +Only email addresses from domains listed in `allowed_domains` can authenticate. Google OAuth is the only supported identity provider — there are no local passwords. + +--- + +## API Endpoints + +See the [root README API Reference](../README.md#api-reference) for the full endpoint table. + +--- + +## `building_on_fire.py` — Emergency DR Tool + +Use when the Kavach server is **down** and direct Ambari admin access is required immediately. + +```bash +python3 building_on_fire.py \ + --db-host localhost \ + --db-name ambari_kavach \ + --db-user kavach \ + --db-password \ + --encryption-key \ + --cluster \ + --operator +``` + +The tool connects directly to MySQL (no running Kavach server needed), decrypts and prints the `ambari_admin_dr` password, sets `dr_compromised=1` on the cluster, and writes an `AMBARI_DR_COMPROMISED` audit record. + +**After the incident:** re-register the cluster from the Admin Panel to rotate all credentials and lift the lockdown. diff --git a/ambari-kavach/ambari-kavach-backend/ambari_kavach.ini.example b/ambari-kavach/ambari-kavach-backend/ambari_kavach.ini.example new file mode 100644 index 00000000000..caf1eb8f39b --- /dev/null +++ b/ambari-kavach/ambari-kavach-backend/ambari_kavach.ini.example @@ -0,0 +1,31 @@ +# Ambari Kavach Configuration — copy this file to ambari_kavach.ini and fill in your values. + +[Kavachlog] +file_log_level=DEBUG +log_format=[%%(asctime)s] - %%(levelname)s - %%(message)s +ambari_user_audit_file=../logs/ambari_user_audit.log +kavach_server_log_file=../logs/ambari_kavach.log + +[KavachDB] +mysql_hostname=127.0.0.1 +kavach_database=ambari_kavach +kavach_db_user_name=kavach +kavach_db_password=your_db_password_here + +[sudo_powers] +# Super admins have the highest privilege level: +# - Can register and DELETE clusters +# - Can update the per-cluster manager list +# - All cluster-manager powers as well +super_admin_list=["admin@yourcompany.com"] + +# Per-cluster managers are specified during cluster registration in the UI. +# They can: delete users from their cluster, re-register their cluster. +# (manager_list is kept for backward compatibility; if super_admin_list is present it takes precedence) +manager_list=["admin@yourcompany.com","manager@yourcompany.com"] + +[auth] +# Comma-separated list of allowed Google OAuth domains +# Personal Gmail users: add "gmail.com" +# Google Workspace users: add your company domain, e.g. "yourcompany.com" +allowed_domains=yourcompany.com,gmail.com diff --git a/ambari-kavach/ambari-kavach-backend/app.py b/ambari-kavach/ambari-kavach-backend/app.py new file mode 100644 index 00000000000..043fa5b9bf3 --- /dev/null +++ b/ambari-kavach/ambari-kavach-backend/app.py @@ -0,0 +1,2557 @@ +import ast +import json +import logging +import random +import re +import urllib.parse +import os +import string +import bcrypt +import requests +from datetime import datetime, timedelta +from flask import Flask, jsonify, request, send_from_directory +import mysql.connector +from mysql.connector import Error +from apscheduler.schedulers.background import BackgroundScheduler +from flask_cors import CORS, cross_origin +from cryptography.fernet import Fernet + +from configparser import ConfigParser, NoSectionError, NoOptionError +from flask_jwt_extended import create_access_token, JWTManager, verify_jwt_in_request, get_jwt_identity +import flask + + +app = Flask(__name__) +######## Starting reading configs ############ +config_file="ambari_kavach.ini" +config = ConfigParser() +try: + config.read("./ambari_kavach.ini") +except: + print("Not to able to find the Ambari Kavach Config File") + + +######## Starting Log Modules ############## + +class FileLogger(logging.Logger): + def __init__(self, name, filename, mode='w', level=logging.INFO, fformatter=None, log_to_console=False, sformatter=None): + super().__init__(name, level) + + # Create a custom file handler + self.file_handler = logging.FileHandler(filename=filename, mode=mode) + + # Set the formatter for the file handler + if fformatter is not None: + self.file_handler.setFormatter(fformatter) + + # Add the file handler to the logger + self.addHandler(self.file_handler) + + if log_to_console: + # Create a console handler + self.console_handler = logging.StreamHandler() # Prints to the console + + # Set the formatter for the console handler + if not sformatter: + sformatter = fformatter + self.console_handler.setFormatter(sformatter) + + # Add the console handler to the logger + self.addHandler(self.console_handler) + + + + def fdebug(self, msg, pre_msg=''): + if pre_msg: + print(pre_msg) + self.debug(msg) + + def finfo(self, msg): + self.info(msg) + + def fwarn(self, msg): + self.warning(msg) + + def ferror(self, msg): + self.error(msg) + + def fcritical(self, msg): + self.critical(msg) + +log_level_str = config["Kavachlog"]["file_log_level"] +file_log_level = getattr(logging, log_level_str.upper(), None) +log_format = config["Kavachlog"]["log_format"] +log_fp = config["Kavachlog"]["ambari_user_audit_file"] +general_log_fp = config["Kavachlog"]["kavach_server_log_file"] + +formatter = logging.Formatter(log_format, "%d-%m-%Y %H:%M:%S") +fLogger = FileLogger(__name__, log_fp, mode='a', level=file_log_level, fformatter=formatter) +fl = FileLogger(__name__, general_log_fp, mode='a', level=file_log_level, fformatter=formatter) + +############# Connectiong to DB ################## +DB_CONFIG = { + "host": config["KavachDB"]["mysql_hostname"], + "database": config["KavachDB"]["kavach_database"], + "user": config["KavachDB"]["kavach_db_user_name"], + "password": config["KavachDB"]["kavach_db_password"] +} + +def get_mysql_connection(): + global fLogger,fl + """Establishes a MySQL database connection.""" + try: + connection = mysql.connector.connect(**DB_CONFIG) + return connection + except Error as e: + print("Error connecting to MySQL:", e) + fl.ferror(f"Connection to mysql failed with this error: {e} - Please check weather MYSQL is running") + return None + +def run_mysql_commands(sql_check, params=None, fetch_method=None, commit=False): + connection = get_mysql_connection() + if not connection: + fl.ferror(f" [ERROR] Unable to Connect to the Database") + return False, "{Error: Unable to connect to the Database. Connection is not able to be established}" + try: + with connection.cursor() as cur: + if commit: + connection.start_transaction() + if params is not None: + cur.execute(sql_check, params) + else: + cur.execute(sql_check) + if commit: + connection.commit() + return True, "Successfully committed the message" + if fetch_method == "one": + return True, cur.fetchone() + elif fetch_method == "all": + return True, cur.fetchall() + else: + return True, None + except Exception as e: + if commit: + connection.rollback() + fl.ferror(f" [ERROR] There is an error occurred while running the SQL query {str(e)}") + return False, str(e) + finally: + connection.close() + +##################### Safe_guard_passwords ################### + +_raw_enc_key = os.environ.get("KAVACH_ENCRYPTION_KEY") +if not _raw_enc_key: + raise RuntimeError( + "KAVACH_ENCRYPTION_KEY environment variable is not set. " + "Generate one with: python3 -c \"from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())\"" + ) +ENCRYPTION_KEY = _raw_enc_key.encode() if isinstance(_raw_enc_key, str) else _raw_enc_key +cipher_suite = Fernet(ENCRYPTION_KEY) + +def generate_password(length=21): + """Generates a secure random password.""" + characters = string.ascii_letters + string.digits + return ''.join(random.choices(characters, k=length)) + +def hash_password(password): + """Hashes a password using bcrypt.""" + salt = bcrypt.gensalt() + return bcrypt.hashpw(password.encode('utf-8'), salt).decode('utf-8') +def encrypt_password(password): + """Encrypts the password using Fernet symmetric encryption.""" + return cipher_suite.encrypt(password.encode()).decode() + +def decrypt_password(encrypted_password): + """Decrypts the password using Fernet symmetric encryption.""" + return cipher_suite.decrypt(encrypted_password.encode()).decode() + + +# ============================================================ +# Email validation and role-permission helpers +# ============================================================ + +_EMAIL_REGEX = re.compile(r'^[a-zA-Z0-9._%+\-]+@[a-zA-Z0-9.\-]+\.[a-zA-Z]{2,}$') + +def is_valid_email(email): + """Returns True if email passes basic RFC-like format validation.""" + return bool(_EMAIL_REGEX.match(str(email).strip())) + +def get_super_admins(): + """Return list of super-admin emails, re-reading the config file on every call. + This ensures changes to ambari_kavach.ini take effect immediately without a server restart. + Reads super_admin_list; falls back to manager_list for backward compat.""" + try: + fresh = ConfigParser() + fresh.read("./ambari_kavach.ini") + key = "super_admin_list" if fresh.has_option("sudo_powers", "super_admin_list") else "manager_list" + raw = ast.literal_eval(fresh["sudo_powers"][key]) + return [str(e).strip().lower() for e in raw if e] + except (ValueError, SyntaxError, KeyError): + return [] + +def get_cluster_managers(ambari_server): + """Return per-cluster manager email list from DB for the given server.""" + ok, row = run_mysql_commands( + "SELECT manager_emails FROM ambari_onboarding WHERE ambari_server = %s", + (ambari_server,), "one", False + ) + if not ok or not row or not row[0]: + return [] + try: + emails = json.loads(row[0]) + return [str(e).strip().lower() for e in emails if e] + except (json.JSONDecodeError, TypeError): + return [] + +def is_super_admin(email): + """Returns True if the given email belongs to the global super-admin list.""" + return email.strip().lower() in get_super_admins() + +def has_manager_access(email, ambari_server=None): + """Returns True if email is a super-admin, or a cluster manager for the given server.""" + e = email.strip().lower() + if e in get_super_admins(): + return True + if ambari_server and e in get_cluster_managers(ambari_server): + return True + return False + +def write_audit_log(actor, event, entity): + """Insert an audit record into the major audit table.""" + run_mysql_commands( + "INSERT INTO ambari_vault_major_audit (actor_email, audit_event, impact_entity) VALUES (%s, %s, %s)", + (actor, event, entity), "", True + ) + + +################## Creating user in AMBARI FUNCTION ########################## +def create_ambari_user(ambari_server, user_name, password, ambari_username, ambari_password, admin=False, role='CLUSTER.ADMINISTRATOR', http_method='http', port=8888): + global fLogger, fl + headers = {"X-Requested-By": "ambari", "Content-Type": "application/json"} + + # Create user in Ambari + url = f"{http_method}://{ambari_server}:{port}/api/v1/users" + payload = {"Users": {"user_name": user_name, "password": password, "active": True, "admin": admin}} + try: + response = requests.post(url, json=payload, headers=headers, auth=(ambari_username, ambari_password), timeout=30) + except requests.exceptions.RequestException as e: + fl.ferror(f" [ERROR] Connection error creating user {user_name} on {ambari_server}: {e}") + return False, f"Connection error to Ambari: {str(e)}" + + if response.status_code != 201: + fl.ferror(f" [ERROR] Failed to create user {user_name} on {ambari_server}: HTTP {response.status_code} - {response.text}") + return False, f"Failed to create user in Ambari (HTTP {response.status_code})" + + # Fetch cluster name to assign role + cluster_url = f"{http_method}://{ambari_server}:{port}/api/v1/clusters" + try: + cluster_response = requests.get(cluster_url, headers=headers, auth=(ambari_username, ambari_password), timeout=30) + except requests.exceptions.RequestException as e: + fl.ferror(f" [ERROR] Connection error fetching cluster for {ambari_server}: {e}") + return False, "Connection error fetching cluster name" + + if cluster_response.status_code != 200: + fl.ferror(f" [ERROR] Unable to fetch cluster name from {ambari_server}") + return False, "Failed to fetch cluster name" + + cluster_data = cluster_response.json() + if "items" not in cluster_data or not cluster_data["items"]: + fl.ferror(f" [ERROR] No cluster found on Ambari server {ambari_server}") + return False, "No cluster found on this Ambari server" + + cluster_name = cluster_data["items"][0]["Clusters"]["cluster_name"] + + # Assign cluster role + role_url = f"{http_method}://{ambari_server}:{port}/api/v1/clusters/{cluster_name}/privileges" + role_payload = { + "PrivilegeInfo": { + "principal_name": user_name, + "principal_type": "USER", + "permission_name": role + } + } + try: + role_response = requests.post(role_url, json=role_payload, headers=headers, auth=(ambari_username, ambari_password), timeout=30) + except requests.exceptions.RequestException as e: + fl.ferror(f" [ERROR] Connection error assigning role to {user_name} on {ambari_server}: {e}") + return False, "Connection error assigning role" + + if role_response.status_code not in [200, 201]: + fl.ferror(f" [ERROR] Unable to assign role '{role}' to user {user_name} on {ambari_server}: HTTP {role_response.status_code}") + return False, f"Failed to assign role '{role}' to user" + + return True, "User created successfully" + +###################### CREATING TEMPORARY USERS FUNCTION IN PYTHON ########################## + +@app.route('/create_user', methods=['POST']) +@cross_origin(supports_credentials=True) +def create_user(): + global fLogger,fl + """Creates a new user in Ambari and assigns Cluster Administrator role.""" + try: + data = request.get_json() + ambari_server = data.get("ambari_server") + request_time = int(data.get("request_time", 5)) + active = data.get("active", True) + admin = data.get("admin", False) + role = data.get("role") + allowed_roles = ("CLUSTER.ADMINISTRATOR", "CLUSTER.OPERATOR", "CLUSTER.USER") + if not role: + return jsonify({"error": "role is required"}), 400 + if role not in allowed_roles: + return jsonify({"error": f"Invalid role '{role}'. Must be one of: {', '.join(allowed_roles)}"}), 400 + email = request.headers.get("X-Email") + if not email: + fLogger.ferror(" [ERROR] Aborting as EMAIL is not provided in the Request") + fl.ferror(" [ERROR] Email is not provided in the request.. Aborting ....") + return jsonify({"error": "Missing email in request headers"}), 400 + + # Generate username based on email + user_name = "u_a_" + email.split("@")[0] +"-"+str(request_time)+ "_"+generate_password(4) + + if not ambari_server: + fl.ferror(f" [ERROR] Ambari Server is not provided in the Request.. Aborting ... ") + return jsonify({"error": "Missing Ambari server"}), 400 + + password = generate_password(21) + hashed_password = encrypt_password(password) + + # Fetch cluster settings (vault creds + access policy + DR status) + sql_check = """ + SELECT vault_password, http_method, port, single_user_mode, dr_compromised FROM ambari_onboarding + WHERE ambari_server = %s + """ + query_status, server_creds = run_mysql_commands(sql_check, (ambari_server,), "one") + if not query_status or not server_creds: + # Fallback: column may not exist yet + sql_check = """ + SELECT vault_password, http_method, port FROM ambari_onboarding + WHERE ambari_server = %s + """ + query_status, server_creds = run_mysql_commands(sql_check, (ambari_server,), "one") + if not query_status or not server_creds: + fl.ferror(f" [ERROR] Ambari server {ambari_server} not found in onboarding") + return jsonify({"error": "Ambari server not registered"}), 404 + server_creds = (server_creds[0], server_creds[1], server_creds[2], 0, 0) # default: multi-user, not compromised + + single_user_mode_flag = bool(server_creds[3]) if len(server_creds) > 3 else False + dr_compromised_flag = bool(server_creds[4]) if len(server_creds) > 4 else False + + # Block all user creation if DR password has been exposed via building_on_fire.py + if dr_compromised_flag: + fl.ferror(f" [ERROR] Cluster '{ambari_server}' is DR_COMPROMISED — blocking user creation") + return jsonify({"error": f"Cluster '{ambari_server}' has been flagged as DR_COMPROMISED. All Kavach user creation is blocked until a super admin re-registers the cluster."}), 403 + + # Enforce single-user policy only when enabled for this cluster + if single_user_mode_flag: + sq = "SELECT user_name FROM ambari_manager_users WHERE ambari_server = %s AND pass_flag = 1 AND expire_time > NOW()" + q_ok, existing_user = run_mysql_commands(sq, (ambari_server,), "one") + if q_ok and existing_user: + fl.ferror(f"An active user: {existing_user[0]} is already available in the requested cluster: {ambari_server}") + return jsonify({"error": f"Cluster '{ambari_server}' is in single-user mode — only one active temporary user is allowed at a time. Active user: {existing_user[0]}. Wait for it to expire or ask a manager to delete it."}), 409 + if not q_ok: + fl.fwarn(f" [WARN] Could not verify single-user mode for {ambari_server}: {existing_user} — proceeding with user creation") + + # Per-email, per-cluster, per-role guard (applies to ALL clusters, including multi-user mode). + # A requester cannot create a second user for the same cluster+role while their first is still active. + sq_active = """ + SELECT user_name, expire_time FROM ambari_manager_users + WHERE ambari_server = %s AND email = %s AND role = %s + AND pass_flag = 1 AND expire_time > NOW() + LIMIT 1 + """ + q_ok2, active_own = run_mysql_commands(sq_active, (ambari_server, email, role), "one") + if q_ok2 and active_own: + fl.ferror(f" [ERROR] {email} already has active user {active_own[0]} for cluster {ambari_server} role {role}, expiring at {active_own[1]}") + return jsonify({"error": f"You already have an active '{role}' user on cluster '{ambari_server}': '{active_own[0]}' (expires at {active_own[1]}). Wait for it to expire or ask a manager to delete it."}), 409 + + vault_password_enc = server_creds[0] + http_method = server_creds[1] or "http" + port = server_creds[2] or 8888 + success, message = create_ambari_user(ambari_server, user_name, password, "vault", decrypt_password(vault_password_enc), False, role, http_method, port) + if not success: + return jsonify({"error": message}), 500 + + else: + # Insert user into MySQL, including email and role + expire_time = datetime.now() + timedelta(minutes=request_time) + sql_insert = """ + INSERT INTO ambari_manager_users (ambari_server, user_name, email, hash_password, expire_time, pass_flag, created_at, role) + VALUES (%s, %s, %s, %s, %s, 1, NOW(), %s) + ON DUPLICATE KEY UPDATE hash_password = VALUES(hash_password), expire_time = VALUES(expire_time), pass_flag = 1, created_at = NOW(), role = VALUES(role) + """ + query_status, message = run_mysql_commands(sql_insert,(ambari_server, user_name, email, hashed_password, expire_time, role),"",True) + write_audit_log(email, 'USER_CREATED', f"{user_name}@{ambari_server}") + #send_notification(ambari_server,str(request_time),user_name,password,email) + fl.finfo(f" [INFO] Username creation successful! user: {user_name} in cluster:{ambari_server} ") + fLogger.finfo(f"Ambari User: {user_name} is created for user {email} in ambari-server: {ambari_server} for {request_time} minutes, The user {user_name} will expire at {expire_time}") + return jsonify({"username": user_name, "email": email, "password": password, "role": role}), 201 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +################################ SUDO POWER USER DELETION ########################### +@app.route('/api/manager/delete_user', methods=['POST']) +@app.route('/manager/delete_user', methods=['POST']) # legacy +@cross_origin(supports_credentials=True) +def delete_user(): + global fLogger,fl + """Deletes a user from both Ambari and MySQL.""" + try: + + data = request.get_json() + user_name = data.get("user_name") + email = (request.headers.get("X-Email") or "").strip().lower() + + if not email: + fLogger.ferror(" [ERROR] Aborting as EMAIL is not provided in the Request") + fl.ferror(" [ERROR] Email is not provided in the request.. Aborting ....") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not user_name: + fl.ferror(f" [ERROR] User name is not provided By the manager to delete the user Requested") + return jsonify({"error": "Username is required"}), 400 + + # Look up which cluster this user belongs to first (needed for cluster-manager permission check) + success, row = run_mysql_commands( + "SELECT ambari_server FROM ambari_manager_users WHERE user_name = %s AND pass_flag = 1", + (user_name,), "one", False + ) + if not success: + return jsonify({"error": "Database error looking up user"}), 500 + + # Determine cluster for permission check (may be None if user not found — will 404 below) + target_cluster = row[0] if row else None + if not has_manager_access(email, target_cluster): + fLogger.ferror(" [ERROR] Aborting: user requesting delete is not a manager for this cluster") + fl.ferror(" [ERROR] Aborting: user requesting delete is not a manager for this cluster") + return jsonify({"error": "You do not have manager permissions for this cluster."}), 403 + + if target_cluster: + ambari_server = target_cluster + sql_check = """ + SELECT vault_password, http_method, port FROM ambari_onboarding + WHERE ambari_server = %s + """ + success, server_creds = run_mysql_commands(sql_check, (ambari_server,), "one") + if success and server_creds: + vault_pwd = decrypt_password(server_creds[0]) + http_method = server_creds[1] or "http" + port = server_creds[2] or 8888 + if delete_user_from_ambari(user_name, ambari_server, "vault", vault_pwd, http_method, port): + run_mysql_commands("UPDATE ambari_manager_users SET pass_flag = 0, deleted_at = NOW() WHERE user_name = %s", (user_name,), "", True) + write_audit_log(email, 'MANAGER_VETO_DELETE', user_name) + fl.finfo(f" [INFO] The username {user_name} in {ambari_server} is deleted by the Manager {email} FORCEFULLY") + fLogger.finfo(f" [INFO] The username {user_name} in {ambari_server} is deleted by the Manager {email} FORCEFULLY") + return jsonify({"message": f"User '{user_name}' deleted successfully"}), 200 + else: + fl.ferror(f" [ERROR] Failed to delete {user_name} from Ambari - server {ambari_server} may be down or unreachable") + return jsonify({"error": f"Failed to delete user from Ambari. Cluster {ambari_server} may be down or unreachable."}), 503 + else: + fl.ferror(f" [ERROR]The username {user_name} which is trying to be deleted by the manager is already Deleted or not found") + return jsonify({"error": "User not found or already deleted"}), 404 + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + + +################################# EXPIRY USER DELETION ####################### + +def remove_expired_users(): + global fLogger,fl + """Removes expired users from MySQL and Ambari.""" + try: + # Fetch expired users along with their Ambari servers + s, expired_users = run_mysql_commands("SELECT user_name, ambari_server, email FROM ambari_manager_users WHERE expire_time < NOW() AND pass_flag = 1", None, "all", False) + if not s or not expired_users: + return + for row in expired_users: + user_name, ambari_server, user_email = row[0], row[1], row[2] if len(row) > 2 else "system" + if ambari_server: + fl.finfo(f" [INFO] Scheduler: removing expired user {user_name} from {ambari_server}") + sql_check = """ + SELECT vault_password, http_method, port FROM ambari_onboarding + WHERE ambari_server = %s + """ + s, server_creds = run_mysql_commands(sql_check, (ambari_server,), "one", False) + if not s or not server_creds: + fl.finfo(f" [INFO] Skipping {user_name} - Ambari server {ambari_server} not found in onboarding") + continue + try: + decrypted_password = decrypt_password(server_creds[0]) + http_method = server_creds[1] or "http" + port = server_creds[2] or 8888 + if delete_user_from_ambari(user_name, ambari_server, "vault", decrypted_password, http_method, port): + run_mysql_commands("UPDATE ambari_manager_users SET pass_flag = 0, deleted_at = NOW() WHERE user_name = %s", (user_name,), "", True) + write_audit_log(user_email or "system", 'USER_EXPIRED_AUTO_DELETED', f"{user_name}@{ambari_server}") + fLogger.finfo(f"Successfully auto-deleted expired user {user_name} from {ambari_server}") + else: + fl.ferror(f" [ERROR] Failed to delete expired user {user_name} from Ambari API ({ambari_server})") + except Exception as dec_err: + fl.ferror(f" [ERROR] Decryption failed for expired user {user_name}: {dec_err}") + + except Exception as e: + fl.ferror(f" [ERROR] remove_expired_users scheduler error: {str(e)}") + + +def delete_user_from_ambari(user_name, ambari_server, ambari_username, ambari_password, http_method='http', port=8888): + """Deletes a user from Ambari for a given server.""" + url = f"{http_method}://{ambari_server}:{port}/api/v1/users/{user_name}" + print(f"Making DELETE request to: {url}") + headers = {"X-Requested-By": "ambari"} + try: + response = requests.delete(url, auth=(ambari_username, ambari_password), headers=headers) + except Exception as e: + print(f"Looks Like Ambari Server {ambari_server}is DOWN or URL {url}is not available") + fl.finfo(f"Looks Like Ambari Server {ambari_server}is DOWN or URL {url}is not available") + fLogger.finfo(f"Looks Like Ambari Server {ambari_server}is DOWN or URL {url}is not available") + return False + if response.status_code in [200, 204]: + print(f"Successfully deleted {user_name} from {ambari_server}") + fl.finfo(f"Successfully deleted {user_name} from {ambari_server}") + return True + else: + print(f"Failed to delete {user_name} from {ambari_server}: {response.text}") + fl.finfo(f"Failed to delete {user_name} from {ambari_server}: {response.text}") + return False + +def get_ambari_users(ambari_server, user_name, password, http_method='http', port=8888): + """Fetch all users from Ambari server.""" + url = f"{http_method}://{ambari_server}:{port}/api/v1/users" + try: + response = requests.get(url, auth=(user_name, password)) + if response.status_code != 200: + fl.ferror(f" [ERROR] Not able fetch the available users in the cluster") + return [] + + #response.raise_for_status() + + users_data = response.json() + users = [user["Users"]["user_name"] for user in users_data.get("items", [])] + + return users + except requests.exceptions.RequestException as e: + print(f"Error fetching users: {e}") + return [] + + +########################## SIGNIN WITH GOOGLE ############################ + +@app.route('/auth/google-login', methods=['POST']) +@cross_origin(supports_credentials=True) # Apply CORS specifically for this route +def login(): + data = request.get_json() + user_data = data.get("userData") + + if not user_data: + return jsonify({'message': 'No user data provided.'}), 400 + + email = user_data.get("email") + hd = user_data.get('hd') # Hosted Domain + name = user_data.get('name') + picture = user_data.get('picture') # Google profile picture URL + given_name = user_data.get('given_name') + family_name = user_data.get('family_name') + + # Input validation — email is mandatory; hd is only present for Google Workspace accounts + if not email: + return jsonify({'message': 'Email is missing from Google user data.'}), 400 + + # Derive the effective domain: + # - Google Workspace accounts supply `hd` (e.g. "company.com") + # - Personal Gmail accounts do NOT supply `hd`, so fall back to the email domain + effective_domain = hd if hd else (email.split('@')[1] if '@' in email else '') + + fl.finfo(f" [INFO] Google login attempt for email: {email}, effective domain: {effective_domain}") + + # Domain restriction + try: + allowed = config.get("auth", "allowed_domains") + except (NoSectionError, NoOptionError): + allowed = "gmail.com" + allowed_domains = [d.strip() for d in allowed.split(",") if d.strip()] + if effective_domain not in allowed_domains: + return jsonify({'message': f'Access denied: Domain "{effective_domain}" is not allowed. Permitted domains: {", ".join(allowed_domains)}'}), 403 + + # Use effective_domain in the response so the frontend stores the correct value + hd = effective_domain + + # Create access token using email as identity + access_token = create_access_token(identity=email) + fl.finfo(f" [INFO] JWT token issued for {email}") + + # --- Constructing the Response --- + # Return all the user_data you received, plus the access_token and a message. + response_data = { + "access_token": access_token, + "message": f"Successfully signed in as {name} ({email})", + "user": { + "email": email, + "name": name, + "hd": hd, + "picture": picture, + "given_name": given_name, + "family_name": family_name + # Add any other user_data fields you need on the frontend + # e.g., "locale": user_data.get("locale"), + # "id": user_data.get("sub") # Google's unique user ID + } + } + + return jsonify(response_data), 200 + +############################ REGISTER AN AMBARI SERVER ################### +@app.route('/api/register', methods=['POST']) +@cross_origin(supports_credentials=True) +def register_server(): + """Creates and registers the New Ambari Server Cluster""" + try: + data = request.get_json() + ambari_server = data.get("ambari_server") + port = data.get("port", 8888) + http_method = data.get("http_method","http") + manager_emails_raw = data.get("manager_emails", []) + single_user_mode = 1 if data.get("single_user_mode") else 0 + + if not ambari_server: + fl.ferror(" [ERROR] Ambari Server is not provided in the request. Aborting...") + return jsonify({"error": "Missing Ambari server"}), 400 + + # Validate and deduplicate manager emails + validated_managers = [] + seen = set() + for e in (manager_emails_raw or []): + e = str(e).strip().lower() + if not e: + continue + if not is_valid_email(e): + return jsonify({"error": f"Invalid manager email format: '{e}'"}), 400 + if e not in seen: + seen.add(e) + validated_managers.append(e) + manager_emails_json = json.dumps(validated_managers) + + sql_check = "SELECT ambari_server FROM ambari_onboarding WHERE ambari_server = %s" + query_status, message = run_mysql_commands(sql_check,(ambari_server,),"one") + + if message: + fl.ferror(f"An active cluster {ambari_server} is already registered in the Ambari Vault") + return jsonify({"error": f"Ambari Server already exists in Ambari Vault, policy violation for: {ambari_server}"}), 409 + + + # Validate admin/admin credential in Ambari cluster + initial_ambari_username = "admin" + initial_ambari_password = "admin" + check_url = f"{http_method}://{ambari_server}:{port}/api/v1/clusters" + headers = {"X-Requested-By": "ambari", "Content-Type": "application/json"} + check_response = requests.get(check_url, headers=headers, auth=(initial_ambari_username, initial_ambari_password)) + + if check_response.status_code != 200: + fl.ferror(" [ERROR] The initial credential admin/admin is not correctly present") + return jsonify({"error": "[POLICY] The initial credential admin/admin is missing in the Ambari Server"}), 500 + + users_existed = get_ambari_users(ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + + # Create Vault user + if "vault" in users_existed: + delete_user_from_ambari("vault", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + + vault_password = generate_password(12) + vault_hashed_password = encrypt_password(vault_password) + vault_failure, vault_message = create_ambari_user(ambari_server, "vault", vault_password, initial_ambari_username, initial_ambari_password, True, 'CLUSTER.ADMINISTRATOR', http_method, port) + + if not vault_failure: + fl.ferror(" [ERROR] Error while creating the Vault Ambari user") + return jsonify({"error": vault_message}), 500 + + # Create Admin DR user + if "ambari_admin_dr" in users_existed: + delete_user_from_ambari("ambari_admin_dr", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + + dr_password = generate_password(12) + dr_hashed_password = encrypt_password(dr_password) + dr_failure, dr_message = create_ambari_user(ambari_server, "ambari_admin_dr", dr_password, initial_ambari_username, initial_ambari_password, True, 'CLUSTER.ADMINISTRATOR', http_method, port) + + if not dr_failure: + delete_user_from_ambari("vault", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + fl.ferror(" [ERROR] Error while creating the Ambari Admin DR user") + return jsonify({"error": dr_message}), 500 + + # Create CLUSTER USERS (sre_ro and dev_ro) with generated passwords + sre_ro_password = generate_password(16) + dev_ro_password = generate_password(16) + create_ambari_user(ambari_server, "sre_ro", sre_ro_password, initial_ambari_username, initial_ambari_password, False, "CLUSTER.USER", http_method, port) + create_ambari_user(ambari_server, "dev_ro", dev_ro_password, initial_ambari_username, initial_ambari_password, False, "CLUSTER.USER", http_method, port) + + # Delete users other than Vault, Admin DR, Admin, sre_ro, dev_ro + filtered_users_list = [u for u in users_existed if u not in ("vault", "ambari_admin_dr", "admin", "sre_ro", "dev_ro")] + + for u in filtered_users_list: + success = delete_user_from_ambari(u, ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + if not success: + delete_user_from_ambari("vault", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + delete_user_from_ambari("ambari_admin_dr", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + return jsonify({"error": f"Failed to delete {u} from {ambari_server}, which violates the registration policy"}), 500 + + delete_user_from_ambari("admin", ambari_server, "vault", vault_password, http_method, port) + + # Store hashed passwords, cluster managers, and access policy in MySQL + # Try full INSERT first; auto-migrate missing columns as needed + sql_insert_full = """ + INSERT INTO ambari_onboarding (ambari_server, http_method, port, vault_password, admin_dr_password, manager_emails, single_user_mode) + VALUES (%s, %s, %s, %s, %s, %s, %s) + """ + sql_insert_mgr_only = """ + INSERT INTO ambari_onboarding (ambari_server, http_method, port, vault_password, admin_dr_password, manager_emails) + VALUES (%s, %s, %s, %s, %s, %s) + """ + query_status, message = run_mysql_commands( + sql_insert_full, + (ambari_server, http_method, port, vault_hashed_password, dr_hashed_password, manager_emails_json, single_user_mode), + "", True + ) + if not query_status: + # single_user_mode column may not exist yet — auto-migrate + fl.fwarn(" [WARN] single_user_mode or manager_emails column missing during register — auto-migrating") + run_mysql_commands("ALTER TABLE ambari_onboarding ADD COLUMN manager_emails TEXT DEFAULT NULL", None, "", True) + run_mysql_commands("ALTER TABLE ambari_onboarding ADD COLUMN single_user_mode TINYINT(1) DEFAULT 0", None, "", True) + query_status, message = run_mysql_commands( + sql_insert_full, + (ambari_server, http_method, port, vault_hashed_password, dr_hashed_password, manager_emails_json, single_user_mode), + "", True + ) + if not query_status: + # Last-resort fallback: insert without new columns + query_status, message = run_mysql_commands( + sql_insert_mgr_only, + (ambari_server, http_method, port, vault_hashed_password, dr_hashed_password, manager_emails_json), + "", True + ) + if not query_status: + return jsonify({"error": f"Registration failed: {message}"}), 500 + + reg_email = (request.headers.get("X-Email") or "").strip() or "system" + write_audit_log(reg_email, 'CLUSTER_REGISTERED', ambari_server) + + return jsonify({"message": "Registration DONE Successfully"}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +############################ RE - REGISTER AN AMBARI SERVER By manager ################### + +@app.route('/api/re-register', methods=['POST']) +@cross_origin(supports_credentials=True) +def re_register_server(): + """Re-registers an existing Ambari Server Cluster - Manager Only""" + global fLogger, fl + try: + data = request.get_json() + ambari_server = data.get("ambari_server") + port = data.get("port", 8888) + http_method = data.get("http_method", "http") + email = (request.headers.get("X-Email") or "").strip().lower() + + if not email: + fLogger.ferror(" [ERROR] Aborting as EMAIL is not provided in the Request") + fl.ferror(" [ERROR] Email is not provided in the request.. Aborting ....") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not has_manager_access(email, ambari_server): + fLogger.ferror(" [ERROR] Aborting: user requesting re-register is not a manager for this cluster") + fl.ferror(" [ERROR] Aborting: user requesting re-register is not a manager for this cluster") + return jsonify({"error": "You do not have manager permissions for this cluster."}), 403 + + if not ambari_server: + fl.ferror(" [ERROR] Ambari Server is not provided in the request. Aborting...") + return jsonify({"error": "Missing Ambari server"}), 400 + + # Check if the Ambari server exists + sql_check = "SELECT ambari_server FROM ambari_onboarding WHERE ambari_server = %s" + query_status, existing_cluster = run_mysql_commands(sql_check, (ambari_server,), "one") + + if not existing_cluster: + fl.ferror(f"This Ambari is not registered YET. Please Register This ambari Server Through Registration Form") + return jsonify({"error": f"This Ambari is not registered YET. Please Register This ambari Server Through Registration Form: {ambari_server}"}), 409 + + # Validate admin/admin credential in Ambari cluster + initial_ambari_username = "admin" + initial_ambari_password = "admin" + check_url = f"{http_method}://{ambari_server}:{port}/api/v1/clusters" + headers = {"X-Requested-By": "ambari", "Content-Type": "application/json"} + check_response = requests.get(check_url, headers=headers, auth=(initial_ambari_username, initial_ambari_password)) + + if check_response.status_code != 200: + fl.ferror(" [ERROR] The initial credential admin/admin is not correctly present") + return jsonify({"error": "[POLICY] The initial credential admin/admin is missing in the Ambari Server"}), 500 + + users_existed = get_ambari_users(ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + + # Create Vault user + if "vault" in users_existed: + delete_user_from_ambari("vault", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + + vault_password = generate_password(12) + vault_hashed_password = encrypt_password(vault_password) + vault_failure, vault_message = create_ambari_user(ambari_server, "vault", vault_password, initial_ambari_username, initial_ambari_password, True, 'CLUSTER.ADMINISTRATOR', http_method, port) + + if not vault_failure: + fl.ferror(" [ERROR] Error while creating the Vault Ambari user") + return jsonify({"error": vault_message}), 500 + + # Create Admin DR user + if "ambari_admin_dr" in users_existed: + delete_user_from_ambari("ambari_admin_dr", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + + dr_password = generate_password(12) + dr_hashed_password = encrypt_password(dr_password) + dr_failure, dr_message = create_ambari_user(ambari_server, "ambari_admin_dr", dr_password, initial_ambari_username, initial_ambari_password, True, 'CLUSTER.ADMINISTRATOR', http_method, port) + + if not dr_failure: + delete_user_from_ambari("vault", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + fl.ferror(" [ERROR] Error while creating the Ambari Admin DR user") + return jsonify({"error": dr_message}), 500 + + # Create CLUSTER USERS (sre_ro and dev_ro) with generated passwords + sre_ro_password = generate_password(16) + dev_ro_password = generate_password(16) + create_ambari_user(ambari_server, "sre_ro", sre_ro_password, initial_ambari_username, initial_ambari_password, False, "CLUSTER.USER", http_method, port) + create_ambari_user(ambari_server, "dev_ro", dev_ro_password, initial_ambari_username, initial_ambari_password, False, "CLUSTER.USER", http_method, port) + + # Delete users other than Vault, Admin DR, Admin, sre_ro, dev_ro + filtered_users_list = [u for u in users_existed if u not in ("vault", "ambari_admin_dr", "admin", "sre_ro", "dev_ro")] + + for u in filtered_users_list: + success = delete_user_from_ambari(u, ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + if not success: + delete_user_from_ambari("vault", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + delete_user_from_ambari("ambari_admin_dr", ambari_server, initial_ambari_username, initial_ambari_password, http_method, port) + return jsonify({"error": f"Failed to delete {u} from {ambari_server}, which violates the registration policy"}), 500 + + delete_user_from_ambari("admin", ambari_server, "vault", vault_password, http_method, port) + + # Update hashed passwords in MySQL and clear DR_COMPROMISED flag + sql_update = """ + UPDATE ambari_onboarding + SET vault_password = %s, admin_dr_password = %s, http_method = %s, port = %s, dr_compromised = 0 + WHERE ambari_server = %s + """ + query_status, message = run_mysql_commands(sql_update, (vault_hashed_password, dr_hashed_password, http_method, port, ambari_server), "", True) + + write_audit_log(email, 'MANAGER_REREGISTRATION_DONE', ambari_server) + + fl.finfo(f" [INFO] Re-registration completed successfully for {ambari_server} by manager {email}") + return jsonify({"message": "RE-Registration DONE Successfully"}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +############################ TEST AMBARI CONNECTION ################### + +@app.route('/api/test_connection', methods=['POST']) +@cross_origin(supports_credentials=True) +def test_ambari_connection(): + """Test connectivity to an Ambari server (admin/admin)""" + global fl + try: + data = request.get_json() + ambari_server = data.get("ambari_server") + port = int(data.get("port", 8888)) + http_method = data.get("http_method", "http") + if not ambari_server: + return jsonify({"error": "Missing ambari_server"}), 400 + url = f"{http_method}://{ambari_server}:{port}/api/v1/clusters" + headers = {"X-Requested-By": "ambari", "Content-Type": "application/json"} + r = requests.get(url, headers=headers, auth=("admin", "admin"), timeout=15) + if r.status_code == 200: + count = len(r.json().get("items", [])) + return jsonify({"ok": True, "message": f"Connected. Found {count} cluster(s)."}) + elif r.status_code == 401: + return jsonify({"ok": False, "message": "Authentication failed. Ensure admin/admin is active."}) + return jsonify({"ok": False, "message": f"HTTP {r.status_code}"}) + except requests.exceptions.ConnectionError: + return jsonify({"ok": False, "message": "Connection refused. Check hostname and port."}) + except requests.exceptions.Timeout: + return jsonify({"ok": False, "message": "Connection timed out."}) + except Exception as e: + return jsonify({"ok": False, "message": str(e)}) + +############################ HEALTH CHECK ################### + +@app.route('/api/health', methods=['GET']) +@cross_origin(supports_credentials=True) +def health_check(): + """Simple health check for connectivity validation""" + return jsonify({"status": "ok", "service": "ambari-kavach"}), 200 + +############################ GET ALL THE SERVERS REGISTERED ################### + +@app.route('/api/servers', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_servers(): + """Fetch all registered Ambari servers with connection details""" + global fl + try: + # Try full query first; fall back gracefully for old deployments missing new columns + query_status, servers = run_mysql_commands( + "SELECT ambari_server, http_method, port, manager_emails, single_user_mode FROM ambari_onboarding", None, "all" + ) + has_extra_cols = True + has_manager_col = False + if not query_status: + # Try with just manager_emails + query_status, servers = run_mysql_commands( + "SELECT ambari_server, http_method, port, manager_emails FROM ambari_onboarding", None, "all" + ) + has_extra_cols = False + has_manager_col = query_status + if not query_status: + fl.fwarn(" [WARN] manager_emails column not found — falling back to base query") + query_status, servers = run_mysql_commands( + "SELECT ambari_server, http_method, port FROM ambari_onboarding", None, "all" + ) + + if not query_status: + fl.ferror(" [ERROR] Failed to fetch servers from database") + return jsonify({"error": "Database query failed"}), 500 + + server_list = [s[0] for s in servers] if servers else [] + servers_detail = [] + for s in (servers or []): + mgr_emails = [] + single_user = False + if has_extra_cols: + try: + mgr_emails = json.loads(s[3]) if s[3] else [] + except (json.JSONDecodeError, TypeError): + mgr_emails = [] + single_user = bool(s[4]) if len(s) > 4 and s[4] is not None else False + elif has_manager_col: + try: + mgr_emails = json.loads(s[3]) if s[3] else [] + except (json.JSONDecodeError, TypeError): + mgr_emails = [] + servers_detail.append({ + "host": s[0], + "http_method": s[1] or "http", + "port": s[2] or 8888, + "manager_emails": mgr_emails, + "single_user_mode": single_user, + }) + return jsonify({"servers": server_list, "servers_detail": servers_detail}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +############################ GET AUDIT LOGS ################### + +@app.route('/api/audit_logs', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_audit_logs(): + """Fetch recent audit logs from ambari_vault_major_audit""" + global fl + try: + email = (request.headers.get("X-Email") or "").strip() + if not email: + return jsonify({"error": "Missing email in request headers"}), 400 + + try: + limit = max(1, min(int(request.args.get("limit", 200)), 500)) + offset = max(0, int(request.args.get("offset", 0))) + except (ValueError, TypeError): + limit, offset = 200, 0 + + ok, rows = run_mysql_commands( + "SELECT actor_email, audit_event, impact_entity, event_time FROM ambari_vault_major_audit ORDER BY event_time DESC LIMIT %s OFFSET %s", + (limit, offset), "all" + ) + if not ok: + return jsonify({"error": rows if isinstance(rows, str) else "Database query failed"}), 500 + + # Get total count for pagination metadata + ok_count, count_row = run_mysql_commands("SELECT COUNT(*) FROM ambari_vault_major_audit", None, "one") + total = count_row[0] if ok_count and count_row else 0 + + logs = [{"user": r[0], "event": r[1], "entity": r[2], "timestamp": str(r[3]) if r[3] else None} for r in (rows or [])] + return jsonify({"audit_logs": logs, "total": total, "limit": limit, "offset": offset}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] audit_logs: {str(e)}") + return jsonify({"error": str(e)}), 500 + +############################ GET CURRENT USER INFO ################### + +@app.route('/api/me', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_current_user(): + """Return current user email, super-admin status, and per-cluster manager status.""" + try: + email = (request.headers.get("X-Email") or "").strip().lower() + if not email: + return jsonify({"error": "Missing email in request headers"}), 400 + + user_is_super_admin = is_super_admin(email) + + # Find which clusters this user manages (if not super admin, check per-cluster) + managed = [] + if not user_is_super_admin: + ok, rows = run_mysql_commands( + "SELECT ambari_server, manager_emails FROM ambari_onboarding", + None, "all", False + ) + for row in (rows if ok and isinstance(rows, list) else []): + server, mgr_emails_json = row[0], row[1] + if not mgr_emails_json: + continue + try: + mgr_list = [e.strip().lower() for e in json.loads(mgr_emails_json) if e] + if email in mgr_list: + managed.append(server) + except (json.JSONDecodeError, TypeError): + pass + + return jsonify({ + "email": email, + "is_super_admin": user_is_super_admin, + "managed_clusters": managed, + "is_manager": user_is_super_admin or len(managed) > 0, + }), 200 + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +############################ GET ALL THE ACTIVE USERS FOR A GIVEN USER EMAIL ################### + +@app.route('/api/active_users', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_active_users(): + """Fetch active users for the requesting email""" + global fLogger, fl + try: + email = request.headers.get("X-Email") + if not email: + fLogger.ferror(" [ERROR] Aborting as EMAIL is not provided in the Request") + fl.ferror(" [ERROR] Email is not provided in the request.. Aborting ....") + return jsonify({"error": "Missing email in request headers"}), 400 + + sql_query = """ + SELECT user_name, hash_password, ambari_server, created_at, expire_time + FROM ambari_manager_users + WHERE email = %s AND pass_flag = 1 + """ + query_status, users = run_mysql_commands(sql_query, (email,), "all") + + if not query_status: + fl.ferror(" [ERROR] Failed to fetch active users from database") + return jsonify({"error": "Database query failed"}), 500 + + if not users: + return jsonify({"message": "No active users available for the given email"}), 404 + + user_list = [ + { + "username": user[0], + "password": decrypt_password(user[1]), + "ambari_server": user[2], + "created_at": str(user[3]) if user[3] else None, + "expire_time": str(user[4]) if user[4] else None + } for user in reversed(users) + ] + return jsonify({"active_users": user_list}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + + + +######################## GET ALL THE USERS FOR A GIVEN USER EMAIL ################### + +@app.route('/api/expired_users', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_all_users(): + """Fetch all expired users for the requesting email""" + global fLogger, fl + try: + email = request.headers.get("X-Email") + if not email: + fLogger.ferror(" [ERROR] Aborting as EMAIL is not provided in the Request") + fl.ferror(" [ERROR] Email is not provided in the request.. Aborting ....") + return jsonify({"error": "Missing email in request headers"}), 400 + + sql_query = """ + SELECT user_name, ambari_server, created_at, expire_time, deleted_at + FROM ambari_manager_users + WHERE email = %s AND pass_flag = 0 + """ + query_status, users = run_mysql_commands(sql_query, (email,), "all") + + if not query_status: + fl.ferror(" [ERROR] Failed to fetch expired users from database") + return jsonify({"error": "Database query failed"}), 500 + + if not users: + return jsonify({"message": "No expired users available for the given email"}), 404 + + user_list = [ + { + "username": user[0], + "ambari_server": user[1], + "created_at": str(user[2]) if user[2] else None, + "expired_at": str(user[3]) if user[3] else None, + "deleted_at": str(user[4]) if user[4] else None + } for user in reversed(users) + ] + return jsonify({"all_users": user_list}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + + + +######################## GET ALL THE USERS FOR A GIVEN CLUSTER ################### + +@app.route('/api/cluster_users', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_cluster_users(): + """Fetch all users (active and expired) for a given Ambari server""" + global fLogger, fl + try: + # Get ambari_server from query parameters + ambari_server = request.args.get("ambari_server") + + # Validate ambari_server parameter + if not ambari_server: + fl.ferror(" [ERROR] Ambari server parameter is missing") + return jsonify({"error": "Missing ambari_server parameter"}), 400 + + # Check if the Ambari server is registered + sql_check_server = "SELECT ambari_server FROM ambari_onboarding WHERE ambari_server = %s" + query_status, server_exists = run_mysql_commands(sql_check_server, (ambari_server,), "one") + + if not query_status: + fl.ferror(" [ERROR] Failed to check server registration") + return jsonify({"error": "Database query failed"}), 500 + + if not server_exists: + fl.ferror(f" [ERROR] Ambari server {ambari_server} is not registered") + return jsonify({"error": f"Ambari server '{ambari_server}' is not registered in the system"}), 404 + + # Fetch all users for the given ambari_server + sql_query = """ + SELECT + user_name, + email, + created_at, + expire_time, + pass_flag, + deleted_at, + hash_password + FROM ambari_manager_users + WHERE ambari_server = %s + ORDER BY created_at DESC + """ + query_status, users = run_mysql_commands(sql_query, (ambari_server,), "all") + + if not query_status: + fl.ferror(" [ERROR] Failed to fetch cluster users from database") + return jsonify({"error": "Database query failed"}), 500 + + if not users: + return jsonify({ + "message": f"No users found for Ambari server '{ambari_server}'", + "ambari_server": ambari_server, + "total_users": 0, + "active_users": 0, + "expired_users": 0, + "users": [] + }), 200 + + # Process users data + active_users = [] + expired_users = [] + + for user in users: + user_data = { + "username": user[0], + "email": user[1], + "created_at": str(user[2]) if user[2] else None, + "expire_time": str(user[3]) if user[3] else None, + "status": "active" if user[4] == 1 else "expired", + "deleted_at": str(user[5]) if user[5] else None + } + + # Add password only for active users + if user[4] == 1: # pass_flag = 1 means active + user_data["password"] = decrypt_password(user[6]) + active_users.append(user_data) + else: + expired_users.append(user_data) + + # Prepare response + response_data = { + "ambari_server": ambari_server, + "total_users": len(users), + "active_users_count": len(active_users), + "expired_users_count": len(expired_users), + "active_users": active_users, + "expired_users": expired_users, + "summary": { + "cluster": ambari_server, + "total": len(users), + "active": len(active_users), + "expired": len(expired_users) + } + } + + fl.finfo(f" [INFO] fetched user list for cluster {ambari_server} - Total: {len(users)}, Active: {len(active_users)}, Expired: {len(expired_users)}") + return jsonify(response_data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + + + + +########################## Adding new thing nelow to test ################################################## + + +############################ AMBARI CLUSTER INFORMATION APIS ###################### + +def get_ambari_credentials(ambari_server): + """Helper function to get Ambari credentials for a registered server""" + sql_check = "SELECT vault_password, http_method, port FROM ambari_onboarding WHERE ambari_server = %s" + query_status, server_data = run_mysql_commands(sql_check, (ambari_server,), "one") + + if not query_status or not server_data: + return None, None, None, None + + vault_password = decrypt_password(server_data[0]) + http_method = server_data[1] or "http" + port = server_data[2] or 8888 + + return "vault", vault_password, http_method, port + +def make_ambari_request(ambari_server, endpoint, email): + """Helper function to make authenticated requests to Ambari""" + username, password, http_method, port = get_ambari_credentials(ambari_server) + + if not username: + return None, {"error": "Ambari server not registered"}, 404 + + url = f"{http_method}://{ambari_server}:{port}/api/v1/{endpoint}" + headers = {"X-Requested-By": "ambari"} + + try: + response = requests.get(url, auth=(username, password), headers=headers, timeout=30) + + if response.status_code == 200: + return response.json(), None, 200 + else: + fl.ferror(f" [ERROR] Failed to fetch data from {url} - Status: {response.status_code}") + return None, {"error": f"Failed to fetch data from Ambari: {response.status_code}"}, response.status_code + + except requests.exceptions.Timeout: + fl.ferror(f" [ERROR] Timeout connecting to {ambari_server}") + return None, {"error": "Connection timeout to Ambari server"}, 500 + except requests.exceptions.ConnectionError: + fl.ferror(f" [ERROR] Connection error to {ambari_server}") + return None, {"error": "Connection error to Ambari server"}, 500 + except Exception as e: + fl.ferror(f" [ERROR] Request failed: {str(e)}") + return None, {"error": str(e)}, 500 + +@app.route('/api/ambari/clusters', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_clusters(): + """Fetch all clusters from a given Ambari server""" + global fl + try: + ambari_server = request.args.get("ambari_server") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server: + fl.ferror(" [ERROR] Ambari server parameter is missing") + return jsonify({"error": "Missing ambari_server parameter"}), 400 + + data, error, status_code = make_ambari_request(ambari_server, "clusters", email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched clusters from {ambari_server}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/hosts', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_hosts(): + """Fetch all hosts from a given Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server parameter"}), 400 + + if cluster_name: + endpoint = f"clusters/{cluster_name}/hosts" + else: + endpoint = "hosts" + + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched hosts from {ambari_server}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/services', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_services(): + """Fetch all services from a given Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + endpoint = f"clusters/{cluster_name}/services" + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched services from {ambari_server}/{cluster_name}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/components', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_components(): + """Fetch all components from a given service in Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + service_name = request.args.get("service_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + if service_name: + endpoint = f"clusters/{cluster_name}/services/{service_name}/components" + else: + endpoint = f"clusters/{cluster_name}/components" + + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched components from {ambari_server}/{cluster_name}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/host_components', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_host_components(): + """Fetch host components from a given Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + host_name = request.args.get("host_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + if host_name: + endpoint = f"clusters/{cluster_name}/hosts/{host_name}/host_components" + else: + endpoint = f"clusters/{cluster_name}/host_components" + + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched host components from {ambari_server}/{cluster_name}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/configurations', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_configurations(): + """Fetch configurations from a given Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + config_type = request.args.get("config_type") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + if config_type: + endpoint = f"clusters/{cluster_name}/configurations?type={config_type}" + else: + endpoint = f"clusters/{cluster_name}/configurations" + + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched configurations from {ambari_server}/{cluster_name}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/users', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_users(): + """Fetch all users from Ambari server""" + global fl + try: + ambari_server = request.args.get("ambari_server") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server: + fl.ferror(" [ERROR] Ambari server parameter is missing") + return jsonify({"error": "Missing ambari_server parameter"}), 400 + + data, error, status_code = make_ambari_request(ambari_server, "users", email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched Ambari users from {ambari_server}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/groups', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_groups(): + """Fetch all groups from Ambari server""" + global fl + try: + ambari_server = request.args.get("ambari_server") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server: + fl.ferror(" [ERROR] Ambari server parameter is missing") + return jsonify({"error": "Missing ambari_server parameter"}), 400 + + data, error, status_code = make_ambari_request(ambari_server, "groups", email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched Ambari groups from {ambari_server}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/privileges', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_privileges(): + """Fetch privileges from Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + endpoint = f"clusters/{cluster_name}/privileges" + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched privileges from {ambari_server}/{cluster_name}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/requests', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_requests(): + """Fetch requests/operations from Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + endpoint = f"clusters/{cluster_name}/requests" + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched requests from {ambari_server}/{cluster_name}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/stack_versions', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_stack_versions(): + """Fetch stack versions from Ambari server""" + global fl + try: + ambari_server = request.args.get("ambari_server") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server: + fl.ferror(" [ERROR] Ambari server parameter is missing") + return jsonify({"error": "Missing ambari_server parameter"}), 400 + + data, error, status_code = make_ambari_request(ambari_server, "stacks", email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched stack versions from {ambari_server}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/ambari/alerts', methods=['GET']) +@cross_origin(supports_credentials=True) +def fetch_ambari_alerts(): + """Fetch alerts from Ambari cluster""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + endpoint = f"clusters/{cluster_name}/alerts" + data, error, status_code = make_ambari_request(ambari_server, endpoint, email) + + if error: + return jsonify(error), status_code + + fl.finfo(f" [INFO] User {email} fetched alerts from {ambari_server}/{cluster_name}") + return jsonify(data), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + + +########################## @@@@@@@@@@@@@@ ################# + +############################ AMBARI AGGREGATED ANALYTICS APIS ###################### + +@app.route('/api/analytics/cluster_overview', methods=['GET']) +@cross_origin(supports_credentials=True) +def get_cluster_overview(): + """Get comprehensive cluster overview with all resources and services""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + # Get clusters data + clusters_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}", email) + if error: + return jsonify(error), status + + # Get hosts data - request total_mem/available_mem for correct memory utilization (fallback if 400) + hosts_data, error, status = make_ambari_request( + ambari_server, + f"clusters/{cluster_name}/hosts?fields=Hosts/total_mem,Hosts/available_mem,Hosts/host_name,Hosts/ip,Hosts/cpu_count,Hosts/disk_info", + email, + ) + if error and status == 400: + hosts_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/hosts", email) + if error: + return jsonify(error), status + + # Get services data + services_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/services", email) + if error: + return jsonify(error), status + + # Get host components + components_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/host_components", email) + if error: + return jsonify(error), status + + # Process and aggregate data + cluster_info = clusters_data.get('Clusters', {}) + hosts = hosts_data.get('items', []) + services = services_data.get('items', []) + host_components = components_data.get('items', []) + + # Aggregate host resources + total_memory = 0 + total_cpu_cores = 0 + total_disk_space = 0 + host_details = [] + + used_memory_gb = 0 + for host in hosts: + host_info = host.get('Hosts', {}) or {} + memory = host_info.get('total_mem') or 0 + try: + memory = float(memory) / (1024 * 1024) if memory else 0 # KB to GB + except (TypeError, ValueError): + memory = 0 + avail_mem = host_info.get('available_mem') or 0 + try: + avail_mem = float(avail_mem) / (1024 * 1024) if avail_mem else 0 + except (TypeError, ValueError): + avail_mem = 0 + used_memory_gb += max(0, memory - avail_mem) + cpu_count = host_info.get('cpu_count') or host_info.get('ph_cpu_count') or 0 + try: + cpu_count = int(cpu_count) if cpu_count else 0 + except (TypeError, ValueError): + cpu_count = 0 + disk_info = host_info.get('disk_info', []) or [] + + total_memory += memory + total_cpu_cores += cpu_count + + host_disk_total = sum([float(disk.get('size') or 0) for disk in disk_info]) / (1024 * 1024 * 1024) # Convert bytes to GB + total_disk_space += host_disk_total + + host_details.append({ + "hostname": host_info.get('host_name'), + "ip": host_info.get('ip'), + "memory_gb": round(memory, 2), + "available_memory_gb": round(avail_mem, 2), + "cpu_cores": int(cpu_count), + "disk_gb": round(host_disk_total, 2), + "os_type": host_info.get('os_type'), + "rack_info": host_info.get('rack_info'), + "host_state": host_info.get('host_state') + }) + + # Fallback: if list endpoint returned no metrics, fetch each host for full details + if total_memory == 0 and total_cpu_cores == 0 and hosts: + used_memory_gb = 0 + for host in hosts: + host_info = host.get('Hosts', {}) + host_name = host_info.get('host_name') + if not host_name: + continue + host_detail_data, err, _ = make_ambari_request( + ambari_server, f"clusters/{cluster_name}/hosts/{host_name}", email + ) + if err: + continue + h = host_detail_data.get('Hosts', {}) + mem_kb = h.get('total_mem', 0) or 0 + mem_gb = (mem_kb / (1024 * 1024)) if mem_kb else 0 + avail_kb = h.get('available_mem', 0) or 0 + avail_gb = (avail_kb / (1024 * 1024)) if avail_kb else 0 + used_memory_gb += max(0, mem_gb - avail_gb) + cpu = h.get('cpu_count', 0) or h.get('ph_cpu_count', 0) or 0 + total_memory += mem_gb + total_cpu_cores += cpu + disk_list = h.get('disk_info', []) or [] + d_gb = sum(float(d.get('size') or 0) for d in disk_list) / (1024 * 1024 * 1024) + total_disk_space += d_gb + for hd in host_details: + if hd.get('hostname') == host_name: + hd['memory_gb'] = round(mem_gb, 2) + hd['available_memory_gb'] = round(avail_gb, 2) + hd['cpu_cores'] = int(cpu) + hd['disk_gb'] = round(d_gb, 2) + break + + # Aggregate service information + service_summary = [] + for service in services: + service_info = service.get('ServiceInfo', {}) + service_summary.append({ + "service_name": service_info.get('service_name'), + "state": service_info.get('state'), + "maintenance_state": service_info.get('maintenance_state') + }) + + # Compute utilization from host data + utilization = {} + if total_memory > 0: + utilization = { + "used_memory_gb": round(used_memory_gb, 2), + "available_memory_gb": round(total_memory - used_memory_gb, 2), + "memory_utilization_percent": round((used_memory_gb / total_memory * 100), 2), + } + + # Fetch alerts for health summary + health_summary = {} + try: + health_resp, health_err, _ = make_ambari_request( + ambari_server, f"clusters/{cluster_name}/alerts", email + ) + if not health_err and health_resp: + alerts = health_resp.get('items', []) + critical = sum(1 for a in alerts if a.get('Alert', {}).get('state') == 'CRITICAL') + warning = sum(1 for a in alerts if a.get('Alert', {}).get('state') == 'WARNING') + health_summary = {"critical_alerts": critical, "warning_alerts": warning} + except Exception: + pass + + # Fetch all users for this cluster - active and expired (no password) + past_users = [] + try: + sql_users = """ + SELECT user_name, email, created_at, expire_time, pass_flag + FROM ambari_manager_users + WHERE ambari_server = %s + ORDER BY created_at DESC + """ + ok, rows = run_mysql_commands(sql_users, (ambari_server,), "all") + if ok and rows: + past_users = [ + {"username": r[0], "email": r[1], "created_at": str(r[2]) if r[2] else None, "expire_time": str(r[3]) if r[3] else None, "status": "active" if r[4] == 1 else "expired"} + for r in rows + ] + fl.finfo(f" [INFO] Fetched {len(past_users)} users for cluster {ambari_server}") + except Exception as ex: + fl.ferror(f" [ERROR] Failed to fetch users for {ambari_server}: {ex}") + + # Create comprehensive overview + overview = { + "cluster_info": { + "cluster_name": cluster_info.get('cluster_name'), + "version": cluster_info.get('version'), + "cluster_id": cluster_info.get('cluster_id'), + "security_type": cluster_info.get('security_type') + }, + "resource_summary": { + "total_hosts": len(hosts), + "total_memory_gb": round(total_memory, 2), + "total_cpu_cores": int(total_cpu_cores), + "total_disk_gb": round(total_disk_space, 2), + "total_services": len(services), + **utilization, + }, + "health_summary": health_summary, + "hosts": host_details, + "services": service_summary, + "past_users": past_users, + "generated_at": datetime.now().isoformat() + } + + fl.finfo(f" [INFO] User {email} fetched cluster overview for {ambari_server}/{cluster_name}") + return jsonify(overview), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/analytics/host_details', methods=['GET']) +@cross_origin(supports_credentials=True) +def get_host_details(): + """Get detailed information for a specific host including components and resources""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + host_name = request.args.get("host_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name or not host_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing required parameters"}), 400 + + # Get host information + host_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/hosts/{host_name}", email) + if error: + return jsonify(error), status + + # Get host components + components_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/hosts/{host_name}/host_components", email) + if error: + return jsonify(error), status + + host_info = host_data.get('Hosts', {}) + components = components_data.get('items', []) + + # Process host metrics + host_details = { + "basic_info": { + "hostname": host_info.get('host_name'), + "ip_address": host_info.get('ip'), + "public_hostname": host_info.get('public_host_name'), + "os_arch": host_info.get('os_arch'), + "os_type": host_info.get('os_type'), + "os_family": host_info.get('os_family'), + "rack_info": host_info.get('rack_info'), + "host_state": host_info.get('host_state'), + "health_status": host_info.get('host_health_report', {}).get('HostHealthStatus', {}).get('health_status') + }, + "resources": { + "total_memory_kb": host_info.get('total_mem'), + "total_memory_gb": round(host_info.get('total_mem', 0) / (1024 * 1024), 2), + "available_memory_kb": host_info.get('available_mem'), + "available_memory_gb": round(host_info.get('available_mem', 0) / (1024 * 1024), 2), + "cpu_count": host_info.get('cpu_count'), + "physical_cpu_count": host_info.get('ph_cpu_count'), + "load_avg": { + "load_one": host_info.get('load_one'), + "load_five": host_info.get('load_five'), + "load_fifteen": host_info.get('load_fifteen') + } + }, + "disk_info": host_info.get('disk_info', []), + "components": [] + } + + # Process components information + for component in components: + comp_info = component.get('HostRoles', {}) + host_details["components"].append({ + "component_name": comp_info.get('component_name'), + "service_name": comp_info.get('service_name'), + "state": comp_info.get('state'), + "desired_state": comp_info.get('desired_state'), + "maintenance_state": comp_info.get('maintenance_state'), + "stack_id": comp_info.get('stack_id') + }) + + # Calculate resource utilization percentages + if host_details["resources"]["total_memory_gb"] > 0: + memory_used_gb = host_details["resources"]["total_memory_gb"] - host_details["resources"]["available_memory_gb"] + host_details["resources"]["memory_utilization_percent"] = round((memory_used_gb / host_details["resources"]["total_memory_gb"]) * 100, 2) + + fl.finfo(f" [INFO] User {email} fetched host details for {host_name} in {ambari_server}/{cluster_name}") + return jsonify(host_details), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/analytics/service_distribution', methods=['GET']) +@cross_origin(supports_credentials=True) +def get_service_distribution(): + """Get service distribution across hosts with component mapping""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + # Get services + services_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/services", email) + if error: + return jsonify(error), status + + # Get all host components + components_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/host_components", email) + if error: + return jsonify(error), status + + services = services_data.get('items', []) + host_components = components_data.get('items', []) + + # Create service distribution map + service_distribution = {} + host_service_map = {} + + for service in services: + service_name = service.get('ServiceInfo', {}).get('service_name') + service_distribution[service_name] = { + "service_state": service.get('ServiceInfo', {}).get('state'), + "components": {}, + "total_components": 0, + "hosts": set() + } + + for component in host_components: + comp_info = component.get('HostRoles', {}) + service_name = comp_info.get('service_name') + component_name = comp_info.get('component_name') + host_name = comp_info.get('host_name') + + if service_name in service_distribution: + if component_name not in service_distribution[service_name]["components"]: + service_distribution[service_name]["components"][component_name] = { + "hosts": [], + "count": 0 + } + + service_distribution[service_name]["components"][component_name]["hosts"].append({ + "host_name": host_name, + "state": comp_info.get('state'), + "desired_state": comp_info.get('desired_state') + }) + service_distribution[service_name]["components"][component_name]["count"] += 1 + service_distribution[service_name]["total_components"] += 1 + service_distribution[service_name]["hosts"].add(host_name) + + # Build host-service mapping + if host_name not in host_service_map: + host_service_map[host_name] = [] + host_service_map[host_name].append({ + "service": service_name, + "component": component_name, + "state": comp_info.get('state') + }) + + # Convert sets to lists for JSON serialization + for service_name in service_distribution: + service_distribution[service_name]["hosts"] = list(service_distribution[service_name]["hosts"]) + service_distribution[service_name]["host_count"] = len(service_distribution[service_name]["hosts"]) + + distribution_summary = { + "cluster_name": cluster_name, + "ambari_server": ambari_server, + "service_distribution": service_distribution, + "host_service_mapping": host_service_map, + "summary": { + "total_services": len(service_distribution), + "total_unique_hosts": len(host_service_map), + "services": list(service_distribution.keys()) + }, + "generated_at": datetime.now().isoformat() + } + + fl.finfo(f" [INFO] User {email} fetched service distribution for {ambari_server}/{cluster_name}") + return jsonify(distribution_summary), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/analytics/resource_utilization', methods=['GET']) +@cross_origin(supports_credentials=True) +def get_resource_utilization(): + """Get cluster-wide resource utilization metrics""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + # Get hosts data + hosts_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/hosts", email) + if error: + return jsonify(error), status + + hosts = hosts_data.get('items', []) + + # Calculate resource metrics + cluster_resources = { + "total_memory_gb": 0, + "available_memory_gb": 0, + "used_memory_gb": 0, + "total_cpu_cores": 0, + "total_disk_gb": 0, + "host_count": len(hosts), + "hosts_by_utilization": [], + "resource_distribution": { + "high_memory_hosts": [], + "high_cpu_hosts": [], + "low_resource_hosts": [] + } + } + + for host in hosts: + host_info = host.get('Hosts', {}) + hostname = host_info.get('host_name', 'unknown') + + # Memory calculations + total_mem_gb = (host_info.get('total_mem', 0) / (1024 * 1024)) + available_mem_gb = (host_info.get('available_mem', 0) / (1024 * 1024)) + used_mem_gb = total_mem_gb - available_mem_gb + memory_util_percent = (used_mem_gb / total_mem_gb * 100) if total_mem_gb > 0 else 0 + + # CPU information + cpu_cores = host_info.get('cpu_count', 0) + load_one = host_info.get('load_one', 0) + cpu_util_percent = (load_one / cpu_cores * 100) if cpu_cores > 0 else 0 + + # Disk information + disk_info = host_info.get('disk_info', []) + total_disk_gb = sum([float(disk.get('size') or 0) for disk in disk_info]) / (1024 * 1024 * 1024) + + # Aggregate cluster totals + cluster_resources["total_memory_gb"] += total_mem_gb + cluster_resources["available_memory_gb"] += available_mem_gb + cluster_resources["used_memory_gb"] += used_mem_gb + cluster_resources["total_cpu_cores"] += cpu_cores + cluster_resources["total_disk_gb"] += total_disk_gb + + host_utilization = { + "hostname": hostname, + "memory": { + "total_gb": round(total_mem_gb, 2), + "used_gb": round(used_mem_gb, 2), + "available_gb": round(available_mem_gb, 2), + "utilization_percent": round(memory_util_percent, 2) + }, + "cpu": { + "cores": cpu_cores, + "load_one": load_one, + "utilization_percent": round(cpu_util_percent, 2) + }, + "disk": { + "total_gb": round(total_disk_gb, 2) + } + } + + cluster_resources["hosts_by_utilization"].append(host_utilization) + + # Categorize hosts by resource usage + if memory_util_percent > 80: + cluster_resources["resource_distribution"]["high_memory_hosts"].append(hostname) + if cpu_util_percent > 80: + cluster_resources["resource_distribution"]["high_cpu_hosts"].append(hostname) + if total_mem_gb < 4 or cpu_cores < 2: # Low resource threshold + cluster_resources["resource_distribution"]["low_resource_hosts"].append(hostname) + + # Calculate cluster-wide utilization percentages + if cluster_resources["total_memory_gb"] > 0: + cluster_resources["cluster_memory_utilization_percent"] = round( + (cluster_resources["used_memory_gb"] / cluster_resources["total_memory_gb"]) * 100, 2 + ) + + # Round aggregate values + cluster_resources["total_memory_gb"] = round(cluster_resources["total_memory_gb"], 2) + cluster_resources["available_memory_gb"] = round(cluster_resources["available_memory_gb"], 2) + cluster_resources["used_memory_gb"] = round(cluster_resources["used_memory_gb"], 2) + cluster_resources["total_disk_gb"] = round(cluster_resources["total_disk_gb"], 2) + + utilization_report = { + "cluster_name": cluster_name, + "ambari_server": ambari_server, + "resource_summary": cluster_resources, + "generated_at": datetime.now().isoformat() + } + + fl.finfo(f" [INFO] User {email} fetched resource utilization for {ambari_server}/{cluster_name}") + return jsonify(utilization_report), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + +@app.route('/api/analytics/cluster_health', methods=['GET']) +@cross_origin(supports_credentials=True) +def get_cluster_health(): + """Get comprehensive cluster health status including alerts and service states""" + global fl + try: + ambari_server = request.args.get("ambari_server") + cluster_name = request.args.get("cluster_name") + email = request.headers.get("X-Email") + + if not email: + fl.ferror(" [ERROR] Email is not provided in the request") + return jsonify({"error": "Missing email in request headers"}), 400 + + if not ambari_server or not cluster_name: + fl.ferror(" [ERROR] Missing required parameters") + return jsonify({"error": "Missing ambari_server or cluster_name parameter"}), 400 + + # Get services + services_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/services", email) + if error: + return jsonify(error), status + + # Get alerts + alerts_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/alerts", email) + if error: + alerts_data = {"items": []} # Continue without alerts if not available + + # Get hosts + hosts_data, error, status = make_ambari_request(ambari_server, f"clusters/{cluster_name}/hosts", email) + if error: + return jsonify(error), status + + services = services_data.get('items', []) + alerts = alerts_data.get('items', []) + hosts = hosts_data.get('items', []) + + # Analyze service health + service_health = { + "healthy": [], + "unhealthy": [], + "maintenance": [], + "unknown": [] + } + + for service in services: + service_info = service.get('ServiceInfo', {}) + service_name = service_info.get('service_name') + service_state = service_info.get('state', 'UNKNOWN') + maintenance_state = service_info.get('maintenance_state', 'OFF') + + if maintenance_state != 'OFF': + service_health["maintenance"].append(service_name) + elif service_state == 'STARTED': + service_health["healthy"].append(service_name) + elif service_state in ['STOPPED', 'INSTALL_FAILED', 'START_FAILED']: + service_health["unhealthy"].append(service_name) + else: + service_health["unknown"].append(service_name) + + # Analyze host health + host_health = { + "healthy": [], + "unhealthy": [], + "unknown": [] + } + + for host in hosts: + host_info = host.get('Hosts', {}) + hostname = host_info.get('host_name') + host_state = host_info.get('host_state', 'UNKNOWN') + health_report = host_info.get('host_health_report', {}) + health_status = health_report.get('HostHealthStatus', {}).get('health_status', 'UNKNOWN') + + if host_state == 'HEALTHY' and health_status == 'HEALTHY': + host_health["healthy"].append(hostname) + elif host_state in ['UNHEALTHY', 'HEARTBEAT_LOST'] or health_status == 'UNHEALTHY': + host_health["unhealthy"].append(hostname) + else: + host_health["unknown"].append(hostname) + + # Analyze alerts by severity + alert_summary = { + "critical": [], + "warning": [], + "ok": [], + "unknown": [] + } + + for alert in alerts: + alert_info = alert.get('Alert', {}) + alert_name = alert_info.get('definition_name', 'Unknown Alert') + alert_state = alert_info.get('state', 'UNKNOWN') + + if alert_state == 'CRITICAL': + alert_summary["critical"].append({ + "name": alert_name, + "text": alert_info.get('text', ''), + "host": alert_info.get('host_name', '') + }) + elif alert_state == 'WARNING': + alert_summary["warning"].append({ + "name": alert_name, + "text": alert_info.get('text', ''), + "host": alert_info.get('host_name', '') + }) + elif alert_state == 'OK': + alert_summary["ok"].append(alert_name) + else: + alert_summary["unknown"].append(alert_name) + + # Calculate overall health score + total_services = len(services) + healthy_services = len(service_health["healthy"]) + total_hosts = len(hosts) + healthy_hosts = len(host_health["healthy"]) + total_alerts = len(alerts) + critical_alerts = len(alert_summary["critical"]) + + service_health_score = (healthy_services / total_services * 100) if total_services > 0 else 100 + host_health_score = (healthy_hosts / total_hosts * 100) if total_hosts > 0 else 100 + alert_health_score = ((total_alerts - critical_alerts) / total_alerts * 100) if total_alerts > 0 else 100 + + overall_health_score = (service_health_score + host_health_score + alert_health_score) / 3 + + health_report = { + "cluster_name": cluster_name, + "ambari_server": ambari_server, + "overall_health_score": round(overall_health_score, 2), + "health_status": "HEALTHY" if overall_health_score >= 80 else "WARNING" if overall_health_score >= 60 else "CRITICAL", + "services": { + "total": total_services, + "health_breakdown": service_health, + "health_score": round(service_health_score, 2) + }, + "hosts": { + "total": total_hosts, + "health_breakdown": host_health, + "health_score": round(host_health_score, 2) + }, + "alerts": { + "total": total_alerts, + "breakdown": alert_summary, + "critical_count": critical_alerts, + "health_score": round(alert_health_score, 2) + }, + "recommendations": [], + "generated_at": datetime.now().isoformat() + } + + # Add recommendations based on health analysis + if critical_alerts > 0: + health_report["recommendations"].append("Investigate and resolve critical alerts immediately") + if len(service_health["unhealthy"]) > 0: + health_report["recommendations"].append(f"Restart or investigate unhealthy services: {', '.join(service_health['unhealthy'])}") + if len(host_health["unhealthy"]) > 0: + health_report["recommendations"].append(f"Check unhealthy hosts: {', '.join(host_health['unhealthy'])}") + if overall_health_score < 60: + health_report["recommendations"].append("Cluster requires immediate attention - multiple components are unhealthy") + + fl.finfo(f" [INFO] User {email} fetched cluster health for {ambari_server}/{cluster_name}") + return jsonify(health_report), 200 + + except Exception as e: + fl.ferror(f" [ERROR] The backend ran into error: {str(e)}") + return jsonify({"error": str(e)}), 500 + + + + +############################ DELETE A CLUSTER (Super Admin only) ################### + +@app.route('/api/clusters/', methods=['DELETE']) +@cross_origin(supports_credentials=True) +def delete_cluster(server): + """Permanently removes a cluster from Kavach. Super admin only.""" + global fl + try: + email = (request.headers.get("X-Email") or "").strip().lower() + if not email: + return jsonify({"error": "Missing email in request headers"}), 400 + if not is_super_admin(email): + fl.ferror(f" [SECURITY] Non-super-admin {email} attempted to delete cluster {server}") + return jsonify({"error": "Only super admins can delete clusters."}), 403 + + # Verify cluster exists + ok, row = run_mysql_commands( + "SELECT ambari_server, vault_password, http_method, port FROM ambari_onboarding WHERE ambari_server = %s", + (server,), "one" + ) + if not ok or not row: + return jsonify({"error": f"Cluster '{server}' not found."}), 404 + + vault_pwd = decrypt_password(row[1]) + http_method = row[2] or "http" + port = row[3] or 8888 + + restore_warnings = [] + + # Step 1: Delete all active Kavach temp users from Ambari via vault + ok2, active_users = run_mysql_commands( + "SELECT user_name FROM ambari_manager_users WHERE ambari_server = %s AND pass_flag = 1", + (server,), "all", False + ) + deleted_count = 0 + for user_row in (active_users if ok2 and isinstance(active_users, list) else []): + if delete_user_from_ambari(user_row[0], server, "vault", vault_pwd, http_method, port): + deleted_count += 1 + + # Mark all users as deleted in DB + run_mysql_commands( + "UPDATE ambari_manager_users SET pass_flag = 0, deleted_at = NOW() WHERE ambari_server = %s AND pass_flag = 1", + (server,), "", True + ) + + # Step 2: Restore Ambari to original state — recreate admin/admin, remove vault + DR accounts + # 2a. Create admin user with password 'admin' via vault + admin_ok, admin_msg = create_ambari_user( + server, "admin", "admin", "vault", vault_pwd, True, "CLUSTER.ADMINISTRATOR", http_method, port + ) + if admin_ok: + fl.finfo(f" [INFO] Restored admin/admin on {server}") + # 2b. Delete ambari_admin_dr via admin/admin + if not delete_user_from_ambari("ambari_admin_dr", server, "admin", "admin", http_method, port): + restore_warnings.append("Could not remove ambari_admin_dr (may not exist)") + # 2c. Delete vault via admin/admin + if not delete_user_from_ambari("vault", server, "admin", "admin", http_method, port): + restore_warnings.append("Could not remove vault user (may not exist)") + else: + fl.ferror(f" [ERROR] Failed to restore admin/admin on {server}: {admin_msg}") + restore_warnings.append(f"Could not restore admin/admin: {admin_msg}") + + # Step 3: Remove cluster from Kavach DB + run_mysql_commands("DELETE FROM ambari_onboarding WHERE ambari_server = %s", (server,), "", True) + + write_audit_log(email, 'CLUSTER_DELETED', server) + msg = f"Cluster '{server}' deleted. {deleted_count} temp user(s) removed. Ambari restored to admin/admin." + if restore_warnings: + msg += " Warnings: " + "; ".join(restore_warnings) + fl.finfo(f" [INFO] {msg}") + return jsonify({"message": msg, "warnings": restore_warnings}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] delete_cluster: {str(e)}") + return jsonify({"error": str(e)}), 500 + + +############################ UPDATE CLUSTER MANAGERS (Super Admin only) ################### + +@app.route('/api/clusters//managers', methods=['PUT']) +@cross_origin(supports_credentials=True) +def update_cluster_managers(server): + """Update the per-cluster manager list. Super admin only.""" + global fl + try: + email = (request.headers.get("X-Email") or "").strip().lower() + if not email: + return jsonify({"error": "Missing email in request headers"}), 400 + if not is_super_admin(email): + fl.ferror(f" [SECURITY] Non-super-admin {email} attempted to update managers for cluster {server}") + return jsonify({"error": "Only super admins can update cluster managers."}), 403 + + # Verify cluster exists + ok, row = run_mysql_commands( + "SELECT ambari_server FROM ambari_onboarding WHERE ambari_server = %s", + (server,), "one" + ) + if not ok or not row: + return jsonify({"error": f"Cluster '{server}' not found."}), 404 + + data = request.get_json() + manager_emails_raw = data.get("manager_emails", []) + single_user_mode = 1 if data.get("single_user_mode") else 0 + + # Validate and deduplicate manager emails + validated = [] + seen = set() + for e in (manager_emails_raw or []): + e = str(e).strip().lower() + if not e: + continue + if not is_valid_email(e): + return jsonify({"error": f"Invalid email format: '{e}'"}), 400 + if e not in seen: + seen.add(e) + validated.append(e) + + manager_emails_json = json.dumps(validated) + + # Try full UPDATE (manager_emails + single_user_mode); auto-migrate missing columns + ok2, _ = run_mysql_commands( + "UPDATE ambari_onboarding SET manager_emails = %s, single_user_mode = %s WHERE ambari_server = %s", + (manager_emails_json, single_user_mode, server), "", True + ) + if not ok2: + fl.fwarn(" [WARN] Columns missing — running auto-migration and retrying") + run_mysql_commands("ALTER TABLE ambari_onboarding ADD COLUMN manager_emails TEXT DEFAULT NULL", None, "", True) + run_mysql_commands("ALTER TABLE ambari_onboarding ADD COLUMN single_user_mode TINYINT(1) DEFAULT 0", None, "", True) + ok2, _ = run_mysql_commands( + "UPDATE ambari_onboarding SET manager_emails = %s, single_user_mode = %s WHERE ambari_server = %s", + (manager_emails_json, single_user_mode, server), "", True + ) + if not ok2: + return jsonify({"error": "Database update failed after migration. Please check server logs."}), 500 + + write_audit_log(email, 'CLUSTER_MANAGERS_UPDATED', server) + fl.finfo(f" [INFO] Cluster '{server}' settings updated by {email}: managers={validated}, single_user_mode={single_user_mode}") + return jsonify({"message": "Cluster settings updated successfully.", "manager_emails": validated, "single_user_mode": bool(single_user_mode)}), 200 + + except Exception as e: + fl.ferror(f" [ERROR] update_cluster_managers: {str(e)}") + return jsonify({"error": str(e)}), 500 + + +# --- JWT Configuration --- +CORS(app) +_jwt_secret = os.environ.get("JWT_SECRET_KEY") +if not _jwt_secret: + raise RuntimeError( + "JWT_SECRET_KEY environment variable is not set. " + "Generate one with: python3 -c \"import secrets; print(secrets.token_hex(32))\"" + ) +app.config["JWT_SECRET_KEY"] = _jwt_secret +app.config["JWT_ACCESS_TOKEN_EXPIRES"] = timedelta(hours=1) +jwt = JWTManager(app) + +# --- JWT Authentication Middleware --- +# Public paths that do not require a valid JWT token +_JWT_PUBLIC_PATHS = {'/auth/google-login', '/api/health', '/api/test_connection'} + +@app.before_request +def _verify_jwt_auth(): + """Verify JWT on all protected routes and ensure X-Email header matches the token identity.""" + if flask.request.method == 'OPTIONS': + return None # Allow CORS preflight through + if flask.request.path in _JWT_PUBLIC_PATHS: + return None # Public endpoints + # Only protect API-level paths + is_protected = ( + flask.request.path.startswith('/api/') or + flask.request.path == '/create_user' or + flask.request.path.startswith('/manager/') + ) + if not is_protected: + return None + try: + verify_jwt_in_request() + token_email = get_jwt_identity() + flask.g.jwt_email = token_email + except Exception: + return jsonify({"error": "Authentication required. Please log in again."}), 401 + # Verify X-Email header (if present) matches JWT identity to prevent spoofing + header_email = (flask.request.headers.get("X-Email") or "").strip().lower() + if header_email and token_email and header_email != token_email.lower(): + fl.ferror(f" [SECURITY] X-Email header ({header_email}) does not match JWT identity ({token_email})") + return jsonify({"error": "Identity mismatch: token and email header do not match"}), 403 + +# --- SPA fallback: serve frontend for non-API routes (when frontend dist exists) --- +_FRONTEND_DIST = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "ambari-kavach-frontend", "dist")) + +@app.route("/", defaults={"path": ""}) +@app.route("/") +def serve_spa(path): + """Serve frontend SPA for non-API routes when dist exists.""" + if path.startswith("api/") or path.startswith("auth/") or path == "create_user" or path.startswith("manager/"): + return jsonify({"error": "Not Found"}), 404 + if os.path.isdir(_FRONTEND_DIST): + if path and os.path.exists(os.path.join(_FRONTEND_DIST, path)): + return send_from_directory(_FRONTEND_DIST, path) + return send_from_directory(_FRONTEND_DIST, "index.html") + return jsonify({"error": "Not Found"}), 404 + +# Start background scheduler for expired user cleanup (runs in both dev and production) +_scheduler = BackgroundScheduler() +_scheduler.add_job(remove_expired_users, "interval", minutes=1) +_scheduler.start() + +if __name__ == '__main__': + try: + app.run(host="0.0.0.0", port=5000) + finally: + _scheduler.shutdown() \ No newline at end of file diff --git a/ambari-kavach/ambari-kavach-backend/building_on_fire.py b/ambari-kavach/ambari-kavach-backend/building_on_fire.py new file mode 100644 index 00000000000..80b982b21c4 --- /dev/null +++ b/ambari-kavach/ambari-kavach-backend/building_on_fire.py @@ -0,0 +1,383 @@ +#!/usr/bin/env python3 +""" +╔══════════════════════════════════════════════════════════════════════════════╗ +║ AMBARI KAVACH — EMERGENCY DISASTER-RECOVERY TOOL ║ +║ building_on_fire.py ║ +╠══════════════════════════════════════════════════════════════════════════════╣ +║ Use this script when Kavach server is DOWN and you need the Ambari ║ +║ Admin DR password to manually recover a cluster. ║ +║ ║ +║ What this script does: ║ +║ 1. Decrypts and displays the ambari_admin_dr password for a cluster ║ +║ 2. Flags the cluster as DR_COMPROMISED in the Kavach database ║ +║ 3. Writes an AMBARI_DR_COMPROMISED audit event ║ +║ 4. Blocks ALL new temporary user creation on that cluster via Kavach ║ +║ until a super admin re-registers the cluster ║ +║ ║ +║ Usage: ║ +║ python3 building_on_fire.py ║ +║ --db-host localhost --db-name ambari_kavach ║ +║ --db-user kavach_user --db-password secret ║ +║ --encryption-key ║ +║ [--cluster ] [--operator ] ║ +╚══════════════════════════════════════════════════════════════════════════════╝ +""" + +import argparse +import getpass +import json +import os +import sys +from datetime import datetime + +# ── third-party deps (same as app.py) ───────────────────────────────────────── +try: + import mysql.connector + from mysql.connector import Error +except ImportError: + print("[FATAL] mysql-connector-python not installed.") + print(" Run: pip install mysql-connector-python") + sys.exit(1) + +try: + from cryptography.fernet import Fernet, InvalidToken +except ImportError: + print("[FATAL] cryptography not installed.") + print(" Run: pip install cryptography") + sys.exit(1) + +# ── ANSI colours ────────────────────────────────────────────────────────────── +RED = "\033[91m" +YELLOW = "\033[93m" +GREEN = "\033[92m" +CYAN = "\033[96m" +BOLD = "\033[1m" +RESET = "\033[0m" + +def banner(): + print(f""" +{RED}{BOLD} + ╔══════════════════════════════════════════════════════════╗ + ║ 🔥 BUILDING ON FIRE — KAVACH EMERGENCY 🔥 ║ + ╚══════════════════════════════════════════════════════════╝ +{RESET}""") + +def warn(msg): print(f"{YELLOW}[WARN] {msg}{RESET}") +def info(msg): print(f"{CYAN}[INFO] {msg}{RESET}") +def ok(msg): print(f"{GREEN}[OK] {msg}{RESET}") +def error(msg): print(f"{RED}[ERROR] {msg}{RESET}") + +# ── Config resolution ───────────────────────────────────────────────────────── + +def resolve_db_config(args) -> dict: + base = { + "host": args.db_host, + "database": args.db_name, + "user": args.db_user, + "password": args.db_password, + } + + missing = [k for k in ("host", "database", "user", "password") if not base.get(k)] + if missing: + print(f"\n{YELLOW}Some database credentials are missing. Please enter them:{RESET}") + if "host" in missing: + base["host"] = input(" MySQL host : ").strip() or "localhost" + if "database" in missing: + base["database"] = input(" Database name : ").strip() or "ambari_kavach" + if "user" in missing: + base["user"] = input(" DB username : ").strip() + if "password" in missing: + base["password"] = getpass.getpass(" DB password : ") + + return base + + +def resolve_cipher(args) -> "Fernet": + key = args.encryption_key or os.environ.get("KAVACH_ENCRYPTION_KEY") + if not key: + error("No encryption key provided. Use --encryption-key or set KAVACH_ENCRYPTION_KEY env var.") + sys.exit(1) + return Fernet(key.encode() if isinstance(key, str) else key) + +# ── DB helpers ──────────────────────────────────────────────────────────────── + +def connect(db_cfg: dict): + try: + conn = mysql.connector.connect(**db_cfg) + return conn + except Error as e: + error(f"Cannot connect to MySQL: {e}") + sys.exit(1) + + +def fetch_all_clusters(conn) -> list[dict]: + """Return list of cluster rows, tolerating missing new columns.""" + cursor = conn.cursor() + try: + cursor.execute( + "SELECT ambari_server, http_method, port, admin_dr_password, " + "manager_emails, single_user_mode, dr_compromised " + "FROM ambari_onboarding" + ) + rows = cursor.fetchall() + return [ + { + "host": r[0], + "http_method": r[1] or "http", + "port": r[2] or 8888, + "admin_dr_enc": r[3], + "manager_emails": _safe_json(r[4]), + "single_user_mode": bool(r[5]) if r[5] is not None else False, + "dr_compromised": bool(r[6]) if r[6] is not None else False, + } + for r in rows + ] + except Error: + # Fallback: columns may not exist yet + cursor.execute( + "SELECT ambari_server, http_method, port, admin_dr_password " + "FROM ambari_onboarding" + ) + rows = cursor.fetchall() + return [ + { + "host": r[0], + "http_method": r[1] or "http", + "port": r[2] or 8888, + "admin_dr_enc": r[3], + "manager_emails": [], + "single_user_mode": False, + "dr_compromised": False, + } + for r in rows + ] + finally: + cursor.close() + + +def _safe_json(raw) -> list: + if not raw: + return [] + try: + return json.loads(raw) + except Exception: + return [] + + +def ensure_dr_column(conn): + """Auto-add dr_compromised column if not present — idempotent.""" + cursor = conn.cursor() + try: + cursor.execute( + "ALTER TABLE ambari_onboarding " + "ADD COLUMN dr_compromised TINYINT(1) DEFAULT 0" + ) + conn.commit() + info("Auto-migrated: added dr_compromised column to ambari_onboarding.") + except Error as e: + if "Duplicate column" in str(e): + pass # already exists — fine + else: + warn(f"Could not add dr_compromised column: {e}") + finally: + cursor.close() + + +def mark_dr_compromised(conn, host: str): + ensure_dr_column(conn) + cursor = conn.cursor() + try: + cursor.execute( + "UPDATE ambari_onboarding SET dr_compromised = 1 WHERE ambari_server = %s", + (host,) + ) + conn.commit() + ok(f"Cluster '{host}' flagged as DR_COMPROMISED in database.") + except Error as e: + error(f"Failed to set dr_compromised flag: {e}") + finally: + cursor.close() + + +def write_audit_event(conn, host: str, operator: str): + """Write AMBARI_DR_COMPROMISED event to audit log.""" + cursor = conn.cursor() + try: + cursor.execute( + "INSERT INTO ambari_vault_major_audit " + "(actor_email, audit_event, impact_entity) VALUES (%s, %s, %s)", + (operator, "AMBARI_DR_COMPROMISED", host) + ) + conn.commit() + ok(f"Audit event AMBARI_DR_COMPROMISED written for '{host}'.") + except Error as e2: + warn(f"Could not write audit event: {e2}") + finally: + cursor.close() + + +# ── Core flow ───────────────────────────────────────────────────────────────── + +def select_cluster(clusters: list[dict], arg_host: str | None) -> dict: + if arg_host: + match = next((c for c in clusters if c["host"] == arg_host), None) + if not match: + error(f"Cluster '{arg_host}' not found in Kavach database.") + print(" Available clusters:") + for c in clusters: + print(f" • {c['host']}") + sys.exit(1) + return match + + print(f"\n{BOLD}Registered clusters:{RESET}") + for i, c in enumerate(clusters, 1): + status = f"{RED}DR COMPROMISED{RESET}" if c["dr_compromised"] else f"{GREEN}OK{RESET}" + print(f" {BOLD}{i}.{RESET} {c['host']} [{c['http_method']}:{c['port']}] {status}") + + while True: + try: + choice = input(f"\nSelect cluster number (1-{len(clusters)}): ").strip() + idx = int(choice) - 1 + if 0 <= idx < len(clusters): + return clusters[idx] + except (ValueError, KeyboardInterrupt): + pass + print(" Invalid choice. Try again.") + + +def confirm(prompt: str) -> bool: + while True: + ans = input(f"\n{YELLOW}{BOLD}{prompt}{RESET} [yes/no]: ").strip().lower() + if ans in ("yes", "y"): + return True + if ans in ("no", "n"): + return False + + +def reveal_password(cluster: dict, cipher: Fernet) -> str: + try: + plain = cipher.decrypt(cluster["admin_dr_enc"].encode()).decode() + return plain + except InvalidToken: + error("Decryption failed — encryption key does not match the one used during cluster registration.") + sys.exit(1) + except Exception as e: + error(f"Unexpected decryption error: {e}") + sys.exit(1) + + +# ── Main ────────────────────────────────────────────────────────────────────── + +def main(): + parser = argparse.ArgumentParser( + description="Kavach emergency DR password recovery tool", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=""" +Example: + python3 building_on_fire.py --db-host localhost --db-name ambari_kavach --db-user kavach_user --db-password secret --encryption-key --cluster prod-ambari.internal.example.com --operator oncall@example.com + """ + ) + + parser.add_argument("--cluster", metavar="HOSTNAME", help="Target Ambari server hostname (skip interactive selection)") + parser.add_argument("--operator", default="emergency-script", help="Your email / identifier for the audit log") + parser.add_argument("--db-host", metavar="HOST", help="MySQL hostname or IP") + parser.add_argument("--db-name", metavar="DATABASE", help="Kavach database name") + parser.add_argument("--db-user", metavar="USER", help="MySQL username") + parser.add_argument("--db-password", metavar="PASSWORD", help="MySQL password") + parser.add_argument("--encryption-key", metavar="KEY", help="Fernet encryption key (or set KAVACH_ENCRYPTION_KEY env var)") + + args = parser.parse_args() + + banner() + + # ── Resolve config & connect ─────────────────────────────────────────────── + db_cfg = resolve_db_config(args) + cipher = resolve_cipher(args) + + info(f"Connecting to MySQL at {db_cfg['host']} / {db_cfg['database']} …") + conn = connect(db_cfg) + ok("Connected.") + + # ── Fetch clusters ───────────────────────────────────────────────────────── + clusters = fetch_all_clusters(conn) + if not clusters: + error("No clusters registered in Kavach database.") + conn.close() + sys.exit(1) + + # ── Select target cluster ────────────────────────────────────────────────── + cluster = select_cluster(clusters, args.cluster) + + print(f""" +{BOLD}Target cluster:{RESET} + Host : {cluster['host']} + Connection : {cluster['http_method']}://{cluster['host']}:{cluster['port']} + Managers : {', '.join(cluster['manager_emails']) or 'None assigned'} + DR status : {'⚠️ ALREADY COMPROMISED' if cluster['dr_compromised'] else '✅ Not yet flagged'} +""") + + if cluster["dr_compromised"]: + warn("This cluster is already flagged as DR_COMPROMISED.") + warn("New Kavach user creation is already blocked on this cluster.") + if not confirm("Do you still want to reveal the DR password?"): + print("Aborted.") + conn.close() + sys.exit(0) + dr_password = reveal_password(cluster, cipher) + print(f"\n{RED}{BOLD} ambari_admin_dr password:{RESET} {BOLD}{dr_password}{RESET}\n") + conn.close() + return + + # ── Safety confirmation ──────────────────────────────────────────────────── + print(f"""{YELLOW}{BOLD} + ⚠️ WARNING — This operation will: + 1. Reveal the ambari_admin_dr password for '{cluster['host']}' + 2. Flag this cluster as DR_COMPROMISED in Kavach + 3. BLOCK all new temporary user creation via Kavach on this cluster + 4. Write an AMBARI_DR_COMPROMISED audit event + 5. The cluster CANNOT be used via Kavach until a super admin re-registers it +{RESET}""") + + if not confirm(f"Proceed with DR recovery for '{cluster['host']}'?"): + print("Aborted. No changes made.") + conn.close() + sys.exit(0) + + # ── Decrypt & display DR password ───────────────────────────────────────── + dr_password = reveal_password(cluster, cipher) + + print(f""" +{GREEN}{BOLD}╔═══════════════════════════════════════════════════╗ +║ AMBARI ADMIN DR PASSWORD ║ +╚═══════════════════════════════════════════════════╝{RESET} + + Cluster : {BOLD}{cluster['host']}{RESET} + Username : {BOLD}ambari_admin_dr{RESET} + Password : {RED}{BOLD}{dr_password}{RESET} + Retrieved : {datetime.now().strftime('%Y-%m-%d %H:%M:%S')} + +{YELLOW} ⚠ Store this password securely. Do NOT share it unnecessarily.{RESET} +""") + + # ── Flag cluster & write audit ───────────────────────────────────────────── + mark_dr_compromised(conn, cluster["host"]) + write_audit_event(conn, cluster["host"], args.operator) + + # ── Next steps ───────────────────────────────────────────────────────────── + print(f""" +{BOLD}Next steps:{RESET} + 1. Use the password above to log into Ambari as ambari_admin_dr + 2. Fix or investigate the issue on the cluster + 3. Once stable, log into Kavach as a Super Admin + 4. Go to Admin Panel → Configure → Delete Cluster then Register Cluster + 5. After re-registration, Kavach user creation will resume automatically + +{RED}{BOLD} Until the cluster is re-registered, NO temporary users can be created + via Kavach for '{cluster['host']}'.{RESET} +""") + + conn.close() + + +if __name__ == "__main__": + main() diff --git a/ambari-kavach/ambari-kavach-backend/requirements.txt b/ambari-kavach/ambari-kavach-backend/requirements.txt new file mode 100644 index 00000000000..f3757c349bc --- /dev/null +++ b/ambari-kavach/ambari-kavach-backend/requirements.txt @@ -0,0 +1,9 @@ +# Ambari Kavach Backend Dependencies +flask>=2.3.0 +flask-cors>=4.0.0 +flask-jwt-extended>=4.5.0 +mysql-connector-python>=8.0.0 +requests>=2.31.0 +bcrypt>=4.0.0 +cryptography>=41.0.0 +apscheduler>=3.10.0 diff --git a/ambari-kavach/ambari-kavach-backend/schema.sql b/ambari-kavach/ambari-kavach-backend/schema.sql new file mode 100644 index 00000000000..6a17e07bb4b --- /dev/null +++ b/ambari-kavach/ambari-kavach-backend/schema.sql @@ -0,0 +1,67 @@ +-- ============================================================================= +-- Ambari Kavach — Database Schema +-- Run once against MySQL before starting the application: +-- mysql -u root -p < schema.sql +-- ============================================================================= + +CREATE DATABASE IF NOT EXISTS ambari_kavach + CHARACTER SET utf8mb4 + COLLATE utf8mb4_unicode_ci; + +USE ambari_kavach; + +-- ----------------------------------------------------------------------------- +-- ambari_onboarding +-- One row per registered Ambari cluster. +-- ----------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS ambari_onboarding ( + ambari_server VARCHAR(255) NOT NULL, + http_method VARCHAR(10) NOT NULL DEFAULT 'http', + port INT NOT NULL DEFAULT 8888, + vault_password TEXT NOT NULL, -- Fernet-encrypted vault service-account password + admin_dr_password TEXT NOT NULL, -- Fernet-encrypted disaster-recovery admin password + manager_emails TEXT DEFAULT NULL, -- JSON array of per-cluster manager emails + single_user_mode TINYINT(1) NOT NULL DEFAULT 0, -- 1 = only one active temp user at a time + dr_compromised TINYINT(1) NOT NULL DEFAULT 0, -- 1 = DR password exposed; blocks user creation + PRIMARY KEY (ambari_server) +); + +-- ----------------------------------------------------------------------------- +-- ambari_manager_users +-- Every temporary Ambari user ever issued through Kavach. +-- ----------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS ambari_manager_users ( + id INT NOT NULL AUTO_INCREMENT, + ambari_server VARCHAR(255) NOT NULL, + user_name VARCHAR(255) NOT NULL, + email VARCHAR(255) NOT NULL, -- Kavach user who requested this account + hash_password TEXT NOT NULL, -- bcrypt hash of the temp password + expire_time DATETIME NOT NULL, -- When the account is auto-deleted + pass_flag TINYINT(1) NOT NULL DEFAULT 1, -- 1 = active, 0 = expired / deleted + created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted_at DATETIME DEFAULT NULL, -- Populated when deleted early or on expiry + role VARCHAR(64) NOT NULL, -- CLUSTER.ADMINISTRATOR | CLUSTER.OPERATOR | CLUSTER.USER + PRIMARY KEY (id), + UNIQUE KEY uk_user_server (user_name, ambari_server) +); + +-- ----------------------------------------------------------------------------- +-- ambari_vault_major_audit +-- Immutable log of major system events (cluster registration, DR access, etc.) +-- ----------------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS ambari_vault_major_audit ( + id INT NOT NULL AUTO_INCREMENT, + actor_email VARCHAR(255) NOT NULL, -- Who triggered the event + audit_event VARCHAR(255) NOT NULL, -- Event type (see below) + impact_entity VARCHAR(255) NOT NULL, -- Cluster hostname or username affected + event_time TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (id) +); + +-- Audit event types written by the application: +-- CLUSTER_REGISTERED — new cluster registered via /api/register +-- MANAGER_REREGISTRATION_DONE — manager re-registered a cluster via /api/re-register +-- AMBARI_DR_COMPROMISED — DR password revealed via building_on_fire.py +-- USER_CREATED — temporary user created via /create_user +-- USER_DELETED — manager force-deleted a user via /manager/delete_user + diff --git a/ambari-kavach/ambari-kavach-frontend/.eslintrc.cjs b/ambari-kavach/ambari-kavach-frontend/.eslintrc.cjs new file mode 100644 index 00000000000..1466071e204 --- /dev/null +++ b/ambari-kavach/ambari-kavach-frontend/.eslintrc.cjs @@ -0,0 +1,15 @@ +module.exports = { + root: true, + env: { node: true }, + extends: ['plugin:vue/vue3-essential', 'eslint:recommended'], + parserOptions: { parser: '@babel/eslint-parser' }, + globals: { + defineProps: 'readonly', + defineEmits: 'readonly', + defineExpose: 'readonly', + withDefaults: 'readonly', + }, + rules: { + 'vue/multi-word-component-names': ['error', { ignores: ['Dashboard', 'Login', 'Default', 'App'] }], + }, +} diff --git a/ambari-kavach/ambari-kavach-frontend/.gitignore b/ambari-kavach/ambari-kavach-frontend/.gitignore new file mode 100644 index 00000000000..403adbc1e52 --- /dev/null +++ b/ambari-kavach/ambari-kavach-frontend/.gitignore @@ -0,0 +1,23 @@ +.DS_Store +node_modules +/dist + + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/ambari-kavach/ambari-kavach-frontend/README.md b/ambari-kavach/ambari-kavach-frontend/README.md new file mode 100644 index 00000000000..10951c49c67 --- /dev/null +++ b/ambari-kavach/ambari-kavach-frontend/README.md @@ -0,0 +1,174 @@ +# Ambari Kavach — Frontend + +Vue 3 single-page application that provides the Ambari Kavach web dashboard. Built with Vuetify 3 for Material Design UI and Pinia for state management. + +--- + +## Tech Stack + +| Library | Version | Purpose | +|---|---|---| +| Vue 3 | ^3.x | Reactive UI framework | +| Vuetify 3 | ^3.x | Material Design component library | +| Pinia | ^3.x | Global state (auth store) | +| Vue Router 4 | ^4.x | Client-side routing with auth guards | +| Axios | ^1.x | HTTP client for backend API calls | +| vue3-google-login | ^2.x | Google OAuth button component | +| Vee Validate + Yup | ^4.x / ^1.x | Form validation | +| Material Design Icons | latest | Icon set | + +--- + +## Directory Layout + +``` +src/ +├── App.vue # Root component +├── main.js # Entry point — mounts app, registers plugins +├── api/ +│ └── client.js # Axios instance (base URL + JWT interceptor) +├── assets/ +│ └── logo.png +├── components/ +│ ├── AppLayout.vue # Shell layout (navbar + sidebar + content slot) +│ ├── CreateAmbariUser.vue # Temp user creation form (reusable widget) +│ ├── LoginPage.vue # Google sign-in page +│ ├── NavBar.vue # Top navigation bar +│ ├── RegisterClusterForm.vue# Cluster registration form +│ └── SideBar.vue # Left sidebar navigation +├── composables/ +│ └── useSnackbar.js # Global toast notification composable +├── layouts/ +│ └── DefaultLayout.vue # Default page wrapper +├── plugins/ +│ └── vuetify.js # Vuetify instance + theme config +├── router/ +│ └── index.js # Routes + navigation guard (auth check) +├── stores/ +│ └── auth.js # Pinia auth store (token, email, role) +├── utils/ +│ └── dateUtils.js # Date formatting helpers +└── views/ + ├── AdminPanel.vue # Super admin — cluster + manager management + ├── AnalyticsView.vue # Usage charts and statistics + ├── AuditLogsView.vue # Paginated audit event log + ├── ClusterManager.vue # Manager — per-cluster user management + ├── ClusterRegister.vue # Cluster registration page + ├── ClustersView.vue # All registered clusters + ├── CreateAmbariUserPage.vue# Temp user creation page + ├── Dashboard.vue # Summary dashboard + ├── MyUsers.vue # Logged-in user's temp accounts + └── ProfileView.vue # User profile and role info +``` + +--- + +## Setup + +### Prerequisites + +- Node.js 16+ +- npm 8+ +- Kavach backend running at `http://localhost:5000` +- Google OAuth Client ID + +### Install dependencies + +```bash +npm install +``` + +### Environment variables + +Create `.env.local` (gitignored): + +```env +VUE_APP_GOOGLE_CLIENT_ID=.apps.googleusercontent.com +``` + +For production builds, create `.env.production`: + +```env +VUE_APP_GOOGLE_CLIENT_ID=.apps.googleusercontent.com +VUE_APP_API_BASE=https://kavach.yourcompany.com +``` + +### Run development server + +```bash +npm run serve +``` + +Runs at `http://localhost:8080`. API calls are automatically proxied to `http://localhost:5000` via `vue.config.js`. + +### Build for production + +```bash +npm run build +``` + +Output goes to `dist/`. Serve with Nginx or any static file server. See the [root README](../README.md#production-deployment) for an example Nginx configuration. + +### Lint + +```bash +npm run lint +``` + +--- + +## Routing + +All routes except `/login` require a valid JWT in `localStorage`. The navigation guard in `router/index.js` redirects unauthenticated users to `/login`. + +| Route | View | Access | +|---|---|---| +| `/login` | LoginPage | Public | +| `/dashboard` | Dashboard | Authenticated | +| `/myusers` | MyUsers | Authenticated | +| `/create_ambari_users` | CreateAmbariUserPage | Authenticated | +| `/clusters` | ClustersView | Authenticated | +| `/clusters/register` | ClusterRegister | Super Admin | +| `/clusters/manager` | ClusterManager | Manager+ | +| `/analytics` | AnalyticsView | Authenticated | +| `/audit-logs` | AuditLogsView | Authenticated | +| `/profile` | ProfileView | Authenticated | +| `/admin` | AdminPanel | Super Admin | + +--- + +## State Management (Pinia) + +`stores/auth.js` holds: + +| State | Type | Description | +|---|---|---| +| `token` | String | JWT (persisted to localStorage) | +| `email` | String | Logged-in user's email | +| `isLoggedIn` | Boolean | Derived: `token != null` | +| `isSuperAdmin` | Boolean | Populated from `/api/me` response | +| `isManager` | Boolean | Populated from `/api/me` response | + +--- + +## API Client + +`api/client.js` exports an Axios instance that: + +1. Sets `baseURL` from `VUE_APP_API_BASE` (defaults to `/` for proxied dev) +2. Injects `Authorization: Bearer ` on every request +3. Injects `X-Email: ` on every request (backend validates this against the JWT identity) +4. On 401 response — clears the auth store and redirects to `/login` + +--- + +## Dev Proxy + +`vue.config.js` proxies the following paths to `http://localhost:5000` during development: + +| Prefix | Backend usage | +|---|---| +| `/api` | All REST API endpoints | +| `/auth` | Google OAuth callback | +| `/create_user` | Temporary user creation | +| `/manager` | Manager-scoped actions | diff --git a/ambari-kavach/ambari-kavach-frontend/babel.config.js b/ambari-kavach/ambari-kavach-frontend/babel.config.js new file mode 100644 index 00000000000..e9558405fdc --- /dev/null +++ b/ambari-kavach/ambari-kavach-frontend/babel.config.js @@ -0,0 +1,5 @@ +module.exports = { + presets: [ + '@vue/cli-plugin-babel/preset' + ] +} diff --git a/ambari-kavach/ambari-kavach-frontend/jsconfig.json b/ambari-kavach/ambari-kavach-frontend/jsconfig.json new file mode 100644 index 00000000000..4aafc5f6ed8 --- /dev/null +++ b/ambari-kavach/ambari-kavach-frontend/jsconfig.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "target": "es5", + "module": "esnext", + "baseUrl": "./", + "moduleResolution": "node", + "paths": { + "@/*": [ + "src/*" + ] + }, + "lib": [ + "esnext", + "dom", + "dom.iterable", + "scripthost" + ] + } +} diff --git a/ambari-kavach/ambari-kavach-frontend/package-lock.json b/ambari-kavach/ambari-kavach-frontend/package-lock.json new file mode 100644 index 00000000000..0c6cc2370ce --- /dev/null +++ b/ambari-kavach/ambari-kavach-frontend/package-lock.json @@ -0,0 +1,12612 @@ +{ + "name": "ambari-kavach-frontend", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "ambari-kavach-frontend", + "version": "0.1.0", + "dependencies": { + "@mdi/font": "^7.4.47", + "axios": "^1.11.0", + "core-js": "^3.8.3", + "pinia": "^3.0.3", + "react-toastify": "^11.0.5", + "router": "^2.2.0", + "vee-validate": "^4.15.1", + "vue": "^3.2.13", + "vue-notifications": "^1.0.3", + "vue-router": "^4.5.1", + "vue-toast-notification": "^3.1.3", + "vue-toastification": "^2.0.0-rc.5", + "vue3-google-login": "^2.0.33", + "vuetify": "^3.9.0-beta.1", + "yup": "^1.7.0" + }, + "devDependencies": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "@vue/cli-plugin-babel": "^5.0.0", + "@vue/cli-plugin-eslint": "^5.0.9", + "@vue/cli-service": "~5.0.0", + "eslint": "^7.32.0", + "eslint-plugin-vue": "^8.0.3" + } + }, + "node_modules/@achrinza/node-ipc": { + "version": "9.2.10", + "resolved": "https://registry.npmjs.org/@achrinza/node-ipc/-/node-ipc-9.2.10.tgz", + "integrity": "sha512-rCkw57K82y1XA9KwBmuMrupFQr9VOS4Rn77vW2UD2j0+HjlP/npSON9COkUIfocd95B4wv5EpfWMr6lGD4lN3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@node-ipc/js-queue": "2.0.3", + "event-pubsub": "4.3.0", + "js-message": "1.0.7" + }, + "engines": { + "node": "8 || 9 || 10 || 11 || 12 || 13 || 14 || 15 || 16 || 17 || 18 || 19 || 20 || 21 || 22 || 23 || 24 || 25" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.0.tgz", + "integrity": "sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/eslint-parser": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz", + "integrity": "sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || >=14.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.11.0", + "eslint": "^7.5.0 || ^8.0.0 || ^9.0.0" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz", + "integrity": "sha512-dTOdvsjnG3xNT9Y0AUg1wAl38y+4Rl4sf9caSQZOXdNqVn+H+HbbJ4IyyHaIqNR6SW9oJpA/RuRjsjCw2IdIow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/traverse": "^7.28.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.28.5.tgz", + "integrity": "sha512-N1EhvLtHzOvj7QQOUCCS3NrPJP8c5W6ZXCHDn7Yialuy1iu4r5EmIYkXlKNqT99Ciw+W0mDqWoR6HWMZlFP3hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "regexpu-core": "^6.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.6.tgz", + "integrity": "sha512-mOAsxeeKkUKayvZR3HeTYD/fICpCPLJrU5ZjelT/PA6WHtNDBOE436YiaEUvHN454bRM3CebhDsIpieCc4texA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "debug": "^4.4.3", + "lodash.debounce": "^4.0.8", + "resolve": "^1.22.11" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz", + "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.5", + "@babel/types": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", + "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", + "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.1", + "@babel/helper-wrap-function": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.28.6.tgz", + "integrity": "sha512-mq8e+laIk94/yFec3DxSjCRD2Z0TAjhVbEJY3UQrlwVo15Lmt7C2wAUbK4bjnTs4APkwsYLTahXRraQXhb1WCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.28.5", + "@babel/helper-optimise-call-expression": "^7.27.1", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", + "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz", + "integrity": "sha512-z+PwLziMNBeSQJonizz2AGnndLsP2DeGHIxDAn+wdHOGuo4Fo1x1HBPPXeE9TAOPHNNWQKCSlA2VZyYyyibDnQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.9.tgz", + "integrity": "sha512-llL88JShoCsth8fF8R4SJnIn+WLvR6ccFxu1H3FlMhDontdcmZWf2HgIZ7AIqV3Xcck1idlohrN4EUBQz6klbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.25.9", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.0.tgz", + "integrity": "sha512-IyDgFV5GeDUVX4YdF/3CPULtVGSXXMLh1xVIgdCgxApktqnQV0r7/8Nqthg+8YLGaAtdyIlo2qIdZrbCv4+7ww==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz", + "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", + "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz", + "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", + "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", + "@babel/plugin-transform-optional-chaining": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.6.tgz", + "integrity": "sha512-a0aBScVTlNaiUe35UtfxAN7A/tehvvG4/ByO6+46VPKTRSlfnAFsgKy0FUh+qAkQrDTmhDkT+IBOKlOoMUxQ0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-decorators": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.29.0.tgz", + "integrity": "sha512-CVBVv3VY/XRMxRYq5dwr2DS7/MvqPm23cOCjbwNnVrfOqcWlnefua1uUs0sjdKOGjvPUG633o07uWzJq4oI6dA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-syntax-decorators": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-decorators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.28.6.tgz", + "integrity": "sha512-71EYI0ONURHJBL4rSFXnITXqXrrY8q4P0q006DPfN+Rk+ASM+++IBXem/ruokgBZR8YNEWZ8R6B+rCb8VcUTqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.28.6.tgz", + "integrity": "sha512-pSJUpFHdx9z5nqTSirOCMtYVP2wFgoWhP0p3g8ONK/4IHhLIBd0B9NYqAvIUAhq+OkhO4VM1tENCt0cjlsNShw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", + "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.29.0.tgz", + "integrity": "sha512-va0VdWro4zlBr2JsXC+ofCPB2iG12wPtVGTWFx2WLDOM3nYQZZIGP82qku2eW/JR83sD+k2k+CsNtyEbUqhU6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.28.6.tgz", + "integrity": "sha512-ilTRcmbuXjsMmcZ3HASTe4caH5Tpo93PkTxF9oG2VZsSWsahydmcEHhix9Ik122RcTnZnUzPbmux4wh1swfv7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-remap-async-to-generator": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", + "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.6.tgz", + "integrity": "sha512-tt/7wOtBmwHPNMPu7ax4pdPz6shjFrmHDghvNC+FG9Qvj7D6mJcoRQIF5dy4njmxR941l6rgtvfSB2zX3VlUIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.28.6.tgz", + "integrity": "sha512-dY2wS3I2G7D697VHndN91TJr8/AAfXQNt5ynCTI/MpxMsSzHp+52uNivYT5wCPax3whc47DR8Ba7cmlQMg24bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.6.tgz", + "integrity": "sha512-rfQ++ghVwTWTqQ7w8qyDxL1XGihjBss4CmTgGRCTAC9RIbhVpyp4fOeZtta0Lbf+dTNIVJer6ych2ibHwkZqsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.6.tgz", + "integrity": "sha512-EF5KONAqC5zAqT783iMGuM2ZtmEBy+mJMOKl2BCvPZ2lVrwvXnB6o+OBWCS+CoeCCpVRF2sA2RBKUxvT8tQT5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-replace-supers": "^7.28.6", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.28.6.tgz", + "integrity": "sha512-bcc3k0ijhHbc2lEfpFHgx7eYw9KNXqOerKWfzbxEHUGKnS3sz9C4CNL9OiFN1297bDNfUiSO7DaLzbvHQQQ1BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/template": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz", + "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.28.6.tgz", + "integrity": "sha512-SljjowuNKB7q5Oayv4FoPzeB74g3QgLt8IVJw9ADvWy3QnUb/01aw8I4AVv8wYnPvQz2GDDZ/g3GhcNyDBI4Bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", + "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-zBPcW2lFGxdiD8PUnPwJjag2J9otbcLQzvbiOzDxpYXyCuYX9agOwMPGn1prVH0a4qzhCKu24rlH4c1f7yA8rw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", + "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-explicit-resource-management": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.6.tgz", + "integrity": "sha512-Iao5Konzx2b6g7EPqTy40UZbcdXE126tTxVFr/nAIj+WItNxjKSYTEw3RC+A2/ZetmdJsgueL1KhaMCQHkLPIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.6.tgz", + "integrity": "sha512-WitabqiGjV/vJ0aPOLSFfNY1u9U3R7W36B03r5I2KoNix+a3sOhJ3pKFB3R5It9/UiK78NiO0KE9P21cMhlPkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", + "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", + "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", + "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/traverse": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.28.6.tgz", + "integrity": "sha512-Nr+hEN+0geQkzhbdgQVPoqr47lZbm+5fCUmO70722xJZd0Mvb59+33QLImGj6F+DkK3xgDi1YVysP8whD6FQAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", + "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.6.tgz", + "integrity": "sha512-+anKKair6gpi8VsM/95kmomGNMD0eLz1NQ8+Pfw5sAwWH9fGYXT50E55ZpV0pHUHWf6IUTWPM+f/7AAff+wr9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", + "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", + "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.28.6.tgz", + "integrity": "sha512-jppVbf8IV9iWWwWTQIxJMAJCWBuuKx71475wHwYytrRGQ2CWiDvYlADQno3tcYpS/T2UUWFQp3nVtYfK/YBQrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.29.0.tgz", + "integrity": "sha512-PrujnVFbOdUpw4UHiVwKvKRLMMic8+eC0CuNlxjsyZUiBjhFdPsewdXCkveh2KqBA9/waD0W1b4hXSOBQJezpQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", + "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.29.0.tgz", + "integrity": "sha512-1CZQA5KNAD6ZYQLPw7oi5ewtDNxH/2vuCh+6SmvgDfhumForvs8a1o9n0UrEoBD8HU4djO2yWngTQlXl1NDVEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", + "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.28.6.tgz", + "integrity": "sha512-3wKbRgmzYbw24mDJXT7N+ADXw8BC/imU9yo9c9X9NKaLF1fW+e5H1U5QjMUBe4Qo4Ox/o++IyUkl1sVCLgevKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.28.6.tgz", + "integrity": "sha512-SJR8hPynj8outz+SlStQSwvziMN4+Bq99it4tMIf5/Caq+3iOc0JtKyse8puvyXkk3eFRIA5ID/XfunGgO5i6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.6.tgz", + "integrity": "sha512-5rh+JR4JBC4pGkXLAcYdLHZjXudVxWMXbB6u6+E9lRL5TrGVbHt1TjxGbZ8CkmYw9zjkB7jutzOROArsqtncEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", + "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/helper-replace-supers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.28.6.tgz", + "integrity": "sha512-R8ja/Pyrv0OGAvAXQhSTmWyPJPml+0TMqXlO5w+AsMEiwb2fg3WkOvob7UxFSL3OIttFSGSRFKQsOhJ/X6HQdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.6.tgz", + "integrity": "sha512-A4zobikRGJTsX9uqVFdafzGkqD30t26ck2LmOzAuLL8b2x6k3TIqRiT2xVvA9fNmFeTX484VpsdgmKNA0bS23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.27.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz", + "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.28.6.tgz", + "integrity": "sha512-piiuapX9CRv7+0st8lmuUlRSmX6mBcVeNQ1b4AYzJxfCMuBfB0vBXDiGSmm03pKJw1v6cZ8KSeM+oUnM6yAExg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.28.6.tgz", + "integrity": "sha512-b97jvNSOb5+ehyQmBpmhOCiUC5oVK4PMnpRvO7+ymFBoqYjeDHIU9jnrNUuwHOiL9RpGDoKBpSViarV+BU+eVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.27.3", + "@babel/helper-create-class-features-plugin": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", + "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.29.0.tgz", + "integrity": "sha512-FijqlqMA7DmRdg/aINBSs04y8XNTYw/lr1gJ2WsmBnnaNw1iS43EPkJW+zK7z65auG3AWRFXWj+NcTQwYptUog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regexp-modifiers": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.28.6.tgz", + "integrity": "sha512-QGWAepm9qxpaIs7UM9FvUSnCGlb8Ua1RhyM4/veAxLwt3gMat/LSGrZixyuj4I6+Kn9iwvqCyPTtbdxanYoWYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", + "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.29.0.tgz", + "integrity": "sha512-jlaRT5dJtMaMCV6fAuLbsQMSwz/QkvaHOHOSXRitGGwSpR1blCY4KUKoyP2tYO8vJcqYe8cEj96cqSztv3uF9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "babel-plugin-polyfill-corejs2": "^0.4.14", + "babel-plugin-polyfill-corejs3": "^0.13.0", + "babel-plugin-polyfill-regenerator": "^0.6.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", + "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.28.6.tgz", + "integrity": "sha512-9U4QObUC0FtJl05AsUcodau/RWDytrU6uKgkxu09mLR9HLDAtUMoPuuskm5huQsoktmsYpI+bGmq+iapDcriKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", + "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", + "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", + "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", + "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.28.6.tgz", + "integrity": "sha512-4Wlbdl/sIZjzi/8St0evF0gEZrgOswVO6aOzqxh1kDZOl9WmLrHq2HtGhnOJZmHZYKP8WZ1MDLCt5DAWwRo57A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", + "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.28.6.tgz", + "integrity": "sha512-/wHc/paTUmsDYN7SZkpWxogTOBNnlx7nBQYfy6JJlCT7G3mVhltk3e++N7zV0XfgGsrqBxd4rJQt9H16I21Y1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.28.5", + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.29.0.tgz", + "integrity": "sha512-fNEdfc0yi16lt6IZo2Qxk3knHVdfMYX33czNb4v8yWhemoBhibCpQK/uYHtSKIiO+p/zd3+8fYVXhQdOVV608w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-plugin-utils": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.6", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-import-assertions": "^7.28.6", + "@babel/plugin-syntax-import-attributes": "^7.28.6", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.27.1", + "@babel/plugin-transform-async-generator-functions": "^7.29.0", + "@babel/plugin-transform-async-to-generator": "^7.28.6", + "@babel/plugin-transform-block-scoped-functions": "^7.27.1", + "@babel/plugin-transform-block-scoping": "^7.28.6", + "@babel/plugin-transform-class-properties": "^7.28.6", + "@babel/plugin-transform-class-static-block": "^7.28.6", + "@babel/plugin-transform-classes": "^7.28.6", + "@babel/plugin-transform-computed-properties": "^7.28.6", + "@babel/plugin-transform-destructuring": "^7.28.5", + "@babel/plugin-transform-dotall-regex": "^7.28.6", + "@babel/plugin-transform-duplicate-keys": "^7.27.1", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-dynamic-import": "^7.27.1", + "@babel/plugin-transform-explicit-resource-management": "^7.28.6", + "@babel/plugin-transform-exponentiation-operator": "^7.28.6", + "@babel/plugin-transform-export-namespace-from": "^7.27.1", + "@babel/plugin-transform-for-of": "^7.27.1", + "@babel/plugin-transform-function-name": "^7.27.1", + "@babel/plugin-transform-json-strings": "^7.28.6", + "@babel/plugin-transform-literals": "^7.27.1", + "@babel/plugin-transform-logical-assignment-operators": "^7.28.6", + "@babel/plugin-transform-member-expression-literals": "^7.27.1", + "@babel/plugin-transform-modules-amd": "^7.27.1", + "@babel/plugin-transform-modules-commonjs": "^7.28.6", + "@babel/plugin-transform-modules-systemjs": "^7.29.0", + "@babel/plugin-transform-modules-umd": "^7.27.1", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.29.0", + "@babel/plugin-transform-new-target": "^7.27.1", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.28.6", + "@babel/plugin-transform-numeric-separator": "^7.28.6", + "@babel/plugin-transform-object-rest-spread": "^7.28.6", + "@babel/plugin-transform-object-super": "^7.27.1", + "@babel/plugin-transform-optional-catch-binding": "^7.28.6", + "@babel/plugin-transform-optional-chaining": "^7.28.6", + "@babel/plugin-transform-parameters": "^7.27.7", + "@babel/plugin-transform-private-methods": "^7.28.6", + "@babel/plugin-transform-private-property-in-object": "^7.28.6", + "@babel/plugin-transform-property-literals": "^7.27.1", + "@babel/plugin-transform-regenerator": "^7.29.0", + "@babel/plugin-transform-regexp-modifiers": "^7.28.6", + "@babel/plugin-transform-reserved-words": "^7.27.1", + "@babel/plugin-transform-shorthand-properties": "^7.27.1", + "@babel/plugin-transform-spread": "^7.28.6", + "@babel/plugin-transform-sticky-regex": "^7.27.1", + "@babel/plugin-transform-template-literals": "^7.27.1", + "@babel/plugin-transform-typeof-symbol": "^7.27.1", + "@babel/plugin-transform-unicode-escapes": "^7.27.1", + "@babel/plugin-transform-unicode-property-regex": "^7.28.6", + "@babel/plugin-transform-unicode-regex": "^7.27.1", + "@babel/plugin-transform-unicode-sets-regex": "^7.28.6", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.15", + "babel-plugin-polyfill-corejs3": "^0.14.0", + "babel-plugin-polyfill-regenerator": "^0.6.6", + "core-js-compat": "^3.48.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.14.0.tgz", + "integrity": "sha512-AvDcMxJ34W4Wgy4KBIIePQTAOP1Ie2WFwkQp3dB7FQ/f0lI5+nM96zUnYEOE1P9sEg0es5VCP0HxiWu5fUHZAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.6", + "core-js-compat": "^3.48.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", + "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", + "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@mdi/font": { + "version": "7.4.47", + "resolved": "https://registry.npmjs.org/@mdi/font/-/font-7.4.47.tgz", + "integrity": "sha512-43MtGpd585SNzHZPcYowu/84Vz2a2g31TvPMTm9uTiCSWzaheQySUcSyUH/46fPnuPQWof2yd0pGBtzee/IQWw==", + "license": "Apache-2.0" + }, + "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-scope": "5.1.1" + } + }, + "node_modules/@node-ipc/js-queue": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@node-ipc/js-queue/-/js-queue-2.0.3.tgz", + "integrity": "sha512-fL1wpr8hhD5gT2dA1qifeVaoDFlQR5es8tFuKqjHX+kdOtdNHnxkVZbtIrR2rxnMFvehkjaZRNV2H/gPXlb0hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "easy-stack": "1.0.1" + }, + "engines": { + "node": ">=1.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.29", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.29.tgz", + "integrity": "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@soda/friendly-errors-webpack-plugin": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz", + "integrity": "sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^3.0.0", + "error-stack-parser": "^2.0.6", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.0.0" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/@soda/get-current-script": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@soda/get-current-script/-/get-current-script-1.0.2.tgz", + "integrity": "sha512-T7VNNlYVM1SgQ+VsMYhnDkcGmWhQdL0bDyGm5TlQ3GBXnJscEClUUOKduWTmm2zCnvNLC1hc3JpuXjs/nFOc5w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.6", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz", + "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.12", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", + "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/express": { + "version": "4.17.25", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz", + "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "^1" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.1.1.tgz", + "integrity": "sha512-v4zIMr/cX7/d2BpAEX3KNKL/JrT1s43s96lLvvdTmza1oEvDudCqK9aF/djc/SWgy8Yh0h30TZx5VpzqFCxk5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/express/node_modules/@types/express-serve-static-core": { + "version": "4.19.8", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz", + "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-errors": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz", + "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.17", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz", + "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "25.3.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.3.1.tgz", + "integrity": "sha512-hj9YIJimBCipHVfHKRMnvmHg+wfhKc0o4mTtXh9pKBjC8TLJzz0nzGmLi5UJsYAUgSvXFHgb0V2oY10DUFtImw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.18.0" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.14", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.14.tgz", + "integrity": "sha512-mhVF2BnD4BO+jtOp7z1CdzaK4mbuK0LLQYAvdOLqHTavxFNq4zA1EmYkpnFjP8HOUzedfQkRnp0E2ulSAYSzAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/send": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz", + "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz", + "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "<1" + } + }, + "node_modules/@types/serve-static/node_modules/@types/send": { + "version": "0.17.6", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz", + "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws": { + "version": "8.18.1", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", + "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz", + "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-helper-vue-transform-on": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz", + "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/babel-plugin-jsx": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz", + "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/plugin-syntax-jsx": "^7.27.1", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.0", + "@babel/types": "^7.28.2", + "@vue/babel-helper-vue-transform-on": "1.5.0", + "@vue/babel-plugin-resolve-type": "1.5.0", + "@vue/shared": "^3.5.18" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + } + } + }, + "node_modules/@vue/babel-plugin-resolve-type": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz", + "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-plugin-utils": "^7.27.1", + "@babel/parser": "^7.28.0", + "@vue/compiler-sfc": "^3.5.18" + }, + "funding": { + "url": "https://github.com/sponsors/sxzz" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-plugin-transform-vue-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz", + "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-preset-app": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.9.tgz", + "integrity": "sha512-0rKOF4s/AhaRMJLybxOCgXfwtYhO3pwDSL/q/W8wRs1LzmHAc77FyTXWlun6VyKiSKwSdtH7CvOiWqq+DfofdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.16", + "@babel/helper-compilation-targets": "^7.12.16", + "@babel/helper-module-imports": "^7.12.13", + "@babel/plugin-proposal-class-properties": "^7.12.13", + "@babel/plugin-proposal-decorators": "^7.12.13", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-jsx": "^7.12.13", + "@babel/plugin-transform-runtime": "^7.12.15", + "@babel/preset-env": "^7.12.16", + "@babel/runtime": "^7.12.13", + "@vue/babel-plugin-jsx": "^1.0.3", + "@vue/babel-preset-jsx": "^1.1.2", + "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.8.3", + "core-js-compat": "^3.8.3", + "semver": "^7.3.4" + }, + "peerDependencies": { + "@babel/core": "*", + "core-js": "^3", + "vue": "^2 || ^3.2.13" + }, + "peerDependenciesMeta": { + "core-js": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-preset-app/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/babel-preset-jsx": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz", + "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "@vue/babel-sugar-composition-api-inject-h": "^1.4.0", + "@vue/babel-sugar-composition-api-render-instance": "^1.4.0", + "@vue/babel-sugar-functional-vue": "^1.4.0", + "@vue/babel-sugar-inject-h": "^1.4.0", + "@vue/babel-sugar-v-model": "^1.4.0", + "@vue/babel-sugar-v-on": "^1.4.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0", + "vue": "*" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@vue/babel-sugar-composition-api-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz", + "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-composition-api-render-instance": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz", + "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-functional-vue": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz", + "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-inject-h": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz", + "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-model": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz", + "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/babel-sugar-v-on": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz", + "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.4.0", + "camelcase": "^5.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@vue/cli-overlay": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.9.tgz", + "integrity": "sha512-aBdZWrYKxLuFz1FDsk/muFD7GycrsW73Gi11yRc7R2W7Bm8mDRc9HKAI790gdg4NV+chkDFmfkegjg5iMDEpAA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/cli-plugin-babel": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.9.tgz", + "integrity": "sha512-oDZt1Kfe4KGNtig3/3zFo2pIeDJij2uS0M6S+tAqQno4Zpla2D8Hk/AR5PrstUd/HmhHZYJoGyF78MOfj3SbWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.12.16", + "@vue/babel-preset-app": "^5.0.9", + "@vue/cli-shared-utils": "^5.0.9", + "babel-loader": "^8.2.2", + "thread-loader": "^3.0.0", + "webpack": "^5.54.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-eslint": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.9.tgz", + "integrity": "sha512-OfAa85qhP0dKSprI8+9qjbXW8BzOlOvEtXwdrTrAKlD6aN8oa/u6k4vbfJGdYbpsbpkj8FXYdCRkTgNG8KZbxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/cli-shared-utils": "^5.0.9", + "eslint-webpack-plugin": "^3.1.0", + "globby": "^11.0.2", + "webpack": "^5.54.0", + "yorkie": "^2.0.0" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0", + "eslint": ">=7.5.0" + } + }, + "node_modules/@vue/cli-plugin-router": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.9.tgz", + "integrity": "sha512-kopbO/8kIl5CAffwgptXEwV509i+M0FfwW4sSkgQ2RzpxOYBjQZvp+096mjZfFcWKSmryNP/ri/Mnu78vmhlhw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/cli-shared-utils": "^5.0.9" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-plugin-vuex": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.9.tgz", + "integrity": "sha512-AQhgGNFVd4Pu2crvS0a+hRckgrJv07gzOASdbLd3I72wkT43dd01MLRp8IBRRsu92t3MXenW86AZUCbQBz3//A==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "node_modules/@vue/cli-service": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.9.tgz", + "integrity": "sha512-yTX7GVyM19tEbd+y5/gA6MkVKA6K61nVYHYAivD61Hx6odVFmQsaC3/R3cWAHM1P5oVKCevBbumPljbT+tFG2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-compilation-targets": "^7.12.16", + "@soda/friendly-errors-webpack-plugin": "^1.8.0", + "@soda/get-current-script": "^1.0.2", + "@types/minimist": "^1.2.0", + "@vue/cli-overlay": "^5.0.9", + "@vue/cli-plugin-router": "^5.0.9", + "@vue/cli-plugin-vuex": "^5.0.9", + "@vue/cli-shared-utils": "^5.0.9", + "@vue/component-compiler-utils": "^3.3.0", + "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7", + "@vue/web-component-wrapper": "^1.3.0", + "acorn": "^8.0.5", + "acorn-walk": "^8.0.2", + "address": "^1.1.2", + "autoprefixer": "^10.2.4", + "browserslist": "^4.16.3", + "case-sensitive-paths-webpack-plugin": "^2.3.0", + "cli-highlight": "^2.1.10", + "clipboardy": "^2.3.0", + "cliui": "^7.0.4", + "copy-webpack-plugin": "^9.0.1", + "css-loader": "^6.5.0", + "css-minimizer-webpack-plugin": "^3.0.2", + "cssnano": "^5.0.0", + "debug": "^4.1.1", + "default-gateway": "^6.0.3", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "fs-extra": "^9.1.0", + "globby": "^11.0.2", + "hash-sum": "^2.0.0", + "html-webpack-plugin": "^5.1.0", + "is-file-esm": "^1.0.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "mini-css-extract-plugin": "^2.5.3", + "minimist": "^1.2.5", + "module-alias": "^2.2.2", + "portfinder": "^1.0.26", + "postcss": "^8.2.6", + "postcss-loader": "^6.1.1", + "progress-webpack-plugin": "^1.0.12", + "ssri": "^8.0.1", + "terser-webpack-plugin": "^5.1.1", + "thread-loader": "^3.0.0", + "vue-loader": "^17.0.0", + "vue-style-loader": "^4.1.3", + "webpack": "^5.54.0", + "webpack-bundle-analyzer": "^4.4.0", + "webpack-chain": "^6.5.1", + "webpack-dev-server": "^4.7.3", + "webpack-merge": "^5.7.3", + "webpack-virtual-modules": "^0.4.2", + "whatwg-fetch": "^3.6.2" + }, + "bin": { + "vue-cli-service": "bin/vue-cli-service.js" + }, + "engines": { + "node": "^12.0.0 || >= 14.0.0" + }, + "peerDependencies": { + "vue-template-compiler": "^2.0.0", + "webpack-sources": "*" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "less-loader": { + "optional": true + }, + "pug-plain-loader": { + "optional": true + }, + "raw-loader": { + "optional": true + }, + "sass-loader": { + "optional": true + }, + "stylus-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + }, + "webpack-sources": { + "optional": true + } + } + }, + "node_modules/@vue/cli-shared-utils": { + "version": "5.0.9", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.9.tgz", + "integrity": "sha512-lf4KykiG8j9KwvNVi7fKtASmHuLsxCcCsflVU2b2CHMRuR4weOIV3zuuCrjWKjk0APn/MHJhgCjJGzHMbTtd5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@achrinza/node-ipc": "^9.2.5", + "chalk": "^4.1.2", + "execa": "^1.0.0", + "joi": "^17.4.0", + "launch-editor": "^2.2.1", + "lru-cache": "^6.0.0", + "node-fetch": "^2.6.7", + "open": "^8.0.2", + "ora": "^5.3.0", + "read-pkg": "^5.1.1", + "semver": "^7.3.4", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@vue/cli-shared-utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.29.tgz", + "integrity": "sha512-cuzPhD8fwRHk8IGfmYaR4eEe4cAyJEL66Ove/WZL7yWNL134nqLddSLwNRIsFlnnW1kK+p8Ck3viFnC0chXCXw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@vue/shared": "3.5.29", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.29.tgz", + "integrity": "sha512-n0G5o7R3uBVmVxjTIYcz7ovr8sy7QObFG8OQJ3xGCDNhbG60biP/P5KnyY8NLd81OuT1WJflG7N4KWYHaeeaIg==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.29", + "@vue/shared": "3.5.29" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.29.tgz", + "integrity": "sha512-oJZhN5XJs35Gzr50E82jg2cYdZQ78wEwvRO6Y63TvLVTc+6xICzJHP1UIecdSPPYIbkautNBanDiWYa64QSFIA==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@vue/compiler-core": "3.5.29", + "@vue/compiler-dom": "3.5.29", + "@vue/compiler-ssr": "3.5.29", + "@vue/shared": "3.5.29", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.6", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.29.tgz", + "integrity": "sha512-Y/ARJZE6fpjzL5GH/phJmsFwx3g6t2KmHKHx5q+MLl2kencADKIrhH5MLF6HHpRMmlRAYBRSvv347Mepf1zVNw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.29", + "@vue/shared": "3.5.29" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vue/component-compiler-utils/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmjs.org/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.29.tgz", + "integrity": "sha512-zcrANcrRdcLtmGZETBxWqIkoQei8HaFpZWx/GHKxx79JZsiZ8j1du0VUJtu4eJjgFvU/iKL5lRXFXksVmI+5DA==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.29" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.29.tgz", + "integrity": "sha512-8DpW2QfdwIWOLqtsNcds4s+QgwSaHSJY/SUe04LptianUQ/0xi6KVsu/pYVh+HO3NTVvVJjIPL2t6GdeKbS4Lg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.29", + "@vue/shared": "3.5.29" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.29.tgz", + "integrity": "sha512-AHvvJEtcY9tw/uk+s/YRLSlxxQnqnAkjqvK25ZiM4CllCZWzElRAoQnCM42m9AHRLNJ6oe2kC5DCgD4AUdlvXg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.29", + "@vue/runtime-core": "3.5.29", + "@vue/shared": "3.5.29", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.29.tgz", + "integrity": "sha512-G/1k6WK5MusLlbxSE2YTcqAAezS+VuwHhOvLx2KnQU7G2zCH6KIb+5Wyt6UjMq7a3qPzNEjJXs1hvAxDclQH+g==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.29", + "@vue/shared": "3.5.29" + }, + "peerDependencies": { + "vue": "3.5.29" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.29.tgz", + "integrity": "sha512-w7SR0A5zyRByL9XUkCfdLs7t9XOHUyJ67qPGQjOou3p6GvBeBW+AVjUUmlxtZ4PIYaRvE+1LmK44O4uajlZwcg==", + "license": "MIT" + }, + "node_modules/@vue/vue-loader-v15": { + "name": "vue-loader", + "version": "15.11.1", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz", + "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "prettier": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/@vue/vue-loader-v15/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/web-component-wrapper": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz", + "integrity": "sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", + "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", + "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.13.2", + "@webassemblyjs/helper-api-error": "1.13.2", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", + "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/wasm-gen": "1.14.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", + "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", + "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", + "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/helper-wasm-section": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-opt": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1", + "@webassemblyjs/wast-printer": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", + "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", + "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-buffer": "1.14.1", + "@webassemblyjs/wasm-gen": "1.14.1", + "@webassemblyjs/wasm-parser": "1.14.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", + "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@webassemblyjs/helper-api-error": "1.13.2", + "@webassemblyjs/helper-wasm-bytecode": "1.13.2", + "@webassemblyjs/ieee754": "1.13.2", + "@webassemblyjs/leb128": "1.13.2", + "@webassemblyjs/utf8": "1.13.2" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", + "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@webassemblyjs/ast": "1.14.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", + "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-phases": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", + "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "acorn": "^8.14.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.5", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.5.tgz", + "integrity": "sha512-HEHNfbars9v4pgpW6SO1KSPkfoS0xVOM/9UzkJltjlsHZmJasxg8aXkuZa7SMf8vKGIBhpUsPluQSqhJFCqebw==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/ajv": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz", + "integrity": "sha512-IWrosm/yrn43eiKqkfkHis7QioDleaXQHdDVPKg0FSwwd/DuvyX79TZnFOnYpB7dcsFAMmtFztZuXPDvSePkFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "license": "Apache-2.0", + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true, + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.27", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.27.tgz", + "integrity": "sha512-NP9APE+tO+LuJGn7/9+cohklunJsXWiaWEfV3si4Gi/XHDwVNgkwr1J3RQYFIvPy76GmJ9/bW8vyoU1LcxwKHA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1", + "caniuse-lite": "^1.0.30001774", + "fraction.js": "^5.3.4", + "picocolors": "^1.1.1", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axios": { + "version": "1.13.5", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.5.tgz", + "integrity": "sha512-cz4ur7Vb0xS4/KUN0tPWe44eqxrIu31me+fbang3ijiNscE129POzipJJA6zniq2C/Z6sJCjMimjS8Lc/GAs8Q==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.15.11", + "form-data": "^4.0.5", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-loader": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.4.1.tgz", + "integrity": "sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.4", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.15.tgz", + "integrity": "sha512-hR3GwrRwHUfYwGfrisXPIDP3JcYfBrW7wKE7+Au6wDYl7fm/ka1NEII6kORzxNU556JjfidZeBsO10kYvtV1aw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-define-polyfill-provider": "^0.6.6", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz", + "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.5", + "core-js-compat": "^3.43.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.6.tgz", + "integrity": "sha512-hYm+XLYRMvupxiQzrvXUj7YyvFFVfv5gI0R71AJzudg1g2AI2vyCPPIFEBjk162/wFzti3inBHo7isWFuEVS/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.6" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.0.tgz", + "integrity": "sha512-lIyg0szRfYbiy67j9KN8IyeD7q7hcmqnJ1ddWmNt19ItGpNN64mnllmxUNFIOdOm6by97jlL6wfpTTJrmnjWAA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true, + "license": "MIT" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/body-parser": { + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/bonjour-service": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", + "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "license": "MIT", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001774", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001774.tgz", + "integrity": "sha512-DDdwPGz99nmIEv216hKSgLD+D4ikHQHjBC/seF98N9CPqRX4M5mSxT9eTV6oyisnJcuzxtZy4n17yKKQYmYQOA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", + "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-highlight": { + "version": "2.1.11", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", + "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", + "dev": true, + "license": "ISC", + "dependencies": { + "chalk": "^4.0.0", + "highlight.js": "^10.7.1", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "bin": { + "highlight": "bin/highlight" + }, + "engines": { + "node": ">=8.0.0", + "npm": ">=5.0.0" + } + }, + "node_modules/cli-highlight/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true, + "license": "MIT" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz", + "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "compressible": "~2.0.18", + "debug": "2.6.9", + "negotiator": "~0.6.4", + "on-headers": "~1.1.0", + "safe-buffer": "5.2.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog", + "dev": true, + "license": "MIT", + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-9.1.0.tgz", + "integrity": "sha512-rxnR7PaGigJzhqETHGmAcxKnLZSR5u1Y3/bcIv/1FnqXedcL/E2ewK7ZCNrArJKCiSv8yVXhTqetJh8inDvfsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-glob": "^3.2.7", + "glob-parent": "^6.0.1", + "globby": "^11.0.3", + "normalize-path": "^3.0.0", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/core-js": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.48.0.tgz", + "integrity": "sha512-zpEHTy1fjTMZCKLHUZoVeylt9XrzaIN2rbPXEt0k+q7JE5CkCZdo6bNq55bn24a69CH7ErAVLKijxJja4fw+UQ==", + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz", + "integrity": "sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.28.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.11.0.tgz", + "integrity": "sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.1.0", + "postcss-modules-local-by-default": "^4.0.5", + "postcss-modules-scope": "^3.2.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-loader/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "dev": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/default-gateway/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/default-gateway/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-gateway/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "license": "MIT", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.302", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.302.tgz", + "integrity": "sha512-sM6HAN2LyK82IyPBpznDRqlTQAtuSaO+ShzFiWTvoMJLHyZ+Y39r8VMfHzwbU8MVBzQ4Wdn85+wlZl2TLGIlwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.5.tgz", + "integrity": "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.19.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.19.0.tgz", + "integrity": "sha512-phv3E1Xl4tQOShqSte26C7Fl84EwUdZsyOuSSk9qtAGyyQs2s3jJzComh+Abf4g187lUUAvH+H26omrqia2aGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "stackframe": "^1.3.4" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-2.0.0.tgz", + "integrity": "sha512-5POEcUuZybH7IdmGsD8wlf0AI55wMecM9rVBTI/qEAy2c1kTOm3DjFYjrBdI2K3BaJjJYfYFeRtM0t9ssnRuxw==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-plugin-vue": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-8.7.1.tgz", + "integrity": "sha512-28sbtm4l4cOzoO1LtzQPxfxhQABararUb1JtqusQqObJpWX2e/gmVyeYVfepizPFne0Q5cILkYGiBoV36L12Wg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-utils": "^3.0.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.0.1", + "postcss-selector-parser": "^6.0.9", + "semver": "^7.3.5", + "vue-eslint-parser": "^8.0.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/eslint-plugin-vue/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/eslint-plugin-vue/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/eslint-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/espree/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true, + "license": "Unlicense", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/execa/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/execa/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/execa/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/express": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz", + "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.3", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.14.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", + "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.8" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fastq": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.20.1.tgz", + "integrity": "sha512-GGToxJ/w1x32s/D2EKND7kTil4n8OVk/9mycTc4VDza13lOvpUZTGX3mFSCtV9ksdGBVzvsyAVLM6mHFThxXxw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/figures/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "license": "MIT", + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "license": "BSD-3-Clause", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-5.3.4.tgz", + "integrity": "sha512-1X1NTtiJphryn/uLQz3whtY6jK3fTqoE3ohKs0tT+Ujr1W59oopxmoEh7Lu5p6vBaPbgoM0bzveAW4Qi5RyWDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs-monkey": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.1.0.tgz", + "integrity": "sha512-QMUezzXWII9EV5aTFXW1UBVUO77wYPpjqIF8/AviUCThNeSYZykpoTixUeaNNBwmCev0AMDWMAni+f8Hxb1IFw==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true, + "license": "MIT" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-sum": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-2.0.0.tgz", + "integrity": "sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "license": "MIT" + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/hpack.js/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.6.0.tgz", + "integrity": "sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.6", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.6.tgz", + "integrity": "sha512-bLjW01UTrvoWTJQL5LsMRo1SypHW80FTm12OJRSnr3v6YHNhfe+1r0MYUZJMACxnCHURVnBWRwAsWs2yPU9Ezw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==", + "dev": true, + "license": "MIT" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.9", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", + "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ipaddr.js": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.3.0.tgz", + "integrity": "sha512-Zv/pA+ciVFbCSBBjGfaKUya/CcGmUHzTydLMaTwrUUEM2DIEO3iZvueGxmacvmN50fGpGVKeTXpb2LcYQxeVdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^1.5.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-file-esm": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-file-esm/-/is-file-esm-1.0.0.tgz", + "integrity": "sha512-rZlaNKb4Mr8WlRu2A9XdeoKgnO5aA53XdPHgCKVyCrQ/rWi89RET1+bq37Ru46obaQXeiX4vmFIm1vks41hoSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "read-pkg-up": "^7.0.1" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "license": "MIT", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "license": "MIT" + }, + "node_modules/is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/javascript-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz", + "integrity": "sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/joi": { + "version": "17.13.3", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.13.3.tgz", + "integrity": "sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "node_modules/js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz", + "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/launch-editor": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.13.1.tgz", + "integrity": "sha512-lPSddlAAluRKJ7/cjRFoXUFzaX7q/YKI7yPHuEvSJVqoXvFnJov1/Ud87Aa4zULIbA9Nja4mSPK8l0z/7eV2wA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^1.1.1", + "shell-quote": "^1.8.3" + } + }, + "node_modules/launch-editor-middleware": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.13.1.tgz", + "integrity": "sha512-ZuzP8PJT7eKS4zZ/UWk0ciEOXlpqsHyDGSwQ6mwvszvjwT8/VUft+ISeR/BMvd2VkuaBispslpF5jaAEsD2wlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "launch-editor": "^2.13.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/loader-runner": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", + "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.11.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/loader-utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz", + "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/loader-utils/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-update": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz", + "integrity": "sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^3.0.0", + "cli-cursor": "^2.0.0", + "wrap-ansi": "^3.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-3.0.1.tgz", + "integrity": "sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dev": true, + "license": "Unlicense", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "license": "MIT", + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.10.0.tgz", + "integrity": "sha512-540P2c5dYnJlyJxTaSloliZexv8rji6rY8FhQN+WF/82iHQfA23j/xtJx97L+mXOML27EqksSek/g4eK7jaL3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "license": "MIT" + }, + "node_modules/module-alias": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/module-alias/-/module-alias-2.3.4.tgz", + "integrity": "sha512-bOclZt8hkpuGgSSoG07PKmvzTizROilUTvLNyrMqvlC9snhs7y7GzjNWAVbISIOlhCP1T14rH1PDAV9iNyBq/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "license": "MIT", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", + "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-forge": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz", + "integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==", + "dev": true, + "license": "(BSD-3-Clause OR GPL-2.0)", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true, + "license": "MIT" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz", + "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "license": "MIT", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^6.0.1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz", + "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pinia": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-3.0.4.tgz", + "integrity": "sha512-l7pqLUFTI/+ESXn6k3nu30ZIzW5E2WZF/LaHJEpoq6ElcLD+wduZoB2kBN19du6K/4FDpPMazY2wJr+IndBtQw==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.7.7" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "typescript": ">=4.5.0", + "vue": "^3.5.11" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", + "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", + "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^7.0.0", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", + "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", + "dev": true, + "license": "ISC", + "dependencies": { + "postcss-selector-parser": "^7.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope/node_modules/postcss-selector-parser": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", + "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "license": "MIT", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "license": "MIT", + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/progress-webpack-plugin": { + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz", + "integrity": "sha512-sdiHuuKOzELcBANHfrupYo+r99iPRyOnw15qX+rNlVUqXGfjXdH4IgxriKwG1kNJwVswKQHMdj1hYZMcb9jFaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^2.1.0", + "figures": "^2.0.0", + "log-update": "^2.3.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0" + } + }, + "node_modules/progress-webpack-plugin/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-webpack-plugin/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-webpack-plugin/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/progress-webpack-plugin/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "license": "MIT" + }, + "node_modules/progress-webpack-plugin/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/progress-webpack-plugin/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/progress-webpack-plugin/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/property-expr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==", + "license": "MIT" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "license": "MIT" + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pump": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.3.tgz", + "integrity": "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.14.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", + "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", + "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", + "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.4" + } + }, + "node_modules/react-toastify": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/react-toastify/-/react-toastify-11.0.5.tgz", + "integrity": "sha512-EpqHBGvnSTtHYhCPLxML05NLY2ZX0JURbAdNYa6BUkk+amz4wbKBQvoKQAB0ardvSarUBuY4Q4s1sluAzZwkmA==", + "license": "MIT", + "dependencies": { + "clsx": "^2.1.1" + }, + "peerDependencies": { + "react": "^18 || ^19", + "react-dom": "^18 || ^19" + } + }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.2.tgz", + "integrity": "sha512-m03P+zhBeQd1RGnYxrGyDAPpWX/epKirLrp8e3qevZdVkKtnCrjjWczIbYc8+xd6vcTStVlqfycTx1KR4LOr0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/regexpu-core": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.4.0.tgz", + "integrity": "sha512-0ghuzq67LI9bLXpOX/ISfve/Mq33a4aFRzoQYhnnok1JOFpmE/A2TBGkNVenOGEeSBCjIiWcc6MVOG5HEQv0sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.2.2", + "regjsgen": "^0.8.0", + "regjsparser": "^0.13.0", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.2.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/regjsparser": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.13.0.tgz", + "integrity": "sha512-NZQZdC5wOE/H3UT28fVGL+ikOZcEzfMGk/c3iN9UGxzWHMa1op7274oyiUVrAG4B2EuFhus8SvkaYnhvW92p9Q==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "jsesc": "~3.1.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", + "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT", + "peer": true + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", + "dev": true, + "license": "MIT" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.2", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.2.tgz", + "integrity": "sha512-KDj11HScOaLmrPxl70KYNW1PksP4Nb/CLL2yvC+Qd2kHMPEEpfc4Re2e4FOay+bC/+XQl/7zAcWON3JVo5v3KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.8.0", + "mime-types": "~2.1.35", + "parseurl": "~1.3.3" + }, + "engines": { + "node": ">= 0.8.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", + "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "license": "MIT", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", + "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.23", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.23.tgz", + "integrity": "sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true, + "license": "MIT" + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", + "dev": true, + "license": "MIT" + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/table": { + "version": "6.9.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz", + "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser": { + "version": "5.46.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.46.0.tgz", + "integrity": "sha512-jTwoImyr/QbOWFFso3YoU3ik0jBBDJ6JTOQiy/J2YxVJdZCc+5u7skhNwiOR3FQIygFqVUPHl7qbbxtjW2K3Qg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.15.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.16", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.16.tgz", + "integrity": "sha512-h9oBFCWrq78NyWWVcSwZarJkZ01c2AyGrzs1crmHZO3QUg9D61Wu4NPjBy69n7JqylFF5y+CsUZYmYEIZ3mR+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.25", + "jest-worker": "^27.4.5", + "schema-utils": "^4.3.0", + "serialize-javascript": "^6.0.2", + "terser": "^5.31.1" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/thread-loader": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-3.0.4.tgz", + "integrity": "sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==", + "dev": true, + "license": "MIT", + "dependencies": { + "json-parse-better-errors": "^1.0.2", + "loader-runner": "^4.1.0", + "loader-utils": "^2.0.0", + "neo-async": "^2.6.2", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/thread-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/thread-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==", + "license": "MIT" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==", + "license": "MIT" + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz", + "integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.1.tgz", + "integrity": "sha512-JQ84qTuMg4nVkx8ga4A16a1epI9H6uTXAknqxkGF/aFfRLw1xC/Bp24HNLaZhHSkWd3+84t8iXnp1J0kYcZHhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.2.0.tgz", + "integrity": "sha512-hpbDzxUY9BFwX+UeBnxv3Sh1q7HFxj48DTmXchNgRa46lO8uj3/1iEn3MiNUYTg1g9ctIqXCCERn8gYZhHC5lQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true, + "license": "MIT" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz", + "integrity": "sha512-ocyWc3bAHBB/guyqJQVI5o4BZkPhznPYUG2ea80Gond/BgNWpap8TOmLSeeQG7bnh2KMISxskdADG59j7zruhw==", + "dev": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vee-validate": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/vee-validate/-/vee-validate-4.15.1.tgz", + "integrity": "sha512-DkFsiTwEKau8VIxyZBGdO6tOudD+QoUBPuHj3e6QFqmbfCRj1ArmYWue9lEp6jLSWBIw4XPlDLjFIZNLdRAMSg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^7.5.2", + "type-fest": "^4.8.3" + }, + "peerDependencies": { + "vue": "^3.4.26" + } + }, + "node_modules/vee-validate/node_modules/type-fest": { + "version": "4.41.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz", + "integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/vue": { + "version": "3.5.29", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.29.tgz", + "integrity": "sha512-BZqN4Ze6mDQVNAni0IHeMJ5mwr8VAJ3MQC9FmprRhcBYENw+wOAAjRj8jfmN6FLl0j96OXbR+CjWhmAmM+QGnA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.29", + "@vue/compiler-sfc": "3.5.29", + "@vue/runtime-dom": "3.5.29", + "@vue/server-renderer": "3.5.29", + "@vue/shared": "3.5.29" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.7.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.4.tgz", + "integrity": "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-loader": { + "version": "17.4.2", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-17.4.2.tgz", + "integrity": "sha512-yTKOA4R/VN4jqjw4y5HrynFL8AK0Z3/Jt7eOJXEitsm0GMRHDBjCfCiuTiLP7OESvsZYo2pATCWhDqxC5ZrM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.1.0", + "hash-sum": "^2.0.0", + "watchpack": "^2.4.0" + }, + "peerDependencies": { + "webpack": "^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "@vue/compiler-sfc": { + "optional": true + }, + "vue": { + "optional": true + } + } + }, + "node_modules/vue-loader/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/vue-notifications": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/vue-notifications/-/vue-notifications-1.0.3.tgz", + "integrity": "sha512-YcScMhLfMuCH5eFQbERwzpy7VZWs60H2WX2n+RXrVXWO4nBP7WWsPRreSf5ISmC8vYTPbOR39fsKdhOiRlQhWw==", + "license": "MIT", + "engines": { + "node": ">=8.9" + } + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/vue-router/node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-style-loader/node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/vue-toast-notification": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/vue-toast-notification/-/vue-toast-notification-3.1.3.tgz", + "integrity": "sha512-XNyWqwLIGBFfX5G9sK+clq3N3IPlhDjzNdbZaXkEElcotPlWs0wWZailk1vqhdtLYT/93Y4FHAVuzyatLmPZRA==", + "license": "MIT", + "engines": { + "node": ">=12.15.0" + }, + "peerDependencies": { + "vue": "^3.0" + } + }, + "node_modules/vue-toastification": { + "version": "2.0.0-rc.5", + "resolved": "https://registry.npmjs.org/vue-toastification/-/vue-toastification-2.0.0-rc.5.tgz", + "integrity": "sha512-q73e5jy6gucEO/U+P48hqX+/qyXDozAGmaGgLFm5tXX4wJBcVsnGp4e/iJqlm9xzHETYOilUuwOUje2Qg1JdwA==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.2" + } + }, + "node_modules/vue3-google-login": { + "version": "2.0.37", + "resolved": "https://registry.npmjs.org/vue3-google-login/-/vue3-google-login-2.0.37.tgz", + "integrity": "sha512-1seGaevhcMPi/dKO36KktpqYMkJdzt4s5U7XjLvHPd50e8sCBcC8/Pv3Mz+QrK12rSOmiduTtxCuPcH2ULYozw==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.0.3" + } + }, + "node_modules/vuetify": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-3.12.1.tgz", + "integrity": "sha512-JDHDzs1e195YJ9L3X4nWQySGSMyTxr0BefIY4+l/CpAgTd9pPV5F6oZzI8ZLuikMxS4HhfSGHteOAe6u/zh4vQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/johnleider" + }, + "peerDependencies": { + "typescript": ">=4.7", + "vite-plugin-vuetify": ">=2.1.0", + "vue": "^3.5.0", + "webpack-plugin-vuetify": ">=3.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + }, + "vite-plugin-vuetify": { + "optional": true + }, + "webpack-plugin-vuetify": { + "optional": true + } + } + }, + "node_modules/watchpack": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.5.1.tgz", + "integrity": "sha512-Zn5uXdcFNIA1+1Ei5McRd+iRzfhENPCe7LeABkJtNulSxjma+l7ltNx55BWZkRlwRnpOgHqxnjyaDgJnNXnqzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "license": "MIT", + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/webpack": { + "version": "5.105.2", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", + "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/eslint-scope": "^3.7.7", + "@types/estree": "^1.0.8", + "@types/json-schema": "^7.0.15", + "@webassemblyjs/ast": "^1.14.1", + "@webassemblyjs/wasm-edit": "^1.14.1", + "@webassemblyjs/wasm-parser": "^1.14.1", + "acorn": "^8.15.0", + "acorn-import-phases": "^1.0.3", + "browserslist": "^4.28.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.19.0", + "es-module-lexer": "^2.0.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.11", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.3.1", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^4.3.3", + "tapable": "^2.3.0", + "terser-webpack-plugin": "^5.3.16", + "watchpack": "^2.5.1", + "webpack-sources": "^3.3.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.2.tgz", + "integrity": "sha512-vJptkMm9pk5si4Bv922ZbKLV8UTT4zib4FPgXMhgzUny0bfDDkLXAVQs3ly3fS4/TN9ROFtb0NFrm04UXFE/Vw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-chain": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-6.5.1.tgz", + "integrity": "sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true, + "license": "MPL-2.0", + "dependencies": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^2.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz", + "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", + "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.4", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.19.0.tgz", + "integrity": "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.4.tgz", + "integrity": "sha512-7tP1PdV4vF+lYPnkMR0jMY5/la2ub5Fc/8VQrrU+lXkiM6C4TjVfGw7iKfyhnTQOsD+6Q/iKw0eFciziRgD58Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-virtual-modules": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz", + "integrity": "sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack/node_modules/ajv": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", + "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz", + "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "node_modules/yorkie/node_modules/execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/yorkie/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "license": "ISC", + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/yorkie/node_modules/normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/yorkie/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/yorkie/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yup": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.7.1.tgz", + "integrity": "sha512-GKHFX2nXul2/4Dtfxhozv701jLQHdf6J34YDh2cEkpqoo8le5Mg6/LrdseVLrFarmFygZTlfIhHx/QKfb/QWXw==", + "license": "MIT", + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/ambari-kavach/ambari-kavach-frontend/package.json b/ambari-kavach/ambari-kavach-frontend/package.json new file mode 100644 index 00000000000..6f2e49ad75d --- /dev/null +++ b/ambari-kavach/ambari-kavach-frontend/package.json @@ -0,0 +1,56 @@ +{ + "name": "ambari-kavach-frontend", + "version": "0.1.0", + "private": true, + "scripts": { + "serve": "vue-cli-service serve", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@mdi/font": "^7.4.47", + "axios": "^1.11.0", + "core-js": "^3.8.3", + "pinia": "^3.0.3", + "react-toastify": "^11.0.5", + "router": "^2.2.0", + "vee-validate": "^4.15.1", + "vue": "^3.2.13", + "vue-notifications": "^1.0.3", + "vue-router": "^4.5.1", + "vue-toast-notification": "^3.1.3", + "vue-toastification": "^2.0.0-rc.5", + "vue3-google-login": "^2.0.33", + "vuetify": "^3.9.0-beta.1", + "yup": "^1.7.0" + }, + "devDependencies": { + "@babel/core": "^7.12.16", + "@babel/eslint-parser": "^7.12.16", + "@vue/cli-plugin-babel": "^5.0.0", + "@vue/cli-plugin-eslint": "^5.0.9", + "@vue/cli-service": "~5.0.0", + "eslint": "^7.32.0", + "eslint-plugin-vue": "^8.0.3" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/vue3-essential", + "eslint:recommended" + ], + "parserOptions": { + "parser": "@babel/eslint-parser" + }, + "rules": {} + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead", + "not ie 11" + ] +} diff --git a/ambari-kavach/ambari-kavach-frontend/public/ambari-kavach-logo.png b/ambari-kavach/ambari-kavach-frontend/public/ambari-kavach-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f6525daa26104e6a20e4cb679145b999b46994a9 GIT binary patch literal 1348834 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 HgS{Eq&yp6V?VMi1>zbM34Bke^*Q# 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%0D&mdl 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

v^Wht%D&i>VUT#VwK`plG!tO3n1F`y| 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 z

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

@r@CQk;R>6`}$Kh1`I+O%WOe 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