« get me outta code hell

hsmusic-wiki - HSMusic - static wiki software cataloguing collaborative creation
about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--package-lock.json2568
1 files changed, 941 insertions, 1627 deletions
diff --git a/package-lock.json b/package-lock.json
index 1da6e9ad..18db0c9d 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -208,6 +208,55 @@
                 "url": "https://github.com/chalk/strip-ansi?sponsor=1"
             }
         },
+        "node_modules/@isaacs/ts-node-temp-fork-for-pr-2009": {
+            "version": "10.9.5",
+            "resolved": "https://registry.npmjs.org/@isaacs/ts-node-temp-fork-for-pr-2009/-/ts-node-temp-fork-for-pr-2009-10.9.5.tgz",
+            "integrity": "sha512-hEDlwpHhIabtB+Urku8muNMEkGui0LVGlYLS3KoB9QBDf0Pw3r7q0RrfoQmFuk8CvRpGzErO3/vLQd9Ys+/g4g==",
+            "dev": true,
+            "dependencies": {
+                "@cspotcode/source-map-support": "^0.8.0",
+                "@tsconfig/node14": "*",
+                "@tsconfig/node16": "*",
+                "@tsconfig/node18": "*",
+                "@tsconfig/node20": "*",
+                "acorn": "^8.4.1",
+                "acorn-walk": "^8.1.1",
+                "arg": "^4.1.0",
+                "diff": "^4.0.1",
+                "make-error": "^1.1.1",
+                "v8-compile-cache-lib": "^3.0.1"
+            },
+            "bin": {
+                "ts-node": "dist/bin.js",
+                "ts-node-cwd": "dist/bin-cwd.js",
+                "ts-node-esm": "dist/bin-esm.js",
+                "ts-node-script": "dist/bin-script.js",
+                "ts-node-transpile-only": "dist/bin-transpile.js"
+            },
+            "peerDependencies": {
+                "@swc/core": ">=1.2.50",
+                "@swc/wasm": ">=1.2.50",
+                "@types/node": "*",
+                "typescript": ">=4.2"
+            },
+            "peerDependenciesMeta": {
+                "@swc/core": {
+                    "optional": true
+                },
+                "@swc/wasm": {
+                    "optional": true
+                }
+            }
+        },
+        "node_modules/@isaacs/ts-node-temp-fork-for-pr-2009/node_modules/diff": {
+            "version": "4.0.2",
+            "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+            "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+            "dev": true,
+            "engines": {
+                "node": ">=0.3.1"
+            }
+        },
         "node_modules/@istanbuljs/schema": {
             "version": "0.1.3",
             "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
@@ -287,11 +336,12 @@
             }
         },
         "node_modules/@npmcli/agent": {
-            "version": "2.1.1",
-            "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.1.1.tgz",
-            "integrity": "sha512-6RlbiOAi6L6uUYF4/CDEkDZQnKw0XDsFJVrEpnib8rAx2WRMOsUyAdgnvDpX/fdkDWxtqE+NHwF465llI2wR0g==",
+            "version": "2.2.0",
+            "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.0.tgz",
+            "integrity": "sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==",
             "dev": true,
             "dependencies": {
+                "agent-base": "^7.1.0",
                 "http-proxy-agent": "^7.0.0",
                 "https-proxy-agent": "^7.0.1",
                 "lru-cache": "^10.0.1",
@@ -301,58 +351,6 @@
                 "node": "^16.14.0 || >=18.0.0"
             }
         },
-        "node_modules/@npmcli/agent/node_modules/agent-base": {
-            "version": "7.1.0",
-            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
-            "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
-            "dev": true,
-            "dependencies": {
-                "debug": "^4.3.4"
-            },
-            "engines": {
-                "node": ">= 14"
-            }
-        },
-        "node_modules/@npmcli/agent/node_modules/http-proxy-agent": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
-            "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
-            "dev": true,
-            "dependencies": {
-                "agent-base": "^7.1.0",
-                "debug": "^4.3.4"
-            },
-            "engines": {
-                "node": ">= 14"
-            }
-        },
-        "node_modules/@npmcli/agent/node_modules/https-proxy-agent": {
-            "version": "7.0.2",
-            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
-            "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
-            "dev": true,
-            "dependencies": {
-                "agent-base": "^7.0.2",
-                "debug": "4"
-            },
-            "engines": {
-                "node": ">= 14"
-            }
-        },
-        "node_modules/@npmcli/agent/node_modules/socks-proxy-agent": {
-            "version": "8.0.2",
-            "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
-            "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
-            "dev": true,
-            "dependencies": {
-                "agent-base": "^7.0.2",
-                "debug": "^4.3.4",
-                "socks": "^2.7.1"
-            },
-            "engines": {
-                "node": ">= 14"
-            }
-        },
         "node_modules/@npmcli/fs": {
             "version": "3.1.0",
             "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz",
@@ -366,9 +364,9 @@
             }
         },
         "node_modules/@npmcli/git": {
-            "version": "5.0.3",
-            "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.3.tgz",
-            "integrity": "sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==",
+            "version": "5.0.4",
+            "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz",
+            "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==",
             "dev": true,
             "dependencies": {
                 "@npmcli/promise-spawn": "^7.0.0",
@@ -434,9 +432,9 @@
             }
         },
         "node_modules/@npmcli/promise-spawn": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.0.tgz",
-            "integrity": "sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==",
+            "version": "7.0.1",
+            "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz",
+            "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==",
             "dev": true,
             "dependencies": {
                 "which": "^4.0.0"
@@ -470,14 +468,14 @@
             }
         },
         "node_modules/@npmcli/run-script": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.1.tgz",
-            "integrity": "sha512-Od/JMrgkjZ8alyBE0IzeqZDiF1jgMez9Gkc/OYrCkHHiXNwM0wc6s7+h+xM7kYDZkS0tAoOLr9VvygyE5+2F7g==",
+            "version": "7.0.3",
+            "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.3.tgz",
+            "integrity": "sha512-ZMWGLHpzMq3rBGIwPyeaoaleaLMvrBrH8nugHxTi5ACkJZXTxXPtVuEH91ifgtss5hUwJQ2VDnzDBWPmz78rvg==",
             "dev": true,
             "dependencies": {
                 "@npmcli/node-gyp": "^3.0.0",
                 "@npmcli/promise-spawn": "^7.0.0",
-                "node-gyp": "^9.0.0",
+                "node-gyp": "^10.0.0",
                 "read-package-json-fast": "^3.0.0",
                 "which": "^4.0.0"
             },
@@ -541,9 +539,9 @@
             }
         },
         "node_modules/@sigstore/sign": {
-            "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.1.0.tgz",
-            "integrity": "sha512-4VRpfJxs+8eLqzLVrZngVNExVA/zAhVbi4UT4zmtLi4xRd7vz5qie834OgkrGsLlLB1B2nz/3wUxT1XAUBe8gw==",
+            "version": "2.2.0",
+            "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.0.tgz",
+            "integrity": "sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==",
             "dev": true,
             "dependencies": {
                 "@sigstore/bundle": "^2.1.0",
@@ -554,28 +552,6 @@
                 "node": "^16.14.0 || >=18.0.0"
             }
         },
-        "node_modules/@sigstore/sign/node_modules/make-fetch-happen": {
-            "version": "13.0.0",
-            "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
-            "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
-            "dev": true,
-            "dependencies": {
-                "@npmcli/agent": "^2.0.0",
-                "cacache": "^18.0.0",
-                "http-cache-semantics": "^4.1.1",
-                "is-lambda": "^1.0.1",
-                "minipass": "^7.0.2",
-                "minipass-fetch": "^3.0.0",
-                "minipass-flush": "^1.0.5",
-                "minipass-pipeline": "^1.2.4",
-                "negotiator": "^0.6.3",
-                "promise-retry": "^2.0.1",
-                "ssri": "^10.0.0"
-            },
-            "engines": {
-                "node": "^16.14.0 || >=18.0.0"
-            }
-        },
         "node_modules/@sigstore/tuf": {
             "version": "2.2.0",
             "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.2.0.tgz",
@@ -590,105 +566,109 @@
             }
         },
         "node_modules/@tapjs/after": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-1.1.4.tgz",
