mediawiki/extensions/WikibaseLexeme: REL1_39 (log #1379653)

sourcepatches

This run took 223 seconds.

From 6ded15b2f03cc1832a1c1fda647339d05aab4c55 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 14 Jun 2024 05:30:49 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt: 1.4.1 → 1.5.3
* @babel/traverse: 7.16.8 → 7.24.7
  * https://github.com/advisories/GHSA-67hx-6x53-jw92
* @xmldom/xmldom: 0.7.5 → 0.7.13
  * https://github.com/advisories/GHSA-crh6-fp67-6883
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg
* ejs: 3.1.6 → 3.1.10
  * https://github.com/advisories/GHSA-ghr5-ch3p-vcr6
  * https://github.com/advisories/GHSA-phwq-j96m-2c2q
* got: 11.8.3 → 11.8.6
  * https://github.com/advisories/GHSA-pfrx-2q88-qq97
* http-cache-semantics: 4.1.0 → 4.1.1
  * https://github.com/advisories/GHSA-rc47-6667-2j5j
* json5: 2.2.0 → 2.2.3
  * https://github.com/advisories/GHSA-9c47-m6qq-7p4h
* minimatch: 3.0.4, 5.0.0 → 3.0.4, 3.1.2, 4.2.1, 5.0.0, 5.1.6
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
* minimist: 1.2.5 → 1.2.8
  * https://github.com/advisories/GHSA-xvch-5gv4-984h
* mocha: 9.1.4 → 9.2.2
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
  * https://github.com/advisories/GHSA-qrpm-p2h7-hrv2
* nanoid: 3.1.25, 3.2.0 → 3.3.1, 3.3.7
  * https://github.com/advisories/GHSA-qrpm-p2h7-hrv2
* prismjs: 1.26.0 → 1.29.0
  * https://github.com/advisories/GHSA-3949-f494-cm99
* recursive-readdir: 2.2.2 → 2.2.3
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
* ua-parser-js: 1.0.2 → 1.0.38
  * https://github.com/advisories/GHSA-fhg7-m89q-25r3
* word-wrap: 1.2.3 → 1.2.5
  * https://github.com/advisories/GHSA-j8xg-fqg3-53r7

Additional changes:
* Set `name` in package.json.

Change-Id: I25d8d59ec0c270ad962e00ab185dc9f3b6fef3db
---
 package-lock.json | 1333 ++++++++++++++++++++++++---------------------
 package.json      |    3 +-
 2 files changed, 713 insertions(+), 623 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e951f1e..89cf880 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,6 +4,7 @@
 	"requires": true,
 	"packages": {
 		"": {
+			"name": "WikibaseLexeme",
 			"devDependencies": {
 				"@wdio/cli": "^7.16.14",
 				"@wdio/dot-reporter": "^7.16.14",
@@ -15,7 +16,7 @@
 				"eslint-config-wikimedia": "0.20.0",
 				"eslint-plugin-jsonc": "^2.2.1",
 				"eslint-plugin-promise": "^6.0.0",
-				"grunt": "1.4.1",
+				"grunt": "1.5.3",
 				"grunt-banana-checker": "0.9.0",
 				"grunt-eslint": "24.0.0",
 				"grunt-jasmine-nodejs": "^1.6.1",
@@ -104,9 +105,9 @@
 			}
 		},
 		"node_modules/@babel/core/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -124,30 +125,21 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
-			"integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+			"integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.8",
-				"jsesc": "^2.5.1",
-				"source-map": "^0.5.0"
+				"@babel/types": "^7.24.7",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
+				"jsesc": "^2.5.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/@babel/generator/node_modules/source-map": {
-			"version": "0.5.7",
-			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-			"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-			"dev": true,
-			"peer": true,
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
 		"node_modules/@babel/helper-compilation-targets": {
 			"version": "7.16.7",
 			"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
@@ -168,9 +160,9 @@
 			}
 		},
 		"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -178,54 +170,40 @@
 			}
 		},
 		"node_modules/@babel/helper-environment-visitor": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
-			"integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+			"integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-function-name": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
-			"integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+			"integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/helper-get-function-arity": "^7.16.7",
-				"@babel/template": "^7.16.7",
-				"@babel/types": "^7.16.7"
-			},
-			"engines": {
-				"node": ">=6.9.0"
-			}
-		},
-		"node_modules/@babel/helper-get-function-arity": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
-			"integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
-			"dev": true,
-			"peer": true,
-			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/template": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-hoist-variables": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
-			"integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+			"integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -278,22 +256,32 @@
 			}
 		},
 		"node_modules/@babel/helper-split-export-declaration": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
-			"integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+			"integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
+		"node_modules/@babel/helper-string-parser": {
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+			"integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": ">=6.9.0"
+			}
+		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
-			"integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -325,14 +313,15 @@
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
-			"integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.16.7",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -410,9 +399,9 @@
 			}
 		},
 		"node_modules/@babel/parser": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
-			"integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+			"integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -423,49 +412,50 @@
 			}
 		},
 		"node_modules/@babel/template": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
-			"integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+			"integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/parser": "^7.16.7",
-				"@babel/types": "^7.16.7"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/template/node_modules/@babel/code-frame": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-			"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/highlight": "^7.16.7"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/traverse": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
-			"integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+			"integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/generator": "^7.16.8",
-				"@babel/helper-environment-visitor": "^7.16.7",
-				"@babel/helper-function-name": "^7.16.7",
-				"@babel/helper-hoist-variables": "^7.16.7",
-				"@babel/helper-split-export-declaration": "^7.16.7",
-				"@babel/parser": "^7.16.8",
-				"@babel/types": "^7.16.8",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.24.7",
+				"@babel/helper-environment-visitor": "^7.24.7",
+				"@babel/helper-function-name": "^7.24.7",
+				"@babel/helper-hoist-variables": "^7.24.7",
+				"@babel/helper-split-export-declaration": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			},
 			"engines": {
@@ -473,13 +463,14 @@
 			}
 		},
 		"node_modules/@babel/traverse/node_modules/@babel/code-frame": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-			"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/highlight": "^7.16.7"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -496,13 +487,14 @@
 			}
 		},
 		"node_modules/@babel/types": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
-			"integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+			"integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.16.7",
+				"@babel/helper-string-parser": "^7.24.7",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			},
 			"engines": {
@@ -565,6 +557,59 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
+		"node_modules/@jridgewell/gen-mapping": {
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+			"dev": true,
+			"peer": true,
+			"dependencies": {
+				"@jridgewell/set-array": "^1.2.1",
+				"@jridgewell/sourcemap-codec": "^1.4.10",
+				"@jridgewell/trace-mapping": "^0.3.24"
+			},
+			"engines": {
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/@jridgewell/resolve-uri": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+			"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/@jridgewell/set-array": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/@jridgewell/sourcemap-codec": {
+			"version": "1.4.15",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+			"dev": true,
+			"peer": true
+		},
+		"node_modules/@jridgewell/trace-mapping": {
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+			"dev": true,
+			"peer": true,
+			"dependencies": {
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
+			}
+		},
 		"node_modules/@mdn/browser-compat-data": {
 			"version": "3.3.14",
 			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz",
@@ -1389,9 +1434,9 @@
 			}
 		},
 		"node_modules/@xmldom/xmldom": {
-			"version": "0.7.5",
-			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
-			"integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==",
+			"version": "0.7.13",
+			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz",
+			"integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==",
 			"dev": true,
 			"engines": {
 				"node": ">=10.0.0"
@@ -1939,12 +1984,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -2213,9 +2258,9 @@
 			}
 		},
 		"node_modules/cac/node_modules/semver": {
-			"version": "5.7.1",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"version": "5.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+			"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver"
@@ -2410,10 +2455,16 @@
 			"dev": true
 		},
 		"node_modules/chokidar": {
-			"version": "3.5.2",
-			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
-			"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+			"version": "3.5.3",
+			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+			"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://paulmillr.com/funding/"
+				}
+			],
 			"dependencies": {
 				"anymatch": "~3.1.2",
 				"braces": "~3.0.2",
@@ -3322,12 +3373,12 @@
 			}
 		},
 		"node_modules/ejs": {
-			"version": "3.1.6",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
-			"integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"dependencies": {
-				"jake": "^10.6.1"
+				"jake": "^10.8.5"
 			},
 			"bin": {
 				"ejs": "bin/cli.js"
@@ -3851,9 +3902,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-node/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -3921,9 +3972,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-vue/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -4310,18 +4361,39 @@
 			}
 		},
 		"node_modules/filelist": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
-			"integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+			"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
 			"dev": true,
 			"dependencies": {
-				"minimatch": "^3.0.4"
+				"minimatch": "^5.0.1"
+			}
+		},
+		"node_modules/filelist/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/filelist/node_modules/minimatch": {
+			"version": "5.1.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+			"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^2.0.1"
+			},
+			"engines": {
+				"node": ">=10"
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -4795,6 +4867,18 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/globule/node_modules/glob/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/gonzales-pe": {
 			"version": "4.3.0",
 			"resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
@@ -4812,9 +4896,9 @@
 			}
 		},
 		"node_modules/got": {
-			"version": "11.8.3",
-			"resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-			"integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
+			"version": "11.8.6",
+			"resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+			"integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
 			"dev": true,
 			"dependencies": {
 				"@sindresorhus/is": "^4.0.0",
@@ -4864,9 +4948,9 @@
 			}
 		},
 		"node_modules/grunt": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz",
-			"integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"dependencies": {
 				"dateformat": "~3.0.3",
@@ -4874,7 +4958,7 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
+				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
@@ -5275,6 +5359,18 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/grunt/node_modules/glob/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/har-schema": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@@ -5464,9 +5560,9 @@
 			}
 		},
 		"node_modules/http-cache-semantics": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
-			"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
 			"dev": true
 		},
 		"node_modules/http-proxy-agent": {
@@ -6147,98 +6243,33 @@
 			"dev": true
 		},
 		"node_modules/jake": {
-			"version": "10.8.2",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
-			"integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
+			"version": "10.9.1",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz",
+			"integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==",
 			"dev": true,
 			"dependencies": {
-				"async": "0.9.x",
-				"chalk": "^2.4.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.3",
+				"chalk": "^4.0.2",
+				"filelist": "^1.0.4",
+				"minimatch": "^3.1.2"
 			},
 			"bin": {
 				"jake": "bin/cli.js"
 			},
 			"engines": {
-				"node": "*"
-			}
-		},
-		"node_modules/jake/node_modules/ansi-styles": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-			"dev": true,
-			"dependencies": {
-				"color-convert": "^1.9.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/jake/node_modules/async": {
-			"version": "0.9.2",
-			"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-			"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
-			"dev": true
-		},
-		"node_modules/jake/node_modules/chalk": {
-			"version": "2.4.2",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-			"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-			"dev": true,
-			"dependencies": {
-				"ansi-styles": "^3.2.1",
-				"escape-string-regexp": "^1.0.5",
-				"supports-color": "^5.3.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/jake/node_modules/color-convert": {
-			"version": "1.9.3",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-			"dev": true,
-			"dependencies": {
-				"color-name": "1.1.3"
-			}
-		},
-		"node_modules/jake/node_modules/color-name": {
-			"version": "1.1.3",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-			"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-			"dev": true
-		},
-		"node_modules/jake/node_modules/escape-string-regexp": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-			"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-			"dev": true,
-			"engines": {
-				"node": ">=0.8.0"
-			}
-		},
-		"node_modules/jake/node_modules/has-flag": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-			"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-			"dev": true,
-			"engines": {
-				"node": ">=4"
+				"node": ">=10"
 			}
 		},
-		"node_modules/jake/node_modules/supports-color": {
-			"version": "5.5.0",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+		"node_modules/jake/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
 			"dev": true,
 			"dependencies": {
-				"has-flag": "^3.0.0"
+				"brace-expansion": "^1.1.7"
 			},
 			"engines": {
-				"node": ">=4"
+				"node": "*"
 			}
 		},
 		"node_modules/jasmine": {
@@ -6593,14 +6624,11 @@
 			"dev": true
 		},
 		"node_modules/json5": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-			"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+			"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
 			"dev": true,
 			"peer": true,
-			"dependencies": {
-				"minimist": "^1.2.5"
-			},
 			"bin": {
 				"json5": "lib/cli.js"
 			},
@@ -7438,10 +7466,13 @@
 			}
 		},
 		"node_modules/minimist": {
-			"version": "1.2.5",
-			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-			"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-			"dev": true
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+			"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+			"dev": true,
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
 		},
 		"node_modules/minimist-options": {
 			"version": "4.1.0",
@@ -7476,32 +7507,32 @@
 			"dev": true
 		},
 		"node_modules/mocha": {
-			"version": "9.1.4",
-			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz",
-			"integrity": "sha512-+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==",
+			"version": "9.2.2",
+			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz",
+			"integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==",
 			"dev": true,
 			"dependencies": {
 				"@ungap/promise-all-settled": "1.1.2",
 				"ansi-colors": "4.1.1",
 				"browser-stdout": "1.3.1",
-				"chokidar": "3.5.2",
-				"debug": "4.3.2",
+				"chokidar": "3.5.3",
+				"debug": "4.3.3",
 				"diff": "5.0.0",
 				"escape-string-regexp": "4.0.0",
 				"find-up": "5.0.0",
-				"glob": "7.1.7",
+				"glob": "7.2.0",
 				"growl": "1.10.5",
 				"he": "1.2.0",
 				"js-yaml": "4.1.0",
 				"log-symbols": "4.1.0",
-				"minimatch": "3.0.4",
+				"minimatch": "4.2.1",
 				"ms": "2.1.3",
-				"nanoid": "3.1.25",
+				"nanoid": "3.3.1",
 				"serialize-javascript": "6.0.0",
 				"strip-json-comments": "3.1.1",
 				"supports-color": "8.1.1",
 				"which": "2.0.2",
-				"workerpool": "6.1.5",
+				"workerpool": "6.2.0",
 				"yargs": "16.2.0",
 				"yargs-parser": "20.2.4",
 				"yargs-unparser": "2.0.0"
@@ -7524,49 +7555,6 @@
 			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
 			"dev": true
 		},
-		"node_modules/mocha/node_modules/debug": {
-			"version": "4.3.2",
-			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-			"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-			"dev": true,
-			"dependencies": {
-				"ms": "2.1.2"
-			},
-			"engines": {
-				"node": ">=6.0"
-			},
-			"peerDependenciesMeta": {
-				"supports-color": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/mocha/node_modules/debug/node_modules/ms": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-			"dev": true
-		},
-		"node_modules/mocha/node_modules/glob": {
-			"version": "7.1.7",
-			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-			"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-			"dev": true,
-			"dependencies": {
-				"fs.realpath": "^1.0.0",
-				"inflight": "^1.0.4",
-				"inherits": "2",
-				"minimatch": "^3.0.4",
-				"once": "^1.3.0",
-				"path-is-absolute": "^1.0.0"
-			},
-			"engines": {
-				"node": "*"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/isaacs"
-			}
-		},
 		"node_modules/mocha/node_modules/js-yaml": {
 			"version": "4.1.0",
 			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -7579,6 +7567,18 @@
 				"js-yaml": "bin/js-yaml.js"
 			}
 		},
+		"node_modules/mocha/node_modules/minimatch": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz",
+			"integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/mocha/node_modules/ms": {
 			"version": "2.1.3",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -7680,9 +7680,9 @@
 			}
 		},
 		"node_modules/nanoid": {
-			"version": "3.1.25",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
-			"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+			"version": "3.3.1",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
+			"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
 			"dev": true,
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
@@ -8010,9 +8010,9 @@
 			}
 		},
 		"node_modules/npm-run-all/node_modules/semver": {
-			"version": "5.7.1",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"version": "5.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+			"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver"
@@ -8606,21 +8606,31 @@
 			}
 		},
 		"node_modules/postcss": {
-			"version": "8.4.5",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
-			"integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+			"version": "8.4.38",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+			"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/postcss/"
+				},
+				{
+					"type": "tidelift",
+					"url": "https://tidelift.com/funding/github/npm/postcss"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
 			"dependencies": {
-				"nanoid": "^3.1.30",
+				"nanoid": "^3.3.7",
 				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.1"
+				"source-map-js": "^1.2.0"
 			},
 			"engines": {
 				"node": "^10 || ^12 || >=14"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/postcss/"
 			}
 		},
 		"node_modules/postcss-html": {
@@ -8829,10 +8839,16 @@
 			"dev": true
 		},
 		"node_modules/postcss/node_modules/nanoid": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
-			"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
 			},
@@ -8910,9 +8926,9 @@
 			}
 		},
 		"node_modules/prismjs": {
-			"version": "1.26.0",
-			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz",
-			"integrity": "sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==",
+			"version": "1.29.0",
+			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+			"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=6"
@@ -9014,6 +9030,12 @@
 			"integrity": "sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==",
 			"dev": true
 		},
+		"node_modules/querystringify": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+			"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+			"dev": true
+		},
 		"node_modules/queue-microtask": {
 			"version": "1.2.3",
 			"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -9179,9 +9201,9 @@
 			}
 		},
 		"node_modules/read-pkg/node_modules/semver": {
-			"version": "5.7.1",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"version": "5.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+			"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver"
@@ -9244,15 +9266,27 @@
 			}
 		},
 		"node_modules/recursive-readdir": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
-			"integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
+			"integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
 			"dev": true,
 			"dependencies": {
-				"minimatch": "3.0.4"
+				"minimatch": "^3.0.5"
 			},
 			"engines": {
-				"node": ">=0.10.0"
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/recursive-readdir/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
 			}
 		},
 		"node_modules/redent": {
@@ -9459,6 +9493,12 @@
 				"node": ">=0.10.5"
 			}
 		},
+		"node_modules/requires-port": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+			"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+			"dev": true
+		},
 		"node_modules/resolve": {
 			"version": "1.21.0",
 			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
@@ -9919,9 +9959,9 @@
 			}
 		},
 		"node_modules/source-map-js": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
-			"integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -10637,23 +10677,24 @@
 			}
 		},
 		"node_modules/tough-cookie": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
-			"integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+			"version": "4.1.4",
+			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
+			"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
 			"dev": true,
 			"dependencies": {
 				"psl": "^1.1.33",
 				"punycode": "^2.1.1",
-				"universalify": "^0.1.2"
+				"universalify": "^0.2.0",
+				"url-parse": "^1.5.3"
 			},
 			"engines": {
 				"node": ">=6"
 			}
 		},
 		"node_modules/tough-cookie/node_modules/universalify": {
-			"version": "0.1.2",
-			"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-			"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+			"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4.0.0"
@@ -10758,9 +10799,9 @@
 			}
 		},
 		"node_modules/ua-parser-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz",
-			"integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==",
+			"version": "1.0.38",
+			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+			"integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -10770,6 +10811,10 @@
 				{
 					"type": "paypal",
 					"url": "https://paypal.me/faisalman"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/faisalman"
 				}
 			],
 			"engines": {
@@ -10872,7 +10917,7 @@
 		"node_modules/unexpected/node_modules/diff": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-1.1.0.tgz",
-			"integrity": "sha1-eYpJOBqkZBUem08Ob/Kwmooa0j8=",
+			"integrity": "sha512-WjTXudf2KKRi//AfeNNbgmiM8BO3whNjvUbPhMpoUxgiHHlVrpp/QyOM5jAGF0vjRWwOgXLrylnMRtfQN+u/RQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.3.1"
@@ -10974,6 +11019,16 @@
 				"punycode": "^2.1.0"
 			}
 		},
+		"node_modules/url-parse": {
+			"version": "1.5.10",
+			"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+			"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+			"dev": true,
+			"dependencies": {
+				"querystringify": "^2.1.1",
+				"requires-port": "^1.0.0"
+			}
+		},
 		"node_modules/util-deprecate": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -11127,9 +11182,9 @@
 			}
 		},
 		"node_modules/vue-eslint-parser/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -11393,18 +11448,18 @@
 			}
 		},
 		"node_modules/word-wrap": {
-			"version": "1.2.3",
-			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-			"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+			"version": "1.2.5",
+			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+			"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
 		"node_modules/workerpool": {
-			"version": "6.1.5",
-			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
-			"integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==",
+			"version": "6.2.0",
+			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz",
+			"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==",
 			"dev": true
 		},
 		"node_modules/wrap-ansi": {
@@ -11824,9 +11879,9 @@
 					}
 				},
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true,
 					"peer": true
 				},
@@ -11840,24 +11895,16 @@
 			}
 		},
 		"@babel/generator": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
-			"integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+			"integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.8",
-				"jsesc": "^2.5.1",
-				"source-map": "^0.5.0"
-			},
-			"dependencies": {
-				"source-map": {
-					"version": "0.5.7",
-					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-					"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-					"dev": true,
-					"peer": true
-				}
+				"@babel/types": "^7.24.7",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
+				"jsesc": "^2.5.1"
 			}
 		},
 		"@babel/helper-compilation-targets": {
@@ -11874,54 +11921,43 @@
 			},
 			"dependencies": {
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true,
 					"peer": true
 				}
 			}
 		},
 		"@babel/helper-environment-visitor": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
-			"integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+			"integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			}
 		},
 		"@babel/helper-function-name": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
-			"integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
-			"dev": true,
-			"peer": true,
-			"requires": {
-				"@babel/helper-get-function-arity": "^7.16.7",
-				"@babel/template": "^7.16.7",
-				"@babel/types": "^7.16.7"
-			}
-		},
-		"@babel/helper-get-function-arity": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
-			"integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+			"integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/template": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			}
 		},
 		"@babel/helper-hoist-variables": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
-			"integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+			"integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			}
 		},
 		"@babel/helper-module-imports": {
@@ -11962,19 +11998,26 @@
 			}
 		},
 		"@babel/helper-split-export-declaration": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
-			"integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+			"integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			}
 		},
+		"@babel/helper-string-parser": {
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+			"integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+			"dev": true,
+			"peer": true
+		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
-			"integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true
 		},
 		"@babel/helper-validator-option": {
@@ -11997,14 +12040,15 @@
 			}
 		},
 		"@babel/highlight": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
-			"integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.16.7",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -12066,63 +12110,65 @@
 			}
 		},
 		"@babel/parser": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
-			"integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+			"integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
 			"dev": true,
 			"peer": true
 		},
 		"@babel/template": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
-			"integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+			"integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/parser": "^7.16.7",
-				"@babel/types": "^7.16.7"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			},
 			"dependencies": {
 				"@babel/code-frame": {
-					"version": "7.16.7",
-					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-					"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+					"version": "7.24.7",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+					"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 					"dev": true,
 					"peer": true,
 					"requires": {
-						"@babel/highlight": "^7.16.7"
+						"@babel/highlight": "^7.24.7",
+						"picocolors": "^1.0.0"
 					}
 				}
 			}
 		},
 		"@babel/traverse": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
