From 6746ab0f434348e576ffc1ca0a81dd9262b88d5e Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Sun, 3 Dec 2023 22:16:05 +0100
Subject: [PATCH 1/9] Update dependencies

---
 package-lock.json | 550 +++++++++++++++++++++++++++-------------------
 package.json      |  10 +-
 2 files changed, 330 insertions(+), 230 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 043b71784..abdf04fab 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -9,7 +9,7 @@
 			"version": "5.3.1",
 			"license": "MIT",
 			"dependencies": {
-				"@vercel/nft": "^0.24.3",
+				"@vercel/nft": "^0.24.4",
 				"acorn": "^8.11.2",
 				"acorn-walk": "^8.3.0",
 				"ansi-styles": "^6.2.1",
@@ -29,7 +29,7 @@
 				"debug": "^4.3.4",
 				"emittery": "^1.0.1",
 				"figures": "^6.0.1",
-				"globby": "^13.2.2",
+				"globby": "^14.0.0",
 				"ignore-by-default": "^2.1.0",
 				"indent-string": "^5.0.0",
 				"is-plain-object": "^5.0.0",
@@ -57,16 +57,16 @@
 				"@ava/test": "github:avajs/test",
 				"@ava/typescript": "^4.1.0",
 				"@sindresorhus/tsconfig": "^5.0.0",
-				"@types/node": "^20.8.10",
+				"@types/node": "^20.10.3",
 				"ansi-escapes": "^6.2.0",
 				"c8": "^8.0.1",
 				"execa": "^8.0.1",
 				"expect": "^29.7.0",
 				"sinon": "^17.0.1",
-				"tap": "^18.5.7",
+				"tap": "^18.6.1",
 				"tempy": "^3.1.0",
 				"tsd": "^0.29.0",
-				"typescript": "~5.2.2",
+				"typescript": "~5.3.2",
 				"xo": "^0.56.0",
 				"zen-observable": "^0.10.0"
 			},
@@ -310,6 +310,25 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/@ava/v5/node_modules/globby": {
+			"version": "13.2.2",
+			"resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+			"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
+			"dev": true,
+			"dependencies": {
+				"dir-glob": "^3.0.1",
+				"fast-glob": "^3.3.0",
+				"ignore": "^5.2.4",
+				"merge2": "^1.4.1",
+				"slash": "^4.0.0"
+			},
+			"engines": {
+				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/@ava/v5/node_modules/is-unicode-supported": {
 			"version": "1.3.0",
 			"resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz",
@@ -349,6 +368,18 @@
 				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
+		"node_modules/@ava/v5/node_modules/slash": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+			"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/@ava/v5/node_modules/string-width": {
 			"version": "5.1.2",
 			"resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
@@ -987,9 +1018,9 @@
 			}
 		},
 		"node_modules/@npmcli/agent/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"
@@ -1036,9 +1067,9 @@
 			}
 		},
 		"node_modules/@npmcli/git/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"
@@ -1285,6 +1316,17 @@
 			"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
 			"dev": true
 		},
+		"node_modules/@sindresorhus/merge-streams": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-1.0.0.tgz",
+			"integrity": "sha512-rUV5WyJrJLoloD4NDN1V1+LDMDWOa4OTsT4yYJwQNpTU6FWxkxHpL7eu4w+DmiH8x/EAM1otkPE1+LaspIbplw==",
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/@sindresorhus/tsconfig": {
 			"version": "5.0.0",
 			"resolved": "https://registry.npmjs.org/@sindresorhus/tsconfig/-/tsconfig-5.0.0.tgz",
@@ -1339,9 +1381,9 @@
 			"dev": true
 		},
 		"node_modules/@tapjs/after": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/after/-/after-1.1.16.tgz",
