git: ed3b2f2ee481 - main - security/bitwarden-cli: update to 2024.10.0

From: Hiroki Tagato <tagattie_at_FreeBSD.org>
Date: Wed, 23 Oct 2024 13:33:04 UTC
The branch main has been updated by tagattie:

URL: https://cgit.FreeBSD.org/ports/commit/?id=ed3b2f2ee48141f746176b5025bb8dca84fb5fc1

commit ed3b2f2ee48141f746176b5025bb8dca84fb5fc1
Author:     Hiroki Tagato <tagattie@FreeBSD.org>
AuthorDate: 2024-10-23 13:31:04 +0000
Commit:     Hiroki Tagato <tagattie@FreeBSD.org>
CommitDate: 2024-10-23 13:32:53 +0000

    security/bitwarden-cli: update to 2024.10.0
    
    Changelog: https://github.com/bitwarden/clients/releases/tag/cli-v2024.10.0
    
    Reported by:    GitHub (watch releases)
---
 security/bitwarden-cli/Makefile                    |   4 +-
 security/bitwarden-cli/distinfo                    |  14 +-
 .../bitwarden-cli/files/node/patch-common.gypi     |   6 +-
 .../node/patch-deps_v8_src_inspector_string-16.cc  |  31 +
 .../node/patch-deps_v8_src_inspector_string-16.h   |  47 +
 ...-deps_v8_src_inspector_v8-string-conversions.cc |  29 +
 ...h-deps_v8_src_inspector_v8-string-conversions.h |  21 +
 ...inspector__protocol_crdtp_test__platform__v8.cc |  22 +
 security/bitwarden-cli/files/node/patch-node.gypi  |   4 +-
 .../files/node/patch-tools_v8__gypfiles_v8.gyp     |   4 +-
 .../files/packagejsons/apps/browser/package.json   |   2 +-
 .../files/packagejsons/apps/cli/package.json       |  10 +-
 .../apps/desktop/desktop_native/napi/package.json  |   6 +-
 .../files/packagejsons/apps/desktop/package.json   |   4 +-
 .../files/packagejsons/apps/web/package.json       |   2 +-
 .../packagejsons/libs/key-management/package.json  |  25 +
 .../files/packagejsons/package-lock.json           | 957 +++++++++++----------
 .../bitwarden-cli/files/packagejsons/package.json  |  45 +-
 18 files changed, 738 insertions(+), 495 deletions(-)

diff --git a/security/bitwarden-cli/Makefile b/security/bitwarden-cli/Makefile
index 13ce2b04be58..42df0add74c0 100644
--- a/security/bitwarden-cli/Makefile
+++ b/security/bitwarden-cli/Makefile
@@ -1,6 +1,6 @@
 PORTNAME=	bitwarden-cli
 DISTVERSIONPREFIX=	cli-v
-DISTVERSION=	2024.9.0
+DISTVERSION=	2024.10.0
 CATEGORIES=	security
 MASTER_SITES=	https://nodejs.org/dist/v${PKG_NODE_VER}/:node
 DISTFILES=	node-v${PKG_NODE_VER}${EXTRACT_SUFX}:node \
@@ -50,7 +50,7 @@ OPTIONS_DEFINE=	DOCS
 
 PREFETCH_FILE=	${PORTNAME}-${DISTVERSION}-node-modules${EXTRACT_SUFX}
 PREFETCH_TIMESTAMP=	61171200
-PKG_NODE_VER=	20.11.1
+PKG_NODE_VER=	20.17.0
 PKG_FETCH_VER=	3.5
 PKG_NODE_CONFIGURE_ARGS=--openssl-use-def-ca-store \
 			--shared-brotli \
diff --git a/security/bitwarden-cli/distinfo b/security/bitwarden-cli/distinfo
index 175346d7cc2e..56250199a172 100644
--- a/security/bitwarden-cli/distinfo
+++ b/security/bitwarden-cli/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1727141885
-SHA256 (node-v20.11.1.tar.gz) = 4af1ba6ea848cc05908b8a62b02fb27684dd52b2a7988ee82b0cfa72deb90b94
-SIZE (node-v20.11.1.tar.gz) = 87513887
-SHA256 (bitwarden-cli-2024.9.0-node-modules.tar.gz) = 7ec8ceaac195010b1f1511d1b17345dedcbc20b1853137c4265e965e7fe103ae
-SIZE (bitwarden-cli-2024.9.0-node-modules.tar.gz) = 215205227
-SHA256 (bitwarden-clients-cli-v2024.9.0_GH0.tar.gz) = 72a87d4eccbf80b31b5fe80c485bff90792018de7c983ff5e93911f2201d3684
-SIZE (bitwarden-clients-cli-v2024.9.0_GH0.tar.gz) = 23507768
+TIMESTAMP = 1729674634
+SHA256 (node-v20.17.0.tar.gz) = 409bda5f1896c7c20866610d778d1760991884ad2e7940837cd3f2854cf73747
+SIZE (node-v20.17.0.tar.gz) = 87312235
+SHA256 (bitwarden-cli-2024.10.0-node-modules.tar.gz) = 342ba15f6a621f5e94561eb61300d81b19cabd540cfc11fc2f847fe645849498
+SIZE (bitwarden-cli-2024.10.0-node-modules.tar.gz) = 214773031
+SHA256 (bitwarden-clients-cli-v2024.10.0_GH0.tar.gz) = 1396b949f482f398bca4f59a4a7e0c2d9549f9b461bf6af5a9db04dd9b6bcb64
+SIZE (bitwarden-clients-cli-v2024.10.0_GH0.tar.gz) = 23779807
diff --git a/security/bitwarden-cli/files/node/patch-common.gypi b/security/bitwarden-cli/files/node/patch-common.gypi
index aab7b33a2120..2d0b58bf8092 100644
--- a/security/bitwarden-cli/files/node/patch-common.gypi
+++ b/security/bitwarden-cli/files/node/patch-common.gypi
@@ -1,6 +1,6 @@
---- common.gypi.orig	2024-02-13 21:43:28 UTC
+--- common.gypi.orig	2024-08-21 12:35:22 UTC
 +++ common.gypi