-			"integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+			"integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/generator": "^7.16.8",
-				"@babel/helper-environment-visitor": "^7.16.7",
-				"@babel/helper-function-name": "^7.16.7",
-				"@babel/helper-hoist-variables": "^7.16.7",
-				"@babel/helper-split-export-declaration": "^7.16.7",
-				"@babel/parser": "^7.16.8",
-				"@babel/types": "^7.16.8",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.24.7",
+				"@babel/helper-environment-visitor": "^7.24.7",
+				"@babel/helper-function-name": "^7.24.7",
+				"@babel/helper-hoist-variables": "^7.24.7",
+				"@babel/helper-split-export-declaration": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			},
 			"dependencies": {
 				"@babel/code-frame": {
-					"version": "7.16.7",
-					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-					"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+					"version": "7.24.7",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+					"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 					"dev": true,
 					"peer": true,
 					"requires": {
-						"@babel/highlight": "^7.16.7"
+						"@babel/highlight": "^7.24.7",
+						"picocolors": "^1.0.0"
 					}
 				},
 				"globals": {
@@ -12135,13 +12181,14 @@
 			}
 		},
 		"@babel/types": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
-			"integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+			"integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.16.7",
+				"@babel/helper-string-parser": "^7.24.7",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			}
 		},
@@ -12192,6 +12239,50 @@
 				"chalk": "^4.0.0"
 			}
 		},
+		"@jridgewell/gen-mapping": {
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+			"dev": true,
+			"peer": true,
+			"requires": {
+				"@jridgewell/set-array": "^1.2.1",
+				"@jridgewell/sourcemap-codec": "^1.4.10",
+				"@jridgewell/trace-mapping": "^0.3.24"
+			}
+		},
+		"@jridgewell/resolve-uri": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+			"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+			"dev": true,
+			"peer": true
+		},
+		"@jridgewell/set-array": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+			"dev": true,
+			"peer": true
+		},
+		"@jridgewell/sourcemap-codec": {
+			"version": "1.4.15",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+			"dev": true,
+			"peer": true
+		},
+		"@jridgewell/trace-mapping": {
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+			"dev": true,
+			"peer": true,
+			"requires": {
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
+			}
+		},
 		"@mdn/browser-compat-data": {
 			"version": "3.3.14",
 			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz",
@@ -12918,9 +13009,9 @@
 			}
 		},
 		"@xmldom/xmldom": {
-			"version": "0.7.5",
-			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
-			"integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==",
+			"version": "0.7.13",
+			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz",
+			"integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==",
 			"dev": true
 		},
 		"abab": {
@@ -13355,12 +13446,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browser-process-hrtime": {
@@ -13554,9 +13645,9 @@
 					}
 				},
 				"semver": {
-					"version": "5.7.1",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-					"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+					"version": "5.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+					"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 					"dev": true
 				},
 				"strip-ansi": {
@@ -13699,9 +13790,9 @@
 			"dev": true
 		},
 		"chokidar": {
-			"version": "3.5.2",
-			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
-			"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+			"version": "3.5.3",
+			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+			"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
 			"dev": true,
 			"requires": {
 				"anymatch": "~3.1.2",
@@ -14444,12 +14535,12 @@
 			}
 		},
 		"ejs": {
-			"version": "3.1.6",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
-			"integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"requires": {
-				"jake": "^10.6.1"
+				"jake": "^10.8.5"
 			}
 		},
 		"electron-to-chromium": {
@@ -14833,9 +14924,9 @@
 					"dev": true
 				},
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true
 				}
 			}
@@ -14881,9 +14972,9 @@
 			},
 			"dependencies": {
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true
 				}
 			}
@@ -15182,18 +15273,38 @@
 			}
 		},
 		"filelist": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
-			"integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+			"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
 			"dev": true,
 			"requires": {
-				"minimatch": "^3.0.4"
+				"minimatch": "^5.0.1"
+			},
+			"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"
+					}
+				},
+				"minimatch": {
+					"version": "5.1.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+					"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
+				}
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -15541,6 +15652,17 @@
 						"minimatch": "^3.0.4",
 						"once": "^1.3.0",
 						"path-is-absolute": "^1.0.0"
+					},
+					"dependencies": {
+						"minimatch": {
+							"version": "3.1.2",
+							"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+							"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+							"dev": true,
+							"requires": {
+								"brace-expansion": "^1.1.7"
+							}
+						}
 					}
 				}
 			}
@@ -15556,9 +15678,9 @@
 			}
 		},
 		"got": {
-			"version": "11.8.3",
-			"resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-			"integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
+			"version": "11.8.6",
+			"resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+			"integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
 			"dev": true,
 			"requires": {
 				"@sindresorhus/is": "^4.0.0",
@@ -15599,9 +15721,9 @@
 			"dev": true
 		},
 		"grunt": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz",
-			"integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"requires": {
 				"dateformat": "~3.0.3",
@@ -15609,7 +15731,7 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
+				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
@@ -15633,6 +15755,17 @@
 						"minimatch": "^3.0.4",
 						"once": "^1.3.0",
 						"path-is-absolute": "^1.0.0"
+					},
+					"dependencies": {
+						"minimatch": {
+							"version": "3.1.2",
+							"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+							"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+							"dev": true,
+							"requires": {
+								"brace-expansion": "^1.1.7"
+							}
+						}
 					}
 				}
 			}
@@ -16041,9 +16174,9 @@
 			}
 		},
 		"http-cache-semantics": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
-			"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
 			"dev": true
 		},
 		"http-proxy-agent": {
@@ -16511,77 +16644,24 @@
 			"dev": true
 		},
 		"jake": {
-			"version": "10.8.2",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
-			"integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
+			"version": "10.9.1",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz",
+			"integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==",
 			"dev": true,
 			"requires": {
-				"async": "0.9.x",
-				"chalk": "^2.4.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.3",
+				"chalk": "^4.0.2",
+				"filelist": "^1.0.4",
+				"minimatch": "^3.1.2"
 			},
 			"dependencies": {
-				"ansi-styles": {
-					"version": "3.2.1",
-					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-					"dev": true,
-					"requires": {
-						"color-convert": "^1.9.0"
-					}
-				},
-				"async": {
-					"version": "0.9.2",
-					"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-					"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
-					"dev": true
-				},
-				"chalk": {
-					"version": "2.4.2",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-					"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-					"dev": true,
-					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
-					}
-				},
-				"color-convert": {
-					"version": "1.9.3",
-					"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-					"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-					"dev": true,
-					"requires": {
-						"color-name": "1.1.3"
-					}
-				},
-				"color-name": {
-					"version": "1.1.3",
-					"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-					"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-					"dev": true
-				},
-				"escape-string-regexp": {
-					"version": "1.0.5",
-					"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-					"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-					"dev": true
-				},
-				"has-flag": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-					"dev": true
-				},
-				"supports-color": {
-					"version": "5.5.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-					"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
 					"dev": true,
 					"requires": {
-						"has-flag": "^3.0.0"
+						"brace-expansion": "^1.1.7"
 					}
 				}
 			}
@@ -16879,14 +16959,11 @@
 			"dev": true
 		},
 		"json5": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-			"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+			"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
 			"dev": true,
-			"peer": true,
-			"requires": {
-				"minimist": "^1.2.5"
-			}
+			"peer": true
 		},
 		"jsonc-eslint-parser": {
 			"version": "2.1.0",
@@ -17557,9 +17634,9 @@
 			}
 		},
 		"minimist": {
-			"version": "1.2.5",
-			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-			"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+			"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
 			"dev": true
 		},
 		"minimist-options": {
@@ -17586,32 +17663,32 @@
 			"dev": true
 		},
 		"mocha": {
-			"version": "9.1.4",
-			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz",
-			"integrity": "sha512-+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==",
+			"version": "9.2.2",
+			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz",
+			"integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==",
 			"dev": true,
 			"requires": {
 				"@ungap/promise-all-settled": "1.1.2",
 				"ansi-colors": "4.1.1",
 				"browser-stdout": "1.3.1",
-				"chokidar": "3.5.2",
-				"debug": "4.3.2",
+				"chokidar": "3.5.3",
+				"debug": "4.3.3",
 				"diff": "5.0.0",
 				"escape-string-regexp": "4.0.0",
 				"find-up": "5.0.0",
-				"glob": "7.1.7",
+				"glob": "7.2.0",
 				"growl": "1.10.5",
 				"he": "1.2.0",
 				"js-yaml": "4.1.0",
 				"log-symbols": "4.1.0",
-				"minimatch": "3.0.4",
+				"minimatch": "4.2.1",
 				"ms": "2.1.3",
-				"nanoid": "3.1.25",
+				"nanoid": "3.3.1",
 				"serialize-javascript": "6.0.0",
 				"strip-json-comments": "3.1.1",
 				"supports-color": "8.1.1",
 				"which": "2.0.2",
-				"workerpool": "6.1.5",
+				"workerpool": "6.2.0",
 				"yargs": "16.2.0",
 				"yargs-parser": "20.2.4",
 				"yargs-unparser": "2.0.0"
@@ -17623,37 +17700,6 @@
 					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
 					"dev": true
 				},
-				"debug": {
-					"version": "4.3.2",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-					"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-					"dev": true,
-					"requires": {
-						"ms": "2.1.2"
-					},
-					"dependencies": {
-						"ms": {
-							"version": "2.1.2",
-							"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-							"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-							"dev": true
-						}
-					}
-				},
-				"glob": {
-					"version": "7.1.7",
-					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-					"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-					"dev": true,
-					"requires": {
-						"fs.realpath": "^1.0.0",
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "^3.0.4",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
-					}
-				},
 				"js-yaml": {
 					"version": "4.1.0",
 					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -17663,6 +17709,15 @@
 						"argparse": "^2.0.1"
 					}
 				},
+				"minimatch": {
+					"version": "4.2.1",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz",
+					"integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				},
 				"ms": {
 					"version": "2.1.3",
 					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -17749,9 +17804,9 @@
 			}
 		},
 		"nanoid": {
-			"version": "3.1.25",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
-			"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+			"version": "3.3.1",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
+			"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -18008,9 +18063,9 @@
 					}
 				},
 				"semver": {
-					"version": "5.7.1",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-					"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+					"version": "5.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+					"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 					"dev": true
 				},
 				"shebang-command": {
@@ -18448,20 +18503,20 @@
 			}
 		},
 		"postcss": {
-			"version": "8.4.5",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
-			"integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+			"version": "8.4.38",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+			"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
 			"dev": true,
 			"requires": {
-				"nanoid": "^3.1.30",
+				"nanoid": "^3.3.7",
 				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.1"
+				"source-map-js": "^1.2.0"
 			},
 			"dependencies": {
 				"nanoid": {
-					"version": "3.2.0",
-					"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
-					"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
+					"version": "3.3.7",
+					"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+					"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 					"dev": true
 				}
 			}
@@ -18683,9 +18738,9 @@
 			"dev": true
 		},
 		"prismjs": {
-			"version": "1.26.0",
-			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz",
-			"integrity": "sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==",
+			"version": "1.29.0",
+			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+			"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
 			"dev": true
 		},
 		"process-nextick-args": {
@@ -18774,6 +18829,12 @@
 			"integrity": "sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==",
 			"dev": true
 		},
+		"querystringify": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+			"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+			"dev": true
+		},
 		"queue-microtask": {
 			"version": "1.2.3",
 			"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -18838,9 +18899,9 @@
 					}
 				},
 				"semver": {
-					"version": "5.7.1",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-					"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+					"version": "5.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+					"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 					"dev": true
 				},
 				"type-fest": {
@@ -18946,12 +19007,23 @@
 			}
 		},
 		"recursive-readdir": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
-			"integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
+			"integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
 			"dev": true,
 			"requires": {
-				"minimatch": "3.0.4"
+				"minimatch": "^3.0.5"
+			},
+			"dependencies": {
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				}
 			}
 		},
 		"redent": {
@@ -19105,6 +19177,12 @@
 			"integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
 			"dev": true
 		},
+		"requires-port": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+			"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+			"dev": true
+		},
 		"resolve": {
 			"version": "1.21.0",
 			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
@@ -19447,9 +19525,9 @@
 			"dev": true
 		},
 		"source-map-js": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
-			"integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true
 		},
 		"spdx-correct": {
@@ -20013,20 +20091,21 @@
 			}
 		},
 		"tough-cookie": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
-			"integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+			"version": "4.1.4",
+			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
+			"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
 			"dev": true,
 			"requires": {
 				"psl": "^1.1.33",
 				"punycode": "^2.1.1",
-				"universalify": "^0.1.2"
+				"universalify": "^0.2.0",
+				"url-parse": "^1.5.3"
 			},
 			"dependencies": {
 				"universalify": {
-					"version": "0.1.2",
-					"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-					"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+					"version": "0.2.0",
+					"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+					"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
 					"dev": true
 				}
 			}
@@ -20105,9 +20184,9 @@
 			}
 		},
 		"ua-parser-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz",
-			"integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==",
+			"version": "1.0.38",
+			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+			"integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
 			"dev": true
 		},
 		"unbox-primitive": {
@@ -20168,7 +20247,7 @@
 				"diff": {
 					"version": "1.1.0",
 					"resolved": "https://registry.npmjs.org/diff/-/diff-1.1.0.tgz",
-					"integrity": "sha1-eYpJOBqkZBUem08Ob/Kwmooa0j8=",
+					"integrity": "sha512-WjTXudf2KKRi//AfeNNbgmiM8BO3whNjvUbPhMpoUxgiHHlVrpp/QyOM5jAGF0vjRWwOgXLrylnMRtfQN+u/RQ==",
 					"dev": true
 				}
 			}
@@ -20268,6 +20347,16 @@
 				"punycode": "^2.1.0"
 			}
 		},
+		"url-parse": {
+			"version": "1.5.10",
+			"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+			"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+			"dev": true,
+			"requires": {
+				"querystringify": "^2.1.1",
+				"requires-port": "^1.0.0"
+			}
+		},
 		"util-deprecate": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -20385,9 +20474,9 @@
 					}
 				},
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true
 				}
 			}
