mediawiki/extensions/WikiLambda (REL1_39)

sourcepatches
From fb53f3d2e707e365c8ce4c21664ba40426cd2ef8 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 17 Nov 2025 13:40:06 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: I162a1979d9180e7fdebd21a51a5e30ba7681b0eb
---
 package-lock.json | 1919 ++++++++++++++++++++++++---------------------
 1 file changed, 1014 insertions(+), 905 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 82b1cfe..b38c3f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1997,58 +1997,52 @@
 			}
 		},
 		"node_modules/@jest/console": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
+			"integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/@jest/console/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/core": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
+			"integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/console": "^27.4.6",
-				"@jest/reporters": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/reporters": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
 				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-changed-files": "^27.4.2",
-				"jest-config": "^27.4.7",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-resolve-dependencies": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
-				"jest-watcher": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-changed-files": "^27.5.1",
+				"jest-config": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-resolve-dependencies": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"jest-watcher": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"rimraf": "^3.0.0",
 				"slash": "^3.0.0",
@@ -2066,82 +2060,78 @@
 				}
 			}
 		},
-		"node_modules/@jest/core/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/environment": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+			"integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6"
+				"jest-mock": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/fake-timers": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+			"integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@sinonjs/fake-timers": "^8.0.1",
 				"@types/node": "*",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/globals": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
+			"integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"expect": "^27.4.6"
+				"@jest/environment": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"expect": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/reporters": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
+			"integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@bcoe/v8-coverage": "^0.2.3",
-				"@jest/console": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"exit": "^0.1.2",
 				"glob": "^7.1.2",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"istanbul-lib-coverage": "^3.0.0",
 				"istanbul-lib-instrument": "^5.1.0",
 				"istanbul-lib-report": "^3.0.0",
 				"istanbul-lib-source-maps": "^4.0.0",
 				"istanbul-reports": "^3.1.3",
-				"jest-haste-map": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"jest-haste-map": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"slash": "^3.0.0",
 				"source-map": "^0.6.0",
 				"string-length": "^4.0.1",
@@ -2160,14 +2150,6 @@
 				}
 			}
 		},
-		"node_modules/@jest/reporters/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/reporters/node_modules/source-map": {
 			"version": "0.6.1",
 			"dev": true,
@@ -2177,12 +2159,13 @@
 			}
 		},
 		"node_modules/@jest/source-map": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
+			"integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"callsites": "^3.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"source-map": "^0.6.0"
 			},
 			"engines": {
@@ -2191,19 +2174,21 @@
 		},
 		"node_modules/@jest/source-map/node_modules/source-map": {
 			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+			"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
 		"node_modules/@jest/test-result": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
+			"integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/console": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/istanbul-lib-coverage": "^2.0.0",
 				"collect-v8-coverage": "^1.0.0"
 			},
@@ -2212,34 +2197,36 @@
 			}
 		},
 		"node_modules/@jest/test-sequencer": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
+			"integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/test-result": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-runtime": "^27.4.6"
+				"@jest/test-result": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-runtime": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/transform": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
+			"integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/core": "^7.1.0",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"babel-plugin-istanbul": "^6.1.1",
 				"chalk": "^4.0.0",
 				"convert-source-map": "^1.4.0",
 				"fast-json-stable-stringify": "^2.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"pirates": "^4.0.4",
 				"slash": "^3.0.0",
@@ -2250,14 +2237,6 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/@jest/transform/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/transform/node_modules/source-map": {
 			"version": "0.6.1",
 			"dev": true,
@@ -2267,9 +2246,10 @@
 			}
 		},
 		"node_modules/@jest/types": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+			"integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@types/istanbul-lib-coverage": "^2.0.0",
 				"@types/istanbul-reports": "^3.0.0",
@@ -2379,17 +2359,19 @@
 			}
 		},
 		"node_modules/@sinonjs/commons": {
-			"version": "1.8.3",
+			"version": "1.8.6",
+			"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz",
+			"integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"dependencies": {
 				"type-detect": "4.0.8"
 			}
 		},
 		"node_modules/@sinonjs/fake-timers": {
 			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
+			"integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"dependencies": {
 				"@sinonjs/commons": "^1.7.0"
 			}
@@ -2407,8 +2389,9 @@
 		},
 		"node_modules/@tootallnate/once": {
 			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+			"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">= 6"
 			}
@@ -2420,29 +2403,32 @@
 			"dev": true
 		},
 		"node_modules/@types/babel__core": {
-			"version": "7.1.18",
+			"version": "7.20.5",
+			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+			"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@babel/parser": "^7.1.0",
-				"@babel/types": "^7.0.0",
+				"@babel/parser": "^7.20.7",
+				"@babel/types": "^7.20.7",
 				"@types/babel__generator": "*",
 				"@types/babel__template": "*",
 				"@types/babel__traverse": "*"
 			}
 		},
 		"node_modules/@types/babel__generator": {
-			"version": "7.6.4",
+			"version": "7.27.0",
+			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+			"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"node_modules/@types/babel__template": {
-			"version": "7.4.1",
+			"version": "7.4.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+			"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/parser": "^7.1.0",
 				"@babel/types": "^7.0.0"
@@ -3612,9 +3598,11 @@
 			}
 		},
 		"node_modules/abab": {
-			"version": "2.0.5",
-			"dev": true,
-			"license": "BSD-3-Clause"
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+			"integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
+			"deprecated": "Use your platform's native atob() and btoa() methods instead",
+			"dev": true
 		},
 		"node_modules/abbrev": {
 			"version": "1.1.1",
@@ -3634,8 +3622,9 @@
 		},
 		"node_modules/acorn-globals": {
 			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+			"integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"acorn": "^7.1.1",
 				"acorn-walk": "^7.1.1"
@@ -3651,8 +3640,9 @@
 		},
 		"node_modules/acorn-walk": {
 			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+			"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=0.4.0"
 			}
@@ -3969,17 +3959,18 @@
 			"dev": true
 		},
 		"node_modules/babel-jest": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
+			"integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__core": "^7.1.14",
 				"babel-plugin-istanbul": "^6.1.1",
-				"babel-preset-jest": "^27.4.0",
+				"babel-preset-jest": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"slash": "^3.0.0"
 			},
 			"engines": {
@@ -3989,14 +3980,6 @@
 				"@babel/core": "^7.8.0"
 			}
 		},
-		"node_modules/babel-jest/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/babel-plugin-dynamic-import-node": {
 			"version": "2.3.3",
 			"dev": true,
@@ -4021,9 +4004,10 @@
 			}
 		},
 		"node_modules/babel-plugin-jest-hoist": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
+			"integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/template": "^7.3.3",
 				"@babel/types": "^7.3.3",
@@ -4102,11 +4086,12 @@
 			}
 		},
 		"node_modules/babel-preset-jest": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
+			"integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"babel-plugin-jest-hoist": "^27.4.0",
+				"babel-plugin-jest-hoist": "^27.5.1",
 				"babel-preset-current-node-syntax": "^1.0.0"
 			},
 			"engines": {
@@ -4196,8 +4181,9 @@
 		},
 		"node_modules/browser-process-hrtime": {
 			"version": "1.0.0",
-			"dev": true,
-			"license": "BSD-2-Clause"
+			"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+			"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+			"dev": true
 		},
 		"node_modules/browser-stdout": {
 			"version": "1.3.1",
@@ -4672,8 +4658,9 @@
 		},
 		"node_modules/co": {
 			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+			"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"iojs": ">= 1.0.0",
 				"node": ">= 0.12.0"
@@ -5026,13 +5013,15 @@
 		},
 		"node_modules/cssom": {
 			"version": "0.4.4",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+			"integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+			"dev": true
 		},
 		"node_modules/cssstyle": {
 			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+			"integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"cssom": "~0.3.6"
 			},
@@ -5042,8 +5031,9 @@
 		},
 		"node_modules/cssstyle/node_modules/cssom": {
 			"version": "0.3.8",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+			"integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+			"dev": true
 		},
 		"node_modules/csstype": {
 			"version": "2.6.20",
@@ -5065,8 +5055,9 @@
 		},
 		"node_modules/data-urls": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+			"integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"abab": "^2.0.3",
 				"whatwg-mimetype": "^2.3.0",
@@ -5123,9 +5114,10 @@
 			}
 		},
 		"node_modules/decimal.js": {
-			"version": "10.3.1",
-			"dev": true,
-			"license": "MIT"
+			"version": "10.6.0",
+			"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+			"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
+			"dev": true
 		},
 		"node_modules/decode-uri-component": {
 			"version": "0.2.2",
@@ -5163,8 +5155,9 @@
 		},
 		"node_modules/dedent": {
 			"version": "0.7.0",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+			"integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
+			"dev": true
 		},
 		"node_modules/deep-is": {
 			"version": "0.1.3",
@@ -5225,8 +5218,9 @@
 		},
 		"node_modules/detect-newline": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+			"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=8"
 			}
@@ -5286,9 +5280,10 @@
 			}
 		},
 		"node_modules/diff-sequences": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
@@ -5384,8 +5379,10 @@
 		},
 		"node_modules/domexception": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+			"integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+			"deprecated": "Use your platform's native DOMException instead",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"webidl-conversions": "^5.0.0"
 			},
@@ -5395,8 +5392,9 @@
 		},
 		"node_modules/domexception/node_modules/webidl-conversions": {
 			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+			"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"engines": {
 				"node": ">=8"
 			}
@@ -5653,14 +5651,14 @@
 			}
 		},
 		"node_modules/escodegen": {
-			"version": "2.0.0",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+			"integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"dependencies": {
 				"esprima": "^4.0.1",
 				"estraverse": "^5.2.0",
-				"esutils": "^2.0.2",
-				"optionator": "^0.8.1"
+				"esutils": "^2.0.2"
 			},
 			"bin": {
 				"escodegen": "bin/escodegen.js",
@@ -5675,67 +5673,23 @@
 		},
 		"node_modules/escodegen/node_modules/estraverse": {
 			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+			"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"engines": {
 				"node": ">=4.0"
 			}
 		},
-		"node_modules/escodegen/node_modules/levn": {
-			"version": "0.3.0",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"prelude-ls": "~1.1.2",
-				"type-check": "~0.3.2"
-			},
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
-		"node_modules/escodegen/node_modules/optionator": {
-			"version": "0.8.3",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"deep-is": "~0.1.3",
-				"fast-levenshtein": "~2.0.6",
-				"levn": "~0.3.0",
-				"prelude-ls": "~1.1.2",
-				"type-check": "~0.3.2",
-				"word-wrap": "~1.2.3"
-			},
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
-		"node_modules/escodegen/node_modules/prelude-ls": {
-			"version": "1.1.2",
-			"dev": true,
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
 		"node_modules/escodegen/node_modules/source-map": {
 			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+			"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"optional": true,
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/escodegen/node_modules/type-check": {
-			"version": "0.3.2",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"prelude-ls": "~1.1.2"
-			},
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
 		"node_modules/eslint": {
 			"version": "7.32.0",
 			"dev": true,
@@ -6076,9 +6030,9 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -7281,14 +7235,15 @@
 			}
 		},
 		"node_modules/expect": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
+			"integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
-				"jest-get-type": "^27.4.0",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -7898,15 +7853,6 @@
 				"node": ">= 4"
 			}
 		},
-		"node_modules/globby/node_modules/slash": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-			"dev": true,
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/globjoin": {
 			"version": "0.1.4",
 			"dev": true,
@@ -7964,9 +7910,10 @@
 			}
 		},
 		"node_modules/graceful-fs": {
-			"version": "4.2.6",
-			"dev": true,
-			"license": "ISC"
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"dev": true
 		},
 		"node_modules/grapheme-splitter": {
 			"version": "1.0.4",
@@ -8280,8 +8227,9 @@
 		},
 		"node_modules/html-encoding-sniffer": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+			"integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"whatwg-encoding": "^1.0.5"
 			},
@@ -8333,8 +8281,9 @@
 		},
 		"node_modules/http-proxy-agent": {
 			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+			"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@tootallnate/once": "1",
 				"agent-base": "6",
@@ -8345,11 +8294,12 @@
 			}
 		},
 		"node_modules/http-proxy-agent/node_modules/debug": {
-			"version": "4.3.3",
+			"version": "4.4.3",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+			"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"ms": "2.1.2"
+				"ms": "^2.1.3"
 			},
 			"engines": {
 				"node": ">=6.0"
@@ -8361,9 +8311,10 @@
 			}
 		},
 		"node_modules/http-proxy-agent/node_modules/ms": {
-			"version": "2.1.2",
-			"dev": true,
-			"license": "MIT"
+			"version": "2.1.3",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+			"dev": true
 		},
 		"node_modules/http-signature": {
 			"version": "1.2.0",
@@ -8662,8 +8613,9 @@
 		},
 		"node_modules/is-generator-fn": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+			"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=6"
 			}
@@ -8720,8 +8672,9 @@
 		},
 		"node_modules/is-potential-custom-element-name": {
 			"version": "1.0.1",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+			"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+			"dev": true
 		},
 		"node_modules/is-regexp": {
 			"version": "2.1.0",
@@ -8971,11 +8924,12 @@
 			}
 		},
 		"node_modules/jest-changed-files": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
+			"integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"execa": "^5.0.0",
 				"throat": "^6.0.1"
 			},
@@ -8984,26 +8938,27 @@
 			}
 		},
 		"node_modules/jest-circus": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+			"integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
 				"dedent": "^0.7.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3",
 				"throat": "^6.0.1"
@@ -9012,41 +8967,70 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/jest-circus/node_modules/slash": {
-			"version": "3.0.0",
+		"node_modules/jest-cli": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+			"integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
 			"dev": true,
-			"license": "MIT",
+			"dependencies": {
+				"@jest/core": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"chalk": "^4.0.0",
+				"exit": "^0.1.2",
+				"graceful-fs": "^4.2.9",
+				"import-local": "^3.0.2",
+				"jest-config": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"prompts": "^2.0.1",
+				"yargs": "^16.2.0"
+			},
+			"bin": {
+				"jest": "bin/jest.js"
+			},
 			"engines": {
-				"node": ">=8"
+				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+			},
+			"peerDependencies": {
+				"node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+			},
+			"peerDependenciesMeta": {
+				"node-notifier": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/jest-config": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+			"integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/core": "^7.8.0",
-				"@jest/test-sequencer": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"babel-jest": "^27.4.6",
+				"@jest/test-sequencer": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"babel-jest": "^27.5.1",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
 				"deepmerge": "^4.2.2",
 				"glob": "^7.1.1",
-				"graceful-fs": "^4.2.4",
-				"jest-circus": "^27.4.6",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-jasmine2": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-circus": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-jasmine2": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
-				"slash": "^3.0.0"
+				"parse-json": "^5.2.0",
+				"pretty-format": "^27.5.1",
+				"slash": "^3.0.0",
+				"strip-json-comments": "^3.1.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -9060,32 +9044,44 @@
 				}
 			}
 		},
-		"node_modules/jest-config/node_modules/slash": {
-			"version": "3.0.0",
+		"node_modules/jest-config/node_modules/parse-json": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+			"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
 			"dev": true,
-			"license": "MIT",
+			"dependencies": {
+				"@babel/code-frame": "^7.0.0",
+				"error-ex": "^1.3.1",
+				"json-parse-even-better-errors": "^2.3.0",
+				"lines-and-columns": "^1.1.6"
+			},
 			"engines": {
 				"node": ">=8"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/jest-diff": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+			"integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"chalk": "^4.0.0",
-				"diff-sequences": "^27.4.0",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"diff-sequences": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-docblock": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+			"integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"detect-newline": "^3.0.0"
 			},
@@ -9094,31 +9090,33 @@
 			}
 		},
 		"node_modules/jest-each": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+			"integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-environment-jsdom": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+			"integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"jsdom": "^16.6.0"
 			},
 			"engines": {
@@ -9126,44 +9124,47 @@
 			}
 		},
 		"node_modules/jest-environment-node": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
+			"integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-get-type": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+			"integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-haste-map": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
+			"integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/graceful-fs": "^4.1.2",
 				"@types/node": "*",
 				"anymatch": "^3.0.3",
 				"fb-watchman": "^2.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-regex-util": "^27.4.0",
-				"jest-serializer": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-regex-util": "^27.5.1",
+				"jest-serializer": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"walker": "^1.0.7"
 			},
@@ -9175,26 +9176,27 @@
 			}
 		},
 		"node_modules/jest-jasmine2": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+			"integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"throat": "^6.0.1"
 			},
 			"engines": {
@@ -9202,43 +9204,46 @@
 			}
 		},
 		"node_modules/jest-leak-detector": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
+			"integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-matcher-utils": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+			"integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"chalk": "^4.0.0",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-message-util": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+			"integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/stack-utils": "^2.0.0",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3"
 			},
@@ -9257,20 +9262,13 @@
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/jest-message-util/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/jest-mock": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+			"integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*"
 			},
 			"engines": {
@@ -9294,25 +9292,27 @@
 			}
 		},
 		"node_modules/jest-regex-util": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+			"integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-resolve": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
+			"integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
 				"jest-pnp-resolver": "^1.2.2",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"resolve": "^1.20.0",
 				"resolve.exports": "^1.1.0",
 				"slash": "^3.0.0"
@@ -9322,51 +9322,44 @@
 			}
 		},
 		"node_modules/jest-resolve-dependencies": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
+			"integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
-				"jest-regex-util": "^27.4.0",
-				"jest-snapshot": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-snapshot": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/jest-resolve/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/jest-runner": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
+			"integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/console": "^27.4.6",
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
-				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-docblock": "^27.4.0",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-haste-map": "^27.4.6",
-				"jest-leak-detector": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-docblock": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-leak-detector": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"source-map-support": "^0.5.6",
 				"throat": "^6.0.1"
 			},
@@ -9392,30 +9385,31 @@
 			}
 		},
 		"node_modules/jest-runtime": {
-			"version": "27.4.6",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/globals": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
+			"integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
+			"dev": true,
+			"dependencies": {
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/globals": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
 				"cjs-module-lexer": "^1.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"execa": "^5.0.0",
 				"glob": "^7.1.3",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0",
 				"strip-bom": "^4.0.0"
 			},
@@ -9423,14 +9417,6 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/jest-runtime/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/jest-runtime/node_modules/strip-bom": {
 			"version": "4.0.0",
 			"dev": true,
@@ -9440,43 +9426,45 @@
 			}
 		},
 		"node_modules/jest-serializer": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
+			"integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@types/node": "*",
-				"graceful-fs": "^4.2.4"
+				"graceful-fs": "^4.2.9"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-snapshot": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
+			"integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/core": "^7.7.2",
 				"@babel/generator": "^7.7.2",
 				"@babel/plugin-syntax-typescript": "^7.7.2",
 				"@babel/traverse": "^7.7.2",
 				"@babel/types": "^7.0.0",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__traverse": "^7.0.4",
 				"@types/prettier": "^2.1.5",
 				"babel-preset-current-node-syntax": "^1.0.0",
 				"chalk": "^4.0.0",
-				"expect": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-haste-map": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"expect": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"natural-compare": "^1.4.0",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"semver": "^7.3.2"
 			},
 			"engines": {
@@ -9515,15 +9503,16 @@
 			"license": "ISC"
 		},
 		"node_modules/jest-util": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+			"integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"picomatch": "^2.2.3"
 			},
 			"engines": {
@@ -9531,16 +9520,17 @@
 			}
 		},
 		"node_modules/jest-validate": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
+			"integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"camelcase": "^6.2.0",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
+				"jest-get-type": "^27.5.1",
 				"leven": "^3.1.0",
-				"pretty-format": "^27.4.6"
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -9548,8 +9538,9 @@
 		},
 		"node_modules/jest-validate/node_modules/camelcase": {
 			"version": "6.3.0",
+			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+			"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=10"
 			},
@@ -9558,16 +9549,17 @@
 			}
 		},
 		"node_modules/jest-watcher": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
+			"integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
-				"jest-util": "^27.4.2",
+				"jest-util": "^27.5.1",
 				"string-length": "^4.0.1"
 			},
 			"engines": {
@@ -9575,9 +9567,10 @@
 			}
 		},
 		"node_modules/jest-worker": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+			"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@types/node": "*",
 				"merge-stream": "^2.0.0",
@@ -9589,8 +9582,9 @@
 		},
 		"node_modules/jest-worker/node_modules/supports-color": {
 			"version": "8.1.1",
+			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+			"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"has-flag": "^4.0.0"
 			},
@@ -9601,39 +9595,6 @@
 				"url": "https://github.com/chalk/supports-color?sponsor=1"
 			}
 		},
-		"node_modules/jest/node_modules/jest-cli": {
-			"version": "27.4.7",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@jest/core": "^27.4.7",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"chalk": "^4.0.0",
-				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"import-local": "^3.0.2",
-				"jest-config": "^27.4.7",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
-				"prompts": "^2.0.1",
-				"yargs": "^16.2.0"
-			},
-			"bin": {
-				"jest": "bin/jest.js"
-			},
-			"engines": {
-				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-			},
-			"peerDependencies": {
-				"node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
-			},
-			"peerDependenciesMeta": {
-				"node-notifier": {
-					"optional": true
-				}
-			}
-		},
 		"node_modules/jquery": {
 			"version": "3.6.1",
 			"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
@@ -9648,9 +9609,10 @@
 			"dev": true
 		},
 		"node_modules/js-yaml": {
-			"version": "3.14.1",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"argparse": "^1.0.7",
 				"esprima": "^4.0.0"
@@ -9734,8 +9696,9 @@
 		},
 		"node_modules/jsdom": {
 			"version": "16.7.0",
+			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+			"integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"abab": "^2.0.5",
 				"acorn": "^8.2.4",
@@ -9778,9 +9741,10 @@
 			}
 		},
 		"node_modules/jsdom/node_modules/acorn": {
-			"version": "8.7.0",
+			"version": "8.15.0",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+			"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
 			"dev": true,
-			"license": "MIT",
 			"bin": {
 				"acorn": "bin/acorn"
 			},
@@ -10031,8 +9995,9 @@
 		},
 		"node_modules/leven": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+			"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=6"
 			}
@@ -10891,9 +10856,9 @@
 			}
 		},
 		"node_modules/mocha/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -11192,9 +11157,10 @@
 			}
 		},
 		"node_modules/nwsapi": {
-			"version": "2.2.0",
-			"dev": true,
-			"license": "MIT"
+			"version": "2.2.22",
+			"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz",
+			"integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==",
+			"dev": true
 		},
 		"node_modules/oauth-sign": {
 			"version": "0.9.0",
@@ -11466,8 +11432,9 @@
 		},
 		"node_modules/parse5": {
 			"version": "6.0.1",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+			"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+			"dev": true
 		},
 		"node_modules/path-exists": {
 			"version": "4.0.0",
@@ -11729,9 +11696,10 @@
 			}
 		},
 		"node_modules/pretty-format": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+			"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"ansi-regex": "^5.0.1",
 				"ansi-styles": "^5.0.0",
@@ -12541,8 +12509,9 @@
 		},
 		"node_modules/saxes": {
 			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+			"integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
 			"dev": true,
-			"license": "ISC",
 			"dependencies": {
 				"xmlchars": "^2.2.0"
 			},
@@ -12688,6 +12657,15 @@
 			"dev": true,
 			"license": "MIT"
 		},
+		"node_modules/slash": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=8"
+			}
+		},
 		"node_modules/slice-ansi": {
 			"version": "4.0.0",
 			"dev": true,
@@ -13396,8 +13374,9 @@
 		},
 		"node_modules/symbol-tree": {
 			"version": "3.2.4",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+			"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+			"dev": true
 		},
 		"node_modules/table": {
 			"version": "6.8.0",
@@ -13556,9 +13535,9 @@
 			}
 		},
 		"node_modules/tough-cookie": {
-			"version": "4.1.3",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
-			"integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
+			"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",
@@ -13581,8 +13560,9 @@
 		},
 		"node_modules/tr46": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+			"integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"punycode": "^2.1.1"
 			},
@@ -13675,8 +13655,9 @@
 		},
 		"node_modules/type-detect": {
 			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+			"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=4"
 			}
@@ -14084,16 +14065,19 @@
 		},
 		"node_modules/w3c-hr-time": {
 			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+			"integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+			"deprecated": "Use your platform's native performance.now() and performance.timeOrigin.",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"browser-process-hrtime": "^1.0.0"
 			}
 		},
 		"node_modules/w3c-xmlserializer": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+			"integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"xml-name-validator": "^3.0.0"
 			},
@@ -14222,29 +14206,33 @@
 		},
 		"node_modules/webidl-conversions": {
 			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+			"integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"engines": {
 				"node": ">=10.4"
 			}
 		},
 		"node_modules/whatwg-encoding": {
 			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+			"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"iconv-lite": "0.4.24"
 			}
 		},
 		"node_modules/whatwg-mimetype": {
 			"version": "2.3.0",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+			"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+			"dev": true
 		},
 		"node_modules/whatwg-url": {
 			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+			"integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"lodash": "^4.7.0",
 				"tr46": "^2.1.0",
@@ -14338,8 +14326,9 @@
 		},
 		"node_modules/xml-name-validator": {
 			"version": "3.0.0",
-			"dev": true,
-			"license": "Apache-2.0"
+			"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+			"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+			"dev": true
 		},
 		"node_modules/xmlbuilder": {
 			"version": "15.1.1",
@@ -14351,8 +14340,9 @@
 		},
 		"node_modules/xmlchars": {
 			"version": "2.2.0",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+			"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+			"dev": true
 		},
 		"node_modules/xmlcreate": {
 			"version": "2.0.4",
@@ -15824,118 +15814,118 @@
 			"dev": true
 		},
 		"@jest/console": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
+			"integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"@jest/core": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
+			"integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
 			"dev": true,
 			"requires": {
-				"@jest/console": "^27.4.6",
-				"@jest/reporters": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/reporters": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
 				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-changed-files": "^27.4.2",
-				"jest-config": "^27.4.7",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-resolve-dependencies": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
-				"jest-watcher": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-changed-files": "^27.5.1",
+				"jest-config": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-resolve-dependencies": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"jest-watcher": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"rimraf": "^3.0.0",
 				"slash": "^3.0.0",
 				"strip-ansi": "^6.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"@jest/environment": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+			"integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
 			"dev": true,
 			"requires": {
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6"
+				"jest-mock": "^27.5.1"
 			}
 		},
 		"@jest/fake-timers": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+			"integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@sinonjs/fake-timers": "^8.0.1",
 				"@types/node": "*",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			}
 		},
 		"@jest/globals": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
+			"integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"expect": "^27.4.6"
+				"@jest/environment": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"expect": "^27.5.1"
 			}
 		},
 		"@jest/reporters": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
+			"integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
 			"dev": true,
 			"requires": {
 				"@bcoe/v8-coverage": "^0.2.3",
-				"@jest/console": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"exit": "^0.1.2",
 				"glob": "^7.1.2",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"istanbul-lib-coverage": "^3.0.0",
 				"istanbul-lib-instrument": "^5.1.0",
 				"istanbul-lib-report": "^3.0.0",
 				"istanbul-lib-source-maps": "^4.0.0",
 				"istanbul-reports": "^3.1.3",
-				"jest-haste-map": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"jest-haste-map": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"slash": "^3.0.0",
 				"source-map": "^0.6.0",
 				"string-length": "^4.0.1",
@@ -15943,10 +15933,6 @@
 				"v8-to-istanbul": "^8.1.0"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				},
 				"source-map": {
 					"version": "0.6.1",
 					"dev": true
@@ -15954,54 +15940,64 @@
 			}
 		},
 		"@jest/source-map": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
+			"integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
 			"dev": true,
 			"requires": {
 				"callsites": "^3.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"source-map": "^0.6.0"
 			},
 			"dependencies": {
 				"source-map": {
 					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true
 				}
 			}
 		},
 		"@jest/test-result": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
+			"integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
 			"dev": true,
 			"requires": {
-				"@jest/console": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/istanbul-lib-coverage": "^2.0.0",
 				"collect-v8-coverage": "^1.0.0"
 			}
 		},
 		"@jest/test-sequencer": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
+			"integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
 			"dev": true,
 			"requires": {
-				"@jest/test-result": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-runtime": "^27.4.6"
+				"@jest/test-result": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-runtime": "^27.5.1"
 			}
 		},
 		"@jest/transform": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