-@@ -466,7 +466,7 @@
+@@ -491,7 +491,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'host_arch=="ppc64" and OS not in "aix os400"', {
@@ -9,7 +9,7 @@
                  'ldflags': [ '-m64' ],
                }],
                [ 'host_arch=="s390x" and OS=="linux"', {
-@@ -490,7 +490,7 @@
+@@ -515,7 +515,7 @@
                  'ldflags': [ '-m32' ],
                }],
                [ 'target_arch=="ppc64" and OS not in "aix os400"', {
diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.cc b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.cc
new file mode 100644
index 000000000000..7e0ccb4b8b4b
--- /dev/null
+++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.cc
@@ -0,0 +1,31 @@
+--- deps/v8/src/inspector/string-16.cc.orig	2024-08-21 12:35:26 UTC
++++ deps/v8/src/inspector/string-16.cc
+@@ -27,7 +27,7 @@ bool isSpaceOrNewLine(UChar c) {
+   return isASCII(c) && c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9));
+ }
+ 
+-int64_t charactersToInteger(const UChar* characters, size_t length,
++int64_t charactersToInteger(const uint16_t* characters, size_t length,
+                             bool* ok = nullptr) {
+   std::vector<char> buffer;
+   buffer.reserve(length + 1);
+@@ -50,6 +50,8 @@ String16::String16(const UChar* characters, size_t siz
+ 
+ String16::String16(const UChar* characters, size_t size)
+     : m_impl(characters, size) {}
++String16::String16(const uint16_t* characters, size_t size)
++    : m_impl(reinterpret_cast<const UChar*>(characters), size) {}
+ 
+ String16::String16(const UChar* characters) : m_impl(characters) {}
+ 
+@@ -239,6 +241,10 @@ String16 String16::fromUTF16LE(const UChar* stringStar
+   // No need to do anything on little endian machines.
+   return String16(stringStart, length);
+ #endif  // V8_TARGET_BIG_ENDIAN
++}
++
++String16 String16::fromUTF16LE(const uint16_t* stringStart, size_t length) {
++  return fromUTF16LE(reinterpret_cast<const UChar*>(stringStart), length);
+ }
+ 
+ std::string String16::utf8() const {
diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.h b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.h
new file mode 100644
index 000000000000..15c3a6e84068
--- /dev/null
+++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_string-16.h
@@ -0,0 +1,47 @@
+--- deps/v8/src/inspector/string-16.h.orig	2024-08-21 12:35:26 UTC
++++ deps/v8/src/inspector/string-16.h
+@@ -6,6 +6,7 @@
+ #define V8_INSPECTOR_STRING_16_H_
+ 
+ #include <stdint.h>
++#include <uchar.h>
+ 
+ #include <cctype>
+ #include <climits>
+@@ -17,7 +18,7 @@ namespace v8_inspector {
+ 
+ namespace v8_inspector {
+ 
+-using UChar = uint16_t;
++using UChar = char16_t;
+ 
+ class String16 {
+  public:
+@@ -27,6 +28,7 @@ class String16 {
+   String16(const String16&) V8_NOEXCEPT = default;
+   String16(String16&&) V8_NOEXCEPT = default;
+   String16(const UChar* characters, size_t size);
++  String16(const uint16_t* characters, size_t size);
+   V8_EXPORT String16(const UChar* characters);
+   V8_EXPORT String16(const char* characters);
+   String16(const char* characters, size_t size);
+@@ -48,7 +50,9 @@ class String16 {
+   int toInteger(bool* ok = nullptr) const;
+   std::pair<size_t, size_t> getTrimmedOffsetAndLength() const;
+   String16 stripWhiteSpace() const;
+-  const UChar* characters16() const { return m_impl.c_str(); }
++  const uint16_t* characters16() const {
++    return reinterpret_cast<const uint16_t*>(m_impl.c_str());
++  }
+   size_t length() const { return m_impl.length(); }
+   bool isEmpty() const { return !m_impl.length(); }
+   UChar operator[](size_t index) const { return m_impl[index]; }
+@@ -77,6 +81,8 @@ class String16 {
+   // Instantiates a String16 in native endianness from UTF16 LE.
+   // On Big endian architectures, byte order needs to be flipped.
+   V8_EXPORT static String16 fromUTF16LE(const UChar* stringStart,
++                                        size_t length);
++  V8_EXPORT static String16 fromUTF16LE(const uint16_t* stringStart,
+                                         size_t length);
+ 
+   std::size_t hash() const {
diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.cc b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.cc
new file mode 100644
index 000000000000..0598c40f98da
--- /dev/null
+++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.cc
@@ -0,0 +1,29 @@
+--- deps/v8/src/inspector/v8-string-conversions.cc.orig	2024-08-21 12:35:26 UTC
++++ deps/v8/src/inspector/v8-string-conversions.cc
+@@ -12,7 +12,7 @@ namespace {
+ 
+ namespace v8_inspector {
+ namespace {
+-using UChar = uint16_t;
++using UChar = char16_t;
+ using UChar32 = uint32_t;
+ 
+ bool isASCII(UChar c) { return !(c & ~0x7F); }
+@@ -386,7 +386,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* strin
+ 
+ std::basic_string<UChar> UTF8ToUTF16(const char* stringStart, size_t length) {
+   if (!stringStart || !length) return std::basic_string<UChar>();
+-  std::vector<uint16_t> buffer(length);
++  std::vector<UChar> buffer(length);
+   UChar* bufferStart = buffer.data();
+ 
+   UChar* bufferCurrent = bufferStart;
+@@ -395,7 +395,7 @@ std::basic_string<UChar> UTF8ToUTF16(const char* strin
+                          reinterpret_cast<const char*>(stringStart + length),
+                          &bufferCurrent, bufferCurrent + buffer.size(), nullptr,
+                          true) != conversionOK)
+-    return std::basic_string<uint16_t>();
++    return std::basic_string<UChar>();
+   size_t utf16Length = bufferCurrent - bufferStart;
+   return std::basic_string<UChar>(bufferStart, bufferStart + utf16Length);
+ }
diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.h b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.h
new file mode 100644
index 000000000000..7395fd13692e
--- /dev/null
+++ b/security/bitwarden-cli/files/node/patch-deps_v8_src_inspector_v8-string-conversions.h
@@ -0,0 +1,21 @@
+--- deps/v8/src/inspector/v8-string-conversions.h.orig	2024-08-21 12:35:26 UTC
++++ deps/v8/src/inspector/v8-string-conversions.h
+@@ -5,14 +5,16 @@
+ #ifndef V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
+ #define V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
+ 
++#include <uchar.h>
++
+ #include <cstdint>
+ #include <string>
+ 
+ // Conversion routines between UT8 and UTF16, used by string-16.{h,cc}. You may
+ // want to use string-16.h directly rather than these.
+ namespace v8_inspector {
+-std::basic_string<uint16_t> UTF8ToUTF16(const char* stringStart, size_t length);
+-std::string UTF16ToUTF8(const uint16_t* stringStart, size_t length);
++std::basic_string<char16_t> UTF8ToUTF16(const char* stringStart, size_t length);
++std::string UTF16ToUTF8(const char16_t* stringStart, size_t length);
+ }  // namespace v8_inspector
+ 
+ #endif  // V8_INSPECTOR_V8_STRING_CONVERSIONS_H_
diff --git a/security/bitwarden-cli/files/node/patch-deps_v8_third__party_inspector__protocol_crdtp_test__platform__v8.cc b/security/bitwarden-cli/files/node/patch-deps_v8_third__party_inspector__protocol_crdtp_test__platform__v8.cc
new file mode 100644
index 000000000000..810a29c2782a
--- /dev/null
+++ b/security/bitwarden-cli/files/node/patch-deps_v8_third__party_inspector__protocol_crdtp_test__platform__v8.cc
@@ -0,0 +1,22 @@
+--- deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc.orig	2024-08-21 12:35:28 UTC
++++ deps/v8/third_party/inspector_protocol/crdtp/test_platform_v8.cc
+@@ -11,13 +11,16 @@ std::string UTF16ToUTF8(span<uint16_t> in) {
+ namespace v8_crdtp {
+ 
+ std::string UTF16ToUTF8(span<uint16_t> in) {
+-  return v8_inspector::UTF16ToUTF8(in.data(), in.size());
++  return v8_inspector::UTF16ToUTF8(reinterpret_cast<const char16_t*>(in.data()),
++                                   in.size());
+ }
+ 
+ std::vector<uint16_t> UTF8ToUTF16(span<uint8_t> in) {
+-  std::basic_string<uint16_t> utf16 = v8_inspector::UTF8ToUTF16(
++  std::basic_string<char16_t> utf16 = v8_inspector::UTF8ToUTF16(
+       reinterpret_cast<const char*>(in.data()), in.size());
+-  return std::vector<uint16_t>(utf16.begin(), utf16.end());
++  return std::vector<uint16_t>(
++      reinterpret_cast<const uint16_t*>(utf16.data()),
++      reinterpret_cast<const uint16_t*>(utf16.data()) + utf16.size());
+ }
+ 
+ }  // namespace v8_crdtp
diff --git a/security/bitwarden-cli/files/node/patch-node.gypi b/security/bitwarden-cli/files/node/patch-node.gypi
index e0656b099ab8..a338b6ed81ef 100644
--- a/security/bitwarden-cli/files/node/patch-node.gypi
+++ b/security/bitwarden-cli/files/node/patch-node.gypi
@@ -1,6 +1,6 @@
---- node.gypi.orig	2023-03-05 06:42:54 UTC
+--- node.gypi.orig	2024-08-21 12:35:29 UTC
 +++ node.gypi
-@@ -349,6 +349,9 @@
+@@ -350,6 +350,9 @@
      [ 'node_use_openssl=="true"', {
        'defines': [ 'HAVE_OPENSSL=1' ],
        'conditions': [
diff --git a/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp b/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp
index 3e711aedc53d..aa5e5a520ca7 100644
--- a/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp
+++ b/security/bitwarden-cli/files/node/patch-tools_v8__gypfiles_v8.gyp
@@ -1,6 +1,6 @@
---- tools/v8_gypfiles/v8.gyp.orig	2024-02-13 21:43:34 UTC
+--- tools/v8_gypfiles/v8.gyp.orig	2024-08-21 12:35:32 UTC
 +++ tools/v8_gypfiles/v8.gyp
-@@ -1083,7 +1083,7 @@
+@@ -1095,7 +1095,7 @@
          }],
          # Platforms that don't have Compare-And-Swap (CAS) support need to link atomic library
          # to implement atomic memory access
diff --git a/security/bitwarden-cli/files/packagejsons/apps/browser/package.json b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json
index 4d008b684cb9..15caff9eff2c 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/browser/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/browser/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@bitwarden/browser",
-  "version": "2024.9.1",
+  "version": "2024.10.1",
   "scripts": {
     "build": "cross-env MANIFEST_VERSION=3 webpack",
     "build:mv2": "webpack",
diff --git a/security/bitwarden-cli/files/packagejsons/apps/cli/package.json b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json
index a7759043ff6b..502e186d346c 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/cli/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/cli/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@bitwarden/cli",
   "description": "A secure and free password manager for all of your devices.",
-  "version": "2024.9.0",
+  "version": "2024.10.0",
   "keywords": [
     "bitwarden",
     "password",
@@ -59,14 +59,14 @@
     "@koa/multer": "3.0.2",
     "@koa/router": "12.0.1",
     "argon2": "0.40.1",
-    "big-integer": "1.6.51",
+    "big-integer": "1.6.52",
     "browser-hrtime": "1.1.8",
     "chalk": "4.1.2",
     "commander": "11.1.0",
     "form-data": "4.0.0",
-    "https-proxy-agent": "7.0.2",
+    "https-proxy-agent": "7.0.5",
     "inquirer": "8.2.6",
-    "jsdom": "24.1.3",
+    "jsdom": "25.0.1",
     "jszip": "3.10.1",
     "koa": "2.15.0",
     "koa-bodyparser": "4.4.1",
@@ -80,7 +80,7 @@
     "papaparse": "5.4.1",
     "proper-lockfile": "4.1.2",
     "rxjs": "7.8.1",
-    "tldts": "6.1.41",
+    "tldts": "6.1.48",
     "zxcvbn": "4.4.2"
   }
 }
diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json
index 70e472b3952f..d557ccfd2598 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/desktop_native/napi/package.json
@@ -3,15 +3,13 @@
   "version": "0.1.0",
   "description": "",
   "scripts": {
-    "build": "napi build --release --platform --js false",
-    "build:debug": "napi build --platform --js false",
-    "build:cross-platform": "node build.js",
+    "build": "napi build --platform --js false",
     "test": "cargo test"
   },
   "author": "",
   "license": "GPL-3.0",
   "devDependencies": {
-    "@napi-rs/cli": "2.16.2"
+    "@napi-rs/cli": "2.18.4"
   },
   "napi": {
     "name": "desktop_napi",
diff --git a/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json
index 4562653978bf..1014412c0d5e 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/desktop/package.json
@@ -1,7 +1,7 @@
 {
   "name": "@bitwarden/desktop",
   "description": "A secure and free password manager for all of your devices.",
-  "version": "2024.9.0",
+  "version": "2024.10.0",
   "keywords": [
     "bitwarden",
     "password",
@@ -18,7 +18,7 @@
   "scripts": {
     "postinstall": "electron-rebuild",
     "start": "cross-env ELECTRON_IS_DEV=0 ELECTRON_NO_UPDATER=1 electron ./build",
-    "build-native": "cd desktop_native/napi && npm run build",
+    "build-native": "cd desktop_native && node build.js",
     "build": "concurrently -n Main,Rend,Prel -c yellow,cyan \"npm run build:main\" \"npm run build:renderer\" \"npm run build:preload\"",
     "build:dev": "concurrently -n Main,Rend -c yellow,cyan \"npm run build:main:dev\" \"npm run build:renderer:dev\"",
     "build:preload": "cross-env NODE_ENV=production webpack --config webpack.preload.js",
diff --git a/security/bitwarden-cli/files/packagejsons/apps/web/package.json b/security/bitwarden-cli/files/packagejsons/apps/web/package.json
index 37deab411b96..deb13794a545 100644
--- a/security/bitwarden-cli/files/packagejsons/apps/web/package.json
+++ b/security/bitwarden-cli/files/packagejsons/apps/web/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@bitwarden/web-vault",
-  "version": "2024.9.1",
+  "version": "2024.10.2",
   "scripts": {
     "build:oss": "webpack",
     "build:bit": "webpack -c ../../bitwarden_license/bit-web/webpack.config.js",
diff --git a/security/bitwarden-cli/files/packagejsons/libs/key-management/package.json b/security/bitwarden-cli/files/packagejsons/libs/key-management/package.json
new file mode 100644
index 000000000000..083386cbc81d
--- /dev/null
+++ b/security/bitwarden-cli/files/packagejsons/libs/key-management/package.json
@@ -0,0 +1,25 @@
+{
+  "name": "@bitwarden/key-management",
+  "version": "0.0.0",
+  "description": "Common code used across Bitwarden JavaScript projects.",
+  "keywords": [
+    "bitwarden"
+  ],
+  "author": "Bitwarden Inc.",
+  "homepage": "https://bitwarden.com",
+  "repository": {
+    "type": "git",
+    "url": "https://github.com/bitwarden/clients"
+  },
+  "license": "GPL-3.0",
+  "scripts": {
+    "clean": "rimraf dist",
+    "build": "npm run clean && tsc",
+    "build:watch": "npm run clean && tsc -watch"
+  },
+  "dependencies": {
+    "@bitwarden/angular": "file:../angular",
+    "@bitwarden/common": "file:../common",
+    "@bitwarden/components": "file:../components"
+  }
+}
diff --git a/security/bitwarden-cli/files/packagejsons/package-lock.json b/security/bitwarden-cli/files/packagejsons/package-lock.json
index d115c4be10d3..c568b683b078 100644
--- a/security/bitwarden-cli/files/packagejsons/package-lock.json
+++ b/security/bitwarden-cli/files/packagejsons/package-lock.json
@@ -24,6 +24,8 @@
         "@angular/platform-browser": "16.2.12",
         "@angular/platform-browser-dynamic": "16.2.12",
         "@angular/router": "16.2.12",
+        "@bitwarden/sdk-internal": "0.1.3",
+        "@electron/fuses": "1.8.0",
         "@koa/multer": "3.0.2",
         "@koa/router": "12.0.1",
         "@microsoft/signalr": "8.0.7",
@@ -31,7 +33,7 @@
         "@ng-select/ng-select": "11.2.0",
         "argon2": "0.40.1",
         "argon2-browser": "1.18.0",
-        "big-integer": "1.6.51",
+        "big-integer": "1.6.52",
         "bootstrap": "4.6.0",
         "braintree-web-drop-in": "1.43.0",
         "buffer": "6.0.3",
@@ -40,10 +42,10 @@
         "commander": "11.1.0",
         "core-js": "3.36.1",
         "form-data": "4.0.0",
-        "https-proxy-agent": "7.0.2",
+        "https-proxy-agent": "7.0.5",
         "inquirer": "8.2.6",
         "jquery": "3.7.1",
-        "jsdom": "24.1.3",
+        "jsdom": "25.0.1",
         "jszip": "3.10.1",
         "koa": "2.15.0",
         "koa-bodyparser": "4.4.1",
@@ -66,7 +68,7 @@
         "qrious": "4.0.2",
         "rxjs": "7.8.1",
         "tabbable": "6.2.0",
-        "tldts": "6.1.41",
+        "tldts": "6.1.48",
         "utf-8-validate": "6.0.4",
         "zone.js": "0.13.3",
         "zxcvbn": "4.4.2"
@@ -82,7 +84,7 @@
         "@babel/core": "7.24.9",
         "@babel/preset-env": "7.24.8",
         "@compodoc/compodoc": "1.1.25",
-        "@electron/notarize": "2.4.0",
+        "@electron/notarize": "2.5.0",
         "@electron/rebuild": "3.6.0",
         "@ngtools/webpack": "16.2.14",
         "@storybook/addon-a11y": "8.2.9",
@@ -95,8 +97,8 @@
         "@storybook/manager-api": "8.2.9",
         "@storybook/theming": "8.2.9",
         "@types/argon2-browser": "1.18.4",
-        "@types/chrome": "0.0.270",
-        "@types/firefox-webext-browser": "111.0.5",
+        "@types/chrome": "0.0.272",
+        "@types/firefox-webext-browser": "120.0.4",
         "@types/inquirer": "8.2.10",
         "@types/jest": "29.5.12",
         "@types/jquery": "3.5.30",
@@ -108,7 +110,7 @@
         "@types/koa-json": "2.0.23",
         "@types/lowdb": "1.0.15",
         "@types/lunr": "2.3.7",
-        "@types/node": "20.16.4",
+        "@types/node": "20.16.10",
         "@types/node-fetch": "2.6.4",
         "@types/node-forge": "1.3.11",
         "@types/node-ipc": "9.2.3",
@@ -119,17 +121,17 @@
         "@typescript-eslint/eslint-plugin": "7.16.1",
         "@typescript-eslint/parser": "7.16.1",
         "@webcomponents/custom-elements": "1.6.0",
-        "@yao-pkg/pkg": "5.12.1",
+        "@yao-pkg/pkg": "5.14.0",
         "autoprefixer": "10.4.20",
         "babel-loader": "9.1.3",
         "base64-loader": "1.0.0",
         "browserslist": "4.23.2",
-        "chromatic": "11.7.1",
-        "concurrently": "8.2.2",
+        "chromatic": "11.10.2",
+        "concurrently": "9.0.1",
         "copy-webpack-plugin": "12.0.2",
         "cross-env": "7.0.3",
         "css-loader": "7.1.2",
-        "electron": "32.0.1",
+        "electron": "32.1.1",
         "electron-builder": "24.13.3",
         "electron-log": "5.0.1",
         "electron-reload": "2.0.0-alpha.1",
@@ -157,29 +159,29 @@
         "jest-mock-extended": "3.0.7",
         "jest-preset-angular": "14.1.1",
         "lint-staged": "15.2.8",
-        "mini-css-extract-plugin": "2.8.1",
+        "mini-css-extract-plugin": "2.9.1",
         "node-ipc": "9.2.1",
         "postcss": "8.4.38",
         "postcss-loader": "8.1.1",
         "prettier": "3.3.3",
-        "prettier-plugin-tailwindcss": "0.6.6",
+        "prettier-plugin-tailwindcss": "0.6.8",
         "process": "0.11.10",
-        "regedit": "^3.0.3",
+        "regedit": "3.0.3",
         "remark-gfm": "4.0.0",
         "rimraf": "6.0.1",
         "sass": "1.74.1",
-        "sass-loader": "14.2.1",
+        "sass-loader": "16.0.1",
         "storybook": "8.2.9",
         "style-loader": "3.3.4",
-        "tailwindcss": "3.4.10",
+        "tailwindcss": "3.4.11",
         "ts-jest": "29.2.2",
         "ts-loader": "9.5.1",
         "tsconfig-paths-webpack-plugin": "4.1.0",
         "type-fest": "2.19.0",
         "typescript": "5.1.6",
-        "url": "0.11.3",
+        "url": "0.11.4",
         "util": "0.12.5",
-        "wait-on": "8.0.0",
+        "wait-on": "8.0.1",
         "webpack": "5.94.0",
         "webpack-cli": "5.1.4",
         "webpack-dev-server": "5.0.4",
@@ -192,24 +194,24 @@
     },
     "apps/browser": {
       "name": "@bitwarden/browser",
-      "version": "2024.9.1"
+      "version": "2024.10.1"
     },
     "apps/cli": {
       "name": "@bitwarden/cli",
-      "version": "2024.9.0",
+      "version": "2024.10.0",
       "license": "SEE LICENSE IN LICENSE.txt",
       "dependencies": {
         "@koa/multer": "3.0.2",
         "@koa/router": "12.0.1",
         "argon2": "0.40.1",
-        "big-integer": "1.6.51",
+        "big-integer": "1.6.52",
         "browser-hrtime": "1.1.8",
         "chalk": "4.1.2",
         "commander": "11.1.0",
         "form-data": "4.0.0",
-        "https-proxy-agent": "7.0.2",
+        "https-proxy-agent": "7.0.5",
         "inquirer": "8.2.6",
-        "jsdom": "24.1.3",
+        "jsdom": "25.0.1",
         "jszip": "3.10.1",
         "koa": "2.15.0",
         "koa-bodyparser": "4.4.1",
@@ -223,7 +225,7 @@
         "papaparse": "5.4.1",
         "proper-lockfile": "4.1.2",
         "rxjs": "7.8.1",
-        "tldts": "6.1.41",
+        "tldts": "6.1.48",
         "zxcvbn": "4.4.2"
       },
       "bin": {
@@ -232,7 +234,7 @@
     },
     "apps/desktop": {
       "name": "@bitwarden/desktop",
-      "version": "2024.9.0",
+      "version": "2024.10.0",
       "hasInstallScript": true,
       "license": "GPL-3.0"
     },
@@ -241,12 +243,12 @@
       "version": "0.1.0",
       "license": "GPL-3.0",
       "devDependencies": {
-        "@napi-rs/cli": "2.16.2"
+        "@napi-rs/cli": "2.18.4"
       }
     },
     "apps/web": {
       "name": "@bitwarden/web-vault",
-      "version": "2024.9.1"
+      "version": "2024.10.2"
     },
     "libs/admin-console": {
       "name": "@bitwarden/admin-console",
@@ -291,6 +293,16 @@
         "@bitwarden/vault-export-core": "file:../tools/export/vault-export/vault-export-core"
       }
     },
+    "libs/key-management": {
+      "name": "@bitwarden/key-management",
+      "version": "0.0.0",
+      "license": "GPL-3.0",
+      "dependencies": {
+        "@bitwarden/angular": "file:../angular",
+        "@bitwarden/common": "file:../common",
+        "@bitwarden/components": "file:../components"
+      }
+    },
     "libs/node": {
       "name": "@bitwarden/node",
       "version": "0.0.0",
@@ -358,14 +370,14 @@
       }
     },
     "node_modules/@angular-devkit/architect": {
-      "version": "0.1802.2",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.2.tgz",
-      "integrity": "sha512-LPRl9jhcf0NgshaL6RoUy1uL/cAyNt7oxctoZ9EHUu8eh5E9W/jZGhVowjOLpirwqYhmEzKJJIeS49Ssqs3RQg==",
+      "version": "0.1802.6",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1802.6.tgz",
+      "integrity": "sha512-oF7cPFdTLxeuvXkK/opSdIxZ1E4LrBbmuytQ/nCoAGOaKBWdqvwagRZ6jVhaI0Gwu48rkcV7Zhesg/ESNnROdw==",
       "dev": true,
       "license": "MIT",
       "peer": true,
       "dependencies": {
-        "@angular-devkit/core": "18.2.2",
+        "@angular-devkit/core": "18.2.6",
         "rxjs": "7.8.1"
       },
       "engines": {
@@ -1439,9 +1451,9 @@
       }
     },
     "node_modules/@angular-devkit/core": {
-      "version": "18.2.2",
-      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.2.tgz",
-      "integrity": "sha512-Zz0tGptI/QQnUBDdp+1G5wGwQWMjpfe2oO+UohkrDVgFS71yVj4VDnOy51kMTxBvzw+36evTgthPpmzqPIfxBw==",
+      "version": "18.2.6",
+      "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-18.2.6.tgz",
+      "integrity": "sha512-la4CFvs5PcRWSkQ/H7TB5cPZirFVA9GoWk5LzIk8si6VjWBJRm8b3keKJoC9LlNeABRUIR5z0ocYkyQQUhdMfg==",
       "dev": true,
       "license": "MIT",
       "peer": true,
@@ -4602,6 +4614,10 @@
       "resolved": "libs/importer",
       "link": true
     },
+    "node_modules/@bitwarden/key-management": {
+      "resolved": "libs/key-management",
+      "link": true
+    },
     "node_modules/@bitwarden/node": {
       "resolved": "libs/node",
       "link": true
@@ -4610,6 +4626,11 @@
       "resolved": "libs/platform",
       "link": true
     },
+    "node_modules/@bitwarden/sdk-internal": {
+      "version": "0.1.3",
+      "resolved": "https://registry.npmjs.org/@bitwarden/sdk-internal/-/sdk-internal-0.1.3.tgz",
+      "integrity": "sha512-zk9DyYMjylVLdljeLn3OLBcD939Hg/qMNJ2FxbyjiSKtcOcgglXgYmbcS01NRFFfM9REbn+j+2fWbQo6N+8SHw=="
+    },
     "node_modules/@bitwarden/vault": {
       "resolved": "libs/vault",
       "link": true
@@ -5027,12 +5048,13 @@
       }
     },
     "node_modules/@electron/asar": {
-      "version": "3.2.10",
-      "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.10.tgz",
-      "integrity": "sha512-mvBSwIBUeiRscrCeJE1LwctAriBj65eUDm0Pc11iE5gRwzkmsdbS7FnZ1XUWjpSeQWL1L5g12Fc/SchPM9DUOw==",
+      "version": "3.2.13",
+      "resolved": "https://registry.npmjs.org/@electron/asar/-/asar-3.2.13.tgz",
+      "integrity": "sha512-pY5z2qQSwbFzJsBdgfJIzXf5ElHTVMutC2dxh0FD60njknMu3n1NnTABOcQwbb5/v5soqE79m9UjaJryBf3epg==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
+        "@types/glob": "^7.1.0",
         "commander": "^5.0.0",
         "glob": "^7.1.6",
         "minimatch": "^3.0.4"
@@ -5044,6 +5066,17 @@
         "node": ">=10.12.0"
       }
     },
+    "node_modules/@electron/asar/node_modules/@types/glob": {
+      "version": "7.1.3",
+      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz",
+      "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==",
+      "dev": true,
+      "license": "MIT",
+      "dependencies": {
+        "@types/minimatch": "*",
+        "@types/node": "*"
+      }
+    },
     "node_modules/@electron/asar/node_modules/brace-expansion": {
       "version": "1.1.11",
       "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -5100,6 +5133,33 @@
         "node": "*"
       }
     },
+    "node_modules/@electron/fuses": {
+      "version": "1.8.0",
+      "resolved": "https://registry.npmjs.org/@electron/fuses/-/fuses-1.8.0.tgz",
+      "integrity": "sha512-zx0EIq78WlY/lBb1uXlziZmDZI4ubcCXIMJ4uGjXzZW0nS19TjSPeXPAjzzTmKQlJUZm0SbmZhPKP7tuQ1SsEw==",
+      "dependencies": {
+        "chalk": "^4.1.1",
+        "fs-extra": "^9.0.1",
+        "minimist": "^1.2.5"
+      },
+      "bin": {
+        "electron-fuses": "dist/bin.js"
+      }
+    },
+    "node_modules/@electron/fuses/node_modules/fs-extra": {
+      "version": "9.1.0",
+      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+      "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+      "dependencies": {
+        "at-least-node": "^1.0.0",
+        "graceful-fs": "^4.2.0",
+        "jsonfile": "^6.0.1",
+        "universalify": "^2.0.0"
+      },
+      "engines": {
+        "node": ">=10"
+      }
+    },
     "node_modules/@electron/get": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz",
@@ -5168,9 +5228,9 @@
       }
     },
     "node_modules/@electron/notarize": {
-      "version": "2.4.0",
-      "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.4.0.tgz",
-      "integrity": "sha512-ArHnRPIJJGrmV+uWNQSINAht+cM4gAo3uA3WFI54bYF93mzmD15gzhPQ0Dd+v/fkMhnRiiIO8NNkGdn87Vsy0g==",
+      "version": "2.5.0",
+      "resolved": "https://registry.npmjs.org/@electron/notarize/-/notarize-2.5.0.tgz",
+      "integrity": "sha512-jNT8nwH1f9X5GEITXaQ8IF/KdskvIkOFfB2CvwumsveVidzpSc+mvhhTMdAGSYF3O+Nq49lJ7y+ssODRXu06+A==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -5765,9 +5825,9 @@
       }
     },
     "node_modules/@eslint-community/regexpp": {
-      "version": "4.11.0",
-      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
-      "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
+      "version": "4.11.1",
+      "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz",
+      "integrity": "sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -6095,9 +6155,9 @@
       }
     },
     "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
-      "version": "6.0.1",
-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz",
-      "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==",
+      "version": "6.1.0",
+      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+      "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -6811,6 +6871,7 @@
       "version": "12.0.1",
       "resolved": "https://registry.npmjs.org/@koa/router/-/router-12.0.1.tgz",
       "integrity": "sha512-ribfPYfHb+Uw3b27Eiw6NPqjhIhTpVFzEWLwyc/1Xp+DCdwRRyIlAUODX+9bPARF6aQtUu1+/PHzdNvRzcs/+Q==",
+      "deprecated": "Use v12.0.2 or higher to fix the vulnerability issue",
       "license": "MIT",
       "dependencies": {
         "debug": "^4.3.4",
@@ -6996,9 +7057,9 @@
       }
     },
     "node_modules/@napi-rs/cli": {
-      "version": "2.16.2",
-      "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.16.2.tgz",
-      "integrity": "sha512-U2aZfnr0s9KkXpZlYC0l5WxWCXL7vJUNpCnWMwq3T9GG9rhYAAUM9CTZsi1Z+0iR2LcHbfq9EfMgoqnuTyUjfg==",
+      "version": "2.18.4",
+      "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.18.4.tgz",
+      "integrity": "sha512-SgJeA4df9DE2iAEpr3M2H0OKl/yjtg1BnRI5/JyowS71tUWhrfSu2LT0V3vlHET+g1hBVlrO60PmEXwUEKp8Mg==",
       "dev": true,
       "license": "MIT",
       "bin": {
@@ -8080,10 +8141,38 @@
         }
       }
     },
+    "node_modules/@storybook/angular/node_modules/@storybook/components": {
+      "version": "8.3.4",
+      "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.3.4.tgz",
+      "integrity": "sha512-iQzLJd87uGbFBbYNqlrN/ABrnx3dUrL0tjPCarzglzshZoPCNOsllJeJx5TJwB9kCxSZ8zB9TTOgr7NXl+oyVA==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/storybook"
+      },
+      "peerDependencies": {
+        "storybook": "^8.3.4"
+      }
+    },
+    "node_modules/@storybook/angular/node_modules/@storybook/preview-api": {
+      "version": "8.3.4",
+      "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.4.tgz",
+      "integrity": "sha512-/YKQ3QDVSHmtFXXCShf5w0XMlg8wkfTpdYxdGv1CKFV8DU24f3N7KWulAgeWWCWQwBzZClDa9kzxmroKlQqx3A==",
+      "dev": true,
+      "license": "MIT",
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/storybook"
+      },
+      "peerDependencies": {
+        "storybook": "^8.3.4"
+      }
+    },
     "node_modules/@storybook/angular/node_modules/@types/node": {
-      "version": "18.19.48",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz",
-      "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==",
+      "version": "18.19.54",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz",
+      "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8186,9 +8275,9 @@
       }
     },
     "node_modules/@storybook/builder-webpack5/node_modules/@types/node": {
-      "version": "18.19.48",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz",
-      "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==",
+      "version": "18.19.54",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz",
+      "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8338,20 +8427,6 @@
         "url": "https://github.com/sponsors/sindresorhus"
       }
     },
-    "node_modules/@storybook/components": {
-      "version": "8.2.9",
-      "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.2.9.tgz",
-      "integrity": "sha512-OkkcZ/f/6o3GdFEEK9ZHKIGHWUHmavZUYs5xaSgU64bOrA2aqEFtfeWWitZYTv3Euhk8MVLWfyEMDfez0AlvDg==",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/storybook"
-      },
-      "peerDependencies": {
-        "storybook": "^8.2.9"
-      }
-    },
     "node_modules/@storybook/core": {
       "version": "8.2.9",
       "resolved": "https://registry.npmjs.org/@storybook/core/-/core-8.2.9.tgz",
@@ -8395,9 +8470,9 @@
       }
     },
     "node_modules/@storybook/core-webpack/node_modules/@types/node": {
-      "version": "18.19.48",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz",
-      "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==",
+      "version": "18.19.54",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz",
+      "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8412,9 +8487,9 @@
       "license": "MIT"
     },
     "node_modules/@storybook/core/node_modules/@types/node": {
-      "version": "18.19.48",
-      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.48.tgz",
-      "integrity": "sha512-7WevbG4ekUcRQSZzOwxWgi5dZmTak7FaxXDoW7xVxPBmKx1rTzfmRLkeCgJzcbBnOV2dkhAPc8cCeT6agocpjg==",
+      "version": "18.19.54",
+      "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.54.tgz",
+      "integrity": "sha512-+BRgt0G5gYjTvdLac9sIeE0iZcJxi4Jc4PV5EUzqi+88jmQLr+fRZdv2tCTV7IHKSGxM6SaLoOXQWWUiLUItMw==",
       "dev": true,
       "license": "MIT",
       "dependencies": {
@@ -8463,9 +8538,9 @@
       "license": "MIT"
     },
     "node_modules/@storybook/icons": {
-      "version": "1.2.10",
-      "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.10.tgz",
-      "integrity": "sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og==",
+      "version": "1.2.12",
+      "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz",
+      "integrity": "sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -8509,20 +8584,6 @@
         "storybook": "^8.2.9"
       }
     },
-    "node_modules/@storybook/preview-api": {
-      "version": "8.2.9",
-      "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.9.tgz",
-      "integrity": "sha512-D8/t+a78OJqQAcT/ABa1C4YM/OaLGQ9IvCsp3Q9ruUqDCwuZBj8bG3D4477dlY4owX2ycC0rWYu3VvuK0EmJjA==",
-      "dev": true,
-      "license": "MIT",
-      "funding": {
-        "type": "opencollective",
-        "url": "https://opencollective.com/storybook"
-      },
-      "peerDependencies": {
-        "storybook": "^8.2.9"
-      }
-    },
     "node_modules/@storybook/react-dom-shim": {
       "version": "8.2.9",
       "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.2.9.tgz",
@@ -8692,9 +8753,9 @@
       }
     },
     "node_modules/@thednp/event-listener": {
-      "version": "2.0.5",
-      "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.5.tgz",
-      "integrity": "sha512-Zns+CFEAIKIEyqmuBZ3K2DSvk5IppaWcioghxLZPMrzkV034aOA38lP7NIKSxkeu0Eqd4UPxC06FksO6Pb/tmA==",
+      "version": "2.0.6",
+      "resolved": "https://registry.npmjs.org/@thednp/event-listener/-/event-listener-2.0.6.tgz",
+      "integrity": "sha512-6u55ydv4+2VHwHU8EJaJXa40QzZ7XOXVo74MMPnGCSzbl0q3yqHfQh8r0Sw/50rutHxecLVQBM/C9Fr0c+m+ew==",
       "dev": true,
*** 1639 LINES SKIPPED ***