@@ -20599,15 +20688,15 @@
 			}
 		},
 		"word-wrap": {
-			"version": "1.2.3",
-			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-			"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+			"version": "1.2.5",
+			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+			"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
 			"dev": true
 		},
 		"workerpool": {
-			"version": "6.1.5",
-			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
-			"integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==",
+			"version": "6.2.0",
+			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz",
+			"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==",
 			"dev": true
 		},
 		"wrap-ansi": {
diff --git a/package.json b/package.json
index 81ce2fe..2abbe7d 100644
--- a/package.json
+++ b/package.json
@@ -1,4 +1,5 @@
 {
+	"name": "WikibaseLexeme",
 	"private": true,
 	"config": {
 		"remoteVersion": {
@@ -45,7 +46,7 @@
 		"eslint-config-wikimedia": "0.20.0",
 		"eslint-plugin-jsonc": "^2.2.1",
 		"eslint-plugin-promise": "^6.0.0",
-		"grunt": "1.4.1",
+		"grunt": "1.5.3",
 		"grunt-banana-checker": "0.9.0",
 		"grunt-eslint": "24.0.0",
 		"grunt-jasmine-nodejs": "^1.6.1",
-- 
2.39.2

$ date
--- stdout ---
Fri Jun 14 05:27:18 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikibaseLexeme.git repo --depth=1 -b REL1_39
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stderr ---
Submodule 'resources/special/new-lexeme' (https://phabricator.wikimedia.org/diffusion/NLSP/new-lexeme-special-page.git) registered for path 'resources/special/new-lexeme'
Cloning into '/src/repo/resources/special/new-lexeme'...
--- stdout ---
Submodule path 'resources/special/new-lexeme': checked out '93a01289f58723273c030ca0e54b53d41ebdb89c'

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/REL1_39
--- stdout ---
18b892ac708b9b0f1d26526c8826dcc6fa63ee7d refs/heads/REL1_39

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@babel/traverse": {
      "name": "@babel/traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096886,
          "name": "@babel/traverse",
          "dependency": "@babel/traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.4,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [],
      "range": "<7.23.2",
      "nodes": [
        "node_modules/@babel/traverse"
      ],
      "fixAvailable": true
    },
    "@xmldom/xmldom": {
      "name": "@xmldom/xmldom",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1091572,
          "name": "@xmldom/xmldom",
          "dependency": "@xmldom/xmldom",
          "title": "xmldom allows multiple root nodes in a DOM",
          "url": "https://github.com/advisories/GHSA-crh6-fp67-6883",
          "severity": "critical",
          "cwe": [
            "CWE-20",
            "CWE-1288"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<0.7.7"
        }
      ],
      "effects": [],
      "range": "<0.7.7",
      "nodes": [
        "node_modules/@xmldom/xmldom"
      ],
      "fixAvailable": true
    },
    "autoprefixer": {
      "name": "autoprefixer",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "1.0.20131222 - 9.8.8",
      "nodes": [
        "node_modules/autoprefixer"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1097496,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    },
    "diff": {
      "name": "diff",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095029,
          "name": "diff",
          "dependency": "diff",
          "title": "Regular Expression Denial of Service (ReDoS)",
          "url": "https://github.com/advisories/GHSA-h6ch-v84p-w6p9",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.5.0"
        }
      ],
      "effects": [
        "unexpected"
      ],
      "range": "<3.5.0",
      "nodes": [
        "node_modules/unexpected/node_modules/diff"
      ],
      "fixAvailable": {
        "name": "unexpected",
        "version": "13.2.1",
        "isSemVerMajor": true
      }
    },
    "ejs": {
      "name": "ejs",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1089270,
          "name": "ejs",
          "dependency": "ejs",
          "title": "ejs template injection vulnerability",
          "url": "https://github.com/advisories/GHSA-phwq-j96m-2c2q",
          "severity": "critical",
          "cwe": [
            "CWE-74"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<3.1.7"
        },
        {
          "source": 1097492,
          "name": "ejs",
          "dependency": "ejs",
          "title": "ejs lacks certain pollution protection",
          "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.10"
        }
      ],
      "effects": [],
      "range": "<=3.1.9",
      "nodes": [
        "node_modules/ejs"
      ],
      "fixAvailable": true
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "eslint-plugin-compat"
      ],
      "effects": [],
      "range": "0.18.0 - 0.21.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.28.2",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-compat": {
      "name": "eslint-plugin-compat",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "semver"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "3.6.0-0 - 4.1.4",
      "nodes": [
        "node_modules/eslint-plugin-compat"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.28.2",
        "isSemVerMajor": true
      }
    },
    "got": {
      "name": "got",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1088948,
          "name": "got",
          "dependency": "got",
          "title": "Got allows a redirect to a UNIX socket",
          "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97",
          "severity": "moderate",
          "cwe": [],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<11.8.5"
        }
      ],
      "effects": [],
      "range": "<11.8.5",
      "nodes": [
        "node_modules/got"
      ],
      "fixAvailable": true
    },
    "grunt": {
      "name": "grunt",
      "severity": "high",
      "isDirect": true,
      "via": [
        {
          "source": 1091643,
          "name": "grunt",
          "dependency": "grunt",
          "title": "Race Condition in Grunt",
          "url": "https://github.com/advisories/GHSA-rm36-94g8-835r",
          "severity": "high",
          "cwe": [
            "CWE-367"
          ],
          "cvss": {
            "score": 7,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<1.5.3"
        },
        {
          "source": 1091644,
          "name": "grunt",
          "dependency": "grunt",
          "title": "Path Traversal in Grunt",
          "url": "https://github.com/advisories/GHSA-j383-35pm-c5h4",
          "severity": "moderate",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 5.5,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<1.5.2"
        }
      ],
      "effects": [],
      "range": "<=1.5.2",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "1.6.1",
        "isSemVerMajor": false
      }
    },
    "grunt-stylelint": {
      "name": "grunt-stylelint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "stylelint"
      ],
      "effects": [],
      "range": "<=0.16.0",
      "nodes": [
        "node_modules/grunt-stylelint"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "http-cache-semantics": {
      "name": "http-cache-semantics",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1092316,
          "name": "http-cache-semantics",
          "dependency": "http-cache-semantics",
          "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<4.1.1"
        }
      ],
      "effects": [],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/http-cache-semantics"
      ],
      "fixAvailable": true
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096544,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": ">=2.0.0 <2.2.2"
        }
      ],
      "effects": [],
      "range": "2.0.0 - 2.2.1",
      "nodes": [
        "node_modules/json5"
      ],
      "fixAvailable": true
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096485,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.5"
        }
      ],
      "effects": [
        "mocha",
        "recursive-readdir"
      ],
      "range": "<3.0.5",
      "nodes": [
        "node_modules/minimatch"
      ],
      "fixAvailable": true
    },
    "minimist": {
      "name": "minimist",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096549,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": ">=1.0.0 <1.2.6"
        }
      ],
      "effects": [],
      "range": "1.0.0 - 1.2.5",
      "nodes": [
        "node_modules/minimist"
      ],
      "fixAvailable": true
    },
    "mocha": {
      "name": "mocha",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch",
        "nanoid"
      ],
      "effects": [],
      "range": "5.1.0 - 9.2.1",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": true
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request",
        "semver"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "nanoid": {
      "name": "nanoid",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1089011,
          "name": "nanoid",
          "dependency": "nanoid",
          "title": "Exposure of Sensitive Information to an Unauthorized Actor in nanoid",
          "url": "https://github.com/advisories/GHSA-qrpm-p2h7-hrv2",
          "severity": "moderate",
          "cwe": [
            "CWE-200"
          ],
          "cvss": {
            "score": 5.5,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": ">=3.0.0 <3.1.31"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "3.0.0 - 3.1.30",
      "nodes": [
        "node_modules/nanoid"
      ],
      "fixAvailable": true
    },
    "postcss": {
      "name": "postcss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1094544,
          "name": "postcss",
          "dependency": "postcss",
          "title": "PostCSS line return parsing error",
          "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j",
          "severity": "moderate",
          "cwe": [
            "CWE-74",
            "CWE-144"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<8.4.31"
        }
      ],
      "effects": [
        "autoprefixer",
        "postcss-less",
        "postcss-safe-parser",
        "postcss-sass",
        "postcss-scss",
        "stylelint",
        "sugarss"
      ],
      "range": "<8.4.31",
      "nodes": [
        "node_modules/autoprefixer/node_modules/postcss",
        "node_modules/postcss",
        "node_modules/postcss-less/node_modules/postcss",
        "node_modules/postcss-safe-parser/node_modules/postcss",
        "node_modules/postcss-sass/node_modules/postcss",
        "node_modules/postcss-scss/node_modules/postcss",
        "node_modules/stylelint/node_modules/postcss",
        "node_modules/sugarss/node_modules/postcss"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-less": {
      "name": "postcss-less",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=3.1.4",
      "nodes": [
        "node_modules/postcss-less"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-safe-parser": {
      "name": "postcss-safe-parser",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-safe-parser"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-sass": {
      "name": "postcss-sass",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=0.4.4",
      "nodes": [
        "node_modules/postcss-sass"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-scss": {
      "name": "postcss-scss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=2.1.1",
      "nodes": [
        "node_modules/postcss-scss"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "prismjs": {
      "name": "prismjs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1090424,
          "name": "prismjs",
          "dependency": "prismjs",
          "title": "Cross-site Scripting in Prism",
          "url": "https://github.com/advisories/GHSA-3949-f494-cm99",
          "severity": "high",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L"
          },
          "range": ">=1.14.0 <1.27.0"
        }
      ],
      "effects": [],
      "range": "1.14.0 - 1.26.0",
      "nodes": [
        "node_modules/prismjs"
      ],
      "fixAvailable": true
    },
    "recursive-readdir": {
      "name": "recursive-readdir",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [],
      "range": "1.2.0 - 2.2.2",
      "nodes": [
        "node_modules/recursive-readdir"
      ],
      "fixAvailable": true
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "semver": {
      "name": "semver",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096482,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=7.0.0 <7.5.2"
        },
        {
          "source": 1096483,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<5.7.2"
        },
        {
          "source": 1096484,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=6.0.0 <6.3.1"
        }
      ],
      "effects": [
        "eslint-plugin-compat",
        "mwbot"
      ],
      "range": "<=5.7.1 || 6.0.0 - 6.3.0 || 7.0.0 - 7.5.1",
      "nodes": [
        "node_modules/@babel/core/node_modules/semver",
        "node_modules/@babel/helper-compilation-targets/node_modules/semver",
        "node_modules/cac/node_modules/semver",
        "node_modules/eslint-plugin-node/node_modules/semver",
        "node_modules/eslint-plugin-vue/node_modules/semver",
        "node_modules/mwbot/node_modules/semver",
        "node_modules/npm-run-all/node_modules/semver",
        "node_modules/read-pkg/node_modules/semver",
        "node_modules/semver",
        "node_modules/vue-eslint-parser/node_modules/semver"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "stylelint": {
      "name": "stylelint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "autoprefixer",
        "postcss",
        "postcss-less",
        "postcss-safe-parser",
        "postcss-sass",
        "postcss-scss",
        "sugarss"
      ],
      "effects": [
        "grunt-stylelint"
      ],
      "range": "0.1.0 - 13.13.1",
      "nodes": [
        "node_modules/stylelint"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "sugarss": {
      "name": "sugarss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=2.0.0",
      "nodes": [
        "node_modules/sugarss"
      ],
      "fixAvailable": true
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096643,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie",
        "node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "ua-parser-js": {
      "name": "ua-parser-js",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1092302,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "ReDoS Vulnerability in ua-parser-js version",
          "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=0.8.0 <1.0.33"
        }
      ],
      "effects": [],
      "range": "0.8.1 - 1.0.32",
      "nodes": [
        "node_modules/ua-parser-js"
      ],
      "fixAvailable": true
    },
    "unexpected": {
      "name": "unexpected",
      "severity": "high",
      "isDirect": true,
      "via": [
        "diff"
      ],
      "effects": [],
      "range": "5.0.0-beta1 - 11.0.0",
      "nodes": [
        "node_modules/unexpected"
      ],
      "fixAvailable": {
        "name": "unexpected",
        "version": "13.2.1",
        "isSemVerMajor": true
      }
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [
        "wdio-wikibase"
      ],
      "range": "1.1.0 - 2.2.0",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "wdio-wikibase": {
      "name": "wdio-wikibase",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "wdio-mediawiki"
      ],
      "effects": [],
      "range": "5.1.0 - 5.2.0",
      "nodes": [
        "node_modules/wdio-wikibase"
      ],
      "fixAvailable": {
        "name": "wdio-wikibase",
        "version": "6.0.2",
        "isSemVerMajor": true
      }
    },
    "word-wrap": {
      "name": "word-wrap",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1095091,
          "name": "word-wrap",
          "dependency": "word-wrap",
          "title": "word-wrap vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-j8xg-fqg3-53r7",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<1.2.4"
        }
      ],
      "effects": [],
      "range": "<1.2.4",
      "nodes": [
        "node_modules/word-wrap"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 20,
      "high": 11,
      "critical": 4,
      "total": 35
    },
    "dependencies": {
      "prod": 1,
      "dev": 1017,
      "optional": 2,
      "peer": 102,
      "peerOptional": 0,
      "total": 1017
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 54 installs, 0 updates, 0 removals
  - Locking composer/pcre (1.0.1)
  - Locking composer/semver (3.4.0)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (2.0.5)
  - Locking davidrjonas/composer-lock-diff (1.7.0)
  - Locking doctrine/annotations (1.14.3)
  - Locking doctrine/cache (1.13.0)
  - Locking doctrine/collections (1.8.0)
  - Locking doctrine/common (2.13.3)
  - Locking doctrine/deprecations (1.1.3)
  - Locking doctrine/event-manager (1.2.0)
  - Locking doctrine/inflector (1.4.4)
  - Locking doctrine/lexer (1.2.3)
  - Locking doctrine/persistence (1.3.8)
  - Locking doctrine/reflection (1.2.4)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking giorgiosironi/eris (0.10.0)
  - Locking hamcrest/hamcrest-php (v2.0.1)
  - Locking icomefromthenet/reverse-regex (v0.0.6.3)
  - Locking mediawiki/mediawiki-codesniffer (v38.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.11.1)
  - Locking mediawiki/minus-x (1.1.1)
  - Locking mediawiki/phan-taint-check-plugin (3.3.2)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.4.1)
  - Locking patchwork/utf8 (v1.3.3)
  - Locking phan/phan (5.2.0)
  - Locking php-parallel-lint/php-console-color (v0.3)
  - Locking php-parallel-lint/php-console-highlighter (v0.5)
  - Locking php-parallel-lint/php-parallel-lint (v1.3.1)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.4.1)
  - Locking phpdocumentor/type-resolver (1.8.2)
  - Locking phpstan/phpdoc-parser (1.29.1)
  - Locking psr/cache (3.0.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (2.0.0)
  - Locking sabre/event (5.1.4)
  - Locking serialization/serialization (4.0.0)
  - Locking squizlabs/php_codesniffer (3.6.1)
  - Locking symfony/console (v5.4.40)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-ctype (v1.29.0)
  - Locking symfony/polyfill-intl-grapheme (v1.29.0)
  - Locking symfony/polyfill-intl-normalizer (v1.29.0)
  - Locking symfony/polyfill-mbstring (v1.29.0)
  - Locking symfony/polyfill-php73 (v1.29.0)
  - Locking symfony/polyfill-php80 (v1.29.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v6.4.8)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
  - Locking wikimedia/assert (v0.5.1)
  - Locking wmde/php-vuejs-templating (1.1.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 54 installs, 0 updates, 0 removals
  - Downloading doctrine/inflector (1.4.4)
  - Downloading doctrine/lexer (1.2.3)
  - Downloading doctrine/annotations (1.14.3)
  - Downloading doctrine/reflection (1.2.4)
  - Downloading doctrine/collections (1.8.0)
  - Downloading doctrine/cache (1.13.0)
  - Downloading doctrine/persistence (1.3.8)
  - Downloading patchwork/utf8 (v1.3.3)
  - Downloading doctrine/common (2.13.3)
  - Downloading icomefromthenet/reverse-regex (v0.0.6.3)
  - Downloading wmde/php-vuejs-templating (1.1.0)
  0/11 [>---------------------------]   0%
  8/11 [====================>-------]  72%
 11/11 [============================] 100%
  - Installing composer/pcre (1.0.1): Extracting archive
  - Installing davidrjonas/composer-lock-diff (1.7.0): Extracting archive
  - Installing doctrine/inflector (1.4.4): Extracting archive
  - Installing doctrine/lexer (1.2.3): Extracting archive
  - Installing psr/cache (3.0.0): Extracting archive
  - Installing doctrine/annotations (1.14.3): Extracting archive
  - Installing doctrine/reflection (1.2.4): Extracting archive
  - Installing doctrine/deprecations (1.1.3): Extracting archive
  - Installing doctrine/event-manager (1.2.0): Extracting archive
  - Installing doctrine/collections (1.8.0): Extracting archive
  - Installing doctrine/cache (1.13.0): Extracting archive
  - Installing doctrine/persistence (1.3.8): Extracting archive
  - Installing giorgiosironi/eris (0.10.0): Extracting archive
  - Installing hamcrest/hamcrest-php (v2.0.1): Extracting archive
  - Installing patchwork/utf8 (v1.3.3): Extracting archive
  - Installing doctrine/common (2.13.3): Extracting archive
  - Installing icomefromthenet/reverse-regex (v0.0.6.3): Extracting archive
  - Installing squizlabs/php_codesniffer (3.6.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.29.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.0): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v38.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-php80 (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.29.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.29.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.29.0): Extracting archive
  - Installing symfony/string (v6.4.8): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/polyfill-php73 (v1.29.0): Extracting archive
  - Installing symfony/console (v5.4.40): Extracting archive
  - Installing sabre/event (5.1.4): Extracting archive
  - Installing netresearch/jsonmapper (v4.4.1): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (1.29.1): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing phpdocumentor/type-resolver (1.8.2): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.4.1): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (2.0.0): Extracting archive
  - Installing composer/xdebug-handler (2.0.5): Extracting archive
  - Installing phan/phan (5.2.0): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (3.3.2): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.11.1): Extracting archive
  - Installing mediawiki/minus-x (1.1.1): Extracting archive
  - Installing php-parallel-lint/php-console-color (v0.3): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v0.5): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.3.1): Extracting archive
  - Installing serialization/serialization (4.0.0): Extracting archive
  - Installing wikimedia/assert (v0.5.1): Extracting archive
  - Installing wmde/php-vuejs-templating (1.1.0): Extracting archive
  0/54 [>---------------------------]   0%
 19/54 [=========>------------------]  35%
 34/54 [=================>----------]  62%
 47/54 [========================>---]  87%
 54/54 [============================] 100%
6 package suggestions were added by new dependencies, use `composer suggest` to see details.
Package doctrine/reflection is abandoned, you should avoid using it. Use roave/better-reflection instead.
Package patchwork/utf8 is abandoned, you should avoid using it. Use symfony/polyfill-mbstring or symfony/string instead.
Generating autoload files
22 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
Upgrading n:grunt from 1.4.1 -> 1.5.3
$ /usr/bin/npm install
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/sync@7.16.14',
npm WARN EBADENGINE   required: { node: '>=12.0.0 <16' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @stylelint/postcss-markdown@0.36.2: Use the original unforked package instead: postcss-markdown
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated grunt-jasmine-nodejs@1.6.1: Deprecated in favor of npm scripts.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 1016 packages, and audited 1017 packages in 16s

145 packages are looking for funding
  run `npm fund` for details

34 vulnerabilities (20 moderate, 10 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/sync@7.16.14',
npm WARN EBADENGINE   required: { node: '>=12.0.0 <16' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @stylelint/postcss-markdown@0.36.2: Use the original unforked package instead: postcss-markdown
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated grunt-jasmine-nodejs@1.6.1: Deprecated in favor of npm scripts.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 1016 packages, and audited 1017 packages in 20s

145 packages are looking for funding
  run `npm fund` for details

34 vulnerabilities (20 moderate, 10 high, 4 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
[Vue warn]: Error in mounted hook: "TypeError: api.formatValue is not a function"

found in

---> <ItemSelector>
       <Root>
TypeError: api.formatValue is not a function
    at formatEntityLabel (/src/repo/resources/widgets/ItemSelectorWrapper.js:13:7)
    at VueComponent.mounted (/src/repo/resources/widgets/ItemSelectorWrapper.js:37:5)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[Vue warn]: Error in mounted hook: "TypeError: api.formatValue is not a function"

found in

---> <ItemSelector>
       <Root>
TypeError: api.formatValue is not a function
    at formatEntityLabel (/src/repo/resources/widgets/ItemSelectorWrapper.js:13:7)
    at VueComponent.mounted (/src/repo/resources/widgets/ItemSelectorWrapper.js:37:5)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[Vue warn]: Error in destroyed hook: "TypeError: Cannot read properties of undefined (reading 'destroy')"

found in

---> <ItemSelector>
       <Root>
TypeError: Cannot read properties of undefined (reading 'destroy')
    at VueComponent.destroyed (/src/repo/resources/widgets/ItemSelectorWrapper.js:66:43)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Vue.$destroy (/src/repo/node_modules/vue/dist/vue.js:4019:7)
    at destroy (/src/repo/node_modules/vue/dist/vue.js:3185:29)
    at invokeDestroyHook (/src/repo/node_modules/vue/dist/vue.js:6153:61)
    at removeVnodes (/src/repo/node_modules/vue/dist/vue.js:6169:13)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6274:9)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6519:11)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
[Vue warn]: Error in destroyed hook: "TypeError: Cannot read properties of undefined (reading 'destroy')"

found in

---> <ItemSelector>
       <Root>
TypeError: Cannot read properties of undefined (reading 'destroy')
    at VueComponent.destroyed (/src/repo/resources/widgets/ItemSelectorWrapper.js:66:43)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Vue.$destroy (/src/repo/node_modules/vue/dist/vue.js:4019:7)
    at destroy (/src/repo/node_modules/vue/dist/vue.js:3185:29)
    at invokeDestroyHook (/src/repo/node_modules/vue/dist/vue.js:6153:61)
    at removeVnodes (/src/repo/node_modules/vue/dist/vue.js:6169:13)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6274:9)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6519:11)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.20.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@37.9.7',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---

> test
> run-s test:*


> test:grunt
> grunt test

Running "eslint:all" (eslint) task

/src/repo/resources/jquery.wikibase.lexemeformview.js
  287:0  warning  Missing JSDoc @param "lemmas" type           jsdoc/require-param-type
  288:0  warning  Missing JSDoc @param "formIndex" type        jsdoc/require-param-type
  289:0  warning  Missing JSDoc @param "formId" type           jsdoc/require-param-type
  290:0  warning  Missing JSDoc @param "representations" type  jsdoc/require-param-type

/src/repo/resources/special/SpecialNewLexemeAlphaSkipVueApp.js
  0:0  warning  File ignored because of a matching ignore pattern. Use "--no-ignore" to override

/src/repo/resources/view/ViewFactoryFactory.js
  17:0  warning  Syntax error in type: []  jsdoc/valid-types

/src/repo/resources/widgets/GlossWidget.js
  34:0  warning  Syntax error in type: [{ value: string, language: string }]  jsdoc/valid-types

/src/repo/tests/selenium/pageobjects/lexeme.page.js
  236:0  warning  Missing JSDoc @param "input" type  jsdoc/require-param-type
  237:0  warning  Missing JSDoc @param "value" type  jsdoc/require-param-type

/src/repo/tests/selenium/specs/header.edit.js
  12:25  warning  "../../../../Wikibase/repo/tests/selenium/wdio-wikibase/wikibase.api" is not found  node/no-missing-require

✖ 10 problems (0 errors, 10 warnings)


Running "banana:WikibaseLexeme" (banana) task
>> 3 message directories checked.

Running "jasmine_nodejs:all" (jasmine_nodejs) task

>> Executing 121 defined specs...

Test Suites & Specs:

1) actions
Download the Vue Devtools extension for a better development experience:
https://github.com/vuejs/vue-devtools
You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
Download the Vue Devtools extension for a better development experience:
https://github.com/vuejs/vue-devtools
You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
   ✔ ADD_REPRESENTATION on state having no representations and multiple lemmas mutates to empty values
   ✔ ADD_REPRESENTATION on state having no representations and one lemma mutates to empty values and derives lemma language
   ✔ ADD_REPRESENTATION on state having existing representation and one lemma mutates to empty values
   ✔ UPDATE_REPRESENTATION_LANGUAGE delegates to mutation
   ✔ UPDATE_REPRESENTATION_VALUE delegates to mutation
   ✔ REPLACE_ALL_REPRESENTATIONS delegates to mutation
   ✔ REMOVE_REPRESENTATION delegates to mutation

2) focusElement

   3) callback
      ✔ can handle missing element
      ✔ calls focus on selected element

   ✔ returns a callback without doing anything else

4) mutationTypes
   ✔ uses unique ids for all mutation types

5) actionTypes
   ✔ uses unique ids for all action types

6) RepresentationWidget
   ✔ cannot remove representation if not in edit mode
   ✔ can remove a representation
   ✔ adds an empty representation on add
   ✔ is not in edit mode after editing is stopped
   ✔ cannot add representation if not in edit mode
   ✔ adds a representation with unique lemmas language on add after delete
   ✔ adds a new representation with lemma language when editing the widget with no representations and one lemma
   ✔ can carry redundant representations
   ✔ adds a new empty representation when editing the widget with no representations and multiple lemmas
   ✔ shows only the representation it contains when editing the widget with some representation
   ✔ detects redundant representation languages and can mark the individual languages
   ✔ detects redundant representation languages and marks the widget
   ✔ is not in edit mode after being created
   ✔ switches to edit mode when editing

7) wikibase.lexeme.widgets.LemmaWidget
   ✔ add a new lemma
   ✔ initialize widget with one lemma
   ✔ detects redundant lemma language to mark the individual languages
   ✔ remove a lemma
   ✔ edit mode is true
   ✔ marks-up the lemma term with the lemma language
   ✔ detects redundant lemma languages to mark the widget
   ✔ can carry redundant lemma languages
   ✔ edit mode is false

8) RedundantLanguageIndicator
   ✔ creates mixin property hasRedundantLanguage returning false for empty redundantLanguages
   ✔ creates mixin watch handler that can find multiple redundant languages
   ✔ creates mixin definition with watch on desired property
   ✔ creates mixin watch handler not taking offence in repeated empty language
   ✔ creates mixin definition providing method to determine if language isRedundantLanguage
   ✔ creates mixin definition method isRedundantLanguage returning false for empty redundantLanguages
   ✔ creates mixin definition with watch that fires immediately
   ✔ creates mixin definition with watch that monitors the property recursively
   ✔ creates mixin property hasRedundantLanguage returning true for existing redundantLanguages
   ✔ creates mixin watch handler that updates redundantLanguages with respective language values
   ✔ creates mixin definition that adds a redundantLanguages property to data
   ✔ creates mixin definition providing computed property hasRedundantLanguage

9) LemmaList

   10) copy
      ✔ clones Lemmas
      ✔ creates an identical LemmaList

   ✔ getLemmas

   11) equals
      ✔ returns false for LemmaList with different lemmas
      ✔ returns false for objects that are not of type LemmaList
      ✔ returns true for LemmaList with same lemmas
      ✔ ignores empty lemmas
      ✔ returns false for LemmaList of different length

   ✔ add

   ✔ length

   ✔ remove

12) LexemeSubEntityId

   13) getIdSuffix
      ✔ returns the Sense id suffix
      ✔ returns the Form id suffix

14) ItemSelectorWrapper
   ✔ passes the item ID to the entityselector widget on mount

15) mutations
   ✔ UPDATE_REPRESENTATION_VALUE changes correct representation value
   ✔ UPDATE_REPRESENTATION_LANGUAGE changes correct representation language
   ✔ ADD_REPRESENTATION adds a new representation to the right form
   ✔ REMOVE_REPRESENTATION removes representation leaving others with updated index
   ✔ REPLACE_ALL_REPRESENTATIONS replaces representations of correct form
   ✔ DERIVE_REPRESENTATION_LANGUAGE_FROM_LEMMA changes representation language correctly

16) wikibase.lexeme.widgets.LexemeHeader

   17) isUnsaveable
      ✔ returns false by default
      ✔ returns true when there are changes but also lemmas with redundant languages
      ✔ returns true when there are no changes
      ✔ returns true when there are changes but saving is ongoing

   ✔ switch to edit mode

   ✔ passes language and lexical category to LanguageAndLexicalCategoryWidget

   ✔ passes lemmas to LemmaWidget

   ✔ attempting to save with empty lemmas fails

   ✔ save lemma list with error

   ✔ binds to lemma-widget hasRedundantLanguage event

   ✔ cancel edit mode

   18) hasChanges
      ✔ returns false by default
      ✔ returns true when lemmas change
      ✔ ignores added empty lemmas
      ✔ returns true when language changes
      ✔ returns true when lexical category changes

   ✔ updates language and lexical category on save

   ✔ shows save button disabled without changes

   ✔ save lemma list

   ✔ shows save button disabled when unsaveable

   ✔ shows save button enabled when not unsaveable

19) store
   ✔ creates initial state

20) LanguageAndLexicalCategoryWidget
   ✔ shows the language and the lexical category
   ✔ switches to edit mode and back

21) LexemeHeader.newLexemeHeaderStore
   ✔ failed save returns rejected promise with first error object if API returns multiple errors
   ✔ action save calls API with correct parameters when removing an item from the state
   ✔ failed save returns rejected promise with a single error object
   ✔ mutation updateLemmas changes lemmas to given values
   ✔ action save on success mutates the state to start saving, updates state and finishes saving
   ✔ mutation updateLanguage changes lexical category and the link to given values
   ✔ action save calls API with correct parameters and changes state using data from response
   ✔ mutation updateRevisionId changes baseRevId to given value
   ✔ mutation finishSaving switches the isSaving flag to false
   ✔ mutation startSaving switches the isSaving flag to true
   ✔ mutation updateLanguage changes language and languageLink to given values

22) GlossWidget
   ✔ removes empty glosses when saved
   ✔ remove a gloss
   ✔ initialize widget with one gloss
   ✔ add a new gloss
   ✔ switch to edit mode
   ✔ create with no glosses - when switched to edit mode empty gloss is added
   ✔ stop editing

23) InvalidLanguageIndicator
   ✔ creates mixin definition that adds an InvalidLanguages property to data
   ✔ creates mixin definition with watch that does not fire immediately
   ✔ creates mixin watch handler that can find multiple invalid languages
   ✔ creates mixin watch handler that updates InvalidLanguages with respective language values
   ✔ creates mixin watch handler not taking offence in empty language
   ✔ creates mixin definition method isInvalidLanguage returning false for empty InvalidLanguages
   ✔ creates mixin definition providing computed property hasInvalidLanguage
   ✔ creates mixin property hasInvalidLanguage returning true for existing InvalidLanguages
   ✔ creates mixin property hasInvalidLanguage returning false for empty InvalidLanguages
   ✔ creates mixin definition providing method to determine if language isInvalidLanguage
   ✔ creates mixin definition with watch on desired property
   ✔ creates mixin definition with watch that monitors the property recursively

>> Done!


Summary:

Suites:  23 of 23
Specs:   121 of 121
Expects: 0 (0 failures)
Finished in 0.441 seconds

>> Successful!

Running "stylelint:all" (stylelint) task
>> Linted 8 files without errors

Done.

> test:snl-distnodiff
> run-s snl:install snl:build snl:cp snl:diff


> snl:install
> npm -C $npm_package_config_snl_src i


> new-lexeme-special-page@0.0.1 prepare
> husky install

husky - Git hooks installed

added 1064 packages, and audited 1065 packages in 20s

156 packages are looking for funding
  run `npm fund` for details

18 vulnerabilities (13 moderate, 4 high, 1 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

> snl:build
> npm -C $npm_package_config_snl_src run build


> new-lexeme-special-page@0.0.1 build
> vite build

vite v2.9.14 building for production...
transforming...
✓ 81 modules transformed.
rendering chunks...
dist/style.css                 26.29 KiB / gzip: 4.03 KiB
dist/SpecialNewLexeme.cjs.js   97.90 KiB / gzip: 32.71 KiB

> snl:cp
> run-p snl:cp:*


> snl:cp:cjs
> cp $npm_package_config_snl_src/dist/$npm_package_config_snl_cjs $npm_package_config_snl_dist/


> snl:cp:css
> cp $npm_package_config_snl_src/dist/$npm_package_config_snl_css $npm_package_config_snl_dist/


> snl:diff
> git diff --exit-code $npm_package_config_snl_dist


> test:snl-main
> git -C $npm_package_config_snl_src branch --contains HEAD main | grep -q .


> test:mwlibs
> echo 'disabled (T297381)' # ZUUL_BRANCH=${ZUUL_BRANCH:-master} lib-version-check

disabled (T297381)

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@babel/traverse": {
      "name": "@babel/traverse",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096886,
          "name": "@babel/traverse",
          "dependency": "@babel/traverse",
          "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
          "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
          "severity": "critical",
          "cwe": [
            "CWE-184",
            "CWE-697"
          ],
          "cvss": {
            "score": 9.4,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          "range": "<7.23.2"
        }
      ],
      "effects": [],
      "range": "<7.23.2",
      "nodes": [
        "node_modules/@babel/traverse"
      ],
      "fixAvailable": true
    },
    "@xmldom/xmldom": {
      "name": "@xmldom/xmldom",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1091572,
          "name": "@xmldom/xmldom",
          "dependency": "@xmldom/xmldom",
          "title": "xmldom allows multiple root nodes in a DOM",
          "url": "https://github.com/advisories/GHSA-crh6-fp67-6883",
          "severity": "critical",
          "cwe": [
            "CWE-20",
            "CWE-1288"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<0.7.7"
        }
      ],
      "effects": [],
      "range": "<0.7.7",
      "nodes": [
        "node_modules/@xmldom/xmldom"
      ],
      "fixAvailable": true
    },
    "autoprefixer": {
      "name": "autoprefixer",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "1.0.20131222 - 9.8.8",
      "nodes": [
        "node_modules/autoprefixer"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1097496,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    },
    "diff": {
      "name": "diff",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1095029,
          "name": "diff",
          "dependency": "diff",
          "title": "Regular Expression Denial of Service (ReDoS)",
          "url": "https://github.com/advisories/GHSA-h6ch-v84p-w6p9",
          "severity": "high",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.5.0"
        }
      ],
      "effects": [
        "unexpected"
      ],
      "range": "<3.5.0",
      "nodes": [
        "node_modules/unexpected/node_modules/diff"
      ],
      "fixAvailable": {
        "name": "unexpected",
        "version": "13.2.1",
        "isSemVerMajor": true
      }
    },
    "ejs": {
      "name": "ejs",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1089270,
          "name": "ejs",
          "dependency": "ejs",
          "title": "ejs template injection vulnerability",
          "url": "https://github.com/advisories/GHSA-phwq-j96m-2c2q",
          "severity": "critical",
          "cwe": [
            "CWE-74"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<3.1.7"
        },
        {
          "source": 1097492,
          "name": "ejs",
          "dependency": "ejs",
          "title": "ejs lacks certain pollution protection",
          "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<3.1.10"
        }
      ],
      "effects": [],
      "range": "<=3.1.9",
      "nodes": [
        "node_modules/ejs"
      ],
      "fixAvailable": true
    },
    "eslint-config-wikimedia": {
      "name": "eslint-config-wikimedia",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "eslint-plugin-compat"
      ],
      "effects": [],
      "range": "0.18.0 - 0.21.0",
      "nodes": [
        "node_modules/eslint-config-wikimedia"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.28.2",
        "isSemVerMajor": true
      }
    },
    "eslint-plugin-compat": {
      "name": "eslint-plugin-compat",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "semver"
      ],
      "effects": [
        "eslint-config-wikimedia"
      ],
      "range": "3.6.0-0 - 4.1.4",
      "nodes": [
        "node_modules/eslint-plugin-compat"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.28.2",
        "isSemVerMajor": true
      }
    },
    "got": {
      "name": "got",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1088948,
          "name": "got",
          "dependency": "got",
          "title": "Got allows a redirect to a UNIX socket",
          "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97",
          "severity": "moderate",
          "cwe": [],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<11.8.5"
        }
      ],
      "effects": [],
      "range": "<11.8.5",
      "nodes": [
        "node_modules/got"
      ],
      "fixAvailable": true
    },
    "grunt-stylelint": {
      "name": "grunt-stylelint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "stylelint"
      ],
      "effects": [],
      "range": "<=0.16.0",
      "nodes": [
        "node_modules/grunt-stylelint"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "http-cache-semantics": {
      "name": "http-cache-semantics",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1092316,
          "name": "http-cache-semantics",
          "dependency": "http-cache-semantics",
          "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<4.1.1"
        }
      ],
      "effects": [],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/http-cache-semantics"
      ],
      "fixAvailable": true
    },
    "json5": {
      "name": "json5",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096544,
          "name": "json5",
          "dependency": "json5",
          "title": "Prototype Pollution in JSON5 via Parse Method",
          "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
          "severity": "high",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 7.1,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
          },
          "range": ">=2.0.0 <2.2.2"
        }
      ],
      "effects": [],
      "range": "2.0.0 - 2.2.1",
      "nodes": [
        "node_modules/json5"
      ],
      "fixAvailable": true
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096485,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.5"
        }
      ],
      "effects": [
        "mocha",
        "recursive-readdir"
      ],
      "range": "<3.0.5",
      "nodes": [
        "node_modules/minimatch"
      ],
      "fixAvailable": true
    },
    "minimist": {
      "name": "minimist",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1096549,
          "name": "minimist",
          "dependency": "minimist",
          "title": "Prototype Pollution in minimist",
          "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": ">=1.0.0 <1.2.6"
        }
      ],
      "effects": [],
      "range": "1.0.0 - 1.2.5",
      "nodes": [
        "node_modules/minimist"
      ],
      "fixAvailable": true
    },
    "mocha": {
      "name": "mocha",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch",
        "nanoid"
      ],
      "effects": [],
      "range": "5.1.0 - 9.2.1",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": true
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request",
        "semver"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "nanoid": {
      "name": "nanoid",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1089011,
          "name": "nanoid",
          "dependency": "nanoid",
          "title": "Exposure of Sensitive Information to an Unauthorized Actor in nanoid",
          "url": "https://github.com/advisories/GHSA-qrpm-p2h7-hrv2",
          "severity": "moderate",
          "cwe": [
            "CWE-200"
          ],
          "cvss": {
            "score": 5.5,
            "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": ">=3.0.0 <3.1.31"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "3.0.0 - 3.1.30",
      "nodes": [
        "node_modules/nanoid"
      ],
      "fixAvailable": true
    },
    "postcss": {
      "name": "postcss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1094544,
          "name": "postcss",
          "dependency": "postcss",
          "title": "PostCSS line return parsing error",
          "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j",
          "severity": "moderate",
          "cwe": [
            "CWE-74",
            "CWE-144"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<8.4.31"
        }
      ],
      "effects": [
        "autoprefixer",
        "postcss-less",
        "postcss-safe-parser",
        "postcss-sass",
        "postcss-scss",
        "stylelint",
        "sugarss"
      ],
      "range": "<8.4.31",
      "nodes": [
        "node_modules/autoprefixer/node_modules/postcss",
        "node_modules/postcss",
        "node_modules/postcss-less/node_modules/postcss",
        "node_modules/postcss-safe-parser/node_modules/postcss",
        "node_modules/postcss-sass/node_modules/postcss",
        "node_modules/postcss-scss/node_modules/postcss",
        "node_modules/stylelint/node_modules/postcss",
        "node_modules/sugarss/node_modules/postcss"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-less": {
      "name": "postcss-less",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=3.1.4",
      "nodes": [
        "node_modules/postcss-less"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-safe-parser": {
      "name": "postcss-safe-parser",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=4.0.2",
      "nodes": [
        "node_modules/postcss-safe-parser"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-sass": {
      "name": "postcss-sass",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=0.4.4",
      "nodes": [
        "node_modules/postcss-sass"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "postcss-scss": {
      "name": "postcss-scss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [
        "stylelint"
      ],
      "range": "<=2.1.1",
      "nodes": [
        "node_modules/postcss-scss"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "prismjs": {
      "name": "prismjs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1090424,
          "name": "prismjs",
          "dependency": "prismjs",
          "title": "Cross-site Scripting in Prism",
          "url": "https://github.com/advisories/GHSA-3949-f494-cm99",
          "severity": "high",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L"
          },
          "range": ">=1.14.0 <1.27.0"
        }
      ],
      "effects": [],
      "range": "1.14.0 - 1.26.0",
      "nodes": [
        "node_modules/prismjs"
      ],
      "fixAvailable": true
    },
    "recursive-readdir": {
      "name": "recursive-readdir",
      "severity": "high",
      "isDirect": false,
      "via": [
        "minimatch"
      ],
      "effects": [],
      "range": "1.2.0 - 2.2.2",
      "nodes": [
        "node_modules/recursive-readdir"
      ],
      "fixAvailable": true
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "semver": {
      "name": "semver",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096482,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=7.0.0 <7.5.2"
        },
        {
          "source": 1096483,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<5.7.2"
        },
        {
          "source": 1096484,
          "name": "semver",
          "dependency": "semver",
          "title": "semver vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=6.0.0 <6.3.1"
        }
      ],
      "effects": [
        "eslint-plugin-compat",
        "mwbot"
      ],
      "range": "<=5.7.1 || 6.0.0 - 6.3.0 || 7.0.0 - 7.5.1",
      "nodes": [
        "node_modules/@babel/core/node_modules/semver",
        "node_modules/@babel/helper-compilation-targets/node_modules/semver",
        "node_modules/cac/node_modules/semver",
        "node_modules/eslint-plugin-node/node_modules/semver",
        "node_modules/eslint-plugin-vue/node_modules/semver",
        "node_modules/mwbot/node_modules/semver",
        "node_modules/npm-run-all/node_modules/semver",
        "node_modules/read-pkg/node_modules/semver",
        "node_modules/semver",
        "node_modules/vue-eslint-parser/node_modules/semver"
      ],
      "fixAvailable": {
        "name": "eslint-config-wikimedia",
        "version": "0.28.2",
        "isSemVerMajor": true
      }
    },
    "stylelint": {
      "name": "stylelint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "autoprefixer",
        "postcss",
        "postcss-less",
        "postcss-safe-parser",
        "postcss-sass",
        "postcss-scss",
        "sugarss"
      ],
      "effects": [
        "grunt-stylelint"
      ],
      "range": "0.1.0 - 13.13.1",
      "nodes": [
        "node_modules/stylelint"
      ],
      "fixAvailable": {
        "name": "grunt-stylelint",
        "version": "0.20.1",
        "isSemVerMajor": true
      }
    },
    "sugarss": {
      "name": "sugarss",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "postcss"
      ],
      "effects": [],
      "range": "<=2.0.0",
      "nodes": [
        "node_modules/sugarss"
      ],
      "fixAvailable": true
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096643,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/request/node_modules/tough-cookie",
        "node_modules/tough-cookie"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "ua-parser-js": {
      "name": "ua-parser-js",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1092302,
          "name": "ua-parser-js",
          "dependency": "ua-parser-js",
          "title": "ReDoS Vulnerability in ua-parser-js version",
          "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=0.8.0 <1.0.33"
        }
      ],
      "effects": [],
      "range": "0.8.1 - 1.0.32",
      "nodes": [
        "node_modules/ua-parser-js"
      ],
      "fixAvailable": true
    },
    "unexpected": {
      "name": "unexpected",
      "severity": "high",
      "isDirect": true,
      "via": [
        "diff"
      ],
      "effects": [],
      "range": "5.0.0-beta1 - 11.0.0",
      "nodes": [
        "node_modules/unexpected"
      ],
      "fixAvailable": {
        "name": "unexpected",
        "version": "13.2.1",
        "isSemVerMajor": true
      }
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [
        "wdio-wikibase"
      ],
      "range": "1.1.0 - 2.2.0",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "2.5.0",
        "isSemVerMajor": true
      }
    },
    "wdio-wikibase": {
      "name": "wdio-wikibase",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "wdio-mediawiki"
      ],
      "effects": [],
      "range": "5.1.0 - 5.2.0",
      "nodes": [
        "node_modules/wdio-wikibase"
      ],
      "fixAvailable": {
        "name": "wdio-wikibase",
        "version": "6.0.2",
        "isSemVerMajor": true
      }
    },
    "word-wrap": {
      "name": "word-wrap",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1095091,
          "name": "word-wrap",
          "dependency": "word-wrap",
          "title": "word-wrap vulnerable to Regular Expression Denial of Service",
          "url": "https://github.com/advisories/GHSA-j8xg-fqg3-53r7",
          "severity": "moderate",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 5.3,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": "<1.2.4"
        }
      ],
      "effects": [],
      "range": "<1.2.4",
      "nodes": [
        "node_modules/word-wrap"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 20,
      "high": 10,
      "critical": 4,
      "total": 34
    },
    "dependencies": {
      "prod": 1,
      "dev": 1017,
      "optional": 2,
      "peer": 102,
      "peerOptional": 0,
      "total": 1017
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/sync@7.16.14',
npm WARN EBADENGINE   required: { node: '>=12.0.0 <16' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 17,
  "removed": 13,
  "changed": 45,
  "audited": 1021,
  "funding": 148,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@babel/traverse": {
        "name": "@babel/traverse",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1096886,
            "name": "@babel/traverse",
            "dependency": "@babel/traverse",
            "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code",
            "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92",
            "severity": "critical",
            "cwe": [
              "CWE-184",
              "CWE-697"
            ],
            "cvss": {
              "score": 9.4,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
            },
            "range": "<7.23.2"
          }
        ],
        "effects": [],
        "range": "<7.23.2",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "@xmldom/xmldom": {
        "name": "@xmldom/xmldom",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1091572,
            "name": "@xmldom/xmldom",
            "dependency": "@xmldom/xmldom",
            "title": "xmldom allows multiple root nodes in a DOM",
            "url": "https://github.com/advisories/GHSA-crh6-fp67-6883",
            "severity": "critical",
            "cwe": [
              "CWE-20",
              "CWE-1288"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<0.7.7"
          }
        ],
        "effects": [],
        "range": "<0.7.7",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "autoprefixer": {
        "name": "autoprefixer",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "postcss"
        ],
        "effects": [
          "stylelint"
        ],
        "range": "1.0.20131222 - 9.8.8",
        "nodes": [
          "node_modules/autoprefixer"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "braces": {
        "name": "braces",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1097496,
            "name": "braces",
            "dependency": "braces",
            "title": "Uncontrolled resource consumption in braces",
            "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
            "severity": "high",
            "cwe": [
              "CWE-1050"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.3"
          }
        ],
        "effects": [],
        "range": "<3.0.3",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "diff": {
        "name": "diff",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1095029,
            "name": "diff",
            "dependency": "diff",
            "title": "Regular Expression Denial of Service (ReDoS)",
            "url": "https://github.com/advisories/GHSA-h6ch-v84p-w6p9",
            "severity": "high",
            "cwe": [
              "CWE-400"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<3.5.0"
          }
        ],
        "effects": [
          "unexpected"
        ],
        "range": "<3.5.0",
        "nodes": [
          ""
        ],
        "fixAvailable": {
          "name": "unexpected",
          "version": "13.2.1",
          "isSemVerMajor": true
        }
      },
      "ejs": {
        "name": "ejs",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1089270,
            "name": "ejs",
            "dependency": "ejs",
            "title": "ejs template injection vulnerability",
            "url": "https://github.com/advisories/GHSA-phwq-j96m-2c2q",
            "severity": "critical",
            "cwe": [
              "CWE-74"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<3.1.7"
          },
          {
            "source": 1097492,
            "name": "ejs",
            "dependency": "ejs",
            "title": "ejs lacks certain pollution protection",
            "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<3.1.10"
          }
        ],
        "effects": [],
        "range": "<=3.1.9",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "eslint-config-wikimedia": {
        "name": "eslint-config-wikimedia",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "eslint-plugin-compat"
        ],
        "effects": [],
        "range": "0.18.0 - 0.21.0",
        "nodes": [
          "node_modules/eslint-config-wikimedia"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.28.2",
          "isSemVerMajor": true
        }
      },
      "eslint-plugin-compat": {
        "name": "eslint-plugin-compat",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "semver"
        ],
        "effects": [
          "eslint-config-wikimedia"
        ],
        "range": "3.6.0-0 - 4.1.4",
        "nodes": [
          "node_modules/eslint-plugin-compat"
        ],
        "fixAvailable": {
          "name": "eslint-config-wikimedia",
          "version": "0.28.2",
          "isSemVerMajor": true
        }
      },
      "got": {
        "name": "got",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1088948,
            "name": "got",
            "dependency": "got",
            "title": "Got allows a redirect to a UNIX socket",
            "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97",
            "severity": "moderate",
            "cwe": [],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<11.8.5"
          }
        ],
        "effects": [],
        "range": "<11.8.5",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "grunt-stylelint": {
        "name": "grunt-stylelint",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "stylelint"
        ],
        "effects": [],
        "range": "<=0.16.0",
        "nodes": [
          "node_modules/grunt-stylelint"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "http-cache-semantics": {
        "name": "http-cache-semantics",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1092316,
            "name": "http-cache-semantics",
            "dependency": "http-cache-semantics",
            "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service",
            "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<4.1.1"
          }
        ],
        "effects": [],
        "range": "<4.1.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "json5": {
        "name": "json5",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1096544,
            "name": "json5",
            "dependency": "json5",
            "title": "Prototype Pollution in JSON5 via Parse Method",
            "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h",
            "severity": "high",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 7.1,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"
            },
            "range": ">=2.0.0 <2.2.2"
          }
        ],
        "effects": [],
        "range": "2.0.0 - 2.2.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1096485,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch ReDoS vulnerability",
            "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.5"
          }
        ],
        "effects": [
          "mocha",
          "recursive-readdir"
        ],
        "range": "<3.0.5",
        "nodes": [
          "node_modules/minimatch"
        ],
        "fixAvailable": true
      },
      "minimist": {
        "name": "minimist",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1096549,
            "name": "minimist",
            "dependency": "minimist",
            "title": "Prototype Pollution in minimist",
            "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h",
            "severity": "critical",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": ">=1.0.0 <1.2.6"
          }
        ],
        "effects": [],
        "range": "1.0.0 - 1.2.5",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "mocha": {
        "name": "mocha",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch",
          "nanoid"
        ],
        "effects": [],
        "range": "5.1.0 - 9.2.1",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request",
          "semver"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "2.5.0",
          "isSemVerMajor": true
        }
      },
      "nanoid": {
        "name": "nanoid",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1089011,
            "name": "nanoid",
            "dependency": "nanoid",
            "title": "Exposure of Sensitive Information to an Unauthorized Actor in nanoid",
            "url": "https://github.com/advisories/GHSA-qrpm-p2h7-hrv2",
            "severity": "moderate",
            "cwe": [
              "CWE-200"
            ],
            "cvss": {
              "score": 5.5,
              "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"
            },
            "range": ">=3.0.0 <3.1.31"
          }
        ],
        "effects": [
          "mocha"
        ],
        "range": "3.0.0 - 3.1.30",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "postcss": {
        "name": "postcss",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1094544,
            "name": "postcss",
            "dependency": "postcss",
            "title": "PostCSS line return parsing error",
            "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j",
            "severity": "moderate",
            "cwe": [
              "CWE-74",
              "CWE-144"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<8.4.31"
          }
        ],
        "effects": [
          "autoprefixer",
          "postcss-less",
          "postcss-safe-parser",
          "postcss-sass",
          "postcss-scss",
          "stylelint",
          "sugarss"
        ],
        "range": "<8.4.31",
        "nodes": [
          "",
          "node_modules/autoprefixer/node_modules/postcss",
          "node_modules/postcss-less/node_modules/postcss",
          "node_modules/postcss-safe-parser/node_modules/postcss",
          "node_modules/postcss-sass/node_modules/postcss",
          "node_modules/postcss-scss/node_modules/postcss",
          "node_modules/stylelint/node_modules/postcss",
          "node_modules/sugarss/node_modules/postcss"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "postcss-less": {
        "name": "postcss-less",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "postcss"
        ],
        "effects": [],
        "range": "<=3.1.4",
        "nodes": [
          "node_modules/postcss-less"
        ],
        "fixAvailable": true
      },
      "postcss-safe-parser": {
        "name": "postcss-safe-parser",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "postcss"
        ],
        "effects": [
          "stylelint"
        ],
        "range": "<=4.0.2",
        "nodes": [
          "node_modules/postcss-safe-parser"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "postcss-sass": {
        "name": "postcss-sass",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "postcss"
        ],
        "effects": [
          "stylelint"
        ],
        "range": "<=0.4.4",
        "nodes": [
          "node_modules/postcss-sass"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "postcss-scss": {
        "name": "postcss-scss",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "postcss"
        ],
        "effects": [
          "stylelint"
        ],
        "range": "<=2.1.1",
        "nodes": [
          "node_modules/postcss-scss"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "prismjs": {
        "name": "prismjs",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1090424,
            "name": "prismjs",
            "dependency": "prismjs",
            "title": "Cross-site Scripting in Prism",
            "url": "https://github.com/advisories/GHSA-3949-f494-cm99",
            "severity": "high",
            "cwe": [
              "CWE-79"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L"
            },
            "range": ">=1.14.0 <1.27.0"
          }
        ],
        "effects": [],
        "range": "1.14.0 - 1.26.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "recursive-readdir": {
        "name": "recursive-readdir",
        "severity": "high",
        "isDirect": false,
        "via": [
          "minimatch"
        ],
        "effects": [],
        "range": "1.2.0 - 2.2.2",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "request": {
        "name": "request",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          {
            "source": 1096727,
            "name": "request",
            "dependency": "request",
            "title": "Server-Side Request Forgery in Request",
            "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
            "severity": "moderate",
            "cwe": [
              "CWE-918"
            ],
            "cvss": {
              "score": 6.1,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
            },
            "range": "<=2.88.2"
          },
          "tough-cookie"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "2.5.0",
          "isSemVerMajor": true
        }
      },
      "semver": {
        "name": "semver",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096482,
            "name": "semver",
            "dependency": "semver",
            "title": "semver vulnerable to Regular Expression Denial of Service",
            "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
            "severity": "moderate",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": ">=7.0.0 <7.5.2"
          },
          {
            "source": 1096483,
            "name": "semver",
            "dependency": "semver",
            "title": "semver vulnerable to Regular Expression Denial of Service",
            "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
            "severity": "moderate",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": "<5.7.2"
          },
          {
            "source": 1096484,
            "name": "semver",
            "dependency": "semver",
            "title": "semver vulnerable to Regular Expression Denial of Service",
            "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw",
            "severity": "moderate",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": ">=6.0.0 <6.3.1"
          }
        ],
        "effects": [
          "eslint-plugin-compat",
          "mwbot"
        ],
        "range": "<=5.7.1 || 6.0.0 - 6.3.0 || 7.0.0 - 7.5.1",
        "nodes": [
          "",
          "",
          "",
          "",
          "",
          "",
          "",
          "",
          "node_modules/mwbot/node_modules/semver",
          "node_modules/semver"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "2.5.0",
          "isSemVerMajor": true
        }
      },
      "stylelint": {
        "name": "stylelint",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "autoprefixer",
          "postcss",
          "postcss-less",
          "postcss-safe-parser",
          "postcss-sass",
          "postcss-scss",
          "sugarss"
        ],
        "effects": [
          "grunt-stylelint"
        ],
        "range": "0.1.0 - 13.13.1",
        "nodes": [
          "node_modules/stylelint"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "sugarss": {
        "name": "sugarss",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "postcss"
        ],
        "effects": [
          "stylelint"
        ],
        "range": "<=2.0.0",
        "nodes": [
          "node_modules/sugarss"
        ],
        "fixAvailable": {
          "name": "grunt-stylelint",
          "version": "0.20.1",
          "isSemVerMajor": true
        }
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096643,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "",
          "node_modules/request/node_modules/tough-cookie"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "2.5.0",
          "isSemVerMajor": true
        }
      },
      "ua-parser-js": {
        "name": "ua-parser-js",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1092302,
            "name": "ua-parser-js",
            "dependency": "ua-parser-js",
            "title": "ReDoS Vulnerability in ua-parser-js version",
            "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=0.8.0 <1.0.33"
          }
        ],
        "effects": [],
        "range": "0.8.1 - 1.0.32",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "unexpected": {
        "name": "unexpected",
        "severity": "high",
        "isDirect": true,
        "via": [
          "diff"
        ],
        "effects": [],
        "range": "5.0.0-beta1 - 11.0.0",
        "nodes": [
          "node_modules/unexpected"
        ],
        "fixAvailable": {
          "name": "unexpected",
          "version": "13.2.1",
          "isSemVerMajor": true
        }
      },
      "wdio-mediawiki": {
        "name": "wdio-mediawiki",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mwbot"
        ],
        "effects": [
          "wdio-wikibase"
        ],
        "range": "1.1.0 - 2.2.0",
        "nodes": [
          "node_modules/wdio-mediawiki"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "2.5.0",
          "isSemVerMajor": true
        }
      },
      "wdio-wikibase": {
        "name": "wdio-wikibase",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "wdio-mediawiki"
        ],
        "effects": [],
        "range": "5.1.0 - 5.2.0",
        "nodes": [
          "node_modules/wdio-wikibase"
        ],
        "fixAvailable": {
          "name": "wdio-wikibase",
          "version": "6.0.2",
          "isSemVerMajor": true
        }
      },
      "word-wrap": {
        "name": "word-wrap",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1095091,
            "name": "word-wrap",
            "dependency": "word-wrap",
            "title": "word-wrap vulnerable to Regular Expression Denial of Service",
            "url": "https://github.com/advisories/GHSA-j8xg-fqg3-53r7",
            "severity": "moderate",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 5.3,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": "<1.2.4"
          }
        ],
        "effects": [],
        "range": "<1.2.4",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 20,
        "high": 10,
        "critical": 4,
        "total": 34
      },
      "dependencies": {
        "prod": 1,
        "dev": 1020,
        "optional": 2,
        "peer": 106,
        "peerOptional": 0,
        "total": 1020
      }
    }
  }
}