-            "integrity": "sha512-TVjrOwpPZt/VfdYc+X4gF/TY06gDHfzP9lfSv7hcxSaUGtvlU0xLH1xsTZS1BKM+EX1qXrCA8RYaLblAniKmaQ==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-1.1.17.tgz",
+            "integrity": "sha512-14qeP+mHZ8nIMDGtdCwTgvKclLlHxfARMTasb9fw//tmF/8ZDZhTemtCDxAP75wihxy5P7nzVZo/6TpVeOZrwg==",
             "dev": true,
             "dependencies": {
                 "is-actual-promise": "^1.0.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/after-each": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-1.1.4.tgz",
-            "integrity": "sha512-vcmPQi2wXi2obK2j1nXTDo6EV8uqXONGiaPAPsj+iELr7OB3vBR1FFOQ6GWAFw0Xh8EIIUs8CWyNHn40/kmyUg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-1.1.17.tgz",
+            "integrity": "sha512-ia8sr00Wilni+2+wO4MKYCYikeRwUC41HamV8EPN63R2UmiBEOe/cMSf+KYADIh56JvxAiH7Xa0+GSFU+N2FQQ==",
             "dev": true,
             "dependencies": {
                 "function-loop": "^4.0.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/asserts": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-1.1.4.tgz",
-            "integrity": "sha512-5jhbvqJ88agvGEW27l/ucNK7WqQAsCCt6gTBJKdVIL8jOZz5jOVaN/UI6gqUHLO7SYxIl4SOh8N11OYizRSKfA==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-1.1.17.tgz",
+            "integrity": "sha512-eKmbWBORDXu9bUHtPTu7qFrXNj5UeeH2nABJeP9BGHIn2ydmTgMEWCO3E+ljf7tisHchY5/x672lr99+O/mbTQ==",
             "dev": true,
             "dependencies": {
+                "@tapjs/stack": "1.2.7",
                 "is-actual-promise": "^1.0.0",
-                "tcompare": "6.4.0",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/before": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-1.1.4.tgz",
-            "integrity": "sha512-JnCg39toYCBMZKECL6dqXkpi5p9efxvug/vqMoW7XDpYSJRnRz25EUvTPFd1IE6SwVpJF2xRFL7EKUnxLN3JiQ==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-1.1.17.tgz",
+            "integrity": "sha512-pAmEAIMIqF9MPNUgEsnuWCM00iD/FJOX0P5eXSsWexWHjuZAkv5tIT/4qpXO9KYj+9c51Lh+7YSY2Xvk1Jjolw==",
             "dev": true,
             "dependencies": {
                 "is-actual-promise": "^1.0.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/before-each": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-1.1.4.tgz",
-            "integrity": "sha512-DnwLTOmeifh571kvL3Ef94Ui0OpGzM/oIbjOaL9onHnLTR+cOO8yZALJp6zVg/pq/OzScDY3DQuazunolEVCQQ==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-1.1.17.tgz",
+            "integrity": "sha512-d2Um3Y2j0m563QNsSxczh+QeSg5sBngnBFGOelUtQVqmq91oNWU/7mY1pwN6ip8mMIQYD75CIhq5/Z57DGomWQ==",
             "dev": true,
             "dependencies": {
                 "function-loop": "^4.0.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/config": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-2.4.0.tgz",
-            "integrity": "sha512-iz8n4GFY8FM1kKro4W6kZ3mQvzjddL4j8ta1B08q9ix8K5ysfHnbamjh2syORVRGo/dZNMnKvfXTxFzZ+WIbDg==",
+            "version": "2.4.14",
+            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-2.4.14.tgz",
+            "integrity": "sha512-dkjPVJGbLJC9BxCAxudAGiijnKc6XcQbpBSMAGJ/+VoRSqXlPkMWz0d8Ad3rNt7s+g2GBEWBx1kV7wcKtLlxmw==",
             "dev": true,
             "dependencies": {
+                "@tapjs/core": "1.4.6",
+                "@tapjs/test": "1.3.17",
                 "chalk": "^5.2.0",
                 "jackspeak": "^2.3.6",
                 "polite-json": "^4.0.1",
+                "tap-yaml": "2.2.1",
                 "walk-up-path": "^3.0.1"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4",
-                "@tapjs/test": "1.3.4"
+                "@tapjs/core": "1.4.6",
+                "@tapjs/test": "1.3.17"
             }
         },
         "node_modules/@tapjs/config/node_modules/chalk": {
@@ -704,78 +684,75 @@
             }
         },
         "node_modules/@tapjs/core": {
-            "version": "1.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-1.3.4.tgz",
-            "integrity": "sha512-EcINYx86gDzLeZAsHMckv4Fjd4TdYJ7KduvdhD0Qy4EhROjQnaY9lPQTQxT2uwaEjpWB2Pio3ahtLzNUT2lY1g==",
+            "version": "1.4.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-1.4.6.tgz",
+            "integrity": "sha512-cAKtdGJslrziwi/RJBU7jF930P/eSsemv295t6yLekNVP0XUCNtLFYirxuS1Xwob0nt0g/k+94xXB7o1wdTQvA==",
             "dev": true,
             "dependencies": {
-                "@tapjs/processinfo": "^3.1.2",
-                "@tapjs/stack": "1.2.3",
-                "@tapjs/test": "1.3.4",
+                "@tapjs/processinfo": "^3.1.6",
+                "@tapjs/stack": "1.2.7",
+                "@tapjs/test": "1.3.17",
                 "async-hook-domain": "^4.0.1",
+                "diff": "^5.1.0",
                 "is-actual-promise": "^1.0.0",
-                "jackspeak": "^2.3.6",
                 "minipass": "^7.0.3",
                 "signal-exit": "4.1",
-                "tap-parser": "15.2.0",
-                "tcompare": "6.4.0",
+                "tap-parser": "15.3.1",
+                "tap-yaml": "2.2.1",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             }
         },
         "node_modules/@tapjs/error-serdes": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-1.1.0.tgz",
-            "integrity": "sha512-RAdsafCQ9fyudLY4EQPhfWQvRNddvSoXKEsZQWZC6G5QfdB/BYnSqaXggK5TD0XZ79Ja0ex3uB+5kBaaeLKtQA==",
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-1.2.1.tgz",
+            "integrity": "sha512-/7eLEcrGo+Qz3eWrjkhDC+VSEOjabkkzr9eRADeU+OLFeZaik8L/GRk0SGhnp4YsQkv0jcNV00A42bEx2HIZcw==",
             "dev": true,
             "dependencies": {
                 "minipass": "^7.0.3"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             }
         },
         "node_modules/@tapjs/filter": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-1.2.4.tgz",
-            "integrity": "sha512-YHIjat67MuuO2SzSg2Hcwwm1Y1UJ1yvD20hyy6MYGrKG8vkaU1hSu4bBheRhJ2IyqJQVgSIM+raNctlN5Bpa/A==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-1.2.17.tgz",
+            "integrity": "sha512-ytsqoPThV92ML1+M+cHlhAS7nOQpDNRBJiPqw20/GmNeoQXsDzVUlWR89DP3WNNUPrr/c1pCVr9XHVhCIeYk0w==",
             "dev": true,
-            "dependencies": {
-                "tcompare": "6.4.0",
-                "trivial-deferred": "^2.0.0"
-            },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/fixture": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-1.2.4.tgz",
-            "integrity": "sha512-7PHkg7fbKRWThU017qkw92dovreQct3LCArUJ9OdZWFoPYRwYND7CKB3/x7qtnNftBFZbRzf562miH0+TLDDTQ==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-1.2.17.tgz",
+            "integrity": "sha512-eOOQxtsEcQ/sBxaZhpqdF9DCNxXAvLuiE5HgyL6d1eB4eceu57uIUKK7NDtFVv+vlbQH/NoiSTxmN/IBRbKT8w==",
             "dev": true,
             "dependencies": {
                 "mkdirp": "^3.0.0",
                 "rimraf": "^5.0.5"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/fixture/node_modules/brace-expansion": {
@@ -843,64 +820,66 @@
             }
         },
         "node_modules/@tapjs/intercept": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-1.2.4.tgz",
-            "integrity": "sha512-aEPwa40DqJPmgnZRbED+hI1x3dSUn4o5rePW6I2ludRle3o1bHSSnucYsjhwNPz0LCpOH9q/UAivJPO66xyTBA==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-1.2.17.tgz",
+            "integrity": "sha512-CNuYBxiFBMNALS1PxH3yGI10H8ObxOoD67C2xGWyzXeYrPJ/R4x31Sda9bqaoK3uf/vj28bC9kSECCFjRsNAEg==",
             "dev": true,
             "dependencies": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/stack": "1.2.3"
+                "@tapjs/after": "1.1.17",
+                "@tapjs/stack": "1.2.7"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/mock": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-1.2.2.tgz",
-            "integrity": "sha512-5SgMRNaHgxjuna5YfVrT/l9bCTV4qePbqxNhwLWiL/l4fHMcF8CB7jMQ2IXsB8/0q9dKSuuxysOeiYSScNQcsA==",
+            "version": "1.2.15",
+            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-1.2.15.tgz",
+            "integrity": "sha512-uXfVNDAMAbCGOu46B9jbryTau2pLSQjCdWnkAm/OUgZh/OtO0i7OORz9HdEPfEF2tuy1tLo9+vsCZm3lPU5F7w==",
             "dev": true,
             "dependencies": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/stack": "1.2.3",
-                "resolve-import": "^1.4.2",
+                "@tapjs/after": "1.1.17",
+                "@tapjs/stack": "1.2.7",
+                "resolve-import": "^1.4.5",
                 "walk-up-path": "^3.0.1"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/node-serialize": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-1.1.4.tgz",
-            "integrity": "sha512-t0x4jC15jae4DviixIqb0v53eXkWdE3KkmKcf/eMGCqN7EL3lRyQRTOtjC3fJRWmdXYCGK/311DpoUfpgzL3sA==",
+            "version": "1.2.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-1.2.6.tgz",
+            "integrity": "sha512-xj1OJEsdTr0pQFlirfe/apN0dHUCMCx2Nm5H3SoiSOW4D1/FUKS65VZpWgo3mXMPxRyb/2T1DH3xON1eSGq4ww==",
             "dev": true,
             "dependencies": {
-                "@tapjs/error-serdes": "1.1.0"
+                "@tapjs/error-serdes": "1.2.1",
+                "@tapjs/stack": "1.2.7",
+                "tap-parser": "15.3.1"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/processinfo": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/processinfo/-/processinfo-3.1.2.tgz",
-            "integrity": "sha512-O3lg1X7zy4sQs+jDYHu+njFQCC5hYJWRmmbLy9UVhgqQKZifS4DYqkoAedK3ixj5NQ1stMNmJGJxbEvJLw/NWA==",
+            "version": "3.1.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/processinfo/-/processinfo-3.1.6.tgz",
+            "integrity": "sha512-ktDsaf79wJsLaoG1Pp+stHSRf6a1k/JydoRAaYVG5iJnd3DooL6yewZsciUi2yiN/WQc5tAXCIFTXL4uXGB8LA==",
             "dev": true,
             "dependencies": {
                 "pirates": "^4.0.5",
@@ -913,32 +892,33 @@
             }
         },
         "node_modules/@tapjs/reporter": {
-            "version": "1.3.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-1.3.0.tgz",
-            "integrity": "sha512-zjXwsZh895zUPM00w9q0W2u/y2ncTz4q/FYu3Jl8Ph0KcSTiGBob01Rj4+Uhhx0N5YwJxb4HOujRtAqhyqs7Gg==",
+            "version": "1.3.15",
+            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-1.3.15.tgz",
+            "integrity": "sha512-us1vXd6TW1V8wJxxnP2a8DNSP1WFTpODyYukqWg7ym5nCalREYnz2MFsn65rRNu/xJlmqsmv+9P63rupud7Zlg==",
             "dev": true,
             "dependencies": {
-                "@tapjs/config": "2.4.0",
-                "@tapjs/test": "1.3.4",
+                "@tapjs/config": "2.4.14",
+                "@tapjs/stack": "1.2.7",
                 "chalk": "^5.2.0",
                 "ink": "^4.4.1",
                 "minipass": "^7.0.3",
                 "ms": "^2.1.3",
                 "patch-console": "^2.0.0",
-                "prismjs": "^1.29.0",
                 "prismjs-terminal": "^1.2.3",
                 "react": "^18.2.0",
                 "string-length": "^6.0.0",
-                "tcompare": "6.4.0"
+                "tap-parser": "15.3.1",
+                "tap-yaml": "2.2.1",
+                "tcompare": "6.4.5"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/reporter/node_modules/chalk": {
@@ -960,20 +940,21 @@
             "dev": true
         },
         "node_modules/@tapjs/run": {
-            "version": "1.4.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-1.4.0.tgz",
-            "integrity": "sha512-3LNRejFAos8iND30CiQV+RIdaiHBKjsLNq1BZ/nena7lcshKoQCFtiVpKMlqGAStMQgLygjgSo2uHbuSDD0Qww==",
-            "dev": true,
-            "dependencies": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/before": "1.1.4",
-                "@tapjs/config": "2.4.0",
-                "@tapjs/processinfo": "^3.1.2",
-                "@tapjs/reporter": "1.3.0",
-                "@tapjs/spawn": "1.1.4",
-                "@tapjs/stdin": "1.1.4",
-                "@tapjs/test": "1.3.4",
+            "version": "1.4.16",
+            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-1.4.16.tgz",
+            "integrity": "sha512-ZTESjBDj5SitZgWz2hQdzfBoxgaFs89jQjWzqobcdfro0iF7TVRpSrvpz9GTMdo2Tu9aeFfMNfmaAtwNWnDabw==",
+            "dev": true,
+            "dependencies": {
+                "@tapjs/after": "1.1.17",
+                "@tapjs/before": "1.1.17",
+                "@tapjs/config": "2.4.14",
+                "@tapjs/processinfo": "^3.1.6",
+                "@tapjs/reporter": "1.3.15",
+                "@tapjs/spawn": "1.1.17",
+                "@tapjs/stdin": "1.1.17",
+                "@tapjs/test": "1.3.17",
                 "c8": "^8.0.1",
+                "chalk": "^5.3.0",
                 "chokidar": "^3.5.3",
                 "foreground-child": "^3.1.1",
                 "glob": "^10.3.10",
@@ -981,28 +962,27 @@
                 "mkdirp": "^3.0.1",
                 "opener": "^1.5.2",
                 "pacote": "^17.0.3",
-                "path-scurry": "^1.9.2",
-                "resolve-import": "^1.4.2",
+                "resolve-import": "^1.4.5",
                 "rimraf": "^5.0.5",
                 "semver": "^7.5.4",
                 "signal-exit": "^4.1.0",
-                "tap-yaml": "2.2.0",
-                "tcompare": "6.4.0",
+                "tap-parser": "15.3.1",
+                "tap-yaml": "2.2.1",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0",
-                "ts-node": "npm:@isaacs/ts-node-temp-fork-for-pr-2009@^10.9.1",
                 "which": "^4.0.0"
             },
             "bin": {
                 "tap-run": "dist/esm/index.js"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/run/node_modules/brace-expansion": {
@@ -1014,6 +994,18 @@
                 "balanced-match": "^1.0.0"
             }
         },
+        "node_modules/@tapjs/run/node_modules/chalk": {
+            "version": "5.3.0",
+            "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+            "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+            "dev": true,
+            "engines": {
+                "node": "^12.17.0 || ^14.13 || >=16.0.0"
+            },
+            "funding": {
+                "url": "https://github.com/chalk/chalk?sponsor=1"
+            }
+        },
         "node_modules/@tapjs/run/node_modules/glob": {
             "version": "10.3.10",
             "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
@@ -1094,94 +1086,90 @@
             }
         },
         "node_modules/@tapjs/snapshot": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-1.2.4.tgz",
-            "integrity": "sha512-8pStZczbArIC6+s8TblHTs/Mr5RGApWZA91Eey5UuU5MX3IPUw77MPQpPOoh2zrefa8VZRmHM7IgQq8SKyYjyQ==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-1.2.17.tgz",
+            "integrity": "sha512-xDHys854ZA8s/1uCkE5PgBz4H1vYKChD6a4xjLVkaoRxpBHVp/IJZCD+8d69DRGnyuA4x2MGh0JLClTA9bLGrA==",
             "dev": true,
             "dependencies": {
                 "is-actual-promise": "^1.0.0",
-                "tcompare": "6.4.0",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/spawn": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-1.1.4.tgz",
-            "integrity": "sha512-H3/VBi/Zfnb53PbpNmT/OYhIdqk8k6pGnM+WNLB8KBzwLa23q75P0jSYAEhzX3sZO+JIiaHACj/SxvttFapDtg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-1.1.17.tgz",
+            "integrity": "sha512-Bbyxd91bgXEcglvXYKrRl2MaNHk00RajTZJ1kKe3Scr1ivaYv0maE6ZInAl4UE0a4SJl4Dskec+uKoZY3qGUYQ==",
             "dev": true,
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/stack": {
-            "version": "1.2.3",
-            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-1.2.3.tgz",
-            "integrity": "sha512-LY7Rxse2QY+DczTCoqOA4rxjqhnCgXYZeynrhzOsiut6IVnDWnqjUvZMq1XYnk5G69lhgG5lTDHmZrKP33BKgg==",
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-1.2.7.tgz",
+            "integrity": "sha512-7qUDWDmd+y7ZQ0vTrDTvFlWnJ+ND32NemS5HVuT1ZggHtBwJ62PQHIyCx/B5RopETBb6NvFPfUE21yTiex9Jkw==",
             "dev": true,
-            "dependencies": {
-                "tcompare": "6.4.0",
-                "trivial-deferred": "^2.0.0"
-            },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             }
         },
         "node_modules/@tapjs/stdin": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-1.1.4.tgz",
-            "integrity": "sha512-yQzeiWaWRFd5jXVy3F0Q4inQqVmEGynFfWz2cbQYJFm/CNCcKFM1t4uIRRqtNdfJwSrr19m8Lq0qqfT7pHV/yg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-1.1.17.tgz",
+            "integrity": "sha512-mDutFFPDnlVM2oYDAfyYKA+fC+aEiyz5n08D8x6YAbwZNbTIVp+h6ucyp7ygJ04fshd4l3s1HUmCZLSmHb2xEw==",
             "dev": true,
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/test": {
-            "version": "1.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-1.3.4.tgz",
-            "integrity": "sha512-ud2T10OhxdQw4f7Wo4G+5/Vyw5JYgfb5bDmKo0B3xmMgVvIFpUS/4V2Zq+59DZGXmEgjO0KPhb8NvOpOHAy/fg==",
-            "dev": true,
-            "dependencies": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/after-each": "1.1.4",
-                "@tapjs/asserts": "1.1.4",
-                "@tapjs/before": "1.1.4",
-                "@tapjs/before-each": "1.1.4",
-                "@tapjs/filter": "1.2.4",
-                "@tapjs/fixture": "1.2.4",
-                "@tapjs/intercept": "1.2.4",
-                "@tapjs/mock": "1.2.2",
-                "@tapjs/node-serialize": "1.1.4",
-                "@tapjs/snapshot": "1.2.4",
-                "@tapjs/spawn": "1.1.4",
-                "@tapjs/stdin": "1.1.4",
-                "@tapjs/typescript": "1.2.4",
-                "@tapjs/worker": "1.1.4",
+            "version": "1.3.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-1.3.17.tgz",
+            "integrity": "sha512-yQ4uHC2GaDS+Gr5qwx9uMGxqvpYgnlVY+QexBReSeYZthWIN0KD8HDvnVt4An5Sx/Qhd7UlnNpNMBd6AkvPEew==",
+            "dev": true,
+            "dependencies": {
+                "@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.5",
+                "@tapjs/after": "1.1.17",
+                "@tapjs/after-each": "1.1.17",
+                "@tapjs/asserts": "1.1.17",
+                "@tapjs/before": "1.1.17",
+                "@tapjs/before-each": "1.1.17",
+                "@tapjs/filter": "1.2.17",
+                "@tapjs/fixture": "1.2.17",
+                "@tapjs/intercept": "1.2.17",
+                "@tapjs/mock": "1.2.15",
+                "@tapjs/node-serialize": "1.2.6",
+                "@tapjs/snapshot": "1.2.17",
+                "@tapjs/spawn": "1.1.17",
+                "@tapjs/stdin": "1.1.17",
+                "@tapjs/typescript": "1.3.6",
+                "@tapjs/worker": "1.1.17",
                 "glob": "^10.3.10",
                 "jackspeak": "^2.3.6",
                 "mkdirp": "^3.0.0",
-                "resolve-import": "^1.4.1",
+                "resolve-import": "^1.4.5",
                 "rimraf": "^5.0.5",
                 "sync-content": "^1.0.1",
-                "tap-parser": "15.2.0",
-                "ts-node": "npm:@isaacs/ts-node-temp-fork-for-pr-2009@^10.9.1",
+                "tap-parser": "15.3.1",
                 "tshy": "^1.2.2",
                 "typescript": "5.2"
             },
@@ -1189,10 +1177,10 @@
                 "generate-tap-test-class": "scripts/build.mjs"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/test/node_modules/brace-expansion": {
@@ -1260,39 +1248,30 @@
             }
         },
         "node_modules/@tapjs/typescript": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-1.2.4.tgz",
-            "integrity": "sha512-exhSckFlKLr0RFHKYBJb3N6CftoafH5GwNeAWN0yua+FmzwDleGvgKThW3l/xeOF7BeCq/m4zu9HWrwjkPaDhQ==",
+            "version": "1.3.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-1.3.6.tgz",
+            "integrity": "sha512-bHqQb06HcD1vFvSwElH0WK4cnCNthvA5OX/KBs5w1TNFHIeRHemp/hsSnGSNDwYwDETuOxD68rDZNTpNbzysBg==",
             "dev": true,
             "dependencies": {
-                "ts-node": "npm:@isaacs/ts-node-temp-fork-for-pr-2009@^10.9.1"
+                "@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.5"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tapjs/worker": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-1.1.4.tgz",
-            "integrity": "sha512-HcaafOWghXpMtLaCk8BOIMQcphZU2Gi0OSUb6vzgxKQ4iQxTsBkJSnZ1+4F8Qed9EWZ9n6zaggjy7/fDLVdJRg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-1.1.17.tgz",
+            "integrity": "sha512-DCRzEBT+OgP518rQqzlX6KawvGTegkeEjPVa/TB6Iifj8WOHJ+XtunkR7riIRGEoCEOMD49DCJXj70c+XP0jNw==",
             "dev": true,
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "peerDependencies": {
-                "@tapjs/core": "1.3.4"
-            }
-        },
-        "node_modules/@tootallnate/once": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
-            "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
-            "dev": true,
-            "engines": {
-                "node": ">= 10"
+                "@tapjs/core": "1.4.6"
             }
         },
         "node_modules/@tsconfig/node14": {
@@ -1366,23 +1345,29 @@
             }
         },
         "node_modules/@types/istanbul-lib-coverage": {
-            "version": "2.0.4",
-            "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
-            "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
+            "version": "2.0.6",
+            "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+            "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
             "dev": true
         },
         "node_modules/@types/node": {
-            "version": "20.8.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.0.tgz",
-            "integrity": "sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==",
+            "version": "20.10.6",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz",
+            "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==",
             "dev": true,
-            "peer": true
+            "peer": true,
+            "dependencies": {
+                "undici-types": "~5.26.4"
+            }
         },
         "node_modules/abbrev": {
-            "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-            "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
-            "dev": true
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+            "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
+            "dev": true,
+            "engines": {
+                "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+            }
         },
         "node_modules/acorn": {
             "version": "8.8.2",
@@ -1404,36 +1389,24 @@
             }
         },
         "node_modules/acorn-walk": {
-            "version": "8.2.0",
-            "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
-            "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+            "version": "8.3.1",
+            "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz",
+            "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==",
             "dev": true,
             "engines": {
                 "node": ">=0.4.0"
             }
         },
         "node_modules/agent-base": {
-            "version": "6.0.2",
-            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-            "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-            "dev": true,
-            "dependencies": {
-                "debug": "4"
-            },
-            "engines": {
-                "node": ">= 6.0.0"
-            }
-        },
-        "node_modules/agentkeepalive": {
-            "version": "4.5.0",
-            "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
-            "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+            "version": "7.1.0",
+            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+            "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
             "dev": true,
             "dependencies": {
-                "humanize-ms": "^1.2.1"
+                "debug": "^4.3.4"
             },
             "engines": {
-                "node": ">= 8.0.0"
+                "node": ">= 14"
             }
         },
         "node_modules/aggregate-error": {
@@ -1535,25 +1508,6 @@
                 "node": ">= 8"
             }
         },