-			"integrity": "sha512-/KwElRYMMN4pKDP0VT1a5d9RLsnV/HrnpvBbDJiavs816wQOEOwMt1q4rXVU2XO6cSpXn0cm77xBLDkkBlJQWA==",
+			"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"
@@ -1350,13 +1392,13 @@
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/after-each": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/after-each/-/after-each-1.1.16.tgz",
-			"integrity": "sha512-TlhGKfX+3GHwqGhMxNWZ50xb8vfwp2+kx0COTbuGLrwcCgwmpFPU/r/7td03BOtdCV2J1yKFxGiRDvZyowZLyg==",
+			"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"
@@ -1365,18 +1407,18 @@
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/asserts": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/asserts/-/asserts-1.1.16.tgz",
-			"integrity": "sha512-gf37N6VMv7iuaomB8Yr+3VyuPS77kXy6Uw2n2AHsiU47Q0eNodjrN0d2G+glfrXfD3zLbsLuQHx4x6IsAsgq7Q==",
+			"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.4",
+				"tcompare": "6.4.5",
 				"trivial-deferred": "^2.0.0"
 			},
 			"engines": {
@@ -1386,13 +1428,13 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/before": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/before/-/before-1.1.16.tgz",
-			"integrity": "sha512-3hO7eQbL1Ac8OgPq9+nBuQS4cz/eVGcaPDs0cTcTy3NYbhCrp4MGTpRtKxF4Cds1Y/rHAipB81MhZrmG7xBjlg==",
+			"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"
@@ -1401,13 +1443,13 @@
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/before-each": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/before-each/-/before-each-1.1.16.tgz",
-			"integrity": "sha512-yJAt0yGOQFnozmm2fQSfAELp/hMzudYOr4udANZ/1RIVJYXHThj0qrUZP9nEkXMWK4wRQytOInt1jEwXR/cFfQ==",
+			"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"
@@ -1416,17 +1458,17 @@
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/config": {
-			"version": "2.4.12",
-			"resolved": "https://registry.npmjs.org/@tapjs/config/-/config-2.4.12.tgz",
-			"integrity": "sha512-7l7dqKuYXm9zNj7c1QFoWqYxOtshP69KyU3q4vSh8xJmTzz19miZbfx881f8SIb3/PtDqTilv1CFxEaKuZgmEw==",
+			"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.5",
-				"@tapjs/test": "1.3.16",
+				"@tapjs/core": "1.4.6",
+				"@tapjs/test": "1.3.17",
 				"chalk": "^5.2.0",
 				"jackspeak": "^2.3.6",
 				"polite-json": "^4.0.1",
@@ -1440,19 +1482,19 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5",
-				"@tapjs/test": "1.3.16"
+				"@tapjs/core": "1.4.6",
+				"@tapjs/test": "1.3.17"
 			}
 		},
 		"node_modules/@tapjs/core": {
-			"version": "1.4.5",
-			"resolved": "https://registry.npmjs.org/@tapjs/core/-/core-1.4.5.tgz",
-			"integrity": "sha512-vvLrM75t1/Yq2MlH1x3jfJPdPs4ArR+tFTpzNgQ+PF50x0PTDup1sVj7ZhZbNY4zeQFsvnVtoReptr3FsMix7Q==",
+			"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.6",
 				"@tapjs/stack": "1.2.7",
-				"@tapjs/test": "1.3.16",
+				"@tapjs/test": "1.3.17",
 				"async-hook-domain": "^4.0.1",
 				"diff": "^5.1.0",
 				"is-actual-promise": "^1.0.0",
@@ -1460,7 +1502,7 @@
 				"signal-exit": "4.1",
 				"tap-parser": "15.3.1",
 				"tap-yaml": "2.2.1",
-				"tcompare": "6.4.4",
+				"tcompare": "6.4.5",
 				"trivial-deferred": "^2.0.0"
 			},
 			"engines": {
@@ -1483,9 +1525,9 @@
 			}
 		},
 		"node_modules/@tapjs/filter": {
-			"version": "1.2.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/filter/-/filter-1.2.16.tgz",
-			"integrity": "sha512-TiOjFMy+Sg5Lnm5pzUcjgpyw19bEg0WejLGpml0DPQi/OEVYlazu2lcDQFRgpRBhvYlOc7we9nul2y2a3Jh8PQ==",
+			"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,
 			"engines": {
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
@@ -1494,13 +1536,13 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/fixture": {
-			"version": "1.2.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/fixture/-/fixture-1.2.16.tgz",
-			"integrity": "sha512-9+QUkGW4CoSR4cKO3vLe9YYsBgD9wCRvta5jxquTWk9VJiVQZ3pKIqaSULB47kUZbtERorhvI7J5YCYWnVbF7A==",
+			"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",
@@ -1513,7 +1555,7 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/fixture/node_modules/brace-expansion": {
@@ -1597,28 +1639,28 @@
 			}
 		},
 		"node_modules/@tapjs/intercept": {
-			"version": "1.2.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/intercept/-/intercept-1.2.16.tgz",
-			"integrity": "sha512-Mgw3ib7bu2cFjbeujFw6y7CcEq1mNd/EQhrg1L9Q96bETtp9YNSlox4Z7MKmTEtnk9fzuCIVs7T9QbI8eq2k7w==",
+			"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.16",
+				"@tapjs/after": "1.1.17",
 				"@tapjs/stack": "1.2.7"
 			},
 			"engines": {
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/mock": {
-			"version": "1.2.14",
-			"resolved": "https://registry.npmjs.org/@tapjs/mock/-/mock-1.2.14.tgz",
-			"integrity": "sha512-HnXUmkn3xk4gzoMb3s77EK2CJaBzAoi1hzyyE6abBJf8dnLCid4xUOs+H4KybWllKcwwIUr0yzKmXJl7eCWVbQ==",
+			"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.16",
+				"@tapjs/after": "1.1.17",
 				"@tapjs/stack": "1.2.7",
 				"resolve-import": "^1.4.5",
 				"walk-up-path": "^3.0.1"
@@ -1630,13 +1672,13 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/node-serialize": {
-			"version": "1.2.5",
-			"resolved": "https://registry.npmjs.org/@tapjs/node-serialize/-/node-serialize-1.2.5.tgz",
-			"integrity": "sha512-y7QS5Sev6QQ0O+sx5WjY11XoUBzuNdSNDwVRxrj1qwTuigRVj+1ePWutP80pn7bE/r2G+2L2IHuEsMDRLCgulw==",
+			"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.2.1",
@@ -1650,7 +1692,7 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/processinfo": {
@@ -1669,12 +1711,12 @@
 			}
 		},
 		"node_modules/@tapjs/reporter": {
-			"version": "1.3.13",
-			"resolved": "https://registry.npmjs.org/@tapjs/reporter/-/reporter-1.3.13.tgz",
-			"integrity": "sha512-yiEPF1NfcD5RaosIFq3wqT05/3S3caHEY+eG6MwH+xmZSO0Fv7Q/t9qXoWfuQOyMiIARjhKQfGdqHYXbC50f+Q==",
+			"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.12",
+				"@tapjs/config": "2.4.14",
 				"@tapjs/stack": "1.2.7",
 				"chalk": "^5.2.0",
 				"ink": "^4.4.1",
@@ -1686,7 +1728,7 @@
 				"string-length": "^6.0.0",
 				"tap-parser": "15.3.1",
 				"tap-yaml": "2.2.1",
-				"tcompare": "6.4.4"
+				"tcompare": "6.4.5"
 			},
 			"engines": {
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
@@ -1695,23 +1737,23 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/run": {
-			"version": "1.4.14",
-			"resolved": "https://registry.npmjs.org/@tapjs/run/-/run-1.4.14.tgz",
-			"integrity": "sha512-jkOMWlxAUTjPtJqLWHVAbH4hkaj/oAf6W20rA+gRhxZQ7VtAgEgVavV3lSaNM3gPmgZwiJZezX+hHO3nDkCfrg==",
+			"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.16",
-				"@tapjs/before": "1.1.16",
-				"@tapjs/config": "2.4.12",
+				"@tapjs/after": "1.1.17",
+				"@tapjs/before": "1.1.17",
+				"@tapjs/config": "2.4.14",
 				"@tapjs/processinfo": "^3.1.6",
-				"@tapjs/reporter": "1.3.13",
-				"@tapjs/spawn": "1.1.16",
-				"@tapjs/stdin": "1.1.16",
-				"@tapjs/test": "1.3.16",
+				"@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",
@@ -1727,7 +1769,7 @@
 				"signal-exit": "^4.1.0",
 				"tap-parser": "15.3.1",
 				"tap-yaml": "2.2.1",
-				"tcompare": "6.4.4",
+				"tcompare": "6.4.5",
 				"trivial-deferred": "^2.0.0",
 				"which": "^4.0.0"
 			},
@@ -1741,7 +1783,7 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/run/node_modules/brace-expansion": {
@@ -1849,13 +1891,13 @@
 			}
 		},
 		"node_modules/@tapjs/snapshot": {
-			"version": "1.2.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/snapshot/-/snapshot-1.2.16.tgz",
-			"integrity": "sha512-4Da9TXAQ3ni+JC8AfzDKRQG6cIjT/LxTTGmVDK4/Fe4NubdNKw/A76Gvl9xPUIlqW1vNZVGVN/0KruEDKJ4xkQ==",
+			"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.4",
+				"tcompare": "6.4.5",
 				"trivial-deferred": "^2.0.0"
 			},
 			"engines": {
@@ -1865,19 +1907,19 @@
 				"url": "https://github.com/sponsors/isaacs"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/spawn": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/spawn/-/spawn-1.1.16.tgz",
-			"integrity": "sha512-Y0/WNlFp8kkRwKNyOqYUrIwwY2sLkegakvhtcJsg9eg/P4CC9lnh+zaSEfgNGJb24S4qeWOOnJ/rQ68bK9HVYg==",
+			"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 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/stack": {
@@ -1893,39 +1935,39 @@
 			}
 		},
 		"node_modules/@tapjs/stdin": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/stdin/-/stdin-1.1.16.tgz",
