From e9e5acb8622faad436ba884a5f48e30e6c0165d4 Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Mon, 1 Jul 2024 16:14:12 +0000
Subject: [PATCH] build: update CI to 4.5.3 + php and js dependencies to latest

---
 CONTRIBUTING.md                               |    4 +-
 app/Config/Exceptions.php                     |    8 +-
 app/Helpers/rss_helper.php                    |    3 +-
 composer.json                                 |   27 +-
 composer.lock                                 | 1138 ++++++--
 modules/MediaClipper/VideoClipper.php         |    1 -
 .../Controllers/PlatformController.php        |    3 +-
 package.json                                  |   60 +-
 phpstan.neon                                  |    2 +-
 pnpm-lock.yaml                                | 2554 +++++++++--------
 preload.php                                   |   25 +-
 rector.php                                    |    3 -
 spark                                         |    2 +-
 themes/cp_admin/subscription/list.php         |   10 +-
 14 files changed, 2304 insertions(+), 1536 deletions(-)

diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6557e02b63..24af0bdb0f 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -71,8 +71,8 @@ experience the problem? What would you expect to be the outcome? All these
 details will help people to fix any potential bugs.
 
 > [!NOTE]  
-> [Issue templates](https://docs.gitlab.com/ee/user/project/description_templates.html#using-the-templates)
-> have been created for this project. You may use them to help you follow those
+> [Issue templates](https://docs.gitlab.com/ee/user/project/description_templates.html#using-the-templates) have
+> been created for this project. You may use them to help you follow those
 > guidelines.
 
 ## Feature requests
diff --git a/app/Config/Exceptions.php b/app/Config/Exceptions.php
index afd1576a9a..4744a7f289 100644
--- a/app/Config/Exceptions.php
+++ b/app/Config/Exceptions.php
@@ -62,12 +62,10 @@ class Exceptions extends BaseConfig
 
     /**
      * --------------------------------------------------------------------------
-     * LOG DEPRECATIONS INSTEAD OF THROWING?
+     * WHETHER TO THROW AN EXCEPTION ON DEPRECATED ERRORS
      * --------------------------------------------------------------------------
-     * By default, CodeIgniter converts deprecations into exceptions. Also,
-     * starting in PHP 8.1 will cause a lot of deprecated usage warnings.
-     * Use this option to temporarily cease the warnings and instead log those.
-     * This option also works for user deprecations.
+     * If set to `true`, DEPRECATED errors are only logged and no exceptions are
+     * thrown. This option also works for user deprecations.
      */
     public bool $logDeprecations = true;
 
diff --git a/app/Helpers/rss_helper.php b/app/Helpers/rss_helper.php
index 90f9ee717b..67bd368e39 100644
--- a/app/Helpers/rss_helper.php
+++ b/app/Helpers/rss_helper.php
@@ -537,8 +537,7 @@ if (! function_exists('array_to_rss')) {
                 );
                 if (array_key_exists('attributes', $childArrayNode)) {
                     foreach (
-                        $childArrayNode['attributes']
-                        as $attributeKey => $attributeValue
+                        $childArrayNode['attributes'] as $attributeKey => $attributeValue
                     ) {
                         $childXmlNode->addAttribute($attributeKey, $attributeValue);
                     }
diff --git a/composer.json b/composer.json
index db0915f7d6..021108bce5 100644
--- a/composer.json
+++ b/composer.json
@@ -9,20 +9,20 @@
     "php": "^8.1",
     "adaures/ipcat-php": "^v1.0.0",
     "adaures/podcast-persons-taxonomy": "^v1.0.1",
-    "aws/aws-sdk-php": "^3.305.4",
+    "aws/aws-sdk-php": "^3.315.2",
     "chrisjean/php-ico": "^1.0.4",
     "cocur/slugify": "^v4.5.1",
-    "codeigniter4/framework": "v4.5.1",
+    "codeigniter4/framework": "v4.5.3",
     "codeigniter4/settings": "v2.2.0",
-    "codeigniter4/shield": "v1.0.3",
+    "codeigniter4/shield": "v1.1.0",
     "codeigniter4/tasks": "dev-develop",
     "geoip2/geoip2": "v3.0.0",
-    "james-heinrich/getid3": "^2.0.0-beta5",
+    "james-heinrich/getid3": "^2.0.0-beta6",
     "league/commonmark": "^2.4.2",
     "league/html-to-markdown": "5.1.1",
     "melbahja/seo": "^v2.1.1",
     "michalsn/codeigniter4-uuid": "v1.1.0",
-    "mpratt/embera": "^2.0.38",
+    "mpratt/embera": "^2.0.40",
     "opawg/user-agents-v2-php": "dev-main",
     "phpseclib/phpseclib": "~2.0.47",
     "vlucas/phpdotenv": "v5.6.0",
@@ -31,19 +31,20 @@
     "yassinedoghri/podcast-feed": "dev-main"
   },
   "require-dev": {
-    "captainhook/captainhook": "^5.23.0",
+    "captainhook/captainhook": "^5.23.1",
     "codeigniter/phpstan-codeigniter": "v1.4.3",
     "mikey179/vfsstream": "^v1.6.11",
-    "phpstan/extension-installer": "^1.3.1",
-    "phpstan/phpstan": "^1.10.67",
-    "phpunit/phpunit": "^10.5.20",
-    "rector/rector": "^1.0.4",
-    "symplify/coding-standard": "^12.1.4",
-    "symplify/easy-coding-standard": "^12.1.14"
+    "phpstan/extension-installer": "^1.4.1",
+    "phpstan/phpstan": "^1.11.6",
+    "phpunit/phpunit": "^10.5.24",
+    "rector/rector": "^1.2.0",
+    "symplify/coding-standard": "^12.1.6",
+    "symplify/easy-coding-standard": "^12.3.0"
   },
   "autoload": {
     "psr-4": {
-      "App\\": "app/"
+      "App\\": "app/",
+      "Config\\": "app/Config"
     },
     "exclude-from-classmap": [
       "**/Database/Migrations/**"
diff --git a/composer.lock b/composer.lock
index 6615e8308f..1d03a0bdf2 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
     "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
     "This file is @generated automatically"
   ],
-  "content-hash": "b0b783684ed8d36e636fac3632c78c27",
+  "content-hash": "40409dd892a4a38f769d78e4c0681a84",
   "packages": [
     {
       "name": "adaures/ipcat-php",
@@ -143,16 +143,16 @@
     },
     {
       "name": "aws/aws-crt-php",
-      "version": "v1.2.5",
+      "version": "v1.2.6",
       "source": {
         "type": "git",
         "url": "https://github.com/awslabs/aws-crt-php.git",
-        "reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b"
+        "reference": "a63485b65b6b3367039306496d49737cf1995408"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/0ea1f04ec5aa9f049f97e012d1ed63b76834a31b",
-        "reference": "0ea1f04ec5aa9f049f97e012d1ed63b76834a31b",
+        "url": "https://api.github.com/repos/awslabs/aws-crt-php/zipball/a63485b65b6b3367039306496d49737cf1995408",
+        "reference": "a63485b65b6b3367039306496d49737cf1995408",
         "shasum": ""
       },
       "require": {
@@ -182,22 +182,22 @@
       "keywords": ["amazon", "aws", "crt", "sdk"],
       "support": {
         "issues": "https://github.com/awslabs/aws-crt-php/issues",
-        "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.5"
+        "source": "https://github.com/awslabs/aws-crt-php/tree/v1.2.6"
       },
-      "time": "2024-04-19T21:30:56+00:00"
+      "time": "2024-06-13T17:21:28+00:00"
     },
     {
       "name": "aws/aws-sdk-php",
-      "version": "3.305.4",
+      "version": "3.315.2",
       "source": {
         "type": "git",
         "url": "https://github.com/aws/aws-sdk-php.git",
-        "reference": "fc26a2ebf720e0b75a353d7e8fe206796671e00b"
+        "reference": "0d9911bf67e0f2c4b6965d7f10840b11f323e6b2"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/fc26a2ebf720e0b75a353d7e8fe206796671e00b",
-        "reference": "fc26a2ebf720e0b75a353d7e8fe206796671e00b",
+        "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/0d9911bf67e0f2c4b6965d7f10840b11f323e6b2",
+        "reference": "0d9911bf67e0f2c4b6965d7f10840b11f323e6b2",
         "shasum": ""
       },
       "require": {
@@ -273,9 +273,9 @@
       "support": {
         "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
         "issues": "https://github.com/aws/aws-sdk-php/issues",
-        "source": "https://github.com/aws/aws-sdk-php/tree/3.305.4"
+        "source": "https://github.com/aws/aws-sdk-php/tree/3.315.2"
       },
-      "time": "2024-04-26T18:06:31+00:00"
+      "time": "2024-06-28T19:07:22+00:00"
     },
     {
       "name": "brick/math",
@@ -446,16 +446,16 @@
     },
     {
       "name": "codeigniter4/framework",
-      "version": "v4.5.1",
+      "version": "v4.5.3",
       "source": {
         "type": "git",
         "url": "https://github.com/codeigniter4/framework.git",
-        "reference": "9b2cd730db29d14ac6e760fb15c4bcac15184ec4"
+        "reference": "be27314371eece7ff3ac7c13d5b2f39f95038dfa"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/codeigniter4/framework/zipball/9b2cd730db29d14ac6e760fb15c4bcac15184ec4",
-        "reference": "9b2cd730db29d14ac6e760fb15c4bcac15184ec4",
+        "url": "https://api.github.com/repos/codeigniter4/framework/zipball/be27314371eece7ff3ac7c13d5b2f39f95038dfa",
+        "reference": "be27314371eece7ff3ac7c13d5b2f39f95038dfa",
         "shasum": ""
       },
       "require": {
@@ -512,7 +512,7 @@
         "slack": "https://codeigniterchat.slack.com",
         "source": "https://github.com/codeigniter4/CodeIgniter4"
       },
-      "time": "2024-04-14T04:18:29+00:00"
+      "time": "2024-06-25T02:18:23+00:00"
     },
     {
       "name": "codeigniter4/settings",
@@ -563,16 +563,16 @@
     },
     {
       "name": "codeigniter4/shield",
-      "version": "v1.0.3",
+      "version": "v1.1.0",
       "source": {
         "type": "git",
         "url": "https://github.com/codeigniter4/shield.git",
-        "reference": "3fbac7a3da41ebaac7d51708244f68df596409f0"
+        "reference": "22a8b3b58dafa7a5c080bc61446653aeb9fffc06"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/codeigniter4/shield/zipball/3fbac7a3da41ebaac7d51708244f68df596409f0",
-        "reference": "3fbac7a3da41ebaac7d51708244f68df596409f0",
+        "url": "https://api.github.com/repos/codeigniter4/shield/zipball/22a8b3b58dafa7a5c080bc61446653aeb9fffc06",
+        "reference": "22a8b3b58dafa7a5c080bc61446653aeb9fffc06",
         "shasum": ""
       },
       "require": {
@@ -591,7 +591,8 @@
         "mockery/mockery": "^1.0",
         "phpstan/extension-installer": "^1.3",
         "phpstan/phpstan-strict-rules": "^1.5",
-        "rector/rector": "1.0.4"
+        "phpunit/phpunit": "^9.6",
+        "rector/rector": "1.1.0"
       },
       "suggest": {
         "ext-curl": "Required to use the password validation rule via PwnedValidator class.",
@@ -628,7 +629,7 @@
         "slack": "https://codeigniterchat.slack.com",
         "source": "https://github.com/codeigniter4/shield"
       },
-      "time": "2024-04-14T08:57:57+00:00"
+      "time": "2024-06-13T08:54:48+00:00"
     },
     {
       "name": "codeigniter4/tasks",
@@ -636,12 +637,12 @@
       "source": {
         "type": "git",
         "url": "https://github.com/codeigniter4/tasks.git",
-        "reference": "7cfd0918765854b68861f9470eff3d8b9e4e537d"
+        "reference": "674ee9b7339b34c49ee8965e395484c8cda8eee8"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/7cfd0918765854b68861f9470eff3d8b9e4e537d",
-        "reference": "7cfd0918765854b68861f9470eff3d8b9e4e537d",
+        "url": "https://api.github.com/repos/codeigniter4/tasks/zipball/674ee9b7339b34c49ee8965e395484c8cda8eee8",
+        "reference": "674ee9b7339b34c49ee8965e395484c8cda8eee8",
         "shasum": ""
       },
       "require": {
@@ -652,7 +653,7 @@
       "require-dev": {
         "codeigniter4/devkit": "^1.0",
         "codeigniter4/framework": "^4.1",
-        "rector/rector": "1.0.4"
+        "rector/rector": "1.1.1"
       },
       "default-branch": true,
       "type": "library",
@@ -710,7 +711,7 @@
         "source": "https://github.com/codeigniter4/tasks/tree/develop",
         "issues": "https://github.com/codeigniter4/tasks/issues"
       },
-      "time": "2024-04-06T08:58:00+00:00"
+      "time": "2024-06-21T11:45:55+00:00"
     },
     {
       "name": "composer/ca-bundle",
@@ -1882,16 +1883,16 @@
     },
     {
       "name": "mpratt/embera",
-      "version": "2.0.38",
+      "version": "2.0.40",
       "source": {
         "type": "git",
         "url": "https://github.com/mpratt/Embera.git",
-        "reference": "25d6b9385e27cad9618bdde8355226247d39671d"
+        "reference": "6fc913ddd6510337dc15f8124bd7de46d891e7d5"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/mpratt/Embera/zipball/25d6b9385e27cad9618bdde8355226247d39671d",
-        "reference": "25d6b9385e27cad9618bdde8355226247d39671d",
+        "url": "https://api.github.com/repos/mpratt/Embera/zipball/6fc913ddd6510337dc15f8124bd7de46d891e7d5",
+        "reference": "6fc913ddd6510337dc15f8124bd7de46d891e7d5",
         "shasum": ""
       },
       "require": {
@@ -1938,7 +1939,7 @@
       ],
       "support": {
         "issues": "https://github.com/mpratt/Embera/issues",
-        "source": "https://github.com/mpratt/Embera/tree/2.0.38"
+        "source": "https://github.com/mpratt/Embera/tree/2.0.40"
       },
       "funding": [
         {
@@ -1946,7 +1947,7 @@
           "type": "paypal"
         }
       ],
-      "time": "2024-04-13T04:35:29+00:00"
+      "time": "2024-06-13T20:18:59+00:00"
     },
     {
       "name": "mtdowling/jmespath.php",
@@ -2533,20 +2534,20 @@
     },
     {
       "name": "psr/http-factory",
-      "version": "1.0.2",
+      "version": "1.1.0",
       "source": {
         "type": "git",
         "url": "https://github.com/php-fig/http-factory.git",
-        "reference": "e616d01114759c4c489f93b099585439f795fe35"
+        "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35",
-        "reference": "e616d01114759c4c489f93b099585439f795fe35",
+        "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
+        "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a",
         "shasum": ""
       },
       "require": {
-        "php": ">=7.0.0",
+        "php": ">=7.1",
         "psr/http-message": "^1.0 || ^2.0"
       },
       "type": "library",
@@ -2568,7 +2569,7 @@
           "homepage": "https://www.php-fig.org/"
         }
       ],
-      "description": "Common interfaces for PSR-7 HTTP message factories",
+      "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories",
       "keywords": [
         "factory",
         "http",
@@ -2580,9 +2581,9 @@
         "response"
       ],
       "support": {
-        "source": "https://github.com/php-fig/http-factory/tree/1.0.2"
+        "source": "https://github.com/php-fig/http-factory"
       },
-      "time": "2023-04-10T20:10:41+00:00"
+      "time": "2024-04-15T12:06:14+00:00"
     },
     {
       "name": "psr/http-message",
@@ -2885,16 +2886,16 @@
     },
     {
       "name": "symfony/deprecation-contracts",
-      "version": "v3.4.0",
+      "version": "v3.5.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/deprecation-contracts.git",
-        "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
+        "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
-        "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
+        "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
+        "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1",
         "shasum": ""
       },
       "require": {
@@ -2903,7 +2904,7 @@
       "type": "library",
       "extra": {
         "branch-alias": {
-          "dev-main": "3.4-dev"
+          "dev-main": "3.5-dev"
         },
         "thanks": {
           "name": "symfony/contracts",
@@ -2928,7 +2929,7 @@
       "description": "A generic function and convention to trigger deprecation notices",
       "homepage": "https://symfony.com",
       "support": {
-        "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
+        "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0"
       },
       "funding": [
         {
@@ -2944,20 +2945,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2023-05-23T14:45:45+00:00"
+      "time": "2024-04-18T09:32:20+00:00"
     },
     {
       "name": "symfony/polyfill-ctype",
-      "version": "v1.29.0",
+      "version": "v1.30.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/polyfill-ctype.git",
-        "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4"
+        "reference": "0424dff1c58f028c451efff2045f5d92410bd540"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4",
-        "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4",
+        "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540",
+        "reference": "0424dff1c58f028c451efff2045f5d92410bd540",
         "shasum": ""
       },
       "require": {
@@ -2998,7 +2999,7 @@
       "homepage": "https://symfony.com",
       "keywords": ["compatibility", "ctype", "polyfill", "portable"],
       "support": {
-        "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0"
+        "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0"
       },
       "funding": [
         {
@@ -3014,20 +3015,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-29T20:11:03+00:00"
+      "time": "2024-05-31T15:07:36+00:00"
     },
     {
       "name": "symfony/polyfill-mbstring",
-      "version": "v1.29.0",
+      "version": "v1.30.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/polyfill-mbstring.git",
-        "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec"
+        "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
-        "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec",
+        "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c",
+        "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c",
         "shasum": ""
       },
       "require": {
@@ -3068,7 +3069,7 @@
       "homepage": "https://symfony.com",
       "keywords": ["compatibility", "mbstring", "polyfill", "portable", "shim"],
       "support": {
-        "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0"
+        "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0"
       },
       "funding": [
         {
@@ -3084,20 +3085,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-29T20:11:03+00:00"
+      "time": "2024-06-19T12:30:46+00:00"
     },
     {
       "name": "symfony/polyfill-php80",
-      "version": "v1.29.0",
+      "version": "v1.30.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/polyfill-php80.git",
-        "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b"
+        "reference": "77fa7995ac1b21ab60769b7323d600a991a90433"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
-        "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b",
+        "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433",
+        "reference": "77fa7995ac1b21ab60769b7323d600a991a90433",
         "shasum": ""
       },
       "require": {
@@ -3137,7 +3138,7 @@
       "homepage": "https://symfony.com",
       "keywords": ["compatibility", "polyfill", "portable", "shim"],
       "support": {
-        "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0"
+        "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0"
       },
       "funding": [
         {
@@ -3153,7 +3154,7 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-29T20:11:03+00:00"
+      "time": "2024-05-31T15:07:36+00:00"
     },
     {
       "name": "vlucas/phpdotenv",
@@ -3445,16 +3446,16 @@
   "packages-dev": [
     {
       "name": "captainhook/captainhook",
-      "version": "5.23.0",
+      "version": "5.23.1",
       "source": {
         "type": "git",
         "url": "https://github.com/captainhookphp/captainhook.git",
-        "reference": "08d90e4d98db123ab58826be8e891d7d36c14f2a"
+        "reference": "dcadeb2961ab851fa4c70291abd02d1f43b1bc45"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/captainhookphp/captainhook/zipball/08d90e4d98db123ab58826be8e891d7d36c14f2a",
-        "reference": "08d90e4d98db123ab58826be8e891d7d36c14f2a",
+        "url": "https://api.github.com/repos/captainhookphp/captainhook/zipball/dcadeb2961ab851fa4c70291abd02d1f43b1bc45",
+        "reference": "dcadeb2961ab851fa4c70291abd02d1f43b1bc45",
         "shasum": ""
       },
       "require": {
@@ -3513,7 +3514,7 @@
       ],
       "support": {
         "issues": "https://github.com/captainhookphp/captainhook/issues",
-        "source": "https://github.com/captainhookphp/captainhook/tree/5.23.0"
+        "source": "https://github.com/captainhookphp/captainhook/tree/5.23.1"
       },
       "funding": [
         {
@@ -3521,7 +3522,7 @@
           "type": "github"
         }
       ],
-      "time": "2024-04-12T10:39:21+00:00"
+      "time": "2024-06-18T22:19:22+00:00"
     },
     {
       "name": "captainhook/secrets",
@@ -3577,6 +3578,68 @@
       ],
       "time": "2023-11-30T18:10:18+00:00"
     },
+    {
+      "name": "clue/ndjson-react",
+      "version": "v1.3.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/clue/reactphp-ndjson.git",
+        "reference": "392dc165fce93b5bb5c637b67e59619223c931b0"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/clue/reactphp-ndjson/zipball/392dc165fce93b5bb5c637b67e59619223c931b0",
+        "reference": "392dc165fce93b5bb5c637b67e59619223c931b0",
+        "shasum": ""
+      },
+      "require": {
+        "php": ">=5.3",
+        "react/stream": "^1.2"
+      },
+      "require-dev": {
+        "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35",
+        "react/event-loop": "^1.2"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "Clue\\React\\NDJson\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering"
+        }
+      ],
+      "description": "Streaming newline-delimited JSON (NDJSON) parser and encoder for ReactPHP.",
+      "homepage": "https://github.com/clue/reactphp-ndjson",
+      "keywords": [
+        "NDJSON",
+        "json",
+        "jsonlines",
+        "newline",
+        "reactphp",
+        "streaming"
+      ],
+      "support": {
+        "issues": "https://github.com/clue/reactphp-ndjson/issues",
+        "source": "https://github.com/clue/reactphp-ndjson/tree/v1.3.0"
+      },
+      "funding": [
+        {
+          "url": "https://clue.engineering/support",
+          "type": "custom"
+        },
+        {
+          "url": "https://github.com/clue",
+          "type": "github"
+        }
+      ],
+      "time": "2022-12-23T10:58:28+00:00"
+    },
     {
       "name": "codeigniter/phpstan-codeigniter",
       "version": "v1.4.3",
@@ -3649,16 +3712,16 @@
     },
     {
       "name": "composer/pcre",
-      "version": "3.1.3",
+      "version": "3.1.4",
       "source": {
         "type": "git",
         "url": "https://github.com/composer/pcre.git",
-        "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8"
+        "reference": "04229f163664973f68f38f6f73d917799168ef24"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/composer/pcre/zipball/5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
-        "reference": "5b16e25a5355f1f3afdfc2f954a0a80aec4826a8",
+        "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24",
+        "reference": "04229f163664973f68f38f6f73d917799168ef24",
         "shasum": ""
       },
       "require": {
@@ -3693,7 +3756,7 @@
       "keywords": ["PCRE", "preg", "regex", "regular expression"],
       "support": {
         "issues": "https://github.com/composer/pcre/issues",
-        "source": "https://github.com/composer/pcre/tree/3.1.3"
+        "source": "https://github.com/composer/pcre/tree/3.1.4"
       },
       "funding": [
         {
@@ -3709,7 +3772,7 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-03-19T10:26:25+00:00"
+      "time": "2024-05-27T13:40:54+00:00"
     },
     {
       "name": "composer/semver",
@@ -3787,16 +3850,16 @@
     },
     {
       "name": "composer/xdebug-handler",
-      "version": "3.0.4",
+      "version": "3.0.5",
       "source": {
         "type": "git",
         "url": "https://github.com/composer/xdebug-handler.git",
-        "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255"
+        "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
-        "reference": "4f988f8fdf580d53bdb2d1278fe93d1ed5462255",
+        "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef",
+        "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef",
         "shasum": ""
       },
       "require": {
@@ -3828,7 +3891,7 @@
       "support": {
         "irc": "ircs://irc.libera.chat:6697/composer",
         "issues": "https://github.com/composer/xdebug-handler/issues",
-        "source": "https://github.com/composer/xdebug-handler/tree/3.0.4"
+        "source": "https://github.com/composer/xdebug-handler/tree/3.0.5"
       },
       "funding": [
         {
@@ -3844,29 +3907,134 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-03-26T18:29:49+00:00"
+      "time": "2024-05-06T16:37:16+00:00"
+    },
+    {
+      "name": "evenement/evenement",
+      "version": "v3.0.2",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/igorw/evenement.git",
+        "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/igorw/evenement/zipball/0a16b0d71ab13284339abb99d9d2bd813640efbc",
+        "reference": "0a16b0d71ab13284339abb99d9d2bd813640efbc",
+        "shasum": ""
+      },
+      "require": {
+        "php": ">=7.0"
+      },
+      "require-dev": {
+        "phpunit/phpunit": "^9 || ^6"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "Evenement\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Igor Wiedler",
+          "email": "igor@wiedler.ch"
+        }
+      ],
+      "description": "Événement is a very simple event dispatching library for PHP",
+      "keywords": ["event-dispatcher", "event-emitter"],
+      "support": {
+        "issues": "https://github.com/igorw/evenement/issues",
+        "source": "https://github.com/igorw/evenement/tree/v3.0.2"
+      },
+      "time": "2023-08-08T05:53:35+00:00"
+    },
+    {
+      "name": "fidry/cpu-core-counter",
+      "version": "1.1.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/theofidry/cpu-core-counter.git",
+        "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/f92996c4d5c1a696a6a970e20f7c4216200fcc42",
+        "reference": "f92996c4d5c1a696a6a970e20f7c4216200fcc42",
+        "shasum": ""
+      },
+      "require": {
+        "php": "^7.2 || ^8.0"
+      },
+      "require-dev": {
+        "fidry/makefile": "^0.2.0",
+        "fidry/php-cs-fixer-config": "^1.1.2",
+        "phpstan/extension-installer": "^1.2.0",
+        "phpstan/phpstan": "^1.9.2",
+        "phpstan/phpstan-deprecation-rules": "^1.0.0",
+        "phpstan/phpstan-phpunit": "^1.2.2",
+        "phpstan/phpstan-strict-rules": "^1.4.4",
+        "phpunit/phpunit": "^8.5.31 || ^9.5.26",
+        "webmozarts/strict-phpunit": "^7.5"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "Fidry\\CpuCoreCounter\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Théo FIDRY",
+          "email": "theo.fidry@gmail.com"
+        }
+      ],
+      "description": "Tiny utility to get the number of CPU cores.",
+      "keywords": ["CPU", "core"],
+      "support": {
+        "issues": "https://github.com/theofidry/cpu-core-counter/issues",
+        "source": "https://github.com/theofidry/cpu-core-counter/tree/1.1.0"
+      },
+      "funding": [
+        {
+          "url": "https://github.com/theofidry",
+          "type": "github"
+        }
+      ],
+      "time": "2024-02-07T09:43:46+00:00"
     },
     {
       "name": "friendsofphp/php-cs-fixer",
-      "version": "v3.54.0",
+      "version": "v3.59.3",
       "source": {
         "type": "git",
         "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
-        "reference": "2aecbc8640d7906c38777b3dcab6f4ca79004d08"
+        "reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/2aecbc8640d7906c38777b3dcab6f4ca79004d08",
-        "reference": "2aecbc8640d7906c38777b3dcab6f4ca79004d08",
+        "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/30ba9ecc2b0e5205e578fe29973c15653d9bfd29",
+        "reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29",
         "shasum": ""
       },
       "require": {
+        "clue/ndjson-react": "^1.0",
         "composer/semver": "^3.4",
         "composer/xdebug-handler": "^3.0.3",
         "ext-filter": "*",
         "ext-json": "*",
         "ext-tokenizer": "*",
+        "fidry/cpu-core-counter": "^1.0",
         "php": "^7.4 || ^8.0",
+        "react/child-process": "^0.6.5",
+        "react/event-loop": "^1.0",
+        "react/promise": "^2.0 || ^3.0",
+        "react/socket": "^1.0",
+        "react/stream": "^1.0",
         "sebastian/diff": "^4.0 || ^5.0 || ^6.0",
         "symfony/console": "^5.4 || ^6.0 || ^7.0",
         "symfony/event-dispatcher": "^5.4 || ^6.0 || ^7.0",
@@ -3880,16 +4048,16 @@
         "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0"
       },
       "require-dev": {
-        "facile-it/paraunit": "^1.3 || ^2.0",
-        "infection/infection": "^0.27.11",
+        "facile-it/paraunit": "^1.3 || ^2.3",
+        "infection/infection": "^0.29.5",
         "justinrainbow/json-schema": "^5.2",
         "keradus/cli-executor": "^2.1",
         "mikey179/vfsstream": "^1.6.11",
         "php-coveralls/php-coveralls": "^2.7",
         "php-cs-fixer/accessible-object": "^1.1",
-        "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.4",
-        "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.4",
-        "phpunit/phpunit": "^9.6 || ^10.5.5 || ^11.0.2",
+        "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.5",
+        "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.5",
+        "phpunit/phpunit": "^9.6.19 || ^10.5.21 || ^11.2",
         "symfony/var-dumper": "^5.4 || ^6.0 || ^7.0",
         "symfony/yaml": "^5.4 || ^6.0 || ^7.0"
       },
@@ -3902,7 +4070,8 @@
       "autoload": {
         "psr-4": {
           "PhpCsFixer\\": "src/"
-        }
+        },
+        "exclude-from-classmap": ["src/Fixer/Internal/*"]
       },
       "notification-url": "https://packagist.org/downloads/",
       "license": ["MIT"],
@@ -3925,7 +4094,7 @@
       ],
       "support": {
         "issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
-        "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.54.0"
+        "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.59.3"
       },
       "funding": [
         {
@@ -3933,7 +4102,7 @@
           "type": "github"
         }
       ],
-      "time": "2024-04-17T08:12:13+00:00"
+      "time": "2024-06-16T14:17:03+00:00"
     },
     {
       "name": "mikey179/vfsstream",
@@ -3986,16 +4155,16 @@
     },
     {
       "name": "myclabs/deep-copy",
-      "version": "1.11.1",
+      "version": "1.12.0",
       "source": {
         "type": "git",
         "url": "https://github.com/myclabs/DeepCopy.git",
-        "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+        "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
-        "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+        "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
+        "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c",
         "shasum": ""
       },
       "require": {
@@ -4003,11 +4172,12 @@
       },
       "conflict": {
         "doctrine/collections": "<1.6.8",
-        "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+        "doctrine/common": "<2.13.3 || >=3 <3.2.2"
       },
       "require-dev": {
         "doctrine/collections": "^1.6.8",
         "doctrine/common": "^2.13.3 || ^3.2.2",
+        "phpspec/prophecy": "^1.10",
         "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
       },
       "type": "library",
@@ -4023,7 +4193,7 @@
       "keywords": ["clone", "copy", "duplicate", "object", "object graph"],
       "support": {
         "issues": "https://github.com/myclabs/DeepCopy/issues",
-        "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+        "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0"
       },
       "funding": [
         {
@@ -4031,7 +4201,7 @@
           "type": "tidelift"
         }
       ],
-      "time": "2023-03-08T13:26:56+00:00"
+      "time": "2024-06-12T14:39:25+00:00"
     },
     {
       "name": "phar-io/manifest",
@@ -4145,16 +4315,16 @@
     },
     {
       "name": "phpstan/extension-installer",
-      "version": "1.3.1",
+      "version": "1.4.1",
       "source": {
         "type": "git",
         "url": "https://github.com/phpstan/extension-installer.git",
-        "reference": "f45734bfb9984c6c56c4486b71230355f066a58a"
+        "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f45734bfb9984c6c56c4486b71230355f066a58a",
-        "reference": "f45734bfb9984c6c56c4486b71230355f066a58a",
+        "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
+        "reference": "f6b87faf9fc7978eab2f7919a8760bc9f58f9203",
         "shasum": ""
       },
       "require": {
@@ -4181,22 +4351,22 @@
       "description": "Composer plugin for automatic installation of PHPStan extensions",
       "support": {
         "issues": "https://github.com/phpstan/extension-installer/issues",
-        "source": "https://github.com/phpstan/extension-installer/tree/1.3.1"
+        "source": "https://github.com/phpstan/extension-installer/tree/1.4.1"
       },
-      "time": "2023-05-24T08:59:17+00:00"
+      "time": "2024-06-10T08:20:49+00:00"
     },
     {
       "name": "phpstan/phpstan",
-      "version": "1.10.67",
+      "version": "1.11.6",
       "source": {
         "type": "git",
         "url": "https://github.com/phpstan/phpstan.git",
-        "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493"
+        "reference": "6ac78f1165346c83b4a753f7e4186d969c6ad0ee"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/phpstan/phpstan/zipball/16ddbe776f10da6a95ebd25de7c1dbed397dc493",
-        "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493",
+        "url": "https://api.github.com/repos/phpstan/phpstan/zipball/6ac78f1165346c83b4a753f7e4186d969c6ad0ee",
+        "reference": "6ac78f1165346c83b4a753f7e4186d969c6ad0ee",
         "shasum": ""
       },
       "require": {
@@ -4231,20 +4401,20 @@
           "type": "github"
         }
       ],
-      "time": "2024-04-16T07:22:02+00:00"
+      "time": "2024-07-01T15:33:06+00:00"
     },
     {
       "name": "phpunit/php-code-coverage",
-      "version": "10.1.14",
+      "version": "10.1.15",
       "source": {
         "type": "git",
         "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
-        "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b"
+        "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
-        "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b",
+        "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae",
+        "reference": "5da8b1728acd1e6ffdf2ff32ffbdfd04307f26ae",
         "shasum": ""
       },
       "require": {
@@ -4293,7 +4463,7 @@
       "support": {
         "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
         "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
-        "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14"
+        "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.15"
       },
       "funding": [
         {
@@ -4301,7 +4471,7 @@
           "type": "github"
         }
       ],
-      "time": "2024-03-12T15:33:41+00:00"
+      "time": "2024-06-29T08:25:15+00:00"
     },
     {
       "name": "phpunit/php-file-iterator",
@@ -4523,16 +4693,16 @@
     },
     {
       "name": "phpunit/phpunit",
-      "version": "10.5.20",
+      "version": "10.5.24",
       "source": {
         "type": "git",
         "url": "https://github.com/sebastianbergmann/phpunit.git",
-        "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3"
+        "reference": "5f124e3e3e561006047b532fd0431bf5bb6b9015"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/547d314dc24ec1e177720d45c6263fb226cc2ae3",
-        "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3",
+        "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5f124e3e3e561006047b532fd0431bf5bb6b9015",
+        "reference": "5f124e3e3e561006047b532fd0431bf5bb6b9015",
         "shasum": ""
       },
       "require": {
@@ -4592,7 +4762,7 @@
       "support": {
         "issues": "https://github.com/sebastianbergmann/phpunit/issues",
         "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
-        "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.20"
+        "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.24"
       },
       "funding": [
         {
@@ -4608,7 +4778,7 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-04-24T06:32:35+00:00"
+      "time": "2024-06-20T13:09:54+00:00"
     },
     {
       "name": "psr/container",
@@ -4661,23 +4831,511 @@
       },
       "time": "2021-11-05T16:47:00+00:00"
     },
+    {
+      "name": "react/cache",
+      "version": "v1.2.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/reactphp/cache.git",
+        "reference": "d47c472b64aa5608225f47965a484b75c7817d5b"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/reactphp/cache/zipball/d47c472b64aa5608225f47965a484b75c7817d5b",
+        "reference": "d47c472b64aa5608225f47965a484b75c7817d5b",
+        "shasum": ""
+      },
+      "require": {
+        "php": ">=5.3.0",
+        "react/promise": "^3.0 || ^2.0 || ^1.1"
+      },
+      "require-dev": {
+        "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "React\\Cache\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering",
+          "homepage": "https://clue.engineering/"
+        },
+        {
+          "name": "Cees-Jan Kiewiet",
+          "email": "reactphp@ceesjankiewiet.nl",
+          "homepage": "https://wyrihaximus.net/"
+        },
+        {
+          "name": "Jan Sorgalla",
+          "email": "jsorgalla@gmail.com",
+          "homepage": "https://sorgalla.com/"
+        },
+        {
+          "name": "Chris Boden",
+          "email": "cboden@gmail.com",
+          "homepage": "https://cboden.dev/"
+        }
+      ],
+      "description": "Async, Promise-based cache interface for ReactPHP",
+      "keywords": ["cache", "caching", "promise", "reactphp"],
+      "support": {
+        "issues": "https://github.com/reactphp/cache/issues",
+        "source": "https://github.com/reactphp/cache/tree/v1.2.0"
+      },
+      "funding": [
+        {
+          "url": "https://opencollective.com/reactphp",
+          "type": "open_collective"
+        }
+      ],
+      "time": "2022-11-30T15:59:55+00:00"
+    },
+    {
+      "name": "react/child-process",
+      "version": "v0.6.5",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/reactphp/child-process.git",
+        "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/reactphp/child-process/zipball/e71eb1aa55f057c7a4a0d08d06b0b0a484bead43",
+        "reference": "e71eb1aa55f057c7a4a0d08d06b0b0a484bead43",
+        "shasum": ""
+      },
+      "require": {
+        "evenement/evenement": "^3.0 || ^2.0 || ^1.0",
+        "php": ">=5.3.0",
+        "react/event-loop": "^1.2",
+        "react/stream": "^1.2"
+      },
+      "require-dev": {
+        "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35",
+        "react/socket": "^1.8",
+        "sebastian/environment": "^5.0 || ^3.0 || ^2.0 || ^1.0"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "React\\ChildProcess\\": "src"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering",
+          "homepage": "https://clue.engineering/"
+        },
+        {
+          "name": "Cees-Jan Kiewiet",
+          "email": "reactphp@ceesjankiewiet.nl",
+          "homepage": "https://wyrihaximus.net/"
+        },
+        {
+          "name": "Jan Sorgalla",
+          "email": "jsorgalla@gmail.com",
+          "homepage": "https://sorgalla.com/"
+        },
+        {
+          "name": "Chris Boden",
+          "email": "cboden@gmail.com",
+          "homepage": "https://cboden.dev/"
+        }
+      ],
+      "description": "Event-driven library for executing child processes with ReactPHP.",
+      "keywords": ["event-driven", "process", "reactphp"],
+      "support": {
+        "issues": "https://github.com/reactphp/child-process/issues",
+        "source": "https://github.com/reactphp/child-process/tree/v0.6.5"
+      },
+      "funding": [
+        {
+          "url": "https://github.com/WyriHaximus",
+          "type": "github"
+        },
+        {
+          "url": "https://github.com/clue",
+          "type": "github"
+        }
+      ],
+      "time": "2022-09-16T13:41:56+00:00"
+    },
+    {
+      "name": "react/dns",
+      "version": "v1.13.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/reactphp/dns.git",
+        "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/reactphp/dns/zipball/eb8ae001b5a455665c89c1df97f6fb682f8fb0f5",
+        "reference": "eb8ae001b5a455665c89c1df97f6fb682f8fb0f5",
+        "shasum": ""
+      },
+      "require": {
+        "php": ">=5.3.0",
+        "react/cache": "^1.0 || ^0.6 || ^0.5",
+        "react/event-loop": "^1.2",
+        "react/promise": "^3.2 || ^2.7 || ^1.2.1"
+      },
+      "require-dev": {
+        "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36",
+        "react/async": "^4.3 || ^3 || ^2",
+        "react/promise-timer": "^1.11"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "React\\Dns\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering",
+          "homepage": "https://clue.engineering/"
+        },
+        {
+          "name": "Cees-Jan Kiewiet",
+          "email": "reactphp@ceesjankiewiet.nl",
+          "homepage": "https://wyrihaximus.net/"
+        },
+        {
+          "name": "Jan Sorgalla",
+          "email": "jsorgalla@gmail.com",
+          "homepage": "https://sorgalla.com/"
+        },
+        {
+          "name": "Chris Boden",
+          "email": "cboden@gmail.com",
+          "homepage": "https://cboden.dev/"
+        }
+      ],
+      "description": "Async DNS resolver for ReactPHP",
+      "keywords": ["async", "dns", "dns-resolver", "reactphp"],
+      "support": {
+        "issues": "https://github.com/reactphp/dns/issues",
+        "source": "https://github.com/reactphp/dns/tree/v1.13.0"
+      },
+      "funding": [
+        {
+          "url": "https://opencollective.com/reactphp",
+          "type": "open_collective"
+        }
+      ],
+      "time": "2024-06-13T14:18:03+00:00"
+    },
+    {
+      "name": "react/event-loop",
+      "version": "v1.5.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/reactphp/event-loop.git",
+        "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/reactphp/event-loop/zipball/bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354",
+        "reference": "bbe0bd8c51ffc05ee43f1729087ed3bdf7d53354",
+        "shasum": ""
+      },
+      "require": {
+        "php": ">=5.3.0"
+      },
+      "require-dev": {
+        "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
+      },
+      "suggest": {
+        "ext-pcntl": "For signal handling support when using the StreamSelectLoop"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "React\\EventLoop\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering",
+          "homepage": "https://clue.engineering/"
+        },
+        {
+          "name": "Cees-Jan Kiewiet",
+          "email": "reactphp@ceesjankiewiet.nl",
+          "homepage": "https://wyrihaximus.net/"
+        },
+        {
+          "name": "Jan Sorgalla",
+          "email": "jsorgalla@gmail.com",
+          "homepage": "https://sorgalla.com/"
+        },
+        {
+          "name": "Chris Boden",
+          "email": "cboden@gmail.com",
+          "homepage": "https://cboden.dev/"
+        }
+      ],
+      "description": "ReactPHP's core reactor event loop that libraries can use for evented I/O.",
+      "keywords": ["asynchronous", "event-loop"],
+      "support": {
+        "issues": "https://github.com/reactphp/event-loop/issues",
+        "source": "https://github.com/reactphp/event-loop/tree/v1.5.0"
+      },
+      "funding": [
+        {
+          "url": "https://opencollective.com/reactphp",
+          "type": "open_collective"
+        }
+      ],
+      "time": "2023-11-13T13:48:05+00:00"
+    },
+    {
+      "name": "react/promise",
+      "version": "v3.2.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/reactphp/promise.git",
+        "reference": "8a164643313c71354582dc850b42b33fa12a4b63"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/reactphp/promise/zipball/8a164643313c71354582dc850b42b33fa12a4b63",
+        "reference": "8a164643313c71354582dc850b42b33fa12a4b63",
+        "shasum": ""
+      },
+      "require": {
+        "php": ">=7.1.0"
+      },
+      "require-dev": {
+        "phpstan/phpstan": "1.10.39 || 1.4.10",
+        "phpunit/phpunit": "^9.6 || ^7.5"
+      },
+      "type": "library",
+      "autoload": {
+        "files": ["src/functions_include.php"],
+        "psr-4": {
+          "React\\Promise\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Jan Sorgalla",
+          "email": "jsorgalla@gmail.com",
+          "homepage": "https://sorgalla.com/"
+        },
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering",
+          "homepage": "https://clue.engineering/"
+        },
+        {
+          "name": "Cees-Jan Kiewiet",
+          "email": "reactphp@ceesjankiewiet.nl",
+          "homepage": "https://wyrihaximus.net/"
+        },
+        {
+          "name": "Chris Boden",
+          "email": "cboden@gmail.com",
+          "homepage": "https://cboden.dev/"
+        }
+      ],
+      "description": "A lightweight implementation of CommonJS Promises/A for PHP",
+      "keywords": ["promise", "promises"],
+      "support": {
+        "issues": "https://github.com/reactphp/promise/issues",
+        "source": "https://github.com/reactphp/promise/tree/v3.2.0"
+      },
+      "funding": [
+        {
+          "url": "https://opencollective.com/reactphp",
+          "type": "open_collective"
+        }
+      ],
+      "time": "2024-05-24T10:39:05+00:00"
+    },
+    {
+      "name": "react/socket",
+      "version": "v1.15.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/reactphp/socket.git",
+        "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/reactphp/socket/zipball/216d3aec0b87f04a40ca04f481e6af01bdd1d038",
+        "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038",
+        "shasum": ""
+      },
+      "require": {
+        "evenement/evenement": "^3.0 || ^2.0 || ^1.0",
+        "php": ">=5.3.0",
+        "react/dns": "^1.11",
+        "react/event-loop": "^1.2",
+        "react/promise": "^3 || ^2.6 || ^1.2.1",
+        "react/stream": "^1.2"
+      },
+      "require-dev": {
+        "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36",
+        "react/async": "^4 || ^3 || ^2",
+        "react/promise-stream": "^1.4",
+        "react/promise-timer": "^1.10"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "React\\Socket\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering",
+          "homepage": "https://clue.engineering/"
+        },
+        {
+          "name": "Cees-Jan Kiewiet",
+          "email": "reactphp@ceesjankiewiet.nl",
+          "homepage": "https://wyrihaximus.net/"
+        },
+        {
+          "name": "Jan Sorgalla",
+          "email": "jsorgalla@gmail.com",
+          "homepage": "https://sorgalla.com/"
+        },
+        {
+          "name": "Chris Boden",
+          "email": "cboden@gmail.com",
+          "homepage": "https://cboden.dev/"
+        }
+      ],
+      "description": "Async, streaming plaintext TCP/IP and secure TLS socket server and client connections for ReactPHP",
+      "keywords": ["Connection", "Socket", "async", "reactphp", "stream"],
+      "support": {
+        "issues": "https://github.com/reactphp/socket/issues",
+        "source": "https://github.com/reactphp/socket/tree/v1.15.0"
+      },
+      "funding": [
+        {
+          "url": "https://opencollective.com/reactphp",
+          "type": "open_collective"
+        }
+      ],
+      "time": "2023-12-15T11:02:10+00:00"
+    },
+    {
+      "name": "react/stream",
+      "version": "v1.4.0",
+      "source": {
+        "type": "git",
+        "url": "https://github.com/reactphp/stream.git",
+        "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d"
+      },
+      "dist": {
+        "type": "zip",
+        "url": "https://api.github.com/repos/reactphp/stream/zipball/1e5b0acb8fe55143b5b426817155190eb6f5b18d",
+        "reference": "1e5b0acb8fe55143b5b426817155190eb6f5b18d",
+        "shasum": ""
+      },
+      "require": {
+        "evenement/evenement": "^3.0 || ^2.0 || ^1.0",
+        "php": ">=5.3.8",
+        "react/event-loop": "^1.2"
+      },
+      "require-dev": {
+        "clue/stream-filter": "~1.2",
+        "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
+      },
+      "type": "library",
+      "autoload": {
+        "psr-4": {
+          "React\\Stream\\": "src/"
+        }
+      },
+      "notification-url": "https://packagist.org/downloads/",
+      "license": ["MIT"],
+      "authors": [
+        {
+          "name": "Christian Lück",
+          "email": "christian@clue.engineering",
+          "homepage": "https://clue.engineering/"
+        },
+        {
+          "name": "Cees-Jan Kiewiet",
+          "email": "reactphp@ceesjankiewiet.nl",
+          "homepage": "https://wyrihaximus.net/"
+        },
+        {
+          "name": "Jan Sorgalla",
+          "email": "jsorgalla@gmail.com",
+          "homepage": "https://sorgalla.com/"
+        },
+        {
+          "name": "Chris Boden",
+          "email": "cboden@gmail.com",
+          "homepage": "https://cboden.dev/"
+        }
+      ],
+      "description": "Event-driven readable and writable streams for non-blocking I/O in ReactPHP",
+      "keywords": [
+        "event-driven",
+        "io",
+        "non-blocking",
+        "pipe",
+        "reactphp",
+        "readable",
+        "stream",
+        "writable"
+      ],
+      "support": {
+        "issues": "https://github.com/reactphp/stream/issues",
+        "source": "https://github.com/reactphp/stream/tree/v1.4.0"
+      },
+      "funding": [
+        {
+          "url": "https://opencollective.com/reactphp",
+          "type": "open_collective"
+        }
+      ],
+      "time": "2024-06-11T12:45:25+00:00"
+    },
     {
       "name": "rector/rector",
-      "version": "1.0.4",
+      "version": "1.2.0",
       "source": {
         "type": "git",
         "url": "https://github.com/rectorphp/rector.git",
-        "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555"
+        "reference": "2fa387553db22b6f9bcccf5ff16f2c2c18a52a65"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/rectorphp/rector/zipball/6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
-        "reference": "6e04d0eb087aef707fa0c5686d33d6ff61f4a555",
+        "url": "https://api.github.com/repos/rectorphp/rector/zipball/2fa387553db22b6f9bcccf5ff16f2c2c18a52a65",
+        "reference": "2fa387553db22b6f9bcccf5ff16f2c2c18a52a65",
         "shasum": ""
       },
       "require": {
         "php": "^7.2|^8.0",
-        "phpstan/phpstan": "^1.10.57"
+        "phpstan/phpstan": "^1.11"
       },
       "conflict": {
         "rector/rector-doctrine": "*",
@@ -4699,7 +5357,7 @@
       "keywords": ["automation", "dev", "migration", "refactoring"],
       "support": {
         "issues": "https://github.com/rectorphp/rector/issues",
-        "source": "https://github.com/rectorphp/rector/tree/1.0.4"
+        "source": "https://github.com/rectorphp/rector/tree/1.2.0"
       },
       "funding": [
         {
@@ -4707,7 +5365,7 @@
           "type": "github"
         }
       ],
-      "time": "2024-04-05T09:01:07+00:00"
+      "time": "2024-07-01T14:24:45+00:00"
     },
     {
       "name": "sebastian/cli-parser",
@@ -5712,16 +6370,16 @@
     },
     {
       "name": "symfony/console",
-      "version": "v7.0.6",
+      "version": "v7.1.2",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/console.git",
-        "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5"
+        "reference": "0aa29ca177f432ab68533432db0de059f39c92ae"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/console/zipball/fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
-        "reference": "fde915cd8e7eb99b3d531d3d5c09531429c3f9e5",
+        "url": "https://api.github.com/repos/symfony/console/zipball/0aa29ca177f432ab68533432db0de059f39c92ae",
+        "reference": "0aa29ca177f432ab68533432db0de059f39c92ae",
         "shasum": ""
       },
       "require": {
@@ -5776,7 +6434,7 @@
       "homepage": "https://symfony.com",
       "keywords": ["cli", "command-line", "console", "terminal"],
       "support": {
-        "source": "https://github.com/symfony/console/tree/v7.0.6"
+        "source": "https://github.com/symfony/console/tree/v7.1.2"
       },
       "funding": [
         {
@@ -5792,20 +6450,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-04-01T11:04:53+00:00"
+      "time": "2024-06-28T10:03:55+00:00"
     },
     {
       "name": "symfony/event-dispatcher",
-      "version": "v7.0.3",
+      "version": "v7.1.1",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/event-dispatcher.git",
-        "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e"
+        "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/834c28d533dd0636f910909d01b9ff45cc094b5e",
-        "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e",
+        "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
+        "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7",
         "shasum": ""
       },
       "require": {
@@ -5852,7 +6510,7 @@
       "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
       "homepage": "https://symfony.com",
       "support": {
-        "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.3"
+        "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1"
       },
       "funding": [
         {
@@ -5868,20 +6526,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-23T15:02:46+00:00"
+      "time": "2024-05-31T14:57:53+00:00"
     },
     {
       "name": "symfony/event-dispatcher-contracts",
-      "version": "v3.4.2",
+      "version": "v3.5.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/event-dispatcher-contracts.git",
-        "reference": "4e64b49bf370ade88e567de29465762e316e4224"
+        "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/4e64b49bf370ade88e567de29465762e316e4224",
-        "reference": "4e64b49bf370ade88e567de29465762e316e4224",
+        "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50",
+        "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50",
         "shasum": ""
       },
       "require": {
@@ -5891,7 +6549,7 @@
       "type": "library",
       "extra": {
         "branch-alias": {
-          "dev-main": "3.4-dev"
+          "dev-main": "3.5-dev"
         },
         "thanks": {
           "name": "symfony/contracts",
@@ -5926,7 +6584,7 @@
         "standards"
       ],
       "support": {
-        "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.2"
+        "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0"
       },
       "funding": [
         {
@@ -5942,20 +6600,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-23T14:51:35+00:00"
+      "time": "2024-04-18T09:32:20+00:00"
     },
     {
       "name": "symfony/filesystem",
-      "version": "v7.0.6",
+      "version": "v7.1.2",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/filesystem.git",
-        "reference": "408105dff4c104454100730bdfd1a9cdd993f04d"
+        "reference": "92a91985250c251de9b947a14bb2c9390b1a562c"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/filesystem/zipball/408105dff4c104454100730bdfd1a9cdd993f04d",
-        "reference": "408105dff4c104454100730bdfd1a9cdd993f04d",
+        "url": "https://api.github.com/repos/symfony/filesystem/zipball/92a91985250c251de9b947a14bb2c9390b1a562c",
+        "reference": "92a91985250c251de9b947a14bb2c9390b1a562c",
         "shasum": ""
       },
       "require": {
@@ -5963,6 +6621,9 @@
         "symfony/polyfill-ctype": "~1.8",
         "symfony/polyfill-mbstring": "~1.8"
       },
+      "require-dev": {
+        "symfony/process": "^6.4|^7.0"
+      },
       "type": "library",
       "autoload": {
         "psr-4": {
@@ -5985,7 +6646,7 @@
       "description": "Provides basic utilities for the filesystem",
       "homepage": "https://symfony.com",
       "support": {
-        "source": "https://github.com/symfony/filesystem/tree/v7.0.6"
+        "source": "https://github.com/symfony/filesystem/tree/v7.1.2"
       },
       "funding": [
         {
@@ -6001,20 +6662,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-03-21T19:37:36+00:00"
+      "time": "2024-06-28T10:03:55+00:00"
     },
     {
       "name": "symfony/finder",
-      "version": "v7.0.0",
+      "version": "v7.1.1",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/finder.git",
-        "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56"
+        "reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/finder/zipball/6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
-        "reference": "6e5688d69f7cfc4ed4a511e96007e06c2d34ce56",
+        "url": "https://api.github.com/repos/symfony/finder/zipball/fbb0ba67688b780efbc886c1a0a0948dcf7205d6",
+        "reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6",
         "shasum": ""
       },
       "require": {
@@ -6045,7 +6706,7 @@
       "description": "Finds files and directories via an intuitive fluent interface",
       "homepage": "https://symfony.com",
       "support": {
-        "source": "https://github.com/symfony/finder/tree/v7.0.0"
+        "source": "https://github.com/symfony/finder/tree/v7.1.1"
       },
       "funding": [
         {
@@ -6061,20 +6722,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2023-10-31T17:59:56+00:00"
+      "time": "2024-05-31T14:57:53+00:00"
     },
     {
       "name": "symfony/options-resolver",
-      "version": "v7.0.0",
+      "version": "v7.1.1",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/options-resolver.git",
-        "reference": "700ff4096e346f54cb628ea650767c8130f1001f"
+        "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/options-resolver/zipball/700ff4096e346f54cb628ea650767c8130f1001f",
-        "reference": "700ff4096e346f54cb628ea650767c8130f1001f",
+        "url": "https://api.github.com/repos/symfony/options-resolver/zipball/47aa818121ed3950acd2b58d1d37d08a94f9bf55",
+        "reference": "47aa818121ed3950acd2b58d1d37d08a94f9bf55",
         "shasum": ""
       },
       "require": {
@@ -6104,7 +6765,7 @@
       "homepage": "https://symfony.com",
       "keywords": ["config", "configuration", "options"],
       "support": {
-        "source": "https://github.com/symfony/options-resolver/tree/v7.0.0"
+        "source": "https://github.com/symfony/options-resolver/tree/v7.1.1"
       },
       "funding": [
         {
@@ -6120,20 +6781,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2023-08-08T10:20:21+00:00"
+      "time": "2024-05-31T14:57:53+00:00"
     },
     {
       "name": "symfony/polyfill-intl-grapheme",
-      "version": "v1.29.0",
+      "version": "v1.30.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
-        "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f"
+        "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f",
-        "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f",
+        "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a",
+        "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a",
         "shasum": ""
       },
       "require": {
@@ -6178,7 +6839,7 @@
         "shim"
       ],
       "support": {
-        "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0"
+        "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0"
       },
       "funding": [
         {
@@ -6194,20 +6855,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-29T20:11:03+00:00"
+      "time": "2024-05-31T15:07:36+00:00"
     },
     {
       "name": "symfony/polyfill-intl-normalizer",
-      "version": "v1.29.0",
+      "version": "v1.30.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
-        "reference": "bc45c394692b948b4d383a08d7753968bed9a83d"
+        "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d",
-        "reference": "bc45c394692b948b4d383a08d7753968bed9a83d",
+        "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb",
+        "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb",
         "shasum": ""
       },
       "require": {
@@ -6253,7 +6914,7 @@
         "shim"
       ],
       "support": {
-        "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0"
+        "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0"
       },
       "funding": [
         {
@@ -6269,20 +6930,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-29T20:11:03+00:00"
+      "time": "2024-05-31T15:07:36+00:00"
     },
     {
       "name": "symfony/polyfill-php81",
-      "version": "v1.29.0",
+      "version": "v1.30.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/polyfill-php81.git",
-        "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d"
+        "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d",
-        "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d",
+        "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af",
+        "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af",
         "shasum": ""
       },
       "require": {
@@ -6318,7 +6979,7 @@
       "homepage": "https://symfony.com",
       "keywords": ["compatibility", "polyfill", "portable", "shim"],
       "support": {
-        "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0"
+        "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0"
       },
       "funding": [
         {
@@ -6334,20 +6995,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-29T20:11:03+00:00"
+      "time": "2024-06-19T12:30:46+00:00"
     },
     {
       "name": "symfony/process",
-      "version": "v7.0.4",
+      "version": "v7.1.1",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/process.git",
-        "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9"
+        "reference": "febf90124323a093c7ee06fdb30e765ca3c20028"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/process/zipball/0e7727191c3b71ebec6d529fa0e50a01ca5679e9",
-        "reference": "0e7727191c3b71ebec6d529fa0e50a01ca5679e9",
+        "url": "https://api.github.com/repos/symfony/process/zipball/febf90124323a093c7ee06fdb30e765ca3c20028",
+        "reference": "febf90124323a093c7ee06fdb30e765ca3c20028",
         "shasum": ""
       },
       "require": {
@@ -6375,7 +7036,7 @@
       "description": "Executes commands in sub-processes",
       "homepage": "https://symfony.com",
       "support": {
-        "source": "https://github.com/symfony/process/tree/v7.0.4"
+        "source": "https://github.com/symfony/process/tree/v7.1.1"
       },
       "funding": [
         {
@@ -6391,25 +7052,26 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-02-22T20:27:20+00:00"
+      "time": "2024-05-31T14:57:53+00:00"
     },
     {
       "name": "symfony/service-contracts",
-      "version": "v3.4.2",
+      "version": "v3.5.0",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/service-contracts.git",
-        "reference": "11bbf19a0fb7b36345861e85c5768844c552906e"
+        "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/service-contracts/zipball/11bbf19a0fb7b36345861e85c5768844c552906e",
-        "reference": "11bbf19a0fb7b36345861e85c5768844c552906e",
+        "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
+        "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f",
         "shasum": ""
       },
       "require": {
         "php": ">=8.1",
-        "psr/container": "^1.1|^2.0"
+        "psr/container": "^1.1|^2.0",
+        "symfony/deprecation-contracts": "^2.5|^3"
       },
       "conflict": {
         "ext-psr": "<1.1|>=2"
@@ -6417,7 +7079,7 @@
       "type": "library",
       "extra": {
         "branch-alias": {
-          "dev-main": "3.4-dev"
+          "dev-main": "3.5-dev"
         },
         "thanks": {
           "name": "symfony/contracts",
@@ -6453,7 +7115,7 @@
         "standards"
       ],
       "support": {
-        "source": "https://github.com/symfony/service-contracts/tree/v3.4.2"
+        "source": "https://github.com/symfony/service-contracts/tree/v3.5.0"
       },
       "funding": [
         {
@@ -6469,20 +7131,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2023-12-19T21:51:00+00:00"
+      "time": "2024-04-18T09:32:20+00:00"
     },
     {
       "name": "symfony/stopwatch",
-      "version": "v7.0.3",
+      "version": "v7.1.1",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/stopwatch.git",
-        "reference": "983900d6fddf2b0cbaacacbbad07610854bd8112"
+        "reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/stopwatch/zipball/983900d6fddf2b0cbaacacbbad07610854bd8112",
-        "reference": "983900d6fddf2b0cbaacacbbad07610854bd8112",
+        "url": "https://api.github.com/repos/symfony/stopwatch/zipball/5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d",
+        "reference": "5b75bb1ac2ba1b9d05c47fc4b3046a625377d23d",
         "shasum": ""
       },
       "require": {
@@ -6511,7 +7173,7 @@
       "description": "Provides a way to profile code",
       "homepage": "https://symfony.com",
       "support": {
-        "source": "https://github.com/symfony/stopwatch/tree/v7.0.3"
+        "source": "https://github.com/symfony/stopwatch/tree/v7.1.1"
       },
       "funding": [
         {
@@ -6527,20 +7189,20 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-01-23T15:02:46+00:00"
+      "time": "2024-05-31T14:57:53+00:00"
     },
     {
       "name": "symfony/string",
-      "version": "v7.0.4",
+      "version": "v7.1.2",
       "source": {
         "type": "git",
         "url": "https://github.com/symfony/string.git",
-        "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b"
+        "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symfony/string/zipball/f5832521b998b0bec40bee688ad5de98d4cf111b",
-        "reference": "f5832521b998b0bec40bee688ad5de98d4cf111b",
+        "url": "https://api.github.com/repos/symfony/string/zipball/14221089ac66cf82e3cf3d1c1da65de305587ff8",
+        "reference": "14221089ac66cf82e3cf3d1c1da65de305587ff8",
         "shasum": ""
       },
       "require": {
@@ -6554,6 +7216,7 @@
         "symfony/translation-contracts": "<2.5"
       },
       "require-dev": {
+        "symfony/emoji": "^7.1",
         "symfony/error-handler": "^6.4|^7.0",
         "symfony/http-client": "^6.4|^7.0",
         "symfony/intl": "^6.4|^7.0",
@@ -6584,7 +7247,7 @@
       "homepage": "https://symfony.com",
       "keywords": ["grapheme", "i18n", "string", "unicode", "utf-8", "utf8"],
       "support": {
-        "source": "https://github.com/symfony/string/tree/v7.0.4"
+        "source": "https://github.com/symfony/string/tree/v7.1.2"
       },
       "funding": [
         {
@@ -6600,37 +7263,37 @@
           "type": "tidelift"
         }
       ],
-      "time": "2024-02-01T13:17:36+00:00"
+      "time": "2024-06-28T09:27:18+00:00"
     },
     {
       "name": "symplify/coding-standard",
-      "version": "12.1.4",
+      "version": "12.1.6",
       "source": {
         "type": "git",
         "url": "https://github.com/symplify/coding-standard.git",
-        "reference": "1a591e18c64e7367b243729a43a70c2e92025468"
+        "reference": "2a261fe788e8c1e6f216490121b6942d8f7e313c"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/symplify/coding-standard/zipball/1a591e18c64e7367b243729a43a70c2e92025468",
-        "reference": "1a591e18c64e7367b243729a43a70c2e92025468",
+        "url": "https://api.github.com/repos/symplify/coding-standard/zipball/2a261fe788e8c1e6f216490121b6942d8f7e313c",
+        "reference": "2a261fe788e8c1e6f216490121b6942d8f7e313c",
         "shasum": ""
       },
       "require": {
-        "friendsofphp/php-cs-fixer": "^3.49",
+        "friendsofphp/php-cs-fixer": "^3.59",
         "nette/utils": "^3.2",
         "php": ">=8.2",
-        "symplify/rule-doc-generator-contracts": "^11.1"
+        "symplify/rule-doc-generator-contracts": "^11.2"
       },
       "require-dev": {
-        "phpstan/extension-installer": "^1.3",
-        "phpstan/phpstan": "^1.10.58",
+        "phpstan/extension-installer": "^1.4",
+        "phpstan/phpstan": "^1.11",
         "phpunit/phpunit": "^10.5",
-        "rector/rector": "^1.0",
-        "squizlabs/php_codesniffer": "^3.8.1",
-        "symplify/easy-coding-standard": "^12.1",
+        "rector/rector": "^1.1",
+        "squizlabs/php_codesniffer": "^3.10.1",
+        "symplify/easy-coding-standard": "^12.3",
         "symplify/phpstan-extensions": "^11.4",
-        "symplify/rule-doc-generator": "^12.0",
+        "symplify/rule-doc-generator": "^12.2.2",
         "tomasvotruba/class-leak": "^0.2",
         "tracy/tracy": "^2.10"
       },
@@ -6645,7 +7308,7 @@
       "description": "Set of Symplify rules for PHP_CodeSniffer and PHP CS Fixer.",
       "support": {
         "issues": "https://github.com/symplify/coding-standard/issues",
-        "source": "https://github.com/symplify/coding-standard/tree/12.1.4"
+        "source": "https://github.com/symplify/coding-standard/tree/12.1.6"
       },
       "funding": [
         {
@@ -6657,20 +7320,20 @@
           "type": "github"
         }
       ],
-      "time": "2024-02-23T13:07:31+00:00"
+      "time": "2024-06-28T14:19:31+00:00"
     },
     {
       "name": "symplify/easy-coding-standard",
-      "version": "12.1.14",
+      "version": "12.3.0",
       "source": {
         "type": "git",
         "url": "https://github.com/easy-coding-standard/easy-coding-standard.git",
-        "reference": "e3c4a241ee36704f7cf920d5931f39693e64afd5"
+        "reference": "f919574aa566b4d00fd06700ca61168aafef66e1"
       },
       "dist": {
         "type": "zip",
-        "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/e3c4a241ee36704f7cf920d5931f39693e64afd5",
-        "reference": "e3c4a241ee36704f7cf920d5931f39693e64afd5",
+        "url": "https://api.github.com/repos/easy-coding-standard/easy-coding-standard/zipball/f919574aa566b4d00fd06700ca61168aafef66e1",
+        "reference": "f919574aa566b4d00fd06700ca61168aafef66e1",
         "shasum": ""
       },
       "require": {
@@ -6681,6 +7344,9 @@
         "phpcsstandards/php_codesniffer": "<3.8",
         "symplify/coding-standard": "<12.1"
       },
+      "suggest": {
+        "ext-dom": "Needed to support checkstyle output format in class CheckstyleOutputFormatter"
+      },
       "bin": ["bin/ecs"],
       "type": "library",
       "autoload": {
@@ -6692,7 +7358,7 @@
       "keywords": ["Code style", "automation", "fixer", "static analysis"],
       "support": {
         "issues": "https://github.com/easy-coding-standard/easy-coding-standard/issues",
-        "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.1.14"
+        "source": "https://github.com/easy-coding-standard/easy-coding-standard/tree/12.3.0"
       },
       "funding": [
         {
@@ -6704,7 +7370,7 @@
           "type": "github"
         }
       ],
-      "time": "2024-02-23T13:10:40+00:00"
+      "time": "2024-06-18T07:35:59+00:00"
     },
     {
       "name": "symplify/rule-doc-generator-contracts",
diff --git a/modules/MediaClipper/VideoClipper.php b/modules/MediaClipper/VideoClipper.php
index 5f5a129259..7e380198e7 100644
--- a/modules/MediaClipper/VideoClipper.php
+++ b/modules/MediaClipper/VideoClipper.php
@@ -223,7 +223,6 @@ class VideoClipper
 
     public function getCmd(): string
     {
-        // @phpstan-ignore
         $filters = [
             "[0:a]aformat=channel_layouts=mono,showwaves=s={$this->dimensions['soundwaves']['width']}x{$this->dimensions['soundwaves']['height']}:mode=cline:rate=10:colors=white,format=rgb24[waves]",
             "[waves]scale={$this->dimensions['width']}:{$this->dimensions['height']}:flags=neighbor[resizedwaves]",
diff --git a/modules/Platforms/Controllers/PlatformController.php b/modules/Platforms/Controllers/PlatformController.php
index 40a5ccaa9a..ce4cd42e16 100644
--- a/modules/Platforms/Controllers/PlatformController.php
+++ b/modules/Platforms/Controllers/PlatformController.php
@@ -69,8 +69,7 @@ class PlatformController extends BaseController
 
         $platformsData = [];
         foreach (
-            $this->request->getPost('platforms')
-            as $platformSlug => $podcastPlatform
+            $this->request->getPost('platforms') as $platformSlug => $podcastPlatform
         ) {
             $podcastPlatformUrl = trim((string) $podcastPlatform['url']);
             if ($podcastPlatformUrl === '') {
diff --git a/package.json b/package.json
index 7bf389dbfb..825a563cce 100644
--- a/package.json
+++ b/package.json
@@ -28,18 +28,18 @@
     "prepare": "is-ci || husky"
   },
   "dependencies": {
-    "@amcharts/amcharts4": "^4.10.38",
+    "@amcharts/amcharts4": "^4.10.39",
     "@amcharts/amcharts4-geodata": "^4.1.28",
-    "@codemirror/commands": "^6.5.0",
+    "@codemirror/commands": "^6.6.0",
     "@codemirror/lang-xml": "^6.1.0",
-    "@codemirror/language": "^6.10.1",
+    "@codemirror/language": "^6.10.2",
     "@codemirror/state": "^6.4.1",
-    "@codemirror/view": "^6.26.3",
-    "@floating-ui/dom": "^1.6.3",
+    "@codemirror/view": "^6.28.3",
+    "@floating-ui/dom": "^1.6.7",
     "@github/clipboard-copy-element": "^1.3.0",
-    "@github/hotkey": "^3.1.0",
+    "@github/hotkey": "^3.1.1",
     "@github/markdown-toolbar-element": "^2.2.3",
-    "@github/relative-time-element": "^4.4.0",
+    "@github/relative-time-element": "^4.4.2",
     "@tailwindcss/nesting": "0.0.0-insiders.565cd3e",
     "@vime/core": "^5.4.1",
     "choices.js": "^10.2.0",
@@ -47,51 +47,51 @@
     "flatpickr": "^4.6.13",
     "leaflet": "^1.9.4",
     "leaflet.markercluster": "^1.5.3",
-    "lit": "^3.1.3",
-    "marked": "^12.0.2",
-    "wavesurfer.js": "^7.7.11",
+    "lit": "^3.1.4",
+    "marked": "^13.0.1",
+    "wavesurfer.js": "^7.8.0",
     "xml-formatter": "^3.6.2"
   },
   "devDependencies": {
     "@commitlint/cli": "^19.3.0",
     "@commitlint/config-conventional": "^19.2.2",
-    "@csstools/css-tokenizer": "^2.2.4",
+    "@csstools/css-tokenizer": "^2.3.2",
     "@semantic-release/changelog": "^6.0.3",
     "@semantic-release/exec": "^6.0.3",
     "@semantic-release/git": "^10.0.1",
-    "@semantic-release/gitlab": "^13.0.3",
+    "@semantic-release/gitlab": "^13.1.0",
     "@tailwindcss/forms": "^0.5.7",
-    "@tailwindcss/typography": "^0.5.12",
+    "@tailwindcss/typography": "^0.5.13",
     "@types/leaflet": "^1.9.12",
-    "@typescript-eslint/eslint-plugin": "^7.7.1",
-    "@typescript-eslint/parser": "^7.7.1",
+    "@typescript-eslint/eslint-plugin": "^7.14.1",
+    "@typescript-eslint/parser": "^7.14.1",
     "all-contributors-cli": "^6.26.1",
     "commitizen": "^4.3.0",
     "cross-env": "^7.0.3",
-    "cssnano": "^7.0.0",
+    "cssnano": "^7.0.3",
     "cz-conventional-changelog": "^3.3.0",
     "eslint": "^8.57.0",
     "eslint-config-prettier": "^9.1.0",
     "eslint-plugin-prettier": "^5.1.3",
     "husky": "^9.0.11",
     "is-ci": "^3.0.1",
-    "lint-staged": "^15.2.2",
-    "postcss": "^8.4.38",
+    "lint-staged": "^15.2.7",
+    "postcss": "^8.4.39",
     "postcss-import": "^16.1.0",
-    "postcss-nesting": "^12.1.2",
-    "postcss-preset-env": "^9.5.9",
+    "postcss-nesting": "^12.1.5",
+    "postcss-preset-env": "^9.5.15",
     "postcss-reporter": "^7.1.0",
-    "prettier": "3.2.5",
+    "prettier": "3.3.2",
     "prettier-plugin-organize-imports": "^3.2.4",
-    "semantic-release": "^23.0.8",
-    "stylelint": "^16.4.0",
-    "stylelint-config-standard": "^36.0.0",
-    "svgo": "^3.2.0",
-    "tailwindcss": "^3.4.3",
-    "typescript": "^5.4.5",
-    "vite": "^5.2.10",
-    "vite-plugin-pwa": "^0.19.8",
-    "workbox-build": "^7.1.0",
+    "semantic-release": "^24.0.0",
+    "stylelint": "^16.6.1",
+    "stylelint-config-standard": "^36.0.1",
+    "svgo": "^3.3.2",
+    "tailwindcss": "^3.4.4",
+    "typescript": "^5.5.2",
+    "vite": "^5.3.2",
+    "vite-plugin-pwa": "^0.20.0",
+    "workbox-build": "^7.1.1",
     "workbox-core": "^7.1.0",
     "workbox-routing": "^7.1.0",
     "workbox-strategies": "^7.1.0"
diff --git a/phpstan.neon b/phpstan.neon
index 9982f691fe..43888a1aed 100644
--- a/phpstan.neon
+++ b/phpstan.neon
@@ -1,7 +1,6 @@
 parameters:
     tmpDir: build/phpstan
     level: 6
-    checkGenericClassInNonGenericObjectType: false
     paths:
         - app
         - modules
@@ -48,3 +47,4 @@ parameters:
             - Modules\PremiumPodcasts\Config\Services
     ignoreErrors:
         - '#^Call to an undefined method CodeIgniter\\Cache\\CacheInterface\:\:deleteMatching\(\)#'
+        - identifier: missingType.generics
\ No newline at end of file
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 643b883be6..1e036b6082 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -8,44 +8,44 @@ importers:
   .:
     dependencies:
       "@amcharts/amcharts4":
-        specifier: ^4.10.38
-        version: 4.10.38
+        specifier: ^4.10.39
+        version: 4.10.39
       "@amcharts/amcharts4-geodata":
         specifier: ^4.1.28
         version: 4.1.28
       "@codemirror/commands":
-        specifier: ^6.5.0
-        version: 6.5.0
+        specifier: ^6.6.0
+        version: 6.6.0
       "@codemirror/lang-xml":
         specifier: ^6.1.0
         version: 6.1.0
       "@codemirror/language":
-        specifier: ^6.10.1
-        version: 6.10.1
+        specifier: ^6.10.2
+        version: 6.10.2
       "@codemirror/state":
         specifier: ^6.4.1
         version: 6.4.1
       "@codemirror/view":
-        specifier: ^6.26.3
-        version: 6.26.3
+        specifier: ^6.28.3
+        version: 6.28.3
       "@floating-ui/dom":
-        specifier: ^1.6.3
-        version: 1.6.3
+        specifier: ^1.6.7
+        version: 1.6.7
       "@github/clipboard-copy-element":
         specifier: ^1.3.0
         version: 1.3.0
       "@github/hotkey":
-        specifier: ^3.1.0
-        version: 3.1.0
+        specifier: ^3.1.1
+        version: 3.1.1
       "@github/markdown-toolbar-element":
         specifier: ^2.2.3
         version: 2.2.3
       "@github/relative-time-element":
-        specifier: ^4.4.0
-        version: 4.4.0
+        specifier: ^4.4.2
+        version: 4.4.2
       "@tailwindcss/nesting":
         specifier: 0.0.0-insiders.565cd3e
-        version: 0.0.0-insiders.565cd3e(postcss@8.4.38)
+        version: 0.0.0-insiders.565cd3e(postcss@8.4.39)
       "@vime/core":
         specifier: ^5.4.1
         version: 5.4.1
@@ -65,69 +65,69 @@ importers:
         specifier: ^1.5.3
         version: 1.5.3(leaflet@1.9.4)
       lit:
-        specifier: ^3.1.3
-        version: 3.1.3
+        specifier: ^3.1.4
+        version: 3.1.4
       marked:
-        specifier: ^12.0.2
-        version: 12.0.2
+        specifier: ^13.0.1
+        version: 13.0.1
       wavesurfer.js:
-        specifier: ^7.7.11
-        version: 7.7.11
+        specifier: ^7.8.0
+        version: 7.8.0
       xml-formatter:
         specifier: ^3.6.2
         version: 3.6.2
     devDependencies:
       "@commitlint/cli":
         specifier: ^19.3.0
-        version: 19.3.0(@types/node@20.10.5)(typescript@5.4.5)
+        version: 19.3.0(@types/node@20.10.5)(typescript@5.5.2)
       "@commitlint/config-conventional":
         specifier: ^19.2.2
         version: 19.2.2
       "@csstools/css-tokenizer":
-        specifier: ^2.2.4
-        version: 2.2.4
+        specifier: ^2.3.2
+        version: 2.3.2
       "@semantic-release/changelog":
         specifier: ^6.0.3
-        version: 6.0.3(semantic-release@23.0.8(typescript@5.4.5))
+        version: 6.0.3(semantic-release@24.0.0(typescript@5.5.2))
       "@semantic-release/exec":
         specifier: ^6.0.3
-        version: 6.0.3(semantic-release@23.0.8(typescript@5.4.5))
+        version: 6.0.3(semantic-release@24.0.0(typescript@5.5.2))
       "@semantic-release/git":
         specifier: ^10.0.1
-        version: 10.0.1(semantic-release@23.0.8(typescript@5.4.5))
+        version: 10.0.1(semantic-release@24.0.0(typescript@5.5.2))
       "@semantic-release/gitlab":
-        specifier: ^13.0.3
-        version: 13.0.3(semantic-release@23.0.8(typescript@5.4.5))
+        specifier: ^13.1.0
+        version: 13.1.0(semantic-release@24.0.0(typescript@5.5.2))
       "@tailwindcss/forms":
         specifier: ^0.5.7
-        version: 0.5.7(tailwindcss@3.4.3)
+        version: 0.5.7(tailwindcss@3.4.4)
       "@tailwindcss/typography":
-        specifier: ^0.5.12
-        version: 0.5.12(tailwindcss@3.4.3)
+        specifier: ^0.5.13
+        version: 0.5.13(tailwindcss@3.4.4)
       "@types/leaflet":
         specifier: ^1.9.12
         version: 1.9.12
       "@typescript-eslint/eslint-plugin":
-        specifier: ^7.7.1
-        version: 7.7.1(@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)
+        specifier: ^7.14.1
+        version: 7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)
       "@typescript-eslint/parser":
-        specifier: ^7.7.1
-        version: 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+        specifier: ^7.14.1
+        version: 7.14.1(eslint@8.57.0)(typescript@5.5.2)
       all-contributors-cli:
         specifier: ^6.26.1
         version: 6.26.1
       commitizen:
         specifier: ^4.3.0
-        version: 4.3.0(@types/node@20.10.5)(typescript@5.4.5)
+        version: 4.3.0(@types/node@20.10.5)(typescript@5.5.2)
       cross-env:
         specifier: ^7.0.3
         version: 7.0.3
       cssnano:
-        specifier: ^7.0.0
-        version: 7.0.0(postcss@8.4.38)
+        specifier: ^7.0.3
+        version: 7.0.3(postcss@8.4.39)
       cz-conventional-changelog:
         specifier: ^3.3.0
-        version: 3.3.0(@types/node@20.10.5)(typescript@5.4.5)
+        version: 3.3.0(@types/node@20.10.5)(typescript@5.5.2)
       eslint:
         specifier: ^8.57.0
         version: 8.57.0
@@ -136,7 +136,7 @@ importers:
         version: 9.1.0(eslint@8.57.0)
       eslint-plugin-prettier:
         specifier: ^5.1.3
-        version: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5)
+        version: 5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2)
       husky:
         specifier: ^9.0.11
         version: 9.0.11
@@ -144,56 +144,56 @@ importers:
         specifier: ^3.0.1
         version: 3.0.1
       lint-staged:
-        specifier: ^15.2.2
-        version: 15.2.2
+        specifier: ^15.2.7
+        version: 15.2.7
       postcss:
-        specifier: ^8.4.38
-        version: 8.4.38
+        specifier: ^8.4.39
+        version: 8.4.39
       postcss-import:
         specifier: ^16.1.0
-        version: 16.1.0(postcss@8.4.38)
+        version: 16.1.0(postcss@8.4.39)
       postcss-nesting:
-        specifier: ^12.1.2
-        version: 12.1.2(postcss@8.4.38)
+        specifier: ^12.1.5
+        version: 12.1.5(postcss@8.4.39)
       postcss-preset-env:
-        specifier: ^9.5.9
-        version: 9.5.9(postcss@8.4.38)
+        specifier: ^9.5.15
+        version: 9.5.15(postcss@8.4.39)
       postcss-reporter:
         specifier: ^7.1.0
-        version: 7.1.0(postcss@8.4.38)
+        version: 7.1.0(postcss@8.4.39)
       prettier:
-        specifier: 3.2.5
-        version: 3.2.5
+        specifier: 3.3.2
+        version: 3.3.2
       prettier-plugin-organize-imports:
         specifier: ^3.2.4
-        version: 3.2.4(prettier@3.2.5)(typescript@5.4.5)
+        version: 3.2.4(prettier@3.3.2)(typescript@5.5.2)
       semantic-release:
-        specifier: ^23.0.8
-        version: 23.0.8(typescript@5.4.5)
+        specifier: ^24.0.0
+        version: 24.0.0(typescript@5.5.2)
       stylelint:
-        specifier: ^16.4.0
-        version: 16.4.0(typescript@5.4.5)
+        specifier: ^16.6.1
+        version: 16.6.1(typescript@5.5.2)
       stylelint-config-standard:
-        specifier: ^36.0.0
-        version: 36.0.0(stylelint@16.4.0(typescript@5.4.5))
+        specifier: ^36.0.1
+        version: 36.0.1(stylelint@16.6.1(typescript@5.5.2))
       svgo:
-        specifier: ^3.2.0
-        version: 3.2.0
+        specifier: ^3.3.2
+        version: 3.3.2
       tailwindcss:
-        specifier: ^3.4.3
-        version: 3.4.3
+        specifier: ^3.4.4
+        version: 3.4.4
       typescript:
-        specifier: ^5.4.5
-        version: 5.4.5
+        specifier: ^5.5.2
+        version: 5.5.2
       vite:
-        specifier: ^5.2.10
-        version: 5.2.10(@types/node@20.10.5)(terser@5.26.0)
+        specifier: ^5.3.2
+        version: 5.3.2(@types/node@20.10.5)(terser@5.26.0)
       vite-plugin-pwa:
-        specifier: ^0.19.8
-        version: 0.19.8(vite@5.2.10(@types/node@20.10.5)(terser@5.26.0))(workbox-build@7.1.0)(workbox-window@7.1.0)
+        specifier: ^0.20.0
+        version: 0.20.0(vite@5.3.2(@types/node@20.10.5)(terser@5.26.0))(workbox-build@7.1.1)(workbox-window@7.1.0)
       workbox-build:
-        specifier: ^7.1.0
-        version: 7.1.0
+        specifier: ^7.1.1
+        version: 7.1.1
       workbox-core:
         specifier: ^7.1.0
         version: 7.1.0
@@ -225,10 +225,10 @@ packages:
         integrity: sha512-qJ113Zlxava1lyL+F5G+PRDRqF4clA+oUKcBS1jvtU0oqUgAKsdg3sanfO1mwsJyM1xeBuRnkMr+mM6uoMD3wQ==,
       }
 
-  "@amcharts/amcharts4@4.10.38":
+  "@amcharts/amcharts4@4.10.39":
     resolution:
       {
-        integrity: sha512-mX1MYvXCU/wMr6q1WQRVRS1qAbxyiYBfkkdC2ZpT+0uKYIWVUHo+phtbRgAE9t/3ymfWiDEZ813lcAtbokMf3w==,
+        integrity: sha512-5WbpZgI0m0Mf8Ydwlm1XWB8hIzkk6fJifzYmJqo5HLdA8jCQa+4I+8uOlGlvSMxbBTkvxanEgA2WX27+99X44w==,
       }
 
   "@ampproject/remapping@2.2.1":
@@ -475,14 +475,6 @@ packages:
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/parser@7.23.6":
-    resolution:
-      {
-        integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==,
-      }
-    engines: { node: ">=6.0.0" }
-    hasBin: true
-
   "@babel/parser@7.24.4":
     resolution:
       {
@@ -1139,13 +1131,6 @@ packages:
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/template@7.22.15":
-    resolution:
-      {
-        integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==,
-      }
-    engines: { node: ">=6.9.0" }
-
   "@babel/template@7.24.0":
     resolution:
       {
@@ -1160,13 +1145,6 @@ packages:
       }
     engines: { node: ">=6.9.0" }
 
-  "@babel/types@7.23.6":
-    resolution:
-      {
-        integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==,
-      }
-    engines: { node: ">=6.9.0" }
-
   "@babel/types@7.24.0":
     resolution:
       {
@@ -1185,10 +1163,10 @@ packages:
       "@codemirror/view": ^6.0.0
       "@lezer/common": ^1.0.0
 
-  "@codemirror/commands@6.5.0":
+  "@codemirror/commands@6.6.0":
     resolution:
       {
-        integrity: sha512-rK+sj4fCAN/QfcY9BEzYMgp4wwL/q5aj/VfNSoH1RWPF9XS/dUwBkvlL3hpWgEjOqlpdN1uLC9UkjJ4tmyjJYg==,
+        integrity: sha512-qnY+b7j1UNcTS31Eenuc/5YJB6gQOzkUoNmJQc0rznwqSRpeaWWpjkWy2C/MPTcePpsKJEM26hXrOXl1+nceXg==,
       }
 
   "@codemirror/lang-xml@6.1.0":
@@ -1197,10 +1175,10 @@ packages:
         integrity: sha512-3z0blhicHLfwi2UgkZYRPioSgVTo9PV5GP5ducFH6FaHy0IAJRg+ixj5gTR1gnT/glAIC8xv4w2VL1LoZfs+Jg==,
       }
 
-  "@codemirror/language@6.10.1":
+  "@codemirror/language@6.10.2":
     resolution:
       {
-        integrity: sha512-5GrXzrhq6k+gL5fjkAwt90nYDmjlzTIJV8THnxNFtNKWotMIlzzN+CpqxqwXOECnUdOndmSeWntVrVcv5axWRQ==,
+        integrity: sha512-kgbTYTo0Au6dCSc/TFy7fK3fpJmgHDv1sG1KNQKJXVi+xBTEeBPY/M30YXiU6mMXeH+YIDLsbrT4ZwNRdtF+SA==,
       }
 
   "@codemirror/lint@6.4.2":
@@ -1221,10 +1199,10 @@ packages:
         integrity: sha512-QkEyUiLhsJoZkbumGZlswmAhA7CBU02Wrz7zvH4SrcifbsqwlXShVXg65f3v/ts57W3dqyamEriMhij1Z3Zz4A==,
       }
 
-  "@codemirror/view@6.26.3":
+  "@codemirror/view@6.28.3":
     resolution:
       {
-        integrity: sha512-gmqxkPALZjkgSxIeeweY/wGQXBfwTUaLs8h7OKtSwfbj9Ct3L11lD+u1sS7XHppxFQoMDiMDp07P9f3I2jWOHw==,
+        integrity: sha512-QVqP+ko078/h9yrW+u5grX3rQhC+BkGKADRrlDaJznfPngJOv5zObiVf0+SgAWhL/Yt0nvZ+10rO3L+gU5IbFw==,
       }
 
   "@colors/colors@1.5.0":
@@ -1389,100 +1367,100 @@ packages:
       }
     engines: { node: ">=v18" }
 
-  "@csstools/cascade-layer-name-parser@1.0.9":
+  "@csstools/cascade-layer-name-parser@1.0.12":
     resolution:
       {
-        integrity: sha512-RRqNjxTZDUhx7pxYOBG/AkCVmPS3zYzfE47GEhIGkFuWFTQGJBgWOUUkKNo5MfxIfjDz5/1L3F3rF1oIsYaIpw==,
+        integrity: sha512-iNCCOnaoycAfcIot3v/orjkTol+j8+Z5xgpqxUpZSdqeaxCADQZtldHhlvzDipmi7OoWdcJUO6DRZcnkMSBEIg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.1
-      "@csstools/css-tokenizer": ^2.2.4
+      "@csstools/css-parser-algorithms": ^2.7.0
+      "@csstools/css-tokenizer": ^2.3.2
 
-  "@csstools/color-helpers@4.2.0":
+  "@csstools/color-helpers@4.2.1":
     resolution:
       {
-        integrity: sha512-hJJrSBzbfGxUsaR6X4Bzd/FLx0F1ulKnR5ljY9AiXCtsR+H+zSWQDFWlKES1BRaVZTDHLpIIHS9K2o0h+JLlrg==,
+        integrity: sha512-CEypeeykO9AN7JWkr1OEOQb0HRzZlPWGwV0Ya6DuVgFdDi6g3ma/cPZ5ZPZM4AWQikDpq/0llnGGlIL+j8afzw==,
       }
     engines: { node: ^14 || ^16 || >=18 }
 
-  "@csstools/css-calc@1.2.0":
+  "@csstools/css-calc@1.2.3":
     resolution:
       {
-        integrity: sha512-iQqIW5vDPqQdLx07/atCuNKDprhIWjB0b8XRhUyXZWBZYUG+9mNyFwyu30rypX84WLevVo25NYW2ipxR8WyseQ==,
+        integrity: sha512-rlOh81K3CvtY969Od5b1h29YT6MpCHejMCURKrRrXFeCpz67HGaBNvBmWT5S7S+CKn+V7KJ+qxSmK8jNd/aZWA==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.1
-      "@csstools/css-tokenizer": ^2.2.4
+      "@csstools/css-parser-algorithms": ^2.7.0
+      "@csstools/css-tokenizer": ^2.3.2
 
-  "@csstools/css-color-parser@2.0.0":
+  "@csstools/css-color-parser@2.0.3":
     resolution:
       {
-        integrity: sha512-0/v6OPpcg+b8TJT2N1Rcp0oH5xEvVOU5K2qDkaR3IMHNXuJ7XfVCQLINt3Cuj8mr54DbilEoZ9uvAmHBoZ//Fw==,
+        integrity: sha512-Qqhb5I/gEh1wI4brf6Kmy0Xn4J1IqO8OTDKWGRsBYtL4bGkHcV9i0XI2Mmo/UYFtSRoXW/RmKTcMh6sCI433Cw==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.1
-      "@csstools/css-tokenizer": ^2.2.4
+      "@csstools/css-parser-algorithms": ^2.7.0
+      "@csstools/css-tokenizer": ^2.3.2
 
-  "@csstools/css-parser-algorithms@2.6.1":
+  "@csstools/css-parser-algorithms@2.7.0":
     resolution:
       {
-        integrity: sha512-ubEkAaTfVZa+WwGhs5jbo5Xfqpeaybr/RvWzvFxRs4jfq16wH8l8Ty/QEEpINxll4xhuGfdMbipRyz5QZh9+FA==,
+        integrity: sha512-qvBMcOU/uWFCH/VO0MYe0AMs0BGMWAt6FTryMbFIKYtZtVnqTZtT8ktv5o718llkaGZWomJezJZjq3vJDHeJNQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
-      "@csstools/css-tokenizer": ^2.2.4
+      "@csstools/css-tokenizer": ^2.3.2
 
-  "@csstools/css-tokenizer@2.2.4":
+  "@csstools/css-tokenizer@2.3.2":
     resolution:
       {
-        integrity: sha512-PuWRAewQLbDhGeTvFuq2oClaSCKPIBmHyIobCV39JHRYN0byDcUWJl5baPeNUcqrjtdMNqFooE0FGl31I3JOqw==,
+        integrity: sha512-0xYOf4pQpAaE6Sm2Q0x3p25oRukzWQ/O8hWVvhIt9Iv98/uu053u2CGm/g3kJ+P0vOYTAYzoU8Evq2pg9ZPXtw==,
       }
     engines: { node: ^14 || ^16 || >=18 }
 
-  "@csstools/media-query-list-parser@2.1.9":
+  "@csstools/media-query-list-parser@2.1.12":
     resolution:
       {
-        integrity: sha512-qqGuFfbn4rUmyOB0u8CVISIp5FfJ5GAR3mBrZ9/TKndHakdnm6pY0L/fbLcpPnrzwCyyTEZl1nUcXAYHEWneTA==,
+        integrity: sha512-t1/CdyVJzOQUiGUcIBXRzTAkWTFPxiPnoKwowKW2z9Uj78c2bBWI/X94BeVfUwVq1xtCjD7dnO8kS6WONgp8Jw==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
-      "@csstools/css-parser-algorithms": ^2.6.1
-      "@csstools/css-tokenizer": ^2.2.4
+      "@csstools/css-parser-algorithms": ^2.7.0
+      "@csstools/css-tokenizer": ^2.3.2
 
-  "@csstools/postcss-cascade-layers@4.0.4":
+  "@csstools/postcss-cascade-layers@4.0.6":
     resolution:
       {
-        integrity: sha512-MKErv8lpEwVmAcAwidY1Kfd3oWrh2Q14kxHs9xn26XzjP/PrcdngWq63lJsZeMlBY7o+WlEOeE+FP6zPzeY2uw==,
+        integrity: sha512-Xt00qGAQyqAODFiFEJNkTpSUz5VfYqnDLECdlA/Vv17nl/OIV5QfTRHGAXrBGG5YcJyHpJ+GF9gF/RZvOQz4oA==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-color-function@3.0.14":
+  "@csstools/postcss-color-function@3.0.17":
     resolution:
       {
-        integrity: sha512-joGAf5bT3Jg1CpybupMJ4DwNg/VNjmLWZoWMDmX0MTy/ftHA1Qr4+CslqTT4AA1n6Dx4Wa+DSMGPrDLHtRP0jg==,
+        integrity: sha512-hi6g5KHMvxpxf01LCVu5xnNxX5h2Vkn9aKRmspn2esWjWtshuTXVOavTjwvogA+Eycm9Rn21QTYNU+qbKw6IeQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-color-mix-function@2.0.14":
+  "@csstools/postcss-color-mix-function@2.0.17":
     resolution:
       {
-        integrity: sha512-ZLbgtdhyuOoWoRo/W8jFv68q+IMgTJHOAI+WunRbrRPqI+vJ0K2rud/lS9Se5urzM/imVKs/kz0Uobm5Yj4HUg==,
+        integrity: sha512-Y65GHGCY1R+9+/5KrJjN7gAF1NZydng4AGknMggeUJIyo2ckLb4vBrlDmpIcHDdjQtV5631j1hxvalVTbpoiFw==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-exponential-functions@1.0.5":
+  "@csstools/postcss-exponential-functions@1.0.8":
     resolution:
       {
-        integrity: sha512-7S7I7KgwHWQYzJJAoIjRtUf7DQs1dxipeg1A6ikZr0PYapNJX7UHz0evlpE67SQqYj1xBs70gpG7xUv3uLp4PA==,
+        integrity: sha512-/4WHpu4MrCCsUWRaDreyBcdF+5xnudk1JJLg6aWREeMaSpr3vsD0eywmOXct3xUm28TCqKS//S86IlcDJJdzoQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1497,28 +1475,28 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-gamut-mapping@1.0.7":
+  "@csstools/postcss-gamut-mapping@1.0.10":
     resolution:
       {
-        integrity: sha512-vrsHsl5TN6NB5CT0rPG6JE9V2GLFftcmPtF/k4cWT4gyVMCsDyS9wEVl82sgvh/JQ32TaUo6bh8Ndl+XRJqGQw==,
+        integrity: sha512-iPz4/cO8YiNjAYdtAiKGBdKZdFlAvDtUr2AgvAMxCa83e9MwTIKmsJZC3Frw7VYmkfknmdElEZr1FJU+PmB2PA==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-gradients-interpolation-method@4.0.15":
+  "@csstools/postcss-gradients-interpolation-method@4.0.18":
     resolution:
       {
-        integrity: sha512-0xQ5r4WU/6W2lDmnOTx9liC1Cq6RSnrkEzqX7d0cRA3fz5hjC276pA0nLMoAiY3vtAp0u71nTk/3TRdnCx/OUw==,
+        integrity: sha512-rZH7RnNYY911I/n8+DRrcri89GffptdyuFDGGj/UbxDISFirdR1uI/wcur9KYR/uFHXqrnJjrfi1cisfB7bL+g==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-hwb-function@3.0.13":
+  "@csstools/postcss-hwb-function@3.0.16":
     resolution:
       {
-        integrity: sha512-f44tgkFSxJBGm8UjlkAfBP7xE2x2XFFdvNdedHl8jpx2pQcW8a50OT3yeMnM3NB9Y2Ynd7Wn8iXARiV/IHoKvw==,
+        integrity: sha512-nlC4D5xB7pomgR4kDZ1lqbVqrs6gxPqsM2OE5CkCn0EqCMxtqqtadtbK2dcFwzyujv3DL4wYNo+fgF4rJgLPZA==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1542,19 +1520,19 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-is-pseudo-class@4.0.6":
+  "@csstools/postcss-is-pseudo-class@4.0.8":
     resolution:
       {
-        integrity: sha512-HilOhAsMpFheMYkuaREZx+CGa4hsG6kQdzwXSsuqKDFzYz2eIMP213+3dH/vUbPXaWrzqLKr8m3i0dgYPoh7vg==,
+        integrity: sha512-0aj591yGlq5Qac+plaWCbn5cpjs5Sh0daovYUKJUOMjIp70prGH/XPLp7QjxtbFXz3CTvb0H9a35dpEuIuUi3Q==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-light-dark-function@1.0.3":
+  "@csstools/postcss-light-dark-function@1.0.6":
     resolution:
       {
-        integrity: sha512-izW8hvhOqJlarLcGXO5PSylW9pQS3fytmhRdx2/e1oZFi15vs7ZShOHcREHJ3FfGdYqDA10cP9uhH0A3hmm1Rw==,
+        integrity: sha512-bu+cxKpcTrMDMkVCv7QURwKNPZEuXA3J0Udvz3HfmQHt4+OIvvfvDpTgejFXdOliCU4zK9/QdqebPcYneygZtg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1596,28 +1574,28 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-logical-viewport-units@2.0.7":
+  "@csstools/postcss-logical-viewport-units@2.0.10":
     resolution:
       {
-        integrity: sha512-L4G3zsp/bnU0+WXUyysihCUH14LkfMgUJsS9vKz3vCYbVobOTqQRoNXnEPpyNp8WYyolLqAWbGGJhVu8J6u2OQ==,
+        integrity: sha512-nGP0KanI/jXrUMpaIBz6mdy/vNs3d/cjbNYuoEc7lCdNkntmxZvwxC2zIKI8QzGWaYsh9jahozMVceZ0jNyjgg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-media-minmax@1.1.4":
+  "@csstools/postcss-media-minmax@1.1.7":
     resolution:
       {
-        integrity: sha512-xl/PIO3TUbXO1ZA4SA6HCw+Q9UGe2cgeRKx3lHCzoNig2D4bT5vfVCOrwhxjUb09oHihc9eI3I0iIfVPiXaN1A==,
+        integrity: sha512-AjLG+vJvhrN2geUjYNvzncW1TJ+vC4QrVPGrLPxOSJ2QXC94krQErSW4aXMj0b13zhvVWeqf2NHIOVQknqV9cg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.7":
+  "@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.10":
     resolution:
       {
-        integrity: sha512-HBDAQw1K0NilcHGMUHv8jzf2mpOtcWTVKtuY3AeZ5TS1uyWWNVi5/yuA/tREPLU9WifNdqHQ+rfbsV/8zTIkTg==,
+        integrity: sha512-DXae3i7OYJTejxcoUuf/AOIpy+6FWfGGKo/I3WefZI538l3k+ErU6V2xQOx/UmUXT2FDIdE1Ucl9JkZib2rEsA==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1641,10 +1619,10 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-oklab-function@3.0.14":
+  "@csstools/postcss-oklab-function@3.0.17":
     resolution:
       {
-        integrity: sha512-92xdpcfc2wB3z4+GftPA0PXMuGI/tRLw9Tc0+HzpaAHHxyLK6aCJtoQIcw0Ox/PthXtqXZn/3wWT/Idfe8I7Wg==,
+        integrity: sha512-kIng3Xmw6NKUvD/eEoHGwbyDFXDsuzsVGtNo3ndgZYYqy+DLiD+3drxwRKiViE5LUieLB1ERczXpLVmpSw61eg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1659,10 +1637,10 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-relative-color-syntax@2.0.14":
+  "@csstools/postcss-relative-color-syntax@2.0.17":
     resolution:
       {
-        integrity: sha512-NlxgLjAjVCTUVGiWk8WNj3dKvux9eC6O5aLM3BmdA8UXEwBHYI9r4IqlanxG9PlcXnzhTUX6eZsqgmxwt4FPow==,
+        integrity: sha512-EVckAtG8bocItZflXLJ50Su+gwg/4Jhkz1BztyNsT0/svwS6QMAeLjyUA75OsgtejNWQHvBMWna4xc9LCqdjrQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1677,28 +1655,28 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-stepped-value-functions@3.0.6":
+  "@csstools/postcss-stepped-value-functions@3.0.9":
     resolution:
       {
-        integrity: sha512-rnyp8tWRuBXERTHVdB5hjUlif5dQgPcyN+BX55wUnYpZ3LN9QPfK2Z3/HUZymwyou8Gg6vhd6X2W+g1pLq1jYg==,
+        integrity: sha512-uAw1J8hiZ0mM1DLaziI7CP5oagSwDnS5kufuROGIJFzESYfTqNVS3b7FgDZto9AxXdkwI+Sn48+cvG8PwzGMog==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-text-decoration-shorthand@3.0.6":
+  "@csstools/postcss-text-decoration-shorthand@3.0.7":
     resolution:
       {
-        integrity: sha512-Q8HEu4AEiwNVZBD6+DpQ8M9SajpMow4+WtmndWIAv8qxDtDYL4JK1xXWkhOGk28PrcJawOvkrEZ8Ri59UN1TJw==,
+        integrity: sha512-+cptcsM5r45jntU6VjotnkC9GteFR7BQBfZ5oW7inLCxj7AfLGAzMbZ60hKTP13AULVZBdxky0P8um0IBfLHVA==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  "@csstools/postcss-trigonometric-functions@3.0.6":
+  "@csstools/postcss-trigonometric-functions@3.0.9":
     resolution:
       {
-        integrity: sha512-i5Zd0bMJooZAn+ZcDmPij2WCkcOJJJ6opzK+QeDjxbMrYmoGQl0CY8FDHdeQyBF1Nly+Q0Fq3S7QfdNLKBBaCg==,
+        integrity: sha512-rCAtKX3EsH91ZIHoxFzAAcMQeQCS+PsjzHl6fvsGXz/SV3lqzSmO7MWgFXyPktC2zjZXgOObAJ/2QkhMqVpgNg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1722,10 +1700,10 @@ packages:
     peerDependencies:
       postcss-selector-parser: ^6.0.13
 
-  "@csstools/selector-specificity@3.0.3":
+  "@csstools/selector-specificity@3.1.1":
     resolution:
       {
-        integrity: sha512-KEPNw4+WW5AVEIyzC80rTbWEUatTW2lXpN8+8ILC8PiPeWPjwUzrPZDIOZ2wwqDmeqOYTdSGyL3+vE5GC3FB3Q==,
+        integrity: sha512-a7cxGcJ2wIlMFLlh8z2ONm+715QkPHiyJcxwQlKOz/03GPw1COpfhcmC9wm4xlZfp//jWHNNMwzjtqHXVWU9KA==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -1740,214 +1718,214 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  "@dual-bundle/import-meta-resolve@4.0.0":
+  "@dual-bundle/import-meta-resolve@4.1.0":
     resolution:
       {
-        integrity: sha512-ZKXyJeFAzcpKM2kk8ipoGIPUqx9BX52omTGnfwjJvxOCaZTM2wtDK7zN0aIgPRbT9XYAlha0HtmZ+XKteuh0Gw==,
+        integrity: sha512-+nxncfwHM5SgAtrVzgpzJOI1ol0PkumhVo469KCf9lUi21IGcY90G98VuHm9VRrUypmAzawAHO9bs6hqeADaVg==,
       }
 
-  "@esbuild/aix-ppc64@0.20.2":
+  "@esbuild/aix-ppc64@0.21.5":
     resolution:
       {
-        integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==,
+        integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==,
       }
     engines: { node: ">=12" }
     cpu: [ppc64]
     os: [aix]
 
-  "@esbuild/android-arm64@0.20.2":
+  "@esbuild/android-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==,
+        integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [android]
 
-  "@esbuild/android-arm@0.20.2":
+  "@esbuild/android-arm@0.21.5":
     resolution:
       {
-        integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==,
+        integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==,
       }
     engines: { node: ">=12" }
     cpu: [arm]
     os: [android]
 
-  "@esbuild/android-x64@0.20.2":
+  "@esbuild/android-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==,
+        integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [android]
 
-  "@esbuild/darwin-arm64@0.20.2":
+  "@esbuild/darwin-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==,
+        integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [darwin]
 
-  "@esbuild/darwin-x64@0.20.2":
+  "@esbuild/darwin-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==,
+        integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [darwin]
 
-  "@esbuild/freebsd-arm64@0.20.2":
+  "@esbuild/freebsd-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==,
+        integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [freebsd]
 
-  "@esbuild/freebsd-x64@0.20.2":
+  "@esbuild/freebsd-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==,
+        integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [freebsd]
 
-  "@esbuild/linux-arm64@0.20.2":
+  "@esbuild/linux-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==,
+        integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [linux]
 
-  "@esbuild/linux-arm@0.20.2":
+  "@esbuild/linux-arm@0.21.5":
     resolution:
       {
-        integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==,
+        integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==,
       }
     engines: { node: ">=12" }
     cpu: [arm]
     os: [linux]
 
-  "@esbuild/linux-ia32@0.20.2":
+  "@esbuild/linux-ia32@0.21.5":
     resolution:
       {
-        integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==,
+        integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==,
       }
     engines: { node: ">=12" }
     cpu: [ia32]
     os: [linux]
 
-  "@esbuild/linux-loong64@0.20.2":
+  "@esbuild/linux-loong64@0.21.5":
     resolution:
       {
-        integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==,
+        integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==,
       }
     engines: { node: ">=12" }
     cpu: [loong64]
     os: [linux]
 
-  "@esbuild/linux-mips64el@0.20.2":
+  "@esbuild/linux-mips64el@0.21.5":
     resolution:
       {
-        integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==,
+        integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==,
       }
     engines: { node: ">=12" }
     cpu: [mips64el]
     os: [linux]
 
-  "@esbuild/linux-ppc64@0.20.2":
+  "@esbuild/linux-ppc64@0.21.5":
     resolution:
       {
-        integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==,
+        integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==,
       }
     engines: { node: ">=12" }
     cpu: [ppc64]
     os: [linux]
 
-  "@esbuild/linux-riscv64@0.20.2":
+  "@esbuild/linux-riscv64@0.21.5":
     resolution:
       {
-        integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==,
+        integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==,
       }
     engines: { node: ">=12" }
     cpu: [riscv64]
     os: [linux]
 
-  "@esbuild/linux-s390x@0.20.2":
+  "@esbuild/linux-s390x@0.21.5":
     resolution:
       {
-        integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==,
+        integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==,
       }
     engines: { node: ">=12" }
     cpu: [s390x]
     os: [linux]
 
-  "@esbuild/linux-x64@0.20.2":
+  "@esbuild/linux-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==,
+        integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [linux]
 
-  "@esbuild/netbsd-x64@0.20.2":
+  "@esbuild/netbsd-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==,
+        integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [netbsd]
 
-  "@esbuild/openbsd-x64@0.20.2":
+  "@esbuild/openbsd-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==,
+        integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [openbsd]
 
-  "@esbuild/sunos-x64@0.20.2":
+  "@esbuild/sunos-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==,
+        integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
     os: [sunos]
 
-  "@esbuild/win32-arm64@0.20.2":
+  "@esbuild/win32-arm64@0.21.5":
     resolution:
       {
-        integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==,
+        integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==,
       }
     engines: { node: ">=12" }
     cpu: [arm64]
     os: [win32]
 
-  "@esbuild/win32-ia32@0.20.2":
+  "@esbuild/win32-ia32@0.21.5":
     resolution:
       {
-        integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==,
+        integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==,
       }
     engines: { node: ">=12" }
     cpu: [ia32]
     os: [win32]
 
-  "@esbuild/win32-x64@0.20.2":
+  "@esbuild/win32-x64@0.21.5":
     resolution:
       {
-        integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==,
+        integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==,
       }
     engines: { node: ">=12" }
     cpu: [x64]
@@ -1983,28 +1961,22 @@ packages:
       }
     engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 }
 
-  "@floating-ui/core@1.5.2":
+  "@floating-ui/core@1.6.4":
     resolution:
       {
-        integrity: sha512-Ii3MrfY/GAIN3OhXNzpCKaLxHQfJF9qvwq/kEJYdqDxeIHa01K8sldugal6TmeeXl+WMvhv9cnVzUTaFFJF09A==,
+        integrity: sha512-a4IowK4QkXl4SCWTGUR0INAfEOX3wtsYw3rKK5InQEHMGObkR8Xk44qYQD9P4r6HHw0iIfK6GUKECmY8sTkqRA==,
       }
 
-  "@floating-ui/dom@1.6.3":
+  "@floating-ui/dom@1.6.7":
     resolution:
       {
-        integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==,
+        integrity: sha512-wmVfPG5o2xnKDU4jx/m4w5qva9FWHcnZ8BvzEe90D/RpwsJaTAVYPEPdQ8sbr/N8zZTAHlZUTQdqg8ZUbzHmng==,
       }
 
-  "@floating-ui/utils@0.1.6":
+  "@floating-ui/utils@0.2.4":
     resolution:
       {
-        integrity: sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==,
-      }
-
-  "@floating-ui/utils@0.2.1":
-    resolution:
-      {
-        integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==,
+        integrity: sha512-dWO2pw8hhi+WrXq1YJy2yCuWoL20PddgGaqTgVe4cOS9Q6qklXCiA1tJEqX6BEwRNSCP84/afac9hd4MS+zEUA==,
       }
 
   "@foliojs-fork/fontkit@1.9.1":
@@ -2037,10 +2009,10 @@ packages:
         integrity: sha512-wyntkQkwoLbLo+Hqg2LIVMXDIzcvUb9bSDz+clX6nVJItwzh103rHxdXFRZD+DmxVbuEW5xSznYQXkz1jZT+xg==,
       }
 
-  "@github/hotkey@3.1.0":
+  "@github/hotkey@3.1.1":
     resolution:
       {
-        integrity: sha512-Lj9QjYa+b+Nk5U1nZtlXLdx3HI8/EeM6ZNwBjpYcGVYqpwHdM2ScRH0p7+5zh28JG6SPbTM9+Rb1dFd742qMTw==,
+        integrity: sha512-H30I6XDO3gFSgLuEuHoMBRZG9c3uCKNdAcYklL1FaZDPdU1bXfgjnpzGDPcUr0U6eGQ+T3XLY9slatwZYWL1dA==,
       }
 
   "@github/markdown-toolbar-element@2.2.3":
@@ -2049,10 +2021,10 @@ packages:
         integrity: sha512-AlquKGee+IWiAMYVB0xyHFZRMnu4n3X4HTvJHu79GiVJ1ojTukCWyxMlF5NMsecoLcBKsuBhx3QPv2vkE/zQ0A==,
       }
 
-  "@github/relative-time-element@4.4.0":
+  "@github/relative-time-element@4.4.2":
     resolution:
       {
-        integrity: sha512-CrI6oAecoahG7PF5dsgjdvlF5kCtusVMjg810EULD81TvnDsP+k/FRi/ClFubWLgBo4EGpr2EfvmumtqQFo7ow==,
+        integrity: sha512-wTXunu3hmuGljA5CHaaoUIKV0oI35wno0FKJl2yqKplTRnsCA5bPNj4bDeVIubkuskql6jwionWLlGM1Y6QLaw==,
       }
 
   "@humanwhocodes/config-array@0.11.14":
@@ -2061,6 +2033,7 @@ packages:
         integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==,
       }
     engines: { node: ">=10.10.0" }
+    deprecated: Use @eslint/config-array instead
 
   "@humanwhocodes/module-importer@1.0.1":
     resolution:
@@ -2074,6 +2047,7 @@ packages:
       {
         integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==,
       }
+    deprecated: Use @eslint/object-schema instead
 
   "@isaacs/cliui@8.0.2":
     resolution:
@@ -2082,13 +2056,6 @@ packages:
       }
     engines: { node: ">=12" }
 
-  "@jridgewell/gen-mapping@0.3.3":
-    resolution:
-      {
-        integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==,
-      }
-    engines: { node: ">=6.0.0" }
-
   "@jridgewell/gen-mapping@0.3.5":
     resolution:
       {
@@ -2103,13 +2070,6 @@ packages:
       }
     engines: { node: ">=6.0.0" }
 
-  "@jridgewell/set-array@1.1.2":
-    resolution:
-      {
-        integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==,
-      }
-    engines: { node: ">=6.0.0" }
-
   "@jridgewell/set-array@1.2.1":
     resolution:
       {
@@ -2129,12 +2089,6 @@ packages:
         integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
       }
 
-  "@jridgewell/trace-mapping@0.3.20":
-    resolution:
-      {
-        integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==,
-      }
-
   "@jridgewell/trace-mapping@0.3.25":
     resolution:
       {
@@ -2509,6 +2463,12 @@ packages:
     cpu: [x64]
     os: [win32]
 
+  "@sec-ant/readable-stream@0.4.1":
+    resolution:
+      {
+        integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==,
+      }
+
   "@semantic-release/changelog@6.0.3":
     resolution:
       {
@@ -2518,10 +2478,10 @@ packages:
     peerDependencies:
       semantic-release: ">=18.0.0"
 
-  "@semantic-release/commit-analyzer@12.0.0":
+  "@semantic-release/commit-analyzer@13.0.0":
     resolution:
       {
-        integrity: sha512-qG+md5gdes+xa8zP7lIo1fWE17zRdO8yMCaxh9lyL65TQleoSv8WHHOqRURfghTytUh+NpkSyBprQ5hrkxOKVQ==,
+        integrity: sha512-KtXWczvTAB1ZFZ6B4O+w8HkfYm/OgQb1dUGNFZtDgQ0csggrmkq8sTxhd+lwGF8kMb59/RnG9o4Tn7M/I8dQ9Q==,
       }
     engines: { node: ">=20.8.1" }
     peerDependencies:
@@ -2568,10 +2528,10 @@ packages:
     peerDependencies:
       semantic-release: ">=20.1.0"
 
-  "@semantic-release/gitlab@13.0.3":
+  "@semantic-release/gitlab@13.1.0":
     resolution:
       {
-        integrity: sha512-tup9XW+c3TAQ01l7snBroEXVBaSmXydmLVTmsSeCZ+AN+D60AuA4aSqAF8YdMLQLiYLXrGNZkq+vdBxR/rQm6A==,
+        integrity: sha512-LKHvyINcPl9goLjJJU8vYUGXlVE0djFqYSVQWxlBMEtJzZ8dZ2irkiAS5POZeqdxIk3/JZaQj9bS8rjF/ZVR6A==,
       }
     engines: { node: ">=20.8.1" }
     peerDependencies:
@@ -2586,10 +2546,10 @@ packages:
     peerDependencies:
       semantic-release: ">=20.1.0"
 
-  "@semantic-release/release-notes-generator@13.0.0":
+  "@semantic-release/release-notes-generator@14.0.1":
     resolution:
       {
-        integrity: sha512-LEeZWb340keMYuREMyxrODPXJJ0JOL8D/mCl74B4LdzbxhtXV2LrPN2QBEcGJrlQhoqLO0RhxQb6masHytKw+A==,
+        integrity: sha512-K0w+5220TM4HZTthE5dDpIuFrnkN1NfTGPidJFm04ULT1DEZ9WG89VNXN7F0c+6nMEpWgqmPvb7vY7JkB2jyyA==,
       }
     engines: { node: ">=20.8.1" }
     peerDependencies:
@@ -2616,6 +2576,13 @@ packages:
       }
     engines: { node: ">=18" }
 
+  "@sindresorhus/merge-streams@4.0.0":
+    resolution:
+      {
+        integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==,
+      }
+    engines: { node: ">=18" }
+
   "@stencil/core@2.5.2":
     resolution:
       {
@@ -2653,10 +2620,10 @@ packages:
     peerDependencies:
       postcss: ^8.2.15
 
-  "@tailwindcss/typography@0.5.12":
+  "@tailwindcss/typography@0.5.13":
     resolution:
       {
-        integrity: sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==,
+        integrity: sha512-ADGcJ8dX21dVVHIwTRgzrcunY6YY9uSlAHHGVKvkA+vLc5qLwEszvKts40lx7z0qc4clpjclwLeK5rVCV2P/uw==,
       }
     peerDependencies:
       tailwindcss: ">=3.0.0 || insiders"
@@ -2704,12 +2671,6 @@ packages:
         integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==,
       }
 
-  "@types/json-schema@7.0.15":
-    resolution:
-      {
-        integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==,
-      }
-
   "@types/leaflet@1.9.12":
     resolution:
       {
@@ -2752,10 +2713,10 @@ packages:
         integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==,
       }
 
-  "@typescript-eslint/eslint-plugin@7.7.1":
+  "@typescript-eslint/eslint-plugin@7.14.1":
     resolution:
       {
-        integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==,
+        integrity: sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
@@ -2766,10 +2727,10 @@ packages:
       typescript:
         optional: true
 
-  "@typescript-eslint/parser@7.7.1":
+  "@typescript-eslint/parser@7.14.1":
     resolution:
       {
-        integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==,
+        integrity: sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
@@ -2779,17 +2740,17 @@ packages:
       typescript:
         optional: true
 
-  "@typescript-eslint/scope-manager@7.7.1":
+  "@typescript-eslint/scope-manager@7.14.1":
     resolution:
       {
-        integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==,
+        integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
 
-  "@typescript-eslint/type-utils@7.7.1":
+  "@typescript-eslint/type-utils@7.14.1":
     resolution:
       {
-        integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==,
+        integrity: sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
@@ -2799,17 +2760,17 @@ packages:
       typescript:
         optional: true
 
-  "@typescript-eslint/types@7.7.1":
+  "@typescript-eslint/types@7.14.1":
     resolution:
       {
-        integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==,
+        integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
 
-  "@typescript-eslint/typescript-estree@7.7.1":
+  "@typescript-eslint/typescript-estree@7.14.1":
     resolution:
       {
-        integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==,
+        integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
@@ -2818,19 +2779,19 @@ packages:
       typescript:
         optional: true
 
-  "@typescript-eslint/utils@7.7.1":
+  "@typescript-eslint/utils@7.14.1":
     resolution:
       {
-        integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==,
+        integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
     peerDependencies:
       eslint: ^8.56.0
 
-  "@typescript-eslint/visitor-keys@7.7.1":
+  "@typescript-eslint/visitor-keys@7.14.1":
     resolution:
       {
-        integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==,
+        integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==,
       }
     engines: { node: ^18.18.0 || >=20.0.0 }
 
@@ -2890,6 +2851,14 @@ packages:
     engines: { node: ">=0.4.0" }
     hasBin: true
 
+  acorn@8.12.0:
+    resolution:
+      {
+        integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==,
+      }
+    engines: { node: ">=0.4.0" }
+    hasBin: true
+
   agent-base@7.1.0:
     resolution:
       {
@@ -3198,6 +3167,13 @@ packages:
       }
     engines: { node: ">=8" }
 
+  braces@3.0.3:
+    resolution:
+      {
+        integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==,
+      }
+    engines: { node: ">=8" }
+
   brfs@2.0.2:
     resolution:
       {
@@ -3231,6 +3207,14 @@ packages:
     engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
     hasBin: true
 
+  browserslist@4.23.1:
+    resolution:
+      {
+        integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==,
+      }
+    engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 }
+    hasBin: true
+
   buffer-equal@0.0.1:
     resolution:
       {
@@ -3311,16 +3295,16 @@ packages:
         integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==,
       }
 
-  caniuse-lite@1.0.30001591:
+  caniuse-lite@1.0.30001612:
     resolution:
       {
-        integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==,
+        integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==,
       }
 
-  caniuse-lite@1.0.30001612:
+  caniuse-lite@1.0.30001639:
     resolution:
       {
-        integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==,
+        integrity: sha512-eFHflNTBIlFwP2AIKaYuBQN/apnUoKNhBdza8ZnW/h2di4LCZ4xFqYlxUxo+LQ76KFI1PGcC1QDxMbxTZpSCAg==,
       }
 
   chalk@2.4.2:
@@ -3510,12 +3494,12 @@ packages:
         integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==,
       }
 
-  commander@11.1.0:
+  commander@12.1.0:
     resolution:
       {
-        integrity: sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==,
+        integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==,
       }
-    engines: { node: ">=16" }
+    engines: { node: ">=18" }
 
   commander@2.20.3:
     resolution:
@@ -3584,6 +3568,13 @@ packages:
       }
     engines: { node: ">=16" }
 
+  conventional-changelog-angular@8.0.0:
+    resolution:
+      {
+        integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==,
+      }
+    engines: { node: ">=18" }
+
   conventional-changelog-conventionalcommits@7.0.2:
     resolution:
       {
@@ -3591,12 +3582,12 @@ packages:
       }
     engines: { node: ">=16" }
 
-  conventional-changelog-writer@7.0.1:
+  conventional-changelog-writer@8.0.0:
     resolution:
       {
-        integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==,
+        integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==,
       }
-    engines: { node: ">=16" }
+    engines: { node: ">=18" }
     hasBin: true
 
   conventional-commit-types@3.0.0:
@@ -3605,12 +3596,12 @@ packages:
         integrity: sha512-SmmCYnOniSsAa9GqWOeLqc179lfr5TRu5b4QFDkbsrJ5TZjPJx85wtOr3zn+1dbeNiXDKGPbZ72IKbPhLXh/Lg==,
       }
 
-  conventional-commits-filter@4.0.0:
+  conventional-commits-filter@5.0.0:
     resolution:
       {
-        integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==,
+        integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==,
       }
-    engines: { node: ">=16" }
+    engines: { node: ">=18" }
 
   conventional-commits-parser@5.0.0:
     resolution:
@@ -3620,6 +3611,14 @@ packages:
     engines: { node: ">=16" }
     hasBin: true
 
+  conventional-commits-parser@6.0.0:
+    resolution:
+      {
+        integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==,
+      }
+    engines: { node: ">=18" }
+    hasBin: true
+
   convert-hrtime@5.0.0:
     resolution:
       {
@@ -3758,10 +3757,10 @@ packages:
       }
     engines: { node: ">=12 || >=16" }
 
-  css-has-pseudo@6.0.3:
+  css-has-pseudo@6.0.5:
     resolution:
       {
-        integrity: sha512-qIsDxK/z0byH/mpNsv5hzQ5NOl8m1FRmOLgZpx4bG5uYHnOlO2XafeMI4mFIgNSViHwoUWcxSJZyyijaAmbs+A==,
+        integrity: sha512-ZTv6RlvJJZKp32jPYnAJVhowDCrRrHUTAxsYSuUPBEDJjzws6neMnzkRblxtgmv1RgcV5dhH2gn7E3wA9Wt6lw==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -3817,10 +3816,10 @@ packages:
     engines: { node: ">=4" }
     hasBin: true
 
-  cssnano-preset-default@7.0.0:
+  cssnano-preset-default@7.0.3:
     resolution:
       {
-        integrity: sha512-3YdcG6aHxALLdT0Gjq44zA45PcgW+qWuODq4XNtwpx1olR08cX+tozlXOU25IjeXeaYyqvTUxicIr2fcdJHRZg==,
+        integrity: sha512-dQ3Ba1p/oewICp/szF1XjFFgql8OlOBrI2YNBUUwhHQnJNoMOcQTa+Bi7jSJN8r/eM1egW0Ud1se/S7qlduWKA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -3835,10 +3834,10 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  cssnano@7.0.0:
+  cssnano@7.0.3:
     resolution:
       {
-        integrity: sha512-hhVRaaGbEDpb99AHBTaNJf6oXpnU4B7evBi7rt3ShiOh5JEnWsBWYsldywE9L0twVTLPBY9jT/zY6YODXP3TEg==,
+        integrity: sha512-lsekJctOTqdCn4cNrtrSwsuMR/fHC+oiVMHkp/OugBWtwjH8XJag1/OtGaYJGtz0un1fQcRy4ryfYTQsfh+KSQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -4154,6 +4153,12 @@ packages:
         integrity: sha512-GatzRKnGPS1go29ep25reM94xxd1Wj8ritU0yRhCJ/tr1Bg8gKnm6R9O/yPOhGQBoLMZ9ezfrpghNaTw97C/PQ==,
       }
 
+  electron-to-chromium@1.4.815:
+    resolution:
+      {
+        integrity: sha512-OvpTT2ItpOXJL7IGcYakRjHCt8L5GrrN/wHCQsRB4PQa1X9fe+X9oen245mIId7s14xvArCGSTIq644yPUKKLg==,
+      }
+
   emoji-regex@10.3.0:
     resolution:
       {
@@ -4258,10 +4263,10 @@ packages:
         integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==,
       }
 
-  esbuild@0.20.2:
+  esbuild@0.21.5:
     resolution:
       {
-        integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==,
+        integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==,
       }
     engines: { node: ">=12" }
     hasBin: true
@@ -4273,6 +4278,13 @@ packages:
       }
     engines: { node: ">=6" }
 
+  escalade@3.1.2:
+    resolution:
+      {
+        integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==,
+      }
+    engines: { node: ">=6" }
+
   escape-string-regexp@1.0.5:
     resolution:
       {
@@ -4474,6 +4486,13 @@ packages:
       }
     engines: { node: ">=16.17" }
 
+  execa@9.3.0:
+    resolution:
+      {
+        integrity: sha512-l6JFbqnHEadBoVAVpN5dl2yCyfX28WoBAGaoQcNmLLSedOxTxcn2Qa83s8I/PA5i56vWru2OHOtrwF7Om2vqlg==,
+      }
+    engines: { node: ^18.19.0 || >=20.5.0 }
+
   expand-tilde@2.0.2:
     resolution:
       {
@@ -4559,6 +4578,13 @@ packages:
       }
     engines: { node: ">=18" }
 
+  figures@6.1.0:
+    resolution:
+      {
+        integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==,
+      }
+    engines: { node: ">=18" }
+
   file-entry-cache@6.0.1:
     resolution:
       {
@@ -4566,12 +4592,12 @@ packages:
       }
     engines: { node: ^10.12.0 || >=12.0.0 }
 
-  file-entry-cache@8.0.0:
+  file-entry-cache@9.0.0:
     resolution:
       {
-        integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==,
+        integrity: sha512-6MgEugi8p2tiUhqO7GnPsmbCCzj0YRCwwaTbpGRyKZesjRSzkqkAE9fPp7V2yMs5hwfgbQLgdvSSkGNg1s5Uvw==,
       }
-    engines: { node: ">=16.0.0" }
+    engines: { node: ">=18" }
 
   filelist@1.0.4:
     resolution:
@@ -4586,6 +4612,13 @@ packages:
       }
     engines: { node: ">=8" }
 
+  fill-range@7.1.1:
+    resolution:
+      {
+        integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==,
+      }
+    engines: { node: ">=8" }
+
   find-node-modules@2.1.3:
     resolution:
       {
@@ -4654,12 +4687,12 @@ packages:
       }
     engines: { node: ^10.12.0 || >=12.0.0 }
 
-  flat-cache@4.0.0:
+  flat-cache@5.0.0:
     resolution:
       {
-        integrity: sha512-EryKbCE/wxpxKniQlyas6PY1I9vwtF3uCBweX+N8KYTCn3Y12RTGtQAJ/bd5pl7kxUAc8v/R3Ake/N17OZiFqA==,
+        integrity: sha512-JrqFmyUl2PnPi1OvLyTVHnQvwQ0S+e6lGSwu8OkAZlSaNIZciTY2H/cOOROxsBA1m/LZNHDsqAgDZt6akWcjsQ==,
       }
-    engines: { node: ">=16" }
+    engines: { node: ">=18" }
 
   flatpickr@4.6.13:
     resolution:
@@ -4667,10 +4700,10 @@ packages:
         integrity: sha512-97PMG/aywoYpB4IvbvUJi0RQi8vearvU0oov1WW3k0WZPBMrTQVqekSX5CjSG/M4Q3i6A/0FKXC7RyAoAUUSPw==,
       }
 
-  flatted@3.2.9:
+  flatted@3.3.1:
     resolution:
       {
-        integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==,
+        integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==,
       }
 
   for-each@0.3.3:
@@ -4839,6 +4872,13 @@ packages:
       }
     engines: { node: ">=16" }
 
+  get-stream@9.0.1:
+    resolution:
+      {
+        integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==,
+      }
+    engines: { node: ">=18" }
+
   get-symbol-description@1.0.0:
     resolution:
       {
@@ -5153,6 +5193,13 @@ packages:
       }
     engines: { node: ">=16.17.0" }
 
+  human-signals@7.0.0:
+    resolution:
+      {
+        integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==,
+      }
+    engines: { node: ">=18.18.0" }
+
   husky@9.0.11:
     resolution:
       {
@@ -5187,13 +5234,6 @@ packages:
         integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==,
       }
 
-  ignore@5.3.0:
-    resolution:
-      {
-        integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==,
-      }
-    engines: { node: ">= 4" }
-
   ignore@5.3.1:
     resolution:
       {
@@ -5472,6 +5512,13 @@ packages:
       }
     engines: { node: ">=8" }
 
+  is-plain-obj@4.1.0:
+    resolution:
+      {
+        integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==,
+      }
+    engines: { node: ">=12" }
+
   is-plain-object@5.0.0:
     resolution:
       {
@@ -5513,6 +5560,13 @@ packages:
       }
     engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
 
+  is-stream@4.0.1:
+    resolution:
+      {
+        integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==,
+      }
+    engines: { node: ">=18" }
+
   is-string@1.0.7:
     resolution:
       {
@@ -5705,12 +5759,6 @@ packages:
         integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==,
       }
 
-  json-stringify-safe@5.0.1:
-    resolution:
-      {
-        integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==,
-      }
-
   json5@2.2.3:
     resolution:
       {
@@ -5752,10 +5800,10 @@ packages:
       }
     engines: { node: ">=0.10.0" }
 
-  known-css-properties@0.30.0:
+  known-css-properties@0.31.0:
     resolution:
       {
-        integrity: sha512-VSWXYUnsPu9+WYKkfmJyLKtIvaRJi1kXUqVmBACORXZQxT5oZDsoZ2vQP+bQFDnWtpI/4eq3MLoRMjI2fnLzTQ==,
+        integrity: sha512-sBPIUGTNF0czz0mwGGUoKKJC8Q7On1GPbCSFPfyEsfHb2DyBG0Y4QtV+EVWpINSaiGKZblDNuF5AezxSgOhesQ==,
       }
 
   leaflet.markercluster@1.5.3:
@@ -5800,17 +5848,17 @@ packages:
       }
     engines: { node: ">=10" }
 
-  lilconfig@3.0.0:
+  lilconfig@3.1.1:
     resolution:
       {
-        integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==,
+        integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==,
       }
     engines: { node: ">=14" }
 
-  lilconfig@3.1.1:
+  lilconfig@3.1.2:
     resolution:
       {
-        integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==,
+        integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==,
       }
     engines: { node: ">=14" }
 
@@ -5820,18 +5868,18 @@ packages:
         integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==,
       }
 
-  lint-staged@15.2.2:
+  lint-staged@15.2.7:
     resolution:
       {
-        integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==,
+        integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==,
       }
     engines: { node: ">=18.12.0" }
     hasBin: true
 
-  listr2@8.0.1:
+  listr2@8.2.3:
     resolution:
       {
-        integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==,
+        integrity: sha512-Lllokma2mtoniUOS94CcOErHWAug5iu7HOmDrvWgpw8jyQH2fomgB+7lZS4HWZxytUuQwkGOwe49FvwVaA85Xw==,
       }
     engines: { node: ">=18.0.0" }
 
@@ -5847,10 +5895,10 @@ packages:
         integrity: sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==,
       }
 
-  lit@3.1.3:
+  lit@3.1.4:
     resolution:
       {
-        integrity: sha512-l4slfspEsnCcHVRTvaP7YnkTZEZggNFywLEIhQaGhYDczG+tu/vlgm/KaWIEjIp+ZyV20r2JnZctMb8LeLCG7Q==,
+        integrity: sha512-q6qKnKXHy2g1kjBaNfcoLlgbI3+aSOZ9Q4tiGa9bGYXq5RBXxkVTqTIVmP2VWMp29L4GyvCFm8ZQ2o56eUAMyA==,
       }
 
   load-json-file@4.0.0:
@@ -6091,6 +6139,14 @@ packages:
     engines: { node: ">= 18" }
     hasBin: true
 
+  marked@13.0.1:
+    resolution:
+      {
+        integrity: sha512-7kBohS6GrZKvCsNXZyVVXSW7/hGBHe49ng99YPkDCckSUrrG7MSFLCexsRxptzOmyW2eT5dySh4Md1V6my52fA==,
+      }
+    engines: { node: ">= 18" }
+    hasBin: true
+
   mathml-tag-names@2.1.3:
     resolution:
       {
@@ -6155,6 +6211,13 @@ packages:
       }
     engines: { node: ">=8.6" }
 
+  micromatch@4.0.7:
+    resolution:
+      {
+        integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==,
+      }
+    engines: { node: ">=8.6" }
+
   mime@4.0.1:
     resolution:
       {
@@ -6211,13 +6274,6 @@ packages:
       }
     engines: { node: ">=10" }
 
-  minimatch@9.0.3:
-    resolution:
-      {
-        integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==,
-      }
-    engines: { node: ">=16 || 14 >=14.17" }
-
   minimatch@9.0.4:
     resolution:
       {
@@ -6695,6 +6751,13 @@ packages:
       }
     engines: { node: ">=18" }
 
+  parse-ms@4.0.0:
+    resolution:
+      {
+        integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==,
+      }
+    engines: { node: ">=18" }
+
   parse-passwd@1.0.0:
     resolution:
       {
@@ -6829,6 +6892,12 @@ packages:
         integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==,
       }
 
+  picocolors@1.0.1:
+    resolution:
+      {
+        integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==,
+      }
+
   picomatch@2.3.1:
     resolution:
       {
@@ -6900,14 +6969,14 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  postcss-calc@9.0.1:
+  postcss-calc@10.0.0:
     resolution:
       {
-        integrity: sha512-TipgjGyzP5QzEhsOZUaIkeO5mKeMFpebWzRogWG/ysonUlnHcq5aJe0jOjpfzUU8PeSaBQnrE8ehR0QA5vs8PQ==,
+        integrity: sha512-OmjhudoNTP0QleZCwl1i6NeBwN+5MZbY5ersLZz69mjJiDVv/p57RjRuKDkHeDWr4T+S97wQfsqRTNoDHB2e3g==,
       }
-    engines: { node: ^14 || ^16 || >=18.0 }
+    engines: { node: ^18.12 || ^20.9 || >=22.0 }
     peerDependencies:
-      postcss: ^8.2.2
+      postcss: ^8.4.38
 
   postcss-clamp@4.1.0:
     resolution:
@@ -6918,10 +6987,10 @@ packages:
     peerDependencies:
       postcss: ^8.4.6
 
-  postcss-color-functional-notation@6.0.9:
+  postcss-color-functional-notation@6.0.12:
     resolution:
       {
-        integrity: sha512-8i/ofOArZ4fljp+3g+HI6Pok01Kb8YaSqInrJt2vMimEKrI0ZDNRLpH+wLhXBNu/Bi8zeWDvxhvCqsGSpu8E6Q==,
+        integrity: sha512-LGLWl6EDofJwDHMElYvt4YU9AeH+oijzOfeKhE0ebuu0aBSDeEg7CfFXMi0iiXWV1VKxn3MLGOtcBNnOiQS9Yg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -6945,46 +7014,46 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  postcss-colormin@7.0.0:
+  postcss-colormin@7.0.1:
     resolution:
       {
-        integrity: sha512-5CN6fqtsEtEtwf3mFV3B4UaZnlYljPpzmGeDB4yCK067PnAtfLe9uX2aFZaEwxHE7HopG5rUkW8gyHrNAesHEg==,
+        integrity: sha512-uszdT0dULt3FQs47G5UHCduYK+FnkLYlpu1HpWu061eGsKZ7setoG7kA+WC9NQLsOJf69D5TxGHgnAdRgylnFQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-convert-values@7.0.0:
+  postcss-convert-values@7.0.1:
     resolution:
       {
-        integrity: sha512-bMuzDgXBbFbByPgj+/r6va8zNuIDUaIIbvAFgdO1t3zdgJZ77BZvu6dfWyd6gHEJnYzmeVr9ayUsAQL3/qLJ0w==,
+        integrity: sha512-9x2ofb+hYPwHWMlWAzyWys2yMDZYGfkX9LodbaVTmLdlupmtH2AGvj8Up95wzzNPRDEzPIxQIkUaPJew3bT6xA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-custom-media@10.0.4:
+  postcss-custom-media@10.0.7:
     resolution:
       {
-        integrity: sha512-Ubs7O3wj2prghaKRa68VHBvuy3KnTQ0zbGwqDYY1mntxJD0QL2AeiAy+AMfl3HBedTCVr2IcFNktwty9YpSskA==,
+        integrity: sha512-o2k5nnvRZhF36pr1fGFM7a1EMTcNdKNO70Tp1g2lfpYgiwIctR7ic4acBCDHBMYRcQ8mFlaBB1QsEywqrSIaFQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-custom-properties@13.3.8:
+  postcss-custom-properties@13.3.11:
     resolution:
       {
-        integrity: sha512-OP9yj4yXxYOiW2n2TRpnE7C0yePvBiZb72S22mZVNzZEObdTYFjNaX6oZO4R4E8Ie9RmC/Jxw8EKYSbLrC1EFA==,
+        integrity: sha512-CAIgz03I/GMhVbAKIi3u3P8j5JY2KHl0TlePcfUX3OUy8t0ynnWvyJaS1D92pEAw1LjmeKWi7+aIU0s53iYdOQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
       postcss: ^8.4
 
-  postcss-custom-selectors@7.1.8:
+  postcss-custom-selectors@7.1.11:
     resolution:
       {
-        integrity: sha512-fqDkGSEsO7+oQaqdRdR8nwwqH+N2uk6LE/2g4myVJJYz/Ly418lHKEleKTdV/GzjBjFcG4n0dbfuH/Pd2BE8YA==,
+        integrity: sha512-IoGprXOueDJL5t3ZuWR+QzPpmrQCFNhvoICsg0vDSehGwWNG0YV/Z4A+zouGRonC7NJThoV+A8A74IEMqMQUQw==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -6999,10 +7068,10 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  postcss-discard-comments@7.0.0:
+  postcss-discard-comments@7.0.1:
     resolution:
       {
-        integrity: sha512-xpSdzRqYmy4YIVmjfGyYXKaI1SRnK6CTr+4Zmvyof8ANwvgfZgGdVtmgAvzh59gJm808mJCWQC9tFN0KF5dEXA==,
+        integrity: sha512-GVrQxUOhmle1W6jX2SvNLt4kmN+JYhV7mzI6BMnkAWR9DtVvg8e67rrV0NfdWhn7x1zxvzdWkMBPdBDCls+uwQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -7115,10 +7184,10 @@ packages:
     peerDependencies:
       postcss: ^8.4.21
 
-  postcss-lab-function@6.0.14:
+  postcss-lab-function@6.0.17:
     resolution:
       {
-        integrity: sha512-ddQS9FRWT8sfl4wfW0ae8fpP2JdLIuhC9pYpHq1077avjrLzg73T9IEVu5QmFa72nJhYFlO9CbqjcoSdEzfY9A==,
+        integrity: sha512-QzjC6/3J6XKZzHGuUKhWNvlDMfWo+08dQOfQj4vWQdpZFdOxCh9QCR4w4XbV68EkdzywJie1mcm81jwFyV0+kg==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -7148,19 +7217,19 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  postcss-merge-longhand@7.0.0:
+  postcss-merge-longhand@7.0.2:
     resolution:
       {
-        integrity: sha512-0X8I4/9+G03X5/5NnrfopG/YEln2XU8heDh7YqBaiq2SeaKIG3n66ShZPjIolmVuLBQ0BEm3yS8o1mlCLHdW7A==,
+        integrity: sha512-06vrW6ZWi9qeP7KMS9fsa9QW56+tIMW55KYqF7X3Ccn+NI2pIgPV6gFfvXTMQ05H90Y5DvnCDPZ2IuHa30PMUg==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-merge-rules@7.0.0:
+  postcss-merge-rules@7.0.2:
     resolution:
       {
-        integrity: sha512-Zty3VlOsD6VSjBMu6PiHCVpLegtBT/qtZRVBcSeyEZ6q1iU5qTYT0WtEoLRV+YubZZguS5/ycfP+NRiKfjv6aw==,
+        integrity: sha512-VAR47UNvRsdrTHLe7TV1CeEtF9SJYR5ukIB9U4GZyZOptgtsS20xSxy+k5wMrI3udST6O1XuIn7cjQkg7sDAAw==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -7184,19 +7253,19 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-minify-params@7.0.0:
+  postcss-minify-params@7.0.1:
     resolution:
       {
-        integrity: sha512-XOJAuX8Q/9GT1sGxlUvaFEe2H9n50bniLZblXXsAT/BwSfFYvzSZeFG7uupwc0KbKpTnflnQ7aMwGzX6JUWliQ==,
+        integrity: sha512-e+Xt8xErSRPgSRFxHeBCSxMiO8B8xng7lh8E0A5ep1VfwYhY8FXhu4Q3APMjgx9YDDbSp53IBGENrzygbUvgUQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-minify-selectors@7.0.0:
+  postcss-minify-selectors@7.0.2:
     resolution:
       {
-        integrity: sha512-f00CExZhD6lNw2vTZbcnmfxVgaVKzUw6IRsIFX3JTT8GdsoABc1WnhhGwL1i8YPJ3sSWw39fv7XPtvLb+3Uitw==,
+        integrity: sha512-dCzm04wqW1uqLmDZ41XYNBJfjgps3ZugDpogAmJXoCb5oCiTzIX4oPXXKxDpTvWOnKxQKR4EbV4ZawJBLcdXXA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -7220,10 +7289,10 @@ packages:
     peerDependencies:
       postcss: ^8.2.14
 
-  postcss-nesting@12.1.2:
+  postcss-nesting@12.1.5:
     resolution:
       {
-        integrity: sha512-FUmTHGDNundodutB4PUBxt/EPuhgtpk8FJGRsBhOuy+6FnkR2A8RZWIsyyy6XmhvX2DZQQWIkvu+HB4IbJm+Ew==,
+        integrity: sha512-N1NgI1PDCiAGWPTYrwqm8wpjv0bgDmkYHH72pNsqTCv9CObxjxftdYu6AKtGN+pnJa7FQjMm3v4sp8QJbFsYdQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -7283,10 +7352,10 @@ packages:
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-normalize-unicode@7.0.0:
+  postcss-normalize-unicode@7.0.1:
     resolution:
       {
-        integrity: sha512-OnKV52/VFFDAim4n0pdI+JAhsolLBdnCKxE6VV5lW5Q/JeVGFN8UM8ur6/A3EAMLsT1ZRm3fDHh/rBoBQpqi2w==,
+        integrity: sha512-PTPGdY9xAkTw+8ZZ71DUePb7M/Vtgkbbq+EoI33EuyQEzbKemEQMhe5QSr0VP5UfZlreANDPxSfcdSprENcbsg==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -7319,10 +7388,10 @@ packages:
     peerDependencies:
       postcss: ^8.2
 
-  postcss-ordered-values@7.0.0:
+  postcss-ordered-values@7.0.1:
     resolution:
       {
-        integrity: sha512-KROvC63A8UQW1eYDljQe1dtwc1E/M+mMwDT6z7khV/weHYLWTghaLRLunU7x1xw85lWFwVZOAGakxekYvKV+0w==,
+        integrity: sha512-irWScWRL6nRzYmBOXReIKch75RRhNS86UPUAxXdmW/l0FcAsg0lvAXQCby/1lymxn/o0gVa6Rv/0f03eJOwHxw==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -7354,10 +7423,10 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  postcss-preset-env@9.5.9:
+  postcss-preset-env@9.5.15:
     resolution:
       {
-        integrity: sha512-W+WgDH1MOWLT3Fsvknd45pzGMQ8Sp3fmt94Pxeik3Zkqfhw2XUDF8FehfV3Naxw4l/NrKPWLtltPJYVnpjMmfw==,
+        integrity: sha512-z/2akOVQChOGAdzaUR4pQrDOM3xGZc5/k4THHWyREbWAfngaJATA2SkEQMkiyV5Y/EoSwE0nt0IiaIs6CMmxfQ==,
       }
     engines: { node: ^14 || ^16 || >=18 }
     peerDependencies:
@@ -7372,10 +7441,10 @@ packages:
     peerDependencies:
       postcss: ^8.4
 
-  postcss-reduce-initial@7.0.0:
+  postcss-reduce-initial@7.0.1:
     resolution:
       {
-        integrity: sha512-iqGgmBxY9LrblZ0BKLjmrA1mC/cf9A/wYCCqSmD6tMi+xAyVl0+DfixZIHSVDMbCPRPjNmVF0DFGth/IDGelFQ==,
+        integrity: sha512-0JDUSV4bGB5FGM5g8MkS+rvqKukJZ7OTHw/lcKn7xPNqeaqJyQbUO8/dJpvyTpaVwPsd3Uc33+CfNzdVowp2WA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -7445,33 +7514,33 @@ packages:
       }
     engines: { node: ">=4" }
 
-  postcss-selector-parser@6.0.15:
+  postcss-selector-parser@6.0.16:
     resolution:
       {
-        integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==,
+        integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==,
       }
     engines: { node: ">=4" }
 
-  postcss-selector-parser@6.0.16:
+  postcss-selector-parser@6.1.0:
     resolution:
       {
-        integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==,
+        integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==,
       }
     engines: { node: ">=4" }
 
-  postcss-svgo@7.0.0:
+  postcss-svgo@7.0.1:
     resolution:
       {
-        integrity: sha512-Xj5DRdvA97yRy3wjbCH2NKXtDUwEnph6EHr5ZXszsBVKCNrKXYBjzAXqav7/Afz5WwJ/1peZoTguCEJIg7ytmA==,
+        integrity: sha512-0WBUlSL4lhD9rA5k1e5D8EN5wCEyZD6HJk0jIvRxl+FDVOMlJ7DePHYWGGVc5QRqrJ3/06FTXM0bxjmJpmTPSA==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >= 18 }
     peerDependencies:
       postcss: ^8.4.31
 
-  postcss-unique-selectors@7.0.0:
+  postcss-unique-selectors@7.0.1:
     resolution:
       {
-        integrity: sha512-NYFqcft7vVQMZlQPsMdMPy+qU/zDpy95Malpw4GeA9ZZjM6dVXDshXtDmLc0m4WCD6XeZCJqjTfPT1USsdt+rA==,
+        integrity: sha512-MH7QE/eKUftTB5ta40xcHLl7hkZjgDFydpfTK+QWXeHxghVt3VoPqYL5/G+zYZPPIs+8GuqFXSTgxBSoB1RZtQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
@@ -7483,10 +7552,10 @@ packages:
         integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==,
       }
 
-  postcss@8.4.38:
+  postcss@8.4.39:
     resolution:
       {
-        integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==,
+        integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==,
       }
     engines: { node: ^10 || ^12 || >=14 }
 
@@ -7535,10 +7604,10 @@ packages:
     engines: { node: ">=10.13.0" }
     hasBin: true
 
-  prettier@3.2.5:
+  prettier@3.3.2:
     resolution:
       {
-        integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==,
+        integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==,
       }
     engines: { node: ">=14" }
     hasBin: true
@@ -7557,6 +7626,13 @@ packages:
       }
     engines: { node: ^14.13.1 || >=16.0.0 }
 
+  pretty-ms@9.0.0:
+    resolution:
+      {
+        integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==,
+      }
+    engines: { node: ">=18" }
+
   process-nextick-args@2.0.1:
     resolution:
       {
@@ -7634,14 +7710,6 @@ packages:
       }
     engines: { node: ">=18" }
 
-  read-pkg-up@11.0.0:
-    resolution:
-      {
-        integrity: sha512-LOVbvF1Q0SZdjClSefZ0Nz5z8u+tIE7mV5NibzmE9VYmDe9CaBbAVtz1veOSZbofrdsilxuDAYnFenukZVp8/Q==,
-      }
-    engines: { node: ">=18" }
-    deprecated: Renamed to read-package-up
-
   read-pkg@9.0.1:
     resolution:
       {
@@ -7829,10 +7897,10 @@ packages:
       }
     engines: { iojs: ">=1.0.0", node: ">=0.10.0" }
 
-  rfdc@1.3.0:
+  rfdc@1.4.1:
     resolution:
       {
-        integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==,
+        integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==,
       }
 
   rgbcolor@1.0.1:
@@ -7847,14 +7915,7 @@ packages:
       {
         integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==,
       }
-    hasBin: true
-
-  rimraf@5.0.5:
-    resolution:
-      {
-        integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==,
-      }
-    engines: { node: ">=14" }
+    deprecated: Rimraf versions prior to v4 are no longer supported
     hasBin: true
 
   rollup@2.79.1:
@@ -7942,10 +8003,10 @@ packages:
         integrity: sha512-5cfCmsTYV/wPaRIItNxatw02ua/MThdIUNnUOCYp+3LSEJvnG804ANw2VLaavNILIfWXF1D1G2KNANkBBvInwQ==,
       }
 
-  semantic-release@23.0.8:
+  semantic-release@24.0.0:
     resolution:
       {
-        integrity: sha512-yZkuWcTTfh5h/DrR4Q4QvJSARJdb6wjwn/sN0qKMYEkvwaVFek8YWfrgtL8oWaRdl0fLte0Y1wWMzLbwoaII1g==,
+        integrity: sha512-v46CRPw+9eI3ZuYGF2oAjqPqsfbnfFTwLBgQsv/lch4goD09ytwOTESMN4QIrx/wPLxUGey60/NMx+ANQtWRsA==,
       }
     engines: { node: ">=20.8.1" }
     hasBin: true
@@ -8099,13 +8160,6 @@ packages:
         integrity: sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==,
       }
 
-  source-map-js@1.0.2:
-    resolution:
-      {
-        integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==,
-      }
-    engines: { node: ">=0.10.0" }
-
   source-map-js@1.2.0:
     resolution:
       {
@@ -8349,6 +8403,13 @@ packages:
       }
     engines: { node: ">=12" }
 
+  strip-final-newline@4.0.0:
+    resolution:
+      {
+        integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==,
+      }
+    engines: { node: ">=18" }
+
   strip-json-comments@2.0.1:
     resolution:
       {
@@ -8369,37 +8430,37 @@ packages:
         integrity: sha512-Ca5ib8HrFn+f+0n4N4ScTIA9iTOQ7MaGS1ylHcoVqW9J7w2w8PzN6g9gKmTYgGEBH8e120+RCmhpje6jC5uGWA==,
       }
 
-  stylehacks@7.0.0:
+  stylehacks@7.0.2:
     resolution:
       {
-        integrity: sha512-47Nw4pQ6QJb4CA6dzF2m9810sjQik4dfk4UwAm5wlwhrW3syzZKF8AR4/cfO3Cr6lsFgAoznQq0Wg57qhjTA2A==,
+        integrity: sha512-HdkWZS9b4gbgYTdMg4gJLmm7biAUug1qTqXjS+u8X+/pUd+9Px1E+520GnOW3rST9MNsVOVpsJG+mPHNosxjOQ==,
       }
     engines: { node: ^18.12.0 || ^20.9.0 || >=22.0 }
     peerDependencies:
       postcss: ^8.4.31
 
-  stylelint-config-recommended@14.0.0:
+  stylelint-config-recommended@14.0.1:
     resolution:
       {
-        integrity: sha512-jSkx290CglS8StmrLp2TxAppIajzIBZKYm3IxT89Kg6fGlxbPiTiyH9PS5YUuVAFwaJLl1ikiXX0QWjI0jmgZQ==,
+        integrity: sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg==,
       }
     engines: { node: ">=18.12.0" }
     peerDependencies:
-      stylelint: ^16.0.0
+      stylelint: ^16.1.0
 
-  stylelint-config-standard@36.0.0:
+  stylelint-config-standard@36.0.1:
     resolution:
       {
-        integrity: sha512-3Kjyq4d62bYFp/Aq8PMKDwlgUyPU4nacXsjDLWJdNPRUgpuxALu1KnlAHIj36cdtxViVhXexZij65yM0uNIHug==,
+        integrity: sha512-8aX8mTzJ6cuO8mmD5yon61CWuIM4UD8Q5aBcWKGSf6kg+EC3uhB+iOywpTK4ca6ZL7B49en8yanOFtUW0qNzyw==,
       }
     engines: { node: ">=18.12.0" }
     peerDependencies:
       stylelint: ^16.1.0
 
-  stylelint@16.4.0:
+  stylelint@16.6.1:
     resolution:
       {
-        integrity: sha512-uSx7VMuXwLuYcNSIg+0/fFNv0WinsfLAqsVVy7h7p80clKOHiGE8pfY6UjqwylTHiJrRIahTl6a8FPxGezhWoA==,
+        integrity: sha512-yNgz2PqWLkhH2hw6X9AweV9YvoafbAD5ZsFdKN9BvSDVwGvPh+AUIrn7lYwy1S7IHmtFin75LLfX1m0D2tHu8Q==,
       }
     engines: { node: ">=18.12.0" }
     hasBin: true
@@ -8453,10 +8514,10 @@ packages:
         integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==,
       }
 
-  svgo@3.2.0:
+  svgo@3.3.2:
     resolution:
       {
-        integrity: sha512-4PP6CMW/V7l/GmKRKzsLR8xxjdHTV4IMvhTnpuHwwBazSIlw5W/5SmPjN8Dwyt7lKbSJrRDgp4t9ph0HgChFBQ==,
+        integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==,
       }
     engines: { node: ">=14.0.0" }
     hasBin: true
@@ -8475,10 +8536,10 @@ packages:
       }
     engines: { node: ">=10.0.0" }
 
-  tailwindcss@3.4.3:
+  tailwindcss@3.4.4:
     resolution:
       {
-        integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==,
+        integrity: sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==,
       }
     engines: { node: ">=14.0.0" }
     hasBin: true
@@ -8757,10 +8818,10 @@ packages:
         integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==,
       }
 
-  typescript@5.4.5:
+  typescript@5.5.2:
     resolution:
       {
-        integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==,
+        integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==,
       }
     engines: { node: ">=14.17" }
     hasBin: true
@@ -8882,6 +8943,15 @@ packages:
     peerDependencies:
       browserslist: ">= 4.21.0"
 
+  update-browserslist-db@1.0.16:
+    resolution:
+      {
+        integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==,
+      }
+    hasBin: true
+    peerDependencies:
+      browserslist: ">= 4.21.0"
+
   uri-js@4.4.1:
     resolution:
       {
@@ -8913,25 +8983,25 @@ packages:
         integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==,
       }
 
-  vite-plugin-pwa@0.19.8:
+  vite-plugin-pwa@0.20.0:
     resolution:
       {
-        integrity: sha512-e1oK0dfhzhDhY3VBuML6c0h8Xfx6EkOVYqolj7g+u8eRfdauZe5RLteCIA/c5gH0CBQ0CNFAuv/AFTx4Z7IXTw==,
+        integrity: sha512-/kDZyqF8KqoXRpMUQtR5Atri/7BWayW8Gp7Kz/4bfstsV6zSFTxjREbXZYL7zSuRL40HGA+o2hvUAFRmC+bL7g==,
       }
     engines: { node: ">=16.0.0" }
     peerDependencies:
       "@vite-pwa/assets-generator": ^0.2.4
       vite: ^3.1.0 || ^4.0.0 || ^5.0.0
-      workbox-build: ^7.0.0
-      workbox-window: ^7.0.0
+      workbox-build: ^7.1.0
+      workbox-window: ^7.1.0
     peerDependenciesMeta:
       "@vite-pwa/assets-generator":
         optional: true
 
-  vite@5.2.10:
+  vite@5.3.2:
     resolution:
       {
-        integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==,
+        integrity: sha512-6lA7OBHBlXUxiJxbO5aAY2fsHHzDr1q7DvXYnyZycRs2Dz+dXBWuhpWHvmljTRTpQC2uvGmUFFkSHF2vGo90MA==,
       }
     engines: { node: ^18.0.0 || >=20.0.0 }
     hasBin: true
@@ -8965,10 +9035,10 @@ packages:
         integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==,
       }
 
-  wavesurfer.js@7.7.11:
+  wavesurfer.js@7.8.0:
     resolution:
       {
-        integrity: sha512-27otJlDBcUSbMh/YkxEZN0yXTHINQNYSOl5aJplYlIaHw2u3BrABUzOmUZV3dKIy8udOLJXS/67y5pOIzgAg+w==,
+        integrity: sha512-V9SIfE08VtSIl1KYHi+i+52gytEIxk0nDKlV98fjrK0UW+z37ojImgsYINEV015syLB9sZVAXDdGI8F4xmU7KQ==,
       }
 
   wcwidth@1.0.1:
@@ -9060,10 +9130,10 @@ packages:
         integrity: sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==,
       }
 
-  workbox-build@7.1.0:
+  workbox-build@7.1.1:
     resolution:
       {
-        integrity: sha512-F6R94XAxjB2j4ETMkP1EXKfjECOtDmyvt0vz3BzgWJMI68TNSXIVNkgatwUKBlPGOfy9n2F/4voYRNAhEvPJNg==,
+        integrity: sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==,
       }
     engines: { node: ">=16.0.0" }
 
@@ -9245,6 +9315,14 @@ packages:
       }
     engines: { node: ">= 14" }
 
+  yaml@2.4.5:
+    resolution:
+      {
+        integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==,
+      }
+    engines: { node: ">= 14" }
+    hasBin: true
+
   yargs-parser@18.1.3:
     resolution:
       {
@@ -9301,6 +9379,13 @@ packages:
       }
     engines: { node: ">=12.20" }
 
+  yoctocolors@2.1.0:
+    resolution:
+      {
+        integrity: sha512-FsQpXXeOEe05tcJN4Z2eicuC6+6KiJdBbPOAChanSkwwjZ277XGsh8wh/HaPuGeifTiw/7dgAzabitu2bnDvRg==,
+      }
+    engines: { node: ">=18" }
+
 snapshots:
   "@aashutoshrathi/word-wrap@1.2.6": {}
 
@@ -9308,7 +9393,7 @@ snapshots:
 
   "@amcharts/amcharts4-geodata@4.1.28": {}
 
-  "@amcharts/amcharts4@4.10.38":
+  "@amcharts/amcharts4@4.10.39":
     dependencies:
       "@babel/runtime": 7.23.6
       core-js: 3.35.0
@@ -9327,8 +9412,8 @@ snapshots:
 
   "@ampproject/remapping@2.2.1":
     dependencies:
-      "@jridgewell/gen-mapping": 0.3.3
-      "@jridgewell/trace-mapping": 0.3.20
+      "@jridgewell/gen-mapping": 0.3.5
+      "@jridgewell/trace-mapping": 0.3.25
 
   "@apideck/better-ajv-errors@0.3.6(ajv@8.12.0)":
     dependencies:
@@ -9378,11 +9463,11 @@ snapshots:
 
   "@babel/helper-annotate-as-pure@7.22.5":
     dependencies:
-      "@babel/types": 7.23.6
+      "@babel/types": 7.24.0
 
   "@babel/helper-builder-binary-assignment-operator-visitor@7.22.15":
     dependencies:
-      "@babel/types": 7.23.6
+      "@babel/types": 7.24.0
 
   "@babel/helper-compilation-targets@7.23.6":
     dependencies:
@@ -9436,11 +9521,11 @@ snapshots:
 
   "@babel/helper-member-expression-to-functions@7.23.0":
     dependencies:
-      "@babel/types": 7.23.6
+      "@babel/types": 7.24.0
 
   "@babel/helper-module-imports@7.22.15":
     dependencies:
-      "@babel/types": 7.23.6
+      "@babel/types": 7.24.0
 
   "@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)":
     dependencies:
@@ -9453,7 +9538,7 @@ snapshots:
 
   "@babel/helper-optimise-call-expression@7.22.5":
     dependencies:
-      "@babel/types": 7.23.6
+      "@babel/types": 7.24.0
 
   "@babel/helper-plugin-utils@7.22.5": {}
 
@@ -9477,7 +9562,7 @@ snapshots:
 
   "@babel/helper-skip-transparent-expression-wrappers@7.22.5":
     dependencies:
-      "@babel/types": 7.23.6
+      "@babel/types": 7.24.0
 
   "@babel/helper-split-export-declaration@7.22.6":
     dependencies:
@@ -9492,8 +9577,8 @@ snapshots:
   "@babel/helper-wrap-function@7.22.20":
     dependencies:
       "@babel/helper-function-name": 7.23.0
-      "@babel/template": 7.22.15
-      "@babel/types": 7.23.6
+      "@babel/template": 7.24.0
+      "@babel/types": 7.24.0
 
   "@babel/helpers@7.24.4":
     dependencies:
@@ -9516,10 +9601,6 @@ snapshots:
       js-tokens: 4.0.0
       picocolors: 1.0.0
 
-  "@babel/parser@7.23.6":
-    dependencies:
-      "@babel/types": 7.23.6
-
   "@babel/parser@7.24.4":
     dependencies:
       "@babel/types": 7.24.0
@@ -9697,7 +9778,7 @@ snapshots:
     dependencies:
       "@babel/core": 7.24.4
       "@babel/helper-plugin-utils": 7.22.5
-      "@babel/template": 7.22.15
+      "@babel/template": 7.24.0
 
   "@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.4)":
     dependencies:
@@ -10020,7 +10101,7 @@ snapshots:
     dependencies:
       "@babel/core": 7.24.4
       "@babel/helper-plugin-utils": 7.22.5
-      "@babel/types": 7.23.6
+      "@babel/types": 7.24.0
       esutils: 2.0.3
 
   "@babel/regjsgen@0.8.0": {}
@@ -10029,12 +10110,6 @@ snapshots:
     dependencies:
       regenerator-runtime: 0.14.1
 
-  "@babel/template@7.22.15":
-    dependencies:
-      "@babel/code-frame": 7.23.5
-      "@babel/parser": 7.23.6
-      "@babel/types": 7.23.6
-
   "@babel/template@7.24.0":
     dependencies:
       "@babel/code-frame": 7.24.2
@@ -10056,45 +10131,39 @@ snapshots:
     transitivePeerDependencies:
       - supports-color
 
-  "@babel/types@7.23.6":
-    dependencies:
-      "@babel/helper-string-parser": 7.23.4
-      "@babel/helper-validator-identifier": 7.22.20
-      to-fast-properties: 2.0.0
-
   "@babel/types@7.24.0":
     dependencies:
       "@babel/helper-string-parser": 7.23.4
       "@babel/helper-validator-identifier": 7.22.20
       to-fast-properties: 2.0.0
 
-  "@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)(@lezer/common@1.2.0)":
+  "@codemirror/autocomplete@6.11.1(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.3)(@lezer/common@1.2.0)":
     dependencies:
-      "@codemirror/language": 6.10.1
+      "@codemirror/language": 6.10.2
       "@codemirror/state": 6.4.1
-      "@codemirror/view": 6.26.3
+      "@codemirror/view": 6.28.3
       "@lezer/common": 1.2.0
 
-  "@codemirror/commands@6.5.0":
+  "@codemirror/commands@6.6.0":
     dependencies:
-      "@codemirror/language": 6.10.1
+      "@codemirror/language": 6.10.2
       "@codemirror/state": 6.4.1
-      "@codemirror/view": 6.26.3
+      "@codemirror/view": 6.28.3
       "@lezer/common": 1.2.0
 
   "@codemirror/lang-xml@6.1.0":
     dependencies:
-      "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)(@lezer/common@1.2.0)
-      "@codemirror/language": 6.10.1
+      "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.3)(@lezer/common@1.2.0)
+      "@codemirror/language": 6.10.2
       "@codemirror/state": 6.4.1
-      "@codemirror/view": 6.26.3
+      "@codemirror/view": 6.28.3
       "@lezer/common": 1.2.0
       "@lezer/xml": 1.0.4
 
-  "@codemirror/language@6.10.1":
+  "@codemirror/language@6.10.2":
     dependencies:
       "@codemirror/state": 6.4.1
-      "@codemirror/view": 6.26.3
+      "@codemirror/view": 6.28.3
       "@lezer/common": 1.2.0
       "@lezer/highlight": 1.2.0
       "@lezer/lr": 1.3.14
@@ -10103,18 +10172,18 @@ snapshots:
   "@codemirror/lint@6.4.2":
     dependencies:
       "@codemirror/state": 6.4.1
-      "@codemirror/view": 6.26.3
+      "@codemirror/view": 6.28.3
       crelt: 1.0.6
 
   "@codemirror/search@6.5.5":
     dependencies:
       "@codemirror/state": 6.4.1
-      "@codemirror/view": 6.26.3
+      "@codemirror/view": 6.28.3
       crelt: 1.0.6
 
   "@codemirror/state@6.4.1": {}
 
-  "@codemirror/view@6.26.3":
+  "@codemirror/view@6.28.3":
     dependencies:
       "@codemirror/state": 6.4.1
       style-mod: 4.1.0
@@ -10123,11 +10192,11 @@ snapshots:
   "@colors/colors@1.5.0":
     optional: true
 
-  "@commitlint/cli@19.3.0(@types/node@20.10.5)(typescript@5.4.5)":
+  "@commitlint/cli@19.3.0(@types/node@20.10.5)(typescript@5.5.2)":
     dependencies:
       "@commitlint/format": 19.3.0
       "@commitlint/lint": 19.2.2
-      "@commitlint/load": 19.2.0(@types/node@20.10.5)(typescript@5.4.5)
+      "@commitlint/load": 19.2.0(@types/node@20.10.5)(typescript@5.5.2)
       "@commitlint/read": 19.2.1
       "@commitlint/types": 19.0.3
       execa: 8.0.1
@@ -10183,15 +10252,15 @@ snapshots:
       "@commitlint/rules": 19.0.3
       "@commitlint/types": 19.0.3
 
-  "@commitlint/load@18.6.1(@types/node@20.10.5)(typescript@5.4.5)":
+  "@commitlint/load@18.6.1(@types/node@20.10.5)(typescript@5.5.2)":
     dependencies:
       "@commitlint/config-validator": 18.6.1
       "@commitlint/execute-rule": 18.6.1
       "@commitlint/resolve-extends": 18.6.1
       "@commitlint/types": 18.6.1
       chalk: 4.1.2
-      cosmiconfig: 8.3.6(typescript@5.4.5)
-      cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.4.5))(typescript@5.4.5)
+      cosmiconfig: 8.3.6(typescript@5.5.2)
+      cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.5.2))(typescript@5.5.2)
       lodash.isplainobject: 4.0.6
       lodash.merge: 4.6.2
       lodash.uniq: 4.5.0
@@ -10201,15 +10270,15 @@ snapshots:
       - typescript
     optional: true
 
-  "@commitlint/load@19.2.0(@types/node@20.10.5)(typescript@5.4.5)":
+  "@commitlint/load@19.2.0(@types/node@20.10.5)(typescript@5.5.2)":
     dependencies:
       "@commitlint/config-validator": 19.0.3
       "@commitlint/execute-rule": 19.0.0
       "@commitlint/resolve-extends": 19.1.0
       "@commitlint/types": 19.0.3
       chalk: 5.3.0
-      cosmiconfig: 9.0.0(typescript@5.4.5)
-      cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5)
+      cosmiconfig: 9.0.0(typescript@5.5.2)
+      cosmiconfig-typescript-loader: 5.0.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.5.2))(typescript@5.5.2)
       lodash.isplainobject: 4.0.6
       lodash.merge: 4.6.2
       lodash.uniq: 4.5.0
@@ -10276,309 +10345,309 @@ snapshots:
       "@types/conventional-commits-parser": 5.0.0
       chalk: 5.3.0
 
-  "@csstools/cascade-layer-name-parser@1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)":
+  "@csstools/cascade-layer-name-parser@1.0.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
 
-  "@csstools/color-helpers@4.2.0": {}
+  "@csstools/color-helpers@4.2.1": {}
 
-  "@csstools/css-calc@1.2.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)":
+  "@csstools/css-calc@1.2.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
 
-  "@csstools/css-color-parser@2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)":
+  "@csstools/css-color-parser@2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)":
     dependencies:
-      "@csstools/color-helpers": 4.2.0
-      "@csstools/css-calc": 1.2.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
+      "@csstools/color-helpers": 4.2.1
+      "@csstools/css-calc": 1.2.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
 
-  "@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4)":
+  "@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2)":
     dependencies:
-      "@csstools/css-tokenizer": 2.2.4
+      "@csstools/css-tokenizer": 2.3.2
 
-  "@csstools/css-tokenizer@2.2.4": {}
+  "@csstools/css-tokenizer@2.3.2": {}
 
-  "@csstools/media-query-list-parser@2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)":
+  "@csstools/media-query-list-parser@2.1.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
 
-  "@csstools/postcss-cascade-layers@4.0.4(postcss@8.4.38)":
+  "@csstools/postcss-cascade-layers@4.0.6(postcss@8.4.39)":
     dependencies:
-      "@csstools/selector-specificity": 3.0.3(postcss-selector-parser@6.0.15)
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  "@csstools/postcss-color-function@3.0.14(postcss@8.4.38)":
+  "@csstools/postcss-color-function@3.0.17(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-color-mix-function@2.0.14(postcss@8.4.38)":
+  "@csstools/postcss-color-mix-function@2.0.17(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-exponential-functions@1.0.5(postcss@8.4.38)":
+  "@csstools/postcss-exponential-functions@1.0.8(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-calc": 1.2.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      postcss: 8.4.38
+      "@csstools/css-calc": 1.2.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      postcss: 8.4.39
 
-  "@csstools/postcss-font-format-keywords@3.0.2(postcss@8.4.38)":
+  "@csstools/postcss-font-format-keywords@3.0.2(postcss@8.4.39)":
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-gamut-mapping@1.0.7(postcss@8.4.38)":
+  "@csstools/postcss-gamut-mapping@1.0.10(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      postcss: 8.4.39
 
-  "@csstools/postcss-gradients-interpolation-method@4.0.15(postcss@8.4.38)":
+  "@csstools/postcss-gradients-interpolation-method@4.0.18(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-hwb-function@3.0.13(postcss@8.4.38)":
+  "@csstools/postcss-hwb-function@3.0.16(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-ic-unit@3.0.6(postcss@8.4.38)":
+  "@csstools/postcss-ic-unit@3.0.6(postcss@8.4.39)":
     dependencies:
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-initial@1.0.1(postcss@8.4.38)":
+  "@csstools/postcss-initial@1.0.1(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  "@csstools/postcss-is-pseudo-class@4.0.6(postcss@8.4.38)":
+  "@csstools/postcss-is-pseudo-class@4.0.8(postcss@8.4.39)":
     dependencies:
-      "@csstools/selector-specificity": 3.0.3(postcss-selector-parser@6.0.15)
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  "@csstools/postcss-light-dark-function@1.0.3(postcss@8.4.38)":
+  "@csstools/postcss-light-dark-function@1.0.6(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-logical-float-and-clear@2.0.1(postcss@8.4.38)":
+  "@csstools/postcss-logical-float-and-clear@2.0.1(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  "@csstools/postcss-logical-overflow@1.0.1(postcss@8.4.38)":
+  "@csstools/postcss-logical-overflow@1.0.1(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  "@csstools/postcss-logical-overscroll-behavior@1.0.1(postcss@8.4.38)":
+  "@csstools/postcss-logical-overscroll-behavior@1.0.1(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  "@csstools/postcss-logical-resize@2.0.1(postcss@8.4.38)":
+  "@csstools/postcss-logical-resize@2.0.1(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-logical-viewport-units@2.0.7(postcss@8.4.38)":
+  "@csstools/postcss-logical-viewport-units@2.0.10(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-media-minmax@1.1.4(postcss@8.4.38)":
+  "@csstools/postcss-media-minmax@1.1.7(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-calc": 1.2.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/media-query-list-parser": 2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      postcss: 8.4.38
+      "@csstools/css-calc": 1.2.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/media-query-list-parser": 2.1.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      postcss: 8.4.39
 
-  "@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.7(postcss@8.4.38)":
+  "@csstools/postcss-media-queries-aspect-ratio-number-values@2.0.10(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/media-query-list-parser": 2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      postcss: 8.4.38
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/media-query-list-parser": 2.1.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      postcss: 8.4.39
 
-  "@csstools/postcss-nested-calc@3.0.2(postcss@8.4.38)":
+  "@csstools/postcss-nested-calc@3.0.2(postcss@8.4.39)":
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-normalize-display-values@3.0.2(postcss@8.4.38)":
+  "@csstools/postcss-normalize-display-values@3.0.2(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-oklab-function@3.0.14(postcss@8.4.38)":
+  "@csstools/postcss-oklab-function@3.0.17(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-progressive-custom-properties@3.2.0(postcss@8.4.38)":
+  "@csstools/postcss-progressive-custom-properties@3.2.0(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-relative-color-syntax@2.0.14(postcss@8.4.38)":
+  "@csstools/postcss-relative-color-syntax@2.0.17(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  "@csstools/postcss-scope-pseudo-class@3.0.1(postcss@8.4.38)":
+  "@csstools/postcss-scope-pseudo-class@3.0.1(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  "@csstools/postcss-stepped-value-functions@3.0.6(postcss@8.4.38)":
+  "@csstools/postcss-stepped-value-functions@3.0.9(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-calc": 1.2.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      postcss: 8.4.38
+      "@csstools/css-calc": 1.2.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      postcss: 8.4.39
 
-  "@csstools/postcss-text-decoration-shorthand@3.0.6(postcss@8.4.38)":
+  "@csstools/postcss-text-decoration-shorthand@3.0.7(postcss@8.4.39)":
     dependencies:
-      "@csstools/color-helpers": 4.2.0
-      postcss: 8.4.38
+      "@csstools/color-helpers": 4.2.1
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  "@csstools/postcss-trigonometric-functions@3.0.6(postcss@8.4.38)":
+  "@csstools/postcss-trigonometric-functions@3.0.9(postcss@8.4.39)":
     dependencies:
-      "@csstools/css-calc": 1.2.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      postcss: 8.4.38
+      "@csstools/css-calc": 1.2.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      postcss: 8.4.39
 
-  "@csstools/postcss-unset-value@3.0.1(postcss@8.4.38)":
+  "@csstools/postcss-unset-value@3.0.1(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  "@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.0.15)":
+  "@csstools/selector-resolve-nested@1.1.0(postcss-selector-parser@6.1.0)":
     dependencies:
-      postcss-selector-parser: 6.0.15
+      postcss-selector-parser: 6.1.0
 
-  "@csstools/selector-specificity@3.0.3(postcss-selector-parser@6.0.15)":
+  "@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.0.16)":
     dependencies:
-      postcss-selector-parser: 6.0.15
+      postcss-selector-parser: 6.0.16
 
-  "@csstools/selector-specificity@3.0.3(postcss-selector-parser@6.0.16)":
+  "@csstools/selector-specificity@3.1.1(postcss-selector-parser@6.1.0)":
     dependencies:
-      postcss-selector-parser: 6.0.16
+      postcss-selector-parser: 6.1.0
 
-  "@csstools/utilities@1.0.0(postcss@8.4.38)":
+  "@csstools/utilities@1.0.0(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  "@dual-bundle/import-meta-resolve@4.0.0": {}
+  "@dual-bundle/import-meta-resolve@4.1.0": {}
 
-  "@esbuild/aix-ppc64@0.20.2":
+  "@esbuild/aix-ppc64@0.21.5":
     optional: true
 
-  "@esbuild/android-arm64@0.20.2":
+  "@esbuild/android-arm64@0.21.5":
     optional: true
 
-  "@esbuild/android-arm@0.20.2":
+  "@esbuild/android-arm@0.21.5":
     optional: true
 
-  "@esbuild/android-x64@0.20.2":
+  "@esbuild/android-x64@0.21.5":
     optional: true
 
-  "@esbuild/darwin-arm64@0.20.2":
+  "@esbuild/darwin-arm64@0.21.5":
     optional: true
 
-  "@esbuild/darwin-x64@0.20.2":
+  "@esbuild/darwin-x64@0.21.5":
     optional: true
 
-  "@esbuild/freebsd-arm64@0.20.2":
+  "@esbuild/freebsd-arm64@0.21.5":
     optional: true
 
-  "@esbuild/freebsd-x64@0.20.2":
+  "@esbuild/freebsd-x64@0.21.5":
     optional: true
 
-  "@esbuild/linux-arm64@0.20.2":
+  "@esbuild/linux-arm64@0.21.5":
     optional: true
 
-  "@esbuild/linux-arm@0.20.2":
+  "@esbuild/linux-arm@0.21.5":
     optional: true
 
-  "@esbuild/linux-ia32@0.20.2":
+  "@esbuild/linux-ia32@0.21.5":
     optional: true
 
-  "@esbuild/linux-loong64@0.20.2":
+  "@esbuild/linux-loong64@0.21.5":
     optional: true
 
-  "@esbuild/linux-mips64el@0.20.2":
+  "@esbuild/linux-mips64el@0.21.5":
     optional: true
 
-  "@esbuild/linux-ppc64@0.20.2":
+  "@esbuild/linux-ppc64@0.21.5":
     optional: true
 
-  "@esbuild/linux-riscv64@0.20.2":
+  "@esbuild/linux-riscv64@0.21.5":
     optional: true
 
-  "@esbuild/linux-s390x@0.20.2":
+  "@esbuild/linux-s390x@0.21.5":
     optional: true
 
-  "@esbuild/linux-x64@0.20.2":
+  "@esbuild/linux-x64@0.21.5":
     optional: true
 
-  "@esbuild/netbsd-x64@0.20.2":
+  "@esbuild/netbsd-x64@0.21.5":
     optional: true
 
-  "@esbuild/openbsd-x64@0.20.2":
+  "@esbuild/openbsd-x64@0.21.5":
     optional: true
 
-  "@esbuild/sunos-x64@0.20.2":
+  "@esbuild/sunos-x64@0.21.5":
     optional: true
 
-  "@esbuild/win32-arm64@0.20.2":
+  "@esbuild/win32-arm64@0.21.5":
     optional: true
 
-  "@esbuild/win32-ia32@0.20.2":
+  "@esbuild/win32-ia32@0.21.5":
     optional: true
 
-  "@esbuild/win32-x64@0.20.2":
+  "@esbuild/win32-x64@0.21.5":
     optional: true
 
   "@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)":
@@ -10604,18 +10673,16 @@ snapshots:
 
   "@eslint/js@8.57.0": {}
 
-  "@floating-ui/core@1.5.2":
+  "@floating-ui/core@1.6.4":
     dependencies:
-      "@floating-ui/utils": 0.1.6
+      "@floating-ui/utils": 0.2.4
 
-  "@floating-ui/dom@1.6.3":
+  "@floating-ui/dom@1.6.7":
     dependencies:
-      "@floating-ui/core": 1.5.2
-      "@floating-ui/utils": 0.2.1
-
-  "@floating-ui/utils@0.1.6": {}
+      "@floating-ui/core": 1.6.4
+      "@floating-ui/utils": 0.2.4
 
-  "@floating-ui/utils@0.2.1": {}
+  "@floating-ui/utils@0.2.4": {}
 
   "@foliojs-fork/fontkit@1.9.1":
     dependencies:
@@ -10647,11 +10714,11 @@ snapshots:
 
   "@github/clipboard-copy-element@1.3.0": {}
 
-  "@github/hotkey@3.1.0": {}
+  "@github/hotkey@3.1.1": {}
 
   "@github/markdown-toolbar-element@2.2.3": {}
 
-  "@github/relative-time-element@4.4.0": {}
+  "@github/relative-time-element@4.4.2": {}
 
   "@humanwhocodes/config-array@0.11.14":
     dependencies:
@@ -10674,12 +10741,6 @@ snapshots:
       wrap-ansi: 8.1.0
       wrap-ansi-cjs: wrap-ansi@7.0.0
 
-  "@jridgewell/gen-mapping@0.3.3":
-    dependencies:
-      "@jridgewell/set-array": 1.1.2
-      "@jridgewell/sourcemap-codec": 1.4.15
-      "@jridgewell/trace-mapping": 0.3.20
-
   "@jridgewell/gen-mapping@0.3.5":
     dependencies:
       "@jridgewell/set-array": 1.2.1
@@ -10688,22 +10749,15 @@ snapshots:
 
   "@jridgewell/resolve-uri@3.1.1": {}
 
-  "@jridgewell/set-array@1.1.2": {}
-
   "@jridgewell/set-array@1.2.1": {}
 
   "@jridgewell/source-map@0.3.5":
     dependencies:
-      "@jridgewell/gen-mapping": 0.3.3
-      "@jridgewell/trace-mapping": 0.3.20
+      "@jridgewell/gen-mapping": 0.3.5
+      "@jridgewell/trace-mapping": 0.3.25
 
   "@jridgewell/sourcemap-codec@1.4.15": {}
 
-  "@jridgewell/trace-mapping@0.3.20":
-    dependencies:
-      "@jridgewell/resolve-uri": 3.1.1
-      "@jridgewell/sourcemap-codec": 1.4.15
-
   "@jridgewell/trace-mapping@0.3.25":
     dependencies:
       "@jridgewell/resolve-uri": 3.1.1
@@ -10913,24 +10967,27 @@ snapshots:
   "@rollup/rollup-win32-x64-msvc@4.16.4":
     optional: true
 
-  "@semantic-release/changelog@6.0.3(semantic-release@23.0.8(typescript@5.4.5))":
+  "@sec-ant/readable-stream@0.4.1": {}
+
+  "@semantic-release/changelog@6.0.3(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
       "@semantic-release/error": 3.0.0
       aggregate-error: 3.1.0
       fs-extra: 11.2.0
       lodash: 4.17.21
-      semantic-release: 23.0.8(typescript@5.4.5)
+      semantic-release: 24.0.0(typescript@5.5.2)
 
-  "@semantic-release/commit-analyzer@12.0.0(semantic-release@23.0.8(typescript@5.4.5))":
+  "@semantic-release/commit-analyzer@13.0.0(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
-      conventional-changelog-angular: 7.0.0
-      conventional-commits-filter: 4.0.0
-      conventional-commits-parser: 5.0.0
+      conventional-changelog-angular: 8.0.0
+      conventional-changelog-writer: 8.0.0
+      conventional-commits-filter: 5.0.0
+      conventional-commits-parser: 6.0.0
       debug: 4.3.4
       import-from-esm: 1.3.3
       lodash-es: 4.17.21
       micromatch: 4.0.5
-      semantic-release: 23.0.8(typescript@5.4.5)
+      semantic-release: 24.0.0(typescript@5.5.2)
     transitivePeerDependencies:
       - supports-color
 
@@ -10938,7 +10995,7 @@ snapshots:
 
   "@semantic-release/error@4.0.0": {}
 
-  "@semantic-release/exec@6.0.3(semantic-release@23.0.8(typescript@5.4.5))":
+  "@semantic-release/exec@6.0.3(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
       "@semantic-release/error": 3.0.0
       aggregate-error: 3.1.0
@@ -10946,11 +11003,11 @@ snapshots:
       execa: 5.1.1
       lodash: 4.17.21
       parse-json: 5.2.0
-      semantic-release: 23.0.8(typescript@5.4.5)
+      semantic-release: 24.0.0(typescript@5.5.2)
     transitivePeerDependencies:
       - supports-color
 
-  "@semantic-release/git@10.0.1(semantic-release@23.0.8(typescript@5.4.5))":
+  "@semantic-release/git@10.0.1(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
       "@semantic-release/error": 3.0.0
       aggregate-error: 3.1.0
@@ -10960,11 +11017,11 @@ snapshots:
       lodash: 4.17.21
       micromatch: 4.0.5
       p-reduce: 2.1.0
-      semantic-release: 23.0.8(typescript@5.4.5)
+      semantic-release: 24.0.0(typescript@5.5.2)
     transitivePeerDependencies:
       - supports-color
 
-  "@semantic-release/github@10.0.3(semantic-release@23.0.8(typescript@5.4.5))":
+  "@semantic-release/github@10.0.3(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
       "@octokit/core": 6.1.2
       "@octokit/plugin-paginate-rest": 11.2.0(@octokit/core@6.1.2)
@@ -10981,12 +11038,12 @@ snapshots:
       lodash-es: 4.17.21
       mime: 4.0.1
       p-filter: 4.1.0
-      semantic-release: 23.0.8(typescript@5.4.5)
+      semantic-release: 24.0.0(typescript@5.5.2)
       url-join: 5.0.0
     transitivePeerDependencies:
       - supports-color
 
-  "@semantic-release/gitlab@13.0.3(semantic-release@23.0.8(typescript@5.4.5))":
+  "@semantic-release/gitlab@13.1.0(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
       "@semantic-release/error": 4.0.0
       aggregate-error: 5.0.0
@@ -11000,12 +11057,12 @@ snapshots:
       hpagent: 1.2.0
       lodash-es: 4.17.21
       parse-url: 9.0.1
-      semantic-release: 23.0.8(typescript@5.4.5)
+      semantic-release: 24.0.0(typescript@5.5.2)
       url-join: 4.0.1
     transitivePeerDependencies:
       - supports-color
 
-  "@semantic-release/npm@12.0.0(semantic-release@23.0.8(typescript@5.4.5))":
+  "@semantic-release/npm@12.0.0(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
       "@semantic-release/error": 4.0.0
       aggregate-error: 5.0.0
@@ -11018,23 +11075,23 @@ snapshots:
       rc: 1.2.8
       read-pkg: 9.0.1
       registry-auth-token: 5.0.2
-      semantic-release: 23.0.8(typescript@5.4.5)
+      semantic-release: 24.0.0(typescript@5.5.2)
       semver: 7.6.0
       tempy: 3.1.0
 
-  "@semantic-release/release-notes-generator@13.0.0(semantic-release@23.0.8(typescript@5.4.5))":
+  "@semantic-release/release-notes-generator@14.0.1(semantic-release@24.0.0(typescript@5.5.2))":
     dependencies:
-      conventional-changelog-angular: 7.0.0
-      conventional-changelog-writer: 7.0.1
-      conventional-commits-filter: 4.0.0
-      conventional-commits-parser: 5.0.0
+      conventional-changelog-angular: 8.0.0
+      conventional-changelog-writer: 8.0.0
+      conventional-commits-filter: 5.0.0
+      conventional-commits-parser: 6.0.0
       debug: 4.3.4
       get-stream: 7.0.1
       import-from-esm: 1.3.3
       into-stream: 7.0.0
       lodash-es: 4.17.21
-      read-pkg-up: 11.0.0
-      semantic-release: 23.0.8(typescript@5.4.5)
+      read-package-up: 11.0.0
+      semantic-release: 24.0.0(typescript@5.5.2)
     transitivePeerDependencies:
       - supports-color
 
@@ -11044,6 +11101,8 @@ snapshots:
 
   "@sindresorhus/merge-streams@1.0.0": {}
 
+  "@sindresorhus/merge-streams@4.0.0": {}
+
   "@stencil/core@2.5.2": {}
 
   "@surma/rollup-plugin-off-main-thread@2.2.3":
@@ -11057,23 +11116,23 @@ snapshots:
     dependencies:
       defer-to-connect: 2.0.1
 
-  "@tailwindcss/forms@0.5.7(tailwindcss@3.4.3)":
+  "@tailwindcss/forms@0.5.7(tailwindcss@3.4.4)":
     dependencies:
       mini-svg-data-uri: 1.4.4
-      tailwindcss: 3.4.3
+      tailwindcss: 3.4.4
 
-  "@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.38)":
+  "@tailwindcss/nesting@0.0.0-insiders.565cd3e(postcss@8.4.39)":
     dependencies:
-      postcss: 8.4.38
-      postcss-nested: 5.0.6(postcss@8.4.38)
+      postcss: 8.4.39
+      postcss-nested: 5.0.6(postcss@8.4.39)
 
-  "@tailwindcss/typography@0.5.12(tailwindcss@3.4.3)":
+  "@tailwindcss/typography@0.5.13(tailwindcss@3.4.4)":
     dependencies:
       lodash.castarray: 4.4.0
       lodash.isplainobject: 4.0.6
       lodash.merge: 4.6.2
       postcss-selector-parser: 6.0.10
-      tailwindcss: 3.4.3
+      tailwindcss: 3.4.4
 
   "@trysound/sax@0.2.0": {}
 
@@ -11091,8 +11150,6 @@ snapshots:
 
   "@types/http-cache-semantics@4.0.4": {}
 
-  "@types/json-schema@7.0.15": {}
-
   "@types/leaflet@1.9.12":
     dependencies:
       "@types/geojson": 7946.0.13
@@ -11111,90 +11168,85 @@ snapshots:
 
   "@types/trusted-types@2.0.7": {}
 
-  "@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5)":
+  "@typescript-eslint/eslint-plugin@7.14.1(@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2))(eslint@8.57.0)(typescript@5.5.2)":
     dependencies:
       "@eslint-community/regexpp": 4.10.0
-      "@typescript-eslint/parser": 7.7.1(eslint@8.57.0)(typescript@5.4.5)
-      "@typescript-eslint/scope-manager": 7.7.1
-      "@typescript-eslint/type-utils": 7.7.1(eslint@8.57.0)(typescript@5.4.5)
-      "@typescript-eslint/utils": 7.7.1(eslint@8.57.0)(typescript@5.4.5)
-      "@typescript-eslint/visitor-keys": 7.7.1
-      debug: 4.3.4
+      "@typescript-eslint/parser": 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+      "@typescript-eslint/scope-manager": 7.14.1
+      "@typescript-eslint/type-utils": 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+      "@typescript-eslint/utils": 7.14.1(eslint@8.57.0)(typescript@5.5.2)
+      "@typescript-eslint/visitor-keys": 7.14.1
       eslint: 8.57.0
       graphemer: 1.4.0
       ignore: 5.3.1
       natural-compare: 1.4.0
-      semver: 7.6.0
-      ts-api-utils: 1.3.0(typescript@5.4.5)
+      ts-api-utils: 1.3.0(typescript@5.5.2)
     optionalDependencies:
-      typescript: 5.4.5
+      typescript: 5.5.2
     transitivePeerDependencies:
       - supports-color
 
-  "@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5)":
+  "@typescript-eslint/parser@7.14.1(eslint@8.57.0)(typescript@5.5.2)":
     dependencies:
-      "@typescript-eslint/scope-manager": 7.7.1
-      "@typescript-eslint/types": 7.7.1
-      "@typescript-eslint/typescript-estree": 7.7.1(typescript@5.4.5)
-      "@typescript-eslint/visitor-keys": 7.7.1
+      "@typescript-eslint/scope-manager": 7.14.1
+      "@typescript-eslint/types": 7.14.1
+      "@typescript-eslint/typescript-estree": 7.14.1(typescript@5.5.2)
+      "@typescript-eslint/visitor-keys": 7.14.1
       debug: 4.3.4
       eslint: 8.57.0
     optionalDependencies:
-      typescript: 5.4.5
+      typescript: 5.5.2
     transitivePeerDependencies:
       - supports-color
 
-  "@typescript-eslint/scope-manager@7.7.1":
+  "@typescript-eslint/scope-manager@7.14.1":
     dependencies:
-      "@typescript-eslint/types": 7.7.1
-      "@typescript-eslint/visitor-keys": 7.7.1
+      "@typescript-eslint/types": 7.14.1
+      "@typescript-eslint/visitor-keys": 7.14.1
 
-  "@typescript-eslint/type-utils@7.7.1(eslint@8.57.0)(typescript@5.4.5)":
+  "@typescript-eslint/type-utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)":
     dependencies:
-      "@typescript-eslint/typescript-estree": 7.7.1(typescript@5.4.5)
-      "@typescript-eslint/utils": 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+      "@typescript-eslint/typescript-estree": 7.14.1(typescript@5.5.2)
+      "@typescript-eslint/utils": 7.14.1(eslint@8.57.0)(typescript@5.5.2)
       debug: 4.3.4
       eslint: 8.57.0
-      ts-api-utils: 1.3.0(typescript@5.4.5)
+      ts-api-utils: 1.3.0(typescript@5.5.2)
     optionalDependencies:
-      typescript: 5.4.5
+      typescript: 5.5.2
     transitivePeerDependencies:
       - supports-color
 
-  "@typescript-eslint/types@7.7.1": {}
+  "@typescript-eslint/types@7.14.1": {}
 
-  "@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5)":
+  "@typescript-eslint/typescript-estree@7.14.1(typescript@5.5.2)":
     dependencies:
-      "@typescript-eslint/types": 7.7.1
-      "@typescript-eslint/visitor-keys": 7.7.1
+      "@typescript-eslint/types": 7.14.1
+      "@typescript-eslint/visitor-keys": 7.14.1
       debug: 4.3.4
       globby: 11.1.0
       is-glob: 4.0.3
       minimatch: 9.0.4
       semver: 7.6.0
-      ts-api-utils: 1.3.0(typescript@5.4.5)
+      ts-api-utils: 1.3.0(typescript@5.5.2)
     optionalDependencies:
-      typescript: 5.4.5
+      typescript: 5.5.2
     transitivePeerDependencies:
       - supports-color
 
-  "@typescript-eslint/utils@7.7.1(eslint@8.57.0)(typescript@5.4.5)":
+  "@typescript-eslint/utils@7.14.1(eslint@8.57.0)(typescript@5.5.2)":
     dependencies:
       "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0)
-      "@types/json-schema": 7.0.15
-      "@types/semver": 7.5.8
-      "@typescript-eslint/scope-manager": 7.7.1
-      "@typescript-eslint/types": 7.7.1
-      "@typescript-eslint/typescript-estree": 7.7.1(typescript@5.4.5)
+      "@typescript-eslint/scope-manager": 7.14.1
+      "@typescript-eslint/types": 7.14.1
+      "@typescript-eslint/typescript-estree": 7.14.1(typescript@5.5.2)
       eslint: 8.57.0
-      semver: 7.6.0
     transitivePeerDependencies:
       - supports-color
       - typescript
 
-  "@typescript-eslint/visitor-keys@7.7.1":
+  "@typescript-eslint/visitor-keys@7.14.1":
     dependencies:
-      "@typescript-eslint/types": 7.7.1
+      "@typescript-eslint/types": 7.14.1
       eslint-visitor-keys: 3.4.3
 
   "@ungap/structured-clone@1.2.0": {}
@@ -11212,9 +11264,9 @@ snapshots:
       jsonparse: 1.3.1
       through: 2.3.8
 
-  acorn-jsx@5.3.2(acorn@8.11.3):
+  acorn-jsx@5.3.2(acorn@8.12.0):
     dependencies:
-      acorn: 8.11.3
+      acorn: 8.12.0
 
   acorn-node@1.8.2:
     dependencies:
@@ -11228,6 +11280,8 @@ snapshots:
 
   acorn@8.11.3: {}
 
+  acorn@8.12.0: {}
+
   agent-base@7.1.0:
     dependencies:
       debug: 4.3.4
@@ -11348,14 +11402,14 @@ snapshots:
 
   at-least-node@1.0.0: {}
 
-  autoprefixer@10.4.19(postcss@8.4.38):
+  autoprefixer@10.4.19(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.23.1
       caniuse-lite: 1.0.30001612
       fraction.js: 4.3.7
       normalize-range: 0.1.2
       picocolors: 1.0.0
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
   available-typed-arrays@1.0.5: {}
@@ -11419,6 +11473,10 @@ snapshots:
     dependencies:
       fill-range: 7.0.1
 
+  braces@3.0.3:
+    dependencies:
+      fill-range: 7.1.1
+
   brfs@2.0.2:
     dependencies:
       quote-stream: 1.0.2
@@ -11442,11 +11500,18 @@ snapshots:
 
   browserslist@4.23.0:
     dependencies:
-      caniuse-lite: 1.0.30001591
+      caniuse-lite: 1.0.30001612
       electron-to-chromium: 1.4.689
       node-releases: 2.0.14
       update-browserslist-db: 1.0.13(browserslist@4.23.0)
 
+  browserslist@4.23.1:
+    dependencies:
+      caniuse-lite: 1.0.30001639
+      electron-to-chromium: 1.4.815
+      node-releases: 2.0.14
+      update-browserslist-db: 1.0.16(browserslist@4.23.1)
+
   buffer-equal@0.0.1: {}
 
   buffer-from@1.1.2: {}
@@ -11486,15 +11551,15 @@ snapshots:
 
   caniuse-api@3.0.0:
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.23.1
       caniuse-lite: 1.0.30001612
       lodash.memoize: 4.1.2
       lodash.uniq: 4.5.0
 
-  caniuse-lite@1.0.30001591: {}
-
   caniuse-lite@1.0.30001612: {}
 
+  caniuse-lite@1.0.30001639: {}
+
   chalk@2.4.2:
     dependencies:
       ansi-styles: 3.2.1
@@ -11592,13 +11657,13 @@ snapshots:
 
   codemirror@6.0.1(@lezer/common@1.2.0):
     dependencies:
-      "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.1)(@codemirror/state@6.4.1)(@codemirror/view@6.26.3)(@lezer/common@1.2.0)
-      "@codemirror/commands": 6.5.0
-      "@codemirror/language": 6.10.1
+      "@codemirror/autocomplete": 6.11.1(@codemirror/language@6.10.2)(@codemirror/state@6.4.1)(@codemirror/view@6.28.3)(@lezer/common@1.2.0)
+      "@codemirror/commands": 6.6.0
+      "@codemirror/language": 6.10.2
       "@codemirror/lint": 6.4.2
       "@codemirror/search": 6.5.5
       "@codemirror/state": 6.4.1
-      "@codemirror/view": 6.26.3
+      "@codemirror/view": 6.28.3
     transitivePeerDependencies:
       - "@lezer/common"
 
@@ -11618,7 +11683,7 @@ snapshots:
 
   colorette@2.0.20: {}
 
-  commander@11.1.0: {}
+  commander@12.1.0: {}
 
   commander@2.20.3: {}
 
@@ -11626,10 +11691,10 @@ snapshots:
 
   commander@7.2.0: {}
 
-  commitizen@4.3.0(@types/node@20.10.5)(typescript@5.4.5):
+  commitizen@4.3.0(@types/node@20.10.5)(typescript@5.5.2):
     dependencies:
       cachedir: 2.3.0
-      cz-conventional-changelog: 3.3.0(@types/node@20.10.5)(typescript@5.4.5)
+      cz-conventional-changelog: 3.3.0(@types/node@20.10.5)(typescript@5.5.2)
       dedent: 0.7.0
       detect-indent: 6.1.0
       find-node-modules: 2.1.3
@@ -11671,22 +11736,25 @@ snapshots:
     dependencies:
       compare-func: 2.0.0
 
+  conventional-changelog-angular@8.0.0:
+    dependencies:
+      compare-func: 2.0.0
+
   conventional-changelog-conventionalcommits@7.0.2:
     dependencies:
       compare-func: 2.0.0
 
-  conventional-changelog-writer@7.0.1:
+  conventional-changelog-writer@8.0.0:
     dependencies:
-      conventional-commits-filter: 4.0.0
+      "@types/semver": 7.5.8
+      conventional-commits-filter: 5.0.0
       handlebars: 4.7.8
-      json-stringify-safe: 5.0.1
-      meow: 12.1.1
+      meow: 13.2.0
       semver: 7.6.0
-      split2: 4.2.0
 
   conventional-commit-types@3.0.0: {}
 
-  conventional-commits-filter@4.0.0: {}
+  conventional-commits-filter@5.0.0: {}
 
   conventional-commits-parser@5.0.0:
     dependencies:
@@ -11695,6 +11763,10 @@ snapshots:
       meow: 12.1.1
       split2: 4.2.0
 
+  conventional-commits-parser@6.0.0:
+    dependencies:
+      meow: 13.2.0
+
   convert-hrtime@5.0.0: {}
 
   convert-source-map@1.9.0: {}
@@ -11709,39 +11781,39 @@ snapshots:
 
   core-util-is@1.0.3: {}
 
-  cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.4.5))(typescript@5.4.5):
+  cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@8.3.6(typescript@5.5.2))(typescript@5.5.2):
     dependencies:
       "@types/node": 20.10.5
-      cosmiconfig: 8.3.6(typescript@5.4.5)
+      cosmiconfig: 8.3.6(typescript@5.5.2)
       jiti: 1.21.0
-      typescript: 5.4.5
+      typescript: 5.5.2
     optional: true
 
-  cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5):
+  cosmiconfig-typescript-loader@5.0.0(@types/node@20.10.5)(cosmiconfig@9.0.0(typescript@5.5.2))(typescript@5.5.2):
     dependencies:
       "@types/node": 20.10.5
-      cosmiconfig: 9.0.0(typescript@5.4.5)
+      cosmiconfig: 9.0.0(typescript@5.5.2)
       jiti: 1.21.0
-      typescript: 5.4.5
+      typescript: 5.5.2
 
-  cosmiconfig@8.3.6(typescript@5.4.5):
+  cosmiconfig@8.3.6(typescript@5.5.2):
     dependencies:
       import-fresh: 3.3.0
       js-yaml: 4.1.0
       parse-json: 5.2.0
       path-type: 4.0.0
     optionalDependencies:
-      typescript: 5.4.5
+      typescript: 5.5.2
     optional: true
 
-  cosmiconfig@9.0.0(typescript@5.4.5):
+  cosmiconfig@9.0.0(typescript@5.5.2):
     dependencies:
       env-paths: 2.2.1
       import-fresh: 3.3.0
       js-yaml: 4.1.0
       parse-json: 5.2.0
     optionalDependencies:
-      typescript: 5.4.5
+      typescript: 5.5.2
 
   crelt@1.0.6: {}
 
@@ -11763,27 +11835,27 @@ snapshots:
     dependencies:
       type-fest: 1.4.0
 
-  css-blank-pseudo@6.0.2(postcss@8.4.38):
+  css-blank-pseudo@6.0.2(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  css-declaration-sorter@7.2.0(postcss@8.4.38):
+  css-declaration-sorter@7.2.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
   css-functions-list@3.2.2: {}
 
-  css-has-pseudo@6.0.3(postcss@8.4.38):
+  css-has-pseudo@6.0.5(postcss@8.4.39):
     dependencies:
-      "@csstools/selector-specificity": 3.0.3(postcss-selector-parser@6.0.15)
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.0.16)
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
       postcss-value-parser: 4.2.0
 
-  css-prefers-color-scheme@9.0.1(postcss@8.4.38):
+  css-prefers-color-scheme@9.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
   css-select@5.1.0:
     dependencies:
@@ -11796,12 +11868,12 @@ snapshots:
   css-tree@2.2.1:
     dependencies:
       mdn-data: 2.0.28
-      source-map-js: 1.0.2
+      source-map-js: 1.2.0
 
   css-tree@2.3.1:
     dependencies:
       mdn-data: 2.0.30
-      source-map-js: 1.0.2
+      source-map-js: 1.2.0
 
   css-what@6.1.0: {}
 
@@ -11809,64 +11881,64 @@ snapshots:
 
   cssesc@3.0.0: {}
 
-  cssnano-preset-default@7.0.0(postcss@8.4.38):
-    dependencies:
-      browserslist: 4.23.0
-      css-declaration-sorter: 7.2.0(postcss@8.4.38)
-      cssnano-utils: 5.0.0(postcss@8.4.38)
-      postcss: 8.4.38
-      postcss-calc: 9.0.1(postcss@8.4.38)
-      postcss-colormin: 7.0.0(postcss@8.4.38)
-      postcss-convert-values: 7.0.0(postcss@8.4.38)
-      postcss-discard-comments: 7.0.0(postcss@8.4.38)
-      postcss-discard-duplicates: 7.0.0(postcss@8.4.38)
-      postcss-discard-empty: 7.0.0(postcss@8.4.38)
-      postcss-discard-overridden: 7.0.0(postcss@8.4.38)
-      postcss-merge-longhand: 7.0.0(postcss@8.4.38)
-      postcss-merge-rules: 7.0.0(postcss@8.4.38)
-      postcss-minify-font-values: 7.0.0(postcss@8.4.38)
-      postcss-minify-gradients: 7.0.0(postcss@8.4.38)
-      postcss-minify-params: 7.0.0(postcss@8.4.38)
-      postcss-minify-selectors: 7.0.0(postcss@8.4.38)
-      postcss-normalize-charset: 7.0.0(postcss@8.4.38)
-      postcss-normalize-display-values: 7.0.0(postcss@8.4.38)
-      postcss-normalize-positions: 7.0.0(postcss@8.4.38)
-      postcss-normalize-repeat-style: 7.0.0(postcss@8.4.38)
-      postcss-normalize-string: 7.0.0(postcss@8.4.38)
-      postcss-normalize-timing-functions: 7.0.0(postcss@8.4.38)
-      postcss-normalize-unicode: 7.0.0(postcss@8.4.38)
-      postcss-normalize-url: 7.0.0(postcss@8.4.38)
-      postcss-normalize-whitespace: 7.0.0(postcss@8.4.38)
-      postcss-ordered-values: 7.0.0(postcss@8.4.38)
-      postcss-reduce-initial: 7.0.0(postcss@8.4.38)
-      postcss-reduce-transforms: 7.0.0(postcss@8.4.38)
-      postcss-svgo: 7.0.0(postcss@8.4.38)
-      postcss-unique-selectors: 7.0.0(postcss@8.4.38)
-
-  cssnano-utils@5.0.0(postcss@8.4.38):
-    dependencies:
-      postcss: 8.4.38
-
-  cssnano@7.0.0(postcss@8.4.38):
-    dependencies:
-      cssnano-preset-default: 7.0.0(postcss@8.4.38)
-      lilconfig: 3.1.1
-      postcss: 8.4.38
+  cssnano-preset-default@7.0.3(postcss@8.4.39):
+    dependencies:
+      browserslist: 4.23.1
+      css-declaration-sorter: 7.2.0(postcss@8.4.39)
+      cssnano-utils: 5.0.0(postcss@8.4.39)
+      postcss: 8.4.39
+      postcss-calc: 10.0.0(postcss@8.4.39)
+      postcss-colormin: 7.0.1(postcss@8.4.39)
+      postcss-convert-values: 7.0.1(postcss@8.4.39)
+      postcss-discard-comments: 7.0.1(postcss@8.4.39)
+      postcss-discard-duplicates: 7.0.0(postcss@8.4.39)
+      postcss-discard-empty: 7.0.0(postcss@8.4.39)
+      postcss-discard-overridden: 7.0.0(postcss@8.4.39)
+      postcss-merge-longhand: 7.0.2(postcss@8.4.39)
+      postcss-merge-rules: 7.0.2(postcss@8.4.39)
+      postcss-minify-font-values: 7.0.0(postcss@8.4.39)
+      postcss-minify-gradients: 7.0.0(postcss@8.4.39)
+      postcss-minify-params: 7.0.1(postcss@8.4.39)
+      postcss-minify-selectors: 7.0.2(postcss@8.4.39)
+      postcss-normalize-charset: 7.0.0(postcss@8.4.39)
+      postcss-normalize-display-values: 7.0.0(postcss@8.4.39)
+      postcss-normalize-positions: 7.0.0(postcss@8.4.39)
+      postcss-normalize-repeat-style: 7.0.0(postcss@8.4.39)
+      postcss-normalize-string: 7.0.0(postcss@8.4.39)
+      postcss-normalize-timing-functions: 7.0.0(postcss@8.4.39)
+      postcss-normalize-unicode: 7.0.1(postcss@8.4.39)
+      postcss-normalize-url: 7.0.0(postcss@8.4.39)
+      postcss-normalize-whitespace: 7.0.0(postcss@8.4.39)
+      postcss-ordered-values: 7.0.1(postcss@8.4.39)
+      postcss-reduce-initial: 7.0.1(postcss@8.4.39)
+      postcss-reduce-transforms: 7.0.0(postcss@8.4.39)
+      postcss-svgo: 7.0.1(postcss@8.4.39)
+      postcss-unique-selectors: 7.0.1(postcss@8.4.39)
+
+  cssnano-utils@5.0.0(postcss@8.4.39):
+    dependencies:
+      postcss: 8.4.39
+
+  cssnano@7.0.3(postcss@8.4.39):
+    dependencies:
+      cssnano-preset-default: 7.0.3(postcss@8.4.39)
+      lilconfig: 3.1.2
+      postcss: 8.4.39
 
   csso@5.0.5:
     dependencies:
       css-tree: 2.2.1
 
-  cz-conventional-changelog@3.3.0(@types/node@20.10.5)(typescript@5.4.5):
+  cz-conventional-changelog@3.3.0(@types/node@20.10.5)(typescript@5.5.2):
     dependencies:
       chalk: 2.4.2
-      commitizen: 4.3.0(@types/node@20.10.5)(typescript@5.4.5)
+      commitizen: 4.3.0(@types/node@20.10.5)(typescript@5.5.2)
       conventional-commit-types: 3.0.0
       lodash.map: 4.6.0
       longest: 2.0.1
       word-wrap: 1.2.5
     optionalDependencies:
-      "@commitlint/load": 18.6.1(@types/node@20.10.5)(typescript@5.4.5)
+      "@commitlint/load": 18.6.1(@types/node@20.10.5)(typescript@5.5.2)
     transitivePeerDependencies:
       - "@types/node"
       - typescript
@@ -12022,6 +12094,8 @@ snapshots:
 
   electron-to-chromium@1.4.689: {}
 
+  electron-to-chromium@1.4.815: {}
+
   emoji-regex@10.3.0: {}
 
   emoji-regex@8.0.0: {}
@@ -12132,34 +12206,36 @@ snapshots:
       d: 1.0.1
       ext: 1.7.0
 
-  esbuild@0.20.2:
+  esbuild@0.21.5:
     optionalDependencies:
-      "@esbuild/aix-ppc64": 0.20.2
-      "@esbuild/android-arm": 0.20.2
-      "@esbuild/android-arm64": 0.20.2
-      "@esbuild/android-x64": 0.20.2
-      "@esbuild/darwin-arm64": 0.20.2
-      "@esbuild/darwin-x64": 0.20.2
-      "@esbuild/freebsd-arm64": 0.20.2
-      "@esbuild/freebsd-x64": 0.20.2
-      "@esbuild/linux-arm": 0.20.2
-      "@esbuild/linux-arm64": 0.20.2
-      "@esbuild/linux-ia32": 0.20.2
-      "@esbuild/linux-loong64": 0.20.2
-      "@esbuild/linux-mips64el": 0.20.2
-      "@esbuild/linux-ppc64": 0.20.2
-      "@esbuild/linux-riscv64": 0.20.2
-      "@esbuild/linux-s390x": 0.20.2
-      "@esbuild/linux-x64": 0.20.2
-      "@esbuild/netbsd-x64": 0.20.2
-      "@esbuild/openbsd-x64": 0.20.2
-      "@esbuild/sunos-x64": 0.20.2
-      "@esbuild/win32-arm64": 0.20.2
-      "@esbuild/win32-ia32": 0.20.2
-      "@esbuild/win32-x64": 0.20.2
+      "@esbuild/aix-ppc64": 0.21.5
+      "@esbuild/android-arm": 0.21.5
+      "@esbuild/android-arm64": 0.21.5
+      "@esbuild/android-x64": 0.21.5
+      "@esbuild/darwin-arm64": 0.21.5
+      "@esbuild/darwin-x64": 0.21.5
+      "@esbuild/freebsd-arm64": 0.21.5
+      "@esbuild/freebsd-x64": 0.21.5
+      "@esbuild/linux-arm": 0.21.5
+      "@esbuild/linux-arm64": 0.21.5
+      "@esbuild/linux-ia32": 0.21.5
+      "@esbuild/linux-loong64": 0.21.5
+      "@esbuild/linux-mips64el": 0.21.5
+      "@esbuild/linux-ppc64": 0.21.5
+      "@esbuild/linux-riscv64": 0.21.5
+      "@esbuild/linux-s390x": 0.21.5
+      "@esbuild/linux-x64": 0.21.5
+      "@esbuild/netbsd-x64": 0.21.5
+      "@esbuild/openbsd-x64": 0.21.5
+      "@esbuild/sunos-x64": 0.21.5
+      "@esbuild/win32-arm64": 0.21.5
+      "@esbuild/win32-ia32": 0.21.5
+      "@esbuild/win32-x64": 0.21.5
 
   escalade@3.1.1: {}
 
+  escalade@3.1.2: {}
+
   escape-string-regexp@1.0.5: {}
 
   escape-string-regexp@4.0.0: {}
@@ -12187,10 +12263,10 @@ snapshots:
     dependencies:
       eslint: 8.57.0
 
-  eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.2.5):
+  eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.2):
     dependencies:
       eslint: 8.57.0
-      prettier: 3.2.5
+      prettier: 3.3.2
       prettier-linter-helpers: 1.0.0
       synckit: 0.8.8
     optionalDependencies:
@@ -12248,8 +12324,8 @@ snapshots:
 
   espree@9.6.1:
     dependencies:
-      acorn: 8.11.3
-      acorn-jsx: 5.3.2(acorn@8.11.3)
+      acorn: 8.12.0
+      acorn-jsx: 5.3.2(acorn@8.12.0)
       eslint-visitor-keys: 3.4.3
 
   esprima@1.0.4: {}
@@ -12311,6 +12387,21 @@ snapshots:
       signal-exit: 4.1.0
       strip-final-newline: 3.0.0
 
+  execa@9.3.0:
+    dependencies:
+      "@sindresorhus/merge-streams": 4.0.0
+      cross-spawn: 7.0.3
+      figures: 6.1.0
+      get-stream: 9.0.1
+      human-signals: 7.0.0
+      is-plain-obj: 4.1.0
+      is-stream: 4.0.1
+      npm-run-path: 5.2.0
+      pretty-ms: 9.0.0
+      signal-exit: 4.1.0
+      strip-final-newline: 4.0.0
+      yoctocolors: 2.1.0
+
   expand-tilde@2.0.2:
     dependencies:
       homedir-polyfill: 1.0.3
@@ -12335,7 +12426,7 @@ snapshots:
       "@nodelib/fs.walk": 1.2.8
       glob-parent: 5.1.2
       merge2: 1.4.1
-      micromatch: 4.0.5
+      micromatch: 4.0.7
 
   fast-json-stable-stringify@2.1.0: {}
 
@@ -12359,13 +12450,17 @@ snapshots:
     dependencies:
       is-unicode-supported: 2.0.0
 
+  figures@6.1.0:
+    dependencies:
+      is-unicode-supported: 2.0.0
+
   file-entry-cache@6.0.1:
     dependencies:
       flat-cache: 3.2.0
 
-  file-entry-cache@8.0.0:
+  file-entry-cache@9.0.0:
     dependencies:
-      flat-cache: 4.0.0
+      flat-cache: 5.0.0
 
   filelist@1.0.4:
     dependencies:
@@ -12375,6 +12470,10 @@ snapshots:
     dependencies:
       to-regex-range: 5.0.1
 
+  fill-range@7.1.1:
+    dependencies:
+      to-regex-range: 5.0.1
+
   find-node-modules@2.1.3:
     dependencies:
       findup-sync: 4.0.0
@@ -12418,19 +12517,18 @@ snapshots:
 
   flat-cache@3.2.0:
     dependencies:
-      flatted: 3.2.9
+      flatted: 3.3.1
       keyv: 4.5.4
       rimraf: 3.0.2
 
-  flat-cache@4.0.0:
+  flat-cache@5.0.0:
     dependencies:
-      flatted: 3.2.9
+      flatted: 3.3.1
       keyv: 4.5.4
-      rimraf: 5.0.5
 
   flatpickr@4.6.13: {}
 
-  flatted@3.2.9: {}
+  flatted@3.3.1: {}
 
   for-each@0.3.3:
     dependencies:
@@ -12510,6 +12608,11 @@ snapshots:
 
   get-stream@8.0.1: {}
 
+  get-stream@9.0.1:
+    dependencies:
+      "@sec-ant/readable-stream": 0.4.1
+      is-stream: 4.0.1
+
   get-symbol-description@1.0.0:
     dependencies:
       call-bind: 1.0.5
@@ -12542,7 +12645,7 @@ snapshots:
     dependencies:
       foreground-child: 3.1.1
       jackspeak: 2.3.6
-      minimatch: 9.0.3
+      minimatch: 9.0.4
       minipass: 7.0.4
       path-scurry: 1.10.1
 
@@ -12611,7 +12714,7 @@ snapshots:
     dependencies:
       "@sindresorhus/merge-streams": 1.0.0
       fast-glob: 3.3.2
-      ignore: 5.3.0
+      ignore: 5.3.1
       path-type: 5.0.0
       slash: 5.1.0
       unicorn-magic: 0.1.0
@@ -12716,6 +12819,8 @@ snapshots:
 
   human-signals@5.0.0: {}
 
+  human-signals@7.0.0: {}
+
   husky@9.0.11: {}
 
   iconv-lite@0.4.24:
@@ -12730,8 +12835,6 @@ snapshots:
 
   ieee754@1.2.1: {}
 
-  ignore@5.3.0: {}
-
   ignore@5.3.1: {}
 
   import-fresh@3.3.0:
@@ -12890,6 +12993,8 @@ snapshots:
 
   is-path-inside@3.0.3: {}
 
+  is-plain-obj@4.1.0: {}
+
   is-plain-object@5.0.0: {}
 
   is-regex@1.1.4:
@@ -12907,6 +13012,8 @@ snapshots:
 
   is-stream@3.0.0: {}
 
+  is-stream@4.0.1: {}
+
   is-string@1.0.7:
     dependencies:
       has-tostringtag: 1.0.0
@@ -12996,8 +13103,6 @@ snapshots:
 
   json-stable-stringify-without-jsonify@1.0.1: {}
 
-  json-stringify-safe@5.0.1: {}
-
   json5@2.2.3: {}
 
   jsonfile@6.1.0:
@@ -13016,7 +13121,7 @@ snapshots:
 
   kind-of@6.0.3: {}
 
-  known-css-properties@0.30.0: {}
+  known-css-properties@0.31.0: {}
 
   leaflet.markercluster@1.5.3(leaflet@1.9.4):
     dependencies:
@@ -13038,34 +13143,34 @@ snapshots:
 
   lilconfig@2.1.0: {}
 
-  lilconfig@3.0.0: {}
-
   lilconfig@3.1.1: {}
 
+  lilconfig@3.1.2: {}
+
   lines-and-columns@1.2.4: {}
 
-  lint-staged@15.2.2:
+  lint-staged@15.2.7:
     dependencies:
       chalk: 5.3.0
-      commander: 11.1.0
+      commander: 12.1.0
       debug: 4.3.4
       execa: 8.0.1
-      lilconfig: 3.0.0
-      listr2: 8.0.1
-      micromatch: 4.0.5
+      lilconfig: 3.1.1
+      listr2: 8.2.3
+      micromatch: 4.0.7
       pidtree: 0.6.0
       string-argv: 0.3.2
-      yaml: 2.3.4
+      yaml: 2.4.5
     transitivePeerDependencies:
       - supports-color
 
-  listr2@8.0.1:
+  listr2@8.2.3:
     dependencies:
       cli-truncate: 4.0.0
       colorette: 2.0.20
       eventemitter3: 5.0.1
       log-update: 6.0.0
-      rfdc: 1.3.0
+      rfdc: 1.4.1
       wrap-ansi: 9.0.0
 
   lit-element@4.0.4:
@@ -13078,7 +13183,7 @@ snapshots:
     dependencies:
       "@types/trusted-types": 2.0.7
 
-  lit@3.1.3:
+  lit@3.1.4:
     dependencies:
       "@lit/reactive-element": 2.0.4
       lit-element: 4.0.4
@@ -13197,6 +13302,8 @@ snapshots:
 
   marked@12.0.2: {}
 
+  marked@13.0.1: {}
+
   mathml-tag-names@2.1.3: {}
 
   mdn-data@2.0.28: {}
@@ -13222,6 +13329,11 @@ snapshots:
       braces: 3.0.2
       picomatch: 2.3.1
 
+  micromatch@4.0.7:
+    dependencies:
+      braces: 3.0.3
+      picomatch: 2.3.1
+
   mime@4.0.1: {}
 
   mimic-fn@2.1.0: {}
@@ -13242,10 +13354,6 @@ snapshots:
     dependencies:
       brace-expansion: 2.0.1
 
-  minimatch@9.0.3:
-    dependencies:
-      brace-expansion: 2.0.1
-
   minimatch@9.0.4:
     dependencies:
       brace-expansion: 2.0.1
@@ -13454,10 +13562,12 @@ snapshots:
 
   parse-json@8.1.0:
     dependencies:
-      "@babel/code-frame": 7.23.5
+      "@babel/code-frame": 7.24.2
       index-to-position: 0.1.2
       type-fest: 4.9.0
 
+  parse-ms@4.0.0: {}
+
   parse-passwd@1.0.0: {}
 
   parse-path@7.0.0:
@@ -13513,6 +13623,8 @@ snapshots:
 
   picocolors@1.0.0: {}
 
+  picocolors@1.0.1: {}
+
   picomatch@2.3.1: {}
 
   pidtree@0.6.0: {}
@@ -13536,398 +13648,400 @@ snapshots:
     dependencies:
       tinyqueue: 2.0.3
 
-  postcss-attribute-case-insensitive@6.0.3(postcss@8.4.38):
+  postcss-attribute-case-insensitive@6.0.3(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  postcss-calc@9.0.1(postcss@8.4.38):
+  postcss-calc@10.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-selector-parser: 6.0.16
       postcss-value-parser: 4.2.0
 
-  postcss-clamp@4.1.0(postcss@8.4.38):
+  postcss-clamp@4.1.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-color-functional-notation@6.0.9(postcss@8.4.38):
+  postcss-color-functional-notation@6.0.12(postcss@8.4.39):
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  postcss-color-hex-alpha@9.0.4(postcss@8.4.38):
+  postcss-color-hex-alpha@9.0.4(postcss@8.4.39):
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-color-rebeccapurple@9.0.3(postcss@8.4.38):
+  postcss-color-rebeccapurple@9.0.3(postcss@8.4.39):
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-colormin@7.0.0(postcss@8.4.38):
+  postcss-colormin@7.0.1(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.23.1
       caniuse-api: 3.0.0
       colord: 2.9.3
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-convert-values@7.0.0(postcss@8.4.38):
+  postcss-convert-values@7.0.1(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
-      postcss: 8.4.38
+      browserslist: 4.23.1
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-custom-media@10.0.4(postcss@8.4.38):
+  postcss-custom-media@10.0.7(postcss@8.4.39):
     dependencies:
-      "@csstools/cascade-layer-name-parser": 1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/media-query-list-parser": 2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      postcss: 8.4.38
+      "@csstools/cascade-layer-name-parser": 1.0.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/media-query-list-parser": 2.1.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      postcss: 8.4.39
 
-  postcss-custom-properties@13.3.8(postcss@8.4.38):
+  postcss-custom-properties@13.3.11(postcss@8.4.39):
     dependencies:
-      "@csstools/cascade-layer-name-parser": 1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/cascade-layer-name-parser": 1.0.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-custom-selectors@7.1.8(postcss@8.4.38):
+  postcss-custom-selectors@7.1.11(postcss@8.4.39):
     dependencies:
-      "@csstools/cascade-layer-name-parser": 1.0.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      "@csstools/cascade-layer-name-parser": 1.0.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      postcss: 8.4.39
+      postcss-selector-parser: 6.1.0
 
-  postcss-dir-pseudo-class@8.0.1(postcss@8.4.38):
+  postcss-dir-pseudo-class@8.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  postcss-discard-comments@7.0.0(postcss@8.4.38):
+  postcss-discard-comments@7.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
+      postcss-selector-parser: 6.1.0
 
-  postcss-discard-duplicates@7.0.0(postcss@8.4.38):
+  postcss-discard-duplicates@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-discard-empty@7.0.0(postcss@8.4.38):
+  postcss-discard-empty@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-discard-overridden@7.0.0(postcss@8.4.38):
+  postcss-discard-overridden@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-double-position-gradients@5.0.6(postcss@8.4.38):
+  postcss-double-position-gradients@5.0.6(postcss@8.4.39):
     dependencies:
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-focus-visible@9.0.1(postcss@8.4.38):
+  postcss-focus-visible@9.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  postcss-focus-within@8.0.1(postcss@8.4.38):
+  postcss-focus-within@8.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  postcss-font-variant@5.0.0(postcss@8.4.38):
+  postcss-font-variant@5.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-gap-properties@5.0.1(postcss@8.4.38):
+  postcss-gap-properties@5.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-image-set-function@6.0.3(postcss@8.4.38):
+  postcss-image-set-function@6.0.3(postcss@8.4.39):
     dependencies:
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-import@15.1.0(postcss@8.4.38):
+  postcss-import@15.1.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
       read-cache: 1.0.0
       resolve: 1.22.8
 
-  postcss-import@16.1.0(postcss@8.4.38):
+  postcss-import@16.1.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
       read-cache: 1.0.0
       resolve: 1.22.8
 
-  postcss-js@4.0.1(postcss@8.4.38):
+  postcss-js@4.0.1(postcss@8.4.39):
     dependencies:
       camelcase-css: 2.0.1
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-lab-function@6.0.14(postcss@8.4.38):
+  postcss-lab-function@6.0.17(postcss@8.4.39):
     dependencies:
-      "@csstools/css-color-parser": 2.0.0(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/utilities": 1.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      "@csstools/css-color-parser": 2.0.3(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/utilities": 1.0.0(postcss@8.4.39)
+      postcss: 8.4.39
 
-  postcss-load-config@4.0.2(postcss@8.4.38):
+  postcss-load-config@4.0.2(postcss@8.4.39):
     dependencies:
-      lilconfig: 3.0.0
+      lilconfig: 3.1.1
       yaml: 2.3.4
     optionalDependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-logical@7.0.1(postcss@8.4.38):
+  postcss-logical@7.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-merge-longhand@7.0.0(postcss@8.4.38):
+  postcss-merge-longhand@7.0.2(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
-      stylehacks: 7.0.0(postcss@8.4.38)
+      stylehacks: 7.0.2(postcss@8.4.39)
 
-  postcss-merge-rules@7.0.0(postcss@8.4.38):
+  postcss-merge-rules@7.0.2(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.23.1
       caniuse-api: 3.0.0
-      cssnano-utils: 5.0.0(postcss@8.4.38)
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.16
+      cssnano-utils: 5.0.0(postcss@8.4.39)
+      postcss: 8.4.39
+      postcss-selector-parser: 6.1.0
 
-  postcss-minify-font-values@7.0.0(postcss@8.4.38):
+  postcss-minify-font-values@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-minify-gradients@7.0.0(postcss@8.4.38):
+  postcss-minify-gradients@7.0.0(postcss@8.4.39):
     dependencies:
       colord: 2.9.3
-      cssnano-utils: 5.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      cssnano-utils: 5.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-minify-params@7.0.0(postcss@8.4.38):
+  postcss-minify-params@7.0.1(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
-      cssnano-utils: 5.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      browserslist: 4.23.1
+      cssnano-utils: 5.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-minify-selectors@7.0.0(postcss@8.4.38):
+  postcss-minify-selectors@7.0.2(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.16
+      cssesc: 3.0.0
+      postcss: 8.4.39
+      postcss-selector-parser: 6.1.0
 
-  postcss-nested@5.0.6(postcss@8.4.38):
+  postcss-nested@5.0.6(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-selector-parser: 6.0.14
 
-  postcss-nested@6.0.1(postcss@8.4.38):
+  postcss-nested@6.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
-  postcss-nesting@12.1.2(postcss@8.4.38):
+  postcss-nesting@12.1.5(postcss@8.4.39):
     dependencies:
-      "@csstools/selector-resolve-nested": 1.1.0(postcss-selector-parser@6.0.15)
-      "@csstools/selector-specificity": 3.0.3(postcss-selector-parser@6.0.15)
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      "@csstools/selector-resolve-nested": 1.1.0(postcss-selector-parser@6.1.0)
+      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.1.0)
+      postcss: 8.4.39
+      postcss-selector-parser: 6.1.0
 
-  postcss-normalize-charset@7.0.0(postcss@8.4.38):
+  postcss-normalize-charset@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-normalize-display-values@7.0.0(postcss@8.4.38):
+  postcss-normalize-display-values@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-positions@7.0.0(postcss@8.4.38):
+  postcss-normalize-positions@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-repeat-style@7.0.0(postcss@8.4.38):
+  postcss-normalize-repeat-style@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-string@7.0.0(postcss@8.4.38):
+  postcss-normalize-string@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-timing-functions@7.0.0(postcss@8.4.38):
+  postcss-normalize-timing-functions@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-unicode@7.0.0(postcss@8.4.38):
+  postcss-normalize-unicode@7.0.1(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
-      postcss: 8.4.38
+      browserslist: 4.23.1
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-url@7.0.0(postcss@8.4.38):
+  postcss-normalize-url@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-normalize-whitespace@7.0.0(postcss@8.4.38):
+  postcss-normalize-whitespace@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-opacity-percentage@2.0.0(postcss@8.4.38):
+  postcss-opacity-percentage@2.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-ordered-values@7.0.0(postcss@8.4.38):
+  postcss-ordered-values@7.0.1(postcss@8.4.39):
     dependencies:
-      cssnano-utils: 5.0.0(postcss@8.4.38)
-      postcss: 8.4.38
+      cssnano-utils: 5.0.0(postcss@8.4.39)
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-overflow-shorthand@5.0.1(postcss@8.4.38):
+  postcss-overflow-shorthand@5.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-page-break@3.0.4(postcss@8.4.38):
+  postcss-page-break@3.0.4(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-place@9.0.1(postcss@8.4.38):
+  postcss-place@9.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-preset-env@9.5.9(postcss@8.4.38):
-    dependencies:
-      "@csstools/postcss-cascade-layers": 4.0.4(postcss@8.4.38)
-      "@csstools/postcss-color-function": 3.0.14(postcss@8.4.38)
-      "@csstools/postcss-color-mix-function": 2.0.14(postcss@8.4.38)
-      "@csstools/postcss-exponential-functions": 1.0.5(postcss@8.4.38)
-      "@csstools/postcss-font-format-keywords": 3.0.2(postcss@8.4.38)
-      "@csstools/postcss-gamut-mapping": 1.0.7(postcss@8.4.38)
-      "@csstools/postcss-gradients-interpolation-method": 4.0.15(postcss@8.4.38)
-      "@csstools/postcss-hwb-function": 3.0.13(postcss@8.4.38)
-      "@csstools/postcss-ic-unit": 3.0.6(postcss@8.4.38)
-      "@csstools/postcss-initial": 1.0.1(postcss@8.4.38)
-      "@csstools/postcss-is-pseudo-class": 4.0.6(postcss@8.4.38)
-      "@csstools/postcss-light-dark-function": 1.0.3(postcss@8.4.38)
-      "@csstools/postcss-logical-float-and-clear": 2.0.1(postcss@8.4.38)
-      "@csstools/postcss-logical-overflow": 1.0.1(postcss@8.4.38)
-      "@csstools/postcss-logical-overscroll-behavior": 1.0.1(postcss@8.4.38)
-      "@csstools/postcss-logical-resize": 2.0.1(postcss@8.4.38)
-      "@csstools/postcss-logical-viewport-units": 2.0.7(postcss@8.4.38)
-      "@csstools/postcss-media-minmax": 1.1.4(postcss@8.4.38)
-      "@csstools/postcss-media-queries-aspect-ratio-number-values": 2.0.7(postcss@8.4.38)
-      "@csstools/postcss-nested-calc": 3.0.2(postcss@8.4.38)
-      "@csstools/postcss-normalize-display-values": 3.0.2(postcss@8.4.38)
-      "@csstools/postcss-oklab-function": 3.0.14(postcss@8.4.38)
-      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.38)
-      "@csstools/postcss-relative-color-syntax": 2.0.14(postcss@8.4.38)
-      "@csstools/postcss-scope-pseudo-class": 3.0.1(postcss@8.4.38)
-      "@csstools/postcss-stepped-value-functions": 3.0.6(postcss@8.4.38)
-      "@csstools/postcss-text-decoration-shorthand": 3.0.6(postcss@8.4.38)
-      "@csstools/postcss-trigonometric-functions": 3.0.6(postcss@8.4.38)
-      "@csstools/postcss-unset-value": 3.0.1(postcss@8.4.38)
-      autoprefixer: 10.4.19(postcss@8.4.38)
-      browserslist: 4.23.0
-      css-blank-pseudo: 6.0.2(postcss@8.4.38)
-      css-has-pseudo: 6.0.3(postcss@8.4.38)
-      css-prefers-color-scheme: 9.0.1(postcss@8.4.38)
+  postcss-preset-env@9.5.15(postcss@8.4.39):
+    dependencies:
+      "@csstools/postcss-cascade-layers": 4.0.6(postcss@8.4.39)
+      "@csstools/postcss-color-function": 3.0.17(postcss@8.4.39)
+      "@csstools/postcss-color-mix-function": 2.0.17(postcss@8.4.39)
+      "@csstools/postcss-exponential-functions": 1.0.8(postcss@8.4.39)
+      "@csstools/postcss-font-format-keywords": 3.0.2(postcss@8.4.39)
+      "@csstools/postcss-gamut-mapping": 1.0.10(postcss@8.4.39)
+      "@csstools/postcss-gradients-interpolation-method": 4.0.18(postcss@8.4.39)
+      "@csstools/postcss-hwb-function": 3.0.16(postcss@8.4.39)
+      "@csstools/postcss-ic-unit": 3.0.6(postcss@8.4.39)
+      "@csstools/postcss-initial": 1.0.1(postcss@8.4.39)
+      "@csstools/postcss-is-pseudo-class": 4.0.8(postcss@8.4.39)
+      "@csstools/postcss-light-dark-function": 1.0.6(postcss@8.4.39)
+      "@csstools/postcss-logical-float-and-clear": 2.0.1(postcss@8.4.39)
+      "@csstools/postcss-logical-overflow": 1.0.1(postcss@8.4.39)
+      "@csstools/postcss-logical-overscroll-behavior": 1.0.1(postcss@8.4.39)
+      "@csstools/postcss-logical-resize": 2.0.1(postcss@8.4.39)
+      "@csstools/postcss-logical-viewport-units": 2.0.10(postcss@8.4.39)
+      "@csstools/postcss-media-minmax": 1.1.7(postcss@8.4.39)
+      "@csstools/postcss-media-queries-aspect-ratio-number-values": 2.0.10(postcss@8.4.39)
+      "@csstools/postcss-nested-calc": 3.0.2(postcss@8.4.39)
+      "@csstools/postcss-normalize-display-values": 3.0.2(postcss@8.4.39)
+      "@csstools/postcss-oklab-function": 3.0.17(postcss@8.4.39)
+      "@csstools/postcss-progressive-custom-properties": 3.2.0(postcss@8.4.39)
+      "@csstools/postcss-relative-color-syntax": 2.0.17(postcss@8.4.39)
+      "@csstools/postcss-scope-pseudo-class": 3.0.1(postcss@8.4.39)
+      "@csstools/postcss-stepped-value-functions": 3.0.9(postcss@8.4.39)
+      "@csstools/postcss-text-decoration-shorthand": 3.0.7(postcss@8.4.39)
+      "@csstools/postcss-trigonometric-functions": 3.0.9(postcss@8.4.39)
+      "@csstools/postcss-unset-value": 3.0.1(postcss@8.4.39)
+      autoprefixer: 10.4.19(postcss@8.4.39)
+      browserslist: 4.23.1
+      css-blank-pseudo: 6.0.2(postcss@8.4.39)
+      css-has-pseudo: 6.0.5(postcss@8.4.39)
+      css-prefers-color-scheme: 9.0.1(postcss@8.4.39)
       cssdb: 8.0.0
-      postcss: 8.4.38
-      postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.38)
-      postcss-clamp: 4.1.0(postcss@8.4.38)
-      postcss-color-functional-notation: 6.0.9(postcss@8.4.38)
-      postcss-color-hex-alpha: 9.0.4(postcss@8.4.38)
-      postcss-color-rebeccapurple: 9.0.3(postcss@8.4.38)
-      postcss-custom-media: 10.0.4(postcss@8.4.38)
-      postcss-custom-properties: 13.3.8(postcss@8.4.38)
-      postcss-custom-selectors: 7.1.8(postcss@8.4.38)
-      postcss-dir-pseudo-class: 8.0.1(postcss@8.4.38)
-      postcss-double-position-gradients: 5.0.6(postcss@8.4.38)
-      postcss-focus-visible: 9.0.1(postcss@8.4.38)
-      postcss-focus-within: 8.0.1(postcss@8.4.38)
-      postcss-font-variant: 5.0.0(postcss@8.4.38)
-      postcss-gap-properties: 5.0.1(postcss@8.4.38)
-      postcss-image-set-function: 6.0.3(postcss@8.4.38)
-      postcss-lab-function: 6.0.14(postcss@8.4.38)
-      postcss-logical: 7.0.1(postcss@8.4.38)
-      postcss-nesting: 12.1.2(postcss@8.4.38)
-      postcss-opacity-percentage: 2.0.0(postcss@8.4.38)
-      postcss-overflow-shorthand: 5.0.1(postcss@8.4.38)
-      postcss-page-break: 3.0.4(postcss@8.4.38)
-      postcss-place: 9.0.1(postcss@8.4.38)
-      postcss-pseudo-class-any-link: 9.0.2(postcss@8.4.38)
-      postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.38)
-      postcss-selector-not: 7.0.2(postcss@8.4.38)
-
-  postcss-pseudo-class-any-link@9.0.2(postcss@8.4.38):
-    dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
-
-  postcss-reduce-initial@7.0.0(postcss@8.4.38):
+      postcss: 8.4.39
+      postcss-attribute-case-insensitive: 6.0.3(postcss@8.4.39)
+      postcss-clamp: 4.1.0(postcss@8.4.39)
+      postcss-color-functional-notation: 6.0.12(postcss@8.4.39)
+      postcss-color-hex-alpha: 9.0.4(postcss@8.4.39)
+      postcss-color-rebeccapurple: 9.0.3(postcss@8.4.39)
+      postcss-custom-media: 10.0.7(postcss@8.4.39)
+      postcss-custom-properties: 13.3.11(postcss@8.4.39)
+      postcss-custom-selectors: 7.1.11(postcss@8.4.39)
+      postcss-dir-pseudo-class: 8.0.1(postcss@8.4.39)
+      postcss-double-position-gradients: 5.0.6(postcss@8.4.39)
+      postcss-focus-visible: 9.0.1(postcss@8.4.39)
+      postcss-focus-within: 8.0.1(postcss@8.4.39)
+      postcss-font-variant: 5.0.0(postcss@8.4.39)
+      postcss-gap-properties: 5.0.1(postcss@8.4.39)
+      postcss-image-set-function: 6.0.3(postcss@8.4.39)
+      postcss-lab-function: 6.0.17(postcss@8.4.39)
+      postcss-logical: 7.0.1(postcss@8.4.39)
+      postcss-nesting: 12.1.5(postcss@8.4.39)
+      postcss-opacity-percentage: 2.0.0(postcss@8.4.39)
+      postcss-overflow-shorthand: 5.0.1(postcss@8.4.39)
+      postcss-page-break: 3.0.4(postcss@8.4.39)
+      postcss-place: 9.0.1(postcss@8.4.39)
+      postcss-pseudo-class-any-link: 9.0.2(postcss@8.4.39)
+      postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.39)
+      postcss-selector-not: 7.0.2(postcss@8.4.39)
+
+  postcss-pseudo-class-any-link@9.0.2(postcss@8.4.39):
+    dependencies:
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
+
+  postcss-reduce-initial@7.0.1(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
+      browserslist: 4.23.1
       caniuse-api: 3.0.0
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-reduce-transforms@7.0.0(postcss@8.4.38):
+  postcss-reduce-transforms@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
 
-  postcss-replace-overflow-wrap@4.0.0(postcss@8.4.38):
+  postcss-replace-overflow-wrap@4.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-reporter@7.1.0(postcss@8.4.38):
+  postcss-reporter@7.1.0(postcss@8.4.39):
     dependencies:
       picocolors: 1.0.0
-      postcss: 8.4.38
+      postcss: 8.4.39
       thenby: 1.3.4
 
   postcss-resolve-nested-selector@0.1.1: {}
 
-  postcss-safe-parser@7.0.0(postcss@8.4.38):
+  postcss-safe-parser@7.0.0(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
 
-  postcss-selector-not@7.0.2(postcss@8.4.38):
+  postcss-selector-not@7.0.2(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-selector-parser: 6.0.16
 
   postcss-selector-parser@6.0.10:
     dependencies:
@@ -13939,33 +14053,33 @@ snapshots:
       cssesc: 3.0.0
       util-deprecate: 1.0.2
 
-  postcss-selector-parser@6.0.15:
+  postcss-selector-parser@6.0.16:
     dependencies:
       cssesc: 3.0.0
       util-deprecate: 1.0.2
 
-  postcss-selector-parser@6.0.16:
+  postcss-selector-parser@6.1.0:
     dependencies:
       cssesc: 3.0.0
       util-deprecate: 1.0.2
 
-  postcss-svgo@7.0.0(postcss@8.4.38):
+  postcss-svgo@7.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
+      postcss: 8.4.39
       postcss-value-parser: 4.2.0
-      svgo: 3.2.0
+      svgo: 3.3.2
 
-  postcss-unique-selectors@7.0.0(postcss@8.4.38):
+  postcss-unique-selectors@7.0.1(postcss@8.4.39):
     dependencies:
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.16
+      postcss: 8.4.39
+      postcss-selector-parser: 6.1.0
 
   postcss-value-parser@4.2.0: {}
 
-  postcss@8.4.38:
+  postcss@8.4.39:
     dependencies:
       nanoid: 3.3.7
-      picocolors: 1.0.0
+      picocolors: 1.0.1
       source-map-js: 1.2.0
 
   prelude-ls@1.1.2: {}
@@ -13976,20 +14090,24 @@ snapshots:
     dependencies:
       fast-diff: 1.3.0
 
-  prettier-plugin-organize-imports@3.2.4(prettier@3.2.5)(typescript@5.4.5):
+  prettier-plugin-organize-imports@3.2.4(prettier@3.3.2)(typescript@5.5.2):
     dependencies:
-      prettier: 3.2.5
-      typescript: 5.4.5
+      prettier: 3.3.2
+      typescript: 5.5.2
 
   prettier@2.8.8:
     optional: true
 
-  prettier@3.2.5: {}
+  prettier@3.3.2: {}
 
   pretty-bytes@5.6.0: {}
 
   pretty-bytes@6.1.1: {}
 
+  pretty-ms@9.0.0:
+    dependencies:
+      parse-ms: 4.0.0
+
   process-nextick-args@2.0.1: {}
 
   proto-list@1.2.4: {}
@@ -14033,12 +14151,6 @@ snapshots:
       read-pkg: 9.0.1
       type-fest: 4.9.0
 
-  read-pkg-up@11.0.0:
-    dependencies:
-      find-up-simple: 1.0.0
-      read-pkg: 9.0.1
-      type-fest: 4.9.0
-
   read-pkg@9.0.1:
     dependencies:
       "@types/normalize-package-data": 2.4.4
@@ -14154,7 +14266,7 @@ snapshots:
 
   reusify@1.0.4: {}
 
-  rfdc@1.3.0: {}
+  rfdc@1.4.1: {}
 
   rgbcolor@1.0.1: {}
 
@@ -14162,10 +14274,6 @@ snapshots:
     dependencies:
       glob: 7.2.3
 
-  rimraf@5.0.5:
-    dependencies:
-      glob: 10.3.10
-
   rollup@2.79.1:
     optionalDependencies:
       fsevents: 2.3.3
@@ -14237,18 +14345,18 @@ snapshots:
       estree-is-function: 1.0.0
       get-assigned-identifiers: 1.2.0
 
-  semantic-release@23.0.8(typescript@5.4.5):
+  semantic-release@24.0.0(typescript@5.5.2):
     dependencies:
-      "@semantic-release/commit-analyzer": 12.0.0(semantic-release@23.0.8(typescript@5.4.5))
+      "@semantic-release/commit-analyzer": 13.0.0(semantic-release@24.0.0(typescript@5.5.2))
       "@semantic-release/error": 4.0.0
-      "@semantic-release/github": 10.0.3(semantic-release@23.0.8(typescript@5.4.5))
-      "@semantic-release/npm": 12.0.0(semantic-release@23.0.8(typescript@5.4.5))
-      "@semantic-release/release-notes-generator": 13.0.0(semantic-release@23.0.8(typescript@5.4.5))
+      "@semantic-release/github": 10.0.3(semantic-release@24.0.0(typescript@5.5.2))
+      "@semantic-release/npm": 12.0.0(semantic-release@24.0.0(typescript@5.5.2))
+      "@semantic-release/release-notes-generator": 14.0.1(semantic-release@24.0.0(typescript@5.5.2))
       aggregate-error: 5.0.0
-      cosmiconfig: 9.0.0(typescript@5.4.5)
+      cosmiconfig: 9.0.0(typescript@5.5.2)
       debug: 4.3.4
       env-ci: 11.0.0
-      execa: 8.0.1
+      execa: 9.3.0
       figures: 6.0.1
       find-versions: 6.0.0
       get-stream: 6.0.1
@@ -14353,8 +14461,6 @@ snapshots:
 
   smob@1.5.0: {}
 
-  source-map-js@1.0.2: {}
-
   source-map-js@1.2.0: {}
 
   source-map-support@0.5.21:
@@ -14511,43 +14617,45 @@ snapshots:
 
   strip-final-newline@3.0.0: {}
 
+  strip-final-newline@4.0.0: {}
+
   strip-json-comments@2.0.1: {}
 
   strip-json-comments@3.1.1: {}
 
   style-mod@4.1.0: {}
 
-  stylehacks@7.0.0(postcss@8.4.38):
+  stylehacks@7.0.2(postcss@8.4.39):
     dependencies:
-      browserslist: 4.23.0
-      postcss: 8.4.38
-      postcss-selector-parser: 6.0.16
+      browserslist: 4.23.1
+      postcss: 8.4.39
+      postcss-selector-parser: 6.1.0
 
-  stylelint-config-recommended@14.0.0(stylelint@16.4.0(typescript@5.4.5)):
+  stylelint-config-recommended@14.0.1(stylelint@16.6.1(typescript@5.5.2)):
     dependencies:
-      stylelint: 16.4.0(typescript@5.4.5)
+      stylelint: 16.6.1(typescript@5.5.2)
 
-  stylelint-config-standard@36.0.0(stylelint@16.4.0(typescript@5.4.5)):
+  stylelint-config-standard@36.0.1(stylelint@16.6.1(typescript@5.5.2)):
     dependencies:
-      stylelint: 16.4.0(typescript@5.4.5)
-      stylelint-config-recommended: 14.0.0(stylelint@16.4.0(typescript@5.4.5))
+      stylelint: 16.6.1(typescript@5.5.2)
+      stylelint-config-recommended: 14.0.1(stylelint@16.6.1(typescript@5.5.2))
 
-  stylelint@16.4.0(typescript@5.4.5):
+  stylelint@16.6.1(typescript@5.5.2):
     dependencies:
-      "@csstools/css-parser-algorithms": 2.6.1(@csstools/css-tokenizer@2.2.4)
-      "@csstools/css-tokenizer": 2.2.4
-      "@csstools/media-query-list-parser": 2.1.9(@csstools/css-parser-algorithms@2.6.1(@csstools/css-tokenizer@2.2.4))(@csstools/css-tokenizer@2.2.4)
-      "@csstools/selector-specificity": 3.0.3(postcss-selector-parser@6.0.16)
-      "@dual-bundle/import-meta-resolve": 4.0.0
+      "@csstools/css-parser-algorithms": 2.7.0(@csstools/css-tokenizer@2.3.2)
+      "@csstools/css-tokenizer": 2.3.2
+      "@csstools/media-query-list-parser": 2.1.12(@csstools/css-parser-algorithms@2.7.0(@csstools/css-tokenizer@2.3.2))(@csstools/css-tokenizer@2.3.2)
+      "@csstools/selector-specificity": 3.1.1(postcss-selector-parser@6.1.0)
+      "@dual-bundle/import-meta-resolve": 4.1.0
       balanced-match: 2.0.0
       colord: 2.9.3
-      cosmiconfig: 9.0.0(typescript@5.4.5)
+      cosmiconfig: 9.0.0(typescript@5.5.2)
       css-functions-list: 3.2.2
       css-tree: 2.3.1
       debug: 4.3.4
       fast-glob: 3.3.2
       fastest-levenshtein: 1.0.16
-      file-entry-cache: 8.0.0
+      file-entry-cache: 9.0.0
       global-modules: 2.0.0
       globby: 11.1.0
       globjoin: 0.1.4
@@ -14555,16 +14663,16 @@ snapshots:
       ignore: 5.3.1
       imurmurhash: 0.1.4
       is-plain-object: 5.0.0
-      known-css-properties: 0.30.0
+      known-css-properties: 0.31.0
       mathml-tag-names: 2.1.3
       meow: 13.2.0
-      micromatch: 4.0.5
+      micromatch: 4.0.7
       normalize-path: 3.0.0
-      picocolors: 1.0.0
-      postcss: 8.4.38
+      picocolors: 1.0.1
+      postcss: 8.4.39
       postcss-resolve-nested-selector: 0.1.1
-      postcss-safe-parser: 7.0.0(postcss@8.4.38)
-      postcss-selector-parser: 6.0.16
+      postcss-safe-parser: 7.0.0(postcss@8.4.39)
+      postcss-selector-parser: 6.1.0
       postcss-value-parser: 4.2.0
       resolve-from: 5.0.0
       string-width: 4.2.3
@@ -14579,7 +14687,7 @@ snapshots:
 
   sucrase@3.35.0:
     dependencies:
-      "@jridgewell/gen-mapping": 0.3.3
+      "@jridgewell/gen-mapping": 0.3.5
       commander: 4.1.1
       glob: 10.3.10
       lines-and-columns: 1.2.4
@@ -14609,7 +14717,7 @@ snapshots:
 
   svg-tags@1.0.0: {}
 
-  svgo@3.2.0:
+  svgo@3.3.2:
     dependencies:
       "@trysound/sax": 0.2.0
       commander: 7.2.0
@@ -14632,7 +14740,7 @@ snapshots:
       string-width: 4.2.3
       strip-ansi: 6.0.1
 
-  tailwindcss@3.4.3:
+  tailwindcss@3.4.4:
     dependencies:
       "@alloc/quick-lru": 5.2.0
       arg: 5.0.2
@@ -14648,12 +14756,12 @@ snapshots:
       normalize-path: 3.0.0
       object-hash: 3.0.0
       picocolors: 1.0.0
-      postcss: 8.4.38
-      postcss-import: 15.1.0(postcss@8.4.38)
-      postcss-js: 4.0.1(postcss@8.4.38)
-      postcss-load-config: 4.0.2(postcss@8.4.38)
-      postcss-nested: 6.0.1(postcss@8.4.38)
-      postcss-selector-parser: 6.0.15
+      postcss: 8.4.39
+      postcss-import: 15.1.0(postcss@8.4.39)
+      postcss-js: 4.0.1(postcss@8.4.39)
+      postcss-load-config: 4.0.2(postcss@8.4.39)
+      postcss-nested: 6.0.1(postcss@8.4.39)
+      postcss-selector-parser: 6.0.16
       resolve: 1.22.8
       sucrase: 3.35.0
     transitivePeerDependencies:
@@ -14731,9 +14839,9 @@ snapshots:
 
   traverse@0.6.8: {}
 
-  ts-api-utils@1.3.0(typescript@5.4.5):
+  ts-api-utils@1.3.0(typescript@5.5.2):
     dependencies:
-      typescript: 5.4.5
+      typescript: 5.5.2
 
   ts-interface-checker@0.1.13: {}
 
@@ -14796,7 +14904,7 @@ snapshots:
 
   typedarray@0.0.6: {}
 
-  typescript@5.4.5: {}
+  typescript@5.5.2: {}
 
   uglify-js@3.17.4:
     optional: true
@@ -14855,6 +14963,12 @@ snapshots:
       escalade: 3.1.1
       picocolors: 1.0.0
 
+  update-browserslist-db@1.0.16(browserslist@4.23.1):
+    dependencies:
+      browserslist: 4.23.1
+      escalade: 3.1.2
+      picocolors: 1.0.1
+
   uri-js@4.4.1:
     dependencies:
       punycode: 2.3.1
@@ -14870,21 +14984,21 @@ snapshots:
       spdx-correct: 3.2.0
       spdx-expression-parse: 3.0.1
 
-  vite-plugin-pwa@0.19.8(vite@5.2.10(@types/node@20.10.5)(terser@5.26.0))(workbox-build@7.1.0)(workbox-window@7.1.0):
+  vite-plugin-pwa@0.20.0(vite@5.3.2(@types/node@20.10.5)(terser@5.26.0))(workbox-build@7.1.1)(workbox-window@7.1.0):
     dependencies:
       debug: 4.3.4
       fast-glob: 3.3.2
       pretty-bytes: 6.1.1
-      vite: 5.2.10(@types/node@20.10.5)(terser@5.26.0)
-      workbox-build: 7.1.0
+      vite: 5.3.2(@types/node@20.10.5)(terser@5.26.0)
+      workbox-build: 7.1.1
       workbox-window: 7.1.0
     transitivePeerDependencies:
       - supports-color
 
-  vite@5.2.10(@types/node@20.10.5)(terser@5.26.0):
+  vite@5.3.2(@types/node@20.10.5)(terser@5.26.0):
     dependencies:
-      esbuild: 0.20.2
-      postcss: 8.4.38
+      esbuild: 0.21.5
+      postcss: 8.4.39
       rollup: 4.16.4
     optionalDependencies:
       "@types/node": 20.10.5
@@ -14893,7 +15007,7 @@ snapshots:
 
   w3c-keyname@2.2.8: {}
 
-  wavesurfer.js@7.7.11: {}
+  wavesurfer.js@7.8.0: {}
 
   wcwidth@1.0.1:
     dependencies:
@@ -14953,7 +15067,7 @@ snapshots:
     dependencies:
       workbox-core: 7.1.0
 
-  workbox-build@7.1.0:
+  workbox-build@7.1.1:
     dependencies:
       "@apideck/better-ajv-errors": 0.3.6(ajv@8.12.0)
       "@babel/core": 7.24.4
@@ -15110,6 +15224,8 @@ snapshots:
 
   yaml@2.3.4: {}
 
+  yaml@2.4.5: {}
+
   yargs-parser@18.1.3:
     dependencies:
       camelcase: 5.3.1
@@ -15156,3 +15272,5 @@ snapshots:
   yocto-queue@0.1.0: {}
 
   yocto-queue@1.0.0: {}
+
+  yoctocolors@2.1.0: {}
diff --git a/preload.php b/preload.php
index b2e62c1352..ca9e8efe1f 100644
--- a/preload.php
+++ b/preload.php
@@ -7,8 +7,8 @@ declare(strict_types=1);
  *
  * (c) CodeIgniter Foundation <admin@codeigniter.com>
  *
- * For the full copyright and license information, please view the LICENSE file that was distributed with this source
- * code.
+ * For the full copyright and license information, please view
+ * the LICENSE file that was distributed with this source code.
  */
 
 /*
@@ -31,31 +31,20 @@ require __DIR__ . '/app/Config/Paths.php';
 // Path to the front controller
 define('FCPATH', __DIR__ . DIRECTORY_SEPARATOR . 'public' . DIRECTORY_SEPARATOR);
 
-/**
- * See https://www.php.net/manual/en/function.str-contains.php#126277
- */
-if (! function_exists('str_contains')) {
-    /**
-     * Polyfill of str_contains()
-     */
-    function str_contains(string $haystack, string $needle): bool
-    {
-        return empty($needle) || strpos($haystack, $needle) !== false;
-    }
-}
-
 class preload
 {
     /**
-     * @var array<array<string, mixed>> Paths to preload.
+     * @var array Paths to preload.
      */
     private array $paths = [
         [
             'include' => __DIR__ . '/vendor/codeigniter4/framework/system', // Change this path if using manual installation
             'exclude' => [
+                '/system/bootstrap.php',
                 // Not needed if you don't use them.
                 '/system/Database/OCI8/',
                 '/system/Database/Postgre/',
+                '/system/Database/SQLite3/',
                 '/system/Database/SQLSRV/',
                 // Not needed.
                 '/system/Database/Seeder.php',
@@ -104,7 +93,9 @@ class preload
     private function loadAutoloader(): void
     {
         $paths = new Config\Paths();
-        require rtrim($paths->systemDirectory, '\\/ ') . DIRECTORY_SEPARATOR . 'bootstrap.php';
+        require rtrim($paths->systemDirectory, '\\/ ') . DIRECTORY_SEPARATOR . 'Boot.php';
+
+        CodeIgniter\Boot::preload($paths);
     }
 }
 
diff --git a/rector.php b/rector.php
index ee49c79a9c..ac690c9390 100644
--- a/rector.php
+++ b/rector.php
@@ -9,7 +9,6 @@ use Rector\CodingStyle\Rector\String_\SymplifyQuoteEscapeRector;
 use Rector\Config\RectorConfig;
 use Rector\DeadCode\Rector\If_\UnwrapFutureCompatibleIfPhpVersionRector;
 use Rector\DeadCode\Rector\Stmt\RemoveUnreachableStatementRector;
-use Rector\EarlyReturn\Rector\If_\ChangeAndIfToEarlyReturnRector;
 use Rector\EarlyReturn\Rector\If_\ChangeOrIfContinueToMultiContinueRector;
 use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector;
 use Rector\Php71\Rector\FuncCall\RemoveExtraParametersRector;
@@ -56,7 +55,5 @@ return RectorConfig::configure()
         RemoveUnreachableStatementRector::class => [
             __DIR__ . '/modules/Install/Controllers/InstallController.php',
         ],
-
-        ChangeAndIfToEarlyReturnRector::class => [__DIR__ . '/modules/Install/Controllers/InstallController.php'],
     ])
     ->withPHPStanConfigs([__DIR__ . '/phpstan.neon', 'vendor/codeigniter/phpstan-codeigniter/extension.neon']);
diff --git a/spark b/spark
index 1bb9ba67ce..13dc93c6c3 100644
--- a/spark
+++ b/spark
@@ -27,7 +27,7 @@ declare(strict_types=1);
  */
 
 // Refuse to run when called from php-cgi
-if (strpos(PHP_SAPI, 'cgi') === 0) {
+if (str_starts_with(PHP_SAPI, 'cgi')) {
     exit("The cli tool is not supported when running php-cgi. It needs php-cli to function!\n\n");
 }
 
diff --git a/themes/cp_admin/subscription/list.php b/themes/cp_admin/subscription/list.php
index f534721d60..dc87523ee3 100644
--- a/themes/cp_admin/subscription/list.php
+++ b/themes/cp_admin/subscription/list.php
@@ -45,19 +45,19 @@
             'cell'   => function ($subscription) {
                 return esc($subscription->email);
             },
-        ],
+                ],
         [
             'header' => lang('Subscription.list.expiration_date'),
             'cell'   => function ($subscription) {
                 return $subscription->expires_at ? local_date($subscription->expires_at) : lang('Subscription.list.unlimited');
             },
-        ],
+                ],
         [
             'header' => lang('Subscription.list.downloads'),
             'cell'   => function ($subscription) {
                 return $subscription->downloads_last_3_months;
             },
-        ],
+                ],
         [
             'header' => lang('Subscription.list.status'),
             'cell'   => function ($subscription) {
@@ -69,7 +69,7 @@
 
                 return '<Pill variant="' . $statusMapping[$subscription->status] . '" class="lowercase">' . lang('Subscription.status.' . $subscription->status) . '</Pill>';
             },
-        ],
+                ],
         [
             'header' => lang('Common.actions'),
             'cell'   => function ($subscription, $podcast) {
@@ -121,7 +121,7 @@
                     '</button>' .
                     '<DropdownMenu id="more-dropdown-' . $subscription->id . '-menu" labelledby="more-dropdown-' . $subscription->id . '" offsetY="-24" items="' . esc(json_encode($items)) . '" />';
             },
-        ],
+                ],
     ],
     $podcast->subscriptions,
     '',
-- 
GitLab