-        "node_modules/aproba": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
-            "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
-            "dev": true
-        },
-        "node_modules/are-we-there-yet": {
-            "version": "3.0.1",
-            "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
-            "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
-            "dev": true,
-            "dependencies": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^3.6.0"
-            },
-            "engines": {
-                "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-            }
-        },
         "node_modules/arg": {
             "version": "4.1.3",
             "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
@@ -1676,9 +1630,9 @@
             "dev": true
         },
         "node_modules/cacache": {
-            "version": "18.0.0",
-            "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.0.tgz",
-            "integrity": "sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==",
+            "version": "18.0.2",
+            "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz",
+            "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==",
             "dev": true,
             "dependencies": {
                 "@npmcli/fs": "^3.1.0",
@@ -1686,7 +1640,7 @@
                 "glob": "^10.2.2",
                 "lru-cache": "^10.0.1",
                 "minipass": "^7.0.3",
-                "minipass-collect": "^1.0.2",
+                "minipass-collect": "^2.0.1",
                 "minipass-flush": "^1.0.5",
                 "minipass-pipeline": "^1.2.4",
                 "p-map": "^4.0.0",
@@ -1821,9 +1775,9 @@
             "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
         },
         "node_modules/ci-info": {
-            "version": "3.8.0",
-            "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
-            "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
+            "version": "3.9.0",
+            "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+            "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
             "dev": true,
             "funding": [
                 {
@@ -2003,15 +1957,6 @@
             "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
             "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
         },
-        "node_modules/color-support": {
-            "version": "1.1.3",
-            "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
-            "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
-            "dev": true,
-            "bin": {
-                "color-support": "bin.js"
-            }
-        },
         "node_modules/command-exists": {
             "version": "1.2.9",
             "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
@@ -2022,16 +1967,10 @@
             "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
             "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
         },
-        "node_modules/console-control-strings": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
-            "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
-            "dev": true
-        },
         "node_modules/convert-source-map": {
-            "version": "1.9.0",
-            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
-            "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+            "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
             "dev": true
         },
         "node_modules/convert-to-spaces": {
@@ -2077,16 +2016,10 @@
             "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
             "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
         },
-        "node_modules/delegates": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
-            "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
-            "dev": true
-        },
         "node_modules/diff": {
-            "version": "4.0.2",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
-            "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+            "version": "5.1.0",
+            "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+            "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
             "dev": true,
             "engines": {
                 "node": ">=0.3.1"
@@ -2454,10 +2387,13 @@
             }
         },
         "node_modules/function-bind": {
-            "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-            "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
-            "dev": true
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+            "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+            "dev": true,
+            "funding": {
+                "url": "https://github.com/sponsors/ljharb"
+            }
         },
         "node_modules/function-loop": {
             "version": "4.0.0",
@@ -2465,60 +2401,6 @@
             "integrity": "sha512-f34iQBedYF3XcI93uewZZOnyscDragxgTK/eTvVB74k3fCD0ZorOi5BV9GS4M8rz/JoNi0Kl3qX5Y9MH3S/CLQ==",
             "dev": true
         },
-        "node_modules/gauge": {
-            "version": "4.0.4",
-            "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
-            "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
-            "dev": true,
-            "dependencies": {
-                "aproba": "^1.0.3 || ^2.0.0",
-                "color-support": "^1.1.3",
-                "console-control-strings": "^1.1.0",
-                "has-unicode": "^2.0.1",
-                "signal-exit": "^3.0.7",
-                "string-width": "^4.2.3",
-                "strip-ansi": "^6.0.1",
-                "wide-align": "^1.1.5"
-            },
-            "engines": {
-                "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-            }
-        },
-        "node_modules/gauge/node_modules/emoji-regex": {
-            "version": "8.0.0",
-            "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-            "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-            "dev": true
-        },
-        "node_modules/gauge/node_modules/is-fullwidth-code-point": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-            "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/gauge/node_modules/signal-exit": {
-            "version": "3.0.7",
-            "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-            "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
-            "dev": true
-        },
-        "node_modules/gauge/node_modules/string-width": {
-            "version": "4.2.3",
-            "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-            "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-            "dev": true,
-            "dependencies": {
-                "emoji-regex": "^8.0.0",
-                "is-fullwidth-code-point": "^3.0.0",
-                "strip-ansi": "^6.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
         "node_modules/get-caller-file": {
             "version": "2.0.5",
             "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -2583,18 +2465,6 @@
             "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
             "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
         },
-        "node_modules/has": {
-            "version": "1.0.3",
-            "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-            "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-            "dev": true,
-            "dependencies": {
-                "function-bind": "^1.1.1"
-            },
-            "engines": {
-                "node": ">= 0.4.0"
-            }
-        },
         "node_modules/has-flag": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
@@ -2603,11 +2473,17 @@
                 "node": ">=8"
             }
         },
-        "node_modules/has-unicode": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
-            "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
-            "dev": true
+        "node_modules/hasown": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+            "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+            "dev": true,
+            "dependencies": {
+                "function-bind": "^1.1.2"
+            },
+            "engines": {
+                "node": ">= 0.4"
+            }
         },
         "node_modules/he": {
             "version": "1.2.0",
@@ -2642,39 +2518,29 @@
             "dev": true
         },
         "node_modules/http-proxy-agent": {
-            "version": "5.0.0",
-            "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
-            "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+            "version": "7.0.0",
+            "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
+            "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
             "dev": true,
             "dependencies": {
-                "@tootallnate/once": "2",
-                "agent-base": "6",
-                "debug": "4"
+                "agent-base": "^7.1.0",
+                "debug": "^4.3.4"
             },
             "engines": {
-                "node": ">= 6"
+                "node": ">= 14"
             }
         },
         "node_modules/https-proxy-agent": {
-            "version": "5.0.1",
-            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-            "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+            "version": "7.0.2",
+            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
+            "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
             "dev": true,
             "dependencies": {
-                "agent-base": "6",
+                "agent-base": "^7.0.2",
                 "debug": "4"
             },
             "engines": {
-                "node": ">= 6"
-            }
-        },
-        "node_modules/humanize-ms": {
-            "version": "1.2.1",
-            "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
-            "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
-            "dev": true,
-            "dependencies": {
-                "ms": "^2.0.0"
+                "node": ">= 14"
             }
         },
         "node_modules/iconv-lite": {
@@ -2699,9 +2565,9 @@
             }
         },
         "node_modules/ignore-walk": {
-            "version": "6.0.3",
-            "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz",
-            "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==",
+            "version": "6.0.4",
+            "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz",
+            "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==",
             "dev": true,
             "dependencies": {
                 "minimatch": "^9.0.0"
@@ -2883,10 +2749,13 @@
             "dev": true
         },
         "node_modules/is-actual-promise": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/is-actual-promise/-/is-actual-promise-1.0.0.tgz",
-            "integrity": "sha512-DWSmKTiEoY3Y9LGHG9TVnFgydCCu+3fLJi4rv3fpi0gL/lKoILekh/oF/nO3/Lq1l5Rqo+tQt5TWzxMmYIhWyg==",
-            "dev": true
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/is-actual-promise/-/is-actual-promise-1.0.1.tgz",
+            "integrity": "sha512-PlsL4tNv62lx5yN2HSqaRSTgIpUAPW7U6+crVB8HfWm5161rZpeqWbl0ZSqH2MAfRKXWSZVPRNbE/r8qPcb13g==",
+            "dev": true,
+            "dependencies": {
+                "tshy": "^1.7.0"
+            }
         },
         "node_modules/is-binary-path": {
             "version": "2.1.0",
@@ -2913,12 +2782,12 @@
             }
         },
         "node_modules/is-core-module": {
-            "version": "2.13.0",
-            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
-            "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
+            "version": "2.13.1",
+            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+            "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
             "dev": true,
             "dependencies": {
-                "has": "^1.0.3"
+                "hasown": "^2.0.0"
             },
             "funding": {
                 "url": "https://github.com/sponsors/ljharb"
@@ -3011,9 +2880,9 @@
             "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
         },
         "node_modules/istanbul-lib-coverage": {
-            "version": "3.2.0",
-            "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
-            "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+            "version": "3.2.2",
+            "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+            "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
             "dev": true,
             "engines": {
                 "node": ">=8"
@@ -3096,9 +2965,9 @@
             "integrity": "sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g=="
         },
         "node_modules/json-parse-even-better-errors": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
-            "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz",
+            "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==",
             "dev": true,
             "engines": {
                 "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -3173,9 +3042,9 @@
             }
         },
         "node_modules/lru-cache": {
-            "version": "10.0.1",
-            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
-            "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
+            "version": "10.1.0",
+            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
+            "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
             "dev": true,
             "engines": {
                 "node": "14 || >=16.14"
@@ -3203,125 +3072,25 @@
             "dev": true
         },
         "node_modules/make-fetch-happen": {
-            "version": "11.1.1",
-            "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
-            "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+            "version": "13.0.0",
+            "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
+            "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
             "dev": true,
             "dependencies": {
-                "agentkeepalive": "^4.2.1",
-                "cacache": "^17.0.0",
+                "@npmcli/agent": "^2.0.0",
+                "cacache": "^18.0.0",
                 "http-cache-semantics": "^4.1.1",
-                "http-proxy-agent": "^5.0.0",
-                "https-proxy-agent": "^5.0.0",
                 "is-lambda": "^1.0.1",
-                "lru-cache": "^7.7.1",
-                "minipass": "^5.0.0",
+                "minipass": "^7.0.2",
                 "minipass-fetch": "^3.0.0",
                 "minipass-flush": "^1.0.5",
                 "minipass-pipeline": "^1.2.4",
                 "negotiator": "^0.6.3",
                 "promise-retry": "^2.0.1",
-                "socks-proxy-agent": "^7.0.0",
                 "ssri": "^10.0.0"
             },
             "engines": {
-                "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-            }
-        },
-        "node_modules/make-fetch-happen/node_modules/brace-expansion": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-            "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
-            "dev": true,
-            "dependencies": {
-                "balanced-match": "^1.0.0"
-            }
-        },
-        "node_modules/make-fetch-happen/node_modules/cacache": {
-            "version": "17.1.4",
-            "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz",
-            "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==",
-            "dev": true,
-            "dependencies": {
-                "@npmcli/fs": "^3.1.0",
-                "fs-minipass": "^3.0.0",
-                "glob": "^10.2.2",
-                "lru-cache": "^7.7.1",
-                "minipass": "^7.0.3",
-                "minipass-collect": "^1.0.2",
-                "minipass-flush": "^1.0.5",
-                "minipass-pipeline": "^1.2.4",
-                "p-map": "^4.0.0",
-                "ssri": "^10.0.0",
-                "tar": "^6.1.11",
-                "unique-filename": "^3.0.0"
-            },
-            "engines": {
-                "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
-            }
-        },
-        "node_modules/make-fetch-happen/node_modules/cacache/node_modules/minipass": {
-            "version": "7.0.4",
-            "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-            "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=16 || 14 >=14.17"
-            }
-        },
-        "node_modules/make-fetch-happen/node_modules/glob": {
-            "version": "10.3.10",
-            "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
-            "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
-            "dev": true,
-            "dependencies": {
-                "foreground-child": "^3.1.0",
-                "jackspeak": "^2.3.5",
-                "minimatch": "^9.0.1",
-                "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
-                "path-scurry": "^1.10.1"
-            },
-            "bin": {
-                "glob": "dist/esm/bin.mjs"
-            },
-            "engines": {
-                "node": ">=16 || 14 >=14.17"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
-        "node_modules/make-fetch-happen/node_modules/lru-cache": {
-            "version": "7.18.3",
-            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-            "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
-            "dev": true,
-            "engines": {
-                "node": ">=12"
-            }
-        },
-        "node_modules/make-fetch-happen/node_modules/minimatch": {
-            "version": "9.0.3",
-            "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
-            "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
-            "dev": true,
-            "dependencies": {
-                "brace-expansion": "^2.0.1"
-            },
-            "engines": {
-                "node": ">=16 || 14 >=14.17"
-            },
-            "funding": {
-                "url": "https://github.com/sponsors/isaacs"
-            }
-        },
-        "node_modules/make-fetch-happen/node_modules/minipass": {
-            "version": "5.0.0",
-            "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-            "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
+                "node": "^16.14.0 || >=18.0.0"
             }
         },
         "node_modules/marked": {
@@ -3365,27 +3134,15 @@
             }
         },
         "node_modules/minipass-collect": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
-            "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
-            "dev": true,
-            "dependencies": {
-                "minipass": "^3.0.0"
-            },
-            "engines": {
-                "node": ">= 8"
-            }
-        },
-        "node_modules/minipass-collect/node_modules/minipass": {
-            "version": "3.3.6",
-            "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
-            "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
+            "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
             "dev": true,
             "dependencies": {
-                "yallist": "^4.0.0"
+                "minipass": "^7.0.3"
             },
             "engines": {
-                "node": ">=8"
+                "node": ">=16 || 14 >=14.17"
             }
         },
         "node_modules/minipass-fetch": {
@@ -3559,43 +3316,112 @@
             }
         },
         "node_modules/node-gyp": {
-            "version": "9.4.0",
-            "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz",
-            "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==",
+            "version": "10.0.1",
+            "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz",
+            "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==",
             "dev": true,
             "dependencies": {
                 "env-paths": "^2.2.0",
                 "exponential-backoff": "^3.1.1",
-                "glob": "^7.1.4",
+                "glob": "^10.3.10",
                 "graceful-fs": "^4.2.6",
-                "make-fetch-happen": "^11.0.3",
-                "nopt": "^6.0.0",
-                "npmlog": "^6.0.0",
-                "rimraf": "^3.0.2",
+                "make-fetch-happen": "^13.0.0",
+                "nopt": "^7.0.0",
+                "proc-log": "^3.0.0",
                 "semver": "^7.3.5",
                 "tar": "^6.1.2",
-                "which": "^2.0.2"
+                "which": "^4.0.0"
             },
             "bin": {
                 "node-gyp": "bin/node-gyp.js"
             },
             "engines": {
-                "node": "^12.13 || ^14.13 || >=16"
+                "node": "^16.14.0 || >=18.0.0"
+            }
+        },
+        "node_modules/node-gyp/node_modules/brace-expansion": {
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+            "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+            "dev": true,
+            "dependencies": {
+                "balanced-match": "^1.0.0"
+            }
+        },
+        "node_modules/node-gyp/node_modules/glob": {
+            "version": "10.3.10",
+            "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+            "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+            "dev": true,
+            "dependencies": {
+                "foreground-child": "^3.1.0",
+                "jackspeak": "^2.3.5",
+                "minimatch": "^9.0.1",
+                "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+                "path-scurry": "^1.10.1"
+            },
+            "bin": {
+                "glob": "dist/esm/bin.mjs"
+            },
+            "engines": {
+                "node": ">=16 || 14 >=14.17"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/isaacs"
+            }
+        },
+        "node_modules/node-gyp/node_modules/isexe": {
+            "version": "3.1.1",
+            "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+            "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+            "dev": true,
+            "engines": {
+                "node": ">=16"
+            }
+        },
+        "node_modules/node-gyp/node_modules/minimatch": {
+            "version": "9.0.3",
+            "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+            "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+            "dev": true,
+            "dependencies": {
+                "brace-expansion": "^2.0.1"
+            },
+            "engines": {
+                "node": ">=16 || 14 >=14.17"
+            },
+            "funding": {
+                "url": "https://github.com/sponsors/isaacs"
+            }
+        },
+        "node_modules/node-gyp/node_modules/which": {
+            "version": "4.0.0",
+            "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+            "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+            "dev": true,
+            "dependencies": {
+                "isexe": "^3.1.1"
+            },
+            "bin": {
+                "node-which": "bin/which.js"
+            },
+            "engines": {
+                "node": "^16.13.0 || >=18.0.0"
             }
         },
         "node_modules/nopt": {
-            "version": "6.0.0",
-            "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
-            "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+            "version": "7.2.0",
+            "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz",
+            "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
             "dev": true,
             "dependencies": {
-                "abbrev": "^1.0.0"
+                "abbrev": "^2.0.0"
             },
             "bin": {
                 "nopt": "bin/nopt.js"
             },
             "engines": {
-                "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+                "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
             }
         },
         "node_modules/normalize-package-data": {
@@ -3635,9 +3461,9 @@
             }
         },
         "node_modules/npm-install-checks": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.2.0.tgz",
-            "integrity": "sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==",
+            "version": "6.3.0",
+            "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz",
+            "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==",
             "dev": true,
             "dependencies": {
                 "semver": "^7.1.1"
@@ -3671,12 +3497,12 @@
             }
         },
         "node_modules/npm-packlist": {
-            "version": "8.0.0",
-            "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.0.tgz",
-            "integrity": "sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==",
+            "version": "8.0.1",
+            "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.1.tgz",
+            "integrity": "sha512-MQpL27ZrsJQ2kiAuQPpZb5LtJwydNRnI15QWXsf3WHERu4rzjRj6Zju/My2fov7tLuu3Gle/uoIX/DDZ3u4O4Q==",
             "dev": true,
             "dependencies": {
-                "ignore-walk": "^6.0.0"
+                "ignore-walk": "^6.0.4"
             },
             "engines": {
                 "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
@@ -3698,9 +3524,9 @@
             }
         },
         "node_modules/npm-registry-fetch": {
-            "version": "16.0.0",
-            "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.0.0.tgz",
-            "integrity": "sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==",
+            "version": "16.1.0",
+            "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz",
+            "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==",
             "dev": true,
             "dependencies": {
                 "make-fetch-happen": "^13.0.0",
@@ -3715,43 +3541,6 @@
                 "node": "^16.14.0 || >=18.0.0"
             }
         },