-			"integrity": "sha512-kP22n5kaoMcAp+elESvRCg/fodfeefsbtacTOGAfXnHLK+eh8XBSz1SwDmyaeQ4/C3F6SMQ8+8ZeybMcbeLEGQ==",
+			"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 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/test": {
-			"version": "1.3.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/test/-/test-1.3.16.tgz",
-			"integrity": "sha512-HalYruL4tpTgKVJQwkTh/vw5Mt7sEVXXoS7bTik8tyPr9wQ7UXTRPB2EErna89mhhRc0hYU4NYXlwzS1UHiQkQ==",
+			"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.16",
-				"@tapjs/after-each": "1.1.16",
-				"@tapjs/asserts": "1.1.16",
-				"@tapjs/before": "1.1.16",
-				"@tapjs/before-each": "1.1.16",
-				"@tapjs/filter": "1.2.16",
-				"@tapjs/fixture": "1.2.16",
-				"@tapjs/intercept": "1.2.16",
-				"@tapjs/mock": "1.2.14",
-				"@tapjs/node-serialize": "1.2.5",
-				"@tapjs/snapshot": "1.2.16",
-				"@tapjs/spawn": "1.1.16",
-				"@tapjs/stdin": "1.1.16",
-				"@tapjs/typescript": "1.3.5",
-				"@tapjs/worker": "1.1.16",
+				"@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",
@@ -1943,7 +1985,7 @@
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/test/node_modules/brace-expansion": {
@@ -2026,10 +2068,23 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/@tapjs/test/node_modules/typescript": {
+			"version": "5.2.2",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+			"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
+			"dev": true,
+			"bin": {
+				"tsc": "bin/tsc",
+				"tsserver": "bin/tsserver"
+			},
+			"engines": {
+				"node": ">=14.17"
+			}
+		},
 		"node_modules/@tapjs/typescript": {
-			"version": "1.3.5",
-			"resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-1.3.5.tgz",
-			"integrity": "sha512-LoOHEJ1Bx3MWnh4+uIBXVobxkYNwFzJVnzl1tsLuX0jgGBIGtvmFwXDoM9MtcmO5m8WMZL9bMDT1NWPtcO0V6w==",
+			"version": "1.3.6",
+			"resolved": "https://registry.npmjs.org/@tapjs/typescript/-/typescript-1.3.6.tgz",
+			"integrity": "sha512-bHqQb06HcD1vFvSwElH0WK4cnCNthvA5OX/KBs5w1TNFHIeRHemp/hsSnGSNDwYwDETuOxD68rDZNTpNbzysBg==",
 			"dev": true,
 			"dependencies": {
 				"@isaacs/ts-node-temp-fork-for-pr-2009": "^10.9.5"
@@ -2038,19 +2093,19 @@
 				"node": "16 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tapjs/worker": {
-			"version": "1.1.16",
-			"resolved": "https://registry.npmjs.org/@tapjs/worker/-/worker-1.1.16.tgz",
-			"integrity": "sha512-BVXyGnf3PMJ7hnwIgaheSpLESI8E9d95EBi8Ni/L3sObbxYR3xIPnhiwCEUCQOp6pkeo8z04T7nJdbQW3dslIA==",
+			"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 >=16.17.0 || 18 >= 18.6.0 || >=20"
 			},
 			"peerDependencies": {
-				"@tapjs/core": "1.4.5"
+				"@tapjs/core": "1.4.6"
 			}
 		},
 		"node_modules/@tsconfig/node14": {
@@ -2202,9 +2257,9 @@
 			"dev": true
 		},
 		"node_modules/@types/node": {
-			"version": "20.8.10",
-			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz",
-			"integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==",
+			"version": "20.10.3",
+			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.3.tgz",
+			"integrity": "sha512-XJavIpZqiXID5Yxnxv3RUDKTN5b81ddNC3ecsA0SoFXz/QU8OGBwZGMomiq0zw+uuqbL/krztv/DINAQ/EV4gg==",
 			"dev": true,
 			"dependencies": {
 				"undici-types": "~5.26.4"
@@ -2468,9 +2523,9 @@
 			"dev": true
 		},
 		"node_modules/@vercel/nft": {
-			"version": "0.24.3",
-			"resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.24.3.tgz",
-			"integrity": "sha512-IyBdIxmFAeGZnEfMgt4QrGK7XX4lWazlQj34HEi9dw04/WeDBJ7r1yaOIO5tTf9pbfvwUFodj9b0H+NDGGoOMg==",
+			"version": "0.24.4",
+			"resolved": "https://registry.npmjs.org/@vercel/nft/-/nft-0.24.4.tgz",
+			"integrity": "sha512-KjYAZty7boH5fi5udp6p+lNu6nawgs++pHW+3koErMgbRkkHuToGX/FwjN5clV1FcaM3udfd4zW/sUapkMgpZw==",
 			"dependencies": {
 				"@mapbox/node-pre-gyp": "^1.0.5",
 				"@rollup/pluginutils": "^4.0.0",
@@ -3204,9 +3259,9 @@
 			}
 		},
 		"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.1",
+			"resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.1.tgz",
+			"integrity": "sha512-g4Uf2CFZPaxtJKre6qr4zqLDOOPU7bNVhWjlNhvzc51xaTOx2noMOLhfFkTAqwtrAZAKQUuDfyjitzilpA8WsQ==",
 			"dev": true,
 			"dependencies": {
 				"@npmcli/fs": "^3.1.0",
@@ -3214,7 +3269,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",
@@ -3305,9 +3360,9 @@
 			}
 		},
 		"node_modules/cacache/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"
@@ -4121,6 +4176,7 @@
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
 			"integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+			"dev": true,
 			"dependencies": {
 				"path-type": "^4.0.0"
 			},
@@ -5941,18 +5997,30 @@
 			}
 		},
 		"node_modules/globby": {
-			"version": "13.2.2",
-			"resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
-			"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
+			"version": "14.0.0",
+			"resolved": "https://registry.npmjs.org/globby/-/globby-14.0.0.tgz",
+			"integrity": "sha512-/1WM/LNHRAOH9lZta77uGbq0dAEQM+XjNesWwhlERDVenqothRbnzTrL3/LrIoEPPjeUHC3vrS6TwoyxeHs7MQ==",
 			"dependencies": {
-				"dir-glob": "^3.0.1",
-				"fast-glob": "^3.3.0",
+				"@sindresorhus/merge-streams": "^1.0.0",
+				"fast-glob": "^3.3.2",
 				"ignore": "^5.2.4",
-				"merge2": "^1.4.1",
-				"slash": "^4.0.0"
+				"path-type": "^5.0.0",
+				"slash": "^5.1.0",
+				"unicorn-magic": "^0.1.0"
 			},
 			"engines": {
-				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/globby/node_modules/path-type": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
+			"integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
+			"engines": {
+				"node": ">=12"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -6098,9 +6166,9 @@
 			}
 		},
 		"node_modules/hosted-git-info/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"
@@ -6193,9 +6261,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"
@@ -7495,9 +7563,9 @@
 			"dev": true
 		},
 		"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"
@@ -8134,27 +8202,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": {
@@ -9092,9 +9148,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",
@@ -9237,9 +9293,9 @@
 			}
 		},
 		"node_modules/path-scurry/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"
@@ -9258,6 +9314,7 @@
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
 			"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+			"dev": true,
 			"engines": {
 				"node": ">=8"
 			}
@@ -10649,11 +10706,11 @@
 			}
 		},
 		"node_modules/slash": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