+			"integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
 			"dev": true,
 			"requires": {
 				"@babel/core": "^7.1.0",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"babel-plugin-istanbul": "^6.1.1",
 				"chalk": "^4.0.0",
 				"convert-source-map": "^1.4.0",
 				"fast-json-stable-stringify": "^2.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"pirates": "^4.0.4",
 				"slash": "^3.0.0",
@@ -16009,10 +16005,6 @@
 				"write-file-atomic": "^3.0.0"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				},
 				"source-map": {
 					"version": "0.6.1",
 					"dev": true
@@ -16020,7 +16012,9 @@
 			}
 		},
 		"@jest/types": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+			"integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
 			"dev": true,
 			"requires": {
 				"@types/istanbul-lib-coverage": "^2.0.0",
@@ -16100,7 +16094,9 @@
 			"dev": true
 		},
 		"@sinonjs/commons": {
-			"version": "1.8.3",
+			"version": "1.8.6",
+			"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz",
+			"integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
 			"dev": true,
 			"requires": {
 				"type-detect": "4.0.8"
@@ -16108,6 +16104,8 @@
 		},
 		"@sinonjs/fake-timers": {
 			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
+			"integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
 			"dev": true,
 			"requires": {
 				"@sinonjs/commons": "^1.7.0"
@@ -16122,6 +16120,8 @@
 		},
 		"@tootallnate/once": {
 			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+			"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
 			"dev": true
 		},
 		"@types/aria-query": {
@@ -16131,25 +16131,31 @@
 			"dev": true
 		},
 		"@types/babel__core": {
-			"version": "7.1.18",
+			"version": "7.20.5",
+			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+			"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
 			"dev": true,
 			"requires": {
-				"@babel/parser": "^7.1.0",
-				"@babel/types": "^7.0.0",
+				"@babel/parser": "^7.20.7",
+				"@babel/types": "^7.20.7",
 				"@types/babel__generator": "*",
 				"@types/babel__template": "*",
 				"@types/babel__traverse": "*"
 			}
 		},
 		"@types/babel__generator": {
-			"version": "7.6.4",
+			"version": "7.27.0",
+			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+			"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
 			"dev": true,
 			"requires": {
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"@types/babel__template": {
-			"version": "7.4.1",
+			"version": "7.4.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+			"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
 			"dev": true,
 			"requires": {
 				"@babel/parser": "^7.1.0",
@@ -17069,7 +17075,9 @@
 			"requires": {}
 		},
 		"abab": {
-			"version": "2.0.5",
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+			"integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
 			"dev": true
 		},
 		"abbrev": {
@@ -17082,6 +17090,8 @@
 		},
 		"acorn-globals": {
 			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+			"integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
 			"dev": true,
 			"requires": {
 				"acorn": "^7.1.1",
@@ -17095,6 +17105,8 @@
 		},
 		"acorn-walk": {
 			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+			"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
 			"dev": true
 		},
 		"agent-base": {
@@ -17314,23 +17326,19 @@
 			"dev": true
 		},
 		"babel-jest": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
+			"integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
 			"dev": true,
 			"requires": {
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__core": "^7.1.14",
 				"babel-plugin-istanbul": "^6.1.1",
-				"babel-preset-jest": "^27.4.0",
+				"babel-preset-jest": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"slash": "^3.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"babel-plugin-dynamic-import-node": {
@@ -17352,7 +17360,9 @@
 			}
 		},
 		"babel-plugin-jest-hoist": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
+			"integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
 			"dev": true,
 			"requires": {
 				"@babel/template": "^7.3.3",
@@ -17412,10 +17422,12 @@
 			}
 		},
 		"babel-preset-jest": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
+			"integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
 			"dev": true,
 			"requires": {
-				"babel-plugin-jest-hoist": "^27.4.0",
+				"babel-plugin-jest-hoist": "^27.5.1",
 				"babel-preset-current-node-syntax": "^1.0.0"
 			}
 		},
@@ -17474,6 +17486,8 @@
 		},
 		"browser-process-hrtime": {
 			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+			"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
 			"dev": true
 		},
 		"browser-stdout": {
@@ -17781,6 +17795,8 @@
 		},
 		"co": {
 			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+			"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
 			"dev": true
 		},
 		"collect-v8-coverage": {
@@ -18062,10 +18078,14 @@
 		},
 		"cssom": {
 			"version": "0.4.4",
+			"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+			"integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
 			"dev": true
 		},
 		"cssstyle": {
 			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+			"integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
 			"dev": true,
 			"requires": {
 				"cssom": "~0.3.6"
@@ -18073,6 +18093,8 @@
 			"dependencies": {
 				"cssom": {
 					"version": "0.3.8",
+					"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+					"integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
 					"dev": true
 				}
 			}
@@ -18094,6 +18116,8 @@
 		},
 		"data-urls": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+			"integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
 			"dev": true,
 			"requires": {
 				"abab": "^2.0.3",
@@ -18133,7 +18157,9 @@
 			}
 		},
 		"decimal.js": {
-			"version": "10.3.1",
+			"version": "10.6.0",
+			"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+			"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
 			"dev": true
 		},
 		"decode-uri-component": {
@@ -18157,6 +18183,8 @@
 		},
 		"dedent": {
 			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+			"integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
 			"dev": true
 		},
 		"deep-is": {
@@ -18197,6 +18225,8 @@
 		},
 		"detect-newline": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+			"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
 			"dev": true
 		},
 		"devtools": {
@@ -18247,7 +18277,9 @@
 			"dev": true
 		},
 		"diff-sequences": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
 			"dev": true
 		},
 		"dir-glob": {
@@ -18315,6 +18347,8 @@
 		},
 		"domexception": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+			"integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
 			"dev": true,
 			"requires": {
 				"webidl-conversions": "^5.0.0"
@@ -18322,6 +18356,8 @@
 			"dependencies": {
 				"webidl-conversions": {
 					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+					"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
 					"dev": true
 				}
 			}
@@ -18520,55 +18556,29 @@
 			"dev": true
 		},
 		"escodegen": {
-			"version": "2.0.0",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+			"integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
 			"dev": true,
 			"requires": {
 				"esprima": "^4.0.1",
 				"estraverse": "^5.2.0",
 				"esutils": "^2.0.2",
-				"optionator": "^0.8.1",
 				"source-map": "~0.6.1"
 			},
 			"dependencies": {
 				"estraverse": {
 					"version": "5.3.0",
-					"dev": true
-				},
-				"levn": {
-					"version": "0.3.0",
-					"dev": true,
-					"requires": {
-						"prelude-ls": "~1.1.2",
-						"type-check": "~0.3.2"
-					}
-				},
-				"optionator": {
-					"version": "0.8.3",
-					"dev": true,
-					"requires": {
-						"deep-is": "~0.1.3",
-						"fast-levenshtein": "~2.0.6",
-						"levn": "~0.3.0",
-						"prelude-ls": "~1.1.2",
-						"type-check": "~0.3.2",
-						"word-wrap": "~1.2.3"
-					}
-				},
-				"prelude-ls": {
-					"version": "1.1.2",
+					"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+					"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
 					"dev": true
 				},
 				"source-map": {
 					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true,
 					"optional": true
-				},
-				"type-check": {
-					"version": "0.3.2",
-					"dev": true,
-					"requires": {
-						"prelude-ls": "~1.1.2"
-					}
 				}
 			}
 		},
@@ -18895,9 +18905,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -19611,13 +19621,15 @@
 			}
 		},
 		"expect": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
+			"integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
-				"jest-get-type": "^27.4.0",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1"
 			}
 		},
 		"expect-webdriverio": {
@@ -20040,12 +20052,6 @@
 					"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
 					"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
 					"dev": true
-				},
-				"slash": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-					"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-					"dev": true
 				}
 			}
 		},
@@ -20090,7 +20096,9 @@
 			}
 		},
 		"graceful-fs": {
-			"version": "4.2.6",
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
 			"dev": true
 		},
 		"grapheme-splitter": {
@@ -20297,6 +20305,8 @@
 		},
 		"html-encoding-sniffer": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+			"integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
 			"dev": true,
 			"requires": {
 				"whatwg-encoding": "^1.0.5"
@@ -20332,6 +20342,8 @@
 		},
 		"http-proxy-agent": {
 			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+			"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
 			"dev": true,
 			"requires": {
 				"@tootallnate/once": "1",
@@ -20340,14 +20352,18 @@
 			},
 			"dependencies": {
 				"debug": {
-					"version": "4.3.3",
+					"version": "4.4.3",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+					"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 					"dev": true,
 					"requires": {
-						"ms": "2.1.2"
+						"ms": "^2.1.3"
 					}
 				},
 				"ms": {
-					"version": "2.1.2",
+					"version": "2.1.3",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+					"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
 					"dev": true
 				}
 			}
@@ -20534,6 +20550,8 @@
 		},
 		"is-generator-fn": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+			"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
 			"dev": true
 		},
 		"is-glob": {
@@ -20572,6 +20590,8 @@
 		},
 		"is-potential-custom-element-name": {
 			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+			"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
 			"dev": true
 		},
 		"is-regexp": {
@@ -20724,230 +20744,262 @@
 				"@jest/core": "^27.4.7",
 				"import-local": "^3.0.2",
 				"jest-cli": "^27.4.7"
-			},
-			"dependencies": {
-				"jest-cli": {
-					"version": "27.4.7",
-					"dev": true,
-					"requires": {
-						"@jest/core": "^27.4.7",
-						"@jest/test-result": "^27.4.6",
-						"@jest/types": "^27.4.2",
-						"chalk": "^4.0.0",
-						"exit": "^0.1.2",
-						"graceful-fs": "^4.2.4",
-						"import-local": "^3.0.2",
-						"jest-config": "^27.4.7",
-						"jest-util": "^27.4.2",
-						"jest-validate": "^27.4.6",
-						"prompts": "^2.0.1",
-						"yargs": "^16.2.0"
-					}
-				}
 			}
 		},
 		"jest-changed-files": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
+			"integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"execa": "^5.0.0",
 				"throat": "^6.0.1"
 			}
 		},
 		"jest-circus": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+			"integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
 				"dedent": "^0.7.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3",
 				"throat": "^6.0.1"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
+			}
+		},
+		"jest-cli": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+			"integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
+			"dev": true,
+			"requires": {
+				"@jest/core": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"chalk": "^4.0.0",
+				"exit": "^0.1.2",
+				"graceful-fs": "^4.2.9",
+				"import-local": "^3.0.2",
+				"jest-config": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"prompts": "^2.0.1",
+				"yargs": "^16.2.0"
 			}
 		},
 		"jest-config": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+			"integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
 			"dev": true,
 			"requires": {
 				"@babel/core": "^7.8.0",
-				"@jest/test-sequencer": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"babel-jest": "^27.4.6",
+				"@jest/test-sequencer": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"babel-jest": "^27.5.1",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
 				"deepmerge": "^4.2.2",
 				"glob": "^7.1.1",
-				"graceful-fs": "^4.2.4",
-				"jest-circus": "^27.4.6",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-jasmine2": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-circus": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-jasmine2": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
-				"slash": "^3.0.0"
+				"parse-json": "^5.2.0",
+				"pretty-format": "^27.5.1",
+				"slash": "^3.0.0",
+				"strip-json-comments": "^3.1.1"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
+				"parse-json": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+					"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.0.0",
+						"error-ex": "^1.3.1",
+						"json-parse-even-better-errors": "^2.3.0",
+						"lines-and-columns": "^1.1.6"
+					}
 				}
 			}
 		},
 		"jest-diff": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+			"integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
 			"dev": true,
 			"requires": {
 				"chalk": "^4.0.0",
-				"diff-sequences": "^27.4.0",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"diff-sequences": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-docblock": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+			"integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
 			"dev": true,
 			"requires": {
 				"detect-newline": "^3.0.0"
 			}
 		},
 		"jest-each": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+			"integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-environment-jsdom": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+			"integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"jsdom": "^16.6.0"
 			}
 		},
 		"jest-environment-node": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
+			"integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			}
 		},
 		"jest-get-type": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+			"integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
 			"dev": true
 		},
 		"jest-haste-map": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
+			"integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/graceful-fs": "^4.1.2",
 				"@types/node": "*",
 				"anymatch": "^3.0.3",
 				"fb-watchman": "^2.0.0",
 				"fsevents": "^2.3.2",
-				"graceful-fs": "^4.2.4",
-				"jest-regex-util": "^27.4.0",
-				"jest-serializer": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-regex-util": "^27.5.1",
+				"jest-serializer": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"walker": "^1.0.7"
 			}
 		},
 		"jest-jasmine2": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+			"integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"throat": "^6.0.1"
 			}
 		},
 		"jest-leak-detector": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
+			"integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
 			"dev": true,
 			"requires": {
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-matcher-utils": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+			"integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
 			"dev": true,
 			"requires": {
 				"chalk": "^4.0.0",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-message-util": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+			"integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
 			"dev": true,
 			"requires": {
 				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/stack-utils": "^2.0.0",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3"
 			},
@@ -20958,18 +21010,16 @@
 					"requires": {
 						"@babel/highlight": "^7.16.7"
 					}
-				},
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
 				}
 			}
 		},
 		"jest-mock": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+			"integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*"
 			}
 		},
@@ -20979,64 +21029,65 @@
 			"requires": {}
 		},
 		"jest-regex-util": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+			"integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
 			"dev": true
 		},
 		"jest-resolve": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
+			"integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
 				"jest-pnp-resolver": "^1.2.2",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"resolve": "^1.20.0",
 				"resolve.exports": "^1.1.0",
 				"slash": "^3.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"jest-resolve-dependencies": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
+			"integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
-				"jest-regex-util": "^27.4.0",
-				"jest-snapshot": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-snapshot": "^27.5.1"
 			}
 		},
 		"jest-runner": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
+			"integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
 			"dev": true,
 			"requires": {
-				"@jest/console": "^27.4.6",
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
-				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-docblock": "^27.4.0",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-haste-map": "^27.4.6",
-				"jest-leak-detector": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-docblock": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-leak-detector": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"source-map-support": "^0.5.6",
 				"throat": "^6.0.1"
 			},
@@ -21056,37 +21107,35 @@
 			}
 		},
 		"jest-runtime": {
-			"version": "27.4.6",
-			"dev": true,
-			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/globals": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
+			"integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
+			"dev": true,
+			"requires": {
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/globals": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
 				"cjs-module-lexer": "^1.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"execa": "^5.0.0",
 				"glob": "^7.1.3",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0",
 				"strip-bom": "^4.0.0"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				},
 				"strip-bom": {
 					"version": "4.0.0",
 					"dev": true
@@ -21094,15 +21143,19 @@
 			}
 		},
 		"jest-serializer": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
+			"integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
 			"dev": true,
 			"requires": {
 				"@types/node": "*",
-				"graceful-fs": "^4.2.4"
+				"graceful-fs": "^4.2.9"
 			}
 		},
 		"jest-snapshot": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
+			"integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
 			"dev": true,
 			"requires": {
 				"@babel/core": "^7.7.2",
@@ -21110,22 +21163,22 @@
 				"@babel/plugin-syntax-typescript": "^7.7.2",
 				"@babel/traverse": "^7.7.2",
 				"@babel/types": "^7.0.0",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__traverse": "^7.0.4",
 				"@types/prettier": "^2.1.5",
 				"babel-preset-current-node-syntax": "^1.0.0",
 				"chalk": "^4.0.0",
-				"expect": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-haste-map": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"expect": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"natural-compare": "^1.4.0",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"semver": "^7.3.2"
 			},
 			"dependencies": {
@@ -21152,50 +21205,60 @@
 			}
 		},
 		"jest-util": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+			"integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"picomatch": "^2.2.3"
 			}
 		},
 		"jest-validate": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
+			"integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"camelcase": "^6.2.0",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
+				"jest-get-type": "^27.5.1",
 				"leven": "^3.1.0",
-				"pretty-format": "^27.4.6"
+				"pretty-format": "^27.5.1"
 			},
 			"dependencies": {
 				"camelcase": {
 					"version": "6.3.0",
+					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+					"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
 					"dev": true
 				}
 			}
 		},
 		"jest-watcher": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
+			"integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
 			"dev": true,
 			"requires": {
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
-				"jest-util": "^27.4.2",
+				"jest-util": "^27.5.1",
 				"string-length": "^4.0.1"
 			}
 		},
 		"jest-worker": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+			"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
 			"dev": true,
 			"requires": {
 				"@types/node": "*",
@@ -21205,6 +21268,8 @@
 			"dependencies": {
 				"supports-color": {
 					"version": "8.1.1",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+					"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
 					"dev": true,
 					"requires": {
 						"has-flag": "^4.0.0"
@@ -21225,7 +21290,9 @@
 			"dev": true
 		},
 		"js-yaml": {
-			"version": "3.14.1",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"requires": {
 				"argparse": "^1.0.7",
@@ -21297,6 +21364,8 @@
 		},
 		"jsdom": {
 			"version": "16.7.0",
+			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+			"integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
 			"dev": true,
 			"requires": {
 				"abab": "^2.0.5",
@@ -21329,7 +21398,9 @@
 			},
 			"dependencies": {
 				"acorn": {
-					"version": "8.7.0",
+					"version": "8.15.0",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+					"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
 					"dev": true
 				}
 			}
@@ -21533,6 +21604,8 @@
 		},
 		"leven": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+			"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
 			"dev": true
 		},
 		"levn": {
@@ -22135,9 +22208,9 @@
 					}
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -22352,7 +22425,9 @@
 			}
 		},
 		"nwsapi": {
-			"version": "2.2.0",
+			"version": "2.2.22",
+			"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz",
+			"integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==",
 			"dev": true
 		},
 		"oauth-sign": {
@@ -22528,6 +22603,8 @@
 		},
 		"parse5": {
 			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+			"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
 			"dev": true
 		},
 		"path-exists": {
@@ -22694,7 +22771,9 @@
 			"dev": true
 		},
 		"pretty-format": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+			"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
 			"dev": true,
 			"requires": {
 				"ansi-regex": "^5.0.1",
@@ -23255,6 +23334,8 @@
 		},
 		"saxes": {
 			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+			"integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
 			"dev": true,
 			"requires": {
 				"xmlchars": "^2.2.0"
@@ -23361,6 +23442,12 @@
 			"version": "1.0.5",
 			"dev": true
 		},
+		"slash": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+			"dev": true
+		},
 		"slice-ansi": {
 			"version": "4.0.0",
 			"dev": true,
@@ -23896,6 +23983,8 @@
 		},
 		"symbol-tree": {
 			"version": "3.2.4",
+			"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+			"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
 			"dev": true
 		},
 		"table": {
@@ -24023,9 +24112,9 @@
 			}
 		},
 		"tough-cookie": {
-			"version": "4.1.3",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
-			"integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
+			"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",
@@ -24044,6 +24133,8 @@
 		},
 		"tr46": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+			"integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
 			"dev": true,
 			"requires": {
 				"punycode": "^2.1.1"
@@ -24108,6 +24199,8 @@
 		},
 		"type-detect": {
 			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+			"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
 			"dev": true
 		},
 		"type-fest": {
@@ -24371,6 +24464,8 @@
 		},
 		"w3c-hr-time": {
 			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+			"integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
 			"dev": true,
 			"requires": {
 				"browser-process-hrtime": "^1.0.0"
@@ -24378,6 +24473,8 @@
 		},
 		"w3c-xmlserializer": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+			"integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
 			"dev": true,
 			"requires": {
 				"xml-name-validator": "^3.0.0"
@@ -24491,10 +24588,14 @@
 		},
 		"webidl-conversions": {
 			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+			"integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
 			"dev": true
 		},
 		"whatwg-encoding": {
 			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+			"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
 			"dev": true,
 			"requires": {
 				"iconv-lite": "0.4.24"
@@ -24502,10 +24603,14 @@
 		},
 		"whatwg-mimetype": {
 			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+			"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
 			"dev": true
 		},
 		"whatwg-url": {
 			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+			"integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
 			"dev": true,
 			"requires": {
 				"lodash": "^4.7.0",
@@ -24564,6 +24669,8 @@
 		},
 		"xml-name-validator": {
 			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+			"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
 			"dev": true
 		},
 		"xmlbuilder": {
@@ -24572,6 +24679,8 @@
 		},
 		"xmlchars": {
 			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+			"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
 			"dev": true
 		},
 		"xmlcreate": {
-- 
2.47.3

$ date
--- stdout ---
Mon Nov 17 13:38:07 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-WikiLambda.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 'function-schemata' (https://gerrit.wikimedia.org/r/mediawiki/services/function-schemata) registered for path 'function-schemata'
Cloning into '/src/repo/function-schemata'...
--- stdout ---
Submodule path 'function-schemata': checked out '9f9c223c52fb1ec9ce42f815fad943e114d1b1d7'

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

--- end ---
$ git show-ref refs/heads/REL1_39
--- stdout ---
1d92459cc1d11a2eca5a7051d5221771bd4f9050 refs/heads/REL1_39

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@eslint/eslintrc": {
      "name": "@eslint/eslintrc",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "eslint"
      ],
      "range": "0.0.1 || 0.1.1 - 1.0.3",
      "nodes": [
        "node_modules/@eslint/eslintrc"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "@istanbuljs/load-nyc-config": {
      "name": "@istanbuljs/load-nyc-config",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "babel-plugin-istanbul"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@istanbuljs/load-nyc-config"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "@jest/core": {
      "name": "@jest/core",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/reporters",
        "@jest/transform",
        "jest-config",
        "jest-resolve-dependencies",
        "jest-runner",
        "jest-runtime",
        "jest-snapshot"
      ],
      "effects": [
        "jest"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/@jest/core"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "@jest/reporters": {
      "name": "@jest/reporters",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform"
      ],
      "effects": [],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/@jest/reporters"
      ],
      "fixAvailable": true
    },
    "@jest/test-sequencer": {
      "name": "@jest/test-sequencer",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-runtime"
      ],
      "effects": [
        "jest-config"
      ],
      "range": "25.1.0 - 28.0.0-alpha.11",
      "nodes": [
        "node_modules/@jest/test-sequencer"
      ],
      "fixAvailable": true
    },
    "@jest/transform": {
      "name": "@jest/transform",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "babel-plugin-istanbul"
      ],
      "effects": [
        "@jest/core",
        "@jest/reporters",
        "jest-runner",
        "jest-runtime",
        "jest-snapshot"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/@jest/transform"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "@vue/vue3-jest": {
      "name": "@vue/vue3-jest",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "babel-jest",
        "jest"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/@vue/vue3-jest"
      ],
      "fixAvailable": false
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "inquirer",
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": "<=9.0.0-alpha.426",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "6.0.4 - 8.46.0",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.46.0",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "babel-jest": {
      "name": "babel-jest",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform",
        "babel-plugin-istanbul"
      ],
      "effects": [
        "@vue/vue3-jest",
        "jest-config"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/babel-jest"
      ],
      "fixAvailable": false
    },
    "babel-plugin-istanbul": {
      "name": "babel-plugin-istanbul",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@istanbuljs/load-nyc-config"
      ],
      "effects": [
        "@jest/transform",
        "babel-jest"
      ],
      "range": ">=6.0.0-beta.0",
      "nodes": [
        "node_modules/babel-plugin-istanbul"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104663,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "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": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "eslint": {
      "name": "eslint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@eslint/eslintrc",
        "js-yaml"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": "0.4.0 - 7.32.0",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "external-editor": {
      "name": "external-editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "tmp"
      ],
      "effects": [
        "inquirer"
      ],
      "range": ">=1.1.1",
      "nodes": [
        "node_modules/external-editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "form-data": {
      "name": "form-data",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1109540,
          "name": "form-data",
          "dependency": "form-data",
          "title": "form-data uses unsafe random function in form-data for choosing boundary",
          "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
          "severity": "critical",
          "cwe": [
            "CWE-330"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<2.5.4"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<2.5.4",
      "nodes": [
        "node_modules/request/node_modules/form-data"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "eslint",
        "grunt"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "inquirer": {
      "name": "inquirer",
      "severity": "low",
      "isDirect": false,
      "via": [
        "external-editor"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7",
      "nodes": [
        "node_modules/inquirer"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "jest": {
      "name": "jest",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "@jest/core",
        "jest-cli"
      ],
      "effects": [],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jest-circus": {
      "name": "jest-circus",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-runtime",
        "jest-snapshot"
      ],
      "effects": [
        "jest-config"
      ],
      "range": ">=25.2.4",
      "nodes": [
        "node_modules/jest-circus"
      ],
      "fixAvailable": true
    },
    "jest-cli": {
      "name": "jest-cli",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/core",
        "jest-config"
      ],
      "effects": [],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest/node_modules/jest-cli"
      ],
      "fixAvailable": true
    },
    "jest-config": {
      "name": "jest-config",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/test-sequencer",
        "babel-jest",
        "jest-circus",
        "jest-jasmine2",
        "jest-runner"
      ],
      "effects": [
        "jest-cli"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-config"
      ],
      "fixAvailable": true
    },
    "jest-jasmine2": {
      "name": "jest-jasmine2",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-runtime",
        "jest-snapshot"
      ],
      "effects": [
        "jest-config"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-jasmine2"
      ],
      "fixAvailable": true
    },
    "jest-resolve-dependencies": {
      "name": "jest-resolve-dependencies",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-snapshot"
      ],
      "effects": [],
      "range": ">=27.0.0-next.0",
      "nodes": [
        "node_modules/jest-resolve-dependencies"
      ],
      "fixAvailable": true
    },
    "jest-runner": {
      "name": "jest-runner",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform",
        "jest-runtime"
      ],
      "effects": [
        "@jest/core",
        "jest-config"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-runner"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jest-runtime": {
      "name": "jest-runtime",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform",
        "jest-snapshot"
      ],
      "effects": [
        "@jest/test-sequencer",
        "jest-circus",
        "jest-jasmine2",
        "jest-runner"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-runtime"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jest-snapshot": {
      "name": "jest-snapshot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform"
      ],
      "effects": [
        "jest-circus",
        "jest-jasmine2",
        "jest-resolve-dependencies",
        "jest-runtime"
      ],
      "range": ">=27.0.0-next.0",
      "nodes": [
        "node_modules/jest-snapshot"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1109754,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "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": "<4.1.1"
        }
      ],
      "effects": [
        "@eslint/eslintrc",
        "@istanbuljs/load-nyc-config",
        "eslint",
        "grunt"
      ],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/eslint-config-wikimedia/node_modules/js-yaml",
        "node_modules/js-yaml",
        "node_modules/mocha/node_modules/js-yaml"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jsdoc": {
      "name": "jsdoc",
      "severity": "high",
      "isDirect": true,
      "via": [
        "taffydb"
      ],
      "effects": [],
      "range": "3.2.0-dev - 3.6.11",
      "nodes": [
        "node_modules/jsdoc"
      ],
      "fixAvailable": {
        "name": "jsdoc",
        "version": "4.0.5",
        "isSemVerMajor": true
      }
    },
    "jsdoc-wmf-theme": {
      "name": "jsdoc-wmf-theme",
      "severity": "high",
      "isDirect": true,
      "via": [
        "taffydb"
      ],
      "effects": [],
      "range": "<=0.0.12",
      "nodes": [
        "node_modules/jsdoc-wmf-theme"
      ],
      "fixAvailable": {
        "name": "jsdoc-wmf-theme",
        "version": "1.1.0",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "tar-fs",
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "10.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "critical",
      "isDirect": false,
      "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"
        },
        "form-data",
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "taffydb": {
      "name": "taffydb",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1089386,
          "name": "taffydb",
          "dependency": "taffydb",
          "title": "TaffyDB can allow access to any data items in the DB",
          "url": "https://github.com/advisories/GHSA-mxhp-79qh-mcx6",
          "severity": "high",
          "cwe": [
            "CWE-20",
            "CWE-668"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<=2.7.3"
        }
      ],
      "effects": [
        "jsdoc",
        "jsdoc-wmf-theme"
      ],
      "range": "*",
      "nodes": [
        "node_modules/taffydb"
      ],
      "fixAvailable": {
        "name": "jsdoc",
        "version": "4.0.5",
        "isSemVerMajor": true
      }
    },
    "tar-fs": {
      "name": "tar-fs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1109532,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball",
          "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-61"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.4"
        },
        {
          "source": 1109543,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs can extract outside the specified dir with a specific tarball",
          "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.3"
        },
        {
          "source": 1109552,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
          "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": ">=2.0.0 <2.1.2"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "2.0.0 - 2.1.3",
      "nodes": [
        "node_modules/tar-fs"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "tmp": {
      "name": "tmp",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1109537,
          "name": "tmp",
          "dependency": "tmp",
          "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
          "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
          "severity": "low",
          "cwe": [
            "CWE-59"
          ],
          "cvss": {
            "score": 2.5,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<=0.2.3"
        }
      ],
      "effects": [
        "external-editor"
      ],
      "range": "<=0.2.3",
      "nodes": [
        "node_modules/tmp"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "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": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "vue-template-compiler": {
      "name": "vue-template-compiler",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1098721,
          "name": "vue-template-compiler",
          "dependency": "vue-template-compiler",
          "title": "vue-template-compiler vulnerable to client-side Cross-Site Scripting (XSS)",
          "url": "https://github.com/advisories/GHSA-g3ch-rx76-35fx",
          "severity": "moderate",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 4.2,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": ">=2.0.0 <3.0.0"
        }
      ],
      "effects": [],
      "range": ">=2.0.0",
      "nodes": [
        "node_modules/vue-template-compiler"
      ],
      "fixAvailable": {
        "name": "vue-template-compiler",
        "version": "0.1.0",
        "isSemVerMajor": true
      }
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "<=5.1.0",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": true,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.46.0",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "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": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/puppeteer-core/node_modules/ws"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 3,
      "moderate": 26,
      "high": 15,
      "critical": 2,
      "total": 46
    },
    "dependencies": {
      "prod": 1,
      "dev": 1285,
      "optional": 3,
      "peer": 14,
      "peerOptional": 0,
      "total": 1285
    }
  }
}

--- 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: 37 installs, 0 updates, 0 removals
  - Locking composer/pcre (1.0.1)
  - Locking composer/semver (3.4.4)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (2.0.5)
  - Locking doctrine/deprecations (1.1.5)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - 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.5.0)
  - Locking opis/json-schema (1.1.0)
  - 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.6.3)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.3.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (2.0.0)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.6.1)
  - Locking symfony/console (v5.4.47)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.33.0)
  - Locking symfony/polyfill-intl-grapheme (v1.33.0)
  - Locking symfony/polyfill-intl-normalizer (v1.33.0)
  - Locking symfony/polyfill-mbstring (v1.33.0)
  - Locking symfony/polyfill-php73 (v1.33.0)
  - Locking symfony/polyfill-php80 (v1.33.0)
  - Locking symfony/service-contracts (v3.6.1)
  - Locking symfony/string (v6.4.26)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.12.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 37 installs, 0 updates, 0 removals
  - Downloading opis/json-schema (1.1.0)
 0/1 [>---------------------------]   0%
 1/1 [============================] 100%
  - Installing composer/pcre (1.0.1): Extracting archive
  - Installing squizlabs/php_codesniffer (3.6.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.33.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.4): 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.33.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.33.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.33.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.33.0): Extracting archive
  - Installing symfony/string (v6.4.26): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.1): Extracting archive
  - Installing symfony/polyfill-php73 (v1.33.0): Extracting archive
  - Installing symfony/console (v5.4.47): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.12.1): Extracting archive
  - Installing phpstan/phpdoc-parser (2.3.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.3): 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 opis/json-schema (1.1.0): 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
  0/37 [>---------------------------]   0%
 25/37 [==================>---------]  67%
 36/37 [===========================>]  97%
 37/37 [============================] 100%