-        "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": {
-            "version": "13.0.0",
-            "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
-            "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
-            "dev": true,
-            "dependencies": {
-                "@npmcli/agent": "^2.0.0",
-                "cacache": "^18.0.0",
-                "http-cache-semantics": "^4.1.1",
-                "is-lambda": "^1.0.1",
-                "minipass": "^7.0.2",
-                "minipass-fetch": "^3.0.0",
-                "minipass-flush": "^1.0.5",
-                "minipass-pipeline": "^1.2.4",
-                "negotiator": "^0.6.3",
-                "promise-retry": "^2.0.1",
-                "ssri": "^10.0.0"
-            },
-            "engines": {
-                "node": "^16.14.0 || >=18.0.0"
-            }
-        },
-        "node_modules/npmlog": {
-            "version": "6.0.2",
-            "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
-            "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
-            "dev": true,
-            "dependencies": {
-                "are-we-there-yet": "^3.0.0",
-                "console-control-strings": "^1.1.0",
-                "gauge": "^4.0.3",
-                "set-blocking": "^2.0.0"
-            },
-            "engines": {
-                "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
-            }
-        },
         "node_modules/once": {
             "version": "1.4.0",
             "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
@@ -3844,9 +3633,9 @@
             }
         },
         "node_modules/pacote": {
-            "version": "17.0.4",
-            "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.4.tgz",
-            "integrity": "sha512-eGdLHrV/g5b5MtD5cTPyss+JxOlaOloSMG3UwPMAvL8ywaLJ6beONPF40K4KKl/UI6q5hTKCJq5rCu8tkF+7Dg==",
+            "version": "17.0.5",
+            "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.5.tgz",
+            "integrity": "sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==",
             "dev": true,
             "dependencies": {
                 "@npmcli/git": "^5.0.0",
@@ -4231,20 +4020,6 @@
                 "url": "https://github.com/sponsors/isaacs"
             }
         },
-        "node_modules/readable-stream": {
-            "version": "3.6.2",
-            "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-            "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-            "dev": true,
-            "dependencies": {
-                "inherits": "^2.0.3",
-                "string_decoder": "^1.1.1",
-                "util-deprecate": "^1.0.1"
-            },
-            "engines": {
-                "node": ">= 6"
-            }
-        },
         "node_modules/readdirp": {
             "version": "3.6.0",
             "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -4275,16 +4050,16 @@
             }
         },
         "node_modules/resolve-import": {
-            "version": "1.4.2",
-            "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-1.4.2.tgz",
-            "integrity": "sha512-ayUU3E2yeFu8ZewNEHbGorcPmHjOmCY8b50wloum8eQUuNExSyddRoWYaX0X6lj3XSufi2WUlXY3mkMcF5ISmw==",
+            "version": "1.4.5",
+            "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-1.4.5.tgz",
+            "integrity": "sha512-HXb4YqODuuXT7Icq1Z++0g2JmhgbUHSs3VT2xR83gqvAPUikYT2Xk+562KHQgiaNkbBOlPddYrDLsC44qQggzw==",
             "dev": true,
             "dependencies": {
                 "glob": "^10.3.3",
                 "walk-up-path": "^3.0.1"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
@@ -4412,26 +4187,6 @@
                 "queue-microtask": "^1.2.2"
             }
         },
-        "node_modules/safe-buffer": {
-            "version": "5.2.1",
-            "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-            "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-            "dev": true,
-            "funding": [
-                {
-                    "type": "github",
-                    "url": "https://github.com/sponsors/feross"
-                },
-                {
-                    "type": "patreon",
-                    "url": "https://www.patreon.com/feross"
-                },
-                {
-                    "type": "consulting",
-                    "url": "https://feross.org/support"
-                }
-            ]
-        },
         "node_modules/safer-buffer": {
             "version": "2.1.2",
             "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -4475,12 +4230,6 @@
                 "node": ">=10"
             }
         },
-        "node_modules/set-blocking": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-            "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
-            "dev": true
-        },
         "node_modules/shebang-command": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -4580,17 +4329,17 @@
             }
         },
         "node_modules/socks-proxy-agent": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
-            "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+            "version": "8.0.2",
+            "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
+            "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
             "dev": true,
             "dependencies": {
-                "agent-base": "^6.0.2",
-                "debug": "^4.3.3",
-                "socks": "^2.6.2"
+                "agent-base": "^7.0.2",
+                "debug": "^4.3.4",
+                "socks": "^2.7.1"
             },
             "engines": {
-                "node": ">= 10"
+                "node": ">= 14"
             }
         },
         "node_modules/spdx-correct": {
@@ -4620,9 +4369,9 @@
             }
         },
         "node_modules/spdx-license-ids": {
-            "version": "3.0.15",
-            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz",
-            "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==",
+            "version": "3.0.16",
+            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
+            "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
             "dev": true
         },
         "node_modules/ssri": {
@@ -4658,15 +4407,6 @@
                 "node": ">=8"
             }
         },
-        "node_modules/string_decoder": {
-            "version": "1.3.0",
-            "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-            "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-            "dev": true,
-            "dependencies": {
-                "safe-buffer": "~5.2.0"
-            }
-        },
         "node_modules/string-length": {
             "version": "6.0.0",
             "resolved": "https://registry.npmjs.org/string-length/-/string-length-6.0.0.tgz",
@@ -4920,67 +4660,68 @@
             }
         },
         "node_modules/tap": {
-            "version": "18.4.0",
-            "resolved": "https://registry.npmjs.org/tap/-/tap-18.4.0.tgz",
-            "integrity": "sha512-42bqz0KpoDg8F6Gs5zrTVOELq5ShaK86rCsRG6C6uJM7nUANCB3GW9Dmvy3BGHRll4wAwr+SA+iM0tvBQtrilg==",
-            "dev": true,
-            "dependencies": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/after-each": "1.1.4",
-                "@tapjs/asserts": "1.1.4",
-                "@tapjs/before": "1.1.4",
-                "@tapjs/before-each": "1.1.4",
-                "@tapjs/core": "1.3.4",
-                "@tapjs/filter": "1.2.4",
-                "@tapjs/fixture": "1.2.4",
-                "@tapjs/intercept": "1.2.4",
-                "@tapjs/mock": "1.2.2",
-                "@tapjs/node-serialize": "1.1.4",
-                "@tapjs/run": "1.4.0",
-                "@tapjs/snapshot": "1.2.4",
-                "@tapjs/spawn": "1.1.4",
-                "@tapjs/stdin": "1.1.4",
-                "@tapjs/test": "1.3.4",
-                "@tapjs/typescript": "1.2.4",
-                "@tapjs/worker": "1.1.4"
+            "version": "18.6.1",
+            "resolved": "https://registry.npmjs.org/tap/-/tap-18.6.1.tgz",
+            "integrity": "sha512-5cBQhJ1gdbsrTR3tA5kZZTts0HyOML6bcM7pEF7GF8d6y1ajfRMjbInS1Ty7/x2Ip0ko3cY1dYjPJ9JFNPsm7w==",
+            "dev": true,
+            "dependencies": {
+                "@tapjs/after": "1.1.17",
+                "@tapjs/after-each": "1.1.17",
+                "@tapjs/asserts": "1.1.17",
+                "@tapjs/before": "1.1.17",
+                "@tapjs/before-each": "1.1.17",
+                "@tapjs/core": "1.4.6",
+                "@tapjs/filter": "1.2.17",
+                "@tapjs/fixture": "1.2.17",
+                "@tapjs/intercept": "1.2.17",
+                "@tapjs/mock": "1.2.15",
+                "@tapjs/node-serialize": "1.2.6",
+                "@tapjs/run": "1.4.16",
+                "@tapjs/snapshot": "1.2.17",
+                "@tapjs/spawn": "1.1.17",
+                "@tapjs/stdin": "1.1.17",
+                "@tapjs/test": "1.3.17",
+                "@tapjs/typescript": "1.3.6",
+                "@tapjs/worker": "1.1.17",
+                "resolve-import": "^1.4.5"
             },
             "bin": {
                 "tap": "dist/esm/run.mjs"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             },
             "funding": {
                 "url": "https://github.com/sponsors/isaacs"
             }
         },
         "node_modules/tap-parser": {
-            "version": "15.2.0",
-            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-15.2.0.tgz",
-            "integrity": "sha512-bDBR7cuVLfsmmc7ruerZXVBlDtJwqqWzqlO9BFNgw6gprpzjnjyfdc+fsW6mNUYSoxdVEeY7NFgrgGa81EuQ5w==",
+            "version": "15.3.1",
+            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-15.3.1.tgz",
+            "integrity": "sha512-hwAtXX5TBGt2MJeYvASc7DjP48PUzA7P8RTbLxQcgKCEH7ICD5IsRco7l5YvkzjHlZbUbeI9wzO8B4hw2sKgnQ==",
             "dev": true,
             "dependencies": {
                 "events-to-array": "^2.0.3",
-                "tap-yaml": "2.2.0"
+                "tap-yaml": "2.2.1"
             },
             "bin": {
                 "tap-parser": "bin/cmd.cjs"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             }
         },
         "node_modules/tap-yaml": {
-            "version": "2.2.0",
-            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-2.2.0.tgz",
-            "integrity": "sha512-o8I7WDNiGpuF04tGAVaNYY5rX9waCtqw9A7Y0YVSQBGcFwNUJWUPLkr2lbhgLRTxc+Tpnw4xUXlIanZc+ZAGnw==",
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-2.2.1.tgz",
+            "integrity": "sha512-ovZuUMLAIH59jnFHXKEGJ+WyDYl6Cuduwg9qpvnqkZOUA1nU84q02Sry1HT0KXcdv2uB91bEKKxnIybBgrb6oA==",
             "dev": true,
             "dependencies": {
                 "yaml": "^2.3.0",
                 "yaml-types": "^0.3.0"
             },
             "engines": {
-                "node": ">=16"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             }
         },
         "node_modules/tar": {
@@ -5046,25 +4787,16 @@
             }
         },
         "node_modules/tcompare": {
-            "version": "6.4.0",
-            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-6.4.0.tgz",
-            "integrity": "sha512-MR0TPvFaEQ53jgMP43aHr3wKGKKPi6Th3nxHoIsBVL0AxjKdfyrIIWvYt7u30NNs57Vc6UP5ooq/sD69IhQPzw==",
+            "version": "6.4.5",
+            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-6.4.5.tgz",
+            "integrity": "sha512-Whuz9xlKKI2XXICKDSDRKjXdBuC6gBNOgmEUtH7UFyQeYzfUMQ19DyjZULarGKDGFhgOg3CJ+IQUEfpkOPg0Uw==",
             "dev": true,
             "dependencies": {
                 "diff": "^5.1.0",
                 "react-element-to-jsx-string": "^15.0.0"
             },
             "engines": {
-                "node": ">=16"
-            }
-        },
-        "node_modules/tcompare/node_modules/diff": {
-            "version": "5.1.0",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
-            "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
-            "dev": true,
-            "engines": {
-                "node": ">=0.3.1"
+                "node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
             }
         },
         "node_modules/test-exclude": {
@@ -5107,57 +4839,17 @@
                 "node": ">= 8"
             }
         },
-        "node_modules/ts-node": {
-            "name": "@isaacs/ts-node-temp-fork-for-pr-2009",
-            "version": "10.9.1",
-            "resolved": "https://registry.npmjs.org/@isaacs/ts-node-temp-fork-for-pr-2009/-/ts-node-temp-fork-for-pr-2009-10.9.1.tgz",
-            "integrity": "sha512-MY4rUonz835NsTbd4dcgKZvZFYX9IkLnYFZV9M7GQV8t39fawafLin/Qw6VXD4yfMs4HcBq8P3ddeU0QHMH1YQ==",
-            "dev": true,
-            "dependencies": {
-                "@cspotcode/source-map-support": "^0.8.0",
-                "@tsconfig/node14": "*",
-                "@tsconfig/node16": "*",
-                "@tsconfig/node18": "*",
-                "@tsconfig/node20": "*",
-                "acorn": "^8.4.1",
-                "acorn-walk": "^8.1.1",
-                "arg": "^4.1.0",
-                "diff": "^4.0.1",
-                "make-error": "^1.1.1",
-                "v8-compile-cache-lib": "^3.0.1"
-            },
-            "bin": {
-                "ts-node": "dist/bin.js",
-                "ts-node-cwd": "dist/bin-cwd.js",
-                "ts-node-esm": "dist/bin-esm.js",
-                "ts-node-script": "dist/bin-script.js",
-                "ts-node-transpile-only": "dist/bin-transpile.js"
-            },
-            "peerDependencies": {
-                "@swc/core": ">=1.2.50",
-                "@swc/wasm": ">=1.2.50",
-                "@types/node": "*",
-                "typescript": ">=4.2"
-            },
-            "peerDependenciesMeta": {
-                "@swc/core": {
-                    "optional": true
-                },
-                "@swc/wasm": {
-                    "optional": true
-                }
-            }
-        },
         "node_modules/tshy": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/tshy/-/tshy-1.2.2.tgz",
-            "integrity": "sha512-y5ItK4DKLYO+hba7h5sOaCYygNtF44qytZGyjZSE6CQSVfzUfZ2qn/GmXu737amwfCKG9EizPw3oPBWrisF1uw==",
+            "version": "1.8.2",
+            "resolved": "https://registry.npmjs.org/tshy/-/tshy-1.8.2.tgz",
+            "integrity": "sha512-aGlSY+jkZYAv0YDgtdv1U2vvbGTUdlXmhVP4uegujlJ/wuznmJqSu5cUV/6IW7N7a3HFRhofWvIS/FquYN9zgA==",
             "dev": true,
             "dependencies": {
                 "chalk": "^5.3.0",
+                "chokidar": "^3.5.3",
                 "foreground-child": "^3.1.1",
                 "mkdirp": "^3.0.1",
-                "resolve-import": "^1.4.1",
+                "resolve-import": "^1.4.4",
                 "rimraf": "^5.0.1",
                 "sync-content": "^1.0.2",
                 "typescript": "5.2",
@@ -5167,7 +4859,7 @@
                 "tshy": "dist/esm/index.js"
             },
             "engines": {
-                "node": "16 >=16.17 || 18 >=18.16.0 || >=20.6.1"
+                "node": "16 >=16.17 || 18 >=18.15.0 || >=20.6.1"
             }
         },
         "node_modules/tshy/node_modules/brace-expansion": {
@@ -5265,28 +4957,6 @@
                 "node": "^16.14.0 || >=18.0.0"
             }
         },
-        "node_modules/tuf-js/node_modules/make-fetch-happen": {
-            "version": "13.0.0",
-            "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
-            "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
-            "dev": true,
-            "dependencies": {
-                "@npmcli/agent": "^2.0.0",
-                "cacache": "^18.0.0",
-                "http-cache-semantics": "^4.1.1",
-                "is-lambda": "^1.0.1",
-                "minipass": "^7.0.2",
-                "minipass-fetch": "^3.0.0",
-                "minipass-flush": "^1.0.5",
-                "minipass-pipeline": "^1.2.4",
-                "negotiator": "^0.6.3",
-                "promise-retry": "^2.0.1",
-                "ssri": "^10.0.0"
-            },
-            "engines": {
-                "node": "^16.14.0 || >=18.0.0"
-            }
-        },
         "node_modules/type-check": {
             "version": "0.4.0",
             "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -5322,6 +4992,13 @@
                 "node": ">=14.17"
             }
         },
+        "node_modules/undici-types": {
+            "version": "5.26.5",
+            "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+            "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+            "dev": true,
+            "peer": true
+        },
         "node_modules/unique-filename": {
             "version": "3.0.0",
             "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
@@ -5354,12 +5031,6 @@
                 "punycode": "^2.1.0"
             }
         },
-        "node_modules/util-deprecate": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-            "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
-            "dev": true
-        },
         "node_modules/uuid": {
             "version": "8.3.2",
             "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
@@ -5376,23 +5047,23 @@
             "dev": true
         },
         "node_modules/v8-to-istanbul": {
-            "version": "9.1.0",
-            "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz",
-            "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==",
+            "version": "9.2.0",
+            "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
+            "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
             "dev": true,
             "dependencies": {
                 "@jridgewell/trace-mapping": "^0.3.12",
                 "@types/istanbul-lib-coverage": "^2.0.1",
-                "convert-source-map": "^1.6.0"
+                "convert-source-map": "^2.0.0"
             },
             "engines": {
                 "node": ">=10.12.0"
             }
         },
         "node_modules/v8-to-istanbul/node_modules/@jridgewell/trace-mapping": {
-            "version": "0.3.19",
-            "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
-            "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
+            "version": "0.3.20",
+            "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+            "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
             "dev": true,
             "dependencies": {
                 "@jridgewell/resolve-uri": "^3.1.0",
@@ -5441,44 +5112,6 @@
                 "node": ">= 8"
             }
         },