-			"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+			"version": "5.1.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+			"integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
 			"engines": {
-				"node": ">=12"
+				"node": ">=14.16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -11198,29 +11255,29 @@
 			}
 		},
 		"node_modules/tap": {
-			"version": "18.5.7",
-			"resolved": "https://registry.npmjs.org/tap/-/tap-18.5.7.tgz",
-			"integrity": "sha512-H2QstHSCmEQAriaPZw5j5DzfASpf15fPVn3a2Vc2TxJ0sahTJo5L7KIihInO6MsrEwGHpQU53u1lB7u8F6QZwg==",
-			"dev": true,
-			"dependencies": {
-				"@tapjs/after": "1.1.16",
-				"@tapjs/after-each": "1.1.16",
-				"@tapjs/asserts": "1.1.16",
-				"@tapjs/before": "1.1.16",
-				"@tapjs/before-each": "1.1.16",
-				"@tapjs/core": "1.4.5",
-				"@tapjs/filter": "1.2.16",
-				"@tapjs/fixture": "1.2.16",
-				"@tapjs/intercept": "1.2.16",
-				"@tapjs/mock": "1.2.14",
-				"@tapjs/node-serialize": "1.2.5",
-				"@tapjs/run": "1.4.14",
-				"@tapjs/snapshot": "1.2.16",
-				"@tapjs/spawn": "1.1.16",
-				"@tapjs/stdin": "1.1.16",
-				"@tapjs/test": "1.3.16",
-				"@tapjs/typescript": "1.3.5",
-				"@tapjs/worker": "1.1.16",
+			"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": {
@@ -11329,9 +11386,9 @@
 			}
 		},
 		"node_modules/tcompare": {
-			"version": "6.4.4",
-			"resolved": "https://registry.npmjs.org/tcompare/-/tcompare-6.4.4.tgz",
-			"integrity": "sha512-mvv9apveoY+XFP2CO2xF3Mkz/v+itzV9ZlhcDY+chIpFGYeTEgiCYdFUPynPme82kNU7UweuxDBQ5J6FkVox/Q==",
+			"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",
@@ -11606,9 +11663,9 @@
 			}
 		},
 		"node_modules/tshy": {
-			"version": "1.8.0",
-			"resolved": "https://registry.npmjs.org/tshy/-/tshy-1.8.0.tgz",
-			"integrity": "sha512-Lg2hVO+B8pdNYvBUSgcra4ULlFCcBIkd7ZJ3nRIPvEjplgEscNSwnOzpIMzKW1m17AYhEGcy1nzv7mA3fi/oEQ==",
+			"version": "1.8.1",
+			"resolved": "https://registry.npmjs.org/tshy/-/tshy-1.8.1.tgz",
+			"integrity": "sha512-O9WxN6r0v1r0e77xvSo3FpFkMqKX0ZFMbOcHD4SGQqPCF5fnyHAMzb7CygZ8Po8jVFoJVcahWG+qDRNaPp66Og==",
 			"dev": true,
 			"dependencies": {
 				"chalk": "^5.3.0",
@@ -11708,6 +11765,19 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/tshy/node_modules/typescript": {
+			"version": "5.2.2",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
+			"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
+			"dev": true,
+			"bin": {
+				"tsc": "bin/tsc",
+				"tsserver": "bin/tsserver"
+			},
+			"engines": {
+				"node": ">=14.17"
+			}
+		},
 		"node_modules/tslib": {
 			"version": "2.6.2",
 			"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
@@ -11827,9 +11897,9 @@
 			}
 		},
 		"node_modules/typescript": {
-			"version": "5.2.2",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz",
-			"integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.2.tgz",
+			"integrity": "sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ==",
 			"dev": true,
 			"bin": {
 				"tsc": "bin/tsc",
@@ -11869,6 +11939,17 @@
 			"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
 			"dev": true
 		},
+		"node_modules/unicorn-magic": {
+			"version": "0.1.0",
+			"resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+			"integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/unique-filename": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz",
@@ -12716,6 +12797,37 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/xo/node_modules/globby": {
+			"version": "13.2.2",
+			"resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz",
+			"integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==",
+			"dev": true,
+			"dependencies": {
+				"dir-glob": "^3.0.1",
+				"fast-glob": "^3.3.0",
+				"ignore": "^5.2.4",
+				"merge2": "^1.4.1",
+				"slash": "^4.0.0"
+			},
+			"engines": {
+				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/xo/node_modules/globby/node_modules/slash": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz",
+			"integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/xo/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",
@@ -12806,18 +12918,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/xo/node_modules/slash": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
-			"integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
-			"dev": true,
-			"engines": {
-				"node": ">=14.16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/xo/node_modules/string-width": {
 			"version": "4.2.3",
 			"resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
diff --git a/package.json b/package.json
index 075a00dc4..80c58d5ec 100644
--- a/package.json
+++ b/package.json
@@ -83,7 +83,7 @@
 		"typescript"
 	],
 	"dependencies": {
-		"@vercel/nft": "^0.24.3",
+		"@vercel/nft": "^0.24.4",
 		"acorn": "^8.11.2",
 		"acorn-walk": "^8.3.0",
 		"ansi-styles": "^6.2.1",
@@ -103,7 +103,7 @@
 		"debug": "^4.3.4",
 		"emittery": "^1.0.1",
 		"figures": "^6.0.1",
-		"globby": "^13.2.2",
+		"globby": "^14.0.0",
 		"ignore-by-default": "^2.1.0",
 		"indent-string": "^5.0.0",
 		"is-plain-object": "^5.0.0",
@@ -128,16 +128,16 @@
 		"@ava/test": "github:avajs/test",
 		"@ava/typescript": "^4.1.0",
 		"@sindresorhus/tsconfig": "^5.0.0",
-		"@types/node": "^20.8.10",
+		"@types/node": "^20.10.3",
 		"ansi-escapes": "^6.2.0",
 		"c8": "^8.0.1",
 		"execa": "^8.0.1",
 		"expect": "^29.7.0",
 		"sinon": "^17.0.1",
-		"tap": "^18.5.7",
+		"tap": "^18.6.1",
 		"tempy": "^3.1.0",
 		"tsd": "^0.29.0",
-		"typescript": "~5.2.2",
+		"typescript": "~5.3.2",
 		"xo": "^0.56.0",
 		"zen-observable": "^0.10.0"
 	},

From 2c2030b6e72ce2ba1c9ec8cc034dbdb05cf77f8a Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Sun, 3 Dec 2023 22:26:11 +0100
Subject: [PATCH 2/9] Ignore snapshot fixture due to churn

---
 .../snapshot-order/fixtures/randomness/.gitignore |   1 +
 .../fixtures/randomness/test.js.snap              | Bin 297 -> 0 bytes
 2 files changed, 1 insertion(+)
 create mode 100644 test/snapshot-order/fixtures/randomness/.gitignore
 delete mode 100644 test/snapshot-order/fixtures/randomness/test.js.snap

diff --git a/test/snapshot-order/fixtures/randomness/.gitignore b/test/snapshot-order/fixtures/randomness/.gitignore
new file mode 100644
index 000000000..29b0ff8e8
--- /dev/null
+++ b/test/snapshot-order/fixtures/randomness/.gitignore
@@ -0,0 +1 @@
+test.js.snap
diff --git a/test/snapshot-order/fixtures/randomness/test.js.snap b/test/snapshot-order/fixtures/randomness/test.js.snap
deleted file mode 100644
index 17aeedced8a515ea99db267b5118e202c087fa5a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 297
zcmV+^0oMLORzV<BZeeh9Xm4~Nb~6eC0E?$@_o1RC9$%razdxw`_sVHLTPpIfb4-;+
zc@!6}ARmhe00000000A9n3j~2pPXIXx+t|Ivm__ALdr=&S0N=eIVZ6wRiQXP7f9qK
z78GaXmlS8hS<MSmQW8rN!<ZS^89;!Ml|hh^BQq~0wZcllU=bck!_=I_q|}_;jKpGv
zM1|bc;^M^gRD2qYAR3AibBgm7P<26FEboZ!;@tcqtj=!4=WG+0d8*DhLqH)j4`_c$
zQKg0^Qefb7zA41{srjWPsYUn{nn4w2=H=m6Xbw@B4K`6BF+DLe5AJeTkjpcRlM{<l
vh;exnK6@-MT^^32kP{ZA1~^?*<N|aMuGnZ=h|f?Xyt2js*6HyzxB>tGc94H|


From feedcd869c7e5eba3f68e93dc7e9412e3a6e0dd5 Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Sun, 3 Dec 2023 22:28:42 +0100
Subject: [PATCH 3/9] Remove errant log

---
 .taprc                           | 2 ++
 test/external-assertions/test.js | 1 -
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/.taprc b/.taprc
index 6cd420829..f7fe0c900 100644
--- a/.taprc
+++ b/.taprc
@@ -5,3 +5,5 @@ files:
   - "test-tap/reporters/*.js"
   - "test-tap/integration/*.js"
 timeout: 300
+plugin:
+  - "!@tapjs/typescript"
diff --git a/test/external-assertions/test.js b/test/external-assertions/test.js
index 7e879c64f..46b7910d2 100644
--- a/test/external-assertions/test.js
+++ b/test/external-assertions/test.js
@@ -10,7 +10,6 @@ const snapshotStdout = (t, stdout) => {
 		.replaceAll(/\/{3}/g, '//')
 		.replaceAll(/(\b)at.*\n/g, '$1at ---\n');
 
-	t.log(process.versions.node.split('.')[0]);
 	t.snapshot(normalized);
 };
 

From b052b282d58ec373a48f8fd6f133624c54311bdd Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Sun, 3 Dec 2023 22:16:50 +0100
Subject: [PATCH 4/9] Update GHA actions

---
 .github/workflows/ci.yml | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d726977d3..72319f0dd 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -18,13 +18,13 @@ jobs:
         node-version: [^18.18, ^20.8, ^21]
         os: [ubuntu-latest, windows-latest, macos-latest]
     steps:
-      - uses: actions/checkout@v3
+      - uses: actions/checkout@v4
       - name: Enable symlinks
         if: matrix.os == 'windows-latest'
         run: |
           git config core.symlinks true
           git reset --hard
-      - uses: actions/setup-node@v3
+      - uses: actions/setup-node@v4
         with:
           node-version: ${{ matrix.node-version }}
           cache: npm
@@ -43,8 +43,8 @@ jobs:
       matrix:
         ts-version: [~5.2]
     steps:
-      - uses: actions/checkout@v3
-      - uses: actions/setup-node@v3
+      - uses: actions/checkout@v4
+      - uses: actions/setup-node@v4
         with:
           node-version-file: package.json
           cache: npm
@@ -59,8 +59,8 @@ jobs:
     name: Test package-lock for unexpected modifications
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v3
-      - uses: actions/setup-node@v3
+      - uses: actions/checkout@v4
+      - uses: actions/setup-node@v4
         with:
           node-version-file: package.json
           cache: npm
@@ -79,8 +79,8 @@ jobs:
     name: Install dependencies without using a lockfile
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v3
-      - uses: actions/setup-node@v3
+      - uses: actions/checkout@v4
+      - uses: actions/setup-node@v4
         with:
           node-version-file: package.json
       - run: npm install --no-package-lock --no-audit
@@ -91,8 +91,8 @@ jobs:
     name: Lint source files
     runs-on: ubuntu-latest
     steps:
-      - uses: actions/checkout@v3
-      - uses: actions/setup-node@v3
+      - uses: actions/checkout@v4
+      - uses: actions/setup-node@v4
         with:
           node-version-file: package.json
           cache: npm

From 2967c29d8dc125090da531fe29445d0e833a15e1 Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Sun, 3 Dec 2023 22:17:04 +0100
Subject: [PATCH 5/9] Test type definition with TS 5.3

---
 .github/workflows/ci.yml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 72319f0dd..eef81519f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -41,7 +41,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        ts-version: [~5.2]
+        ts-version: [~5.2, ~5.3]
     steps:
       - uses: actions/checkout@v4
       - uses: actions/setup-node@v4

From 2de76591d006f6542ce1cb50c24539ad62f2fcec Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Sun, 3 Dec 2023 22:18:08 +0100
Subject: [PATCH 6/9] Select latest LTS in Volta

---
 package.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package.json b/package.json
index 80c58d5ec..ab7f9f736 100644
--- a/package.json
+++ b/package.json
@@ -150,6 +150,6 @@
 		}
 	},
 	"volta": {
-		"node": "20.8.1"
+		"node": "20.10.0"
 	}
 }

From e94031e0fb17cf85a98f84adcab734b1a3a801d0 Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Sun, 3 Dec 2023 22:29:44 +0100
Subject: [PATCH 7/9] Remove unnecessary npx invocation

---
 scripts/test.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/scripts/test.sh b/scripts/test.sh
index ccc8bd9ab..bc4b1108f 100755
--- a/scripts/test.sh
+++ b/scripts/test.sh
@@ -3,6 +3,6 @@ set -ex
 
 npx xo
 npx tsc --noEmit
-npx c8 --report=none npx test-ava
-npx c8 --report=none --no-clean npx tap
+npx c8 --report=none test-ava
+npx c8 --report=none --no-clean tap
 npx c8 report

From 009045050533405f2a684dab79c05b265995f99e Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Mon, 4 Dec 2023 21:07:56 +0100
Subject: [PATCH 8/9] Rebuild lockfile

---
 lib/cli.js        |   2 +-
 package-lock.json | 379 ++++++++++++++++++++++++----------------------
 2 files changed, 202 insertions(+), 179 deletions(-)

diff --git a/lib/cli.js b/lib/cli.js
index 0e7afdfa6..cc00b45a3 100644
--- a/lib/cli.js
+++ b/lib/cli.js
@@ -6,7 +6,7 @@ import v8 from 'node:v8';
 import arrify from 'arrify';
 import figures from 'figures';
 import yargs from 'yargs';
-import {hideBin} from 'yargs/helpers'; // eslint-disable-line n/file-extension-in-import
+import {hideBin} from 'yargs/helpers';
 
 import {asyncEventIteratorFromApi} from './api-event-iterator.js';
 import Api from './api.js';
diff --git a/package-lock.json b/package-lock.json
index abdf04fab..60276e2cc 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -398,12 +398,12 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.22.13",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
-			"integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+			"version": "7.23.5",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+			"integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/highlight": "^7.22.13",
+				"@babel/highlight": "^7.23.4",
 				"chalk": "^2.4.2"
 			},
 			"engines": {
@@ -476,9 +476,9 @@
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz",
-			"integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==",
+			"version": "7.23.4",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+			"integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
 			"dev": true,
 			"dependencies": {
 				"@babel/helper-validator-identifier": "^7.22.20",
@@ -594,9 +594,9 @@
 			}
 		},
 		"node_modules/@eslint/eslintrc": {
-			"version": "2.1.3",
-			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz",
-			"integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==",
+			"version": "2.1.4",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz",
+			"integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==",
 			"dev": true,
 			"dependencies": {
 				"ajv": "^6.12.4",
@@ -635,9 +635,9 @@
 			}
 		},
 		"node_modules/@eslint/js": {
-			"version": "8.53.0",
-			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz",
-			"integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==",
+			"version": "8.55.0",
+			"resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz",
+			"integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==",
 			"dev": true,
 			"engines": {
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
@@ -2198,9 +2198,9 @@
 			}
 		},
 		"node_modules/@types/eslint-scope": {
-			"version": "3.7.6",
-			"resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.6.tgz",
-			"integrity": "sha512-zfM4ipmxVKWdxtDaJ3MP3pBurDXOCoyjvlpE3u6Qzrmw4BPbfm4/ambIeTk/r/J0iq/+2/xp0Fmt+gFvXJY2PQ==",
+			"version": "3.7.7",
+			"resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz",
+			"integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
@@ -2209,39 +2209,39 @@
 			}
 		},
 		"node_modules/@types/estree": {
-			"version": "1.0.4",
-			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz",
-			"integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==",
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
 			"dev": true
 		},
 		"node_modules/@types/istanbul-lib-coverage": {
-			"version": "2.0.5",
-			"resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz",
-			"integrity": "sha512-zONci81DZYCZjiLe0r6equvZut0b+dBRPBN5kBDjsONnutYNtJMoWQ9uR2RkL1gLG9NMTzvf+29e5RFfPbeKhQ==",
+			"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/istanbul-lib-report": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.2.tgz",
-			"integrity": "sha512-8toY6FgdltSdONav1XtUHl4LN1yTmLza+EuDazb/fEmRNCwjyqNVIQWs2IfC74IqjHkREs/nQ2FWq5kZU9IC0w==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+			"integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
 			"dev": true,
 			"dependencies": {
 				"@types/istanbul-lib-coverage": "*"
 			}
 		},
 		"node_modules/@types/istanbul-reports": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.3.tgz",
-			"integrity": "sha512-1nESsePMBlf0RPRffLZi5ujYh7IH1BWL4y9pr+Bn3cJBdxz+RTP8bUFljLz9HvzhhOSWKdyBZ4DIivdL6rvgZg==",
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+			"integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/istanbul-lib-report": "*"
 			}
 		},
 		"node_modules/@types/json-schema": {
-			"version": "7.0.14",
-			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz",
-			"integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==",
+			"version": "7.0.15",
+			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
+			"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
 			"dev": true
 		},
 		"node_modules/@types/json5": {
@@ -2251,9 +2251,9 @@
 			"dev": true
 		},
 		"node_modules/@types/minimist": {
-			"version": "1.2.4",
-			"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz",
-			"integrity": "sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==",
+			"version": "1.2.5",
+			"resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz",
+			"integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==",
 			"dev": true
 		},
 		"node_modules/@types/node": {
@@ -2266,49 +2266,49 @@
 			}
 		},
 		"node_modules/@types/normalize-package-data": {
-			"version": "2.4.3",
-			"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz",
-			"integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==",
+			"version": "2.4.4",
+			"resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
 		"node_modules/@types/semver": {
-			"version": "7.5.4",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz",
-			"integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==",
+			"version": "7.5.6",
+			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
+			"integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
 			"dev": true
 		},
 		"node_modules/@types/stack-utils": {
-			"version": "2.0.2",
-			"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz",
-			"integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==",
+			"version": "2.0.3",
+			"resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+			"integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
 			"dev": true
 		},
 		"node_modules/@types/yargs": {
-			"version": "17.0.30",
-			"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.30.tgz",
-			"integrity": "sha512-3SJLzYk3yz3EgI9I8OLoH06B3PdXIoU2imrBZzaGqUtUXf5iUNDtmAfCGuQrny1bnmyjh/GM/YNts6WK5jR5Rw==",
+			"version": "17.0.32",
+			"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+			"integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
 			"dev": true,
 			"dependencies": {
 				"@types/yargs-parser": "*"
 			}
 		},
 		"node_modules/@types/yargs-parser": {
-			"version": "21.0.2",
-			"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.2.tgz",
-			"integrity": "sha512-5qcvofLPbfjmBfKaLfj/+f+Sbd6pN4zl7w7VSVI5uz7m9QZTuB2aZAa2uo1wHFBNN2x6g/SoTkXmd8mQnQF2Cw==",
+			"version": "21.0.3",
+			"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+			"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
 			"dev": true
 		},
 		"node_modules/@typescript-eslint/eslint-plugin": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.10.0.tgz",
-			"integrity": "sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz",
+			"integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/regexpp": "^4.5.1",
-				"@typescript-eslint/scope-manager": "6.10.0",
-				"@typescript-eslint/type-utils": "6.10.0",
-				"@typescript-eslint/utils": "6.10.0",
-				"@typescript-eslint/visitor-keys": "6.10.0",
+				"@typescript-eslint/scope-manager": "6.13.2",
+				"@typescript-eslint/type-utils": "6.13.2",
+				"@typescript-eslint/utils": "6.13.2",
+				"@typescript-eslint/visitor-keys": "6.13.2",
 				"debug": "^4.3.4",
 				"graphemer": "^1.4.0",
 				"ignore": "^5.2.4",
@@ -2334,15 +2334,15 @@
 			}
 		},
 		"node_modules/@typescript-eslint/parser": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.10.0.tgz",
-			"integrity": "sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.2.tgz",
+			"integrity": "sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/scope-manager": "6.10.0",
-				"@typescript-eslint/types": "6.10.0",
-				"@typescript-eslint/typescript-estree": "6.10.0",
-				"@typescript-eslint/visitor-keys": "6.10.0",
+				"@typescript-eslint/scope-manager": "6.13.2",
+				"@typescript-eslint/types": "6.13.2",
+				"@typescript-eslint/typescript-estree": "6.13.2",
+				"@typescript-eslint/visitor-keys": "6.13.2",
 				"debug": "^4.3.4"
 			},
 			"engines": {
@@ -2362,13 +2362,13 @@
 			}
 		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.10.0.tgz",
-			"integrity": "sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz",
+			"integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "6.10.0",
-				"@typescript-eslint/visitor-keys": "6.10.0"
+				"@typescript-eslint/types": "6.13.2",
+				"@typescript-eslint/visitor-keys": "6.13.2"
 			},
 			"engines": {
 				"node": "^16.0.0 || >=18.0.0"
@@ -2379,13 +2379,13 @@
 			}
 		},
 		"node_modules/@typescript-eslint/type-utils": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.10.0.tgz",
-			"integrity": "sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz",
+			"integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/typescript-estree": "6.10.0",
-				"@typescript-eslint/utils": "6.10.0",
+				"@typescript-eslint/typescript-estree": "6.13.2",
+				"@typescript-eslint/utils": "6.13.2",
 				"debug": "^4.3.4",
 				"ts-api-utils": "^1.0.1"
 			},
@@ -2406,9 +2406,9 @@
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.10.0.tgz",
-			"integrity": "sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz",
+			"integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==",
 			"dev": true,
 			"engines": {
 				"node": "^16.0.0 || >=18.0.0"
@@ -2419,13 +2419,13 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.10.0.tgz",
-			"integrity": "sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz",
+			"integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "6.10.0",
-				"@typescript-eslint/visitor-keys": "6.10.0",
+				"@typescript-eslint/types": "6.13.2",
+				"@typescript-eslint/visitor-keys": "6.13.2",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
@@ -2475,17 +2475,17 @@
 			}
 		},
 		"node_modules/@typescript-eslint/utils": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.10.0.tgz",
-			"integrity": "sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.2.tgz",
+			"integrity": "sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
 				"@types/json-schema": "^7.0.12",
 				"@types/semver": "^7.5.0",
-				"@typescript-eslint/scope-manager": "6.10.0",
-				"@typescript-eslint/types": "6.10.0",
-				"@typescript-eslint/typescript-estree": "6.10.0",
+				"@typescript-eslint/scope-manager": "6.13.2",
+				"@typescript-eslint/types": "6.13.2",
+				"@typescript-eslint/typescript-estree": "6.13.2",
 				"semver": "^7.5.4"
 			},
 			"engines": {
@@ -2500,12 +2500,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "6.10.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.10.0.tgz",
-			"integrity": "sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==",
+			"version": "6.13.2",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz",
+			"integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "6.10.0",
+				"@typescript-eslint/types": "6.13.2",
 				"eslint-visitor-keys": "^3.4.1"
 			},
 			"engines": {
@@ -3094,9 +3094,9 @@
 			"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
 		},
 		"node_modules/big-integer": {
-			"version": "1.6.51",
-			"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz",
-			"integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==",
+			"version": "1.6.52",
+			"resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz",
+			"integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.6"
@@ -3157,9 +3157,9 @@
 			}
 		},
 		"node_modules/browserslist": {
-			"version": "4.22.1",
-			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz",
-			"integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==",
+			"version": "4.22.2",
+			"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
+			"integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
 			"dev": true,
 			"funding": [
 				{
@@ -3177,9 +3177,9 @@
 			],
 			"peer": true,
 			"dependencies": {
-				"caniuse-lite": "^1.0.30001541",
-				"electron-to-chromium": "^1.4.535",
-				"node-releases": "^2.0.13",
+				"caniuse-lite": "^1.0.30001565",
+				"electron-to-chromium": "^1.4.601",
+				"node-releases": "^2.0.14",
 				"update-browserslist-db": "^1.0.13"
 			},
 			"bin": {
@@ -3450,9 +3450,9 @@
 			}
 		},
 		"node_modules/caniuse-lite": {
-			"version": "1.0.30001561",
-			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz",
-			"integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==",
+			"version": "1.0.30001566",
+			"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz",
+			"integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==",
 			"dev": true,
 			"funding": [
 				{
@@ -3890,6 +3890,15 @@
 				"js-yaml": "bin/js-yaml.js"
 			}
 		},
+		"node_modules/cosmiconfig/node_modules/path-type": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+			"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+			"dev": true,
+			"engines": {
+				"node": ">=8"
+			}
+		},
 		"node_modules/cross-spawn": {
 			"version": "7.0.3",
 			"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
@@ -4184,6 +4193,15 @@
 				"node": ">=8"
 			}
 		},
+		"node_modules/dir-glob/node_modules/path-type": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+			"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+			"dev": true,
+			"engines": {
+				"node": ">=8"
+			}
+		},
 		"node_modules/doctrine": {
 			"version": "3.0.0",
 			"resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
@@ -4203,9 +4221,9 @@
 			"dev": true
 		},
 		"node_modules/electron-to-chromium": {
-			"version": "1.4.576",
-			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.576.tgz",
-			"integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==",
+			"version": "1.4.602",
+			"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.602.tgz",
+			"integrity": "sha512-TZdkh+47iRPDtFH9+vuOU7uaZftA7PBDQkk+Tny/gLrYgflyooAk/bHvmK7MSTvQoPKLvy702PC4RiS/6Ffdxw==",
 			"dev": true,
 			"peer": true
 		},
@@ -4350,9 +4368,9 @@
 			}
 		},
 		"node_modules/es-module-lexer": {
-			"version": "1.3.1",
-			"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.1.tgz",
-			"integrity": "sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==",
+			"version": "1.4.1",
+			"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz",
+			"integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==",
 			"dev": true,
 			"peer": true
 		},
@@ -4416,15 +4434,15 @@
 			}
 		},
 		"node_modules/eslint": {
-			"version": "8.53.0",
-			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz",
-			"integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==",
+			"version": "8.55.0",
+			"resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz",
+			"integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.2.0",
 				"@eslint-community/regexpp": "^4.6.1",
-				"@eslint/eslintrc": "^2.1.3",
-				"@eslint/js": "8.53.0",
+				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/js": "8.55.0",
 				"@humanwhocodes/config-array": "^0.11.13",
 				"@humanwhocodes/module-importer": "^1.0.1",
 				"@nodelib/fs.walk": "^1.2.8",
@@ -4470,6 +4488,18 @@
 				"url": "https://opencollective.com/eslint"
 			}
 		},
+		"node_modules/eslint-compat-utils": {
+			"version": "0.1.2",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.1.2.tgz",
+			"integrity": "sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"peerDependencies": {
+				"eslint": ">=6.0.0"
+			}
+		},
 		"node_modules/eslint-config-prettier": {
 			"version": "8.10.0",
 			"resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz",
@@ -4811,13 +4841,14 @@
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.3.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.3.0.tgz",
-			"integrity": "sha512-W9zIs+k00I/I13+Bdkl/zG1MEO07G97XjUSQuH117w620SJ6bHtLUmoMvkGA2oYnI/gNdr+G7BONLyYnFaLLEQ==",
+			"version": "7.5.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.5.0.tgz",
+			"integrity": "sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0"
+				"@eslint-community/regexpp": "^4.6.0",
+				"eslint-compat-utils": "^0.1.2"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
@@ -4934,9 +4965,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "16.2.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.2.0.tgz",
-			"integrity": "sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==",
+			"version": "16.3.1",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.3.1.tgz",
+			"integrity": "sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -4944,6 +4975,7 @@
 				"eslint-plugin-es-x": "^7.1.0",
 				"get-tsconfig": "^4.7.0",
 				"ignore": "^5.2.4",
+				"is-builtin-module": "^3.2.1",
 				"is-core-module": "^2.12.1",
 				"minimatch": "^3.1.2",
 				"resolve": "^1.22.2",
@@ -5613,9 +5645,9 @@
 			}
 		},
 		"node_modules/flat-cache": {
-			"version": "3.1.1",
-			"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz",
-			"integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==",
+			"version": "3.2.0",
+			"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz",
+			"integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==",
 			"dev": true,
 			"dependencies": {
 				"flatted": "^3.2.9",
@@ -5623,7 +5655,7 @@
 				"rimraf": "^3.0.2"
 			},
 			"engines": {
-				"node": ">=12.0.0"
+				"node": "^10.12.0 || >=12.0.0"
 			}
 		},
 		"node_modules/flatted": {
@@ -6015,17 +6047,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/globby/node_modules/path-type": {
-			"version": "5.0.0",
-			"resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
-			"integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
-			"engines": {
-				"node": ">=12"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/gopd": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -6245,9 +6266,9 @@
 			}
 		},
 		"node_modules/ignore": {
-			"version": "5.2.4",
-			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
-			"integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
+			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+			"integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
 			"engines": {
 				"node": ">= 4"
 			}
@@ -7102,9 +7123,9 @@
 			"dev": true
 		},
 		"node_modules/istanbul-lib-coverage": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.1.tgz",
-			"integrity": "sha512-opCrKqbthmq3SKZ10mFMQG9dk3fTa3quaOLD35kJa5ejwZHd9xAr+kLuziiZz2cG32s4lMZxNdmdcEQnTDP4+g==",
+			"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"
@@ -8473,9 +8494,9 @@
 			}
 		},
 		"node_modules/node-gyp-build": {
-			"version": "4.6.1",
-			"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.1.tgz",
-			"integrity": "sha512-24vnklJmyRS8ViBNI8KbtK/r/DmXQMRiOMXTNz2nrTnAYUwjmEEbnnpB/+kt+yWRv73bPsSPRFddrcIbAxSiMQ==",
+			"version": "4.7.1",
+			"resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.7.1.tgz",
+			"integrity": "sha512-wTSrZ+8lsRRa3I3H8Xr65dLWSgCvY2l4AOnaeKdPA9TB/WYMPaTcrzf3rXvFoVvjKNVnu0CcWSx54qq9GKRUYg==",
 			"bin": {
 				"node-gyp-build": "bin.js",
 				"node-gyp-build-optional": "optional.js",
@@ -8593,9 +8614,9 @@
 			}
 		},
 		"node_modules/node-releases": {
-			"version": "2.0.13",
-			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.13.tgz",
-			"integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==",
+			"version": "2.0.14",
+			"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+			"integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
 			"dev": true,
 			"peer": true
 		},
@@ -8812,13 +8833,13 @@
 			}
 		},
 		"node_modules/object.assign": {
-			"version": "4.1.4",
-			"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz",
-			"integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==",
+			"version": "4.1.5",
+			"resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
+			"integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
 			"dev": true,
 			"dependencies": {
-				"call-bind": "^1.0.2",
-				"define-properties": "^1.1.4",
+				"call-bind": "^1.0.5",
+				"define-properties": "^1.2.1",
 				"has-symbols": "^1.0.3",
 				"object-keys": "^1.1.1"
 			},
@@ -9311,12 +9332,14 @@
 			}
 		},
 		"node_modules/path-type": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
-			"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
-			"dev": true,
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz",
+			"integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==",
 			"engines": {
-				"node": ">=8"
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/picocolors": {
@@ -9500,9 +9523,9 @@
 			}
 		},
 		"node_modules/prettier": {
-			"version": "3.0.3",
-			"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.0.3.tgz",
-			"integrity": "sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz",
+			"integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==",
 			"dev": true,
 			"bin": {
 				"prettier": "bin/prettier.cjs"
@@ -11239,13 +11262,13 @@
 			}
 		},
 		"node_modules/synckit": {
-			"version": "0.8.5",
-			"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz",
-			"integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==",
+			"version": "0.8.6",
+			"resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz",
+			"integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==",
 			"dev": true,
 			"dependencies": {
-				"@pkgr/utils": "^2.3.1",
-				"tslib": "^2.5.0"
+				"@pkgr/utils": "^2.4.2",
+				"tslib": "^2.6.2"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
@@ -11437,9 +11460,9 @@
 			}
 		},
 		"node_modules/terser": {
-			"version": "5.24.0",
-			"resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz",
-			"integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==",
+			"version": "5.25.0",
+			"resolved": "https://registry.npmjs.org/terser/-/terser-5.25.0.tgz",
+			"integrity": "sha512-we0I9SIsfvNUMP77zC9HG+MylwYYsGFSBG8qm+13oud2Yh+O104y614FRbyjpxys16jZwot72Fpi827YvGzuqg==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
@@ -12039,9 +12062,9 @@
 			}
 		},
 		"node_modules/url-or-path": {
-			"version": "2.1.0",
-			"resolved": "https://registry.npmjs.org/url-or-path/-/url-or-path-2.1.0.tgz",
-			"integrity": "sha512-dsBD6GbytSMj9YDb3jVzSRENwFh50oUORnWBeSHfo0Lnwv2KMm/J4npyGy1P9rivUPsUGLjTA53XqAFqpe0nww==",
+			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/url-or-path/-/url-or-path-2.3.0.tgz",
+			"integrity": "sha512-5g9xpEJKjbAY8ikLU3XFpEg3hRLGt6SbCQmDElb1AL7JTW6vMi5Na5e3dMvONHisIu9VHgMAADLHJ8EznYR2ow==",
 			"dev": true,
 			"funding": {
 				"url": "https://github.com/fisker/url-or-path?sponsor=1"
@@ -12068,9 +12091,9 @@
 			"dev": true
 		},
 		"node_modules/v8-to-istanbul": {
-			"version": "9.1.3",
-			"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz",
-			"integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==",
+			"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",
@@ -12642,9 +12665,9 @@
 			}
 		},
 		"node_modules/xo/node_modules/@types/eslint": {
-			"version": "8.44.6",
-			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz",
-			"integrity": "sha512-P6bY56TVmX8y9J87jHNgQh43h6VVU+6H7oN7hgvivV81K2XY8qJZ5vqPy/HdUoVIelii2kChYVzQanlswPWVFw==",
+			"version": "8.44.8",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.8.tgz",
+			"integrity": "sha512-4K8GavROwhrYl2QXDXm0Rv9epkA8GBFu0EI+XrrnnuCl7u8CWBRusX7fXJfanhZTDWSAL24gDI/UqXyUM0Injw==",
 			"dev": true,
 			"dependencies": {
 				"@types/estree": "*",

From cd4228b19853533b11994e6d2aced4e3a270a229 Mon Sep 17 00:00:00 2001
From: Mark Wubben <mark@novemberborn.net>
Date: Mon, 4 Dec 2023 21:21:15 +0100
Subject: [PATCH 9/9] Work around legacy tap-based tests choking on our
 tsconfig.json

No idea why it's even resolving the config when there are no TypeScript tests to run.
---
 .taprc                 | 11 +++++------
 .xo-config.cjs         |  1 +
 test-tap/tsconfig.json |  2 ++
 3 files changed, 8 insertions(+), 6 deletions(-)
 create mode 100644 test-tap/tsconfig.json

diff --git a/.taprc b/.taprc
index f7fe0c900..49ec6b085 100644
--- a/.taprc
+++ b/.taprc
@@ -1,9 +1,8 @@
 disable-coverage: true
 allow-empty-coverage: true
-files:
-  - "test-tap/*.js"
-  - "test-tap/reporters/*.js"
-  - "test-tap/integration/*.js"
+include:
+  - test-tap/*.js
+  - test-tap/reporters/*.js
+  - test-tap/integration/*.js
 timeout: 300
-plugin:
-  - "!@tapjs/typescript"
+tsconfig: test-tap/tsconfig.json
diff --git a/.xo-config.cjs b/.xo-config.cjs
index b63b13eb1..f19110954 100644
--- a/.xo-config.cjs
+++ b/.xo-config.cjs
@@ -12,6 +12,7 @@ module.exports = {
 		'test/**/fixtures',
 		'test-tap/fixture/snapshots/test-sourcemaps/build/**',
 		'test-tap/fixture/report/edgecases/ast-syntax-error.cjs',
+		'test-tap/fixture/**/*.ts',
 		'test-types',
 		'examples/typescript-*/**/*.ts',
 	],
diff --git a/test-tap/tsconfig.json b/test-tap/tsconfig.json
new file mode 100644
index 000000000..16f918bf7
--- /dev/null
+++ b/test-tap/tsconfig.json
@@ -0,0 +1,2 @@
+// Empty config file so that TAP doesn't choke on ours.
+{}