--- end ---
{"added": 17, "removed": 13, "changed": 45, "audited": 1021, "funding": 148, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@babel/traverse": {"name": "@babel/traverse", "severity": "critical", "isDirect": false, "via": [{"source": 1096886, "name": "@babel/traverse", "dependency": "@babel/traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.4, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}], "effects": [], "range": "<7.23.2", "nodes": [""], "fixAvailable": true}, "@xmldom/xmldom": {"name": "@xmldom/xmldom", "severity": "critical", "isDirect": false, "via": [{"source": 1091572, "name": "@xmldom/xmldom", "dependency": "@xmldom/xmldom", "title": "xmldom allows multiple root nodes in a DOM", "url": "https://github.com/advisories/GHSA-crh6-fp67-6883", "severity": "critical", "cwe": ["CWE-20", "CWE-1288"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<0.7.7"}], "effects": [], "range": "<0.7.7", "nodes": [""], "fixAvailable": true}, "autoprefixer": {"name": "autoprefixer", "severity": "moderate", "isDirect": false, "via": ["postcss"], "effects": ["stylelint"], "range": "1.0.20131222 - 9.8.8", "nodes": ["node_modules/autoprefixer"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "braces": {"name": "braces", "severity": "high", "isDirect": false, "via": [{"source": 1097496, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}], "effects": [], "range": "<3.0.3", "nodes": [""], "fixAvailable": true}, "diff": {"name": "diff", "severity": "high", "isDirect": false, "via": [{"source": 1095029, "name": "diff", "dependency": "diff", "title": "Regular Expression Denial of Service (ReDoS)", "url": "https://github.com/advisories/GHSA-h6ch-v84p-w6p9", "severity": "high", "cwe": ["CWE-400"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.5.0"}], "effects": ["unexpected"], "range": "<3.5.0", "nodes": [""], "fixAvailable": {"name": "unexpected", "version": "13.2.1", "isSemVerMajor": true}}, "ejs": {"name": "ejs", "severity": "critical", "isDirect": false, "via": [{"source": 1089270, "name": "ejs", "dependency": "ejs", "title": "ejs template injection vulnerability", "url": "https://github.com/advisories/GHSA-phwq-j96m-2c2q", "severity": "critical", "cwe": ["CWE-74"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<3.1.7"}, {"source": 1097492, "name": "ejs", "dependency": "ejs", "title": "ejs lacks certain pollution protection", "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.10"}], "effects": [], "range": "<=3.1.9", "nodes": [""], "fixAvailable": true}, "eslint-config-wikimedia": {"name": "eslint-config-wikimedia", "severity": "moderate", "isDirect": true, "via": ["eslint-plugin-compat"], "effects": [], "range": "0.18.0 - 0.21.0", "nodes": ["node_modules/eslint-config-wikimedia"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.28.2", "isSemVerMajor": true}}, "eslint-plugin-compat": {"name": "eslint-plugin-compat", "severity": "moderate", "isDirect": false, "via": ["semver"], "effects": ["eslint-config-wikimedia"], "range": "3.6.0-0 - 4.1.4", "nodes": ["node_modules/eslint-plugin-compat"], "fixAvailable": {"name": "eslint-config-wikimedia", "version": "0.28.2", "isSemVerMajor": true}}, "got": {"name": "got", "severity": "moderate", "isDirect": false, "via": [{"source": 1088948, "name": "got", "dependency": "got", "title": "Got allows a redirect to a UNIX socket", "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97", "severity": "moderate", "cwe": [], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<11.8.5"}], "effects": [], "range": "<11.8.5", "nodes": [""], "fixAvailable": true}, "grunt-stylelint": {"name": "grunt-stylelint", "severity": "moderate", "isDirect": true, "via": ["stylelint"], "effects": [], "range": "<=0.16.0", "nodes": ["node_modules/grunt-stylelint"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "http-cache-semantics": {"name": "http-cache-semantics", "severity": "high", "isDirect": false, "via": [{"source": 1092316, "name": "http-cache-semantics", "dependency": "http-cache-semantics", "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<4.1.1"}], "effects": [], "range": "<4.1.1", "nodes": [""], "fixAvailable": true}, "json5": {"name": "json5", "severity": "high", "isDirect": false, "via": [{"source": 1096544, "name": "json5", "dependency": "json5", "title": "Prototype Pollution in JSON5 via Parse Method", "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h", "severity": "high", "cwe": ["CWE-1321"], "cvss": {"score": 7.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"}, "range": ">=2.0.0 <2.2.2"}], "effects": [], "range": "2.0.0 - 2.2.1", "nodes": [""], "fixAvailable": true}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1096485, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS vulnerability", "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3", "severity": "high", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.5"}], "effects": ["mocha", "recursive-readdir"], "range": "<3.0.5", "nodes": ["node_modules/minimatch"], "fixAvailable": true}, "minimist": {"name": "minimist", "severity": "critical", "isDirect": false, "via": [{"source": 1096549, "name": "minimist", "dependency": "minimist", "title": "Prototype Pollution in minimist", "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h", "severity": "critical", "cwe": ["CWE-1321"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": ">=1.0.0 <1.2.6"}], "effects": [], "range": "1.0.0 - 1.2.5", "nodes": [""], "fixAvailable": true}, "mocha": {"name": "mocha", "severity": "high", "isDirect": false, "via": ["minimatch", "nanoid"], "effects": [], "range": "5.1.0 - 9.2.1", "nodes": [""], "fixAvailable": true}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request", "semver"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": {"name": "wdio-mediawiki", "version": "2.5.0", "isSemVerMajor": true}}, "nanoid": {"name": "nanoid", "severity": "moderate", "isDirect": false, "via": [{"source": 1089011, "name": "nanoid", "dependency": "nanoid", "title": "Exposure of Sensitive Information to an Unauthorized Actor in nanoid", "url": "https://github.com/advisories/GHSA-qrpm-p2h7-hrv2", "severity": "moderate", "cwe": ["CWE-200"], "cvss": {"score": 5.5, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"}, "range": ">=3.0.0 <3.1.31"}], "effects": ["mocha"], "range": "3.0.0 - 3.1.30", "nodes": [""], "fixAvailable": true}, "postcss": {"name": "postcss", "severity": "moderate", "isDirect": false, "via": [{"source": 1094544, "name": "postcss", "dependency": "postcss", "title": "PostCSS line return parsing error", "url": "https://github.com/advisories/GHSA-7fh5-64p2-3v2j", "severity": "moderate", "cwe": ["CWE-74", "CWE-144"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<8.4.31"}], "effects": ["autoprefixer", "postcss-less", "postcss-safe-parser", "postcss-sass", "postcss-scss", "stylelint", "sugarss"], "range": "<8.4.31", "nodes": ["", "node_modules/autoprefixer/node_modules/postcss", "node_modules/postcss-less/node_modules/postcss", "node_modules/postcss-safe-parser/node_modules/postcss", "node_modules/postcss-sass/node_modules/postcss", "node_modules/postcss-scss/node_modules/postcss", "node_modules/stylelint/node_modules/postcss", "node_modules/sugarss/node_modules/postcss"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "postcss-less": {"name": "postcss-less", "severity": "moderate", "isDirect": false, "via": ["postcss"], "effects": [], "range": "<=3.1.4", "nodes": ["node_modules/postcss-less"], "fixAvailable": true}, "postcss-safe-parser": {"name": "postcss-safe-parser", "severity": "moderate", "isDirect": false, "via": ["postcss"], "effects": ["stylelint"], "range": "<=4.0.2", "nodes": ["node_modules/postcss-safe-parser"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "postcss-sass": {"name": "postcss-sass", "severity": "moderate", "isDirect": false, "via": ["postcss"], "effects": ["stylelint"], "range": "<=0.4.4", "nodes": ["node_modules/postcss-sass"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "postcss-scss": {"name": "postcss-scss", "severity": "moderate", "isDirect": false, "via": ["postcss"], "effects": ["stylelint"], "range": "<=2.1.1", "nodes": ["node_modules/postcss-scss"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "prismjs": {"name": "prismjs", "severity": "high", "isDirect": false, "via": [{"source": 1090424, "name": "prismjs", "dependency": "prismjs", "title": "Cross-site Scripting in Prism", "url": "https://github.com/advisories/GHSA-3949-f494-cm99", "severity": "high", "cwe": ["CWE-79"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L"}, "range": ">=1.14.0 <1.27.0"}], "effects": [], "range": "1.14.0 - 1.26.0", "nodes": [""], "fixAvailable": true}, "recursive-readdir": {"name": "recursive-readdir", "severity": "high", "isDirect": false, "via": ["minimatch"], "effects": [], "range": "1.2.0 - 2.2.2", "nodes": [""], "fixAvailable": true}, "request": {"name": "request", "severity": "moderate", "isDirect": true, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "wdio-mediawiki", "version": "2.5.0", "isSemVerMajor": true}}, "semver": {"name": "semver", "severity": "moderate", "isDirect": false, "via": [{"source": 1096482, "name": "semver", "dependency": "semver", "title": "semver vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=7.0.0 <7.5.2"}, {"source": 1096483, "name": "semver", "dependency": "semver", "title": "semver vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<5.7.2"}, {"source": 1096484, "name": "semver", "dependency": "semver", "title": "semver vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-c2qf-rxjj-qqgw", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=6.0.0 <6.3.1"}], "effects": ["eslint-plugin-compat", "mwbot"], "range": "<=5.7.1 || 6.0.0 - 6.3.0 || 7.0.0 - 7.5.1", "nodes": ["", "", "", "", "", "", "", "", "node_modules/mwbot/node_modules/semver", "node_modules/semver"], "fixAvailable": {"name": "wdio-mediawiki", "version": "2.5.0", "isSemVerMajor": true}}, "stylelint": {"name": "stylelint", "severity": "moderate", "isDirect": false, "via": ["autoprefixer", "postcss", "postcss-less", "postcss-safe-parser", "postcss-sass", "postcss-scss", "sugarss"], "effects": ["grunt-stylelint"], "range": "0.1.0 - 13.13.1", "nodes": ["node_modules/stylelint"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "sugarss": {"name": "sugarss", "severity": "moderate", "isDirect": false, "via": ["postcss"], "effects": ["stylelint"], "range": "<=2.0.0", "nodes": ["node_modules/sugarss"], "fixAvailable": {"name": "grunt-stylelint", "version": "0.20.1", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1096643, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["", "node_modules/request/node_modules/tough-cookie"], "fixAvailable": {"name": "wdio-mediawiki", "version": "2.5.0", "isSemVerMajor": true}}, "ua-parser-js": {"name": "ua-parser-js", "severity": "high", "isDirect": false, "via": [{"source": 1092302, "name": "ua-parser-js", "dependency": "ua-parser-js", "title": "ReDoS Vulnerability in ua-parser-js version", "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3", "severity": "high", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=0.8.0 <1.0.33"}], "effects": [], "range": "0.8.1 - 1.0.32", "nodes": [""], "fixAvailable": true}, "unexpected": {"name": "unexpected", "severity": "high", "isDirect": true, "via": ["diff"], "effects": [], "range": "5.0.0-beta1 - 11.0.0", "nodes": ["node_modules/unexpected"], "fixAvailable": {"name": "unexpected", "version": "13.2.1", "isSemVerMajor": true}}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": ["wdio-wikibase"], "range": "1.1.0 - 2.2.0", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": {"name": "wdio-mediawiki", "version": "2.5.0", "isSemVerMajor": true}}, "wdio-wikibase": {"name": "wdio-wikibase", "severity": "moderate", "isDirect": true, "via": ["wdio-mediawiki"], "effects": [], "range": "5.1.0 - 5.2.0", "nodes": ["node_modules/wdio-wikibase"], "fixAvailable": {"name": "wdio-wikibase", "version": "6.0.2", "isSemVerMajor": true}}, "word-wrap": {"name": "word-wrap", "severity": "moderate", "isDirect": false, "via": [{"source": 1095091, "name": "word-wrap", "dependency": "word-wrap", "title": "word-wrap vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-j8xg-fqg3-53r7", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<1.2.4"}], "effects": [], "range": "<1.2.4", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 20, "high": 10, "critical": 4, "total": 34}, "dependencies": {"prod": 1, "dev": 1020, "optional": 2, "peer": 106, "peerOptional": 0, "total": 1020}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/sync@7.16.14',
npm WARN EBADENGINE   required: { node: '>=12.0.0 <16' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---

added 16 packages, removed 13 packages, changed 45 packages, and audited 1020 packages in 6s

148 packages are looking for funding
  run `npm fund` for details

# npm audit report

diff  <3.5.0
Severity: high
Regular Expression Denial of Service (ReDoS) - https://github.com/advisories/GHSA-h6ch-v84p-w6p9
fix available via `npm audit fix --force`
Will install unexpected@13.2.1, which is a breaking change
node_modules/unexpected/node_modules/diff
  unexpected  5.0.0-beta1 - 11.0.0
  Depends on vulnerable versions of diff
  node_modules/unexpected

minimatch  <3.0.5
Severity: high
minimatch ReDoS vulnerability - https://github.com/advisories/GHSA-f8q6-p94x-37v3
fix available via `npm audit fix`
node_modules/minimatch

postcss  <8.4.31
Severity: moderate
PostCSS line return parsing error - https://github.com/advisories/GHSA-7fh5-64p2-3v2j
fix available via `npm audit fix --force`
Will install grunt-stylelint@0.20.1, which is a breaking change
node_modules/autoprefixer/node_modules/postcss
node_modules/postcss-less/node_modules/postcss
node_modules/postcss-safe-parser/node_modules/postcss
node_modules/postcss-sass/node_modules/postcss
node_modules/postcss-scss/node_modules/postcss
node_modules/stylelint/node_modules/postcss
node_modules/sugarss/node_modules/postcss
  autoprefixer  1.0.20131222 - 9.8.8
  Depends on vulnerable versions of postcss
  node_modules/autoprefixer
    stylelint  0.1.0 - 13.13.1
    Depends on vulnerable versions of autoprefixer
    Depends on vulnerable versions of postcss
    Depends on vulnerable versions of postcss-less
    Depends on vulnerable versions of postcss-safe-parser
    Depends on vulnerable versions of postcss-sass
    Depends on vulnerable versions of postcss-scss
    Depends on vulnerable versions of sugarss
    node_modules/stylelint
      grunt-stylelint  <=0.16.0
      Depends on vulnerable versions of stylelint
      node_modules/grunt-stylelint
  postcss-less  <=3.1.4
  Depends on vulnerable versions of postcss
  node_modules/postcss-less
  postcss-safe-parser  <=4.0.2
  Depends on vulnerable versions of postcss
  node_modules/postcss-safe-parser
  postcss-sass  <=0.4.4
  Depends on vulnerable versions of postcss
  node_modules/postcss-sass
  postcss-scss  <=2.1.1
  Depends on vulnerable versions of postcss
  node_modules/postcss-scss
  sugarss  <=2.0.0
  Depends on vulnerable versions of postcss
  node_modules/sugarss

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
fix available via `npm audit fix --force`
Will install wdio-mediawiki@2.5.0, which is a breaking change
node_modules/request
  mwbot  >=0.1.6
  Depends on vulnerable versions of request
  Depends on vulnerable versions of semver
  node_modules/mwbot
    wdio-mediawiki  1.1.0 - 2.2.0
    Depends on vulnerable versions of mwbot
    node_modules/wdio-mediawiki
      wdio-wikibase  5.1.0 - 5.2.0
      Depends on vulnerable versions of wdio-mediawiki
      node_modules/wdio-wikibase

semver  7.0.0 - 7.5.1
Severity: moderate
semver vulnerable to Regular Expression Denial of Service - https://github.com/advisories/GHSA-c2qf-rxjj-qqgw
fix available via `npm audit fix --force`
Will install wdio-mediawiki@2.5.0, which is a breaking change
node_modules/mwbot/node_modules/semver
node_modules/semver
  eslint-plugin-compat  3.6.0-0 - 4.1.4
  Depends on vulnerable versions of semver
  node_modules/eslint-plugin-compat
    eslint-config-wikimedia  0.18.0 - 0.21.0
    Depends on vulnerable versions of eslint-plugin-compat
    node_modules/eslint-config-wikimedia

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
fix available via `npm audit fix --force`
Will install wdio-mediawiki@2.5.0, which is a breaking change
node_modules/request/node_modules/tough-cookie

20 vulnerabilities (17 moderate, 3 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/sync@7.16.14',
npm WARN EBADENGINE   required: { node: '>=12.0.0 <16' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated @stylelint/postcss-markdown@0.36.2: Use the original unforked package instead: postcss-markdown
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated grunt-jasmine-nodejs@1.6.1: Deprecated in favor of npm scripts.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated core-js@2.6.12: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
--- stdout ---

added 1019 packages, and audited 1020 packages in 23s

148 packages are looking for funding
  run `npm fund` for details

20 vulnerabilities (17 moderate, 3 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
[Vue warn]: Error in mounted hook: "TypeError: mw.message(...).text is not a function"

found in

---> <LanguageSelector>
       <Root>
TypeError: mw.message(...).text is not a function
    at getLanguageLabel (/src/repo/resources/widgets/LanguageSelectorWrapper.js:23:8)
    at /src/repo/resources/widgets/LanguageSelectorWrapper.js:29:25
    at Array.forEach (<anonymous>)
    at VueComponent.mounted (/src/repo/resources/widgets/LanguageSelectorWrapper.js:28:20)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at Vue.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at Vue.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
[Vue warn]: Error in mounted hook: "TypeError: api.formatValue is not a function"

found in

---> <ItemSelector>
       <Root>
TypeError: api.formatValue is not a function
    at formatEntityLabel (/src/repo/resources/widgets/ItemSelectorWrapper.js:13:7)
    at VueComponent.mounted (/src/repo/resources/widgets/ItemSelectorWrapper.js:37:5)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[Vue warn]: Error in mounted hook: "TypeError: api.formatValue is not a function"

found in

---> <ItemSelector>
       <Root>
TypeError: api.formatValue is not a function
    at formatEntityLabel (/src/repo/resources/widgets/ItemSelectorWrapper.js:13:7)
    at VueComponent.mounted (/src/repo/resources/widgets/ItemSelectorWrapper.js:37:5)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Object.insert (/src/repo/node_modules/vue/dist/vue.js:3165:9)
    at invokeInsertHook (/src/repo/node_modules/vue/dist/vue.js:6385:30)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6602:7)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
    at Watcher.get (/src/repo/node_modules/vue/dist/vue.js:4494:27)
    at Watcher.run (/src/repo/node_modules/vue/dist/vue.js:4569:24)
    at flushSchedulerQueue (/src/repo/node_modules/vue/dist/vue.js:4327:15)
    at Array.<anonymous> (/src/repo/node_modules/vue/dist/vue.js:1998:14)
    at flushCallbacks (/src/repo/node_modules/vue/dist/vue.js:1924:16)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
[Vue warn]: Error in destroyed hook: "TypeError: Cannot read properties of undefined (reading 'destroy')"

found in

---> <ItemSelector>
       <Root>
TypeError: Cannot read properties of undefined (reading 'destroy')
    at VueComponent.destroyed (/src/repo/resources/widgets/ItemSelectorWrapper.js:66:43)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Vue.$destroy (/src/repo/node_modules/vue/dist/vue.js:4019:7)
    at destroy (/src/repo/node_modules/vue/dist/vue.js:3185:29)
    at invokeDestroyHook (/src/repo/node_modules/vue/dist/vue.js:6153:61)
    at removeVnodes (/src/repo/node_modules/vue/dist/vue.js:6169:13)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6274:9)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6519:11)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
[Vue warn]: Error in destroyed hook: "TypeError: Cannot read properties of undefined (reading 'destroy')"

found in

---> <ItemSelector>
       <Root>
TypeError: Cannot read properties of undefined (reading 'destroy')
    at VueComponent.destroyed (/src/repo/resources/widgets/ItemSelectorWrapper.js:66:43)
    at invokeWithErrorHandling (/src/repo/node_modules/vue/dist/vue.js:1872:59)
    at callHook (/src/repo/node_modules/vue/dist/vue.js:4236:9)
    at Vue.$destroy (/src/repo/node_modules/vue/dist/vue.js:4019:7)
    at destroy (/src/repo/node_modules/vue/dist/vue.js:3185:29)
    at invokeDestroyHook (/src/repo/node_modules/vue/dist/vue.js:6153:61)
    at removeVnodes (/src/repo/node_modules/vue/dist/vue.js:6169:13)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6274:9)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at updateChildren (/src/repo/node_modules/vue/dist/vue.js:6232:11)
    at patchVnode (/src/repo/node_modules/vue/dist/vue.js:6358:31)
    at VueComponent.patch [as __patch__] (/src/repo/node_modules/vue/dist/vue.js:6519:11)
    at Vue._update (/src/repo/node_modules/vue/dist/vue.js:3964:21)
    at VueComponent.updateComponent (/src/repo/node_modules/vue/dist/vue.js:4082:12)
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@es-joy/jsdoccomment@0.20.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'eslint-plugin-jsdoc@37.9.7',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---

> test
> run-s test:*


> test:grunt
> grunt test

Running "eslint:all" (eslint) task

/src/repo/resources/jquery.wikibase.lexemeformview.js
  287:0  warning  Missing JSDoc @param "lemmas" type           jsdoc/require-param-type
  288:0  warning  Missing JSDoc @param "formIndex" type        jsdoc/require-param-type
  289:0  warning  Missing JSDoc @param "formId" type           jsdoc/require-param-type
  290:0  warning  Missing JSDoc @param "representations" type  jsdoc/require-param-type

/src/repo/resources/special/SpecialNewLexemeAlphaSkipVueApp.js
  0:0  warning  File ignored because of a matching ignore pattern. Use "--no-ignore" to override

/src/repo/resources/view/ViewFactoryFactory.js
  17:0  warning  Syntax error in type: []  jsdoc/valid-types

/src/repo/resources/widgets/GlossWidget.js
  34:0  warning  Syntax error in type: [{ value: string, language: string }]  jsdoc/valid-types

/src/repo/tests/selenium/pageobjects/lexeme.page.js
  236:0  warning  Missing JSDoc @param "input" type  jsdoc/require-param-type
  237:0  warning  Missing JSDoc @param "value" type  jsdoc/require-param-type

/src/repo/tests/selenium/specs/header.edit.js
  12:25  warning  "../../../../Wikibase/repo/tests/selenium/wdio-wikibase/wikibase.api" is not found  node/no-missing-require

✖ 10 problems (0 errors, 10 warnings)


Running "banana:WikibaseLexeme" (banana) task
>> 3 message directories checked.

Running "jasmine_nodejs:all" (jasmine_nodejs) task

>> Executing 121 defined specs...

Test Suites & Specs:

1) RepresentationWidget
Download the Vue Devtools extension for a better development experience:
https://github.com/vuejs/vue-devtools
You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
Download the Vue Devtools extension for a better development experience:
https://github.com/vuejs/vue-devtools
You are running Vue in development mode.
Make sure to turn on production mode when deploying for production.
See more tips at https://vuejs.org/guide/deployment.html
   ✔ is not in edit mode after editing is stopped
   ✔ adds a new representation with lemma language when editing the widget with no representations and one lemma
   ✔ shows only the representation it contains when editing the widget with some representation
   ✔ can remove a representation
   ✔ adds a new empty representation when editing the widget with no representations and multiple lemmas
   ✔ adds an empty representation on add
   ✔ detects redundant representation languages and marks the widget
   ✔ is not in edit mode after being created
   ✔ can carry redundant representations
   ✔ detects redundant representation languages and can mark the individual languages
   ✔ cannot add representation if not in edit mode
   ✔ cannot remove representation if not in edit mode
   ✔ adds a representation with unique lemmas language on add after delete
   ✔ switches to edit mode when editing

2) RedundantLanguageIndicator
   ✔ creates mixin definition with watch on desired property
   ✔ creates mixin definition with watch that fires immediately
   ✔ creates mixin definition with watch that monitors the property recursively
   ✔ creates mixin definition providing method to determine if language isRedundantLanguage
   ✔ creates mixin definition method isRedundantLanguage returning false for empty redundantLanguages
   ✔ creates mixin definition providing computed property hasRedundantLanguage
   ✔ creates mixin property hasRedundantLanguage returning false for empty redundantLanguages
   ✔ creates mixin watch handler not taking offence in repeated empty language
   ✔ creates mixin property hasRedundantLanguage returning true for existing redundantLanguages
   ✔ creates mixin watch handler that updates redundantLanguages with respective language values
   ✔ creates mixin watch handler that can find multiple redundant languages
   ✔ creates mixin definition that adds a redundantLanguages property to data

3) focusElement

   4) callback
      ✔ can handle missing element
      ✔ calls focus on selected element

   ✔ returns a callback without doing anything else