-        "node_modules/wide-align": {
-            "version": "1.1.5",
-            "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
-            "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
-            "dev": true,
-            "dependencies": {
-                "string-width": "^1.0.2 || 2 || 3 || 4"
-            }
-        },
-        "node_modules/wide-align/node_modules/emoji-regex": {
-            "version": "8.0.0",
-            "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-            "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-            "dev": true
-        },
-        "node_modules/wide-align/node_modules/is-fullwidth-code-point": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-            "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-            "dev": true,
-            "engines": {
-                "node": ">=8"
-            }
-        },
-        "node_modules/wide-align/node_modules/string-width": {
-            "version": "4.2.3",
-            "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-            "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-            "dev": true,
-            "dependencies": {
-                "emoji-regex": "^8.0.0",
-                "is-fullwidth-code-point": "^3.0.0",
-                "strip-ansi": "^6.0.1"
-            },
-            "engines": {
-                "node": ">=8"
-            }
-        },
         "node_modules/widest-line": {
             "version": "4.0.1",
             "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz",
@@ -5611,9 +5244,9 @@
             "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
         },
         "node_modules/ws": {
-            "version": "8.14.2",
-            "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
-            "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
+            "version": "8.16.0",
+            "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
+            "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
             "dev": true,
             "engines": {
                 "node": ">=10.0.0"
@@ -5647,9 +5280,9 @@
             "dev": true
         },
         "node_modules/yaml": {
-            "version": "2.3.2",
-            "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz",
-            "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==",
+            "version": "2.3.4",
+            "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
+            "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
             "dev": true,
             "engines": {
                 "node": ">= 14"
@@ -5867,6 +5500,33 @@
                 }
             }
         },
+        "@isaacs/ts-node-temp-fork-for-pr-2009": {
+            "version": "10.9.5",
+            "resolved": "https://registry.npmjs.org/@isaacs/ts-node-temp-fork-for-pr-2009/-/ts-node-temp-fork-for-pr-2009-10.9.5.tgz",
+            "integrity": "sha512-hEDlwpHhIabtB+Urku8muNMEkGui0LVGlYLS3KoB9QBDf0Pw3r7q0RrfoQmFuk8CvRpGzErO3/vLQd9Ys+/g4g==",
+            "dev": true,
+            "requires": {
+                "@cspotcode/source-map-support": "^0.8.0",
+                "@tsconfig/node14": "*",
+                "@tsconfig/node16": "*",
+                "@tsconfig/node18": "*",
+                "@tsconfig/node20": "*",
+                "acorn": "^8.4.1",
+                "acorn-walk": "^8.1.1",
+                "arg": "^4.1.0",
+                "diff": "^4.0.1",
+                "make-error": "^1.1.1",
+                "v8-compile-cache-lib": "^3.0.1"
+            },
+            "dependencies": {
+                "diff": {
+                    "version": "4.0.2",
+                    "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
+                    "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+                    "dev": true
+                }
+            }
+        },
         "@istanbuljs/schema": {
             "version": "0.1.3",
             "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
@@ -5928,57 +5588,16 @@
             }
         },
         "@npmcli/agent": {
-            "version": "2.1.1",
-            "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.1.1.tgz",
-            "integrity": "sha512-6RlbiOAi6L6uUYF4/CDEkDZQnKw0XDsFJVrEpnib8rAx2WRMOsUyAdgnvDpX/fdkDWxtqE+NHwF465llI2wR0g==",
+            "version": "2.2.0",
+            "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.0.tgz",
+            "integrity": "sha512-2yThA1Es98orMkpSLVqlDZAMPK3jHJhifP2gnNUdk1754uZ8yI5c+ulCoVG+WlntQA6MzhrURMXjSd9Z7dJ2/Q==",
             "dev": true,
             "requires": {
+                "agent-base": "^7.1.0",
                 "http-proxy-agent": "^7.0.0",
                 "https-proxy-agent": "^7.0.1",
                 "lru-cache": "^10.0.1",
                 "socks-proxy-agent": "^8.0.1"
-            },
-            "dependencies": {
-                "agent-base": {
-                    "version": "7.1.0",
-                    "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
-                    "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
-                    "dev": true,
-                    "requires": {
-                        "debug": "^4.3.4"
-                    }
-                },
-                "http-proxy-agent": {
-                    "version": "7.0.0",
-                    "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
-                    "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
-                    "dev": true,
-                    "requires": {
-                        "agent-base": "^7.1.0",
-                        "debug": "^4.3.4"
-                    }
-                },
-                "https-proxy-agent": {
-                    "version": "7.0.2",
-                    "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
-                    "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
-                    "dev": true,
-                    "requires": {
-                        "agent-base": "^7.0.2",
-                        "debug": "4"
-                    }
-                },
-                "socks-proxy-agent": {
-                    "version": "8.0.2",
-                    "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
-                    "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
-                    "dev": true,
-                    "requires": {
-                        "agent-base": "^7.0.2",
-                        "debug": "^4.3.4",
-                        "socks": "^2.7.1"
-                    }
-                }
             }
         },
         "@npmcli/fs": {
@@ -5991,9 +5610,9 @@
             }
         },
         "@npmcli/git": {
-            "version": "5.0.3",
-            "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.3.tgz",
-            "integrity": "sha512-UZp9NwK+AynTrKvHn5k3KviW/hA5eENmFsu3iAPe7sWRt0lFUdsY/wXIYjpDFe7cdSNwOIzbObfwgt6eL5/2zw==",
+            "version": "5.0.4",
+            "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz",
+            "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==",
             "dev": true,
             "requires": {
                 "@npmcli/promise-spawn": "^7.0.0",
@@ -6040,9 +5659,9 @@
             "dev": true
         },
         "@npmcli/promise-spawn": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.0.tgz",
-            "integrity": "sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==",
+            "version": "7.0.1",
+            "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz",
+            "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==",
             "dev": true,
             "requires": {
                 "which": "^4.0.0"
@@ -6066,14 +5685,14 @@
             }
         },
         "@npmcli/run-script": {
-            "version": "7.0.1",
-            "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.1.tgz",
-            "integrity": "sha512-Od/JMrgkjZ8alyBE0IzeqZDiF1jgMez9Gkc/OYrCkHHiXNwM0wc6s7+h+xM7kYDZkS0tAoOLr9VvygyE5+2F7g==",
+            "version": "7.0.3",
+            "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.3.tgz",
+            "integrity": "sha512-ZMWGLHpzMq3rBGIwPyeaoaleaLMvrBrH8nugHxTi5ACkJZXTxXPtVuEH91ifgtss5hUwJQ2VDnzDBWPmz78rvg==",
             "dev": true,
             "requires": {
                 "@npmcli/node-gyp": "^3.0.0",
                 "@npmcli/promise-spawn": "^7.0.0",
-                "node-gyp": "^9.0.0",
+                "node-gyp": "^10.0.0",
                 "read-package-json-fast": "^3.0.0",
                 "which": "^4.0.0"
             },
@@ -6118,35 +5737,14 @@
             "dev": true
         },
         "@sigstore/sign": {
-            "version": "2.1.0",
-            "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.1.0.tgz",
-            "integrity": "sha512-4VRpfJxs+8eLqzLVrZngVNExVA/zAhVbi4UT4zmtLi4xRd7vz5qie834OgkrGsLlLB1B2nz/3wUxT1XAUBe8gw==",
+            "version": "2.2.0",
+            "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.0.tgz",
+            "integrity": "sha512-AAbmnEHDQv6CSfrWA5wXslGtzLPtAtHZleKOgxdQYvx/s76Fk6T6ZVt7w2IGV9j1UrFeBocTTQxaXG2oRrDhYA==",
             "dev": true,
             "requires": {
                 "@sigstore/bundle": "^2.1.0",
                 "@sigstore/protobuf-specs": "^0.2.1",
                 "make-fetch-happen": "^13.0.0"
-            },
-            "dependencies": {
-                "make-fetch-happen": {
-                    "version": "13.0.0",
-                    "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
-                    "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
-                    "dev": true,
-                    "requires": {
-                        "@npmcli/agent": "^2.0.0",
-                        "cacache": "^18.0.0",
-                        "http-cache-semantics": "^4.1.1",
-                        "is-lambda": "^1.0.1",
-                        "minipass": "^7.0.2",
-                        "minipass-fetch": "^3.0.0",
-                        "minipass-flush": "^1.0.5",
-                        "minipass-pipeline": "^1.2.4",
-                        "negotiator": "^0.6.3",
-                        "promise-retry": "^2.0.1",
-                        "ssri": "^10.0.0"
-                    }
-                }
             }
         },
         "@sigstore/tuf": {
@@ -6160,61 +5758,65 @@
             }
         },
         "@tapjs/after": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-1.1.4.tgz",
-            "integrity": "sha512-TVjrOwpPZt/VfdYc+X4gF/TY06gDHfzP9lfSv7hcxSaUGtvlU0xLH1xsTZS1BKM+EX1qXrCA8RYaLblAniKmaQ==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/after/-/after-1.1.17.tgz",
+            "integrity": "sha512-14qeP+mHZ8nIMDGtdCwTgvKclLlHxfARMTasb9fw//tmF/8ZDZhTemtCDxAP75wihxy5P7nzVZo/6TpVeOZrwg==",
             "dev": true,
             "requires": {
                 "is-actual-promise": "^1.0.0"
             }
         },
         "@tapjs/after-each": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-1.1.4.tgz",
-            "integrity": "sha512-vcmPQi2wXi2obK2j1nXTDo6EV8uqXONGiaPAPsj+iELr7OB3vBR1FFOQ6GWAFw0Xh8EIIUs8CWyNHn40/kmyUg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-1.1.17.tgz",
+            "integrity": "sha512-ia8sr00Wilni+2+wO4MKYCYikeRwUC41HamV8EPN63R2UmiBEOe/cMSf+KYADIh56JvxAiH7Xa0+GSFU+N2FQQ==",
             "dev": true,
             "requires": {
                 "function-loop": "^4.0.0"
             }
         },
         "@tapjs/asserts": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-1.1.4.tgz",
-            "integrity": "sha512-5jhbvqJ88agvGEW27l/ucNK7WqQAsCCt6gTBJKdVIL8jOZz5jOVaN/UI6gqUHLO7SYxIl4SOh8N11OYizRSKfA==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-1.1.17.tgz",
+            "integrity": "sha512-eKmbWBORDXu9bUHtPTu7qFrXNj5UeeH2nABJeP9BGHIn2ydmTgMEWCO3E+ljf7tisHchY5/x672lr99+O/mbTQ==",
             "dev": true,
             "requires": {
+                "@tapjs/stack": "1.2.7",
                 "is-actual-promise": "^1.0.0",
-                "tcompare": "6.4.0",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0"
             }
         },
         "@tapjs/before": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-1.1.4.tgz",
-            "integrity": "sha512-JnCg39toYCBMZKECL6dqXkpi5p9efxvug/vqMoW7XDpYSJRnRz25EUvTPFd1IE6SwVpJF2xRFL7EKUnxLN3JiQ==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/before/-/before-1.1.17.tgz",
+            "integrity": "sha512-pAmEAIMIqF9MPNUgEsnuWCM00iD/FJOX0P5eXSsWexWHjuZAkv5tIT/4qpXO9KYj+9c51Lh+7YSY2Xvk1Jjolw==",
             "dev": true,
             "requires": {
                 "is-actual-promise": "^1.0.0"
             }
         },
         "@tapjs/before-each": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-1.1.4.tgz",
-            "integrity": "sha512-DnwLTOmeifh571kvL3Ef94Ui0OpGzM/oIbjOaL9onHnLTR+cOO8yZALJp6zVg/pq/OzScDY3DQuazunolEVCQQ==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-1.1.17.tgz",
+            "integrity": "sha512-d2Um3Y2j0m563QNsSxczh+QeSg5sBngnBFGOelUtQVqmq91oNWU/7mY1pwN6ip8mMIQYD75CIhq5/Z57DGomWQ==",
             "dev": true,
             "requires": {
                 "function-loop": "^4.0.0"
             }
         },
         "@tapjs/config": {
-            "version": "2.4.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-2.4.0.tgz",
-            "integrity": "sha512-iz8n4GFY8FM1kKro4W6kZ3mQvzjddL4j8ta1B08q9ix8K5ysfHnbamjh2syORVRGo/dZNMnKvfXTxFzZ+WIbDg==",
+            "version": "2.4.14",
+            "resolved": "https://registry.npmjs.org/@tapjs/config/-/config-2.4.14.tgz",
+            "integrity": "sha512-dkjPVJGbLJC9BxCAxudAGiijnKc6XcQbpBSMAGJ/+VoRSqXlPkMWz0d8Ad3rNt7s+g2GBEWBx1kV7wcKtLlxmw==",
             "dev": true,
             "requires": {
+                "@tapjs/core": "1.4.6",
+                "@tapjs/test": "1.3.17",
                 "chalk": "^5.2.0",
                 "jackspeak": "^2.3.6",
                 "polite-json": "^4.0.1",
+                "tap-yaml": "2.2.1",
                 "walk-up-path": "^3.0.1"
             },
             "dependencies": {
@@ -6227,47 +5829,45 @@
             }
         },
         "@tapjs/core": {
-            "version": "1.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-1.3.4.tgz",
-            "integrity": "sha512-EcINYx86gDzLeZAsHMckv4Fjd4TdYJ7KduvdhD0Qy4EhROjQnaY9lPQTQxT2uwaEjpWB2Pio3ahtLzNUT2lY1g==",
+            "version": "1.4.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/core/-/core-1.4.6.tgz",
+            "integrity": "sha512-cAKtdGJslrziwi/RJBU7jF930P/eSsemv295t6yLekNVP0XUCNtLFYirxuS1Xwob0nt0g/k+94xXB7o1wdTQvA==",
             "dev": true,
             "requires": {
-                "@tapjs/processinfo": "^3.1.2",
-                "@tapjs/stack": "1.2.3",
-                "@tapjs/test": "1.3.4",
+                "@tapjs/processinfo": "^3.1.6",
+                "@tapjs/stack": "1.2.7",
+                "@tapjs/test": "1.3.17",
                 "async-hook-domain": "^4.0.1",
+                "diff": "^5.1.0",
                 "is-actual-promise": "^1.0.0",
-                "jackspeak": "^2.3.6",
                 "minipass": "^7.0.3",
                 "signal-exit": "4.1",
-                "tap-parser": "15.2.0",
-                "tcompare": "6.4.0",
+                "tap-parser": "15.3.1",
+                "tap-yaml": "2.2.1",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0"
             }
         },
         "@tapjs/error-serdes": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-1.1.0.tgz",
-            "integrity": "sha512-RAdsafCQ9fyudLY4EQPhfWQvRNddvSoXKEsZQWZC6G5QfdB/BYnSqaXggK5TD0XZ79Ja0ex3uB+5kBaaeLKtQA==",
+            "version": "1.2.1",
+            "resolved": "https://registry.npmjs.org/@tapjs/error-serdes/-/error-serdes-1.2.1.tgz",
+            "integrity": "sha512-/7eLEcrGo+Qz3eWrjkhDC+VSEOjabkkzr9eRADeU+OLFeZaik8L/GRk0SGhnp4YsQkv0jcNV00A42bEx2HIZcw==",
             "dev": true,
             "requires": {
                 "minipass": "^7.0.3"
             }
         },
         "@tapjs/filter": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-1.2.4.tgz",
-            "integrity": "sha512-YHIjat67MuuO2SzSg2Hcwwm1Y1UJ1yvD20hyy6MYGrKG8vkaU1hSu4bBheRhJ2IyqJQVgSIM+raNctlN5Bpa/A==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-1.2.17.tgz",
+            "integrity": "sha512-ytsqoPThV92ML1+M+cHlhAS7nOQpDNRBJiPqw20/GmNeoQXsDzVUlWR89DP3WNNUPrr/c1pCVr9XHVhCIeYk0w==",
             "dev": true,
-            "requires": {
-                "tcompare": "6.4.0",
-                "trivial-deferred": "^2.0.0"
-            }
+            "requires": {}
         },
         "@tapjs/fixture": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-1.2.4.tgz",
-            "integrity": "sha512-7PHkg7fbKRWThU017qkw92dovreQct3LCArUJ9OdZWFoPYRwYND7CKB3/x7qtnNftBFZbRzf562miH0+TLDDTQ==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-1.2.17.tgz",
+            "integrity": "sha512-eOOQxtsEcQ/sBxaZhpqdF9DCNxXAvLuiE5HgyL6d1eB4eceu57uIUKK7NDtFVv+vlbQH/NoiSTxmN/IBRbKT8w==",
             "dev": true,
             "requires": {
                 "mkdirp": "^3.0.0",
@@ -6317,40 +5917,42 @@
             }
         },
         "@tapjs/intercept": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-1.2.4.tgz",