4 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
15 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@eslint/eslintrc": {
      "name": "@eslint/eslintrc",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "eslint"
      ],
      "range": "0.0.1 || 0.1.1 - 1.0.3",
      "nodes": [
        "node_modules/@eslint/eslintrc"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "@istanbuljs/load-nyc-config": {
      "name": "@istanbuljs/load-nyc-config",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "babel-plugin-istanbul"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@istanbuljs/load-nyc-config"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "@jest/core": {
      "name": "@jest/core",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/reporters",
        "@jest/transform",
        "jest-config",
        "jest-resolve-dependencies",
        "jest-runner",
        "jest-runtime",
        "jest-snapshot"
      ],
      "effects": [
        "jest"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/@jest/core"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "@jest/reporters": {
      "name": "@jest/reporters",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform"
      ],
      "effects": [],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/@jest/reporters"
      ],
      "fixAvailable": true
    },
    "@jest/test-sequencer": {
      "name": "@jest/test-sequencer",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-runtime"
      ],
      "effects": [
        "jest-config"
      ],
      "range": "25.1.0 - 28.0.0-alpha.11",
      "nodes": [
        "node_modules/@jest/test-sequencer"
      ],
      "fixAvailable": true
    },
    "@jest/transform": {
      "name": "@jest/transform",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "babel-plugin-istanbul"
      ],
      "effects": [
        "@jest/core",
        "@jest/reporters",
        "jest-runner",
        "jest-runtime",
        "jest-snapshot"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/@jest/transform"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "@vue/vue3-jest": {
      "name": "@vue/vue3-jest",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "babel-jest",
        "jest"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/@vue/vue3-jest"
      ],
      "fixAvailable": false
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "inquirer",
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": "<=9.0.0-alpha.426",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "6.0.4 - 8.46.0",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.46.0",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "babel-jest": {
      "name": "babel-jest",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform",
        "babel-plugin-istanbul"
      ],
      "effects": [
        "@vue/vue3-jest",
        "jest-config"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/babel-jest"
      ],
      "fixAvailable": false
    },
    "babel-plugin-istanbul": {
      "name": "babel-plugin-istanbul",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@istanbuljs/load-nyc-config"
      ],
      "effects": [
        "@jest/transform",
        "babel-jest"
      ],
      "range": ">=6.0.0-beta.0",
      "nodes": [
        "node_modules/babel-plugin-istanbul"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1104663,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "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": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "eslint": {
      "name": "eslint",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@eslint/eslintrc",
        "js-yaml"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": "0.4.0 - 7.32.0",
      "nodes": [
        "node_modules/eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "external-editor": {
      "name": "external-editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "tmp"
      ],
      "effects": [
        "inquirer"
      ],
      "range": ">=1.1.1",
      "nodes": [
        "node_modules/external-editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "form-data": {
      "name": "form-data",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1109540,
          "name": "form-data",
          "dependency": "form-data",
          "title": "form-data uses unsafe random function in form-data for choosing boundary",
          "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
          "severity": "critical",
          "cwe": [
            "CWE-330"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<2.5.4"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<2.5.4",
      "nodes": [
        "node_modules/request/node_modules/form-data"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "grunt": {
      "name": "grunt",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "js-yaml"
      ],
      "effects": [
        "grunt-eslint"
      ],
      "range": ">=0.4.0-a",
      "nodes": [
        "node_modules/grunt"
      ],
      "fixAvailable": {
        "name": "grunt",
        "version": "0.3.17",
        "isSemVerMajor": true
      }
    },
    "grunt-eslint": {
      "name": "grunt-eslint",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "eslint",
        "grunt"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/grunt-eslint"
      ],
      "fixAvailable": {
        "name": "grunt-eslint",
        "version": "18.0.0",
        "isSemVerMajor": true
      }
    },
    "inquirer": {
      "name": "inquirer",
      "severity": "low",
      "isDirect": false,
      "via": [
        "external-editor"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7",
      "nodes": [
        "node_modules/inquirer"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "jest": {
      "name": "jest",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "@jest/core",
        "jest-cli"
      ],
      "effects": [],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jest-circus": {
      "name": "jest-circus",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-runtime",
        "jest-snapshot"
      ],
      "effects": [
        "jest-config"
      ],
      "range": ">=25.2.4",
      "nodes": [
        "node_modules/jest-circus"
      ],
      "fixAvailable": true
    },
    "jest-cli": {
      "name": "jest-cli",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/core",
        "jest-config"
      ],
      "effects": [],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest/node_modules/jest-cli"
      ],
      "fixAvailable": true
    },
    "jest-config": {
      "name": "jest-config",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/test-sequencer",
        "babel-jest",
        "jest-circus",
        "jest-jasmine2",
        "jest-runner"
      ],
      "effects": [
        "jest-cli"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-config"
      ],
      "fixAvailable": true
    },
    "jest-jasmine2": {
      "name": "jest-jasmine2",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-runtime",
        "jest-snapshot"
      ],
      "effects": [
        "jest-config"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-jasmine2"
      ],
      "fixAvailable": true
    },
    "jest-resolve-dependencies": {
      "name": "jest-resolve-dependencies",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "jest-snapshot"
      ],
      "effects": [],
      "range": ">=27.0.0-next.0",
      "nodes": [
        "node_modules/jest-resolve-dependencies"
      ],
      "fixAvailable": true
    },
    "jest-runner": {
      "name": "jest-runner",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform",
        "jest-runtime"
      ],
      "effects": [
        "@jest/core",
        "jest-config"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-runner"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jest-runtime": {
      "name": "jest-runtime",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform",
        "jest-snapshot"
      ],
      "effects": [
        "@jest/test-sequencer",
        "jest-circus",
        "jest-jasmine2",
        "jest-runner"
      ],
      "range": ">=25.1.0",
      "nodes": [
        "node_modules/jest-runtime"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jest-snapshot": {
      "name": "jest-snapshot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "@jest/transform"
      ],
      "effects": [
        "jest-circus",
        "jest-jasmine2",
        "jest-resolve-dependencies",
        "jest-runtime"
      ],
      "range": ">=27.0.0-next.0",
      "nodes": [
        "node_modules/jest-snapshot"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "js-yaml": {
      "name": "js-yaml",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1109754,
          "name": "js-yaml",
          "dependency": "js-yaml",
          "title": "js-yaml has prototype pollution in merge (<<)",
          "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "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": "<4.1.1"
        }
      ],
      "effects": [
        "@eslint/eslintrc",
        "@istanbuljs/load-nyc-config",
        "eslint",
        "grunt"
      ],
      "range": "<4.1.1",
      "nodes": [
        "node_modules/eslint-config-wikimedia/node_modules/js-yaml",
        "node_modules/js-yaml",
        "node_modules/mocha/node_modules/js-yaml"
      ],
      "fixAvailable": {
        "name": "jest",
        "version": "25.0.0",
        "isSemVerMajor": true
      }
    },
    "jsdoc": {
      "name": "jsdoc",
      "severity": "high",
      "isDirect": true,
      "via": [
        "taffydb"
      ],
      "effects": [],
      "range": "3.2.0-dev - 3.6.11",
      "nodes": [
        "node_modules/jsdoc"
      ],
      "fixAvailable": {
        "name": "jsdoc",
        "version": "4.0.5",
        "isSemVerMajor": true
      }
    },
    "jsdoc-wmf-theme": {
      "name": "jsdoc-wmf-theme",
      "severity": "high",
      "isDirect": true,
      "via": [
        "taffydb"
      ],
      "effects": [],
      "range": "<=0.0.12",
      "nodes": [
        "node_modules/jsdoc-wmf-theme"
      ],
      "fixAvailable": {
        "name": "jsdoc-wmf-theme",
        "version": "1.1.0",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "tar-fs",
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "10.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "critical",
      "isDirect": false,
      "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"
        },
        "form-data",
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "taffydb": {
      "name": "taffydb",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1089386,
          "name": "taffydb",
          "dependency": "taffydb",
          "title": "TaffyDB can allow access to any data items in the DB",
          "url": "https://github.com/advisories/GHSA-mxhp-79qh-mcx6",
          "severity": "high",
          "cwe": [
            "CWE-20",
            "CWE-668"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
          },
          "range": "<=2.7.3"
        }
      ],
      "effects": [
        "jsdoc",
        "jsdoc-wmf-theme"
      ],
      "range": "*",
      "nodes": [
        "node_modules/taffydb"
      ],
      "fixAvailable": {
        "name": "jsdoc-wmf-theme",
        "version": "1.1.0",
        "isSemVerMajor": true
      }
    },
    "tar-fs": {
      "name": "tar-fs",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1109532,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball",
          "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v",
          "severity": "high",
          "cwe": [
            "CWE-22",
            "CWE-61"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.4"
        },
        {
          "source": 1109543,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs can extract outside the specified dir with a specific tarball",
          "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": ">=2.0.0 <2.1.3"
        },
        {
          "source": 1109552,
          "name": "tar-fs",
          "dependency": "tar-fs",
          "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
          "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
          "severity": "high",
          "cwe": [
            "CWE-22"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
          },
          "range": ">=2.0.0 <2.1.2"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "2.0.0 - 2.1.3",
      "nodes": [
        "node_modules/tar-fs"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "tmp": {
      "name": "tmp",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1109537,
          "name": "tmp",
          "dependency": "tmp",
          "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
          "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
          "severity": "low",
          "cwe": [
            "CWE-59"
          ],
          "cvss": {
            "score": 2.5,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<=0.2.3"
        }
      ],
      "effects": [
        "external-editor"
      ],
      "range": "<=0.2.3",
      "nodes": [
        "node_modules/tmp"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "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": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "vue-template-compiler": {
      "name": "vue-template-compiler",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        {
          "source": 1098721,
          "name": "vue-template-compiler",
          "dependency": "vue-template-compiler",
          "title": "vue-template-compiler vulnerable to client-side Cross-Site Scripting (XSS)",
          "url": "https://github.com/advisories/GHSA-g3ch-rx76-35fx",
          "severity": "moderate",
          "cwe": [
            "CWE-79"
          ],
          "cvss": {
            "score": 4.2,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": ">=2.0.0 <3.0.0"
        }
      ],
      "effects": [],
      "range": ">=2.0.0",
      "nodes": [
        "node_modules/vue-template-compiler"
      ],
      "fixAvailable": {
        "name": "vue-template-compiler",
        "version": "0.1.0",
        "isSemVerMajor": true
      }
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "<=5.1.0",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": {
        "name": "wdio-mediawiki",
        "version": "6.0.0",
        "isSemVerMajor": true
      }
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": true,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.46.0",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "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": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/puppeteer-core/node_modules/ws"
      ],
      "fixAvailable": {
        "name": "webdriverio",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.20.0",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 3,
      "moderate": 26,
      "high": 15,
      "critical": 2,
      "total": 46
    },
    "dependencies": {
      "prod": 1,
      "dev": 1285,
      "optional": 3,
      "peer": 14,
      "peerOptional": 0,
      "total": 1285
    }
  }
}

--- 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: '@es-joy/jsdoccomment@0.20.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', 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: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 1272,
  "removed": 0,
  "changed": 0,
  "audited": 1273,
  "funding": 121,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@eslint/eslintrc": {
        "name": "@eslint/eslintrc",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "js-yaml"
        ],
        "effects": [
          "eslint"
        ],
        "range": "0.0.1 || 0.1.1 - 1.0.3",
        "nodes": [
          "node_modules/@eslint/eslintrc"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "26.0.0",
          "isSemVerMajor": true
        }
      },
      "@istanbuljs/load-nyc-config": {
        "name": "@istanbuljs/load-nyc-config",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "js-yaml"
        ],
        "effects": [
          "babel-plugin-istanbul"
        ],
        "range": "*",
        "nodes": [
          "node_modules/@istanbuljs/load-nyc-config"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "@jest/core": {
        "name": "@jest/core",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/reporters",
          "@jest/transform",
          "jest-config",
          "jest-resolve-dependencies",
          "jest-runner",
          "jest-runtime",
          "jest-snapshot"
        ],
        "effects": [
          "jest",
          "jest-cli"
        ],
        "range": ">=25.1.0",
        "nodes": [
          "",
          "node_modules/@jest/core"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "@jest/reporters": {
        "name": "@jest/reporters",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/transform"
        ],
        "effects": [],
        "range": ">=25.1.0",
        "nodes": [
          "",
          "node_modules/@jest/reporters"
        ],
        "fixAvailable": true
      },
      "@jest/test-sequencer": {
        "name": "@jest/test-sequencer",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "jest-runtime"
        ],
        "effects": [
          "jest-config"
        ],
        "range": "25.1.0 - 28.0.0-alpha.11",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "@jest/transform": {
        "name": "@jest/transform",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "babel-plugin-istanbul"
        ],
        "effects": [
          "@jest/core",
          "@jest/reporters",
          "jest-runner",
          "jest-runtime",
          "jest-snapshot"
        ],
        "range": ">=25.1.0",
        "nodes": [
          "",
          "node_modules/@jest/transform"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "@vue/vue3-jest": {
        "name": "@vue/vue3-jest",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "babel-jest",
          "jest"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/@vue/vue3-jest"
        ],
        "fixAvailable": false
      },
      "@wdio/cli": {
        "name": "@wdio/cli",
        "severity": "high",
        "isDirect": true,
        "via": [
          "inquirer",
          "webdriverio",
          "yarn-install"
        ],
        "effects": [
          "@wdio/junit-reporter",
          "@wdio/local-runner",
          "@wdio/spec-reporter"
        ],
        "range": "<=9.0.0-alpha.426",
        "nodes": [
          "node_modules/@wdio/cli"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/junit-reporter": {
        "name": "@wdio/junit-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/junit-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/junit-reporter",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/local-runner": {
        "name": "@wdio/local-runner",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "effects": [],
        "range": "6.0.4 - 8.46.0",
        "nodes": [
          "node_modules/@wdio/local-runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/runner": {
        "name": "@wdio/runner",
        "severity": "high",
        "isDirect": false,
        "via": [
          "webdriverio"
        ],
        "effects": [
          "@wdio/local-runner"
        ],
        "range": "7.16.5 - 8.46.0",
        "nodes": [
          "node_modules/@wdio/runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/spec-reporter": {
        "name": "@wdio/spec-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/spec-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/spec-reporter",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "babel-jest": {
        "name": "babel-jest",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/transform",
          "babel-plugin-istanbul"
        ],
        "effects": [
          "@vue/vue3-jest",
          "jest-config"
        ],
        "range": ">=25.1.0",
        "nodes": [
          "",
          "node_modules/babel-jest"
        ],
        "fixAvailable": false
      },
      "babel-plugin-istanbul": {
        "name": "babel-plugin-istanbul",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@istanbuljs/load-nyc-config"
        ],
        "effects": [
          "@jest/transform",
          "babel-jest"
        ],
        "range": ">=6.0.0-beta.0",
        "nodes": [
          "node_modules/babel-plugin-istanbul"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "cross-spawn": {
        "name": "cross-spawn",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1104663,
            "name": "cross-spawn",
            "dependency": "cross-spawn",
            "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
            "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
            "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": "<6.0.6"
          }
        ],
        "effects": [
          "yarn-install"
        ],
        "range": "<6.0.6",
        "nodes": [
          "node_modules/cross-spawn"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "devtools": {
        "name": "devtools",
        "severity": "high",
        "isDirect": false,
        "via": [
          "puppeteer-core"
        ],
        "effects": [],
        "range": ">=7.16.5",
        "nodes": [
          "node_modules/devtools"
        ],
        "fixAvailable": true
      },
      "eslint": {
        "name": "eslint",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@eslint/eslintrc",
          "js-yaml"
        ],
        "effects": [
          "grunt-eslint"
        ],
        "range": "0.4.0 - 7.32.0",
        "nodes": [
          "node_modules/eslint"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "26.0.0",
          "isSemVerMajor": true
        }
      },
      "external-editor": {
        "name": "external-editor",
        "severity": "low",
        "isDirect": false,
        "via": [
          "tmp"
        ],
        "effects": [
          "inquirer"
        ],
        "range": ">=1.1.1",
        "nodes": [
          "node_modules/external-editor"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "form-data": {
        "name": "form-data",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1109540,
            "name": "form-data",
            "dependency": "form-data",
            "title": "form-data uses unsafe random function in form-data for choosing boundary",
            "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
            "severity": "critical",
            "cwe": [
              "CWE-330"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<2.5.4"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<2.5.4",
        "nodes": [
          "node_modules/request/node_modules/form-data"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.0.0",
          "isSemVerMajor": true
        }
      },
      "grunt": {
        "name": "grunt",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "js-yaml"
        ],
        "effects": [
          "grunt-eslint"
        ],
        "range": ">=0.4.0-a",
        "nodes": [
          "node_modules/grunt"
        ],
        "fixAvailable": {
          "name": "grunt",
          "version": "0.3.17",
          "isSemVerMajor": true
        }
      },
      "grunt-eslint": {
        "name": "grunt-eslint",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "eslint",
          "grunt"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/grunt-eslint"
        ],
        "fixAvailable": {
          "name": "grunt-eslint",
          "version": "26.0.0",
          "isSemVerMajor": true
        }
      },
      "inquirer": {
        "name": "inquirer",
        "severity": "low",
        "isDirect": false,
        "via": [
          "external-editor"
        ],
        "effects": [
          "@wdio/cli"
        ],
        "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7",
        "nodes": [
          "node_modules/inquirer"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "jest": {
        "name": "jest",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "@jest/core",
          "jest-cli"
        ],
        "effects": [],
        "range": ">=25.1.0",
        "nodes": [
          "node_modules/jest"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "jest-circus": {
        "name": "jest-circus",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "jest-runtime",
          "jest-snapshot"
        ],
        "effects": [
          "jest-config"
        ],
        "range": ">=25.2.4",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "jest-cli": {
        "name": "jest-cli",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/core",
          "jest-config"
        ],
        "effects": [],
        "range": ">=25.1.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "jest-config": {
        "name": "jest-config",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/test-sequencer",
          "babel-jest",
          "jest-circus",
          "jest-jasmine2",
          "jest-runner"
        ],
        "effects": [],
        "range": ">=25.1.0",
        "nodes": [
          "",
          "node_modules/jest-config"
        ],
        "fixAvailable": true
      },
      "jest-jasmine2": {
        "name": "jest-jasmine2",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "jest-runtime",
          "jest-snapshot"
        ],
        "effects": [
          "jest-config"
        ],
        "range": ">=25.1.0",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      },
      "jest-resolve-dependencies": {
        "name": "jest-resolve-dependencies",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "jest-snapshot"
        ],
        "effects": [],
        "range": ">=27.0.0-next.0",
        "nodes": [
          "",
          "node_modules/jest-resolve-dependencies"
        ],
        "fixAvailable": true
      },
      "jest-runner": {
        "name": "jest-runner",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/transform",
          "jest-runtime"
        ],
        "effects": [
          "@jest/core",
          "jest-config"
        ],
        "range": ">=25.1.0",
        "nodes": [
          "",
          "node_modules/jest-runner"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "jest-runtime": {
        "name": "jest-runtime",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/transform",
          "jest-snapshot"
        ],
        "effects": [
          "@jest/test-sequencer",
          "jest-circus",
          "jest-jasmine2",
          "jest-runner"
        ],
        "range": ">=25.1.0",
        "nodes": [
          "",
          "node_modules/jest-runtime"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "jest-snapshot": {
        "name": "jest-snapshot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "@jest/transform"
        ],
        "effects": [
          "jest-circus",
          "jest-jasmine2",
          "jest-resolve-dependencies",
          "jest-runtime"
        ],
        "range": ">=27.0.0-next.0",
        "nodes": [
          "",
          "node_modules/jest-snapshot"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "js-yaml": {
        "name": "js-yaml",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1109754,
            "name": "js-yaml",
            "dependency": "js-yaml",
            "title": "js-yaml has prototype pollution in merge (<<)",
            "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "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": "<4.1.1"
          }
        ],
        "effects": [
          "@eslint/eslintrc",
          "@istanbuljs/load-nyc-config",
          "eslint",
          "grunt"
        ],
        "range": "<4.1.1",
        "nodes": [
          "",
          "",
          "",
          "node_modules/js-yaml"
        ],
        "fixAvailable": {
          "name": "jest",
          "version": "25.0.0",
          "isSemVerMajor": true
        }
      },
      "jsdoc": {
        "name": "jsdoc",
        "severity": "high",
        "isDirect": true,
        "via": [
          "taffydb"
        ],
        "effects": [],
        "range": "3.2.0-dev - 3.6.11",
        "nodes": [
          "node_modules/jsdoc"
        ],
        "fixAvailable": {
          "name": "jsdoc",
          "version": "4.0.5",
          "isSemVerMajor": true
        }
      },
      "jsdoc-wmf-theme": {
        "name": "jsdoc-wmf-theme",
        "severity": "high",
        "isDirect": true,
        "via": [
          "taffydb"
        ],
        "effects": [],
        "range": "<=0.0.12",
        "nodes": [
          "node_modules/jsdoc-wmf-theme"
        ],
        "fixAvailable": {
          "name": "jsdoc-wmf-theme",
          "version": "1.1.0",
          "isSemVerMajor": true
        }
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.0.0",
          "isSemVerMajor": true
        }
      },
      "puppeteer-core": {
        "name": "puppeteer-core",
        "severity": "high",
        "isDirect": false,
        "via": [
          "tar-fs",
          "ws"
        ],
        "effects": [
          "devtools",
          "webdriverio"
        ],
        "range": "10.0.0 - 22.11.1",
        "nodes": [
          "node_modules/puppeteer-core"
        ],
        "fixAvailable": {
          "name": "webdriverio",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "request": {
        "name": "request",
        "severity": "critical",
        "isDirect": false,
        "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"
          },
          "form-data",
          "tough-cookie"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.0.0",
          "isSemVerMajor": true
        }
      },
      "taffydb": {
        "name": "taffydb",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1089386,
            "name": "taffydb",
            "dependency": "taffydb",
            "title": "TaffyDB can allow access to any data items in the DB",
            "url": "https://github.com/advisories/GHSA-mxhp-79qh-mcx6",
            "severity": "high",
            "cwe": [
              "CWE-20",
              "CWE-668"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"
            },
            "range": "<=2.7.3"
          }
        ],
        "effects": [
          "jsdoc",
          "jsdoc-wmf-theme"
        ],
        "range": "*",
        "nodes": [
          "node_modules/taffydb"
        ],
        "fixAvailable": {
          "name": "jsdoc",
          "version": "4.0.5",
          "isSemVerMajor": true
        }
      },
      "tar-fs": {
        "name": "tar-fs",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1109532,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball",
            "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v",
            "severity": "high",
            "cwe": [
              "CWE-22",
              "CWE-61"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=2.0.0 <2.1.4"
          },
          {
            "source": 1109543,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs can extract outside the specified dir with a specific tarball",
            "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v",
            "severity": "high",
            "cwe": [
              "CWE-22"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": ">=2.0.0 <2.1.3"
          },
          {
            "source": 1109552,
            "name": "tar-fs",
            "dependency": "tar-fs",
            "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File",
            "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx",
            "severity": "high",
            "cwe": [
              "CWE-22"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"
            },
            "range": ">=2.0.0 <2.1.2"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "2.0.0 - 2.1.3",
        "nodes": [
          "node_modules/tar-fs"
        ],
        "fixAvailable": {
          "name": "webdriverio",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "tmp": {
        "name": "tmp",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1109537,
            "name": "tmp",
            "dependency": "tmp",
            "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
            "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
            "severity": "low",
            "cwe": [
              "CWE-59"
            ],
            "cvss": {
              "score": 2.5,
              "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<=0.2.3"
          }
        ],
        "effects": [
          "external-editor"
        ],
        "range": "<=0.2.3",
        "nodes": [
          "node_modules/tmp"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097682,
            "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": "6.0.0",
          "isSemVerMajor": true
        }
      },
      "vue-template-compiler": {
        "name": "vue-template-compiler",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          {
            "source": 1098721,
            "name": "vue-template-compiler",
            "dependency": "vue-template-compiler",
            "title": "vue-template-compiler vulnerable to client-side Cross-Site Scripting (XSS)",
            "url": "https://github.com/advisories/GHSA-g3ch-rx76-35fx",
            "severity": "moderate",
            "cwe": [
              "CWE-79"
            ],
            "cvss": {
              "score": 4.2,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": ">=2.0.0 <3.0.0"
          }
        ],
        "effects": [],
        "range": ">=2.0.0",
        "nodes": [
          "node_modules/vue-template-compiler"
        ],
        "fixAvailable": {
          "name": "vue-template-compiler",
          "version": "0.1.0",
          "isSemVerMajor": true
        }
      },
      "wdio-mediawiki": {
        "name": "wdio-mediawiki",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mwbot"
        ],
        "effects": [],
        "range": "<=5.1.0",
        "nodes": [
          "node_modules/wdio-mediawiki"
        ],
        "fixAvailable": {
          "name": "wdio-mediawiki",
          "version": "6.0.0",
          "isSemVerMajor": true
        }
      },
      "webdriverio": {
        "name": "webdriverio",
        "severity": "high",
        "isDirect": true,
        "via": [
          "devtools",
          "puppeteer-core"
        ],
        "effects": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "range": "7.16.5 - 8.46.0",
        "nodes": [
          "node_modules/webdriverio"
        ],
        "fixAvailable": {
          "name": "webdriverio",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "ws": {
        "name": "ws",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098392,
            "name": "ws",
            "dependency": "ws",
            "title": "ws affected by a DoS when handling a request with many HTTP headers",
            "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
            "severity": "high",
            "cwe": [
              "CWE-476"
            ],
            "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": ">=8.0.0 <8.17.1"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "8.0.0 - 8.17.0",
        "nodes": [
          "node_modules/puppeteer-core/node_modules/ws"
        ],
        "fixAvailable": {
          "name": "webdriverio",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      },
      "yarn-install": {
        "name": "yarn-install",
        "severity": "high",
        "isDirect": false,
        "via": [
          "cross-spawn"
        ],
        "effects": [
          "@wdio/cli"
        ],
        "range": "*",
        "nodes": [
          "node_modules/yarn-install"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.20.0",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 3,
        "moderate": 26,
        "high": 15,
        "critical": 2,
        "total": 46
      },
      "dependencies": {
        "prod": 1,
        "dev": 1272,
        "optional": 3,
        "peer": 14,
        "peerOptional": 0,
        "total": 1272
      }
    }
  }
}

--- end ---
{"added": 1272, "removed": 0, "changed": 0, "audited": 1273, "funding": 121, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@eslint/eslintrc": {"name": "@eslint/eslintrc", "severity": "moderate", "isDirect": false, "via": ["js-yaml"], "effects": ["eslint"], "range": "0.0.1 || 0.1.1 - 1.0.3", "nodes": ["node_modules/@eslint/eslintrc"], "fixAvailable": {"name": "grunt-eslint", "version": "26.0.0", "isSemVerMajor": true}}, "@istanbuljs/load-nyc-config": {"name": "@istanbuljs/load-nyc-config", "severity": "moderate", "isDirect": false, "via": ["js-yaml"], "effects": ["babel-plugin-istanbul"], "range": "*", "nodes": ["node_modules/@istanbuljs/load-nyc-config"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "@jest/core": {"name": "@jest/core", "severity": "moderate", "isDirect": false, "via": ["@jest/reporters", "@jest/transform", "jest-config", "jest-resolve-dependencies", "jest-runner", "jest-runtime", "jest-snapshot"], "effects": ["jest", "jest-cli"], "range": ">=25.1.0", "nodes": ["", "node_modules/@jest/core"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "@jest/reporters": {"name": "@jest/reporters", "severity": "moderate", "isDirect": false, "via": ["@jest/transform"], "effects": [], "range": ">=25.1.0", "nodes": ["", "node_modules/@jest/reporters"], "fixAvailable": true}, "@jest/test-sequencer": {"name": "@jest/test-sequencer", "severity": "moderate", "isDirect": false, "via": ["jest-runtime"], "effects": ["jest-config"], "range": "25.1.0 - 28.0.0-alpha.11", "nodes": [""], "fixAvailable": true}, "@jest/transform": {"name": "@jest/transform", "severity": "moderate", "isDirect": false, "via": ["babel-plugin-istanbul"], "effects": ["@jest/core", "@jest/reporters", "jest-runner", "jest-runtime", "jest-snapshot"], "range": ">=25.1.0", "nodes": ["", "node_modules/@jest/transform"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "@vue/vue3-jest": {"name": "@vue/vue3-jest", "severity": "moderate", "isDirect": true, "via": ["babel-jest", "jest"], "effects": [], "range": "*", "nodes": ["node_modules/@vue/vue3-jest"], "fixAvailable": false}, "@wdio/cli": {"name": "@wdio/cli", "severity": "high", "isDirect": true, "via": ["inquirer", "webdriverio", "yarn-install"], "effects": ["@wdio/junit-reporter", "@wdio/local-runner", "@wdio/spec-reporter"], "range": "<=9.0.0-alpha.426", "nodes": ["node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.20.0", "isSemVerMajor": true}}, "@wdio/junit-reporter": {"name": "@wdio/junit-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/junit-reporter"], "fixAvailable": {"name": "@wdio/junit-reporter", "version": "9.20.0", "isSemVerMajor": true}}, "@wdio/local-runner": {"name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": ["@wdio/cli", "@wdio/runner"], "effects": [], "range": "6.0.4 - 8.46.0", "nodes": ["node_modules/@wdio/local-runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.20.0", "isSemVerMajor": true}}, "@wdio/runner": {"name": "@wdio/runner", "severity": "high", "isDirect": false, "via": ["webdriverio"], "effects": ["@wdio/local-runner"], "range": "7.16.5 - 8.46.0", "nodes": ["node_modules/@wdio/runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.20.0", "isSemVerMajor": true}}, "@wdio/spec-reporter": {"name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/spec-reporter"], "fixAvailable": {"name": "@wdio/spec-reporter", "version": "9.20.0", "isSemVerMajor": true}}, "babel-jest": {"name": "babel-jest", "severity": "moderate", "isDirect": false, "via": ["@jest/transform", "babel-plugin-istanbul"], "effects": ["@vue/vue3-jest", "jest-config"], "range": ">=25.1.0", "nodes": ["", "node_modules/babel-jest"], "fixAvailable": false}, "babel-plugin-istanbul": {"name": "babel-plugin-istanbul", "severity": "moderate", "isDirect": false, "via": ["@istanbuljs/load-nyc-config"], "effects": ["@jest/transform", "babel-jest"], "range": ">=6.0.0-beta.0", "nodes": ["node_modules/babel-plugin-istanbul"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "cross-spawn": {"name": "cross-spawn", "severity": "high", "isDirect": false, "via": [{"source": 1104663, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "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": "<6.0.6"}], "effects": ["yarn-install"], "range": "<6.0.6", "nodes": ["node_modules/cross-spawn"], "fixAvailable": {"name": "@wdio/cli", "version": "9.20.0", "isSemVerMajor": true}}, "devtools": {"name": "devtools", "severity": "high", "isDirect": false, "via": ["puppeteer-core"], "effects": [], "range": ">=7.16.5", "nodes": ["node_modules/devtools"], "fixAvailable": true}, "eslint": {"name": "eslint", "severity": "moderate", "isDirect": false, "via": ["@eslint/eslintrc", "js-yaml"], "effects": ["grunt-eslint"], "range": "0.4.0 - 7.32.0", "nodes": ["node_modules/eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "26.0.0", "isSemVerMajor": true}}, "external-editor": {"name": "external-editor", "severity": "low", "isDirect": false, "via": ["tmp"], "effects": ["inquirer"], "range": ">=1.1.1", "nodes": ["node_modules/external-editor"], "fixAvailable": {"name": "@wdio/cli", "version": "9.20.0", "isSemVerMajor": true}}, "form-data": {"name": "form-data", "severity": "critical", "isDirect": false, "via": [{"source": 1109540, "name": "form-data", "dependency": "form-data", "title": "form-data uses unsafe random function in form-data for choosing boundary", "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4", "severity": "critical", "cwe": ["CWE-330"], "cvss": {"score": 0, "vectorString": null}, "range": "<2.5.4"}], "effects": ["request"], "range": "<2.5.4", "nodes": ["node_modules/request/node_modules/form-data"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.0.0", "isSemVerMajor": true}}, "grunt": {"name": "grunt", "severity": "moderate", "isDirect": true, "via": ["js-yaml"], "effects": ["grunt-eslint"], "range": ">=0.4.0-a", "nodes": ["node_modules/grunt"], "fixAvailable": {"name": "grunt", "version": "0.3.17", "isSemVerMajor": true}}, "grunt-eslint": {"name": "grunt-eslint", "severity": "moderate", "isDirect": true, "via": ["eslint", "grunt"], "effects": [], "range": "*", "nodes": ["node_modules/grunt-eslint"], "fixAvailable": {"name": "grunt-eslint", "version": "26.0.0", "isSemVerMajor": true}}, "inquirer": {"name": "inquirer", "severity": "low", "isDirect": false, "via": ["external-editor"], "effects": ["@wdio/cli"], "range": "3.0.0 - 8.2.6 || 9.0.0 - 9.3.7", "nodes": ["node_modules/inquirer"], "fixAvailable": {"name": "@wdio/cli", "version": "9.20.0", "isSemVerMajor": true}}, "jest": {"name": "jest", "severity": "moderate", "isDirect": true, "via": ["@jest/core", "jest-cli"], "effects": [], "range": ">=25.1.0", "nodes": ["node_modules/jest"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "jest-circus": {"name": "jest-circus", "severity": "moderate", "isDirect": false, "via": ["jest-runtime", "jest-snapshot"], "effects": ["jest-config"], "range": ">=25.2.4", "nodes": [""], "fixAvailable": true}, "jest-cli": {"name": "jest-cli", "severity": "moderate", "isDirect": false, "via": ["@jest/core", "jest-config"], "effects": [], "range": ">=25.1.0", "nodes": [""], "fixAvailable": true}, "jest-config": {"name": "jest-config", "severity": "moderate", "isDirect": false, "via": ["@jest/test-sequencer", "babel-jest", "jest-circus", "jest-jasmine2", "jest-runner"], "effects": [], "range": ">=25.1.0", "nodes": ["", "node_modules/jest-config"], "fixAvailable": true}, "jest-jasmine2": {"name": "jest-jasmine2", "severity": "moderate", "isDirect": false, "via": ["jest-runtime", "jest-snapshot"], "effects": ["jest-config"], "range": ">=25.1.0", "nodes": [""], "fixAvailable": true}, "jest-resolve-dependencies": {"name": "jest-resolve-dependencies", "severity": "moderate", "isDirect": false, "via": ["jest-snapshot"], "effects": [], "range": ">=27.0.0-next.0", "nodes": ["", "node_modules/jest-resolve-dependencies"], "fixAvailable": true}, "jest-runner": {"name": "jest-runner", "severity": "moderate", "isDirect": false, "via": ["@jest/transform", "jest-runtime"], "effects": ["@jest/core", "jest-config"], "range": ">=25.1.0", "nodes": ["", "node_modules/jest-runner"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "jest-runtime": {"name": "jest-runtime", "severity": "moderate", "isDirect": false, "via": ["@jest/transform", "jest-snapshot"], "effects": ["@jest/test-sequencer", "jest-circus", "jest-jasmine2", "jest-runner"], "range": ">=25.1.0", "nodes": ["", "node_modules/jest-runtime"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "jest-snapshot": {"name": "jest-snapshot", "severity": "moderate", "isDirect": false, "via": ["@jest/transform"], "effects": ["jest-circus", "jest-jasmine2", "jest-resolve-dependencies", "jest-runtime"], "range": ">=27.0.0-next.0", "nodes": ["", "node_modules/jest-snapshot"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "js-yaml": {"name": "js-yaml", "severity": "moderate", "isDirect": false, "via": [{"source": 1109754, "name": "js-yaml", "dependency": "js-yaml", "title": "js-yaml has prototype pollution in merge (<<)", "url": "https://github.com/advisories/GHSA-mh29-5h37-fv8m", "severity": "moderate", "cwe": ["CWE-1321"], "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": "<4.1.1"}], "effects": ["@eslint/eslintrc", "@istanbuljs/load-nyc-config", "eslint", "grunt"], "range": "<4.1.1", "nodes": ["", "", "", "node_modules/js-yaml"], "fixAvailable": {"name": "jest", "version": "25.0.0", "isSemVerMajor": true}}, "jsdoc": {"name": "jsdoc", "severity": "high", "isDirect": true, "via": ["taffydb"], "effects": [], "range": "3.2.0-dev - 3.6.11", "nodes": ["node_modules/jsdoc"], "fixAvailable": {"name": "jsdoc", "version": "4.0.5", "isSemVerMajor": true}}, "jsdoc-wmf-theme": {"name": "jsdoc-wmf-theme", "severity": "high", "isDirect": true, "via": ["taffydb"], "effects": [], "range": "<=0.0.12", "nodes": ["node_modules/jsdoc-wmf-theme"], "fixAvailable": {"name": "jsdoc-wmf-theme", "version": "1.1.0", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.0.0", "isSemVerMajor": true}}, "puppeteer-core": {"name": "puppeteer-core", "severity": "high", "isDirect": false, "via": ["tar-fs", "ws"], "effects": ["devtools", "webdriverio"], "range": "10.0.0 - 22.11.1", "nodes": ["node_modules/puppeteer-core"], "fixAvailable": {"name": "webdriverio", "version": "9.20.0", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "critical", "isDirect": false, "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"}, "form-data", "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.0.0", "isSemVerMajor": true}}, "taffydb": {"name": "taffydb", "severity": "high", "isDirect": false, "via": [{"source": 1089386, "name": "taffydb", "dependency": "taffydb", "title": "TaffyDB can allow access to any data items in the DB", "url": "https://github.com/advisories/GHSA-mxhp-79qh-mcx6", "severity": "high", "cwe": ["CWE-20", "CWE-668"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N"}, "range": "<=2.7.3"}], "effects": ["jsdoc", "jsdoc-wmf-theme"], "range": "*", "nodes": ["node_modules/taffydb"], "fixAvailable": {"name": "jsdoc", "version": "4.0.5", "isSemVerMajor": true}}, "tar-fs": {"name": "tar-fs", "severity": "high", "isDirect": false, "via": [{"source": 1109532, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball", "url": "https://github.com/advisories/GHSA-vj76-c3g6-qr5v", "severity": "high", "cwe": ["CWE-22", "CWE-61"], "cvss": {"score": 0, "vectorString": null}, "range": ">=2.0.0 <2.1.4"}, {"source": 1109543, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs can extract outside the specified dir with a specific tarball", "url": "https://github.com/advisories/GHSA-8cj5-5rvv-wf4v", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 0, "vectorString": null}, "range": ">=2.0.0 <2.1.3"}, {"source": 1109552, "name": "tar-fs", "dependency": "tar-fs", "title": "tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File", "url": "https://github.com/advisories/GHSA-pq67-2wwv-3xjx", "severity": "high", "cwe": ["CWE-22"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}, "range": ">=2.0.0 <2.1.2"}], "effects": ["puppeteer-core"], "range": "2.0.0 - 2.1.3", "nodes": ["node_modules/tar-fs"], "fixAvailable": {"name": "webdriverio", "version": "9.20.0", "isSemVerMajor": true}}, "tmp": {"name": "tmp", "severity": "low", "isDirect": false, "via": [{"source": 1109537, "name": "tmp", "dependency": "tmp", "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter", "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6", "severity": "low", "cwe": ["CWE-59"], "cvss": {"score": 2.5, "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<=0.2.3"}], "effects": ["external-editor"], "range": "<=0.2.3", "nodes": ["node_modules/tmp"], "fixAvailable": {"name": "@wdio/cli", "version": "9.20.0", "isSemVerMajor": true}}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "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": "6.0.0", "isSemVerMajor": true}}, "vue-template-compiler": {"name": "vue-template-compiler", "severity": "moderate", "isDirect": true, "via": [{"source": 1098721, "name": "vue-template-compiler", "dependency": "vue-template-compiler", "title": "vue-template-compiler vulnerable to client-side Cross-Site Scripting (XSS)", "url": "https://github.com/advisories/GHSA-g3ch-rx76-35fx", "severity": "moderate", "cwe": ["CWE-79"], "cvss": {"score": 4.2, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:L/A:N"}, "range": ">=2.0.0 <3.0.0"}], "effects": [], "range": ">=2.0.0", "nodes": ["node_modules/vue-template-compiler"], "fixAvailable": {"name": "vue-template-compiler", "version": "0.1.0", "isSemVerMajor": true}}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "<=5.1.0", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": {"name": "wdio-mediawiki", "version": "6.0.0", "isSemVerMajor": true}}, "webdriverio": {"name": "webdriverio", "severity": "high", "isDirect": true, "via": ["devtools", "puppeteer-core"], "effects": ["@wdio/cli", "@wdio/runner"], "range": "7.16.5 - 8.46.0", "nodes": ["node_modules/webdriverio"], "fixAvailable": {"name": "webdriverio", "version": "9.20.0", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "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": ">=8.0.0 <8.17.1"}], "effects": ["puppeteer-core"], "range": "8.0.0 - 8.17.0", "nodes": ["node_modules/puppeteer-core/node_modules/ws"], "fixAvailable": {"name": "webdriverio", "version": "9.20.0", "isSemVerMajor": true}}, "yarn-install": {"name": "yarn-install", "severity": "high", "isDirect": false, "via": ["cross-spawn"], "effects": ["@wdio/cli"], "range": "*", "nodes": ["node_modules/yarn-install"], "fixAvailable": {"name": "@wdio/cli", "version": "9.20.0", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 3, "moderate": 26, "high": 15, "critical": 2, "total": 46}, "dependencies": {"prod": 1, "dev": 1272, "optional": 3, "peer": 14, "peerOptional": 0, "total": 1272}}}}
$ /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: '@es-joy/jsdoccomment@0.20.1',
npm WARN EBADENGINE   required: { node: '^12 || ^14 || ^16 || ^17' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', 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: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
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
--- stdout ---

added 1271 packages, and audited 1272 packages in 31s

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

# npm audit report

cross-spawn  <6.0.6
Severity: high
Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275
fix available via `npm audit fix --force`
Will install @wdio/cli@9.20.0, which is a breaking change
node_modules/cross-spawn
  yarn-install  *
  Depends on vulnerable versions of cross-spawn
  node_modules/yarn-install
    @wdio/cli  <=9.0.0-alpha.426
    Depends on vulnerable versions of inquirer
    Depends on vulnerable versions of webdriverio
    Depends on vulnerable versions of yarn-install
    node_modules/@wdio/cli
      @wdio/junit-reporter  6.0.4 - 8.0.0-alpha.631
      Depends on vulnerable versions of @wdio/cli
      node_modules/@wdio/junit-reporter
      @wdio/local-runner  6.0.4 - 8.46.0
      Depends on vulnerable versions of @wdio/cli
      Depends on vulnerable versions of @wdio/runner
      node_modules/@wdio/local-runner
      @wdio/spec-reporter  6.0.4 - 8.0.0-alpha.631
      Depends on vulnerable versions of @wdio/cli
      node_modules/@wdio/spec-reporter

form-data  <2.5.4
Severity: critical
form-data uses unsafe random function in form-data for choosing boundary - https://github.com/advisories/GHSA-fjxv-7rqg-78g4
fix available via `npm audit fix --force`
Will install wdio-mediawiki@6.0.0, which is a breaking change
node_modules/request/node_modules/form-data
  request  *
  Depends on vulnerable versions of form-data
  Depends on vulnerable versions of tough-cookie
  node_modules/request
    mwbot  >=0.1.6
    Depends on vulnerable versions of request
    node_modules/mwbot
      wdio-mediawiki  <=5.1.0
      Depends on vulnerable versions of mwbot
      node_modules/wdio-mediawiki

js-yaml  <4.1.1
Severity: moderate
js-yaml has prototype pollution in merge (<<) - https://github.com/advisories/GHSA-mh29-5h37-fv8m
fix available via `npm audit fix --force`
Will install jest@25.0.0, which is a breaking change
node_modules/js-yaml
  @eslint/eslintrc  0.0.1 || 0.1.1 - 1.0.3
  Depends on vulnerable versions of js-yaml
  node_modules/@eslint/eslintrc
    eslint  0.4.0 - 7.32.0
    Depends on vulnerable versions of @eslint/eslintrc
    Depends on vulnerable versions of js-yaml
    node_modules/eslint
      grunt-eslint  *
      Depends on vulnerable versions of eslint
      Depends on vulnerable versions of grunt
      node_modules/grunt-eslint
  @istanbuljs/load-nyc-config  *
  Depends on vulnerable versions of js-yaml
  node_modules/@istanbuljs/load-nyc-config
    babel-plugin-istanbul  >=6.0.0-beta.0
    Depends on vulnerable versions of @istanbuljs/load-nyc-config
    node_modules/babel-plugin-istanbul
      @jest/transform  >=25.1.0
      Depends on vulnerable versions of babel-plugin-istanbul
      node_modules/@jest/transform
        @jest/core  >=25.1.0
        Depends on vulnerable versions of @jest/reporters
        Depends on vulnerable versions of @jest/transform
        Depends on vulnerable versions of jest-config
        Depends on vulnerable versions of jest-resolve-dependencies
        Depends on vulnerable versions of jest-runner
        Depends on vulnerable versions of jest-runtime
        Depends on vulnerable versions of jest-snapshot
        node_modules/@jest/core
          jest  >=25.1.0
          Depends on vulnerable versions of @jest/core
          Depends on vulnerable versions of jest-cli
          node_modules/jest
          jest-cli  >=25.1.0
          Depends on vulnerable versions of @jest/core
          Depends on vulnerable versions of jest-config
          node_modules/jest-cli
        @jest/reporters  >=25.1.0
        Depends on vulnerable versions of @jest/transform
        node_modules/@jest/reporters
        jest-runner  >=25.1.0
        Depends on vulnerable versions of @jest/transform
        Depends on vulnerable versions of jest-runtime
        node_modules/jest-runner
          jest-config  >=25.1.0
          Depends on vulnerable versions of @jest/test-sequencer
          Depends on vulnerable versions of babel-jest
          Depends on vulnerable versions of jest-circus
          Depends on vulnerable versions of jest-jasmine2
          Depends on vulnerable versions of jest-runner
          node_modules/jest-config
        jest-runtime  >=25.1.0
        Depends on vulnerable versions of @jest/transform
        Depends on vulnerable versions of jest-snapshot
        node_modules/jest-runtime
          @jest/test-sequencer  25.1.0 - 28.0.0-alpha.11
          Depends on vulnerable versions of jest-runtime
          node_modules/@jest/test-sequencer
          jest-circus  >=25.2.4
          Depends on vulnerable versions of jest-runtime
          Depends on vulnerable versions of jest-snapshot
          node_modules/jest-circus
          jest-jasmine2  >=25.1.0
          Depends on vulnerable versions of jest-runtime
          Depends on vulnerable versions of jest-snapshot
          node_modules/jest-jasmine2
        jest-snapshot  >=27.0.0-next.0
        Depends on vulnerable versions of @jest/transform
        node_modules/jest-snapshot
          jest-resolve-dependencies  >=27.0.0-next.0
          Depends on vulnerable versions of jest-snapshot
          node_modules/jest-resolve-dependencies
      babel-jest  >=25.1.0
      Depends on vulnerable versions of @jest/transform
      Depends on vulnerable versions of babel-plugin-istanbul
      node_modules/babel-jest
        @vue/vue3-jest  *
        Depends on vulnerable versions of babel-jest
        Depends on vulnerable versions of jest
        node_modules/@vue/vue3-jest
  grunt  >=0.4.0-a
  Depends on vulnerable versions of js-yaml
  node_modules/grunt


taffydb  *
Severity: high
TaffyDB can allow access to any data items in the DB - https://github.com/advisories/GHSA-mxhp-79qh-mcx6
fix available via `npm audit fix --force`
Will install jsdoc@4.0.5, which is a breaking change
node_modules/taffydb
  jsdoc  3.2.0-dev - 3.6.11
  Depends on vulnerable versions of taffydb
  node_modules/jsdoc
  jsdoc-wmf-theme  <=0.0.12
  Depends on vulnerable versions of taffydb
  node_modules/jsdoc-wmf-theme

tar-fs  2.0.0 - 2.1.3
Severity: high
tar-fs has a symlink validation bypass if destination directory is predictable with a specific tarball - https://github.com/advisories/GHSA-vj76-c3g6-qr5v
tar-fs can extract outside the specified dir with a specific tarball - https://github.com/advisories/GHSA-8cj5-5rvv-wf4v
tar-fs Vulnerable to Link Following and Path Traversal via Extracting a Crafted tar File - https://github.com/advisories/GHSA-pq67-2wwv-3xjx
fix available via `npm audit fix --force`
Will install webdriverio@9.20.0, which is a breaking change
node_modules/tar-fs
  puppeteer-core  10.0.0 - 22.11.1
  Depends on vulnerable versions of tar-fs
  Depends on vulnerable versions of ws
  node_modules/puppeteer-core
    devtools  >=7.16.5
    Depends on vulnerable versions of puppeteer-core
    node_modules/devtools
    webdriverio  7.16.5 - 8.46.0
    Depends on vulnerable versions of devtools
    Depends on vulnerable versions of puppeteer-core
    node_modules/webdriverio
      @wdio/runner  7.16.5 - 8.46.0
      Depends on vulnerable versions of webdriverio
      node_modules/@wdio/runner

tmp  <=0.2.3
tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter - https://github.com/advisories/GHSA-52f5-9888-hmc6
fix available via `npm audit fix --force`
Will install @wdio/cli@9.20.0, which is a breaking change
node_modules/tmp
  external-editor  >=1.1.1
  Depends on vulnerable versions of tmp
  node_modules/external-editor
    inquirer  3.0.0 - 8.2.6 || 9.0.0 - 9.3.7
    Depends on vulnerable versions of external-editor
    node_modules/inquirer

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@6.0.0, which is a breaking change
node_modules/request/node_modules/tough-cookie

vue-template-compiler  >=2.0.0
Severity: moderate
vue-template-compiler vulnerable to client-side Cross-Site Scripting (XSS) - https://github.com/advisories/GHSA-g3ch-rx76-35fx
fix available via `npm audit fix --force`
Will install vue-template-compiler@0.1.0, which is a breaking change
node_modules/vue-template-compiler

ws  8.0.0 - 8.17.0
Severity: high
ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
fix available via `npm audit fix --force`
Will install webdriverio@9.20.0, which is a breaking change
node_modules/puppeteer-core/node_modules/ws

46 vulnerabilities (3 low, 26 moderate, 15 high, 2 critical)

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

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

Some issues need review, and may require choosing
a different dependency.

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
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: 'v20.19.2', 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: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'wdio-mediawiki@2.5.0',
npm WARN EBADENGINE   required: { node: '>=18.17.0', npm: '>=9.6.7' },
npm WARN EBADENGINE   current: { node: 'v20.19.2', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated abab@2.0.6: Use your platform's native atob() and btoa() methods instead
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated domexception@2.0.1: Use your platform's native DOMException instead
npm WARN deprecated w3c-hr-time@1.0.2: Use your platform's native performance.now() and performance.timeOrigin.
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
--- stdout ---

added 1271 packages, and audited 1272 packages in 25s

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

46 vulnerabilities (3 low, 26 moderate, 15 high, 2 critical)

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

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

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stderr ---
PASS tests/jest/store/modules/router.test.js
PASS tests/jest/store/modules/zTesterResults.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation GLOBAL_SET) Vue.set() has been removed as it is no longer needed in Vue 3. Simply use native JavaScript mutations.

      185 | 		 */
      186 | 		setZTesterResult: function ( state, result ) {
    > 187 | 			Vue.set( state.zTesterResults, result.key, result.result );
          | 			    ^
      188 | 			Vue.set( state.zTesterMetadata, result.key, result.metadata );
      189 | 		},
      190 | 		/**

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at assertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2707:9)
      at Function.set (node_modules/@vue/compat/dist/vue.cjs.js:6315:9)
      at Object.setZTesterResult (resources/ext.wikilambda.edit/store/modules/zTesterResults.js:187:8)
      at Object.<anonymous> (tests/jest/store/modules/zTesterResults.test.js:74:35)

PASS tests/jest/store/modules/zKeys.test.js
PASS tests/jest/store/modules/zobject.test.js
PASS tests/jest/mixins/typeUtils.test.js
Exception in PromiseRejectCallback:
/src/repo/tests/jest/store/modules/zTesters.test.js:228
					return new Promise( function ( resolve ) {
					       ^

RangeError: Maximum call stack size exceeded

PASS tests/jest/store/modules/zTesters.test.js
PASS tests/jest/store/modules/zobjectModes.test.js
PASS tests/jest/store/modules/arguments.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation GLOBAL_SET) Vue.set() has been removed as it is no longer needed in Vue 3. Simply use native JavaScript mutations.

      61 | 		 */
      62 | 		addZArgumentInfo: function ( state, payload ) {
    > 63 | 			Vue.set( state.zArguments, payload.zid, payload );
         | 			    ^
      64 | 		},
      65 | 		/**
      66 | 		 * Reset the zArguments object in the state

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at assertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2707:9)
      at Function.set (node_modules/@vue/compat/dist/vue.cjs.js:6315:9)
      at Object.addZArgumentInfo (resources/ext.wikilambda.edit/store/modules/arguments.js:63:8)
      at Object.<anonymous> (tests/jest/store/modules/arguments.test.js:20:53)

PASS tests/jest/store/modules/zTypedList.test.js
PASS tests/jest/mixins/schemata.test.js
Exception in PromiseRejectCallback:
/src/repo/tests/jest/store/modules/zImplementations.test.js:131
					return new Promise( function ( resolve ) {
					       ^

RangeError: Maximum call stack size exceeded

PASS tests/jest/store/modules/zImplementations.test.js
PASS tests/jest/components/ZCode.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <Anonymous ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "disabled" with v-bind value `false` will render disabled="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxSelect selected="" onUpdate:selected= [ [Function (anonymous)], [Function: bound selectLanguage] ] class="ext-wikilambda-zcode__language-selector"  ... > 
        at <Anonymous ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "readOnly" with v-bind value `false` will render readOnly="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CodeEditor mode="Python" read-only=false value="initial"  ... > 
        at <Anonymous zobjectId=1 ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/views/function/FunctionDetails.test.js
  ● Console

    console.warn
      [Vue warn]: Component "wikilambda-chip" has already been registered in target app.

      11 | 			<!-- TODO(T309199): link to process page once it exists -->
      12 | 			<a href="#"> {{ $i18n( 'wikilambda-function-details-summary-learn-more' ).text() }} </a>
    > 13 | 		</div>
         | 		  ^
      14 | 		<section class="ext-wikilambda-function-details__sidebar">
      15 | 			<function-viewer-details-sidebar :zobject-id="zobjectId"></function-viewer-details-sidebar>
      16 | 		</section>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.component (node_modules/@vue/compat/dist/vue.cjs.js:6726:21)
      at Function.component (node_modules/@vue/compat/dist/vue.cjs.js:6252:26)
      at Object.<anonymous> (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:13:5)

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "showingAll" with v-bind value `false` will render showingAll="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <FunctionViewerDetailsTable header= {
        checkbox: {
          title: '',
          component: 'cdx-checkbox',
          props: { modelValue: false, 'onUpdate:modelValue': [Function: bound ] },
          class: 'ext-wikilambda-function-details-table-text'
        },
        name: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-name-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        language: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-language-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        state: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-state-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        testsPassed: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-tests-passed-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        }
      } body= [
        {
          checkbox: {
            title: '',
            component: 'cdx-checkbox',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item',
            id: 'Z333 name'
          },
          name: {
            title: 'Z333 name',
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-details-implementation-table-link ext-wikilambda-function-details-table-item'
          },
          language: {
            title: [Mocki18n],
            class: 'ext-wikilambda-function-details-table-item'
          },
          state: {
            component: 'wikilambda-chip',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item'
          },
          testsPassed: { title: '-' },
          class: 'ext-wikilambda-function-details-table-item'
        },
        {
          checkbox: {
            title: '',
            component: 'cdx-checkbox',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item',
            id: 'Z444 name'
          },
          name: {
            title: 'Z444 name',
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-details-implementation-table-link ext-wikilambda-function-details-table-item'
          },
          language: {
            title: [Mocki18n],
            class: 'ext-wikilambda-function-details-table-item'
          },
          state: {
            component: 'wikilambda-chip',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item'
          },
          testsPassed: { title: '-' },
          class: 'ext-wikilambda-function-details-table-item'
        }
      ] title="wikilambda-function-implementation-table-header"  ... > 
        at <FunctionDetails ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "canApprove" with v-bind value `false` will render canApprove="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <FunctionViewerDetailsTable header= {
        checkbox: {
          title: '',
          component: 'cdx-checkbox',
          props: { modelValue: false, 'onUpdate:modelValue': [Function: bound ] },
          class: 'ext-wikilambda-function-details-table-text'
        },
        name: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-name-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        language: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-language-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        state: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-state-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        testsPassed: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-tests-passed-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        }
      } body= [
        {
          checkbox: {
            title: '',
            component: 'cdx-checkbox',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item',
            id: 'Z333 name'
          },
          name: {
            title: 'Z333 name',
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-details-implementation-table-link ext-wikilambda-function-details-table-item'
          },
          language: {
            title: [Mocki18n],
            class: 'ext-wikilambda-function-details-table-item'
          },
          state: {
            component: 'wikilambda-chip',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item'
          },
          testsPassed: { title: '-' },
          class: 'ext-wikilambda-function-details-table-item'
        },
        {
          checkbox: {
            title: '',
            component: 'cdx-checkbox',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item',
            id: 'Z444 name'
          },
          name: {
            title: 'Z444 name',
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-details-implementation-table-link ext-wikilambda-function-details-table-item'
          },
          language: {
            title: [Mocki18n],
            class: 'ext-wikilambda-function-details-table-item'
          },
          state: {
            component: 'wikilambda-chip',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item'
          },
          testsPassed: { title: '-' },
          class: 'ext-wikilambda-function-details-table-item'
        }
      ] title="wikilambda-function-implementation-table-header"  ... > 
        at <FunctionDetails ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "canDeactivate" with v-bind value `false` will render canDeactivate="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <FunctionViewerDetailsTable header= {
        checkbox: {
          title: '',
          component: 'cdx-checkbox',
          props: { modelValue: false, 'onUpdate:modelValue': [Function: bound ] },
          class: 'ext-wikilambda-function-details-table-text'
        },
        name: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-name-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        language: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-language-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        state: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-state-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        },
        testsPassed: {
          title: Mocki18n {
            string: 'wikilambda-function-implementation-tests-passed-label'
          },
          class: 'ext-wikilambda-function-details-table-text'
        }
      } body= [
        {
          checkbox: {
            title: '',
            component: 'cdx-checkbox',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item',
            id: 'Z333 name'
          },
          name: {
            title: 'Z333 name',
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-details-implementation-table-link ext-wikilambda-function-details-table-item'
          },
          language: {
            title: [Mocki18n],
            class: 'ext-wikilambda-function-details-table-item'
          },
          state: {
            component: 'wikilambda-chip',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item'
          },
          testsPassed: { title: '-' },
          class: 'ext-wikilambda-function-details-table-item'
        },
        {
          checkbox: {
            title: '',
            component: 'cdx-checkbox',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item',
            id: 'Z444 name'
          },
          name: {
            title: 'Z444 name',
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-details-implementation-table-link ext-wikilambda-function-details-table-item'
          },
          language: {
            title: [Mocki18n],
            class: 'ext-wikilambda-function-details-table-item'
          },
          state: {
            component: 'wikilambda-chip',
            props: [Object],
            class: 'ext-wikilambda-function-details-table-item'
          },
          testsPassed: { title: '-' },
          class: 'ext-wikilambda-function-details-table-item'
        }
      ] title="wikilambda-function-implementation-table-header"  ... > 
        at <FunctionDetails ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.error
      [vuex] unknown getter: getCurrentZObjectId

      248 | 								text: this.$i18n(
      249 | 									isAvailable ?
    > 250 | 										'wikilambda-function-implementation-state-available' :
          | 										                        ^
      251 | 										'wikilambda-function-implementation-state-proposed'
      252 | 								).text(),
      253 | 								intent: isAvailable ? 'success' : 'warning'

      at Proxy.mappedGetter (node_modules/vuex/dist/vuex.cjs.js:1242:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)
      at Object.get [as getCurrentZObjectId] (node_modules/@vue/compat/dist/vue.cjs.js:5117:30)
      at Object.getCurrentZObjectId [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10178:27)
      at Proxy.testersBody (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:250:35)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at ComputedRefImpl.get value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1664:39)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "inline" with v-bind value `false` will render inline="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxMessage key=0 dismiss-button-label="wikilambda-toast-close" type="error"  ... > 
        at <FunctionDetails zobjectId=123 ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "fadeIn" with v-bind value `false` will render fadeIn="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxMessage key=0 dismiss-button-label="wikilambda-toast-close" type="error"  ... > 
        at <FunctionDetails zobjectId=123 ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "autoDismiss" with v-bind value `false` will render autoDismiss="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxMessage key=0 dismiss-button-label="wikilambda-toast-close" type="error"  ... > 
        at <FunctionDetails zobjectId=123 ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/store/modules/callzfunction.test.js
PASS tests/jest/views/function/FunctionDefinition.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation WATCH_ARRAY) "watch" option or vm.$watch on an array value will no longer trigger on array mutation unless the "deep" option is specified. If current usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ WATCH_ARRAY: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/watch.html 
        at <FunctionDefinition ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at ReactiveEffect.getter [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:3967:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at job (node_modules/@vue/compat/dist/vue.cjs.js:4007:37)
      at doWatch (node_modules/@vue/compat/dist/vue.cjs.js:4064:13)
      at watch (node_modules/@vue/compat/dist/vue.cjs.js:3892:12)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "isMobile" with v-bind value `false` will render isMobile="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <FunctionDefinitionInputs is-mobile=false z-lang="Z1002" is-main-z-object=true  ... > 
        at <FunctionDefinition ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "inline" with v-bind value `false` will render inline="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxMessage key=0 dismiss-button-label="wikilambda-toast-close" type="success"  ... > 
        at <FunctionDefinition ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "fadeIn" with v-bind value `false` will render fadeIn="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxMessage key=0 dismiss-button-label="wikilambda-toast-close" type="success"  ... > 
        at <FunctionDefinition ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/views/function/definition/FunctionDefinitionAliases.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Property "functionAliasLabel" was accessed during render but is not defined on instance. 
        at <FunctionDefinitionAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      172 | 							Constants.Z_MONOLINGUALSTRINGSET_LANGUAGE,
      173 | 							Constants.Z_REFERENCE_ID
    > 174 | 						] );
          | 						    ^
      175 | 						if ( aliasLang.value === language ) {
      176 | 							aliasId = this.getNestedZObjectById( alias.id, [
      177 | 								Constants.Z_MONOLINGUALSTRINGSET_VALUE

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.functionAliasLabel [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10234:17)
      at Proxy.render (resources/ext.wikilambda.edit/components/function/definition/FunctionDefinitionAliases.vue:174:477)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)

    console.warn
      [Vue warn]: Property "functionDefinitionAliasPlaceholder" was accessed during render but is not defined on instance. 
        at <FunctionDefinitionAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      174 | 						] );
      175 | 						if ( aliasLang.value === language ) {
    > 176 | 							aliasId = this.getNestedZObjectById( alias.id, [
          | 							                       ^
      177 | 								Constants.Z_MONOLINGUALSTRINGSET_VALUE
      178 | 							] ).id;
      179 | 						}

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.functionDefinitionAliasPlaceholder [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10234:17)
      at Proxy.render (resources/ext.wikilambda.edit/components/function/definition/FunctionDefinitionAliases.vue:176:31)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

PASS tests/jest/components/function/ZTesterImplResult.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

PASS tests/jest/composables/useBreakpoints.test.js
  ● Console

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:24:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:24:19)

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:28:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:28:19)

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:38:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:38:19)

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:43:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:43:19)

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:55:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:55:19)

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:59:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:59:19)

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:63:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:63:19)

    console.warn
      [Vue warn]: onMounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

       8 | 		windowWidth.value = window.innerWidth;
       9 | 	};
    > 10 | 	Vue.onMounted( () => {
         | 	    ^
      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
      13 | 	Vue.onUnmounted( () => {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onMounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:10:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:67:19)

    console.warn
      [Vue warn]: onUnmounted is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.

      11 | 		window.addEventListener( 'resize', onWidthChange );
      12 | 	} );
    > 13 | 	Vue.onUnmounted( () => {
         | 	    ^
      14 | 		window.removeEventListener( 'resize', onWidthChange );
      15 | 	} );
      16 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at injectHook (node_modules/@vue/compat/dist/vue.cjs.js:4943:9)
      at Function.onUnmounted (node_modules/@vue/compat/dist/vue.cjs.js:4954:5)
      at useBreakpoints (resources/ext.wikilambda.edit/composables/useBreakpoints.js:13:6)
      at Object.<anonymous> (tests/jest/composables/useBreakpoints.test.js:67:19)

PASS tests/jest/components/function/ZFunctionTesterReport.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation WATCH_ARRAY) "watch" option or vm.$watch on an array value will no longer trigger on array mutation unless the "deep" option is specified. If current usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ WATCH_ARRAY: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/watch.html 
        at <Anonymous zFunctionId="" ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at ReactiveEffect.getter [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:3967:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at doWatch (node_modules/@vue/compat/dist/vue.cjs.js:4067:31)
      at watch (node_modules/@vue/compat/dist/vue.cjs.js:3892:12)
      at createWatcher (node_modules/@vue/compat/dist/vue.cjs.js:5269:9)

    console.warn
      [Vue warn]: (deprecation WATCH_ARRAY) (2) 
        at <Anonymous zFunctionId="" ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at ReactiveEffect.getter [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:3967:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at doWatch (node_modules/@vue/compat/dist/vue.cjs.js:4067:31)
      at watch (node_modules/@vue/compat/dist/vue.cjs.js:3892:12)
      at createWatcher (node_modules/@vue/compat/dist/vue.cjs.js:5269:9)

    console.warn
      [Vue warn]: (deprecation WATCH_ARRAY) (3) 
        at <Anonymous zFunctionId="" ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at ReactiveEffect.getter [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:3967:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at doWatch (node_modules/@vue/compat/dist/vue.cjs.js:4067:31)
      at watch (node_modules/@vue/compat/dist/vue.cjs.js:3892:12)
      at createWatcher (node_modules/@vue/compat/dist/vue.cjs.js:5269:9)

PASS tests/jest/views/function/definition/FunctionDefinitionInputsItem.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "index" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "canEditType" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "isMobile" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: (deprecation COMPONENT_V_MODEL) Component declares "modelValue" prop, which is Vue 3 usage, but is running under Vue 2 compat v-model behavior. You can opt-in to Vue 3 behavior on a per-component basis with `compatConfig: { COMPONENT_V_MODEL: false }`.
        Details: https://v3-migration.vuejs.org/breaking-changes/v-model.html 
        at <CdxTextInput modelValue=null onUpdate:modelValue=fn placeholder="wikilambda-function-definition-inputs-item-input-placeholder"  ... >

      238 | 					] ),
      239 | 					value = this.getNestedZObjectById( labels[ index ].id, [
    > 240 | 						Constants.Z_MONOLINGUALSTRING_VALUE,
          | 						                                    ^
      241 | 						Constants.Z_STRING_VALUE
      242 | 					] );
      243 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at convertLegacyVModelProps (node_modules/@vue/compat/dist/vue.cjs.js:2815:13)
      at createBaseVNode (node_modules/@vue/compat/dist/vue.cjs.js:9418:9)
      at _createVNode (node_modules/@vue/compat/dist/vue.cjs.js:9485:12)
      at createVNodeWithArgsTransform (node_modules/@vue/compat/dist/vue.cjs.js:9342:12)
      at Proxy.render (resources/ext.wikilambda.edit/components/function/definition/FunctionDefinitionInputsItem.vue:240:142)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "disabled" with v-bind value `false` will render disabled="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTextInput placeholder="wikilambda-function-definition-inputs-item-input-placeholder" aria-label="wikilambda-function-definition-inputs-item-input-placeholder" onInput=fn  ... > 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "clearable" with v-bind value `false` will render clearable="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTextInput placeholder="wikilambda-function-definition-inputs-item-input-placeholder" aria-label="wikilambda-function-definition-inputs-item-input-placeholder" onInput=fn  ... > 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: Missing required prop: "index" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "canEditType" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "isMobile" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "index" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "canEditType" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "isMobile" 
        at <FunctionDefinitionInputsItem ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Write operation failed: computed property "getArgumentLabels" is readonly.

      50 | 			var wrapper = shallowMount( FunctionDefinitionInputsItem );
      51 |
    > 52 | 			wrapper.vm.getArgumentLabels = jest.fn().mockReturnValue( {} );
         | 			                             ^
      53 | 			wrapper.vm.setArgumentLabel();
      54 |
      55 | 			expect( actions.addZMonolingualString ).not.toHaveBeenCalled();

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at ComputedRefImpl.set [as _setter] (node_modules/@vue/compat/dist/vue.cjs.js:5107:25)
      at ComputedRefImpl.set value [as value] (node_modules/@vue/compat/dist/vue.cjs.js:1669:14)
      at Object.set [as getArgumentLabels] (node_modules/@vue/compat/dist/vue.cjs.js:5118:36)
      at Object.set (node_modules/@vue/compat/dist/vue.cjs.js:10267:26)
      at Object.<anonymous> (tests/jest/views/function/definition/FunctionDefinitionInputsItem.test.js:52:33)

    console.warn
      [Vue warn]: Missing required prop: "index" 
        at <FunctionDefinitionInputsItem zLang="Z10002" ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <FunctionDefinitionInputsItem zLang="Z10002" ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "canEditType" 
        at <FunctionDefinitionInputsItem zLang="Z10002" ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "isMobile" 
        at <FunctionDefinitionInputsItem zLang="Z10002" ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

PASS tests/jest/components/ZObject.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "persistent" with v-bind value `false` will render persistent="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <ZObjectGeneric key=1 zobject-id=0 type="none"  ... > 
        at <ZObject zobjectId=0 persistent=false viewmode=false  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "viewmode" with v-bind value `false` will render viewmode="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <ZObject zobjectId=0 persistent=false viewmode=false  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (2) 
        at <ZArgument key=1 zobject-id=0 type="Z17"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (3) 
        at <ZArgumentReference key=1 zobject-id=0 type="Z18"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (4) 
        at <ZBoolean key=1 zobject-id=0 type="Z40"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (5) 
        at <ZCharacter key=1 zobject-id=0 type="Z86"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (6) 
        at <ZCode key=1 zobject-id=0 type="Z16"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (7) 
        at <ZFunction key=1 zobject-id=0 type="Z8"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "hideFirstArgument" with v-bind value `false` will render hideFirstArgument="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <ZFunctionCall key=1 zobject-id=0 type="Z7"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "hideCallButton" with v-bind value `false` will render hideCallButton="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <ZFunctionCall key=1 zobject-id=0 type="Z7"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (8) 
        at <ZFunctionCall key=1 zobject-id=0 type="Z7"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (9) 
        at <ZFunctionCallToType key=1 zobject-id=0 type="function_call_to_type"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (10) 
        at <ZImplementation key=1 zobject-id=0 type="Z14"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (11) 
        at <ZKey key=1 zobject-id=0 type="Z3"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (12) 
        at <ZMultilingualString key=1 zobject-id=0 type="Z12"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (13) 
        at <ZReference key=1 zobject-id=0 type="Z9"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (14) 
        at <ZResponseenvelope key=1 zobject-id=0 type="Z22"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (15) 
        at <ZString key=1 zobject-id=0 type="Z6"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (16) 
        at <ZTester key=1 zobject-id=0 type="Z20"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (17) 
        at <ZType key=1 zobject-id=0 type="Z4"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (18) 
        at <ZTypedMap key=1 zobject-id=0 type="Z883"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) (19) 
        at <ZTypedPair key=1 zobject-id=0 type="Z882"  ... > 
        at <ZObject zobjectId=0 persistent=false readonly=true  ... > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2625:9)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/store/getters.test.js
PASS tests/jest/views/function/viewer/FunctionViewerDetailsSidebar.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "hideHeader" with v-bind value `false` will render hideHeader="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <TableContainer class="ext-wikilambda-function-viewer-details-sidebar__table" header= {
        label: {
          title: 'wikilambda-editor-fn-step-function-definition',
          component: 'span',
          props: {
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bold'
          },
          class: 'ext-wikilambda-function-viewer-details-sidebar__table__header ext-wikilambda-function-viewer-details-sidebar__table__expanded',
          colspan: 2
        },
        language: '',
        text: {
          title: 'wikilambda-edit',
          component: 'cdx-button',
          props: {
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bold',
            type: 'quiet',
            action: 'progressive',
            onClick: [Function: bound handleEditClick]
          },
          class: 'ext-wikilambda-function-viewer-details-sidebar__table__header'
        }
      } body= [
        {
          label: {
            title: 'wikilambda-editor-output-title',
            component: 'span',
            props: [Object],
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bordered-row'
          },
          language: {
            title: '',
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bordered-row'
          },
          text: {
            title: undefined,
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bordered-row'
          }
        }
      ] > 
        at <FunctionViewerDetailsSidebar ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "isBordered" with v-bind value `false` will render isBordered="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <TableContainer class="ext-wikilambda-function-viewer-details-sidebar__table" header= {
        label: {
          title: 'wikilambda-editor-fn-step-function-definition',
          component: 'span',
          props: {
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bold'
          },
          class: 'ext-wikilambda-function-viewer-details-sidebar__table__header ext-wikilambda-function-viewer-details-sidebar__table__expanded',
          colspan: 2
        },
        language: '',
        text: {
          title: 'wikilambda-edit',
          component: 'cdx-button',
          props: {
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bold',
            type: 'quiet',
            action: 'progressive',
            onClick: [Function: bound handleEditClick]
          },
          class: 'ext-wikilambda-function-viewer-details-sidebar__table__header'
        }
      } body= [
        {
          label: {
            title: 'wikilambda-editor-output-title',
            component: 'span',
            props: [Object],
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bordered-row'
          },
          language: {
            title: '',
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bordered-row'
          },
          text: {
            title: undefined,
            component: 'a',
            props: [Object],
            class: 'ext-wikilambda-function-viewer-details-sidebar__table-bordered-row'
          }
        }
      ] > 
        at <FunctionViewerDetailsSidebar ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/views/function/definition/FunctionDefinitionFooter.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation COMPONENT_V_MODEL) Component declares "modelValue" prop, which is Vue 3 usage, but is running under Vue 2 compat v-model behavior. You can opt-in to Vue 3 behavior on a per-component basis with `compatConfig: { COMPONENT_V_MODEL: false }`.
        Details: https://v3-migration.vuejs.org/breaking-changes/v-model.html 
        at <CdxTextInput id="ext-wikilambda-function-definition-name__input" modelValue="" onUpdate:modelValue=fn  ... >

      72 | 	computed: $.extend(
      73 | 		mapGetters( [
    > 74 | 			'currentZFunctionHasValidInputs',
         | 			                                 ^
      75 | 			'currentZFunctionHasOutput'
      76 | 		] ),
      77 | 		{

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at convertLegacyVModelProps (node_modules/@vue/compat/dist/vue.cjs.js:2815:13)
      at createBaseVNode (node_modules/@vue/compat/dist/vue.cjs.js:9418:9)
      at _createVNode (node_modules/@vue/compat/dist/vue.cjs.js:9485:12)
      at createVNodeWithArgsTransform (node_modules/@vue/compat/dist/vue.cjs.js:9342:12)
      at Proxy.render (resources/ext.wikilambda.edit/components/function/definition/FunctionDefinitionFooter.vue:74:543)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "disabled" with v-bind value `false` will render disabled="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTextInput id="ext-wikilambda-function-definition-name__input" class="ext-wikilambda-function-definition-footer__summary-input" aria-label="wikilambda-function-definition-footer-label"  ... > 
        at <FunctionDefinitionFooter ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "clearable" with v-bind value `false` will render clearable="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTextInput id="ext-wikilambda-function-definition-name__input" class="ext-wikilambda-function-definition-footer__summary-input" aria-label="wikilambda-function-definition-footer-label"  ... > 
        at <FunctionDefinitionFooter ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/components/ZImplementation.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <Anonymous ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <Anonymous ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "disabled" with v-bind value `false` will render disabled="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxSelect selected="code" onUpdate:selected= [ [Function (anonymous)], [Function: bound changeImplMode] ] class="ext-wikilambda-zimplementation__mode-selector"  ... > 
        at <Anonymous ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "zobjectId". Expected Number with value NaN, got Undefined  
        at <ZCode key=2 zobject-id=undefined onSelectLanguage=fn<bound selectLanguage>  ... > 
        at <Anonymous ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zobjectId" 
        at <Anonymous viewMode=true ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

PASS tests/jest/components/ZKeyModeSelector.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

PASS tests/jest/views/function/viewer/FunctionViewerAboutAliases.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Property "getUserZlangZID" was accessed during render but is not defined on instance. 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      140 | 				return alias && alias.language === userLanguage;
      141 | 			} );
    > 142 | 		},
          | 		  ^
      143 | 		getLanguageAliases: function ( allLanguages ) {
      144 | 			var allAliases = [];
      145 | 			for ( var item in allLanguages ) {

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.getUserZlangZID [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10234:17)
      at Proxy.render (resources/ext.wikilambda.edit/views/function/about/FunctionViewerAboutAliases.vue:142:40)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)

    console.warn
      [Vue warn]: Property "getUserZlangZID" was accessed during render but is not defined on instance. 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      141 | 			} );
      142 | 		},
    > 143 | 		getLanguageAliases: function ( allLanguages ) {
          | 		                 ^
      144 | 			var allAliases = [];
      145 | 			for ( var item in allLanguages ) {
      146 | 				var language = allLanguages[ item ];

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.getUserZlangZID [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10234:17)
      at Proxy.render (resources/ext.wikilambda.edit/views/function/about/FunctionViewerAboutAliases.vue:143:20)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)

    console.warn
      [Vue warn]: Property "buttonType" was accessed during render but is not defined on instance. 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      142 | 		},
      143 | 		getLanguageAliases: function ( allLanguages ) {
    > 144 | 			var allAliases = [];
          | 			                    ^
      145 | 			for ( var item in allLanguages ) {
      146 | 				var language = allLanguages[ item ];
      147 |

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.buttonType [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10234:17)
      at Proxy.render (resources/ext.wikilambda.edit/views/function/about/FunctionViewerAboutAliases.vue:144:25)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)

    console.warn
      [Vue warn]: Property "buttonText" was accessed during render but is not defined on instance. 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      143 | 		getLanguageAliases: function ( allLanguages ) {
      144 | 			var allAliases = [];
    > 145 | 			for ( var item in allLanguages ) {
          | 			                     ^
      146 | 				var language = allLanguages[ item ];
      147 |
      148 | 				// if this language is not the users AND

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.buttonText [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10234:17)
      at Proxy.render (resources/ext.wikilambda.edit/views/function/about/FunctionViewerAboutAliases.vue:145:25)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)

    console.warn
      [Vue warn]: Property "buttonIcon" was accessed during render but is not defined on instance. 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      144 | 			var allAliases = [];
      145 | 			for ( var item in allLanguages ) {
    > 146 | 				var language = allLanguages[ item ];
          | 				                    ^
      147 |
      148 | 				// if this language is not the users AND
      149 | 				// it is the first time we have encountered a language that is not the users

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.buttonIcon [as get] (node_modules/@vue/compat/dist/vue.cjs.js:10234:17)
      at Proxy.render (resources/ext.wikilambda.edit/views/function/about/FunctionViewerAboutAliases.vue:146:25)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "buttonText". Expected String with value "undefined", got Undefined  
        at <FunctionViewerSidebar list= [] z-lang=undefined button-type=undefined  ... > 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "buttonType". Expected String with value "undefined", got Undefined  
        at <FunctionViewerSidebar list= [] z-lang=undefined button-type=undefined  ... > 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "buttonIcon". Expected String with value "undefined", got Undefined  
        at <FunctionViewerSidebar list= [] z-lang=undefined button-type=undefined  ... > 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "zLang". Expected String with value "undefined", got Undefined  
        at <FunctionViewerSidebar list= [] z-lang=undefined button-type=undefined  ... > 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "shouldShowButton" with v-bind value `false` will render shouldShowButton="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <FunctionViewerSidebar list= [] z-lang=undefined button-type=undefined  ... > 
        at <FunctionViewerAboutAliases ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/store/modules/programmingLanguages.test.js
PASS tests/jest/components/ZObjectJson.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "readOnly" with v-bind value `false` will render readOnly="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CodeEditor mode="json" value="" read-only=false  ... > 
        at <Anonymous ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/views/function/viewer/FunctionViewerAboutNames.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "buttonIcon". Expected String with value "[object Object]", got Object  
        at <FunctionViewerSidebar list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "zLang". Expected String with value "undefined", got Undefined  
        at <FunctionViewerSidebar list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "buttonIcon". Expected String with value "[object Object]", got Object  
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "zLang". Expected String with value "undefined", got Undefined  
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Computed property "expando" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "isReady" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "guid" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "support" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "expr" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "readyWait" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "event" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssHooks" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssNumber" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssProps" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "easing" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "timers" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "attrHooks" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "propHooks" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "propFix" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "valHooks" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "active" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "lastModified" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "etag" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "ajaxSettings" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "offset" has no getter. 
        at <SidebarListContainer list= [] z-lang=undefined button-type="normal"  ... > 
        at <FunctionViewerAboutNames ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

PASS tests/jest/views/function/viewer/FunctionViewerAboutExamples.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "hideHeader" with v-bind value `false` will render hideHeader="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <FunctionViewerAboutExamplesTable header= {
        input: {
          title: 'wikilambda-editor-input-default-label',
          class: 'ext-wikilambda-function-viewer-about-aliases__table-header-item'
        },
        output: {
          title: 'wikilambda-editor-output-title',
          class: 'ext-wikilambda-function-viewer-about-aliases__table-header-item'
        }
      } body= [
        {
          input: {
            title: 'testInput',
            class: 'ext-wikilambda-function-viewer-about-aliases__table-item'
          },
          output: {
            title: 'testOutput',
            class: 'ext-wikilambda-function-viewer-about-aliases__table-item'
          }
        }
      ] > 
        at <FunctionViewerAboutExamples ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "isBordered" with v-bind value `false` will render isBordered="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <FunctionViewerAboutExamplesTable header= {
        input: {
          title: 'wikilambda-editor-input-default-label',
          class: 'ext-wikilambda-function-viewer-about-aliases__table-header-item'
        },
        output: {
          title: 'wikilambda-editor-output-title',
          class: 'ext-wikilambda-function-viewer-about-aliases__table-header-item'
        }
      } body= [
        {
          input: {
            title: 'testInput',
            class: 'ext-wikilambda-function-viewer-about-aliases__table-item'
          },
          output: {
            title: 'testOutput',
            class: 'ext-wikilambda-function-viewer-about-aliases__table-item'
          }
        }
      ] > 
        at <FunctionViewerAboutExamples ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "data-has-border" with v-bind value `false` will render data-has-border="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <TableContainer header= {
        input: {
          title: 'wikilambda-editor-input-default-label',
          class: 'ext-wikilambda-function-viewer-about-aliases__table-header-item'
        },
        output: {
          title: 'wikilambda-editor-output-title',
          class: 'ext-wikilambda-function-viewer-about-aliases__table-header-item'
        }
      } body= [
        {
          input: {
            title: 'testInput',
            class: 'ext-wikilambda-function-viewer-about-aliases__table-item'
          },
          output: {
            title: 'testOutput',
            class: 'ext-wikilambda-function-viewer-about-aliases__table-item'
          }
        }
      ] > 
        at <FunctionViewerAboutExamples ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/components/ZObjectSelector.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation WATCH_ARRAY) "watch" option or vm.$watch on an array value will no longer trigger on array mutation unless the "deep" option is specified. If current usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ WATCH_ARRAY: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/watch.html 
        at <CdxLookup key=1 selected="" onUpdate:selected=fn  ... > 
        at <ZObjectSelector ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at ReactiveEffect.getter [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:3967:17)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at doWatch (node_modules/@vue/compat/dist/vue.cjs.js:4067:31)
      at Function.watch (node_modules/@vue/compat/dist/vue.cjs.js:3892:12)
      at setup (node_modules/@wikimedia/codex/dist/codex.umd.js:1:27867)

    console.warn
      [Vue warn]: (deprecation COMPONENT_V_MODEL) Component declares "modelValue" prop, which is Vue 3 usage, but is running under Vue 2 compat v-model behavior. You can opt-in to Vue 3 behavior on a per-component basis with `compatConfig: { COMPONENT_V_MODEL: false }`.
        Details: https://v3-migration.vuejs.org/breaking-changes/v-model.html 
        at <CdxTextInput modelValue="" onUpdate:modelValue= [ [Function (anonymous)], [Function: V] ] placeholder="wikilambda-zobjectselector-label"  ... >

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at convertLegacyVModelProps (node_modules/@vue/compat/dist/vue.cjs.js:2815:13)
      at createBaseVNode (node_modules/@vue/compat/dist/vue.cjs.js:9418:9)
      at _createVNode (node_modules/@vue/compat/dist/vue.cjs.js:9485:12)
      at Function.createVNodeWithArgsTransform [as createVNode] (node_modules/@vue/compat/dist/vue.cjs.js:9342:12)
      at Proxy.qt (node_modules/@wikimedia/codex/dist/codex.umd.js:1:28437)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)

    console.warn
      [Vue warn]: (deprecation INSTANCE_ATTRS_CLASS_STYLE) Component <CdxTextInput> has `inheritAttrs: false` but is relying on class/style fallthrough from parent. In Vue 3, class/style are now included in $attrs and will no longer fallthrough when inheritAttrs is false. If you are already using v-bind="$attrs" on component root it should render the same end result. If you are binding $attrs to a non-root element and expecting class/style to fallthrough on root, you will need to now manually bind them on root via :class="$attrs.class".
        Details: https://v3-migration.vuejs.org/breaking-changes/attrs-includes-class-style.html 
        at <CdxTextInput placeholder="wikilambda-zobjectselector-label" end-icon= {
        ltr: '<path d="M15 1H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm-4 15H9v-2h2zm2.7-7.6a4.88 4.88 0 0 1-.3.7 2.65 2.65 0 0 1-.5.6l-.5.5a2.65 2.65 0 0 1-.6.5c-.2.2-.3.4-.5.6a1.91 1.91 0 0 0-.3.8 3.4 3.4 0 0 0-.1 1H9.1a4.87 4.87 0 0 1 .1-1.2 2.92 2.92 0 0 1 .2-.9 2.51 2.51 0 0 1 .4-.7l.6-.6a1.76 1.76 0 0 1 .5-.4c.2-.1.3-.3.4-.4l.3-.6a1.7 1.7 0 0 0 .1-.7 2.92 2.92 0 0 0-.2-.9 2.19 2.19 0 0 0-1-.9.9.9 0 0 0-.5-.1 1.68 1.68 0 0 0-1.5.7A2.86 2.86 0 0 0 8 8.1H6.2a5.08 5.08 0 0 1 .3-1.7 3.53 3.53 0 0 1 .8-1.3 3.6 3.6 0 0 1 1.2-.8 5.08 5.08 0 0 1 1.7-.3 5.9 5.9 0 0 1 1.4.2 2.59 2.59 0 0 1 1.1.7 4.44 4.44 0 0 1 .8 1.1 4 4 0 0 1 .3 1.5 3.08 3.08 0 0 1-.1.9z"/>',
        shouldFlip: true,
        shouldFlipExceptions: [ 'he', 'yi' ]
      } class="cdx-lookup__input"  ... > 
        at <CdxLookup key=1 selected="" onUpdate:selected=fn  ... > 
        at <ZObjectSelector ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3207:17)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7786:9)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "aria-expanded" with v-bind value `false` will render aria-expanded="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTextInput placeholder="wikilambda-zobjectselector-label" end-icon= {
        ltr: '<path d="M15 1H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3a2 2 0 0 0-2-2zm-4 15H9v-2h2zm2.7-7.6a4.88 4.88 0 0 1-.3.7 2.65 2.65 0 0 1-.5.6l-.5.5a2.65 2.65 0 0 1-.6.5c-.2.2-.3.4-.5.6a1.91 1.91 0 0 0-.3.8 3.4 3.4 0 0 0-.1 1H9.1a4.87 4.87 0 0 1 .1-1.2 2.92 2.92 0 0 1 .2-.9 2.51 2.51 0 0 1 .4-.7l.6-.6a1.76 1.76 0 0 1 .5-.4c.2-.1.3-.3.4-.4l.3-.6a1.7 1.7 0 0 0 .1-.7 2.92 2.92 0 0 0-.2-.9 2.19 2.19 0 0 0-1-.9.9.9 0 0 0-.5-.1 1.68 1.68 0 0 0-1.5.7A2.86 2.86 0 0 0 8 8.1H6.2a5.08 5.08 0 0 1 .3-1.7 3.53 3.53 0 0 1 .8-1.3 3.6 3.6 0 0 1 1.2-.8 5.08 5.08 0 0 1 1.7-.3 5.9 5.9 0 0 1 1.4.2 2.59 2.59 0 0 1 1.1.7 4.44 4.44 0 0 1 .8 1.1 4 4 0 0 1 .3 1.5 3.08 3.08 0 0 1-.1.9z"/>',
        shouldFlip: true,
        shouldFlipExceptions: [ 'he', 'yi' ]
      } class="cdx-lookup__input"  ... > 
        at <CdxLookup key=1 selected="" onUpdate:selected=fn  ... > 
        at <ZObjectSelector ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/views/function/definition/FunctionDefinitionName.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "fn" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "expando" has type "string" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "isReady" has type "boolean" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "guid" has type "number" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "support" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "expr" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "readyWait" has type "number" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "event" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "cssHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "cssNumber" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "cssProps" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "easing" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "timers" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "attrHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "propHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "propFix" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "valHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "active" has type "number" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "lastModified" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "etag" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "ajaxSettings" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "offset" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: (deprecation COMPONENT_V_MODEL) Component declares "modelValue" prop, which is Vue 3 usage, but is running under Vue 2 compat v-model behavior. You can opt-in to Vue 3 behavior on a per-component basis with `compatConfig: { COMPONENT_V_MODEL: false }`.
        Details: https://v3-migration.vuejs.org/breaking-changes/v-model.html 
        at <CdxTextInput id="ext-wikilambda-function-definition-name__input" modelValue="" onUpdate:modelValue=fn  ... >

       98 | 			if ( labelObject ) {
       99 | 				label = this.getNestedZObjectById( labelObject.id, [
    > 100 | 					Constants.Z_MONOLINGUALSTRING_VALUE,
          | 					                                    ^
      101 | 					Constants.Z_STRING_VALUE
      102 | 				] );
      103 | 			}

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at convertLegacyVModelProps (node_modules/@vue/compat/dist/vue.cjs.js:2815:13)
      at createBaseVNode (node_modules/@vue/compat/dist/vue.cjs.js:9418:9)
      at _createVNode (node_modules/@vue/compat/dist/vue.cjs.js:9485:12)
      at createVNodeWithArgsTransform (node_modules/@vue/compat/dist/vue.cjs.js:9342:12)
      at Proxy.render (resources/ext.wikilambda.edit/components/function/definition/FunctionDefinitionName.vue:100:857)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "disabled" with v-bind value `false` will render disabled="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTextInput id="ext-wikilambda-function-definition-name__input" class="ext-wikilambda-function-definition-name__input" aria-label="wikilambda-function-definition-name-label"  ... > 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "clearable" with v-bind value `false` will render clearable="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTextInput id="ext-wikilambda-function-definition-name__input" class="ext-wikilambda-function-definition-name__input" aria-label="wikilambda-function-definition-name-label"  ... > 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "fn" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "expando" has type "string" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "isReady" has type "boolean" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "guid" has type "number" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "support" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "expr" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "readyWait" has type "number" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "event" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "cssHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "cssNumber" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "cssProps" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "easing" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "timers" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "attrHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "propHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "propFix" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "valHooks" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "active" has type "number" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "lastModified" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "etag" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "ajaxSettings" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Method "offset" has type "object" in the component definition. Did you reference the function correctly? 
        at <FunctionDefinitionName ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5054:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

PASS tests/jest/components/App.test.js
  ● Console

    console.warn
      [Vue warn]: Component "wikilambda-chip" has already been registered in target app.

      11 | 			<!-- TODO(T309199): link to process page once it exists -->
      12 | 			<a href="#"> {{ $i18n( 'wikilambda-function-details-summary-learn-more' ).text() }} </a>
    > 13 | 		</div>
         | 		  ^
      14 | 		<section class="ext-wikilambda-function-details__sidebar">
      15 | 			<function-viewer-details-sidebar :zobject-id="zobjectId"></function-viewer-details-sidebar>
      16 | 		</section>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.component (node_modules/@vue/compat/dist/vue.cjs.js:6726:21)
      at Function.component (node_modules/@vue/compat/dist/vue.cjs.js:6252:26)
      at Object.<anonymous> (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:13:5)

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

PASS tests/jest/views/ZObjectEditor.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

PASS tests/jest/views/function/viewer/FunctionViewerSidebar.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "list" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "buttonText" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "buttonType" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "buttonIcon" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Computed property "expando" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "isReady" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "guid" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "support" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "expr" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "readyWait" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "event" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssNumber" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssProps" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "easing" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "timers" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "attrHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "propHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "propFix" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "valHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "active" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "lastModified" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "etag" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "ajaxSettings" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "offset" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Missing required prop: "list" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "buttonText" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "buttonType" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "buttonIcon" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "zLang" 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Computed property "expando" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "isReady" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "guid" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "support" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "expr" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "readyWait" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "event" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssNumber" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "cssProps" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "easing" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "timers" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "attrHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "propHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "propFix" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "valHooks" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "active" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "lastModified" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "etag" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "ajaxSettings" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

    console.warn
      [Vue warn]: Computed property "offset" has no getter. 
        at <SidebarListContainer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at applyOptions (node_modules/@vue/compat/dist/vue.cjs.js:5102:17)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10668:9)
      at handleSetupResult (node_modules/@vue/compat/dist/vue.cjs.js:10598:5)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10561:13)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)

PASS tests/jest/views/function/definition/FunctionDefinitionInputs.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "isMobile" 
        at <FunctionDefinitionInputs ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

PASS tests/jest/views/function/definition/FunctionDefinitionOutput.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

PASS tests/jest/store/actions.test.js
PASS tests/jest/store/modules/languages.test.js
PASS tests/jest/views/FunctionViewer.test.js
  ● Console

    console.warn
      [Vue warn]: Component "wikilambda-chip" has already been registered in target app.

      11 | 			<!-- TODO(T309199): link to process page once it exists -->
      12 | 			<a href="#"> {{ $i18n( 'wikilambda-function-details-summary-learn-more' ).text() }} </a>
    > 13 | 		</div>
         | 		  ^
      14 | 		<section class="ext-wikilambda-function-details__sidebar">
      15 | 			<function-viewer-details-sidebar :zobject-id="zobjectId"></function-viewer-details-sidebar>
      16 | 		</section>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at Object.component (node_modules/@vue/compat/dist/vue.cjs.js:6726:21)
      at Function.component (node_modules/@vue/compat/dist/vue.cjs.js:6252:26)
      at Object.<anonymous> (resources/ext.wikilambda.edit/views/function/FunctionDetails.vue:13:5)

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "framed" with v-bind value `false` will render framed="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <CdxTabs active="function-about" onUpdate:active=fn > 
        at <FunctionViewer ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/views/function/details/FunctionViewerDetailsTable.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

    console.warn
      [Vue warn]: Missing required prop: "header" 
        at <FunctionViewerDetailsTable ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "canApprove" 
        at <FunctionViewerDetailsTable ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Missing required prop: "canDeactivate" 
        at <FunctionViewerDetailsTable ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5830:9)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: Failed to resolve component: cdx-button
      If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement. 
        at <FunctionViewerDetailsTable ref="VTU_COMPONENT" > 
        at <VTUROOT>

      80 | 		showingAll: {
      81 | 			type: Boolean,
    > 82 | 			defualt: false
         | 			              ^
      83 | 		},
      84 | 		canApprove: {
      85 | 			type: Boolean,

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at resolveAsset (node_modules/@vue/compat/dist/vue.cjs.js:8889:13)
      at resolveComponent (node_modules/@vue/compat/dist/vue.cjs.js:8831:12)
      at Proxy.render (resources/ext.wikilambda.edit/views/function/details/FunctionViewerDetailsTable.vue:82:56)
      at renderComponentRoot (node_modules/@vue/compat/dist/vue.cjs.js:3111:44)
      at ReactiveEffect.componentUpdateFn [as fn] (node_modules/@vue/compat/dist/vue.cjs.js:7880:57)
      at ReactiveEffect.run (node_modules/@vue/compat/dist/vue.cjs.js:742:25)
      at setupRenderEffect (node_modules/@vue/compat/dist/vue.cjs.js:8018:9)

    console.warn
      [Vue warn]: Invalid prop: type check failed for prop "header". Expected Object, got Undefined  
        at <TableContainer header=undefined body= [] class="ext-wikilambda-function-details-table__body" > 
        at <FunctionViewerDetailsTable ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at validateProp (node_modules/@vue/compat/dist/vue.cjs.js:5849:13)
      at validateProps (node_modules/@vue/compat/dist/vue.cjs.js:5820:9)
      at initProps (node_modules/@vue/compat/dist/vue.cjs.js:5488:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10484:5)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)
      at processComponent (node_modules/@vue/compat/dist/vue.cjs.js:7740:17)
      at patch (node_modules/@vue/compat/dist/vue.cjs.js:7343:21)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "hideHeader" with v-bind value `false` will render hideHeader="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <TableContainer header=undefined body= [] class="ext-wikilambda-function-details-table__body" > 
        at <FunctionViewerDetailsTable ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

    console.warn
      [Vue warn]: (deprecation ATTR_FALSE_VALUE) Attribute "isBordered" with v-bind value `false` will render isBordered="false" instead of removing it in Vue 3. To remove the attribute, use `null` or `undefined` instead. If the usage is intended, you can disable the compat behavior and suppress this warning with:
      
        configureCompat({ ATTR_FALSE_VALUE: false })
      
        Details: https://v3-migration.vuejs.org/breaking-changes/attribute-coercion.html 
        at <TableContainer header=undefined body= [] class="ext-wikilambda-function-details-table__body" > 
        at <FunctionViewerDetailsTable ref="VTU_COMPONENT" > 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at Object.softAssertCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2716:9)
      at compatCoerceAttr (node_modules/@vue/compat/dist/vue.cjs.js:11458:21)
      at patchAttr (node_modules/@vue/compat/dist/vue.cjs.js:11426:13)
      at patchProp (node_modules/@vue/compat/dist/vue.cjs.js:11678:9)
      at mountElement (node_modules/@vue/compat/dist/vue.cjs.js:7447:25)
      at processElement (node_modules/@vue/compat/dist/vue.cjs.js:7420:13)

PASS tests/jest/views/ZObjectViewer.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

PASS tests/jest/views/function/FunctionAbout.test.js
  ● Console

    console.warn
      [Vue warn]: (deprecation RENDER_FUNCTION) Vue 3's render function API has changed. You can opt-in to the new API with:
      
        configureCompat({ RENDER_FUNCTION: false })
      
        (This can also be done per-component via the "compatConfig" option.)
        Details: https://v3-migration.vuejs.org/breaking-changes/render-function-api.html 
        at <VTUROOT>

      at warn$1 (node_modules/@vue/compat/dist/vue.cjs.js:1727:17)
      at warnDeprecation (node_modules/@vue/compat/dist/vue.cjs.js:2630:5)
      at checkCompatEnabled (node_modules/@vue/compat/dist/vue.cjs.js:2728:9)
      at convertLegacyRenderFn (node_modules/@vue/compat/dist/vue.cjs.js:8971:9)
      at finishComponentSetup (node_modules/@vue/compat/dist/vue.cjs.js:10619:9)
      at setupStatefulComponent (node_modules/@vue/compat/dist/vue.cjs.js:10565:9)
      at setupComponent (node_modules/@vue/compat/dist/vue.cjs.js:10487:11)
      at mountComponent (node_modules/@vue/compat/dist/vue.cjs.js:7769:13)

PASS tests/jest/store/index.test.js

Test Suites: 45 passed, 45 total
Tests:       1 skipped, 323 passed, 324 total
Snapshots:   0 total
Time:        11.919 s
Ran all test suites.
--- stdout ---

> test
> grunt test && npm run test:unit

Running "eslint:all" (eslint) task

/src/repo/resources/ext.wikilambda.edit/components/ZObjectJson.vue
  58:3  warning  Prop 'zobjectRaw' requires default value to be set  vue/require-default-prop

/src/repo/resources/ext.wikilambda.edit/components/ZObjectKey.vue
  26:5  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components
  68:4  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/ZObjectKeyList.vue
  18:4  warning  The '<z-object-key>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/base/DialogContainer.vue
  70:3  warning  Prop 'size' requires default value to be set  vue/require-default-prop

/src/repo/resources/ext.wikilambda.edit/components/editor/FnEditorZLanguageSelector.vue
  9:3  warning  `<template>` require directive  vue/no-lone-template

/src/repo/resources/ext.wikilambda.edit/components/function/ZFunctionCallRunner.vue
  10:3  warning  The '<z-reference>' component has been used, but not defined          vue/no-undef-components
  10:3  warning  The "z-reference" component has been used but not registered          vue/no-unregistered-components
  17:5  warning  The '<z-object-key>' component has been used, but not defined         vue/no-undef-components
  32:5  warning  The '<z-key-mode-selector>' component has been used, but not defined  vue/no-undef-components
  32:5  warning  The "z-key-mode-selector" component has been used but not registered  vue/no-unregistered-components
  39:6  warning  The '<z-object-json>' component has been used, but not defined        vue/no-undef-components
  44:6  warning  The '<z-object-key>' component has been used, but not defined         vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/function/ZFunctionTesterReport.vue
  84:12  warning  'v-html' directive can lead to XSS attack  vue/no-v-html
  86:5   warning  `<template>` require directive             vue/no-lone-template
  87:12  warning  'v-html' directive can lead to XSS attack  vue/no-v-html

/src/repo/resources/ext.wikilambda.edit/components/function/ZInlineTesterCall.vue
  16:4  warning  The '<z-object-key>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/function/ZInlineTesterValidation.vue
   9:3  warning  The '<z-object-selector>' component has been used, but not defined  vue/no-undef-components
  25:4  warning  The '<z-reference>' component has been used, but not defined        vue/no-undef-components
  25:4  warning  The "z-reference" component has been used but not registered        vue/no-unregistered-components
  37:5  warning  The '<z-object-key>' component has been used, but not defined       vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/types/ZArgumentList.vue
  11:4  warning  The '<z-list-item>' component has been used, but not defined  vue/no-undef-components
  11:4  warning  The "z-list-item" component has been used but not registered  vue/no-unregistered-components

/src/repo/resources/ext.wikilambda.edit/components/types/ZFunctionCallToType.vue
  21:4  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/types/ZImplementation.vue
  56:3  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/types/ZKey.vue
  27:4  warning  The '<z-object-selector>' component has been used, but not defined  vue/no-undef-components
  37:3  warning  The '<z-object-key-list>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/types/ZListItem.vue
  26:3  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/types/ZResponseEnvelope.vue
  48:4   warning  `<template>` require directive             vue/no-lone-template
  49:11  warning  'v-html' directive can lead to XSS attack  vue/no-v-html

/src/repo/resources/ext.wikilambda.edit/components/types/ZType.vue
  25:6  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components
  32:6  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/components/types/ZTypedPair.vue
  32:5  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components
  40:5  warning  The '<z-object>' component has been used, but not defined  vue/no-undef-components

/src/repo/resources/ext.wikilambda.edit/views/function/FunctionDefinition.vue
  92:4  warning  `<template>` require directive  vue/no-lone-template

/src/repo/resources/ext.wikilambda.edit/views/function/details/FunctionViewerDetailsTable.vue
  21:7  warning  The '<cdx-button>' component has been used, but not defined  vue/no-undef-components
  21:7  warning  The "cdx-button" component has been used but not registered  vue/no-unregistered-components
  24:7  warning  The '<cdx-button>' component has been used, but not defined  vue/no-undef-components
  24:7  warning  The "cdx-button" component has been used but not registered  vue/no-unregistered-components

/src/repo/resources/ext.wikilambda.edit/views/function/partials/TesterTableStatus.vue
  27:11  warning  'v-html' directive can lead to XSS attack  vue/no-v-html
  29:4   warning  `<template>` require directive             vue/no-lone-template
  30:11  warning  'v-html' directive can lead to XSS attack  vue/no-v-html

✖ 42 problems (0 errors, 42 warnings)


Running "banana:WikiLambda" (banana) task
>> 2 message directories checked.

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

Done.

> test:unit
> jest

----------------------------------------------------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------------------------------
File                                                | % Stmts | % Branch | % Funcs | % Lines | Uncovered Line #s                                                                                                                        
----------------------------------------------------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------------------------------
All files                                           |   52.38 |    41.64 |   42.26 |   52.35 |                                                                                                                                          
 ext.wikilambda.edit                                |   76.19 |      100 |       0 |   76.19 |                                                                                                                                          
  Constants.js                                      |     100 |      100 |     100 |     100 |                                                                                                                                          
  index.js                                          |       0 |      100 |       0 |       0 | 9-15                                                                                                                                     
 ext.wikilambda.edit/components                     |   47.11 |     35.1 |   29.06 |   47.11 |                                                                                                                                          
  App.vue                                           |    92.3 |      100 |   66.66 |    92.3 | 61                                                                                                                                       
  ZFunctionSignature.vue                            |       0 |      100 |     100 |       0 | 15                                                                                                                                       
  ZKeyModeSelector.vue                              |      75 |    42.85 |      80 |      75 | 64,91-92                                                                                                                                 
  ZObject.vue                                       |   93.44 |    89.28 |    87.5 |   93.44 | 143,152,180,202                                                                                                                          
  ZObjectGeneric.vue                                |    37.5 |        0 |       0 |    37.5 | 79-126                                                                                                                                   
  ZObjectJson.vue                                   |   47.36 |       50 |   46.15 |   47.36 | 35,43-44,85,90,99-138                                                                                                                    
  ZObjectKey.vue                                    |   28.94 |        0 |       0 |   28.94 | 124-241                                                                                                                                  
  ZObjectKeyInput.vue                               |       0 |        0 |       0 |       0 | 27-49                                                                                                                                    
  ZObjectKeyList.vue                                |   33.33 |        0 |       0 |   33.33 | 64-124                                                                                                                                   
  ZObjectSelector.vue                               |   21.83 |     2.77 |   26.08 |   21.83 | 120-121,126,130-132,138-144,152-156,171-329                                                                                              
 ext.wikilambda.edit/components/editor              |      10 |        0 |       0 |      10 |                                                                                                                                          
  FnEditorInputListItem.vue                         |       0 |        0 |       0 |       0 | 42-190                                                                                                                                   
  FnEditorVisualDisplay.vue                         |   11.76 |        0 |       0 |   11.76 | 107-229                                                                                                                                  
  FnEditorZLanguageSelector.vue                     |   35.71 |        0 |       0 |   35.71 | 50-75                                                                                                                                    
 ext.wikilambda.edit/components/function            |   42.79 |    21.31 |   17.74 |   42.79 |                                                                                                                                          
  ZFunctionCallRunner.vue                           |   27.77 |        0 |       0 |   27.77 | 72-107                                                                                                                                   
  ZFunctionEvaluator.vue                            |   26.31 |        0 |       0 |   26.31 | 27-73                                                                                                                                    
  ZFunctionTesterReport.vue                         |   28.57 |    11.76 |      40 |   28.57 | 155-175,181-256,270-284                                                                                                                  
  ZImplementationList.vue                           |   53.84 |      100 |       0 |   53.84 | 58-77                                                                                                                                    
  ZImplementationListItem.vue                       |   23.07 |        0 |       0 |   23.07 | 61-114                                                                                                                                   
  ZInlineTesterCall.vue                             |      75 |      100 |       0 |      75 | 34                                                                                                                                       
  ZInlineTesterValidation.vue                       |   31.25 |        0 |       0 |   31.25 | 61-87                                                                                                                                    
  ZTesterAdHoc.vue                                  |      50 |        0 |       0 |      50 | 65-108                                                                                                                                   
  ZTesterImplResult.vue                             |      96 |      100 |   83.33 |      96 | 90                                                                                                                                       
  ZTesterList.vue                                   |   57.14 |      100 |       0 |   57.14 | 69-90                                                                                                                                    
  ZTesterListItem.vue                               |   63.63 |      100 |       0 |   63.63 | 64-76                                                                                                                                    
 ext.wikilambda.edit/components/function/definition |      70 |    41.66 |   61.01 |      70 |                                                                                                                                          
  FunctionDefinitionAliases.vue                     |   75.51 |    58.33 |   66.66 |   75.51 | 111-112,127-130,151,176,185-187,234-242                                                                                                  
  FunctionDefinitionFooter.vue                      |   76.92 |       50 |   66.66 |   76.92 | 101-107                                                                                                                                  
  FunctionDefinitionInputs.vue                      |    61.9 |    33.33 |      50 |    61.9 | 147-172                                                                                                                                  
  FunctionDefinitionInputsItem.vue                  |   67.92 |    27.77 |   53.84 |   67.92 | 166,172,182,186,209,216,245-250,277-301                                                                                                  
  FunctionDefinitionName.vue                        |    61.9 |       50 |   71.42 |    61.9 | 70,87-94,99,112-117                                                                                                                      
  FunctionDefinitionOutput.vue                      |   76.92 |       50 |      60 |   76.92 | 86,103-107                                                                                                                               
 ext.wikilambda.edit/components/types               |   29.35 |     6.54 |    9.77 |   29.35 |                                                                                                                                          
  ZArgument.vue                                     |   22.58 |        0 |       0 |   22.58 | 58-119                                                                                                                                   
  ZArgumentList.vue                                 |   41.66 |      100 |       0 |   41.66 | 42-55                                                                                                                                    
  ZArgumentReference.vue                            |   38.46 |        0 |       0 |   38.46 | 57-89                                                                                                                                    
  ZBoolean.vue                                      |   38.46 |        0 |       0 |   38.46 | 59-86                                                                                                                                    
  ZCharacter.vue                                    |   55.55 |      100 |       0 |   55.55 | 50-72                                                                                                                                    
  ZCode.vue                                         |   83.33 |    71.42 |    92.3 |   83.33 | 107-108,152-162,181                                                                                                                      
  ZFunction.vue                                     |   26.31 |        0 |       0 |   26.31 | 59-181                                                                                                                                   
  ZFunctionCall.vue                                 |    14.1 |        0 |       0 |    14.1 | 100-322                                                                                                                                  
  ZFunctionCallToType.vue                           |      20 |        0 |       0 |      20 | 54-142                                                                                                                                   
  ZImplementation.vue                               |   57.89 |       40 |      60 |   57.89 | 147-154,172,178-187,192,221-239,254,264-279,290,292                                                                                      
  ZKey.vue                                          |   35.71 |        0 |       0 |   35.71 | 63-94                                                                                                                                    
  ZLabelsBlock.vue                                  |    8.91 |        0 |       0 |    8.91 | 124-488                                                                                                                                  
  ZListItem.vue                                     |   42.85 |      100 |       0 |   42.85 | 74-106                                                                                                                                   
  ZMonolingualString.vue                            |   27.27 |        0 |       0 |   27.27 | 68-132                                                                                                                                   
  ZMultilingualString.vue                           |   21.21 |        0 |       0 |   21.21 | 63-151                                                                                                                                   
  ZPersistentObject.vue                             |   47.82 |        0 |       0 |   47.82 | 113-149                                                                                                                                  
  ZReference.vue                                    |   27.27 |        0 |       0 |   27.27 | 71-128                                                                                                                                   
  ZResponseEnvelope.vue                             |   21.95 |        0 |       0 |   21.95 | 84-166                                                                                                                                   
  ZString.vue                                       |   41.66 |        0 |       0 |   41.66 | 48-72                                                                                                                                    
  ZTester.vue                                       |   41.66 |        0 |       0 |   41.66 | 82-128                                                                                                                                   
  ZType.vue                                         |   36.36 |        0 |       0 |   36.36 | 91-155                                                                                                                                   
  ZTypedList.vue                                    |   30.43 |        0 |       0 |   30.43 | 64-133                                                                                                                                   
  ZTypedMap.vue                                     |   21.21 |        0 |       0 |   21.21 | 69-161                                                                                                                                   
  ZTypedPair.vue                                    |   17.64 |        0 |       0 |   17.64 | 78-173                                                                                                                                   
 ext.wikilambda.edit/composables                    |   95.23 |      100 |   85.71 |   95.23 |                                                                                                                                          
  useBreakpoints.js                                 |   95.23 |      100 |   85.71 |   95.23 | 14                                                                                                                                       
 ext.wikilambda.edit/mixins                         |    66.2 |    68.78 |   71.42 |   66.78 |                                                                                                                                          
  api.js                                            |   93.33 |       75 |   83.33 |   93.33 | 54                                                                                                                                       
  domUtils.js                                       |      20 |        0 |       0 |      20 | 11-19                                                                                                                                    
  portray.js                                        |    5.97 |        0 |       0 |    6.15 | 40-177                                                                                                                                   
  schemata.js                                       |   77.92 |    73.68 |   81.81 |   78.66 | 45-59,80,161-175                                                                                                                         
  typeUtils.js                                      |     100 |      100 |     100 |     100 |                                                                                                                                          
  urlUtils.js                                       |   88.88 |       75 |     100 |   88.88 | 18                                                                                                                                       
  validator.js                                      |   15.38 |        0 |      25 |   15.38 | 27-53                                                                                                                                    
  zobjectTreeUtils.js                               |     100 |    96.96 |     100 |     100 | 117                                                                                                                                      
 ext.wikilambda.edit/store                          |    86.2 |    66.66 |   58.33 |   85.96 |                                                                                                                                          
  actions.js                                        |   83.33 |      100 |      50 |   83.33 | 41                                                                                                                                       
  getters.js                                        |   89.28 |       60 |   85.71 |   88.88 | 21,57,65                                                                                                                                 
  index.js                                          |     100 |      100 |     100 |     100 |                                                                                                                                          
  mutations.js                                      |      25 |      100 |       0 |      25 | 9-13                                                                                                                                     
  state.js                                          |      50 |      100 |       0 |      50 | 20                                                                                                                                       
 ext.wikilambda.edit/store/modules                  |   66.93 |    55.11 |   72.19 |   66.82 |                                                                                                                                          
  arguments.js                                      |   69.76 |       50 |   54.54 |   69.76 | 38-46,91,95,104,134-135,145,160-161                                                                                                      
  callZFunction.js                                  |   58.33 |        0 |      80 |   58.33 | 22-29                                                                                                                                    
  languages.js                                      |   66.66 |      100 |      40 |   66.66 | 37-47                                                                                                                                    
  programmingLanguages.js                           |   57.14 |      100 |   66.66 |   57.14 | 49-79                                                                                                                                    
  router.js                                         |     100 |      100 |     100 |     100 |                                                                                                                                          
  zImplementations.js                               |   52.94 |       50 |   64.28 |   52.94 | 14,40-85                                                                                                                                 
  zKeys.js                                          |   76.38 |    54.28 |   77.77 |   76.38 | 43-49,86,131,145,155-156,194,262-279                                                                                                     
  zTesterResults.js                                 |   69.51 |    57.14 |   81.81 |   69.51 | 26,33,87-143,288,319                                                                                                                     
  zTesters.js                                       |   21.42 |     6.25 |   33.33 |   21.64 | 17,36-39,55-132,182-341                                                                                                                  
  zTypedList.js                                     |   33.84 |    10.34 |   33.33 |   33.84 | 13-20,79-119,149-219,266-277                                                                                                             
  zobject.js                                        |   76.19 |    59.28 |   81.44 |   75.85 | 52-59,71-72,143,241,252-253,320-340,355,358,362-363,372,374,382-383,459-462,484,541,594,645-677,692,707-712,800-884,918,936,940,994-1012 
  zobjectModes.js                                   |     100 |      100 |     100 |     100 |                                                                                                                                          
 ext.wikilambda.edit/store/modules/zobject          |   48.18 |    29.93 |   66.66 |   48.18 |                                                                                                                                          
  addZObjects.js                                    |   44.18 |    20.38 |   57.69 |   44.18 | 24,51-70,148-165,262-266,304-373,573-740,756-762,766-782                                                                                 
  currentZObject.js                                 |   62.29 |    48.14 |   78.94 |   62.29 | 21,58-63,96,103-104,109-110,121,148-149,158-160,169-171,198-212                                                                          
 ext.wikilambda.edit/views                          |   69.23 |        0 |   36.36 |   69.23 |                                                                                                                                          
  FunctionEditor.vue                                |    87.5 |      100 |       0 |    87.5 | 53                                                                                                                                       
  FunctionViewer.vue                                |     100 |      100 |     100 |     100 |                                                                                                                                          
  ZObjectEditor.vue                                 |      50 |        0 |   33.33 |      50 | 96-102,122-145                                                                                                                           
  ZObjectViewer.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                                          
 ext.wikilambda.edit/views/function                 |   68.87 |    66.98 |   68.96 |   69.03 |                                                                                                                                          
  FunctionAbout.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                                          
  FunctionDefinition.vue                            |   47.89 |       44 |   54.76 |    48.3 | 306-310,344-486,501,537,544                                                                                                              
  FunctionDetails.vue                               |   88.49 |     87.5 |   82.22 |   88.39 | 117,196,270,422-433,448,463,478,497                                                                                                      
  FunctionImplementations.vue                       |     100 |      100 |     100 |     100 |                                                                                                                                          
  FunctionTests.vue                                 |     100 |      100 |     100 |     100 |                                                                                                                                          
 ext.wikilambda.edit/views/function/about           |   52.04 |     12.5 |   60.71 |   52.04 |                                                                                                                                          
  FunctionViewerAboutAliases.vue                    |   39.62 |    13.33 |   52.94 |   39.62 | 76-80,88,97-131,137,146-156,162-181                                                                                                      
  FunctionViewerAboutDetails.vue                    |     100 |      100 |     100 |     100 |                                                                                                                                          
  FunctionViewerAboutExamples.vue                   |    90.9 |    33.33 |     100 |    90.9 | 60                                                                                                                                       
  FunctionViewerAboutNames.vue                      |   53.33 |        0 |    62.5 |   53.33 | 54-63,69-89,103,109,115                                                                                                                  
 ext.wikilambda.edit/views/function/details         |    40.9 |    21.87 |   44.82 |    40.9 |                                                                                                                                          
  FunctionViewerDetailsSidebar.vue                  |   39.24 |    21.87 |      50 |   39.24 | 145,151-243,299-308,314,326-406,412                                                                                                      
  FunctionViewerDetailsTable.vue                    |   55.55 |      100 |      20 |   55.55 | 95-104                                                                                                                                   
 ext.wikilambda.edit/views/function/partials        |   32.69 |        0 |   23.07 |   32.69 |                                                                                                                                          
  FunctionViewerSidebar.vue                         |    90.9 |      100 |      75 |    90.9 | 112                                                                                                                                      
  TesterTableStatus.vue                             |   17.07 |        0 |       0 |   17.07 | 67-147                                                                                                                                   
----------------------------------------------------|---------|----------|---------|---------|------------------------------------------------------------------------------------------------------------------------------------------

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

--- end ---
[DNM] there are no updates
$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpkcl42xid
--- stdout ---
[REL1_39 fb53f3d] [DNM] there are no updates
 1 file changed, 1014 insertions(+), 905 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From fb53f3d2e707e365c8ce4c21664ba40426cd2ef8 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Mon, 17 Nov 2025 13:40:06 +0000
Subject: [PATCH] [DNM] there are no updates

Change-Id: I162a1979d9180e7fdebd21a51a5e30ba7681b0eb
---
 package-lock.json | 1919 ++++++++++++++++++++++++---------------------
 1 file changed, 1014 insertions(+), 905 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 82b1cfe..b38c3f8 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1997,58 +1997,52 @@
 			}
 		},
 		"node_modules/@jest/console": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
+			"integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/@jest/console/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/core": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
+			"integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/console": "^27.4.6",
-				"@jest/reporters": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/reporters": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
 				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-changed-files": "^27.4.2",
-				"jest-config": "^27.4.7",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-resolve-dependencies": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
-				"jest-watcher": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-changed-files": "^27.5.1",
+				"jest-config": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-resolve-dependencies": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"jest-watcher": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"rimraf": "^3.0.0",
 				"slash": "^3.0.0",
@@ -2066,82 +2060,78 @@
 				}
 			}
 		},
-		"node_modules/@jest/core/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/environment": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+			"integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6"
+				"jest-mock": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/fake-timers": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+			"integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@sinonjs/fake-timers": "^8.0.1",
 				"@types/node": "*",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/globals": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
+			"integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"expect": "^27.4.6"
+				"@jest/environment": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"expect": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/reporters": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
+			"integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@bcoe/v8-coverage": "^0.2.3",
-				"@jest/console": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"exit": "^0.1.2",
 				"glob": "^7.1.2",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"istanbul-lib-coverage": "^3.0.0",
 				"istanbul-lib-instrument": "^5.1.0",
 				"istanbul-lib-report": "^3.0.0",
 				"istanbul-lib-source-maps": "^4.0.0",
 				"istanbul-reports": "^3.1.3",
-				"jest-haste-map": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"jest-haste-map": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"slash": "^3.0.0",
 				"source-map": "^0.6.0",
 				"string-length": "^4.0.1",
@@ -2160,14 +2150,6 @@
 				}
 			}
 		},
-		"node_modules/@jest/reporters/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/reporters/node_modules/source-map": {
 			"version": "0.6.1",
 			"dev": true,
@@ -2177,12 +2159,13 @@
 			}
 		},
 		"node_modules/@jest/source-map": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
+			"integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"callsites": "^3.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"source-map": "^0.6.0"
 			},
 			"engines": {
@@ -2191,19 +2174,21 @@
 		},
 		"node_modules/@jest/source-map/node_modules/source-map": {
 			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+			"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
 		"node_modules/@jest/test-result": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
+			"integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/console": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/istanbul-lib-coverage": "^2.0.0",
 				"collect-v8-coverage": "^1.0.0"
 			},
@@ -2212,34 +2197,36 @@
 			}
 		},
 		"node_modules/@jest/test-sequencer": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
+			"integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/test-result": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-runtime": "^27.4.6"
+				"@jest/test-result": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-runtime": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/@jest/transform": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
+			"integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/core": "^7.1.0",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"babel-plugin-istanbul": "^6.1.1",
 				"chalk": "^4.0.0",
 				"convert-source-map": "^1.4.0",
 				"fast-json-stable-stringify": "^2.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"pirates": "^4.0.4",
 				"slash": "^3.0.0",
@@ -2250,14 +2237,6 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/@jest/transform/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/@jest/transform/node_modules/source-map": {
 			"version": "0.6.1",
 			"dev": true,
@@ -2267,9 +2246,10 @@
 			}
 		},
 		"node_modules/@jest/types": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+			"integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@types/istanbul-lib-coverage": "^2.0.0",
 				"@types/istanbul-reports": "^3.0.0",
@@ -2379,17 +2359,19 @@
 			}
 		},
 		"node_modules/@sinonjs/commons": {
-			"version": "1.8.3",
+			"version": "1.8.6",
+			"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz",
+			"integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"dependencies": {
 				"type-detect": "4.0.8"
 			}
 		},
 		"node_modules/@sinonjs/fake-timers": {
 			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
+			"integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"dependencies": {
 				"@sinonjs/commons": "^1.7.0"
 			}
@@ -2407,8 +2389,9 @@
 		},
 		"node_modules/@tootallnate/once": {
 			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+			"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">= 6"
 			}
@@ -2420,29 +2403,32 @@
 			"dev": true
 		},
 		"node_modules/@types/babel__core": {
-			"version": "7.1.18",
+			"version": "7.20.5",
+			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+			"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@babel/parser": "^7.1.0",
-				"@babel/types": "^7.0.0",
+				"@babel/parser": "^7.20.7",
+				"@babel/types": "^7.20.7",
 				"@types/babel__generator": "*",
 				"@types/babel__template": "*",
 				"@types/babel__traverse": "*"
 			}
 		},
 		"node_modules/@types/babel__generator": {
-			"version": "7.6.4",
+			"version": "7.27.0",
+			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+			"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"node_modules/@types/babel__template": {
-			"version": "7.4.1",
+			"version": "7.4.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+			"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/parser": "^7.1.0",
 				"@babel/types": "^7.0.0"
@@ -3612,9 +3598,11 @@
 			}
 		},
 		"node_modules/abab": {
-			"version": "2.0.5",
-			"dev": true,
-			"license": "BSD-3-Clause"
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+			"integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
+			"deprecated": "Use your platform's native atob() and btoa() methods instead",
+			"dev": true
 		},
 		"node_modules/abbrev": {
 			"version": "1.1.1",
@@ -3634,8 +3622,9 @@
 		},
 		"node_modules/acorn-globals": {
 			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+			"integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"acorn": "^7.1.1",
 				"acorn-walk": "^7.1.1"
@@ -3651,8 +3640,9 @@
 		},
 		"node_modules/acorn-walk": {
 			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+			"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=0.4.0"
 			}
@@ -3969,17 +3959,18 @@
 			"dev": true
 		},
 		"node_modules/babel-jest": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
+			"integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__core": "^7.1.14",
 				"babel-plugin-istanbul": "^6.1.1",
-				"babel-preset-jest": "^27.4.0",
+				"babel-preset-jest": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"slash": "^3.0.0"
 			},
 			"engines": {
@@ -3989,14 +3980,6 @@
 				"@babel/core": "^7.8.0"
 			}
 		},
-		"node_modules/babel-jest/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/babel-plugin-dynamic-import-node": {
 			"version": "2.3.3",
 			"dev": true,
@@ -4021,9 +4004,10 @@
 			}
 		},
 		"node_modules/babel-plugin-jest-hoist": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
+			"integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/template": "^7.3.3",
 				"@babel/types": "^7.3.3",
@@ -4102,11 +4086,12 @@
 			}
 		},
 		"node_modules/babel-preset-jest": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
+			"integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"babel-plugin-jest-hoist": "^27.4.0",
+				"babel-plugin-jest-hoist": "^27.5.1",
 				"babel-preset-current-node-syntax": "^1.0.0"
 			},
 			"engines": {
@@ -4196,8 +4181,9 @@
 		},
 		"node_modules/browser-process-hrtime": {
 			"version": "1.0.0",
-			"dev": true,
-			"license": "BSD-2-Clause"
+			"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+			"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
+			"dev": true
 		},
 		"node_modules/browser-stdout": {
 			"version": "1.3.1",
@@ -4672,8 +4658,9 @@
 		},
 		"node_modules/co": {
 			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+			"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"iojs": ">= 1.0.0",
 				"node": ">= 0.12.0"
@@ -5026,13 +5013,15 @@
 		},
 		"node_modules/cssom": {
 			"version": "0.4.4",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+			"integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
+			"dev": true
 		},
 		"node_modules/cssstyle": {
 			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+			"integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"cssom": "~0.3.6"
 			},
@@ -5042,8 +5031,9 @@
 		},
 		"node_modules/cssstyle/node_modules/cssom": {
 			"version": "0.3.8",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+			"integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
+			"dev": true
 		},
 		"node_modules/csstype": {
 			"version": "2.6.20",
@@ -5065,8 +5055,9 @@
 		},
 		"node_modules/data-urls": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+			"integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"abab": "^2.0.3",
 				"whatwg-mimetype": "^2.3.0",
@@ -5123,9 +5114,10 @@
 			}
 		},
 		"node_modules/decimal.js": {
-			"version": "10.3.1",
-			"dev": true,
-			"license": "MIT"
+			"version": "10.6.0",
+			"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+			"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
+			"dev": true
 		},
 		"node_modules/decode-uri-component": {
 			"version": "0.2.2",
@@ -5163,8 +5155,9 @@
 		},
 		"node_modules/dedent": {
 			"version": "0.7.0",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+			"integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
+			"dev": true
 		},
 		"node_modules/deep-is": {
 			"version": "0.1.3",
@@ -5225,8 +5218,9 @@
 		},
 		"node_modules/detect-newline": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+			"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=8"
 			}
@@ -5286,9 +5280,10 @@
 			}
 		},
 		"node_modules/diff-sequences": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
@@ -5384,8 +5379,10 @@
 		},
 		"node_modules/domexception": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+			"integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+			"deprecated": "Use your platform's native DOMException instead",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"webidl-conversions": "^5.0.0"
 			},
@@ -5395,8 +5392,9 @@
 		},
 		"node_modules/domexception/node_modules/webidl-conversions": {
 			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+			"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"engines": {
 				"node": ">=8"
 			}
@@ -5653,14 +5651,14 @@
 			}
 		},
 		"node_modules/escodegen": {
-			"version": "2.0.0",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+			"integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"dependencies": {
 				"esprima": "^4.0.1",
 				"estraverse": "^5.2.0",
-				"esutils": "^2.0.2",
-				"optionator": "^0.8.1"
+				"esutils": "^2.0.2"
 			},
 			"bin": {
 				"escodegen": "bin/escodegen.js",
@@ -5675,67 +5673,23 @@
 		},
 		"node_modules/escodegen/node_modules/estraverse": {
 			"version": "5.3.0",
+			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+			"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"engines": {
 				"node": ">=4.0"
 			}
 		},
-		"node_modules/escodegen/node_modules/levn": {
-			"version": "0.3.0",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"prelude-ls": "~1.1.2",
-				"type-check": "~0.3.2"
-			},
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
-		"node_modules/escodegen/node_modules/optionator": {
-			"version": "0.8.3",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"deep-is": "~0.1.3",
-				"fast-levenshtein": "~2.0.6",
-				"levn": "~0.3.0",
-				"prelude-ls": "~1.1.2",
-				"type-check": "~0.3.2",
-				"word-wrap": "~1.2.3"
-			},
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
-		"node_modules/escodegen/node_modules/prelude-ls": {
-			"version": "1.1.2",
-			"dev": true,
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
 		"node_modules/escodegen/node_modules/source-map": {
 			"version": "0.6.1",
+			"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+			"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 			"dev": true,
-			"license": "BSD-3-Clause",
 			"optional": true,
 			"engines": {
 				"node": ">=0.10.0"
 			}
 		},
-		"node_modules/escodegen/node_modules/type-check": {
-			"version": "0.3.2",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"prelude-ls": "~1.1.2"
-			},
-			"engines": {
-				"node": ">= 0.8.0"
-			}
-		},
 		"node_modules/eslint": {
 			"version": "7.32.0",
 			"dev": true,
@@ -6076,9 +6030,9 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -7281,14 +7235,15 @@
 			}
 		},
 		"node_modules/expect": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
+			"integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
-				"jest-get-type": "^27.4.0",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -7898,15 +7853,6 @@
 				"node": ">= 4"
 			}
 		},
-		"node_modules/globby/node_modules/slash": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-			"dev": true,
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/globjoin": {
 			"version": "0.1.4",
 			"dev": true,
@@ -7964,9 +7910,10 @@
 			}
 		},
 		"node_modules/graceful-fs": {
-			"version": "4.2.6",
-			"dev": true,
-			"license": "ISC"
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+			"dev": true
 		},
 		"node_modules/grapheme-splitter": {
 			"version": "1.0.4",
@@ -8280,8 +8227,9 @@
 		},
 		"node_modules/html-encoding-sniffer": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+			"integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"whatwg-encoding": "^1.0.5"
 			},
@@ -8333,8 +8281,9 @@
 		},
 		"node_modules/http-proxy-agent": {
 			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+			"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@tootallnate/once": "1",
 				"agent-base": "6",
@@ -8345,11 +8294,12 @@
 			}
 		},
 		"node_modules/http-proxy-agent/node_modules/debug": {
-			"version": "4.3.3",
+			"version": "4.4.3",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+			"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"ms": "2.1.2"
+				"ms": "^2.1.3"
 			},
 			"engines": {
 				"node": ">=6.0"
@@ -8361,9 +8311,10 @@
 			}
 		},
 		"node_modules/http-proxy-agent/node_modules/ms": {
-			"version": "2.1.2",
-			"dev": true,
-			"license": "MIT"
+			"version": "2.1.3",
+			"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+			"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+			"dev": true
 		},
 		"node_modules/http-signature": {
 			"version": "1.2.0",
@@ -8662,8 +8613,9 @@
 		},
 		"node_modules/is-generator-fn": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+			"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=6"
 			}
@@ -8720,8 +8672,9 @@
 		},
 		"node_modules/is-potential-custom-element-name": {
 			"version": "1.0.1",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+			"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
+			"dev": true
 		},
 		"node_modules/is-regexp": {
 			"version": "2.1.0",
@@ -8971,11 +8924,12 @@
 			}
 		},
 		"node_modules/jest-changed-files": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
+			"integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"execa": "^5.0.0",
 				"throat": "^6.0.1"
 			},
@@ -8984,26 +8938,27 @@
 			}
 		},
 		"node_modules/jest-circus": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+			"integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
 				"dedent": "^0.7.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3",
 				"throat": "^6.0.1"
@@ -9012,41 +8967,70 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/jest-circus/node_modules/slash": {
-			"version": "3.0.0",
+		"node_modules/jest-cli": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+			"integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
 			"dev": true,
-			"license": "MIT",
+			"dependencies": {
+				"@jest/core": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"chalk": "^4.0.0",
+				"exit": "^0.1.2",
+				"graceful-fs": "^4.2.9",
+				"import-local": "^3.0.2",
+				"jest-config": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"prompts": "^2.0.1",
+				"yargs": "^16.2.0"
+			},
+			"bin": {
+				"jest": "bin/jest.js"
+			},
 			"engines": {
-				"node": ">=8"
+				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
+			},
+			"peerDependencies": {
+				"node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+			},
+			"peerDependenciesMeta": {
+				"node-notifier": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/jest-config": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+			"integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/core": "^7.8.0",
-				"@jest/test-sequencer": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"babel-jest": "^27.4.6",
+				"@jest/test-sequencer": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"babel-jest": "^27.5.1",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
 				"deepmerge": "^4.2.2",
 				"glob": "^7.1.1",
-				"graceful-fs": "^4.2.4",
-				"jest-circus": "^27.4.6",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-jasmine2": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-circus": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-jasmine2": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
-				"slash": "^3.0.0"
+				"parse-json": "^5.2.0",
+				"pretty-format": "^27.5.1",
+				"slash": "^3.0.0",
+				"strip-json-comments": "^3.1.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -9060,32 +9044,44 @@
 				}
 			}
 		},
-		"node_modules/jest-config/node_modules/slash": {
-			"version": "3.0.0",
+		"node_modules/jest-config/node_modules/parse-json": {
+			"version": "5.2.0",
+			"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+			"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
 			"dev": true,
-			"license": "MIT",
+			"dependencies": {
+				"@babel/code-frame": "^7.0.0",
+				"error-ex": "^1.3.1",
+				"json-parse-even-better-errors": "^2.3.0",
+				"lines-and-columns": "^1.1.6"
+			},
 			"engines": {
 				"node": ">=8"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/jest-diff": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+			"integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"chalk": "^4.0.0",
-				"diff-sequences": "^27.4.0",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"diff-sequences": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-docblock": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+			"integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"detect-newline": "^3.0.0"
 			},
@@ -9094,31 +9090,33 @@
 			}
 		},
 		"node_modules/jest-each": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+			"integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-environment-jsdom": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+			"integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"jsdom": "^16.6.0"
 			},
 			"engines": {
@@ -9126,44 +9124,47 @@
 			}
 		},
 		"node_modules/jest-environment-node": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
+			"integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-get-type": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+			"integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-haste-map": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
+			"integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/graceful-fs": "^4.1.2",
 				"@types/node": "*",
 				"anymatch": "^3.0.3",
 				"fb-watchman": "^2.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-regex-util": "^27.4.0",
-				"jest-serializer": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-regex-util": "^27.5.1",
+				"jest-serializer": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"walker": "^1.0.7"
 			},
@@ -9175,26 +9176,27 @@
 			}
 		},
 		"node_modules/jest-jasmine2": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+			"integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"throat": "^6.0.1"
 			},
 			"engines": {
@@ -9202,43 +9204,46 @@
 			}
 		},
 		"node_modules/jest-leak-detector": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
+			"integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-matcher-utils": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+			"integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"chalk": "^4.0.0",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-message-util": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+			"integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/stack-utils": "^2.0.0",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3"
 			},
@@ -9257,20 +9262,13 @@
 				"node": ">=6.9.0"
 			}
 		},
-		"node_modules/jest-message-util/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/jest-mock": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+			"integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*"
 			},
 			"engines": {
@@ -9294,25 +9292,27 @@
 			}
 		},
 		"node_modules/jest-regex-util": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+			"integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-resolve": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
+			"integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
 				"jest-pnp-resolver": "^1.2.2",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"resolve": "^1.20.0",
 				"resolve.exports": "^1.1.0",
 				"slash": "^3.0.0"
@@ -9322,51 +9322,44 @@
 			}
 		},
 		"node_modules/jest-resolve-dependencies": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
+			"integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
-				"jest-regex-util": "^27.4.0",
-				"jest-snapshot": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-snapshot": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/jest-resolve/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/jest-runner": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
+			"integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/console": "^27.4.6",
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
-				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-docblock": "^27.4.0",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-haste-map": "^27.4.6",
-				"jest-leak-detector": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-docblock": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-leak-detector": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"source-map-support": "^0.5.6",
 				"throat": "^6.0.1"
 			},
@@ -9392,30 +9385,31 @@
 			}
 		},
 		"node_modules/jest-runtime": {
-			"version": "27.4.6",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/globals": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
+			"integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
+			"dev": true,
+			"dependencies": {
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/globals": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
 				"cjs-module-lexer": "^1.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"execa": "^5.0.0",
 				"glob": "^7.1.3",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0",
 				"strip-bom": "^4.0.0"
 			},
@@ -9423,14 +9417,6 @@
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
-		"node_modules/jest-runtime/node_modules/slash": {
-			"version": "3.0.0",
-			"dev": true,
-			"license": "MIT",
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/jest-runtime/node_modules/strip-bom": {
 			"version": "4.0.0",
 			"dev": true,
@@ -9440,43 +9426,45 @@
 			}
 		},
 		"node_modules/jest-serializer": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
+			"integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@types/node": "*",
-				"graceful-fs": "^4.2.4"
+				"graceful-fs": "^4.2.9"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
 			}
 		},
 		"node_modules/jest-snapshot": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
+			"integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@babel/core": "^7.7.2",
 				"@babel/generator": "^7.7.2",
 				"@babel/plugin-syntax-typescript": "^7.7.2",
 				"@babel/traverse": "^7.7.2",
 				"@babel/types": "^7.0.0",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__traverse": "^7.0.4",
 				"@types/prettier": "^2.1.5",
 				"babel-preset-current-node-syntax": "^1.0.0",
 				"chalk": "^4.0.0",
-				"expect": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-haste-map": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"expect": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"natural-compare": "^1.4.0",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"semver": "^7.3.2"
 			},
 			"engines": {
@@ -9515,15 +9503,16 @@
 			"license": "ISC"
 		},
 		"node_modules/jest-util": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+			"integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"picomatch": "^2.2.3"
 			},
 			"engines": {
@@ -9531,16 +9520,17 @@
 			}
 		},
 		"node_modules/jest-validate": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
+			"integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"camelcase": "^6.2.0",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
+				"jest-get-type": "^27.5.1",
 				"leven": "^3.1.0",
-				"pretty-format": "^27.4.6"
+				"pretty-format": "^27.5.1"
 			},
 			"engines": {
 				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
@@ -9548,8 +9538,9 @@
 		},
 		"node_modules/jest-validate/node_modules/camelcase": {
 			"version": "6.3.0",
+			"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+			"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=10"
 			},
@@ -9558,16 +9549,17 @@
 			}
 		},
 		"node_modules/jest-watcher": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
+			"integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
-				"jest-util": "^27.4.2",
+				"jest-util": "^27.5.1",
 				"string-length": "^4.0.1"
 			},
 			"engines": {
@@ -9575,9 +9567,10 @@
 			}
 		},
 		"node_modules/jest-worker": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+			"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"@types/node": "*",
 				"merge-stream": "^2.0.0",
@@ -9589,8 +9582,9 @@
 		},
 		"node_modules/jest-worker/node_modules/supports-color": {
 			"version": "8.1.1",
+			"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+			"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"has-flag": "^4.0.0"
 			},
@@ -9601,39 +9595,6 @@
 				"url": "https://github.com/chalk/supports-color?sponsor=1"
 			}
 		},
-		"node_modules/jest/node_modules/jest-cli": {
-			"version": "27.4.7",
-			"dev": true,
-			"license": "MIT",
-			"dependencies": {
-				"@jest/core": "^27.4.7",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"chalk": "^4.0.0",
-				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"import-local": "^3.0.2",
-				"jest-config": "^27.4.7",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
-				"prompts": "^2.0.1",
-				"yargs": "^16.2.0"
-			},
-			"bin": {
-				"jest": "bin/jest.js"
-			},
-			"engines": {
-				"node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0"
-			},
-			"peerDependencies": {
-				"node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
-			},
-			"peerDependenciesMeta": {
-				"node-notifier": {
-					"optional": true
-				}
-			}
-		},
 		"node_modules/jquery": {
 			"version": "3.6.1",
 			"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.1.tgz",
@@ -9648,9 +9609,10 @@
 			"dev": true
 		},
 		"node_modules/js-yaml": {
-			"version": "3.14.1",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"argparse": "^1.0.7",
 				"esprima": "^4.0.0"
@@ -9734,8 +9696,9 @@
 		},
 		"node_modules/jsdom": {
 			"version": "16.7.0",
+			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+			"integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"abab": "^2.0.5",
 				"acorn": "^8.2.4",
@@ -9778,9 +9741,10 @@
 			}
 		},
 		"node_modules/jsdom/node_modules/acorn": {
-			"version": "8.7.0",
+			"version": "8.15.0",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+			"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
 			"dev": true,
-			"license": "MIT",
 			"bin": {
 				"acorn": "bin/acorn"
 			},
@@ -10031,8 +9995,9 @@
 		},
 		"node_modules/leven": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+			"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=6"
 			}
@@ -10891,9 +10856,9 @@
 			}
 		},
 		"node_modules/mocha/node_modules/js-yaml": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-			"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+			"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 			"dev": true,
 			"dependencies": {
 				"argparse": "^2.0.1"
@@ -11192,9 +11157,10 @@
 			}
 		},
 		"node_modules/nwsapi": {
-			"version": "2.2.0",
-			"dev": true,
-			"license": "MIT"
+			"version": "2.2.22",
+			"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz",
+			"integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==",
+			"dev": true
 		},
 		"node_modules/oauth-sign": {
 			"version": "0.9.0",
@@ -11466,8 +11432,9 @@
 		},
 		"node_modules/parse5": {
 			"version": "6.0.1",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+			"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+			"dev": true
 		},
 		"node_modules/path-exists": {
 			"version": "4.0.0",
@@ -11729,9 +11696,10 @@
 			}
 		},
 		"node_modules/pretty-format": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+			"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"ansi-regex": "^5.0.1",
 				"ansi-styles": "^5.0.0",
@@ -12541,8 +12509,9 @@
 		},
 		"node_modules/saxes": {
 			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+			"integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
 			"dev": true,
-			"license": "ISC",
 			"dependencies": {
 				"xmlchars": "^2.2.0"
 			},
@@ -12688,6 +12657,15 @@
 			"dev": true,
 			"license": "MIT"
 		},
+		"node_modules/slash": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=8"
+			}
+		},
 		"node_modules/slice-ansi": {
 			"version": "4.0.0",
 			"dev": true,
@@ -13396,8 +13374,9 @@
 		},
 		"node_modules/symbol-tree": {
 			"version": "3.2.4",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+			"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
+			"dev": true
 		},
 		"node_modules/table": {
 			"version": "6.8.0",
@@ -13556,9 +13535,9 @@
 			}
 		},
 		"node_modules/tough-cookie": {
-			"version": "4.1.3",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
-			"integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
+			"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",
@@ -13581,8 +13560,9 @@
 		},
 		"node_modules/tr46": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+			"integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"punycode": "^2.1.1"
 			},
@@ -13675,8 +13655,9 @@
 		},
 		"node_modules/type-detect": {
 			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+			"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
 			"dev": true,
-			"license": "MIT",
 			"engines": {
 				"node": ">=4"
 			}
@@ -14084,16 +14065,19 @@
 		},
 		"node_modules/w3c-hr-time": {
 			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+			"integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+			"deprecated": "Use your platform's native performance.now() and performance.timeOrigin.",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"browser-process-hrtime": "^1.0.0"
 			}
 		},
 		"node_modules/w3c-xmlserializer": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+			"integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"xml-name-validator": "^3.0.0"
 			},
@@ -14222,29 +14206,33 @@
 		},
 		"node_modules/webidl-conversions": {
 			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+			"integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
 			"dev": true,
-			"license": "BSD-2-Clause",
 			"engines": {
 				"node": ">=10.4"
 			}
 		},
 		"node_modules/whatwg-encoding": {
 			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+			"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"iconv-lite": "0.4.24"
 			}
 		},
 		"node_modules/whatwg-mimetype": {
 			"version": "2.3.0",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+			"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
+			"dev": true
 		},
 		"node_modules/whatwg-url": {
 			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+			"integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
 			"dev": true,
-			"license": "MIT",
 			"dependencies": {
 				"lodash": "^4.7.0",
 				"tr46": "^2.1.0",
@@ -14338,8 +14326,9 @@
 		},
 		"node_modules/xml-name-validator": {
 			"version": "3.0.0",
-			"dev": true,
-			"license": "Apache-2.0"
+			"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+			"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
+			"dev": true
 		},
 		"node_modules/xmlbuilder": {
 			"version": "15.1.1",
@@ -14351,8 +14340,9 @@
 		},
 		"node_modules/xmlchars": {
 			"version": "2.2.0",
-			"dev": true,
-			"license": "MIT"
+			"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+			"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
+			"dev": true
 		},
 		"node_modules/xmlcreate": {
 			"version": "2.0.4",
@@ -15824,118 +15814,118 @@
 			"dev": true
 		},
 		"@jest/console": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz",
+			"integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"@jest/core": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz",
+			"integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==",
 			"dev": true,
 			"requires": {
-				"@jest/console": "^27.4.6",
-				"@jest/reporters": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/reporters": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
 				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-changed-files": "^27.4.2",
-				"jest-config": "^27.4.7",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-resolve-dependencies": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
-				"jest-watcher": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-changed-files": "^27.5.1",
+				"jest-config": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-resolve-dependencies": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"jest-watcher": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"rimraf": "^3.0.0",
 				"slash": "^3.0.0",
 				"strip-ansi": "^6.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"@jest/environment": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz",
+			"integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==",
 			"dev": true,
 			"requires": {
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6"
+				"jest-mock": "^27.5.1"
 			}
 		},
 		"@jest/fake-timers": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz",
+			"integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@sinonjs/fake-timers": "^8.0.1",
 				"@types/node": "*",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			}
 		},
 		"@jest/globals": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz",
+			"integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"expect": "^27.4.6"
+				"@jest/environment": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"expect": "^27.5.1"
 			}
 		},
 		"@jest/reporters": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz",
+			"integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==",
 			"dev": true,
 			"requires": {
 				"@bcoe/v8-coverage": "^0.2.3",
-				"@jest/console": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"exit": "^0.1.2",
 				"glob": "^7.1.2",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"istanbul-lib-coverage": "^3.0.0",
 				"istanbul-lib-instrument": "^5.1.0",
 				"istanbul-lib-report": "^3.0.0",
 				"istanbul-lib-source-maps": "^4.0.0",
 				"istanbul-reports": "^3.1.3",
-				"jest-haste-map": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"jest-haste-map": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"slash": "^3.0.0",
 				"source-map": "^0.6.0",
 				"string-length": "^4.0.1",
@@ -15943,10 +15933,6 @@
 				"v8-to-istanbul": "^8.1.0"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				},
 				"source-map": {
 					"version": "0.6.1",
 					"dev": true
@@ -15954,54 +15940,64 @@
 			}
 		},
 		"@jest/source-map": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz",
+			"integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==",
 			"dev": true,
 			"requires": {
 				"callsites": "^3.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"source-map": "^0.6.0"
 			},
 			"dependencies": {
 				"source-map": {
 					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true
 				}
 			}
 		},
 		"@jest/test-result": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz",
+			"integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==",
 			"dev": true,
 			"requires": {
-				"@jest/console": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/istanbul-lib-coverage": "^2.0.0",
 				"collect-v8-coverage": "^1.0.0"
 			}
 		},
 		"@jest/test-sequencer": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz",
+			"integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==",
 			"dev": true,
 			"requires": {
-				"@jest/test-result": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-runtime": "^27.4.6"
+				"@jest/test-result": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-runtime": "^27.5.1"
 			}
 		},
 		"@jest/transform": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz",
+			"integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==",
 			"dev": true,
 			"requires": {
 				"@babel/core": "^7.1.0",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"babel-plugin-istanbul": "^6.1.1",
 				"chalk": "^4.0.0",
 				"convert-source-map": "^1.4.0",
 				"fast-json-stable-stringify": "^2.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"pirates": "^4.0.4",
 				"slash": "^3.0.0",
@@ -16009,10 +16005,6 @@
 				"write-file-atomic": "^3.0.0"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				},
 				"source-map": {
 					"version": "0.6.1",
 					"dev": true
@@ -16020,7 +16012,9 @@
 			}
 		},
 		"@jest/types": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz",
+			"integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==",
 			"dev": true,
 			"requires": {
 				"@types/istanbul-lib-coverage": "^2.0.0",
@@ -16100,7 +16094,9 @@
 			"dev": true
 		},
 		"@sinonjs/commons": {
-			"version": "1.8.3",
+			"version": "1.8.6",
+			"resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz",
+			"integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==",
 			"dev": true,
 			"requires": {
 				"type-detect": "4.0.8"
@@ -16108,6 +16104,8 @@
 		},
 		"@sinonjs/fake-timers": {
 			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz",
+			"integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==",
 			"dev": true,
 			"requires": {
 				"@sinonjs/commons": "^1.7.0"
@@ -16122,6 +16120,8 @@
 		},
 		"@tootallnate/once": {
 			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+			"integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
 			"dev": true
 		},
 		"@types/aria-query": {
@@ -16131,25 +16131,31 @@
 			"dev": true
 		},
 		"@types/babel__core": {
-			"version": "7.1.18",
+			"version": "7.20.5",
+			"resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+			"integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
 			"dev": true,
 			"requires": {
-				"@babel/parser": "^7.1.0",
-				"@babel/types": "^7.0.0",
+				"@babel/parser": "^7.20.7",
+				"@babel/types": "^7.20.7",
 				"@types/babel__generator": "*",
 				"@types/babel__template": "*",
 				"@types/babel__traverse": "*"
 			}
 		},
 		"@types/babel__generator": {
-			"version": "7.6.4",
+			"version": "7.27.0",
+			"resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz",
+			"integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==",
 			"dev": true,
 			"requires": {
 				"@babel/types": "^7.0.0"
 			}
 		},
 		"@types/babel__template": {
-			"version": "7.4.1",
+			"version": "7.4.4",
+			"resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+			"integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
 			"dev": true,
 			"requires": {
 				"@babel/parser": "^7.1.0",
@@ -17069,7 +17075,9 @@
 			"requires": {}
 		},
 		"abab": {
-			"version": "2.0.5",
+			"version": "2.0.6",
+			"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+			"integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==",
 			"dev": true
 		},
 		"abbrev": {
@@ -17082,6 +17090,8 @@
 		},
 		"acorn-globals": {
 			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+			"integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
 			"dev": true,
 			"requires": {
 				"acorn": "^7.1.1",
@@ -17095,6 +17105,8 @@
 		},
 		"acorn-walk": {
 			"version": "7.2.0",
+			"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+			"integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
 			"dev": true
 		},
 		"agent-base": {
@@ -17314,23 +17326,19 @@
 			"dev": true
 		},
 		"babel-jest": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz",
+			"integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==",
 			"dev": true,
 			"requires": {
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__core": "^7.1.14",
 				"babel-plugin-istanbul": "^6.1.1",
-				"babel-preset-jest": "^27.4.0",
+				"babel-preset-jest": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"slash": "^3.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"babel-plugin-dynamic-import-node": {
@@ -17352,7 +17360,9 @@
 			}
 		},
 		"babel-plugin-jest-hoist": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz",
+			"integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==",
 			"dev": true,
 			"requires": {
 				"@babel/template": "^7.3.3",
@@ -17412,10 +17422,12 @@
 			}
 		},
 		"babel-preset-jest": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz",
+			"integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==",
 			"dev": true,
 			"requires": {
-				"babel-plugin-jest-hoist": "^27.4.0",
+				"babel-plugin-jest-hoist": "^27.5.1",
 				"babel-preset-current-node-syntax": "^1.0.0"
 			}
 		},
@@ -17474,6 +17486,8 @@
 		},
 		"browser-process-hrtime": {
 			"version": "1.0.0",
+			"resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+			"integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==",
 			"dev": true
 		},
 		"browser-stdout": {
@@ -17781,6 +17795,8 @@
 		},
 		"co": {
 			"version": "4.6.0",
+			"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+			"integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
 			"dev": true
 		},
 		"collect-v8-coverage": {
@@ -18062,10 +18078,14 @@
 		},
 		"cssom": {
 			"version": "0.4.4",
+			"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+			"integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==",
 			"dev": true
 		},
 		"cssstyle": {
 			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+			"integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
 			"dev": true,
 			"requires": {
 				"cssom": "~0.3.6"
@@ -18073,6 +18093,8 @@
 			"dependencies": {
 				"cssom": {
 					"version": "0.3.8",
+					"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+					"integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==",
 					"dev": true
 				}
 			}
@@ -18094,6 +18116,8 @@
 		},
 		"data-urls": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+			"integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
 			"dev": true,
 			"requires": {
 				"abab": "^2.0.3",
@@ -18133,7 +18157,9 @@
 			}
 		},
 		"decimal.js": {
-			"version": "10.3.1",
+			"version": "10.6.0",
+			"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.6.0.tgz",
+			"integrity": "sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==",
 			"dev": true
 		},
 		"decode-uri-component": {
@@ -18157,6 +18183,8 @@
 		},
 		"dedent": {
 			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz",
+			"integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==",
 			"dev": true
 		},
 		"deep-is": {
@@ -18197,6 +18225,8 @@
 		},
 		"detect-newline": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+			"integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
 			"dev": true
 		},
 		"devtools": {
@@ -18247,7 +18277,9 @@
 			"dev": true
 		},
 		"diff-sequences": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz",
+			"integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==",
 			"dev": true
 		},
 		"dir-glob": {
@@ -18315,6 +18347,8 @@
 		},
 		"domexception": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+			"integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
 			"dev": true,
 			"requires": {
 				"webidl-conversions": "^5.0.0"
@@ -18322,6 +18356,8 @@
 			"dependencies": {
 				"webidl-conversions": {
 					"version": "5.0.0",
+					"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+					"integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
 					"dev": true
 				}
 			}
@@ -18520,55 +18556,29 @@
 			"dev": true
 		},
 		"escodegen": {
-			"version": "2.0.0",
+			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+			"integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
 			"dev": true,
 			"requires": {
 				"esprima": "^4.0.1",
 				"estraverse": "^5.2.0",
 				"esutils": "^2.0.2",
-				"optionator": "^0.8.1",
 				"source-map": "~0.6.1"
 			},
 			"dependencies": {
 				"estraverse": {
 					"version": "5.3.0",
-					"dev": true
-				},
-				"levn": {
-					"version": "0.3.0",
-					"dev": true,
-					"requires": {
-						"prelude-ls": "~1.1.2",
-						"type-check": "~0.3.2"
-					}
-				},
-				"optionator": {
-					"version": "0.8.3",
-					"dev": true,
-					"requires": {
-						"deep-is": "~0.1.3",
-						"fast-levenshtein": "~2.0.6",
-						"levn": "~0.3.0",
-						"prelude-ls": "~1.1.2",
-						"type-check": "~0.3.2",
-						"word-wrap": "~1.2.3"
-					}
-				},
-				"prelude-ls": {
-					"version": "1.1.2",
+					"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+					"integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
 					"dev": true
 				},
 				"source-map": {
 					"version": "0.6.1",
+					"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+					"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
 					"dev": true,
 					"optional": true
-				},
-				"type-check": {
-					"version": "0.3.2",
-					"dev": true,
-					"requires": {
-						"prelude-ls": "~1.1.2"
-					}
 				}
 			}
 		},
@@ -18895,9 +18905,9 @@
 					"dev": true
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -19611,13 +19621,15 @@
 			}
 		},
 		"expect": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz",
+			"integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
-				"jest-get-type": "^27.4.0",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1"
 			}
 		},
 		"expect-webdriverio": {
@@ -20040,12 +20052,6 @@
 					"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
 					"integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
 					"dev": true
-				},
-				"slash": {
-					"version": "3.0.0",
-					"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
-					"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
-					"dev": true
 				}
 			}
 		},
@@ -20090,7 +20096,9 @@
 			}
 		},
 		"graceful-fs": {
-			"version": "4.2.6",
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
 			"dev": true
 		},
 		"grapheme-splitter": {
@@ -20297,6 +20305,8 @@
 		},
 		"html-encoding-sniffer": {
 			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+			"integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
 			"dev": true,
 			"requires": {
 				"whatwg-encoding": "^1.0.5"
@@ -20332,6 +20342,8 @@
 		},
 		"http-proxy-agent": {
 			"version": "4.0.1",
+			"resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+			"integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
 			"dev": true,
 			"requires": {
 				"@tootallnate/once": "1",
@@ -20340,14 +20352,18 @@
 			},
 			"dependencies": {
 				"debug": {
-					"version": "4.3.3",
+					"version": "4.4.3",
+					"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+					"integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
 					"dev": true,
 					"requires": {
-						"ms": "2.1.2"
+						"ms": "^2.1.3"
 					}
 				},
 				"ms": {
-					"version": "2.1.2",
+					"version": "2.1.3",
+					"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+					"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
 					"dev": true
 				}
 			}
@@ -20534,6 +20550,8 @@
 		},
 		"is-generator-fn": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+			"integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
 			"dev": true
 		},
 		"is-glob": {
@@ -20572,6 +20590,8 @@
 		},
 		"is-potential-custom-element-name": {
 			"version": "1.0.1",
+			"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+			"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
 			"dev": true
 		},
 		"is-regexp": {
@@ -20724,230 +20744,262 @@
 				"@jest/core": "^27.4.7",
 				"import-local": "^3.0.2",
 				"jest-cli": "^27.4.7"
-			},
-			"dependencies": {
-				"jest-cli": {
-					"version": "27.4.7",
-					"dev": true,
-					"requires": {
-						"@jest/core": "^27.4.7",
-						"@jest/test-result": "^27.4.6",
-						"@jest/types": "^27.4.2",
-						"chalk": "^4.0.0",
-						"exit": "^0.1.2",
-						"graceful-fs": "^4.2.4",
-						"import-local": "^3.0.2",
-						"jest-config": "^27.4.7",
-						"jest-util": "^27.4.2",
-						"jest-validate": "^27.4.6",
-						"prompts": "^2.0.1",
-						"yargs": "^16.2.0"
-					}
-				}
 			}
 		},
 		"jest-changed-files": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz",
+			"integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"execa": "^5.0.0",
 				"throat": "^6.0.1"
 			}
 		},
 		"jest-circus": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz",
+			"integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
 				"dedent": "^0.7.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3",
 				"throat": "^6.0.1"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
+			}
+		},
+		"jest-cli": {
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz",
+			"integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==",
+			"dev": true,
+			"requires": {
+				"@jest/core": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"chalk": "^4.0.0",
+				"exit": "^0.1.2",
+				"graceful-fs": "^4.2.9",
+				"import-local": "^3.0.2",
+				"jest-config": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
+				"prompts": "^2.0.1",
+				"yargs": "^16.2.0"
 			}
 		},
 		"jest-config": {
-			"version": "27.4.7",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz",
+			"integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==",
 			"dev": true,
 			"requires": {
 				"@babel/core": "^7.8.0",
-				"@jest/test-sequencer": "^27.4.6",
-				"@jest/types": "^27.4.2",
-				"babel-jest": "^27.4.6",
+				"@jest/test-sequencer": "^27.5.1",
+				"@jest/types": "^27.5.1",
+				"babel-jest": "^27.5.1",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
 				"deepmerge": "^4.2.2",
 				"glob": "^7.1.1",
-				"graceful-fs": "^4.2.4",
-				"jest-circus": "^27.4.6",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-jasmine2": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-runner": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-circus": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-jasmine2": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runner": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
-				"slash": "^3.0.0"
+				"parse-json": "^5.2.0",
+				"pretty-format": "^27.5.1",
+				"slash": "^3.0.0",
+				"strip-json-comments": "^3.1.1"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
+				"parse-json": {
+					"version": "5.2.0",
+					"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+					"integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+					"dev": true,
+					"requires": {
+						"@babel/code-frame": "^7.0.0",
+						"error-ex": "^1.3.1",
+						"json-parse-even-better-errors": "^2.3.0",
+						"lines-and-columns": "^1.1.6"
+					}
 				}
 			}
 		},
 		"jest-diff": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz",
+			"integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==",
 			"dev": true,
 			"requires": {
 				"chalk": "^4.0.0",
-				"diff-sequences": "^27.4.0",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"diff-sequences": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-docblock": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz",
+			"integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==",
 			"dev": true,
 			"requires": {
 				"detect-newline": "^3.0.0"
 			}
 		},
 		"jest-each": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz",
+			"integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-environment-jsdom": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz",
+			"integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"jsdom": "^16.6.0"
 			}
 		},
 		"jest-environment-node": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz",
+			"integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
-				"jest-mock": "^27.4.6",
-				"jest-util": "^27.4.2"
+				"jest-mock": "^27.5.1",
+				"jest-util": "^27.5.1"
 			}
 		},
 		"jest-get-type": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz",
+			"integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==",
 			"dev": true
 		},
 		"jest-haste-map": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz",
+			"integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/graceful-fs": "^4.1.2",
 				"@types/node": "*",
 				"anymatch": "^3.0.3",
 				"fb-watchman": "^2.0.0",
 				"fsevents": "^2.3.2",
-				"graceful-fs": "^4.2.4",
-				"jest-regex-util": "^27.4.0",
-				"jest-serializer": "^27.4.0",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-regex-util": "^27.5.1",
+				"jest-serializer": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"micromatch": "^4.0.4",
 				"walker": "^1.0.7"
 			}
 		},
 		"jest-jasmine2": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz",
+			"integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==",
 			"dev": true,
 			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/environment": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"co": "^4.6.0",
-				"expect": "^27.4.6",
+				"expect": "^27.5.1",
 				"is-generator-fn": "^2.0.0",
-				"jest-each": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"pretty-format": "^27.4.6",
+				"jest-each": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"pretty-format": "^27.5.1",
 				"throat": "^6.0.1"
 			}
 		},
 		"jest-leak-detector": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz",
+			"integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==",
 			"dev": true,
 			"requires": {
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-matcher-utils": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz",
+			"integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==",
 			"dev": true,
 			"requires": {
 				"chalk": "^4.0.0",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"pretty-format": "^27.4.6"
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"pretty-format": "^27.5.1"
 			}
 		},
 		"jest-message-util": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz",
+			"integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==",
 			"dev": true,
 			"requires": {
 				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/stack-utils": "^2.0.0",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"micromatch": "^4.0.4",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"slash": "^3.0.0",
 				"stack-utils": "^2.0.3"
 			},
@@ -20958,18 +21010,16 @@
 					"requires": {
 						"@babel/highlight": "^7.16.7"
 					}
-				},
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
 				}
 			}
 		},
 		"jest-mock": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz",
+			"integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*"
 			}
 		},
@@ -20979,64 +21029,65 @@
 			"requires": {}
 		},
 		"jest-regex-util": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz",
+			"integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==",
 			"dev": true
 		},
 		"jest-resolve": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz",
+			"integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
 				"jest-pnp-resolver": "^1.2.2",
-				"jest-util": "^27.4.2",
-				"jest-validate": "^27.4.6",
+				"jest-util": "^27.5.1",
+				"jest-validate": "^27.5.1",
 				"resolve": "^1.20.0",
 				"resolve.exports": "^1.1.0",
 				"slash": "^3.0.0"
-			},
-			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				}
 			}
 		},
 		"jest-resolve-dependencies": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz",
+			"integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
-				"jest-regex-util": "^27.4.0",
-				"jest-snapshot": "^27.4.6"
+				"@jest/types": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-snapshot": "^27.5.1"
 			}
 		},
 		"jest-runner": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz",
+			"integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==",
 			"dev": true,
 			"requires": {
-				"@jest/console": "^27.4.6",
-				"@jest/environment": "^27.4.6",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/console": "^27.5.1",
+				"@jest/environment": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"emittery": "^0.8.1",
-				"exit": "^0.1.2",
-				"graceful-fs": "^4.2.4",
-				"jest-docblock": "^27.4.0",
-				"jest-environment-jsdom": "^27.4.6",
-				"jest-environment-node": "^27.4.6",
-				"jest-haste-map": "^27.4.6",
-				"jest-leak-detector": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-resolve": "^27.4.6",
-				"jest-runtime": "^27.4.6",
-				"jest-util": "^27.4.2",
-				"jest-worker": "^27.4.6",
+				"graceful-fs": "^4.2.9",
+				"jest-docblock": "^27.5.1",
+				"jest-environment-jsdom": "^27.5.1",
+				"jest-environment-node": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-leak-detector": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-runtime": "^27.5.1",
+				"jest-util": "^27.5.1",
+				"jest-worker": "^27.5.1",
 				"source-map-support": "^0.5.6",
 				"throat": "^6.0.1"
 			},
@@ -21056,37 +21107,35 @@
 			}
 		},
 		"jest-runtime": {
-			"version": "27.4.6",
-			"dev": true,
-			"requires": {
-				"@jest/environment": "^27.4.6",
-				"@jest/fake-timers": "^27.4.6",
-				"@jest/globals": "^27.4.6",
-				"@jest/source-map": "^27.4.0",
-				"@jest/test-result": "^27.4.6",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz",
+			"integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==",
+			"dev": true,
+			"requires": {
+				"@jest/environment": "^27.5.1",
+				"@jest/fake-timers": "^27.5.1",
+				"@jest/globals": "^27.5.1",
+				"@jest/source-map": "^27.5.1",
+				"@jest/test-result": "^27.5.1",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"chalk": "^4.0.0",
 				"cjs-module-lexer": "^1.0.0",
 				"collect-v8-coverage": "^1.0.0",
 				"execa": "^5.0.0",
 				"glob": "^7.1.3",
-				"graceful-fs": "^4.2.4",
-				"jest-haste-map": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-mock": "^27.4.6",
-				"jest-regex-util": "^27.4.0",
-				"jest-resolve": "^27.4.6",
-				"jest-snapshot": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"graceful-fs": "^4.2.9",
+				"jest-haste-map": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-mock": "^27.5.1",
+				"jest-regex-util": "^27.5.1",
+				"jest-resolve": "^27.5.1",
+				"jest-snapshot": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"slash": "^3.0.0",
 				"strip-bom": "^4.0.0"
 			},
 			"dependencies": {
-				"slash": {
-					"version": "3.0.0",
-					"dev": true
-				},
 				"strip-bom": {
 					"version": "4.0.0",
 					"dev": true
@@ -21094,15 +21143,19 @@
 			}
 		},
 		"jest-serializer": {
-			"version": "27.4.0",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz",
+			"integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==",
 			"dev": true,
 			"requires": {
 				"@types/node": "*",
-				"graceful-fs": "^4.2.4"
+				"graceful-fs": "^4.2.9"
 			}
 		},
 		"jest-snapshot": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz",
+			"integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==",
 			"dev": true,
 			"requires": {
 				"@babel/core": "^7.7.2",
@@ -21110,22 +21163,22 @@
 				"@babel/plugin-syntax-typescript": "^7.7.2",
 				"@babel/traverse": "^7.7.2",
 				"@babel/types": "^7.0.0",
-				"@jest/transform": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/transform": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/babel__traverse": "^7.0.4",
 				"@types/prettier": "^2.1.5",
 				"babel-preset-current-node-syntax": "^1.0.0",
 				"chalk": "^4.0.0",
-				"expect": "^27.4.6",
-				"graceful-fs": "^4.2.4",
-				"jest-diff": "^27.4.6",
-				"jest-get-type": "^27.4.0",
-				"jest-haste-map": "^27.4.6",
-				"jest-matcher-utils": "^27.4.6",
-				"jest-message-util": "^27.4.6",
-				"jest-util": "^27.4.2",
+				"expect": "^27.5.1",
+				"graceful-fs": "^4.2.9",
+				"jest-diff": "^27.5.1",
+				"jest-get-type": "^27.5.1",
+				"jest-haste-map": "^27.5.1",
+				"jest-matcher-utils": "^27.5.1",
+				"jest-message-util": "^27.5.1",
+				"jest-util": "^27.5.1",
 				"natural-compare": "^1.4.0",
-				"pretty-format": "^27.4.6",
+				"pretty-format": "^27.5.1",
 				"semver": "^7.3.2"
 			},
 			"dependencies": {
@@ -21152,50 +21205,60 @@
 			}
 		},
 		"jest-util": {
-			"version": "27.4.2",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz",
+			"integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"chalk": "^4.0.0",
 				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.4",
+				"graceful-fs": "^4.2.9",
 				"picomatch": "^2.2.3"
 			}
 		},
 		"jest-validate": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz",
+			"integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^27.4.2",
+				"@jest/types": "^27.5.1",
 				"camelcase": "^6.2.0",
 				"chalk": "^4.0.0",
-				"jest-get-type": "^27.4.0",
+				"jest-get-type": "^27.5.1",
 				"leven": "^3.1.0",
-				"pretty-format": "^27.4.6"
+				"pretty-format": "^27.5.1"
 			},
 			"dependencies": {
 				"camelcase": {
 					"version": "6.3.0",
+					"resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+					"integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
 					"dev": true
 				}
 			}
 		},
 		"jest-watcher": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz",
+			"integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==",
 			"dev": true,
 			"requires": {
-				"@jest/test-result": "^27.4.6",
-				"@jest/types": "^27.4.2",
+				"@jest/test-result": "^27.5.1",
+				"@jest/types": "^27.5.1",
 				"@types/node": "*",
 				"ansi-escapes": "^4.2.1",
 				"chalk": "^4.0.0",
-				"jest-util": "^27.4.2",
+				"jest-util": "^27.5.1",
 				"string-length": "^4.0.1"
 			}
 		},
 		"jest-worker": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
+			"integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
 			"dev": true,
 			"requires": {
 				"@types/node": "*",
@@ -21205,6 +21268,8 @@
 			"dependencies": {
 				"supports-color": {
 					"version": "8.1.1",
+					"resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+					"integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
 					"dev": true,
 					"requires": {
 						"has-flag": "^4.0.0"
@@ -21225,7 +21290,9 @@
 			"dev": true
 		},
 		"js-yaml": {
-			"version": "3.14.1",
+			"version": "3.14.2",
+			"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+			"integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
 			"dev": true,
 			"requires": {
 				"argparse": "^1.0.7",
@@ -21297,6 +21364,8 @@
 		},
 		"jsdom": {
 			"version": "16.7.0",
+			"resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+			"integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
 			"dev": true,
 			"requires": {
 				"abab": "^2.0.5",
@@ -21329,7 +21398,9 @@
 			},
 			"dependencies": {
 				"acorn": {
-					"version": "8.7.0",
+					"version": "8.15.0",
+					"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+					"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
 					"dev": true
 				}
 			}
@@ -21533,6 +21604,8 @@
 		},
 		"leven": {
 			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+			"integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
 			"dev": true
 		},
 		"levn": {
@@ -22135,9 +22208,9 @@
 					}
 				},
 				"js-yaml": {
-					"version": "4.1.0",
-					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
-					"integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+					"version": "4.1.1",
+					"resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz",
+					"integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==",
 					"dev": true,
 					"requires": {
 						"argparse": "^2.0.1"
@@ -22352,7 +22425,9 @@
 			}
 		},
 		"nwsapi": {
-			"version": "2.2.0",
+			"version": "2.2.22",
+			"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.22.tgz",
+			"integrity": "sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==",
 			"dev": true
 		},
 		"oauth-sign": {
@@ -22528,6 +22603,8 @@
 		},
 		"parse5": {
 			"version": "6.0.1",
+			"resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+			"integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
 			"dev": true
 		},
 		"path-exists": {
@@ -22694,7 +22771,9 @@
 			"dev": true
 		},
 		"pretty-format": {
-			"version": "27.4.6",
+			"version": "27.5.1",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz",
+			"integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==",
 			"dev": true,
 			"requires": {
 				"ansi-regex": "^5.0.1",
@@ -23255,6 +23334,8 @@
 		},
 		"saxes": {
 			"version": "5.0.1",
+			"resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+			"integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
 			"dev": true,
 			"requires": {
 				"xmlchars": "^2.2.0"
@@ -23361,6 +23442,12 @@
 			"version": "1.0.5",
 			"dev": true
 		},
+		"slash": {
+			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+			"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+			"dev": true
+		},
 		"slice-ansi": {
 			"version": "4.0.0",
 			"dev": true,
@@ -23896,6 +23983,8 @@
 		},
 		"symbol-tree": {
 			"version": "3.2.4",
+			"resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+			"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
 			"dev": true
 		},
 		"table": {
@@ -24023,9 +24112,9 @@
 			}
 		},
 		"tough-cookie": {
-			"version": "4.1.3",
-			"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz",
-			"integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==",
+			"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",
@@ -24044,6 +24133,8 @@
 		},
 		"tr46": {
 			"version": "2.1.0",
+			"resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+			"integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
 			"dev": true,
 			"requires": {
 				"punycode": "^2.1.1"
@@ -24108,6 +24199,8 @@
 		},
 		"type-detect": {
 			"version": "4.0.8",
+			"resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+			"integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
 			"dev": true
 		},
 		"type-fest": {
@@ -24371,6 +24464,8 @@
 		},
 		"w3c-hr-time": {
 			"version": "1.0.2",
+			"resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+			"integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
 			"dev": true,
 			"requires": {
 				"browser-process-hrtime": "^1.0.0"
@@ -24378,6 +24473,8 @@
 		},
 		"w3c-xmlserializer": {
 			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+			"integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
 			"dev": true,
 			"requires": {
 				"xml-name-validator": "^3.0.0"
@@ -24491,10 +24588,14 @@
 		},
 		"webidl-conversions": {
 			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+			"integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
 			"dev": true
 		},
 		"whatwg-encoding": {
 			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+			"integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
 			"dev": true,
 			"requires": {
 				"iconv-lite": "0.4.24"
@@ -24502,10 +24603,14 @@
 		},
 		"whatwg-mimetype": {
 			"version": "2.3.0",
+			"resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+			"integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==",
 			"dev": true
 		},
 		"whatwg-url": {
 			"version": "8.7.0",
+			"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+			"integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
 			"dev": true,
 			"requires": {
 				"lodash": "^4.7.0",
@@ -24564,6 +24669,8 @@
 		},
 		"xml-name-validator": {
 			"version": "3.0.0",
+			"resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+			"integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==",
 			"dev": true
 		},
 		"xmlbuilder": {
@@ -24572,6 +24679,8 @@
 		},
 		"xmlchars": {
 			"version": "2.2.0",
+			"resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+			"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
 			"dev": true
 		},
 		"xmlcreate": {
-- 
2.47.3


--- end ---

composer dependencies

Dependencies
Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.