5) InvalidLanguageIndicator
   ✔ creates mixin property hasInvalidLanguage returning true for existing InvalidLanguages
   ✔ creates mixin watch handler that updates InvalidLanguages with respective language values
   ✔ creates mixin property hasInvalidLanguage returning false for empty InvalidLanguages
   ✔ creates mixin definition providing computed property hasInvalidLanguage
   ✔ creates mixin definition providing method to determine if language isInvalidLanguage
   ✔ creates mixin definition with watch that monitors the property recursively
   ✔ creates mixin definition method isInvalidLanguage returning false for empty InvalidLanguages
   ✔ creates mixin definition that adds an InvalidLanguages property to data
   ✔ creates mixin watch handler that can find multiple invalid languages
   ✔ creates mixin definition with watch that does not fire immediately
   ✔ creates mixin watch handler not taking offence in empty language
   ✔ creates mixin definition with watch on desired property

6) wikibase.lexeme.widgets.LexemeHeader

   7) hasChanges
      ✔ returns false by default
      ✔ returns true when language changes
      ✔ returns true when lexical category changes
      ✔ returns true when lemmas change
      ✔ ignores added empty lemmas

   ✔ save lemma list with error

   8) isUnsaveable
      ✔ returns false by default
      ✔ returns true when there are no changes
      ✔ returns true when there are changes but saving is ongoing
      ✔ returns true when there are changes but also lemmas with redundant languages

   ✔ save lemma list

   ✔ switch to edit mode

   ✔ cancel edit mode

   ✔ attempting to save with empty lemmas fails

   ✔ passes language and lexical category to LanguageAndLexicalCategoryWidget

   ✔ passes lemmas to LemmaWidget

   ✔ shows save button disabled without changes

   ✔ updates language and lexical category on save

   ✔ shows save button enabled when not unsaveable

   ✔ shows save button disabled when unsaveable

   ✔ binds to lemma-widget hasRedundantLanguage event

9) GlossWidget
   ✔ add a new gloss
   ✔ remove a gloss
   ✔ create with no glosses - when switched to edit mode empty gloss is added
   ✔ removes empty glosses when saved
   ✔ stop editing
   ✔ switch to edit mode
   ✔ initialize widget with one gloss

10) ItemSelectorWrapper
   ✔ passes the item ID to the entityselector widget on mount

11) LexemeHeader.newLexemeHeaderStore
   ✔ action save calls API with correct parameters and changes state using data from response
   ✔ action save calls API with correct parameters when removing an item from the state
   ✔ mutation updateLanguage changes language and languageLink to given values
   ✔ mutation updateLanguage changes lexical category and the link to given values
   ✔ mutation updateLemmas changes lemmas to given values
   ✔ mutation updateRevisionId changes baseRevId to given value
   ✔ failed save returns rejected promise with a single error object
   ✔ failed save returns rejected promise with first error object if API returns multiple errors
   ✔ mutation finishSaving switches the isSaving flag to false
   ✔ mutation startSaving switches the isSaving flag to true
   ✔ action save on success mutates the state to start saving, updates state and finishes saving

12) LanguageAndLexicalCategoryWidget
   ✔ switches to edit mode and back
   ✔ shows the language and the lexical category

13) actionTypes
   ✔ uses unique ids for all action types

14) LemmaList

   15) equals
      ✔ returns false for LemmaList with different lemmas
      ✔ returns false for LemmaList of different length
      ✔ ignores empty lemmas
      ✔ returns true for LemmaList with same lemmas
      ✔ returns false for objects that are not of type LemmaList

   ✔ length

   ✔ getLemmas

   16) copy
      ✔ clones Lemmas
      ✔ creates an identical LemmaList

   ✔ remove

   ✔ add

17) wikibase.lexeme.widgets.LemmaWidget
   ✔ detects redundant lemma languages to mark the widget
   ✔ detects redundant lemma language to mark the individual languages
   ✔ can carry redundant lemma languages
   ✔ remove a lemma
   ✔ add a new lemma
   ✔ edit mode is false
   ✔ edit mode is true
   ✔ initialize widget with one lemma
   ✔ marks-up the lemma term with the lemma language

18) mutations
   ✔ UPDATE_REPRESENTATION_VALUE changes correct representation value
   ✔ UPDATE_REPRESENTATION_LANGUAGE changes correct representation language
   ✔ DERIVE_REPRESENTATION_LANGUAGE_FROM_LEMMA changes representation language correctly
   ✔ ADD_REPRESENTATION adds a new representation to the right form
   ✔ REMOVE_REPRESENTATION removes representation leaving others with updated index
   ✔ REPLACE_ALL_REPRESENTATIONS replaces representations of correct form

19) store
   ✔ creates initial state

20) mutationTypes
   ✔ uses unique ids for all mutation types

21) actions
   ✔ REMOVE_REPRESENTATION delegates to mutation
   ✔ ADD_REPRESENTATION on state having existing representation and one lemma mutates to empty values
   ✔ ADD_REPRESENTATION on state having no representations and one lemma mutates to empty values and derives lemma language
   ✔ UPDATE_REPRESENTATION_LANGUAGE delegates to mutation
   ✔ ADD_REPRESENTATION on state having no representations and multiple lemmas mutates to empty values
   ✔ REPLACE_ALL_REPRESENTATIONS delegates to mutation
   ✔ UPDATE_REPRESENTATION_VALUE delegates to mutation

22) LexemeSubEntityId

   23) getIdSuffix
      ✔ returns the Sense id suffix
      ✔ returns the Form id suffix

>> Done!


Summary:

Suites:  23 of 23
Specs:   121 of 121
Expects: 0 (0 failures)
Finished in 0.542 seconds

>> Successful!

Running "stylelint:all" (stylelint) task
>> Linted 9 files without errors

Done.

> test:snl-distnodiff
> run-s snl:install snl:build snl:cp snl:diff


> snl:install
> npm -C $npm_package_config_snl_src i


> new-lexeme-special-page@0.0.1 prepare
> husky install

husky - Git hooks installed

up to date, audited 1065 packages in 3s

156 packages are looking for funding
  run `npm fund` for details

18 vulnerabilities (13 moderate, 4 high, 1 critical)

To address issues that do not require attention, run:
  npm audit fix

To address all issues (including breaking changes), run:
  npm audit fix --force

Run `npm audit` for details.

> snl:build
> npm -C $npm_package_config_snl_src run build


> new-lexeme-special-page@0.0.1 build
> vite build

vite v2.9.14 building for production...
transforming...
✓ 81 modules transformed.
rendering chunks...
dist/style.css                 26.29 KiB / gzip: 4.03 KiB
dist/SpecialNewLexeme.cjs.js   97.90 KiB / gzip: 32.71 KiB

> snl:cp
> run-p snl:cp:*


> snl:cp:cjs
> cp $npm_package_config_snl_src/dist/$npm_package_config_snl_cjs $npm_package_config_snl_dist/


> snl:cp:css
> cp $npm_package_config_snl_src/dist/$npm_package_config_snl_css $npm_package_config_snl_dist/


> snl:diff
> git diff --exit-code $npm_package_config_snl_dist


> test:snl-main
> git -C $npm_package_config_snl_src branch --contains HEAD main | grep -q .


> test:mwlibs
> echo 'disabled (T297381)' # ZUUL_BRANCH=${ZUUL_BRANCH:-master} lib-version-check

disabled (T297381)