-            "integrity": "sha512-aEPwa40DqJPmgnZRbED+hI1x3dSUn4o5rePW6I2ludRle3o1bHSSnucYsjhwNPz0LCpOH9q/UAivJPO66xyTBA==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-1.2.17.tgz",
+            "integrity": "sha512-CNuYBxiFBMNALS1PxH3yGI10H8ObxOoD67C2xGWyzXeYrPJ/R4x31Sda9bqaoK3uf/vj28bC9kSECCFjRsNAEg==",
             "dev": true,
             "requires": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/stack": "1.2.3"
+                "@tapjs/after": "1.1.17",
+                "@tapjs/stack": "1.2.7"
             }
         },
         "@tapjs/mock": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-1.2.2.tgz",
-            "integrity": "sha512-5SgMRNaHgxjuna5YfVrT/l9bCTV4qePbqxNhwLWiL/l4fHMcF8CB7jMQ2IXsB8/0q9dKSuuxysOeiYSScNQcsA==",
+            "version": "1.2.15",
+            "resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-1.2.15.tgz",
+            "integrity": "sha512-uXfVNDAMAbCGOu46B9jbryTau2pLSQjCdWnkAm/OUgZh/OtO0i7OORz9HdEPfEF2tuy1tLo9+vsCZm3lPU5F7w==",
             "dev": true,
             "requires": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/stack": "1.2.3",
-                "resolve-import": "^1.4.2",
+                "@tapjs/after": "1.1.17",
+                "@tapjs/stack": "1.2.7",
+                "resolve-import": "^1.4.5",
                 "walk-up-path": "^3.0.1"
             }
         },
         "@tapjs/node-serialize": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-1.1.4.tgz",
-            "integrity": "sha512-t0x4jC15jae4DviixIqb0v53eXkWdE3KkmKcf/eMGCqN7EL3lRyQRTOtjC3fJRWmdXYCGK/311DpoUfpgzL3sA==",
+            "version": "1.2.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-1.2.6.tgz",
+            "integrity": "sha512-xj1OJEsdTr0pQFlirfe/apN0dHUCMCx2Nm5H3SoiSOW4D1/FUKS65VZpWgo3mXMPxRyb/2T1DH3xON1eSGq4ww==",
             "dev": true,
             "requires": {
-                "@tapjs/error-serdes": "1.1.0"
+                "@tapjs/error-serdes": "1.2.1",
+                "@tapjs/stack": "1.2.7",
+                "tap-parser": "15.3.1"
             }
         },
         "@tapjs/processinfo": {
-            "version": "3.1.2",
-            "resolved": "https://registry.npmjs.org/@tapjs/processinfo/-/processinfo-3.1.2.tgz",
-            "integrity": "sha512-O3lg1X7zy4sQs+jDYHu+njFQCC5hYJWRmmbLy9UVhgqQKZifS4DYqkoAedK3ixj5NQ1stMNmJGJxbEvJLw/NWA==",
+            "version": "3.1.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/processinfo/-/processinfo-3.1.6.tgz",
+            "integrity": "sha512-ktDsaf79wJsLaoG1Pp+stHSRf6a1k/JydoRAaYVG5iJnd3DooL6yewZsciUi2yiN/WQc5tAXCIFTXL4uXGB8LA==",
             "dev": true,
             "requires": {
                 "pirates": "^4.0.5",
@@ -6360,23 +5962,24 @@
             }
         },
         "@tapjs/reporter": {
-            "version": "1.3.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-1.3.0.tgz",
-            "integrity": "sha512-zjXwsZh895zUPM00w9q0W2u/y2ncTz4q/FYu3Jl8Ph0KcSTiGBob01Rj4+Uhhx0N5YwJxb4HOujRtAqhyqs7Gg==",
+            "version": "1.3.15",
+            "resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-1.3.15.tgz",
+            "integrity": "sha512-us1vXd6TW1V8wJxxnP2a8DNSP1WFTpODyYukqWg7ym5nCalREYnz2MFsn65rRNu/xJlmqsmv+9P63rupud7Zlg==",
             "dev": true,
             "requires": {
-                "@tapjs/config": "2.4.0",
-                "@tapjs/test": "1.3.4",
+                "@tapjs/config": "2.4.14",
+                "@tapjs/stack": "1.2.7",
                 "chalk": "^5.2.0",
                 "ink": "^4.4.1",
                 "minipass": "^7.0.3",
                 "ms": "^2.1.3",
                 "patch-console": "^2.0.0",
-                "prismjs": "^1.29.0",
                 "prismjs-terminal": "^1.2.3",
                 "react": "^18.2.0",
                 "string-length": "^6.0.0",
-                "tcompare": "6.4.0"
+                "tap-parser": "15.3.1",
+                "tap-yaml": "2.2.1",
+                "tcompare": "6.4.5"
             },
             "dependencies": {
                 "chalk": {
@@ -6394,20 +5997,21 @@
             }
         },
         "@tapjs/run": {
-            "version": "1.4.0",
-            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-1.4.0.tgz",
-            "integrity": "sha512-3LNRejFAos8iND30CiQV+RIdaiHBKjsLNq1BZ/nena7lcshKoQCFtiVpKMlqGAStMQgLygjgSo2uHbuSDD0Qww==",
-            "dev": true,
-            "requires": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/before": "1.1.4",
-                "@tapjs/config": "2.4.0",
-                "@tapjs/processinfo": "^3.1.2",
-                "@tapjs/reporter": "1.3.0",
-                "@tapjs/spawn": "1.1.4",
-                "@tapjs/stdin": "1.1.4",
-                "@tapjs/test": "1.3.4",
+            "version": "1.4.16",
+            "resolved": "https://registry.npmjs.org/@tapjs/run/-/run-1.4.16.tgz",
+            "integrity": "sha512-ZTESjBDj5SitZgWz2hQdzfBoxgaFs89jQjWzqobcdfro0iF7TVRpSrvpz9GTMdo2Tu9aeFfMNfmaAtwNWnDabw==",
+            "dev": true,
+            "requires": {
+                "@tapjs/after": "1.1.17",
+                "@tapjs/before": "1.1.17",
+                "@tapjs/config": "2.4.14",
+                "@tapjs/processinfo": "^3.1.6",
+                "@tapjs/reporter": "1.3.15",
+                "@tapjs/spawn": "1.1.17",
+                "@tapjs/stdin": "1.1.17",
+                "@tapjs/test": "1.3.17",
                 "c8": "^8.0.1",
+                "chalk": "^5.3.0",
                 "chokidar": "^3.5.3",
                 "foreground-child": "^3.1.1",
                 "glob": "^10.3.10",
@@ -6415,15 +6019,14 @@
                 "mkdirp": "^3.0.1",
                 "opener": "^1.5.2",
                 "pacote": "^17.0.3",
-                "path-scurry": "^1.9.2",
-                "resolve-import": "^1.4.2",
+                "resolve-import": "^1.4.5",
                 "rimraf": "^5.0.5",
                 "semver": "^7.5.4",
                 "signal-exit": "^4.1.0",
-                "tap-yaml": "2.2.0",
-                "tcompare": "6.4.0",
+                "tap-parser": "15.3.1",
+                "tap-yaml": "2.2.1",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0",
-                "ts-node": "npm:@isaacs/ts-node-temp-fork-for-pr-2009@^10.9.1",
                 "which": "^4.0.0"
             },
             "dependencies": {
@@ -6436,6 +6039,12 @@
                         "balanced-match": "^1.0.0"
                     }
                 },
+                "chalk": {
+                    "version": "5.3.0",
+                    "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+                    "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+                    "dev": true
+                },
                 "glob": {
                     "version": "10.3.10",
                     "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
@@ -6485,69 +6094,65 @@
             }
         },
         "@tapjs/snapshot": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-1.2.4.tgz",
-            "integrity": "sha512-8pStZczbArIC6+s8TblHTs/Mr5RGApWZA91Eey5UuU5MX3IPUw77MPQpPOoh2zrefa8VZRmHM7IgQq8SKyYjyQ==",
+            "version": "1.2.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-1.2.17.tgz",
+            "integrity": "sha512-xDHys854ZA8s/1uCkE5PgBz4H1vYKChD6a4xjLVkaoRxpBHVp/IJZCD+8d69DRGnyuA4x2MGh0JLClTA9bLGrA==",
             "dev": true,
             "requires": {
                 "is-actual-promise": "^1.0.0",
-                "tcompare": "6.4.0",
+                "tcompare": "6.4.5",
                 "trivial-deferred": "^2.0.0"
             }
         },
         "@tapjs/spawn": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-1.1.4.tgz",
-            "integrity": "sha512-H3/VBi/Zfnb53PbpNmT/OYhIdqk8k6pGnM+WNLB8KBzwLa23q75P0jSYAEhzX3sZO+JIiaHACj/SxvttFapDtg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-1.1.17.tgz",
+            "integrity": "sha512-Bbyxd91bgXEcglvXYKrRl2MaNHk00RajTZJ1kKe3Scr1ivaYv0maE6ZInAl4UE0a4SJl4Dskec+uKoZY3qGUYQ==",
             "dev": true,
             "requires": {}
         },
         "@tapjs/stack": {
-            "version": "1.2.3",
-            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-1.2.3.tgz",
-            "integrity": "sha512-LY7Rxse2QY+DczTCoqOA4rxjqhnCgXYZeynrhzOsiut6IVnDWnqjUvZMq1XYnk5G69lhgG5lTDHmZrKP33BKgg==",
-            "dev": true,
-            "requires": {
-                "tcompare": "6.4.0",
-                "trivial-deferred": "^2.0.0"
-            }
+            "version": "1.2.7",
+            "resolved": "https://registry.npmjs.org/@tapjs/stack/-/stack-1.2.7.tgz",
+            "integrity": "sha512-7qUDWDmd+y7ZQ0vTrDTvFlWnJ+ND32NemS5HVuT1ZggHtBwJ62PQHIyCx/B5RopETBb6NvFPfUE21yTiex9Jkw==",
+            "dev": true
         },
         "@tapjs/stdin": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-1.1.4.tgz",
-            "integrity": "sha512-yQzeiWaWRFd5jXVy3F0Q4inQqVmEGynFfWz2cbQYJFm/CNCcKFM1t4uIRRqtNdfJwSrr19m8Lq0qqfT7pHV/yg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-1.1.17.tgz",
+            "integrity": "sha512-mDutFFPDnlVM2oYDAfyYKA+fC+aEiyz5n08D8x6YAbwZNbTIVp+h6ucyp7ygJ04fshd4l3s1HUmCZLSmHb2xEw==",
             "dev": true,
             "requires": {}
         },
         "@tapjs/test": {
-            "version": "1.3.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-1.3.4.tgz",
-            "integrity": "sha512-ud2T10OhxdQw4f7Wo4G+5/Vyw5JYgfb5bDmKo0B3xmMgVvIFpUS/4V2Zq+59DZGXmEgjO0KPhb8NvOpOHAy/fg==",
-            "dev": true,
-            "requires": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/after-each": "1.1.4",
-                "@tapjs/asserts": "1.1.4",
-                "@tapjs/before": "1.1.4",
-                "@tapjs/before-each": "1.1.4",
-                "@tapjs/filter": "1.2.4",
-                "@tapjs/fixture": "1.2.4",
-                "@tapjs/intercept": "1.2.4",
-                "@tapjs/mock": "1.2.2",
-                "@tapjs/node-serialize": "1.1.4",
-                "@tapjs/snapshot": "1.2.4",
-                "@tapjs/spawn": "1.1.4",
-                "@tapjs/stdin": "1.1.4",
-                "@tapjs/typescript": "1.2.4",
-                "@tapjs/worker": "1.1.4",
+            "version": "1.3.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/test/-/test-1.3.17.tgz",
+            "integrity": "sha512-yQ4uHC2GaDS+Gr5qwx9uMGxqvpYgnlVY+QexBReSeYZthWIN0KD8HDvnVt4An5Sx/Qhd7UlnNpNMBd6AkvPEew==",
+            "dev": true,
+            "requires": {
+                "@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.5",
+                "@tapjs/after": "1.1.17",
+                "@tapjs/after-each": "1.1.17",
+                "@tapjs/asserts": "1.1.17",
+                "@tapjs/before": "1.1.17",
+                "@tapjs/before-each": "1.1.17",
+                "@tapjs/filter": "1.2.17",
+                "@tapjs/fixture": "1.2.17",
+                "@tapjs/intercept": "1.2.17",
+                "@tapjs/mock": "1.2.15",
+                "@tapjs/node-serialize": "1.2.6",
+                "@tapjs/snapshot": "1.2.17",
+                "@tapjs/spawn": "1.1.17",
+                "@tapjs/stdin": "1.1.17",
+                "@tapjs/typescript": "1.3.6",
+                "@tapjs/worker": "1.1.17",
                 "glob": "^10.3.10",
                 "jackspeak": "^2.3.6",
                 "mkdirp": "^3.0.0",
-                "resolve-import": "^1.4.1",
+                "resolve-import": "^1.4.5",
                 "rimraf": "^5.0.5",
                 "sync-content": "^1.0.1",
-                "tap-parser": "15.2.0",
-                "ts-node": "npm:@isaacs/ts-node-temp-fork-for-pr-2009@^10.9.1",
+                "tap-parser": "15.3.1",
                 "tshy": "^1.2.2",
                 "typescript": "5.2"
             },
@@ -6595,27 +6200,21 @@
             }
         },
         "@tapjs/typescript": {
-            "version": "1.2.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-1.2.4.tgz",
-            "integrity": "sha512-exhSckFlKLr0RFHKYBJb3N6CftoafH5GwNeAWN0yua+FmzwDleGvgKThW3l/xeOF7BeCq/m4zu9HWrwjkPaDhQ==",
+            "version": "1.3.6",
+            "resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-1.3.6.tgz",
+            "integrity": "sha512-bHqQb06HcD1vFvSwElH0WK4cnCNthvA5OX/KBs5w1TNFHIeRHemp/hsSnGSNDwYwDETuOxD68rDZNTpNbzysBg==",
             "dev": true,
             "requires": {
-                "ts-node": "npm:@isaacs/ts-node-temp-fork-for-pr-2009@^10.9.1"
+                "@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.5"
             }
         },
         "@tapjs/worker": {
-            "version": "1.1.4",
-            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-1.1.4.tgz",
-            "integrity": "sha512-HcaafOWghXpMtLaCk8BOIMQcphZU2Gi0OSUb6vzgxKQ4iQxTsBkJSnZ1+4F8Qed9EWZ9n6zaggjy7/fDLVdJRg==",
+            "version": "1.1.17",
+            "resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-1.1.17.tgz",
+            "integrity": "sha512-DCRzEBT+OgP518rQqzlX6KawvGTegkeEjPVa/TB6Iifj8WOHJ+XtunkR7riIRGEoCEOMD49DCJXj70c+XP0jNw==",
             "dev": true,
             "requires": {}
         },
-        "@tootallnate/once": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz",
-            "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==",
-            "dev": true
-        },
         "@tsconfig/node14": {
             "version": "14.1.0",
             "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-14.1.0.tgz",
@@ -6677,22 +6276,25 @@
             }
         },
         "@types/istanbul-lib-coverage": {
-            "version": "2.0.4",
-            "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz",
-            "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==",
+            "version": "2.0.6",
+            "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+            "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
             "dev": true
         },
         "@types/node": {
-            "version": "20.8.0",
-            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.0.tgz",
-            "integrity": "sha512-LzcWltT83s1bthcvjBmiBvGJiiUe84NWRHkw+ZV6Fr41z2FbIzvc815dk2nQ3RAKMuN2fkenM/z3Xv2QzEpYxQ==",
+            "version": "20.10.6",
+            "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz",
+            "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==",
             "dev": true,
-            "peer": true
+            "peer": true,
+            "requires": {
+                "undici-types": "~5.26.4"
+            }
         },
         "abbrev": {
-            "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
-            "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz",
+            "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==",
             "dev": true
         },
         "acorn": {
@@ -6707,27 +6309,18 @@
             "requires": {}
         },
         "acorn-walk": {
-            "version": "8.2.0",
-            "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz",
-            "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==",
+            "version": "8.3.1",
+            "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz",
+            "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==",
             "dev": true
         },
         "agent-base": {
-            "version": "6.0.2",
-            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
-            "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
-            "dev": true,
-            "requires": {
-                "debug": "4"
-            }
-        },
-        "agentkeepalive": {
-            "version": "4.5.0",
-            "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz",
-            "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==",
+            "version": "7.1.0",
+            "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+            "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
             "dev": true,
             "requires": {
-                "humanize-ms": "^1.2.1"
+                "debug": "^4.3.4"
             }
         },
         "aggregate-error": {
@@ -6799,22 +6392,6 @@
                 "picomatch": "^2.0.4"
             }
         },
-        "aproba": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
-            "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==",
-            "dev": true
-        },
-        "are-we-there-yet": {
-            "version": "3.0.1",
-            "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz",
-            "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==",
-            "dev": true,
-            "requires": {
-                "delegates": "^1.0.0",
-                "readable-stream": "^3.6.0"
-            }
-        },
         "arg": {
             "version": "4.1.3",
             "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
@@ -6915,9 +6492,9 @@
             }
         },
         "cacache": {
-            "version": "18.0.0",
-            "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.0.tgz",
-            "integrity": "sha512-I7mVOPl3PUCeRub1U8YoGz2Lqv9WOBpobZ8RyWFXmReuILz+3OAyTa5oH3QPdtKZD7N0Yk00aLfzn0qvp8dZ1w==",
+            "version": "18.0.2",
+            "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz",
+            "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==",
             "dev": true,
             "requires": {
                 "@npmcli/fs": "^3.1.0",
@@ -6925,7 +6502,7 @@
                 "glob": "^10.2.2",
                 "lru-cache": "^10.0.1",
                 "minipass": "^7.0.3",
-                "minipass-collect": "^1.0.2",
+                "minipass-collect": "^2.0.1",
                 "minipass-flush": "^1.0.5",
                 "minipass-pipeline": "^1.2.4",
                 "p-map": "^4.0.0",
@@ -7020,9 +6597,9 @@
             "integrity": "sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A=="
         },
         "ci-info": {
-            "version": "3.8.0",
-            "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz",
-            "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==",
+            "version": "3.9.0",
+            "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+            "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
             "dev": true
         },
         "clean-stack": {
@@ -7143,12 +6720,6 @@
             "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
             "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
         },
-        "color-support": {
-            "version": "1.1.3",
-            "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz",
-            "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==",
-            "dev": true
-        },
         "command-exists": {
             "version": "1.2.9",
             "resolved": "https://registry.npmjs.org/command-exists/-/command-exists-1.2.9.tgz",
@@ -7159,16 +6730,10 @@
             "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
             "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
         },
-        "console-control-strings": {
-            "version": "1.1.0",
-            "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz",
-            "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==",
-            "dev": true
-        },
         "convert-source-map": {
-            "version": "1.9.0",
-            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
-            "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+            "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
             "dev": true
         },
         "convert-to-spaces": {
@@ -7200,16 +6765,10 @@
             "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
             "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
         },
-        "delegates": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz",
-            "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==",
-            "dev": true
-        },
         "diff": {
-            "version": "4.0.2",
-            "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
-            "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
+            "version": "5.1.0",
+            "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+            "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
             "dev": true
         },
         "doctrine": {
@@ -7475,9 +7034,9 @@
             "optional": true
         },
         "function-bind": {
-            "version": "1.1.1",
-            "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
-            "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
+            "version": "1.1.2",
+            "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+            "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
             "dev": true
         },
         "function-loop": {
@@ -7486,53 +7045,6 @@
             "integrity": "sha512-f34iQBedYF3XcI93uewZZOnyscDragxgTK/eTvVB74k3fCD0ZorOi5BV9GS4M8rz/JoNi0Kl3qX5Y9MH3S/CLQ==",
             "dev": true
         },
-        "gauge": {
-            "version": "4.0.4",
-            "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz",
-            "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==",
-            "dev": true,
-            "requires": {
-                "aproba": "^1.0.3 || ^2.0.0",
-                "color-support": "^1.1.3",
-                "console-control-strings": "^1.1.0",
-                "has-unicode": "^2.0.1",
-                "signal-exit": "^3.0.7",
-                "string-width": "^4.2.3",
-                "strip-ansi": "^6.0.1",
-                "wide-align": "^1.1.5"
-            },
-            "dependencies": {
-                "emoji-regex": {
-                    "version": "8.0.0",
-                    "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-                    "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-                    "dev": true
-                },
-                "is-fullwidth-code-point": {
-                    "version": "3.0.0",
-                    "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-                    "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-                    "dev": true
-                },
-                "signal-exit": {
-                    "version": "3.0.7",
-                    "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
-                    "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
-                    "dev": true
-                },
-                "string-width": {
-                    "version": "4.2.3",
-                    "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-                    "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-                    "dev": true,
-                    "requires": {
-                        "emoji-regex": "^8.0.0",
-                        "is-fullwidth-code-point": "^3.0.0",
-                        "strip-ansi": "^6.0.1"
-                    }
-                }
-            }
-        },
         "get-caller-file": {
             "version": "2.0.5",
             "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
@@ -7579,25 +7091,19 @@
             "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
             "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ=="
         },
-        "has": {
-            "version": "1.0.3",
-            "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
-            "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
-            "dev": true,
-            "requires": {
-                "function-bind": "^1.1.1"
-            }
-        },
         "has-flag": {
             "version": "4.0.0",
             "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
             "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
         },
-        "has-unicode": {
-            "version": "2.0.1",
-            "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz",
-            "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==",
-            "dev": true
+        "hasown": {
+            "version": "2.0.0",
+            "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+            "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+            "dev": true,
+            "requires": {
+                "function-bind": "^1.1.2"
+            }
         },
         "he": {
             "version": "1.2.0",
@@ -7626,35 +7132,25 @@
             "dev": true
         },
         "http-proxy-agent": {
-            "version": "5.0.0",
-            "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz",
-            "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==",
+            "version": "7.0.0",
+            "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
+            "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
             "dev": true,
             "requires": {
-                "@tootallnate/once": "2",
-                "agent-base": "6",
-                "debug": "4"
+                "agent-base": "^7.1.0",
+                "debug": "^4.3.4"
             }
         },
         "https-proxy-agent": {
-            "version": "5.0.1",
-            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
-            "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+            "version": "7.0.2",
+            "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
+            "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
             "dev": true,
             "requires": {
-                "agent-base": "6",
+                "agent-base": "^7.0.2",
                 "debug": "4"
             }
         },
-        "humanize-ms": {
-            "version": "1.2.1",
-            "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
-            "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
-            "dev": true,
-            "requires": {
-                "ms": "^2.0.0"
-            }
-        },
         "iconv-lite": {
             "version": "0.6.3",
             "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
@@ -7671,9 +7167,9 @@
             "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
         },
         "ignore-walk": {
-            "version": "6.0.3",
-            "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz",
-            "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==",
+            "version": "6.0.4",
+            "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz",
+            "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==",
             "dev": true,
             "requires": {
                 "minimatch": "^9.0.0"
@@ -7801,10 +7297,13 @@
             "dev": true
         },
         "is-actual-promise": {
-            "version": "1.0.0",
-            "resolved": "https://registry.npmjs.org/is-actual-promise/-/is-actual-promise-1.0.0.tgz",
-            "integrity": "sha512-DWSmKTiEoY3Y9LGHG9TVnFgydCCu+3fLJi4rv3fpi0gL/lKoILekh/oF/nO3/Lq1l5Rqo+tQt5TWzxMmYIhWyg==",
-            "dev": true
+            "version": "1.0.1",
+            "resolved": "https://registry.npmjs.org/is-actual-promise/-/is-actual-promise-1.0.1.tgz",
+            "integrity": "sha512-PlsL4tNv62lx5yN2HSqaRSTgIpUAPW7U6+crVB8HfWm5161rZpeqWbl0ZSqH2MAfRKXWSZVPRNbE/r8qPcb13g==",
+            "dev": true,
+            "requires": {
+                "tshy": "^1.7.0"
+            }
         },
         "is-binary-path": {
             "version": "2.1.0",
@@ -7825,12 +7324,12 @@
             }
         },
         "is-core-module": {
-            "version": "2.13.0",
-            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz",
-            "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==",
+            "version": "2.13.1",
+            "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+            "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
             "dev": true,
             "requires": {
-                "has": "^1.0.3"
+                "hasown": "^2.0.0"
             }
         },
         "is-extglob": {
@@ -7899,9 +7398,9 @@
             "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
         },
         "istanbul-lib-coverage": {
-            "version": "3.2.0",
-            "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz",
-            "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==",
+            "version": "3.2.2",
+            "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+            "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
             "dev": true
         },
         "istanbul-lib-report": {
@@ -7960,9 +7459,9 @@
             "integrity": "sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g=="
         },
         "json-parse-even-better-errors": {
-            "version": "3.0.0",
-            "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz",
-            "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==",
+            "version": "3.0.1",
+            "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz",
+            "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==",
             "dev": true
         },
         "json-schema-traverse": {
@@ -8019,9 +7518,9 @@
             }
         },
         "lru-cache": {
-            "version": "10.0.1",
-            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.0.1.tgz",
-            "integrity": "sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==",
+            "version": "10.1.0",
+            "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz",
+            "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==",
             "dev": true
         },
         "make-dir": {
@@ -8040,99 +7539,22 @@
             "dev": true
         },
         "make-fetch-happen": {
-            "version": "11.1.1",
-            "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz",
-            "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==",
+            "version": "13.0.0",
+            "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
+            "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
             "dev": true,
             "requires": {
-                "agentkeepalive": "^4.2.1",
-                "cacache": "^17.0.0",
+                "@npmcli/agent": "^2.0.0",
+                "cacache": "^18.0.0",
                 "http-cache-semantics": "^4.1.1",
-                "http-proxy-agent": "^5.0.0",
-                "https-proxy-agent": "^5.0.0",
                 "is-lambda": "^1.0.1",
-                "lru-cache": "^7.7.1",
-                "minipass": "^5.0.0",
+                "minipass": "^7.0.2",
                 "minipass-fetch": "^3.0.0",
                 "minipass-flush": "^1.0.5",
                 "minipass-pipeline": "^1.2.4",
                 "negotiator": "^0.6.3",
                 "promise-retry": "^2.0.1",
-                "socks-proxy-agent": "^7.0.0",
                 "ssri": "^10.0.0"
-            },
-            "dependencies": {
-                "brace-expansion": {
-                    "version": "2.0.1",
-                    "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-                    "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
-                    "dev": true,
-                    "requires": {
-                        "balanced-match": "^1.0.0"
-                    }
-                },
-                "cacache": {
-                    "version": "17.1.4",
-                    "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.1.4.tgz",
-                    "integrity": "sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==",
-                    "dev": true,
-                    "requires": {
-                        "@npmcli/fs": "^3.1.0",
-                        "fs-minipass": "^3.0.0",
-                        "glob": "^10.2.2",
-                        "lru-cache": "^7.7.1",
-                        "minipass": "^7.0.3",
-                        "minipass-collect": "^1.0.2",
-                        "minipass-flush": "^1.0.5",
-                        "minipass-pipeline": "^1.2.4",
-                        "p-map": "^4.0.0",
-                        "ssri": "^10.0.0",
-                        "tar": "^6.1.11",
-                        "unique-filename": "^3.0.0"
-                    },
-                    "dependencies": {
-                        "minipass": {
-                            "version": "7.0.4",
-                            "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz",
-                            "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==",
-                            "dev": true
-                        }
-                    }
-                },
-                "glob": {
-                    "version": "10.3.10",
-                    "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
-                    "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
-                    "dev": true,
-                    "requires": {
-                        "foreground-child": "^3.1.0",
-                        "jackspeak": "^2.3.5",
-                        "minimatch": "^9.0.1",
-                        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
-                        "path-scurry": "^1.10.1"
-                    }
-                },
-                "lru-cache": {
-                    "version": "7.18.3",
-                    "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
-                    "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
-                    "dev": true
-                },
-                "minimatch": {
-                    "version": "9.0.3",
-                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
-                    "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
-                    "dev": true,
-                    "requires": {
-                        "brace-expansion": "^2.0.1"
-                    }
-                },
-                "minipass": {
-                    "version": "5.0.0",
-                    "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
-                    "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
-                    "dev": true
-                }
             }
         },
         "marked": {
@@ -8161,23 +7583,12 @@
             "dev": true
         },
         "minipass-collect": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz",
-            "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
+            "version": "2.0.1",
+            "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz",
+            "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==",
             "dev": true,
             "requires": {
-                "minipass": "^3.0.0"
-            },
-            "dependencies": {
-                "minipass": {
-                    "version": "3.3.6",
-                    "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
-                    "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
-                    "dev": true,
-                    "requires": {
-                        "yallist": "^4.0.0"
-                    }
-                }
+                "minipass": "^7.0.3"
             }
         },
         "minipass-fetch": {
@@ -8317,31 +7728,78 @@
             "dev": true
         },
         "node-gyp": {
-            "version": "9.4.0",
-            "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.4.0.tgz",
-            "integrity": "sha512-dMXsYP6gc9rRbejLXmTbVRYjAHw7ppswsKyMxuxJxxOHzluIO1rGp9TOQgjFJ+2MCqcOcQTOPB/8Xwhr+7s4Eg==",
+            "version": "10.0.1",
+            "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz",
+            "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==",
             "dev": true,
             "requires": {
                 "env-paths": "^2.2.0",
                 "exponential-backoff": "^3.1.1",
-                "glob": "^7.1.4",
+                "glob": "^10.3.10",
                 "graceful-fs": "^4.2.6",
-                "make-fetch-happen": "^11.0.3",
-                "nopt": "^6.0.0",
-                "npmlog": "^6.0.0",
-                "rimraf": "^3.0.2",
+                "make-fetch-happen": "^13.0.0",
+                "nopt": "^7.0.0",
+                "proc-log": "^3.0.0",
                 "semver": "^7.3.5",
                 "tar": "^6.1.2",
-                "which": "^2.0.2"
+                "which": "^4.0.0"
+            },
+            "dependencies": {
+                "brace-expansion": {
+                    "version": "2.0.1",
+                    "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+                    "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+                    "dev": true,
+                    "requires": {
+                        "balanced-match": "^1.0.0"
+                    }
+                },
+                "glob": {
+                    "version": "10.3.10",
+                    "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz",
+                    "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==",
+                    "dev": true,
+                    "requires": {
+                        "foreground-child": "^3.1.0",
+                        "jackspeak": "^2.3.5",
+                        "minimatch": "^9.0.1",
+                        "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0",
+                        "path-scurry": "^1.10.1"
+                    }
+                },
+                "isexe": {
+                    "version": "3.1.1",
+                    "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+                    "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+                    "dev": true
+                },
+                "minimatch": {
+                    "version": "9.0.3",
+                    "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+                    "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
+                    "dev": true,
+                    "requires": {
+                        "brace-expansion": "^2.0.1"
+                    }
+                },
+                "which": {
+                    "version": "4.0.0",
+                    "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz",
+                    "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==",
+                    "dev": true,
+                    "requires": {
+                        "isexe": "^3.1.1"
+                    }
+                }
             }
         },
         "nopt": {
-            "version": "6.0.0",
-            "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz",
-            "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==",
+            "version": "7.2.0",
+            "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz",
+            "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==",
             "dev": true,
             "requires": {
-                "abbrev": "^1.0.0"
+                "abbrev": "^2.0.0"
             }
         },
         "normalize-package-data": {
@@ -8372,9 +7830,9 @@
             }
         },
         "npm-install-checks": {
-            "version": "6.2.0",
-            "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.2.0.tgz",
-            "integrity": "sha512-744wat5wAAHsxa4590mWO0tJ8PKxR8ORZsH9wGpQc3nWTzozMAgBN/XyqYw7mg3yqLM8dLwEnwSfKMmXAjF69g==",
+            "version": "6.3.0",
+            "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz",
+            "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==",
             "dev": true,
             "requires": {
                 "semver": "^7.1.1"
@@ -8399,12 +7857,12 @@
             }
         },
         "npm-packlist": {
-            "version": "8.0.0",
-            "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.0.tgz",
-            "integrity": "sha512-ErAGFB5kJUciPy1mmx/C2YFbvxoJ0QJ9uwkCZOeR6CqLLISPZBOiFModAbSXnjjlwW5lOhuhXva+fURsSGJqyw==",
+            "version": "8.0.1",
+            "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.1.tgz",
+            "integrity": "sha512-MQpL27ZrsJQ2kiAuQPpZb5LtJwydNRnI15QWXsf3WHERu4rzjRj6Zju/My2fov7tLuu3Gle/uoIX/DDZ3u4O4Q==",
             "dev": true,
             "requires": {
-                "ignore-walk": "^6.0.0"
+                "ignore-walk": "^6.0.4"
             }
         },
         "npm-pick-manifest": {
@@ -8420,9 +7878,9 @@
             }
         },
         "npm-registry-fetch": {
-            "version": "16.0.0",
-            "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.0.0.tgz",
-            "integrity": "sha512-JFCpAPUpvpwfSydv99u85yhP68rNIxSFmDpNbNnRWKSe3gpjHnWL8v320gATwRzjtgmZ9Jfe37+ZPOLZPwz6BQ==",
+            "version": "16.1.0",
+            "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz",
+            "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==",
             "dev": true,
             "requires": {
                 "make-fetch-happen": "^13.0.0",
@@ -8432,39 +7890,6 @@
                 "minizlib": "^2.1.2",
                 "npm-package-arg": "^11.0.0",
                 "proc-log": "^3.0.0"
-            },
-            "dependencies": {
-                "make-fetch-happen": {
-                    "version": "13.0.0",
-                    "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
-                    "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
-                    "dev": true,
-                    "requires": {
-                        "@npmcli/agent": "^2.0.0",
-                        "cacache": "^18.0.0",
-                        "http-cache-semantics": "^4.1.1",
-                        "is-lambda": "^1.0.1",
-                        "minipass": "^7.0.2",
-                        "minipass-fetch": "^3.0.0",
-                        "minipass-flush": "^1.0.5",
-                        "minipass-pipeline": "^1.2.4",
-                        "negotiator": "^0.6.3",
-                        "promise-retry": "^2.0.1",
-                        "ssri": "^10.0.0"
-                    }
-                }
-            }
-        },
-        "npmlog": {
-            "version": "6.0.2",
-            "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz",
-            "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==",
-            "dev": true,
-            "requires": {
-                "are-we-there-yet": "^3.0.0",
-                "console-control-strings": "^1.1.0",
-                "gauge": "^4.0.3",
-                "set-blocking": "^2.0.0"
             }
         },
         "once": {
@@ -8529,9 +7954,9 @@
             }
         },
         "pacote": {
-            "version": "17.0.4",
-            "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.4.tgz",
-            "integrity": "sha512-eGdLHrV/g5b5MtD5cTPyss+JxOlaOloSMG3UwPMAvL8ywaLJ6beONPF40K4KKl/UI6q5hTKCJq5rCu8tkF+7Dg==",
+            "version": "17.0.5",
+            "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.5.tgz",
+            "integrity": "sha512-TAE0m20zSDMnchPja9vtQjri19X3pZIyRpm2TJVeI+yU42leJBBDTRYhOcWFsPhaMxf+3iwQkFiKz16G9AEeeA==",
             "dev": true,
             "requires": {
                 "@npmcli/git": "^5.0.0",
@@ -8797,17 +8222,6 @@
                 "npm-normalize-package-bin": "^3.0.0"
             }
         },