--- end ---
{"1096886": {"source": 1096886, "name": "@babel/traverse", "dependency": "@babel/traverse", "title": "Babel vulnerable to arbitrary code execution when compiling specifically crafted malicious code", "url": "https://github.com/advisories/GHSA-67hx-6x53-jw92", "severity": "critical", "cwe": ["CWE-184", "CWE-697"], "cvss": {"score": 9.4, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"}, "range": "<7.23.2"}}
Upgrading n:@babel/traverse from 7.16.8 -> 7.24.7
{"1091572": {"source": 1091572, "name": "@xmldom/xmldom", "dependency": "@xmldom/xmldom", "title": "xmldom allows multiple root nodes in a DOM", "url": "https://github.com/advisories/GHSA-crh6-fp67-6883", "severity": "critical", "cwe": ["CWE-20", "CWE-1288"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<0.7.7"}}
Upgrading n:@xmldom/xmldom from 0.7.5 -> 0.7.13
{"1097496": {"source": 1097496, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}}
Upgrading n:braces from 3.0.2 -> 3.0.3
{"1089270": {"source": 1089270, "name": "ejs", "dependency": "ejs", "title": "ejs template injection vulnerability", "url": "https://github.com/advisories/GHSA-phwq-j96m-2c2q", "severity": "critical", "cwe": ["CWE-74"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<3.1.7"}, "1097492": {"source": 1097492, "name": "ejs", "dependency": "ejs", "title": "ejs lacks certain pollution protection", "url": "https://github.com/advisories/GHSA-ghr5-ch3p-vcr6", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 0, "vectorString": null}, "range": "<3.1.10"}}
Upgrading n:ejs from 3.1.6 -> 3.1.10
{"1088948": {"source": 1088948, "name": "got", "dependency": "got", "title": "Got allows a redirect to a UNIX socket", "url": "https://github.com/advisories/GHSA-pfrx-2q88-qq97", "severity": "moderate", "cwe": [], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"}, "range": "<11.8.5"}}
Upgrading n:got from 11.8.3 -> 11.8.6
{"1092316": {"source": 1092316, "name": "http-cache-semantics", "dependency": "http-cache-semantics", "title": "http-cache-semantics vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-rc47-6667-2j5j", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<4.1.1"}}
Upgrading n:http-cache-semantics from 4.1.0 -> 4.1.1
{"1096544": {"source": 1096544, "name": "json5", "dependency": "json5", "title": "Prototype Pollution in JSON5 via Parse Method", "url": "https://github.com/advisories/GHSA-9c47-m6qq-7p4h", "severity": "high", "cwe": ["CWE-1321"], "cvss": {"score": 7.1, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:H"}, "range": ">=2.0.0 <2.2.2"}}
Upgrading n:json5 from 2.2.0 -> 2.2.3
{"1096485": {"source": 1096485, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS vulnerability", "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3", "severity": "high", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.5"}}
Upgrading n:minimatch from 3.0.4, 5.0.0 -> 3.0.4, 3.1.2, 4.2.1, 5.0.0, 5.1.6
{"1096549": {"source": 1096549, "name": "minimist", "dependency": "minimist", "title": "Prototype Pollution in minimist", "url": "https://github.com/advisories/GHSA-xvch-5gv4-984h", "severity": "critical", "cwe": ["CWE-1321"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": ">=1.0.0 <1.2.6"}}
Upgrading n:minimist from 1.2.5 -> 1.2.8
{"1096485": {"source": 1096485, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS vulnerability", "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3", "severity": "high", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.5"}, "1089011": {"source": 1089011, "name": "nanoid", "dependency": "nanoid", "title": "Exposure of Sensitive Information to an Unauthorized Actor in nanoid", "url": "https://github.com/advisories/GHSA-qrpm-p2h7-hrv2", "severity": "moderate", "cwe": ["CWE-200"], "cvss": {"score": 5.5, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"}, "range": ">=3.0.0 <3.1.31"}}
Upgrading n:mocha from 9.1.4 -> 9.2.2
{"1089011": {"source": 1089011, "name": "nanoid", "dependency": "nanoid", "title": "Exposure of Sensitive Information to an Unauthorized Actor in nanoid", "url": "https://github.com/advisories/GHSA-qrpm-p2h7-hrv2", "severity": "moderate", "cwe": ["CWE-200"], "cvss": {"score": 5.5, "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N"}, "range": ">=3.0.0 <3.1.31"}}
Upgrading n:nanoid from 3.1.25, 3.2.0 -> 3.3.1, 3.3.7
{}
{"1090424": {"source": 1090424, "name": "prismjs", "dependency": "prismjs", "title": "Cross-site Scripting in Prism", "url": "https://github.com/advisories/GHSA-3949-f494-cm99", "severity": "high", "cwe": ["CWE-79"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:L/A:L"}, "range": ">=1.14.0 <1.27.0"}}
Upgrading n:prismjs from 1.26.0 -> 1.29.0
{"1096485": {"source": 1096485, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS vulnerability", "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3", "severity": "high", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.5"}}
Upgrading n:recursive-readdir from 2.2.2 -> 2.2.3
{"1092302": {"source": 1092302, "name": "ua-parser-js", "dependency": "ua-parser-js", "title": "ReDoS Vulnerability in ua-parser-js version", "url": "https://github.com/advisories/GHSA-fhg7-m89q-25r3", "severity": "high", "cwe": ["CWE-400", "CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=0.8.0 <1.0.33"}}
Upgrading n:ua-parser-js from 1.0.2 -> 1.0.38
{"1095091": {"source": 1095091, "name": "word-wrap", "dependency": "word-wrap", "title": "word-wrap vulnerable to Regular Expression Denial of Service", "url": "https://github.com/advisories/GHSA-j8xg-fqg3-53r7", "severity": "moderate", "cwe": ["CWE-1333"], "cvss": {"score": 5.3, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": "<1.2.4"}}
Upgrading n:word-wrap from 1.2.3 -> 1.2.5
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating npm dependencies

* grunt: 1.4.1 → 1.5.3
* @babel/traverse: 7.16.8 → 7.24.7
  * https://github.com/advisories/GHSA-67hx-6x53-jw92
* @xmldom/xmldom: 0.7.5 → 0.7.13
  * https://github.com/advisories/GHSA-crh6-fp67-6883
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg
* ejs: 3.1.6 → 3.1.10
  * https://github.com/advisories/GHSA-ghr5-ch3p-vcr6
  * https://github.com/advisories/GHSA-phwq-j96m-2c2q
* got: 11.8.3 → 11.8.6
  * https://github.com/advisories/GHSA-pfrx-2q88-qq97
* http-cache-semantics: 4.1.0 → 4.1.1
  * https://github.com/advisories/GHSA-rc47-6667-2j5j
* json5: 2.2.0 → 2.2.3
  * https://github.com/advisories/GHSA-9c47-m6qq-7p4h
* minimatch: 3.0.4, 5.0.0 → 3.0.4, 3.1.2, 4.2.1, 5.0.0, 5.1.6
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
* minimist: 1.2.5 → 1.2.8
  * https://github.com/advisories/GHSA-xvch-5gv4-984h
* mocha: 9.1.4 → 9.2.2
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
  * https://github.com/advisories/GHSA-qrpm-p2h7-hrv2
* nanoid: 3.1.25, 3.2.0 → 3.3.1, 3.3.7
  * https://github.com/advisories/GHSA-qrpm-p2h7-hrv2
* prismjs: 1.26.0 → 1.29.0
  * https://github.com/advisories/GHSA-3949-f494-cm99
* recursive-readdir: 2.2.2 → 2.2.3
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
* ua-parser-js: 1.0.2 → 1.0.38
  * https://github.com/advisories/GHSA-fhg7-m89q-25r3
* word-wrap: 1.2.3 → 1.2.5
  * https://github.com/advisories/GHSA-j8xg-fqg3-53r7

Additional changes:
* Set `name` in package.json.

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp4sbexid0
--- stdout ---
[REL1_39 6ded15b] build: Updating npm dependencies
 2 files changed, 713 insertions(+), 623 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 6ded15b2f03cc1832a1c1fda647339d05aab4c55 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 14 Jun 2024 05:30:49 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* grunt: 1.4.1 → 1.5.3
* @babel/traverse: 7.16.8 → 7.24.7
  * https://github.com/advisories/GHSA-67hx-6x53-jw92
* @xmldom/xmldom: 0.7.5 → 0.7.13
  * https://github.com/advisories/GHSA-crh6-fp67-6883
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg
* ejs: 3.1.6 → 3.1.10
  * https://github.com/advisories/GHSA-ghr5-ch3p-vcr6
  * https://github.com/advisories/GHSA-phwq-j96m-2c2q
* got: 11.8.3 → 11.8.6
  * https://github.com/advisories/GHSA-pfrx-2q88-qq97
* http-cache-semantics: 4.1.0 → 4.1.1
  * https://github.com/advisories/GHSA-rc47-6667-2j5j
* json5: 2.2.0 → 2.2.3
  * https://github.com/advisories/GHSA-9c47-m6qq-7p4h
* minimatch: 3.0.4, 5.0.0 → 3.0.4, 3.1.2, 4.2.1, 5.0.0, 5.1.6
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
* minimist: 1.2.5 → 1.2.8
  * https://github.com/advisories/GHSA-xvch-5gv4-984h
* mocha: 9.1.4 → 9.2.2
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
  * https://github.com/advisories/GHSA-qrpm-p2h7-hrv2
* nanoid: 3.1.25, 3.2.0 → 3.3.1, 3.3.7
  * https://github.com/advisories/GHSA-qrpm-p2h7-hrv2
* prismjs: 1.26.0 → 1.29.0
  * https://github.com/advisories/GHSA-3949-f494-cm99
* recursive-readdir: 2.2.2 → 2.2.3
  * https://github.com/advisories/GHSA-f8q6-p94x-37v3
* ua-parser-js: 1.0.2 → 1.0.38
  * https://github.com/advisories/GHSA-fhg7-m89q-25r3
* word-wrap: 1.2.3 → 1.2.5
  * https://github.com/advisories/GHSA-j8xg-fqg3-53r7

Additional changes:
* Set `name` in package.json.

Change-Id: I25d8d59ec0c270ad962e00ab185dc9f3b6fef3db
---
 package-lock.json | 1333 ++++++++++++++++++++++++---------------------
 package.json      |    3 +-
 2 files changed, 713 insertions(+), 623 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e951f1e..89cf880 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,6 +4,7 @@
 	"requires": true,
 	"packages": {
 		"": {
+			"name": "WikibaseLexeme",
 			"devDependencies": {
 				"@wdio/cli": "^7.16.14",
 				"@wdio/dot-reporter": "^7.16.14",
@@ -15,7 +16,7 @@
 				"eslint-config-wikimedia": "0.20.0",
 				"eslint-plugin-jsonc": "^2.2.1",
 				"eslint-plugin-promise": "^6.0.0",
-				"grunt": "1.4.1",
+				"grunt": "1.5.3",
 				"grunt-banana-checker": "0.9.0",
 				"grunt-eslint": "24.0.0",
 				"grunt-jasmine-nodejs": "^1.6.1",
@@ -104,9 +105,9 @@
 			}
 		},
 		"node_modules/@babel/core/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -124,30 +125,21 @@
 			}
 		},
 		"node_modules/@babel/generator": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
-			"integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+			"integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.8",
-				"jsesc": "^2.5.1",
-				"source-map": "^0.5.0"
+				"@babel/types": "^7.24.7",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
+				"jsesc": "^2.5.1"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/@babel/generator/node_modules/source-map": {
-			"version": "0.5.7",
-			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-			"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-			"dev": true,
-			"peer": true,
-			"engines": {
-				"node": ">=0.10.0"
-			}
-		},
 		"node_modules/@babel/helper-compilation-targets": {
 			"version": "7.16.7",
 			"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz",
@@ -168,9 +160,9 @@
 			}
 		},
 		"node_modules/@babel/helper-compilation-targets/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -178,54 +170,40 @@
 			}
 		},
 		"node_modules/@babel/helper-environment-visitor": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
-			"integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+			"integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-function-name": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
-			"integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+			"integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/helper-get-function-arity": "^7.16.7",
-				"@babel/template": "^7.16.7",
-				"@babel/types": "^7.16.7"
-			},
-			"engines": {
-				"node": ">=6.9.0"
-			}
-		},
-		"node_modules/@babel/helper-get-function-arity": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
-			"integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
-			"dev": true,
-			"peer": true,
-			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/template": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/helper-hoist-variables": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
-			"integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+			"integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -278,22 +256,32 @@
 			}
 		},
 		"node_modules/@babel/helper-split-export-declaration": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
-			"integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+			"integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
+		"node_modules/@babel/helper-string-parser": {
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+			"integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": ">=6.9.0"
+			}
+		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
-			"integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
@@ -325,14 +313,15 @@
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
-			"integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.16.7",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -410,9 +399,9 @@
 			}
 		},
 		"node_modules/@babel/parser": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
-			"integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+			"integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -423,49 +412,50 @@
 			}
 		},
 		"node_modules/@babel/template": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
-			"integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+			"integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/parser": "^7.16.7",
-				"@babel/types": "^7.16.7"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/template/node_modules/@babel/code-frame": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-			"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/highlight": "^7.16.7"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/traverse": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
-			"integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+			"integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/generator": "^7.16.8",
-				"@babel/helper-environment-visitor": "^7.16.7",
-				"@babel/helper-function-name": "^7.16.7",
-				"@babel/helper-hoist-variables": "^7.16.7",
-				"@babel/helper-split-export-declaration": "^7.16.7",
-				"@babel/parser": "^7.16.8",
-				"@babel/types": "^7.16.8",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.24.7",
+				"@babel/helper-environment-visitor": "^7.24.7",
+				"@babel/helper-function-name": "^7.24.7",
+				"@babel/helper-hoist-variables": "^7.24.7",
+				"@babel/helper-split-export-declaration": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			},
 			"engines": {
@@ -473,13 +463,14 @@
 			}
 		},
 		"node_modules/@babel/traverse/node_modules/@babel/code-frame": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-			"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/highlight": "^7.16.7"
+				"@babel/highlight": "^7.24.7",
+				"picocolors": "^1.0.0"
 			},
 			"engines": {
 				"node": ">=6.9.0"
@@ -496,13 +487,14 @@
 			}
 		},
 		"node_modules/@babel/types": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
-			"integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+			"integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
 			"dev": true,
 			"peer": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.16.7",
+				"@babel/helper-string-parser": "^7.24.7",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			},
 			"engines": {
@@ -565,6 +557,59 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
+		"node_modules/@jridgewell/gen-mapping": {
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+			"dev": true,
+			"peer": true,
+			"dependencies": {
+				"@jridgewell/set-array": "^1.2.1",
+				"@jridgewell/sourcemap-codec": "^1.4.10",
+				"@jridgewell/trace-mapping": "^0.3.24"
+			},
+			"engines": {
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/@jridgewell/resolve-uri": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+			"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/@jridgewell/set-array": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+			"dev": true,
+			"peer": true,
+			"engines": {
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/@jridgewell/sourcemap-codec": {
+			"version": "1.4.15",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+			"dev": true,
+			"peer": true
+		},
+		"node_modules/@jridgewell/trace-mapping": {
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+			"dev": true,
+			"peer": true,
+			"dependencies": {
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
+			}
+		},
 		"node_modules/@mdn/browser-compat-data": {
 			"version": "3.3.14",
 			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz",
@@ -1389,9 +1434,9 @@
 			}
 		},
 		"node_modules/@xmldom/xmldom": {
-			"version": "0.7.5",
-			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
-			"integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==",
+			"version": "0.7.13",
+			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz",
+			"integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==",
 			"dev": true,
 			"engines": {
 				"node": ">=10.0.0"
@@ -1939,12 +1984,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -2213,9 +2258,9 @@
 			}
 		},
 		"node_modules/cac/node_modules/semver": {
-			"version": "5.7.1",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"version": "5.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+			"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver"
@@ -2410,10 +2455,16 @@
 			"dev": true
 		},
 		"node_modules/chokidar": {
-			"version": "3.5.2",
-			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
-			"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+			"version": "3.5.3",
+			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+			"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "individual",
+					"url": "https://paulmillr.com/funding/"
+				}
+			],
 			"dependencies": {
 				"anymatch": "~3.1.2",
 				"braces": "~3.0.2",
@@ -3322,12 +3373,12 @@
 			}
 		},
 		"node_modules/ejs": {
-			"version": "3.1.6",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
-			"integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"dependencies": {
-				"jake": "^10.6.1"
+				"jake": "^10.8.5"
 			},
 			"bin": {
 				"ejs": "bin/cli.js"
@@ -3851,9 +3902,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-node/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -3921,9 +3972,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-vue/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -4310,18 +4361,39 @@
 			}
 		},
 		"node_modules/filelist": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
-			"integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+			"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
 			"dev": true,
 			"dependencies": {
-				"minimatch": "^3.0.4"
+				"minimatch": "^5.0.1"
+			}
+		},
+		"node_modules/filelist/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/filelist/node_modules/minimatch": {
+			"version": "5.1.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+			"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^2.0.1"
+			},
+			"engines": {
+				"node": ">=10"
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -4795,6 +4867,18 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/globule/node_modules/glob/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/gonzales-pe": {
 			"version": "4.3.0",
 			"resolved": "https://registry.npmjs.org/gonzales-pe/-/gonzales-pe-4.3.0.tgz",
@@ -4812,9 +4896,9 @@
 			}
 		},
 		"node_modules/got": {
-			"version": "11.8.3",
-			"resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-			"integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
+			"version": "11.8.6",
+			"resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+			"integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
 			"dev": true,
 			"dependencies": {
 				"@sindresorhus/is": "^4.0.0",
@@ -4864,9 +4948,9 @@
 			}
 		},
 		"node_modules/grunt": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz",
-			"integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"dependencies": {
 				"dateformat": "~3.0.3",
@@ -4874,7 +4958,7 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
+				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
@@ -5275,6 +5359,18 @@
 				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
+		"node_modules/grunt/node_modules/glob/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/har-schema": {
 			"version": "2.0.0",
 			"resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz",
@@ -5464,9 +5560,9 @@
 			}
 		},
 		"node_modules/http-cache-semantics": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
-			"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
 			"dev": true
 		},
 		"node_modules/http-proxy-agent": {
@@ -6147,98 +6243,33 @@
 			"dev": true
 		},
 		"node_modules/jake": {
-			"version": "10.8.2",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
-			"integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
+			"version": "10.9.1",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz",
+			"integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==",
 			"dev": true,
 			"dependencies": {
-				"async": "0.9.x",
-				"chalk": "^2.4.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.3",
+				"chalk": "^4.0.2",
+				"filelist": "^1.0.4",
+				"minimatch": "^3.1.2"
 			},
 			"bin": {
 				"jake": "bin/cli.js"
 			},
 			"engines": {
-				"node": "*"
-			}
-		},
-		"node_modules/jake/node_modules/ansi-styles": {
-			"version": "3.2.1",
-			"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-			"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-			"dev": true,
-			"dependencies": {
-				"color-convert": "^1.9.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/jake/node_modules/async": {
-			"version": "0.9.2",
-			"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-			"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
-			"dev": true
-		},
-		"node_modules/jake/node_modules/chalk": {
-			"version": "2.4.2",
-			"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-			"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-			"dev": true,
-			"dependencies": {
-				"ansi-styles": "^3.2.1",
-				"escape-string-regexp": "^1.0.5",
-				"supports-color": "^5.3.0"
-			},
-			"engines": {
-				"node": ">=4"
-			}
-		},
-		"node_modules/jake/node_modules/color-convert": {
-			"version": "1.9.3",
-			"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-			"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-			"dev": true,
-			"dependencies": {
-				"color-name": "1.1.3"
-			}
-		},
-		"node_modules/jake/node_modules/color-name": {
-			"version": "1.1.3",
-			"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-			"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-			"dev": true
-		},
-		"node_modules/jake/node_modules/escape-string-regexp": {
-			"version": "1.0.5",
-			"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-			"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-			"dev": true,
-			"engines": {
-				"node": ">=0.8.0"
-			}
-		},
-		"node_modules/jake/node_modules/has-flag": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-			"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-			"dev": true,
-			"engines": {
-				"node": ">=4"
+				"node": ">=10"
 			}
 		},
-		"node_modules/jake/node_modules/supports-color": {
-			"version": "5.5.0",
-			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-			"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+		"node_modules/jake/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
 			"dev": true,
 			"dependencies": {
-				"has-flag": "^3.0.0"
+				"brace-expansion": "^1.1.7"
 			},
 			"engines": {
-				"node": ">=4"
+				"node": "*"
 			}
 		},
 		"node_modules/jasmine": {
@@ -6593,14 +6624,11 @@
 			"dev": true
 		},
 		"node_modules/json5": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-			"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+			"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
 			"dev": true,
 			"peer": true,
-			"dependencies": {
-				"minimist": "^1.2.5"
-			},
 			"bin": {
 				"json5": "lib/cli.js"
 			},
@@ -7438,10 +7466,13 @@
 			}
 		},
 		"node_modules/minimist": {
-			"version": "1.2.5",
-			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-			"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
-			"dev": true
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+			"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+			"dev": true,
+			"funding": {
+				"url": "https://github.com/sponsors/ljharb"
+			}
 		},
 		"node_modules/minimist-options": {
 			"version": "4.1.0",
@@ -7476,32 +7507,32 @@
 			"dev": true
 		},
 		"node_modules/mocha": {
-			"version": "9.1.4",
-			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz",
-			"integrity": "sha512-+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==",
+			"version": "9.2.2",
+			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz",
+			"integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==",
 			"dev": true,
 			"dependencies": {
 				"@ungap/promise-all-settled": "1.1.2",
 				"ansi-colors": "4.1.1",
 				"browser-stdout": "1.3.1",
-				"chokidar": "3.5.2",
-				"debug": "4.3.2",
+				"chokidar": "3.5.3",
+				"debug": "4.3.3",
 				"diff": "5.0.0",
 				"escape-string-regexp": "4.0.0",
 				"find-up": "5.0.0",
-				"glob": "7.1.7",
+				"glob": "7.2.0",
 				"growl": "1.10.5",
 				"he": "1.2.0",
 				"js-yaml": "4.1.0",
 				"log-symbols": "4.1.0",
-				"minimatch": "3.0.4",
+				"minimatch": "4.2.1",
 				"ms": "2.1.3",
-				"nanoid": "3.1.25",
+				"nanoid": "3.3.1",
 				"serialize-javascript": "6.0.0",
 				"strip-json-comments": "3.1.1",
 				"supports-color": "8.1.1",
 				"which": "2.0.2",
-				"workerpool": "6.1.5",
+				"workerpool": "6.2.0",
 				"yargs": "16.2.0",
 				"yargs-parser": "20.2.4",
 				"yargs-unparser": "2.0.0"
@@ -7524,49 +7555,6 @@
 			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
 			"dev": true
 		},
-		"node_modules/mocha/node_modules/debug": {
-			"version": "4.3.2",
-			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-			"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-			"dev": true,
-			"dependencies": {
-				"ms": "2.1.2"
-			},
-			"engines": {
-				"node": ">=6.0"
-			},
-			"peerDependenciesMeta": {
-				"supports-color": {
-					"optional": true
-				}
-			}
-		},
-		"node_modules/mocha/node_modules/debug/node_modules/ms": {
-			"version": "2.1.2",
-			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-			"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-			"dev": true
-		},
-		"node_modules/mocha/node_modules/glob": {
-			"version": "7.1.7",
-			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-			"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-			"dev": true,
-			"dependencies": {
-				"fs.realpath": "^1.0.0",
-				"inflight": "^1.0.4",
-				"inherits": "2",
-				"minimatch": "^3.0.4",
-				"once": "^1.3.0",
-				"path-is-absolute": "^1.0.0"
-			},
-			"engines": {
-				"node": "*"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/isaacs"
-			}
-		},
 		"node_modules/mocha/node_modules/js-yaml": {
 			"version": "4.1.0",
 			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -7579,6 +7567,18 @@
 				"js-yaml": "bin/js-yaml.js"
 			}
 		},
+		"node_modules/mocha/node_modules/minimatch": {
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz",
+			"integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/mocha/node_modules/ms": {
 			"version": "2.1.3",
 			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -7680,9 +7680,9 @@
 			}
 		},
 		"node_modules/nanoid": {
-			"version": "3.1.25",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
-			"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+			"version": "3.3.1",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
+			"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
 			"dev": true,
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
@@ -8010,9 +8010,9 @@
 			}
 		},
 		"node_modules/npm-run-all/node_modules/semver": {
-			"version": "5.7.1",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"version": "5.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+			"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver"
@@ -8606,21 +8606,31 @@
 			}
 		},
 		"node_modules/postcss": {
-			"version": "8.4.5",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
-			"integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+			"version": "8.4.38",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+			"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/postcss/"
+				},
+				{
+					"type": "tidelift",
+					"url": "https://tidelift.com/funding/github/npm/postcss"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
 			"dependencies": {
-				"nanoid": "^3.1.30",
+				"nanoid": "^3.3.7",
 				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.1"
+				"source-map-js": "^1.2.0"
 			},
 			"engines": {
 				"node": "^10 || ^12 || >=14"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/postcss/"
 			}
 		},
 		"node_modules/postcss-html": {
@@ -8829,10 +8839,16 @@
 			"dev": true
 		},
 		"node_modules/postcss/node_modules/nanoid": {
-			"version": "3.2.0",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
-			"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
+			"version": "3.3.7",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+			"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/ai"
+				}
+			],
 			"bin": {
 				"nanoid": "bin/nanoid.cjs"
 			},
@@ -8910,9 +8926,9 @@
 			}
 		},
 		"node_modules/prismjs": {
-			"version": "1.26.0",
-			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz",
-			"integrity": "sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==",
+			"version": "1.29.0",
+			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+			"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
 			"dev": true,
 			"engines": {
 				"node": ">=6"
@@ -9014,6 +9030,12 @@
 			"integrity": "sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==",
 			"dev": true
 		},
+		"node_modules/querystringify": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+			"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+			"dev": true
+		},
 		"node_modules/queue-microtask": {
 			"version": "1.2.3",
 			"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -9179,9 +9201,9 @@
 			}
 		},
 		"node_modules/read-pkg/node_modules/semver": {
-			"version": "5.7.1",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-			"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+			"version": "5.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+			"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver"
@@ -9244,15 +9266,27 @@
 			}
 		},
 		"node_modules/recursive-readdir": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
-			"integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
+			"integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
 			"dev": true,
 			"dependencies": {
-				"minimatch": "3.0.4"
+				"minimatch": "^3.0.5"
 			},
 			"engines": {
-				"node": ">=0.10.0"
+				"node": ">=6.0.0"
+			}
+		},
+		"node_modules/recursive-readdir/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
 			}
 		},
 		"node_modules/redent": {
@@ -9459,6 +9493,12 @@
 				"node": ">=0.10.5"
 			}
 		},
+		"node_modules/requires-port": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+			"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+			"dev": true
+		},
 		"node_modules/resolve": {
 			"version": "1.21.0",
 			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
@@ -9919,9 +9959,9 @@
 			}
 		},
 		"node_modules/source-map-js": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
-			"integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
@@ -10637,23 +10677,24 @@
 			}
 		},
 		"node_modules/tough-cookie": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
-			"integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+			"version": "4.1.4",
+			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
+			"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
 			"dev": true,
 			"dependencies": {
 				"psl": "^1.1.33",
 				"punycode": "^2.1.1",
-				"universalify": "^0.1.2"
+				"universalify": "^0.2.0",
+				"url-parse": "^1.5.3"
 			},
 			"engines": {
 				"node": ">=6"
 			}
 		},
 		"node_modules/tough-cookie/node_modules/universalify": {
-			"version": "0.1.2",
-			"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-			"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+			"version": "0.2.0",
+			"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+			"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
 			"dev": true,
 			"engines": {
 				"node": ">= 4.0.0"
@@ -10758,9 +10799,9 @@
 			}
 		},
 		"node_modules/ua-parser-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz",
-			"integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==",
+			"version": "1.0.38",
+			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+			"integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -10770,6 +10811,10 @@
 				{
 					"type": "paypal",
 					"url": "https://paypal.me/faisalman"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/faisalman"
 				}
 			],
 			"engines": {
@@ -10872,7 +10917,7 @@
 		"node_modules/unexpected/node_modules/diff": {
 			"version": "1.1.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-1.1.0.tgz",
-			"integrity": "sha1-eYpJOBqkZBUem08Ob/Kwmooa0j8=",
+			"integrity": "sha512-WjTXudf2KKRi//AfeNNbgmiM8BO3whNjvUbPhMpoUxgiHHlVrpp/QyOM5jAGF0vjRWwOgXLrylnMRtfQN+u/RQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.3.1"
@@ -10974,6 +11019,16 @@
 				"punycode": "^2.1.0"
 			}
 		},
+		"node_modules/url-parse": {
+			"version": "1.5.10",
+			"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+			"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+			"dev": true,
+			"dependencies": {
+				"querystringify": "^2.1.1",
+				"requires-port": "^1.0.0"
+			}
+		},
 		"node_modules/util-deprecate": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -11127,9 +11182,9 @@
 			}
 		},
 		"node_modules/vue-eslint-parser/node_modules/semver": {
-			"version": "6.3.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-			"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+			"version": "6.3.1",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+			"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 			"dev": true,
 			"bin": {
 				"semver": "bin/semver.js"
@@ -11393,18 +11448,18 @@
 			}
 		},
 		"node_modules/word-wrap": {
-			"version": "1.2.3",
-			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-			"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+			"version": "1.2.5",
+			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+			"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
 		"node_modules/workerpool": {
-			"version": "6.1.5",
-			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
-			"integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==",
+			"version": "6.2.0",
+			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz",
+			"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==",
 			"dev": true
 		},
 		"node_modules/wrap-ansi": {
@@ -11824,9 +11879,9 @@
 					}
 				},
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true,
 					"peer": true
 				},
@@ -11840,24 +11895,16 @@
 			}
 		},
 		"@babel/generator": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz",
-			"integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz",
+			"integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.8",
-				"jsesc": "^2.5.1",
-				"source-map": "^0.5.0"
-			},
-			"dependencies": {
-				"source-map": {
-					"version": "0.5.7",
-					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
-					"integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
-					"dev": true,
-					"peer": true
-				}
+				"@babel/types": "^7.24.7",
+				"@jridgewell/gen-mapping": "^0.3.5",
+				"@jridgewell/trace-mapping": "^0.3.25",
+				"jsesc": "^2.5.1"
 			}
 		},
 		"@babel/helper-compilation-targets": {
@@ -11874,54 +11921,43 @@
 			},
 			"dependencies": {
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true,
 					"peer": true
 				}
 			}
 		},
 		"@babel/helper-environment-visitor": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz",
-			"integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz",
+			"integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			}
 		},
 		"@babel/helper-function-name": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz",
-			"integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==",
-			"dev": true,
-			"peer": true,
-			"requires": {
-				"@babel/helper-get-function-arity": "^7.16.7",
-				"@babel/template": "^7.16.7",
-				"@babel/types": "^7.16.7"
-			}
-		},
-		"@babel/helper-get-function-arity": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz",
-			"integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz",
+			"integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/template": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			}
 		},
 		"@babel/helper-hoist-variables": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz",
-			"integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz",
+			"integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			}
 		},
 		"@babel/helper-module-imports": {
@@ -11962,19 +11998,26 @@
 			}
 		},
 		"@babel/helper-split-export-declaration": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz",
-			"integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz",
+			"integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/types": "^7.16.7"
+				"@babel/types": "^7.24.7"
 			}
 		},