-        "readable-stream": {
-            "version": "3.6.2",
-            "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
-            "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
-            "dev": true,
-            "requires": {
-                "inherits": "^2.0.3",
-                "string_decoder": "^1.1.1",
-                "util-deprecate": "^1.0.1"
-            }
-        },
         "readdirp": {
             "version": "3.6.0",
             "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
@@ -8829,9 +8243,9 @@
             "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g=="
         },
         "resolve-import": {
-            "version": "1.4.2",
-            "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-1.4.2.tgz",
-            "integrity": "sha512-ayUU3E2yeFu8ZewNEHbGorcPmHjOmCY8b50wloum8eQUuNExSyddRoWYaX0X6lj3XSufi2WUlXY3mkMcF5ISmw==",
+            "version": "1.4.5",
+            "resolved": "https://registry.npmjs.org/resolve-import/-/resolve-import-1.4.5.tgz",
+            "integrity": "sha512-HXb4YqODuuXT7Icq1Z++0g2JmhgbUHSs3VT2xR83gqvAPUikYT2Xk+562KHQgiaNkbBOlPddYrDLsC44qQggzw==",
             "dev": true,
             "requires": {
                 "glob": "^10.3.3",
@@ -8916,12 +8330,6 @@
                 "queue-microtask": "^1.2.2"
             }
         },
-        "safe-buffer": {
-            "version": "5.2.1",
-            "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
-            "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
-            "dev": true
-        },
         "safer-buffer": {
             "version": "2.1.2",
             "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -8958,12 +8366,6 @@
                 }
             }
         },
-        "set-blocking": {
-            "version": "2.0.0",
-            "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
-            "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==",
-            "dev": true
-        },
         "shebang-command": {
             "version": "2.0.0",
             "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@@ -9030,14 +8432,14 @@
             }
         },
         "socks-proxy-agent": {
-            "version": "7.0.0",
-            "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz",
-            "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==",
+            "version": "8.0.2",
+            "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
+            "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
             "dev": true,
             "requires": {
-                "agent-base": "^6.0.2",
-                "debug": "^4.3.3",
-                "socks": "^2.6.2"
+                "agent-base": "^7.0.2",
+                "debug": "^4.3.4",
+                "socks": "^2.7.1"
             }
         },
         "spdx-correct": {
@@ -9067,9 +8469,9 @@
             }
         },
         "spdx-license-ids": {
-            "version": "3.0.15",
-            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.15.tgz",
-            "integrity": "sha512-lpT8hSQp9jAKp9mhtBU4Xjon8LPGBvLIuBiSVhMEtmLecTh2mO0tlqrAMp47tBXzMr13NJMQ2lf7RpQGLJ3HsQ==",
+            "version": "3.0.16",
+            "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
+            "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
             "dev": true
         },
         "ssri": {
@@ -9098,15 +8500,6 @@
                 }
             }
         },
-        "string_decoder": {
-            "version": "1.3.0",
-            "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
-            "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
-            "dev": true,
-            "requires": {
-                "safe-buffer": "~5.2.0"
-            }
-        },
         "string-length": {
             "version": "6.0.0",
             "resolved": "https://registry.npmjs.org/string-length/-/string-length-6.0.0.tgz",
@@ -9276,45 +8669,46 @@
             }
         },
         "tap": {
-            "version": "18.4.0",
-            "resolved": "https://registry.npmjs.org/tap/-/tap-18.4.0.tgz",
-            "integrity": "sha512-42bqz0KpoDg8F6Gs5zrTVOELq5ShaK86rCsRG6C6uJM7nUANCB3GW9Dmvy3BGHRll4wAwr+SA+iM0tvBQtrilg==",
-            "dev": true,
-            "requires": {
-                "@tapjs/after": "1.1.4",
-                "@tapjs/after-each": "1.1.4",
-                "@tapjs/asserts": "1.1.4",
-                "@tapjs/before": "1.1.4",
-                "@tapjs/before-each": "1.1.4",
-                "@tapjs/core": "1.3.4",
-                "@tapjs/filter": "1.2.4",
-                "@tapjs/fixture": "1.2.4",
-                "@tapjs/intercept": "1.2.4",
-                "@tapjs/mock": "1.2.2",
-                "@tapjs/node-serialize": "1.1.4",
-                "@tapjs/run": "1.4.0",
-                "@tapjs/snapshot": "1.2.4",
-                "@tapjs/spawn": "1.1.4",
-                "@tapjs/stdin": "1.1.4",
-                "@tapjs/test": "1.3.4",
-                "@tapjs/typescript": "1.2.4",
-                "@tapjs/worker": "1.1.4"
+            "version": "18.6.1",
+            "resolved": "https://registry.npmjs.org/tap/-/tap-18.6.1.tgz",
+            "integrity": "sha512-5cBQhJ1gdbsrTR3tA5kZZTts0HyOML6bcM7pEF7GF8d6y1ajfRMjbInS1Ty7/x2Ip0ko3cY1dYjPJ9JFNPsm7w==",
+            "dev": true,
+            "requires": {
+                "@tapjs/after": "1.1.17",
+                "@tapjs/after-each": "1.1.17",
+                "@tapjs/asserts": "1.1.17",
+                "@tapjs/before": "1.1.17",
+                "@tapjs/before-each": "1.1.17",
+                "@tapjs/core": "1.4.6",
+                "@tapjs/filter": "1.2.17",
+                "@tapjs/fixture": "1.2.17",
+                "@tapjs/intercept": "1.2.17",
+                "@tapjs/mock": "1.2.15",
+                "@tapjs/node-serialize": "1.2.6",
+                "@tapjs/run": "1.4.16",
+                "@tapjs/snapshot": "1.2.17",
+                "@tapjs/spawn": "1.1.17",
+                "@tapjs/stdin": "1.1.17",
+                "@tapjs/test": "1.3.17",
+                "@tapjs/typescript": "1.3.6",
+                "@tapjs/worker": "1.1.17",
+                "resolve-import": "^1.4.5"
             }
         },
         "tap-parser": {
-            "version": "15.2.0",
-            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-15.2.0.tgz",
-            "integrity": "sha512-bDBR7cuVLfsmmc7ruerZXVBlDtJwqqWzqlO9BFNgw6gprpzjnjyfdc+fsW6mNUYSoxdVEeY7NFgrgGa81EuQ5w==",
+            "version": "15.3.1",
+            "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-15.3.1.tgz",
+            "integrity": "sha512-hwAtXX5TBGt2MJeYvASc7DjP48PUzA7P8RTbLxQcgKCEH7ICD5IsRco7l5YvkzjHlZbUbeI9wzO8B4hw2sKgnQ==",
             "dev": true,
             "requires": {
                 "events-to-array": "^2.0.3",
-                "tap-yaml": "2.2.0"
+                "tap-yaml": "2.2.1"
             }
         },
         "tap-yaml": {
-            "version": "2.2.0",
-            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-2.2.0.tgz",
-            "integrity": "sha512-o8I7WDNiGpuF04tGAVaNYY5rX9waCtqw9A7Y0YVSQBGcFwNUJWUPLkr2lbhgLRTxc+Tpnw4xUXlIanZc+ZAGnw==",
+            "version": "2.2.1",
+            "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-2.2.1.tgz",
+            "integrity": "sha512-ovZuUMLAIH59jnFHXKEGJ+WyDYl6Cuduwg9qpvnqkZOUA1nU84q02Sry1HT0KXcdv2uB91bEKKxnIybBgrb6oA==",
             "dev": true,
             "requires": {
                 "yaml": "^2.3.0",
@@ -9370,21 +8764,13 @@
             }
         },
         "tcompare": {
-            "version": "6.4.0",
-            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-6.4.0.tgz",
-            "integrity": "sha512-MR0TPvFaEQ53jgMP43aHr3wKGKKPi6Th3nxHoIsBVL0AxjKdfyrIIWvYt7u30NNs57Vc6UP5ooq/sD69IhQPzw==",
+            "version": "6.4.5",
+            "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-6.4.5.tgz",
+            "integrity": "sha512-Whuz9xlKKI2XXICKDSDRKjXdBuC6gBNOgmEUtH7UFyQeYzfUMQ19DyjZULarGKDGFhgOg3CJ+IQUEfpkOPg0Uw==",
             "dev": true,
             "requires": {
                 "diff": "^5.1.0",
                 "react-element-to-jsx-string": "^15.0.0"
-            },
-            "dependencies": {
-                "diff": {
-                    "version": "5.1.0",
-                    "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
-                    "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
-                    "dev": true
-                }
             }
         },
         "test-exclude": {
@@ -9418,35 +8804,17 @@
             "integrity": "sha512-iGbM7X2slv9ORDVj2y2FFUq3cP/ypbtu2nQ8S38ufjL0glBABvmR9pTdsib1XtS2LUhhLMbelaBUaf/s5J3dSw==",
             "dev": true
         },
-        "ts-node": {
-            "version": "npm:@isaacs/ts-node-temp-fork-for-pr-2009@10.9.1",
-            "resolved": "https://registry.npmjs.org/@isaacs/ts-node-temp-fork-for-pr-2009/-/ts-node-temp-fork-for-pr-2009-10.9.1.tgz",
-            "integrity": "sha512-MY4rUonz835NsTbd4dcgKZvZFYX9IkLnYFZV9M7GQV8t39fawafLin/Qw6VXD4yfMs4HcBq8P3ddeU0QHMH1YQ==",
-            "dev": true,
-            "requires": {
-                "@cspotcode/source-map-support": "^0.8.0",
-                "@tsconfig/node14": "*",
-                "@tsconfig/node16": "*",
-                "@tsconfig/node18": "*",
-                "@tsconfig/node20": "*",
-                "acorn": "^8.4.1",
-                "acorn-walk": "^8.1.1",
-                "arg": "^4.1.0",
-                "diff": "^4.0.1",
-                "make-error": "^1.1.1",
-                "v8-compile-cache-lib": "^3.0.1"
-            }
-        },
         "tshy": {
-            "version": "1.2.2",
-            "resolved": "https://registry.npmjs.org/tshy/-/tshy-1.2.2.tgz",
-            "integrity": "sha512-y5ItK4DKLYO+hba7h5sOaCYygNtF44qytZGyjZSE6CQSVfzUfZ2qn/GmXu737amwfCKG9EizPw3oPBWrisF1uw==",
+            "version": "1.8.2",
+            "resolved": "https://registry.npmjs.org/tshy/-/tshy-1.8.2.tgz",
+            "integrity": "sha512-aGlSY+jkZYAv0YDgtdv1U2vvbGTUdlXmhVP4uegujlJ/wuznmJqSu5cUV/6IW7N7a3HFRhofWvIS/FquYN9zgA==",
             "dev": true,
             "requires": {
                 "chalk": "^5.3.0",
+                "chokidar": "^3.5.3",
                 "foreground-child": "^3.1.1",
                 "mkdirp": "^3.0.1",
-                "resolve-import": "^1.4.1",
+                "resolve-import": "^1.4.4",
                 "rimraf": "^5.0.1",
                 "sync-content": "^1.0.2",
                 "typescript": "5.2",
@@ -9515,27 +8883,6 @@
                 "@tufjs/models": "2.0.0",
                 "debug": "^4.3.4",
                 "make-fetch-happen": "^13.0.0"
-            },
-            "dependencies": {
-                "make-fetch-happen": {
-                    "version": "13.0.0",
-                    "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz",
-                    "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==",
-                    "dev": true,
-                    "requires": {
-                        "@npmcli/agent": "^2.0.0",
-                        "cacache": "^18.0.0",
-                        "http-cache-semantics": "^4.1.1",
-                        "is-lambda": "^1.0.1",
-                        "minipass": "^7.0.2",
-                        "minipass-fetch": "^3.0.0",
-                        "minipass-flush": "^1.0.5",
-                        "minipass-pipeline": "^1.2.4",
-                        "negotiator": "^0.6.3",
-                        "promise-retry": "^2.0.1",
-                        "ssri": "^10.0.0"
-                    }
-                }
             }
         },
         "type-check": {
@@ -9557,6 +8904,13 @@
             "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
             "dev": true
         },
+        "undici-types": {
+            "version": "5.26.5",
+            "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
+            "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
+            "dev": true,
+            "peer": true
+        },
         "unique-filename": {
             "version": "3.0.0",
             "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
@@ -9583,12 +8937,6 @@
                 "punycode": "^2.1.0"
             }
         },
-        "util-deprecate": {
-            "version": "1.0.2",
-            "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
-            "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
-            "dev": true
-        },
         "uuid": {
             "version": "8.3.2",
             "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
@@ -9602,20 +8950,20 @@
             "dev": true
         },
         "v8-to-istanbul": {
-            "version": "9.1.0",
-            "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.0.tgz",
-            "integrity": "sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==",
+            "version": "9.2.0",
+            "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
+            "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
             "dev": true,
             "requires": {
                 "@jridgewell/trace-mapping": "^0.3.12",
                 "@types/istanbul-lib-coverage": "^2.0.1",
-                "convert-source-map": "^1.6.0"
+                "convert-source-map": "^2.0.0"
             },
             "dependencies": {
                 "@jridgewell/trace-mapping": {
-                    "version": "0.3.19",
-                    "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz",
-                    "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==",
+                    "version": "0.3.20",
+                    "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz",
+                    "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==",
                     "dev": true,
                     "requires": {
                         "@jridgewell/resolve-uri": "^3.1.0",
@@ -9657,40 +9005,6 @@
                 "isexe": "^2.0.0"
             }
         },
-        "wide-align": {
-            "version": "1.1.5",
-            "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz",
-            "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==",
-            "dev": true,
-            "requires": {
-                "string-width": "^1.0.2 || 2 || 3 || 4"
-            },
-            "dependencies": {
-                "emoji-regex": {
-                    "version": "8.0.0",
-                    "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
-                    "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
-                    "dev": true
-                },
-                "is-fullwidth-code-point": {
-                    "version": "3.0.0",
-                    "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
-                    "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
-                    "dev": true
-                },
-                "string-width": {
-                    "version": "4.2.3",
-                    "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
-                    "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
-                    "dev": true,
-                    "requires": {
-                        "emoji-regex": "^8.0.0",
-                        "is-fullwidth-code-point": "^3.0.0",
-                        "strip-ansi": "^6.0.1"
-                    }
-                }
-            }
-        },
         "widest-line": {
             "version": "4.0.1",
             "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz",
@@ -9781,9 +9095,9 @@
             "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
         },
         "ws": {
-            "version": "8.14.2",
-            "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz",
-            "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==",
+            "version": "8.16.0",
+            "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
+            "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
             "dev": true,
             "requires": {}
         },
@@ -9800,9 +9114,9 @@
             "dev": true
         },
         "yaml": {
-            "version": "2.3.2",
-            "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz",
-            "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==",
+            "version": "2.3.4",
+            "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz",
+            "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==",
             "dev": true
         },
         "yaml-types": {