+		"@babel/helper-string-parser": {
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz",
+			"integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==",
+			"dev": true,
+			"peer": true
+		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz",
-			"integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true
 		},
 		"@babel/helper-validator-option": {
@@ -11997,14 +12040,15 @@
 			}
 		},
 		"@babel/highlight": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.7.tgz",
-			"integrity": "sha512-aKpPMfLvGO3Q97V0qhw/V2SWNWlwfJknuwAunU7wZLSfrM4xTBvg7E5opUVi1kJTBKihE38CPg4nBiqX83PWYw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.16.7",
-				"chalk": "^2.0.0",
-				"js-tokens": "^4.0.0"
+				"@babel/helper-validator-identifier": "^7.24.7",
+				"chalk": "^2.4.2",
+				"js-tokens": "^4.0.0",
+				"picocolors": "^1.0.0"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -12066,63 +12110,65 @@
 			}
 		},
 		"@babel/parser": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.8.tgz",
-			"integrity": "sha512-i7jDUfrVBWc+7OKcBzEe5n7fbv3i2fWtxKzzCvOjnzSxMfWMigAhtfJ7qzZNGFNMsCCd67+uz553dYKWXPvCKw==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz",
+			"integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==",
 			"dev": true,
 			"peer": true
 		},
 		"@babel/template": {
-			"version": "7.16.7",
-			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
-			"integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz",
+			"integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/parser": "^7.16.7",
-				"@babel/types": "^7.16.7"
+				"@babel/code-frame": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7"
 			},
 			"dependencies": {
 				"@babel/code-frame": {
-					"version": "7.16.7",
-					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-					"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+					"version": "7.24.7",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+					"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 					"dev": true,
 					"peer": true,
 					"requires": {
-						"@babel/highlight": "^7.16.7"
+						"@babel/highlight": "^7.24.7",
+						"picocolors": "^1.0.0"
 					}
 				}
 			}
 		},
 		"@babel/traverse": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.8.tgz",
-			"integrity": "sha512-xe+H7JlvKsDQwXRsBhSnq1/+9c+LlQcCK3Tn/l5sbx02HYns/cn7ibp9+RV1sIUqu7hKg91NWsgHurO9dowITQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz",
+			"integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/code-frame": "^7.16.7",
-				"@babel/generator": "^7.16.8",
-				"@babel/helper-environment-visitor": "^7.16.7",
-				"@babel/helper-function-name": "^7.16.7",
-				"@babel/helper-hoist-variables": "^7.16.7",
-				"@babel/helper-split-export-declaration": "^7.16.7",
-				"@babel/parser": "^7.16.8",
-				"@babel/types": "^7.16.8",
-				"debug": "^4.1.0",
+				"@babel/code-frame": "^7.24.7",
+				"@babel/generator": "^7.24.7",
+				"@babel/helper-environment-visitor": "^7.24.7",
+				"@babel/helper-function-name": "^7.24.7",
+				"@babel/helper-hoist-variables": "^7.24.7",
+				"@babel/helper-split-export-declaration": "^7.24.7",
+				"@babel/parser": "^7.24.7",
+				"@babel/types": "^7.24.7",
+				"debug": "^4.3.1",
 				"globals": "^11.1.0"
 			},
 			"dependencies": {
 				"@babel/code-frame": {
-					"version": "7.16.7",
-					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz",
-					"integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==",
+					"version": "7.24.7",
+					"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+					"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 					"dev": true,
 					"peer": true,
 					"requires": {
-						"@babel/highlight": "^7.16.7"
+						"@babel/highlight": "^7.24.7",
+						"picocolors": "^1.0.0"
 					}
 				},
 				"globals": {
@@ -12135,13 +12181,14 @@
 			}
 		},
 		"@babel/types": {
-			"version": "7.16.8",
-			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz",
-			"integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz",
+			"integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==",
 			"dev": true,
 			"peer": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.16.7",
+				"@babel/helper-string-parser": "^7.24.7",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"to-fast-properties": "^2.0.0"
 			}
 		},
@@ -12192,6 +12239,50 @@
 				"chalk": "^4.0.0"
 			}
 		},
+		"@jridgewell/gen-mapping": {
+			"version": "0.3.5",
+			"resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+			"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+			"dev": true,
+			"peer": true,
+			"requires": {
+				"@jridgewell/set-array": "^1.2.1",
+				"@jridgewell/sourcemap-codec": "^1.4.10",
+				"@jridgewell/trace-mapping": "^0.3.24"
+			}
+		},
+		"@jridgewell/resolve-uri": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+			"integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+			"dev": true,
+			"peer": true
+		},
+		"@jridgewell/set-array": {
+			"version": "1.2.1",
+			"resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+			"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
+			"dev": true,
+			"peer": true
+		},
+		"@jridgewell/sourcemap-codec": {
+			"version": "1.4.15",
+			"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+			"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+			"dev": true,
+			"peer": true
+		},
+		"@jridgewell/trace-mapping": {
+			"version": "0.3.25",
+			"resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+			"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+			"dev": true,
+			"peer": true,
+			"requires": {
+				"@jridgewell/resolve-uri": "^3.1.0",
+				"@jridgewell/sourcemap-codec": "^1.4.14"
+			}
+		},
 		"@mdn/browser-compat-data": {
 			"version": "3.3.14",
 			"resolved": "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-3.3.14.tgz",
@@ -12918,9 +13009,9 @@
 			}
 		},
 		"@xmldom/xmldom": {
-			"version": "0.7.5",
-			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz",
-			"integrity": "sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==",
+			"version": "0.7.13",
+			"resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.13.tgz",
+			"integrity": "sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==",
 			"dev": true
 		},
 		"abab": {
@@ -13355,12 +13446,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browser-process-hrtime": {
@@ -13554,9 +13645,9 @@
 					}
 				},
 				"semver": {
-					"version": "5.7.1",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-					"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+					"version": "5.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+					"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 					"dev": true
 				},
 				"strip-ansi": {
@@ -13699,9 +13790,9 @@
 			"dev": true
 		},
 		"chokidar": {
-			"version": "3.5.2",
-			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz",
-			"integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==",
+			"version": "3.5.3",
+			"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+			"integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
 			"dev": true,
 			"requires": {
 				"anymatch": "~3.1.2",
@@ -14444,12 +14535,12 @@
 			}
 		},
 		"ejs": {
-			"version": "3.1.6",
-			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
-			"integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+			"version": "3.1.10",
+			"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz",
+			"integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==",
 			"dev": true,
 			"requires": {
-				"jake": "^10.6.1"
+				"jake": "^10.8.5"
 			}
 		},
 		"electron-to-chromium": {
@@ -14833,9 +14924,9 @@
 					"dev": true
 				},
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true
 				}
 			}
@@ -14881,9 +14972,9 @@
 			},
 			"dependencies": {
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true
 				}
 			}
@@ -15182,18 +15273,38 @@
 			}
 		},
 		"filelist": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
-			"integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+			"version": "1.0.4",
+			"resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz",
+			"integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==",
 			"dev": true,
 			"requires": {
-				"minimatch": "^3.0.4"
+				"minimatch": "^5.0.1"
+			},
+			"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"
+					}
+				},
+				"minimatch": {
+					"version": "5.1.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+					"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
+				}
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -15541,6 +15652,17 @@
 						"minimatch": "^3.0.4",
 						"once": "^1.3.0",
 						"path-is-absolute": "^1.0.0"
+					},
+					"dependencies": {
+						"minimatch": {
+							"version": "3.1.2",
+							"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+							"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+							"dev": true,
+							"requires": {
+								"brace-expansion": "^1.1.7"
+							}
+						}
 					}
 				}
 			}
@@ -15556,9 +15678,9 @@
 			}
 		},
 		"got": {
-			"version": "11.8.3",
-			"resolved": "https://registry.npmjs.org/got/-/got-11.8.3.tgz",
-			"integrity": "sha512-7gtQ5KiPh1RtGS9/Jbv1ofDpBFuq42gyfEib+ejaRBJuj/3tQFeR5+gw57e4ipaU8c/rCjvX6fkQz2lyDlGAOg==",
+			"version": "11.8.6",
+			"resolved": "https://registry.npmjs.org/got/-/got-11.8.6.tgz",
+			"integrity": "sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g==",
 			"dev": true,
 			"requires": {
 				"@sindresorhus/is": "^4.0.0",
@@ -15599,9 +15721,9 @@
 			"dev": true
 		},
 		"grunt": {
-			"version": "1.4.1",
-			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.4.1.tgz",
-			"integrity": "sha512-ZXIYXTsAVrA7sM+jZxjQdrBOAg7DyMUplOMhTaspMRExei+fD0BTwdWXnn0W5SXqhb/Q/nlkzXclSi3IH55PIA==",
+			"version": "1.5.3",
+			"resolved": "https://registry.npmjs.org/grunt/-/grunt-1.5.3.tgz",
+			"integrity": "sha512-mKwmo4X2d8/4c/BmcOETHek675uOqw0RuA/zy12jaspWqvTp4+ZeQF1W+OTpcbncnaBsfbQJ6l0l4j+Sn/GmaQ==",
 			"dev": true,
 			"requires": {
 				"dateformat": "~3.0.3",
@@ -15609,7 +15731,7 @@
 				"exit": "~0.1.2",
 				"findup-sync": "~0.3.0",
 				"glob": "~7.1.6",
-				"grunt-cli": "~1.4.2",
+				"grunt-cli": "~1.4.3",
 				"grunt-known-options": "~2.0.0",
 				"grunt-legacy-log": "~3.0.0",
 				"grunt-legacy-util": "~2.0.1",
@@ -15633,6 +15755,17 @@
 						"minimatch": "^3.0.4",
 						"once": "^1.3.0",
 						"path-is-absolute": "^1.0.0"
+					},
+					"dependencies": {
+						"minimatch": {
+							"version": "3.1.2",
+							"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+							"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+							"dev": true,
+							"requires": {
+								"brace-expansion": "^1.1.7"
+							}
+						}
 					}
 				}
 			}
@@ -16041,9 +16174,9 @@
 			}
 		},
 		"http-cache-semantics": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz",
-			"integrity": "sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz",
+			"integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==",
 			"dev": true
 		},
 		"http-proxy-agent": {
@@ -16511,77 +16644,24 @@
 			"dev": true
 		},
 		"jake": {
-			"version": "10.8.2",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
-			"integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
+			"version": "10.9.1",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz",
+			"integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==",
 			"dev": true,
 			"requires": {
-				"async": "0.9.x",
-				"chalk": "^2.4.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.3",
+				"chalk": "^4.0.2",
+				"filelist": "^1.0.4",
+				"minimatch": "^3.1.2"
 			},
 			"dependencies": {
-				"ansi-styles": {
-					"version": "3.2.1",
-					"resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
-					"integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
-					"dev": true,
-					"requires": {
-						"color-convert": "^1.9.0"
-					}
-				},
-				"async": {
-					"version": "0.9.2",
-					"resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
-					"integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
-					"dev": true
-				},
-				"chalk": {
-					"version": "2.4.2",
-					"resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
-					"integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
-					"dev": true,
-					"requires": {
-						"ansi-styles": "^3.2.1",
-						"escape-string-regexp": "^1.0.5",
-						"supports-color": "^5.3.0"
-					}
-				},
-				"color-convert": {
-					"version": "1.9.3",
-					"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
-					"integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
-					"dev": true,
-					"requires": {
-						"color-name": "1.1.3"
-					}
-				},
-				"color-name": {
-					"version": "1.1.3",
-					"resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
-					"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
-					"dev": true
-				},
-				"escape-string-regexp": {
-					"version": "1.0.5",
-					"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
-					"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
-					"dev": true
-				},
-				"has-flag": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
-					"integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=",
-					"dev": true
-				},
-				"supports-color": {
-					"version": "5.5.0",
-					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
-					"integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
 					"dev": true,
 					"requires": {
-						"has-flag": "^3.0.0"
+						"brace-expansion": "^1.1.7"
 					}
 				}
 			}
@@ -16879,14 +16959,11 @@
 			"dev": true
 		},
 		"json5": {
-			"version": "2.2.0",
-			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
-			"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+			"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
 			"dev": true,
-			"peer": true,
-			"requires": {
-				"minimist": "^1.2.5"
-			}
+			"peer": true
 		},
 		"jsonc-eslint-parser": {
 			"version": "2.1.0",
@@ -17557,9 +17634,9 @@
 			}
 		},
 		"minimist": {
-			"version": "1.2.5",
-			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
-			"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
+			"version": "1.2.8",
+			"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
+			"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
 			"dev": true
 		},
 		"minimist-options": {
@@ -17586,32 +17663,32 @@
 			"dev": true
 		},
 		"mocha": {
-			"version": "9.1.4",
-			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz",
-			"integrity": "sha512-+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==",
+			"version": "9.2.2",
+			"resolved": "https://registry.npmjs.org/mocha/-/mocha-9.2.2.tgz",
+			"integrity": "sha512-L6XC3EdwT6YrIk0yXpavvLkn8h+EU+Y5UcCHKECyMbdUIxyMuZj4bX4U9e1nvnvUUvQVsV2VHQr5zLdcUkhW/g==",
 			"dev": true,
 			"requires": {
 				"@ungap/promise-all-settled": "1.1.2",
 				"ansi-colors": "4.1.1",
 				"browser-stdout": "1.3.1",
-				"chokidar": "3.5.2",
-				"debug": "4.3.2",
+				"chokidar": "3.5.3",
+				"debug": "4.3.3",
 				"diff": "5.0.0",
 				"escape-string-regexp": "4.0.0",
 				"find-up": "5.0.0",
-				"glob": "7.1.7",
+				"glob": "7.2.0",
 				"growl": "1.10.5",
 				"he": "1.2.0",
 				"js-yaml": "4.1.0",
 				"log-symbols": "4.1.0",
-				"minimatch": "3.0.4",
+				"minimatch": "4.2.1",
 				"ms": "2.1.3",
-				"nanoid": "3.1.25",
+				"nanoid": "3.3.1",
 				"serialize-javascript": "6.0.0",
 				"strip-json-comments": "3.1.1",
 				"supports-color": "8.1.1",
 				"which": "2.0.2",
-				"workerpool": "6.1.5",
+				"workerpool": "6.2.0",
 				"yargs": "16.2.0",
 				"yargs-parser": "20.2.4",
 				"yargs-unparser": "2.0.0"
@@ -17623,37 +17700,6 @@
 					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
 					"dev": true
 				},
-				"debug": {
-					"version": "4.3.2",
-					"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
-					"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
-					"dev": true,
-					"requires": {
-						"ms": "2.1.2"
-					},
-					"dependencies": {
-						"ms": {
-							"version": "2.1.2",
-							"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
-							"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-							"dev": true
-						}
-					}
-				},
-				"glob": {
-					"version": "7.1.7",
-					"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
-					"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
-					"dev": true,
-					"requires": {
-						"fs.realpath": "^1.0.0",
-						"inflight": "^1.0.4",
-						"inherits": "2",
-						"minimatch": "^3.0.4",
-						"once": "^1.3.0",
-						"path-is-absolute": "^1.0.0"
-					}
-				},
 				"js-yaml": {
 					"version": "4.1.0",
 					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
@@ -17663,6 +17709,15 @@
 						"argparse": "^2.0.1"
 					}
 				},
+				"minimatch": {
+					"version": "4.2.1",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-4.2.1.tgz",
+					"integrity": "sha512-9Uq1ChtSZO+Mxa/CL1eGizn2vRn3MlLgzhT0Iz8zaY8NdvxvB0d5QdPFmCKf7JKA9Lerx5vRrnwO03jsSfGG9g==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				},
 				"ms": {
 					"version": "2.1.3",
 					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -17749,9 +17804,9 @@
 			}
 		},
 		"nanoid": {
-			"version": "3.1.25",
-			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz",
-			"integrity": "sha512-rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==",
+			"version": "3.3.1",
+			"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz",
+			"integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==",
 			"dev": true
 		},
 		"natural-compare": {
@@ -18008,9 +18063,9 @@
 					}
 				},
 				"semver": {
-					"version": "5.7.1",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-					"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+					"version": "5.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+					"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 					"dev": true
 				},
 				"shebang-command": {
@@ -18448,20 +18503,20 @@
 			}
 		},
 		"postcss": {
-			"version": "8.4.5",
-			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
-			"integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+			"version": "8.4.38",
+			"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
+			"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
 			"dev": true,
 			"requires": {
-				"nanoid": "^3.1.30",
+				"nanoid": "^3.3.7",
 				"picocolors": "^1.0.0",
-				"source-map-js": "^1.0.1"
+				"source-map-js": "^1.2.0"
 			},
 			"dependencies": {
 				"nanoid": {
-					"version": "3.2.0",
-					"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz",
-					"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
+					"version": "3.3.7",
+					"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
+					"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
 					"dev": true
 				}
 			}
@@ -18683,9 +18738,9 @@
 			"dev": true
 		},
 		"prismjs": {
-			"version": "1.26.0",
-			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz",
-			"integrity": "sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==",
+			"version": "1.29.0",
+			"resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+			"integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
 			"dev": true
 		},
 		"process-nextick-args": {
@@ -18774,6 +18829,12 @@
 			"integrity": "sha512-bK0/0cCI+R8ZmOF1QjT7HupDUYCxbf/9TJgAmSXQxZpftXmTAeil9DRoCnTDkWbvOyZzhcMBwKpptWcdkGFIMg==",
 			"dev": true
 		},
+		"querystringify": {
+			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+			"integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
+			"dev": true
+		},
 		"queue-microtask": {
 			"version": "1.2.3",
 			"resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
@@ -18838,9 +18899,9 @@
 					}
 				},
 				"semver": {
-					"version": "5.7.1",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
-					"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+					"version": "5.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz",
+					"integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==",
 					"dev": true
 				},
 				"type-fest": {
@@ -18946,12 +19007,23 @@
 			}
 		},
 		"recursive-readdir": {
-			"version": "2.2.2",
-			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz",
-			"integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==",
+			"version": "2.2.3",
+			"resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz",
+			"integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==",
 			"dev": true,
 			"requires": {
-				"minimatch": "3.0.4"
+				"minimatch": "^3.0.5"
+			},
+			"dependencies": {
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				}
 			}
 		},
 		"redent": {
@@ -19105,6 +19177,12 @@
 			"integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==",
 			"dev": true
 		},
+		"requires-port": {
+			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+			"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
+			"dev": true
+		},
 		"resolve": {
 			"version": "1.21.0",
 			"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.21.0.tgz",
@@ -19447,9 +19525,9 @@
 			"dev": true
 		},
 		"source-map-js": {
-			"version": "1.0.1",
-			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.1.tgz",
-			"integrity": "sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==",
+			"version": "1.2.0",
+			"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
+			"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
 			"dev": true
 		},
 		"spdx-correct": {
@@ -20013,20 +20091,21 @@
 			}
 		},
 		"tough-cookie": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz",
-			"integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==",
+			"version": "4.1.4",
+			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
+			"integrity": "sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==",
 			"dev": true,
 			"requires": {
 				"psl": "^1.1.33",
 				"punycode": "^2.1.1",
-				"universalify": "^0.1.2"
+				"universalify": "^0.2.0",
+				"url-parse": "^1.5.3"
 			},
 			"dependencies": {
 				"universalify": {
-					"version": "0.1.2",
-					"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
-					"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+					"version": "0.2.0",
+					"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+					"integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
 					"dev": true
 				}
 			}
@@ -20105,9 +20184,9 @@
 			}
 		},
 		"ua-parser-js": {
-			"version": "1.0.2",
-			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.2.tgz",
-			"integrity": "sha512-00y/AXhx0/SsnI51fTc0rLRmafiGOM4/O+ny10Ps7f+j/b8p/ZY11ytMgznXkOVo4GQ+KwQG5UQLkLGirsACRg==",
+			"version": "1.0.38",
+			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.38.tgz",
+			"integrity": "sha512-Aq5ppTOfvrCMgAPneW1HfWj66Xi7XL+/mIy996R1/CLS/rcyJQm6QZdsKrUeivDFQ+Oc9Wyuwor8Ze8peEoUoQ==",
 			"dev": true
 		},
 		"unbox-primitive": {
@@ -20168,7 +20247,7 @@
 				"diff": {
 					"version": "1.1.0",
 					"resolved": "https://registry.npmjs.org/diff/-/diff-1.1.0.tgz",
-					"integrity": "sha1-eYpJOBqkZBUem08Ob/Kwmooa0j8=",
+					"integrity": "sha512-WjTXudf2KKRi//AfeNNbgmiM8BO3whNjvUbPhMpoUxgiHHlVrpp/QyOM5jAGF0vjRWwOgXLrylnMRtfQN+u/RQ==",
 					"dev": true
 				}
 			}
@@ -20268,6 +20347,16 @@
 				"punycode": "^2.1.0"
 			}
 		},
+		"url-parse": {
+			"version": "1.5.10",
+			"resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+			"integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+			"dev": true,
+			"requires": {
+				"querystringify": "^2.1.1",
+				"requires-port": "^1.0.0"
+			}
+		},
 		"util-deprecate": {
 			"version": "1.0.2",
 			"resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
@@ -20385,9 +20474,9 @@
 					}
 				},
 				"semver": {
-					"version": "6.3.0",
-					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
-					"integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+					"version": "6.3.1",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+					"integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
 					"dev": true
 				}
 			}
@@ -20599,15 +20688,15 @@
 			}
 		},
 		"word-wrap": {
-			"version": "1.2.3",
-			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
-			"integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+			"version": "1.2.5",
+			"resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz",
+			"integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==",
 			"dev": true
 		},
 		"workerpool": {
-			"version": "6.1.5",
-			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz",
-			"integrity": "sha512-XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==",
+			"version": "6.2.0",
+			"resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz",
+			"integrity": "sha512-Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==",
 			"dev": true
 		},
 		"wrap-ansi": {
diff --git a/package.json b/package.json
index 81ce2fe..2abbe7d 100644
--- a/package.json
+++ b/package.json
@@ -1,4 +1,5 @@
 {
+	"name": "WikibaseLexeme",
 	"private": true,
 	"config": {
 		"remoteVersion": {
@@ -45,7 +46,7 @@
 		"eslint-config-wikimedia": "0.20.0",
 		"eslint-plugin-jsonc": "^2.2.1",
 		"eslint-plugin-promise": "^6.0.0",
-		"grunt": "1.4.1",
+		"grunt": "1.5.3",
 		"grunt-banana-checker": "0.9.0",
 		"grunt-eslint": "24.0.0",
 		"grunt-jasmine-nodejs": "^1.6.1",
-- 
2.39.2


--- end ---
Source code is licensed under the AGPL.