mediawiki/extensions/PhpTagsFunctions (main)

sourcepatches
From a849ce8978dc7638efa00a084883b04a94eb8ce8 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 26 Jul 2024 03:02:57 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* eslint-config-wikimedia: 0.27.0 → 0.28.2
* grunt-banana-checker: 0.12.0 → 0.13.0
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: I7bce4a6e484932b8513e725c2a3ee9c7073eba9d
---
 package-lock.json | 1112 ++++++++++++++++++++++++++-------------------
 package.json      |    4 +-
 2 files changed, 658 insertions(+), 458 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e6599f4..c36ba18 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,9 +6,9 @@
 		"": {
 			"name": "PhpTagsFunctions",
 			"devDependencies": {
-				"eslint-config-wikimedia": "0.27.0",
+				"eslint-config-wikimedia": "0.28.2",
 				"grunt": "1.6.1",
-				"grunt-banana-checker": "0.12.0",
+				"grunt-banana-checker": "0.13.0",
 				"grunt-eslint": "24.3.0"
 			}
 		},
@@ -22,12 +22,12 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/highlight": "^7.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			},
 			"engines": {
@@ -35,21 +35,21 @@
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -130,11 +130,14 @@
 			}
 		},
 		"node_modules/@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"dependencies": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -159,9 +162,9 @@
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -309,6 +312,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"node_modules/@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"dependencies": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"node_modules/@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"node_modules/@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -321,23 +340,17 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"node_modules/@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -345,12 +358,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true,
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -358,21 +371,22 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -384,65 +398,63 @@
 				}
 			}
 		},
-		"node_modules/@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 			"dev": true,
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"balanced-match": "^1.0.0"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-			"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"esrecurse": "^4.3.0",
-				"estraverse": "^4.1.1"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": ">=8.0.0"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/estraverse": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-			"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+		"node_modules/@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
 			"dev": true,
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			},
 			"engines": {
-				"node": ">=4.0"
+				"node": "^18.18.0 || >=20.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"eslint": "^8.56.0"
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -462,9 +474,9 @@
 			"dev": true
 		},
 		"node_modules/acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true,
 			"bin": {
 				"acorn": "bin/acorn"
@@ -609,12 +621,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -653,9 +665,9 @@
 			}
 		},
 		"node_modules/browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"node_modules/builtin-modules": {
@@ -670,15 +682,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"dependencies": {
-				"semver": "^7.0.0"
-			}
-		},
 		"node_modules/callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -803,9 +806,9 @@
 			"dev": true
 		},
 		"node_modules/core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"dependencies": {
 				"browserslist": "^4.23.0"
@@ -912,6 +915,19 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"node_modules/enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"dependencies": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			},
+			"engines": {
+				"node": ">=10.13.0"
+			}
+		},
 		"node_modules/error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -998,9 +1014,9 @@
 			}
 		},
 		"node_modules/eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"dependencies": {
 				"semver": "^7.5.4"
@@ -1013,28 +1029,28 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"dependencies": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"node_modules/eslint-plugin-compat": {
@@ -1059,39 +1075,40 @@
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/ota-meshi"
-			},
 			"peerDependencies": {
 				"eslint": ">=8"
 			}
 		},
 		"node_modules/eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0",
-				"eslint": "^7.0.0 || ^8.0.0",
+				"@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0",
+				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
 				"jest": "*"
 			},
 			"peerDependenciesMeta": {
@@ -1104,19 +1121,19 @@
 			}
 		},
 		"node_modules/eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"dependencies": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			},
 			"engines": {
@@ -1127,9 +1144,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"dependencies": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -1140,9 +1157,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -1170,52 +1187,73 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"engines": {
-				"node": ">=16.0.0"
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
 			"funding": {
-				"url": "https://github.com/sponsors/mysticatea"
+				"url": "https://opencollective.com/eslint"
 			},
 			"peerDependencies": {
-				"eslint": ">=7.0.0"
+				"eslint": ">=8.23.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"dev": true,
+			"dependencies": {
+				"balanced-match": "^1.0.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/globals": {
+			"version": "15.8.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+			"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^1.1.7"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": "*"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
 		"node_modules/eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"peerDependencies": {
-				"eslint": ">=2.3.0"
+				"eslint": ">=8.0.0"
 			}
 		},
 		"node_modules/eslint-plugin-qunit": {
@@ -1241,17 +1279,17 @@
 			}
 		},
 		"node_modules/eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -1260,11 +1298,11 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
 			},
 			"engines": {
-				"node": ">=16"
+				"node": ">=18.18"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
@@ -1273,10 +1311,104 @@
 				"eslint": ">=8.56.0"
 			}
 		},
+		"node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+			"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+			"dev": true,
+			"dependencies": {
+				"ajv": "^6.12.4",
+				"debug": "^4.3.2",
+				"espree": "^10.0.1",
+				"globals": "^14.0.0",
+				"ignore": "^5.2.0",
+				"import-fresh": "^3.2.1",
+				"js-yaml": "^4.1.0",
+				"minimatch": "^3.1.2",
+				"strip-json-comments": "^3.1.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/argparse": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+			"dev": true
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+			"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/espree": {
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+			"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+			"dev": true,
+			"dependencies": {
+				"acorn": "^8.12.0",
+				"acorn-jsx": "^5.3.2",
+				"eslint-visitor-keys": "^4.0.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/globals": {
+			"version": "14.0.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+			"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/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==",
+			"dev": true,
+			"dependencies": {
+				"argparse": "^2.0.1"
+			},
+			"bin": {
+				"js-yaml": "bin/js-yaml.js"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -1285,7 +1417,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			},
 			"engines": {
@@ -1584,9 +1716,9 @@
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -1707,9 +1839,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -1833,6 +1965,12 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/graceful-fs": {
+			"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/graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -1867,10 +2005,13 @@
 			}
 		},
 		"node_modules/grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
 			"dev": true,
+			"dependencies": {
+				"chalk": "4.1.2"
+			},
 			"bin": {
 				"banana-checker": "src/cli.js"
 			},
@@ -2413,18 +2554,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"node_modules/lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"dependencies": {
-				"yallist": "^4.0.0"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
 		"node_modules/make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -2829,9 +2958,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -3147,13 +3276,10 @@
 			"dev": true
 		},
 		"node_modules/semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
 			"dev": true,
-			"dependencies": {
-				"lru-cache": "^6.0.0"
-			},
 			"bin": {
 				"semver": "bin/semver.js"
 			},
@@ -3228,9 +3354,9 @@
 			}
 		},
 		"node_modules/spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"node_modules/sprintf-js": {
@@ -3299,6 +3425,15 @@
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
+		"node_modules/tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -3317,25 +3452,16 @@
 				"node": ">=8.0"
 			}
 		},
-		"node_modules/tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"node_modules/tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"node_modules/ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"dependencies": {
-				"tslib": "^1.8.1"
-			},
 			"engines": {
-				"node": ">= 6"
+				"node": ">=16"
 			},
 			"peerDependencies": {
-				"typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+				"typescript": ">=4.2.0"
 			}
 		},
 		"node_modules/type-check": {
@@ -3363,9 +3489,9 @@
 			}
 		},
 		"node_modules/typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -3486,9 +3612,9 @@
 			}
 		},
 		"node_modules/vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"dependencies": {
 				"debug": "^4.3.4",
@@ -3539,12 +3665,6 @@
 				"node": ">=12"
 			}
 		},
-		"node_modules/yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"node_modules/yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
@@ -3595,28 +3715,28 @@
 			"dev": true
 		},
 		"@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"requires": {
-				"@babel/highlight": "^7.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true
 		},
 		"@babel/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -3681,11 +3801,14 @@
 			}
 		},
 		"@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"requires": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -3701,9 +3824,9 @@
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -3816,6 +3939,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"requires": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -3828,85 +3967,78 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			}
 		},
 		"@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true
 		},
 		"@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
-			}
-		},
-		"@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"dependencies": {
-				"eslint-scope": {
-					"version": "5.1.1",
-					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-					"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
+			},
+			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 					"dev": true,
 					"requires": {
-						"esrecurse": "^4.3.0",
-						"estraverse": "^4.1.1"
+						"balanced-match": "^1.0.0"
 					}
 				},
-				"estraverse": {
-					"version": "4.3.0",
-					"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-					"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-					"dev": true
+				"minimatch": {
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
 				}
 			}
 		},
+		"@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
+			"dev": true,
+			"requires": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			}
+		},
 		"@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			}
 		},
 		"@ungap/structured-clone": {
@@ -3922,9 +4054,9 @@
 			"dev": true
 		},
 		"acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true
 		},
 		"acorn-jsx": {
@@ -4041,12 +4173,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browserslist": {
@@ -4062,9 +4194,9 @@
 			}
 		},
 		"browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"builtin-modules": {
@@ -4073,15 +4205,6 @@
 			"integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
 			"dev": true
 		},
-		"builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"requires": {
-				"semver": "^7.0.0"
-			}
-		},
 		"callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -4161,9 +4284,9 @@
 			"dev": true
 		},
 		"core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"requires": {
 				"browserslist": "^4.23.0"
@@ -4237,6 +4360,16 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			}
+		},
 		"error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -4331,37 +4464,37 @@
 			}
 		},
 		"eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"requires": {
 				"semver": "^7.5.4"
 			}
 		},
 		"eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"requires": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"eslint-plugin-compat": {
@@ -4380,46 +4513,46 @@
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			}
 		},
 		"eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			}
 		},
 		"eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"requires": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			}
 		},
 		"eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"requires": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -4427,9 +4560,9 @@
 			}
 		},
 		"eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"requires": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -4448,39 +4581,51 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+					"dev": true,
+					"requires": {
+						"balanced-match": "^1.0.0"
+					}
+				},
+				"globals": {
+					"version": "15.8.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+					"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+					"dev": true
+				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "^2.0.1"
 					}
 				}
 			}
 		},
 		"eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"requires": {}
 		},
@@ -4504,17 +4649,17 @@
 			}
 		},
 		"eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -4523,14 +4668,80 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
+			},
+			"dependencies": {
+				"@eslint/eslintrc": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+					"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.12.4",
+						"debug": "^4.3.2",
+						"espree": "^10.0.1",
+						"globals": "^14.0.0",
+						"ignore": "^5.2.0",
+						"import-fresh": "^3.2.1",
+						"js-yaml": "^4.1.0",
+						"minimatch": "^3.1.2",
+						"strip-json-comments": "^3.1.1"
+					}
+				},
+				"argparse": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+					"dev": true
+				},
+				"eslint-visitor-keys": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+					"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+					"dev": true
+				},
+				"espree": {
+					"version": "10.1.0",
+					"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+					"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+					"dev": true,
+					"requires": {
+						"acorn": "^8.12.0",
+						"acorn-jsx": "^5.3.2",
+						"eslint-visitor-keys": "^4.0.0"
+					}
+				},
+				"globals": {
+					"version": "14.0.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+					"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+					"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==",
+					"dev": true,
+					"requires": {
+						"argparse": "^2.0.1"
+					}
+				},
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				}
 			}
 		},
 		"eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -4539,7 +4750,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			}
 		},
@@ -4730,9 +4941,9 @@
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -4823,9 +5034,9 @@
 			"dev": true
 		},
 		"get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -4918,6 +5129,12 @@
 				"slash": "^3.0.0"
 			}
 		},
+		"graceful-fs": {
+			"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
+		},
 		"graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -4946,10 +5163,13 @@
 			}
 		},
 		"grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
-			"dev": true
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
+			"dev": true,
+			"requires": {
+				"chalk": "4.1.2"
+			}
 		},
 		"grunt-cli": {
 			"version": "1.4.3",
@@ -5361,15 +5581,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"requires": {
-				"yallist": "^4.0.0"
-			}
-		},
 		"make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -5674,9 +5885,9 @@
 			"dev": true
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -5894,13 +6105,10 @@
 			"dev": true
 		},
 		"semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-			"dev": true,
-			"requires": {
-				"lru-cache": "^6.0.0"
-			}
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"dev": true
 		},
 		"shebang-command": {
 			"version": "2.0.0",
@@ -5962,9 +6170,9 @@
 			}
 		},
 		"spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"sprintf-js": {
@@ -6012,6 +6220,12 @@
 			"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
 			"dev": true
 		},
+		"tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true
+		},
 		"text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -6027,20 +6241,12 @@
 				"is-number": "^7.0.0"
 			}
 		},
-		"tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"requires": {
-				"tslib": "^1.8.1"
-			}
+			"requires": {}
 		},
 		"type-check": {
 			"version": "0.4.0",
@@ -6058,9 +6264,9 @@
 			"dev": true
 		},
 		"typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true
 		},
@@ -6143,9 +6349,9 @@
 			}
 		},
 		"vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"requires": {
 				"debug": "^4.3.4",
@@ -6178,12 +6384,6 @@
 			"integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
 			"dev": true
 		},
-		"yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
diff --git a/package.json b/package.json
index 674daca..858c512 100644
--- a/package.json
+++ b/package.json
@@ -5,9 +5,9 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"eslint-config-wikimedia": "0.27.0",
+		"eslint-config-wikimedia": "0.28.2",
 		"grunt": "1.6.1",
-		"grunt-banana-checker": "0.12.0",
+		"grunt-banana-checker": "0.13.0",
 		"grunt-eslint": "24.3.0"
 	}
 }
-- 
2.39.2

$ date
--- stdout ---
Fri Jul 26 03:02:15 UTC 2024

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-PhpTagsFunctions.git repo --depth=1 -b master
--- 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
--- stdout ---

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

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
5d1e6cc0da410204406cc5834cf8ec3d19e6d615 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 1,
      "critical": 0,
      "total": 1
    },
    "dependencies": {
      "prod": 1,
      "dev": 306,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 306
    }
  }
}

--- 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: 21 installs, 0 updates, 0 removals
  - Locking composer/semver (3.4.0)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking mediawiki/mediawiki-codesniffer (v43.0.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.1.2)
  - Locking phpcsstandards/phpcsutils (1.0.9)
  - Locking psr/container (2.0.2)
  - Locking squizlabs/php_codesniffer (3.8.1)
  - Locking symfony/console (v7.1.2)
  - Locking symfony/deprecation-contracts (v3.5.0)
  - Locking symfony/polyfill-ctype (v1.30.0)
  - Locking symfony/polyfill-intl-grapheme (v1.30.0)
  - Locking symfony/polyfill-intl-normalizer (v1.30.0)
  - Locking symfony/polyfill-mbstring (v1.30.0)
  - Locking symfony/polyfill-php80 (v1.30.0)
  - Locking symfony/service-contracts (v3.5.0)
  - Locking symfony/string (v7.1.2)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 21 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.8.1): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing symfony/polyfill-php80 (v1.30.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.9): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.1.2): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.30.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.0): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v43.0.0): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.30.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.30.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.30.0): Extracting archive
  - Installing symfony/string (v7.1.2): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.0): Extracting archive
  - Installing symfony/console (v7.1.2): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  0/19 [>---------------------------]   0%
 19/19 [============================] 100%
Generating autoload files
13 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:eslint-config-wikimedia from 0.27.0 -> 0.28.2
Upgrading n:grunt-banana-checker from 0.12.0 -> 0.13.0
$ /usr/bin/npm install
--- stdout ---

added 315 packages, and audited 316 packages in 6s

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

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

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

--- end ---
$ /usr/bin/npm install grunt-eslint@24.3.0 --save-exact
--- stdout ---

up to date, audited 316 packages in 827ms

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

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

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

--- end ---
$ ./node_modules/.bin/eslint i18n/ja.json i18n/ru.json i18n/he.json i18n/sl.json i18n/ia.json i18n/fr.json i18n/roa-tara.json i18n/ksh.json i18n/tr.json i18n/el.json i18n/sv.json i18n/be-tarask.json i18n/pt-br.json i18n/sco.json i18n/uk.json i18n/br.json i18n/nb.json i18n/ko.json i18n/en.json i18n/de.json i18n/ce.json i18n/it.json package-lock.json PhpTagsFunctions.json i18n/lb.json i18n/pl.json extension.json i18n/zh-hant.json composer.json i18n/nl.json i18n/qqq.json package.json Gruntfile.js i18n/gl.json i18n/fa.json i18n/ar.json i18n/ast.json i18n/oc.json i18n/lt.json i18n/zh-hans.json i18n/mk.json i18n/es.json i18n/pt.json --fix
--- stdout ---

/src/repo/PhpTagsFunctions.json
  762:18  warning  Unexpected tab character  no-tabs

✖ 1 problem (0 errors, 1 warning)


--- end ---
$ ./node_modules/.bin/eslint i18n/ja.json i18n/ru.json i18n/he.json i18n/sl.json i18n/ia.json i18n/fr.json i18n/roa-tara.json i18n/ksh.json i18n/tr.json i18n/el.json i18n/sv.json i18n/be-tarask.json i18n/pt-br.json i18n/sco.json i18n/uk.json i18n/br.json i18n/nb.json i18n/ko.json i18n/en.json i18n/de.json i18n/ce.json i18n/it.json package-lock.json PhpTagsFunctions.json i18n/lb.json i18n/pl.json extension.json i18n/zh-hant.json composer.json i18n/nl.json i18n/qqq.json package.json Gruntfile.js i18n/gl.json i18n/fa.json i18n/ar.json i18n/ast.json i18n/oc.json i18n/lt.json i18n/zh-hans.json i18n/mk.json i18n/es.json i18n/pt.json -f json
--- stdout ---
[{"filePath":"/src/repo/Gruntfile.js","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"max-len","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/PhpTagsFunctions.json","messages":[{"ruleId":"no-tabs","severity":1,"message":"Unexpected tab character.","line":762,"column":18,"nodeType":"Program","messageId":"unexpectedTab","endLine":762,"endColumn":19}],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":1,"fixableErrorCount":0,"fixableWarningCount":0,"source":"{\n\t\"objects\": {\n\t\t\"WebRequest\": {\n\t\t\t\"class\": \"PhpTagsWebRequest\",\n\t\t\t\"STATIC METHODS\": {\n\t\t\t\t\"getArray\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"name\" },\n\t\t\t\t\t\t{ \"type\": \"array\", \"name\": \"default\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"array\",\n\t\t\t\t\t\"desc\": \"Get an array or null if the parameter was not passed. If the parameter is a scalar, it will return an array with a single element\"\n\t\t\t\t},\n\t\t\t\t\"getBool\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"name\" },\n\t\t\t\t\t\t{ \"type\": \"bool\", \"name\": \"default\", \"default\": \"false\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"bool\",\n\t\t\t\t\t\"desc\": \"Get a boolean or false if the parameter was not passed\"\n\t\t\t\t},\n\t\t\t\t\"getCheck\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"name\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"bool\",\n\t\t\t\t\t\"desc\": \"Return a boolean whether the parameter was passed, this is useful for checkboxes\"\n\t\t\t\t},\n\t\t\t\t\"getCookie\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"name\" },\n\t\t\t\t\t\t{ \"type\": \"mixed\", \"name\": \"default\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"mixed\",\n\t\t\t\t\t\"desc\": \"Get a cookie from the $_COOKIE jar\"\n\t\t\t\t},\n\t\t\t\t\"getInt\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"name\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"default\", \"default\": \"0\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"int\",\n\t\t\t\t\t\"desc\": \"Get an integer or 0 if the parameter was not passed\"\n\t\t\t\t},\n\t\t\t\t\"getText\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"name\" },\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"default\", \"default\": \"\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"string\",\n\t\t\t\t\t\"desc\": \"Fetch a text string from the given array or return $default if it's not set\"\n\t\t\t\t},\n\t\t\t\t\"getVal\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"name\" },\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"default\", \"default\": \"null\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"string\",\n\t\t\t\t\t\"desc\": \"Get a scalar or null if the parameter was not passed\"\n\t\t\t\t},\n\t\t\t\t\"getValues\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"...\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"string\",\n\t\t\t\t\t\"desc\": \"Get a scalar or null if the parameter was not passed\"\n\t\t\t\t},\n\t\t\t\t\"wasPosted\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"bool\",\n\t\t\t\t\t\"desc\": \"Returns true if the present request was reached by a POST operation false otherwise (GET, HEAD)\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"DateTime\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"time\", \"default\": \"now\" },\n\t\t\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"timezone\", \"default\": \"NULL\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Returns new DateTime object\"\n\t\t\t\t},\n\t\t\t\t\"add\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"DateInterval\", \"name\": \"interval\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object\"\n\t\t\t\t},\n\t\t\t\t\"modify\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"modify\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Alters the timestamp\"\n\t\t\t\t},\n\t\t\t\t\"setDate\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"year\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"month\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"day\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Sets the date\"\n\t\t\t\t},\n\t\t\t\t\"setISODate\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"year\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"week\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"day\", \"default\": \"1\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Sets the ISO date\"\n\t\t\t\t},\n\t\t\t\t\"setTime\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"hour\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"minute\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"second\", \"default\": \"0\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Sets the time\"\n\t\t\t\t},\n\t\t\t\t\"setTimestamp\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"unixtimestamp\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Sets the date and time based on an Unix timestamp\"\n\t\t\t\t},\n\t\t\t\t\"setTimezone\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"unixtimestamp\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Sets the time zone for the DateTime object\"\n\t\t\t\t},\n\t\t\t\t\"sub\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"DateInterval\", \"name\": \"interval\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object\"\n\t\t\t\t},\n\t\t\t\t\"diff\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"$datetime2\" },\n\t\t\t\t\t\t{ \"type\": \"bool\", \"name\": \"absolute\", \"default\": \"false\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateInterval\",\n\t\t\t\t\t\"desc\": \"Returns the difference between two DateTime objects\"\n\t\t\t\t},\n\t\t\t\t\"format\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"string\",\n\t\t\t\t\t\"desc\": \"Returns date formatted according to given format\"\n\t\t\t\t},\n\t\t\t\t\"getOffset\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"int\",\n\t\t\t\t\t\"desc\": \"Returns the timezone offset\"\n\t\t\t\t},\n\t\t\t\t\"getTimestamp\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"int\",\n\t\t\t\t\t\"desc\": \"Gets the Unix timestamp\"\n\t\t\t\t},\n\t\t\t\t\"DateTimeZone\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"int\",\n\t\t\t\t\t\"desc\": \"Return time zone relative to given DateTime\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"STATIC METHODS\": {\n\t\t\t\t\"createFromFormat\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"time\" },\n\t\t\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"timezone\", \"default\": \"\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTime\",\n\t\t\t\t\t\"desc\": \"Returns new DateTime object formatted according to the specified format\"\n\t\t\t\t},\n\t\t\t\t\"getLastErrors\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"array\",\n\t\t\t\t\t\"desc\": \"Returns the warnings and errors\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"CONSTANTS\": {\n\t\t\t\t\"ATOM\": { \"type\": \"string\" },\n\t\t\t\t\"COOKIE\": { \"type\": \"string\" },\n\t\t\t\t\"ISO8601\": { \"type\": \"string\" },\n\t\t\t\t\"RFC822\": { \"type\": \"string\" },\n\t\t\t\t\"RFC850\": { \"type\": \"string\" },\n\t\t\t\t\"RFC1036\": { \"type\": \"string\" },\n\t\t\t\t\"RFC1123\": { \"type\": \"string\" },\n\t\t\t\t\"RFC2822\": { \"type\": \"string\" },\n\t\t\t\t\"RFC3339\": { \"type\": \"string\" },\n\t\t\t\t\"RSS\": { \"type\": \"string\" },\n\t\t\t\t\"W3C\": { \"type\": \"string\" }\n\t\t\t}\n\t\t},\n\t\t\"DateTimeZone\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"timezone\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateTimeZone\",\n\t\t\t\t\t\"desc\": \"Returns new DateTimeZone object\"\n\t\t\t\t},\n\t\t\t\t\"getLocation\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"array\",\n\t\t\t\t\t\"desc\": \"Returns location information for a timezone\"\n\t\t\t\t},\n\t\t\t\t\"getName\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"string\",\n\t\t\t\t\t\"desc\": \"Returns the name of the timezone\"\n\t\t\t\t},\n\t\t\t\t\"getOffset\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"datetime\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"int\",\n\t\t\t\t\t\"desc\": \"Returns the timezone offset from GMT\"\n\t\t\t\t},\n\t\t\t\t\"getTransitions\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp_begin\", \"default\": \"\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp_end\", \"default\": \"\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"array\",\n\t\t\t\t\t\"desc\": \"Returns all transitions for the timezone\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"STATIC METHODS\": {\n\t\t\t\t\"listAbbreviations\": {\n\t\t\t\t\t\"parameters\": [],\n\t\t\t\t\t\"return\": \"array\",\n\t\t\t\t\t\"desc\": \"Returns associative array containing dst, offset and the timezone name\"\n\t\t\t\t},\n\t\t\t\t\"listIdentifiers\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"what\", \"default\": \"DateTimeZone::ALL\" },\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"country\", \"default\": \"NULL\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"array\",\n\t\t\t\t\t\"desc\": \"Returns a numerically indexed array containing all defined timezone identifiers\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"CONSTANTS\": {\n\t\t\t\t\"AFRICA\": { \"type\": \"int\" },\n\t\t\t\t\"AMERICA\": { \"type\": \"int\" },\n\t\t\t\t\"ANTARCTICA\": { \"type\": \"int\" },\n\t\t\t\t\"ARCTIC\": { \"type\": \"int\" },\n\t\t\t\t\"ASIA\": { \"type\": \"int\" },\n\t\t\t\t\"ATLANTIC\": { \"type\": \"int\" },\n\t\t\t\t\"AUSTRALIA\": { \"type\": \"int\" },\n\t\t\t\t\"EUROPE\": { \"type\": \"int\" },\n\t\t\t\t\"INDIAN\": { \"type\": \"int\" },\n\t\t\t\t\"PACIFIC\": { \"type\": \"int\" },\n\t\t\t\t\"UTC\": { \"type\": \"int\" },\n\t\t\t\t\"ALL\": { \"type\": \"int\" },\n\t\t\t\t\"ALL_WITH_BC\": { \"type\": \"int\" },\n\t\t\t\t\"PER_COUNTRY\": { \"type\": \"int\" }\n\t\t\t}\n\t\t},\n\t\t\"DateInterval\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"interval_spec\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateInterval\",\n\t\t\t\t\t\"desc\": \"Returns new DateInterval object\"\n\t\t\t\t},\n\t\t\t\t\"format\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"string\",\n\t\t\t\t\t\"desc\": \"Formats the interval\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"STATIC METHODS\": {\n\t\t\t\t\"createFromDateString\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"time\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DateInterval\",\n\t\t\t\t\t\"desc\": \"Sets up a DateInterval from the relative parts of the string\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"PROPERTIES\": {\n\t\t\t\t\"y\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Number of years\"\n\t\t\t\t},\n\t\t\t\t\"m\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Number of months\"\n\t\t\t\t},\n\t\t\t\t\"d\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Number of days\"\n\t\t\t\t},\n\t\t\t\t\"h\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Number of hours\"\n\t\t\t\t},\n\t\t\t\t\"i\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Number of minutes\"\n\t\t\t\t},\n\t\t\t\t\"s\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Number of seconds\"\n\t\t\t\t},\n\t\t\t\t\"invert\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"Is 1 if the interval represents a negative time period and 0 otherwise. See DateInterval::format()\"\n\t\t\t\t},\n\t\t\t\t\"days\": {\n\t\t\t\t\t\"type\": \"int\",\n\t\t\t\t\t\"desc\": \"If the DateInterval object was created by DateTime::diff(), then this is the total number of days between the start and end dates. Otherwise, days will be FALSE\"\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t\"DatePeriod\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"METHODS\": {\n\t\t\t\t\"__construct\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"mixed\", \"name\": \"start_or_isostr\" },\n\t\t\t\t\t\t{ \"type\": \"mixed\", \"name\": \"interval_or_options\" },\n\t\t\t\t\t\t{ \"type\": \"mixed\", \"name\": \"recurrences_or_end\", \"default\": \"\" },\n\t\t\t\t\t\t{ \"type\": \"int\", \"name\": \"options\", \"default\": \"\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"DatePeriod\",\n\t\t\t\t\t\"desc\": \"Returns new DatePeriod object\"\n\t\t\t\t},\n\t\t\t\t\"format\": {\n\t\t\t\t\t\"parameters\": [\n\t\t\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" }\n\t\t\t\t\t],\n\t\t\t\t\t\"return\": \"string\",\n\t\t\t\t\t\"desc\": \"Formats the interval\"\n\t\t\t\t}\n\t\t\t},\n\t\t\t\"CONSTANTS\": {\n\t\t\t\t\"EXCLUDE_START_DATE\": { \"type\": \"int\" }\n\t\t\t}\n\t\t}\n\t},\n\t\"functions\": {\n\t\t\"array_change_key_case\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"case\", \"default\": \"CASE_LOWER\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Changes the case of all keys in an array\"\n\t\t},\n\t\t\"array_chunk\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"size\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"preserve_keys\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"null\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Split an array into chunks\"\n\t\t},\n\t\t\"array_combine\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"keys\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"values\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Creates an array by using one array for keys and another for its values\"\n\t\t},\n\t\t\"array_count_values\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Counts all the values of an array\"\n\t\t},\n\t\t\"array_diff_assoc\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Computes the difference of arrays with additional index check\"\n\t\t},\n\t\t\"array_diff_key\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Computes the difference of arrays using keys for comparison\"\n\t\t},\n\t\t\"array_diff\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Computes the difference of arrays\"\n\t\t},\n\t\t\"array_fill_keys\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"keys\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"value\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Fill an array with values, specifying keys\"\n\t\t},\n\t\t\"array_fill\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"start_index\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"num\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"value\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Fill an array with values\"\n\t\t},\n\t\t\"array_filter\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" }\n\t\t\t]\n\t\t},\n\t\t\"array_flip\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Exchanges all keys with their associated values in an array\"\n\t\t},\n\t\t\"array_intersect_assoc\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Computes the intersection of arrays with additional index check\"\n\t\t},\n\t\t\"array_intersect_key\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Computes the intersection of arrays using keys for comparison\"\n\t\t},\n\t\t\"array_intersect\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Computes the intersection of arrays\"\n\t\t},\n\t\t\"array_key_exists\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"scalar\", \"name\": \"key\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Checks if the given key or index exists in the array\"\n\t\t},\n\t\t\"array_keys\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"search_value\", \"default\": \"null\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"strict\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Return all the keys or a subset of the keys of an array\"\n\t\t},\n\t\t\"array_merge_recursive\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Merge two or more arrays recursively\"\n\t\t},\n\t\t\"array_merge\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Merge one or more arrays\"\n\t\t},\n\t\t\"array_multisort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\", \"refarray\": \"true\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"array1_sort_order\", \"refarray\": \"1\", \"default\": \"SORT_ASC\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"array1_sort_flags\", \"refarray\": \"1\", \"default\": \"SORT_REGULAR\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"...\", \"refarray\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort multiple or multi-dimensional arrays\"\n\t\t},\n\t\t\"array_pad\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"size\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"value\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Pad array to the specified length with a value\"\n\t\t},\n\t\t\"array_pop\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Pop the element off the end of array\"\n\t\t},\n\t\t\"array_product\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" }\n\t\t\t],\n\t\t\t\"return\": \"number\",\n\t\t\t\"desc\": \"Calculate the product of values in an array\"\n\t\t},\n\t\t\"array_push\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"value1\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Push one or more elements onto the end of array\"\n\t\t},\n\t\t\"array_rand\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"num\", \"default\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Pick one or more random entries out of an array\"\n\t\t},\n\t\t\"array_replace_recursive\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Replaces elements from passed arrays into the first array recursively\"\n\t\t},\n\t\t\"array_replace\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array1\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array2\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Replaces elements from passed arrays into the first array\"\n\t\t},\n\t\t\"array_reverse\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"preserve_keys\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Return an array with elements in reverse order\"\n\t\t},\n\t\t\"array_search\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"strict\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Searches the array for a given value and returns the corresponding key if successful\"\n\t\t},\n\t\t\"array_shift\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Shift an element off the beginning of array\"\n\t\t},\n\t\t\"array_slice\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"preserve_keys\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Extract a slice of the array\"\n\t\t},\n\t\t\"array_splice\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"input\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"replacement\", \"default\": \"array()\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Remove a portion of the array and replace it with something else\"\n\t\t},\n\t\t\"array_sum\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" }\n\t\t\t],\n\t\t\t\"return\": \"number\",\n\t\t\t\"desc\": \"Calculate the sum of values in an array\"\n\t\t},\n\t\t\"array_unique\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"sort_flags\", \"default\": \"SORT_STRING\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Removes duplicate values from an array\"\n\t\t},\n\t\t\"array_unshift\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"value1\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Prepend one or more elements to the beginning of an array\"\n\t\t},\n\t\t\"array_values\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Return all the values of an array\"\n\t\t},\n\t\t\"arsort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"sort_flags\", \"default\": \"SORT_REGULAR\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array in reverse order and maintain index association\"\n\t\t},\n\t\t\"asort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"sort_flags\", \"default\": \"SORT_REGULAR\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array and maintain index association\"\n\t\t},\n\t\t\"count\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"array_or_countable\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"mode\", \"default\": \"COUNT_NORMAL\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Count all elements in an array, or something in an object\"\n\t\t},\n\t\t\"current\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Return the current element in an array\"\n\t\t},\n\t\t\"each\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Return the current key and value pair from an array and advance the array cursor\"\n\t\t},\n\t\t\"end\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Set the internal pointer of an array to its last element\"\n\t\t},\n\t\t\"in_array\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"strict\", \"default\": \"FALSE\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Checks if a value exists in an array\"\n\t\t},\n\t\t\"key_exists\": {\t\"alias\": \"array_key_exists\" },\n\t\t\"key\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Fetch a key from an array\"\n\t\t},\n\t\t\"krsort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"sort_flags\", \"default\": \"SORT_REGULAR\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array by key in reverse order\"\n\t\t},\n\t\t\"ksort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"sort_flags\", \"default\": \"SORT_REGULAR\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array by key\"\n\t\t},\n\t\t\"natcasesort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array using a case insensitive 'natural order' algorithm\"\n\t\t},\n\t\t\"natsort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array using a 'natural order' algorithm\"\n\t\t},\n\t\t\"next\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Advance the internal array pointer of an array\"\n\t\t},\n\t\t\"pos\": { \"alias\": \"current\" },\n\t\t\"prev\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Rewind the internal array pointer\"\n\t\t},\n\t\t\"range\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"scalar\", \"name\": \"start\" },\n\t\t\t\t{ \"type\": \"scalar\", \"name\": \"end\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"step\", \"default\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Create an array containing a range of elements\"\n\t\t},\n\t\t\"reset\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Set the internal pointer of an array to its first element\"\n\t\t},\n\t\t\"rsort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"sort_flags\", \"default\": \"SORT_REGULAR\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array in reverse order\"\n\t\t},\n\t\t\"shuffle\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Shuffle an array\"\n\t\t},\n\t\t\"sizeof\": { \"alias\": \"count\" },\n\t\t\"sort\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"array\", \"name\": \"array\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"sort_flags\", \"default\": \"SORT_REGULAR\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Sort an array\"\n\t\t},\n\t\t\"preg_filter\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"pattern\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"replacement\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"limit\", \"default\": \"-1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"count\", \"reference\": \"1\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Perform a regular expression search and replace\"\n\t\t},\n\t\t\"preg_grep\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"pattern\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"input\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Return array entries that match the pattern\"\n\t\t},\n\t\t\"preg_last_error\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Returns the error code of the last PCRE regex execution\"\n\t\t},\n\t\t\"preg_match_all\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"pattern\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"$matches\", \"reference\": \"1\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"PREG_PATTERN_ORDER\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Perform a global regular expression match\"\n\t\t},\n\t\t\"preg_match\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"pattern\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"$matches\", \"reference\": \"1\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Perform a regular expression match\"\n\t\t},\n\t\t\"preg_quote\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"delimiter\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Quote regular expression characters\"\n\t\t},\n\t\t\"preg_replace\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"pattern\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"replacement\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"limit\", \"default\": \"-1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"count\", \"reference\": \"1\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Perform a regular expression search and replace\"\n\t\t},\n\t\t\"preg_split\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"pattern\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"limit\", \"default\": \"-1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Split string by a regular expression\"\n\t\t},\n\t\t\"abs\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"float\" }\n\t\t\t],\n\t\t\t\"return\": \"number\",\n\t\t\t\"desc\": \"Absolute value\"\n\t\t},\n\t\t\"acos\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Arc cosine\"\n\t\t},\n\t\t\"acosh\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Inverse hyperbolic cosine\"\n\t\t},\n\t\t\"asin\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Arc sine\"\n\t\t},\n\t\t\"asinh\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Inverse hyperbolic sine\"\n\t\t},\n\t\t\"atan2\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"y\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"x\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Arc tangent of two variables\"\n\t\t},\n\t\t\"atan\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Arc tangent\"\n\t\t},\n\t\t\"atanh\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Inverse hyperbolic tangent\"\n\t\t},\n\t\t\"base_convert\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"number\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"frombase\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"tobase\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert a number between arbitrary bases\"\n\t\t},\n\t\t\"bindec\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"binary_string\" }\n\t\t\t],\n\t\t\t\"return\": \"number\",\n\t\t\t\"desc\": \"Binary to decimal\"\n\t\t},\n\t\t\"ceil\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Round fractions up\"\n\t\t},\n\t\t\"cos\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Cosine\"\n\t\t},\n\t\t\"cosh\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Hyperbolic cosine\"\n\t\t},\n\t\t\"decbin\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"float\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Decimal to binary\"\n\t\t},\n\t\t\"dechex\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"float\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Decimal to hexadecimal\"\n\t\t},\n\t\t\"decoct\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"float\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Decimal to octal\"\n\t\t},\n\t\t\"deg2rad\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Converts the number in degrees to the radian equivalent\"\n\t\t},\n\t\t\"exp\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Calculates the exponent of e\"\n\t\t},\n\t\t\"expm1\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Returns exp(number) - 1\"\n\t\t},\n\t\t\"floor\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"value\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Round fractions down\"\n\t\t},\n\t\t\"fmod\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"x\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"y\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Returns the floating point remainder (modulo) of the division of the arguments\"\n\t\t},\n\t\t\"getrandmax\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Show largest possible random value\"\n\t\t},\n\t\t\"hexdec\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"hex_string\" }\n\t\t\t],\n\t\t\t\"return\": \"number\",\n\t\t\t\"desc\": \"Hexadecimal to decimal\"\n\t\t},\n\t\t\"hypot\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"x\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"y\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Calculate the length of the hypotenuse of a right-angle triangle\"\n\t\t},\n\t\t\"is_finite\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"val\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a value is a legal finite number\"\n\t\t},\n\t\t\"is_infinite\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"val\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a value is infinite\"\n\t\t},\n\t\t\"is_nan\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"val\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a value is not a number\"\n\t\t},\n\t\t\"lcg_value\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Combined linear congruential generator\"\n\t\t},\n\t\t\"log10\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Base-10 logarithm\"\n\t\t},\n\t\t\"log1p\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"float\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Returns log(1 + number)\"\n\t\t},\n\t\t\"log\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"base\", \"default\": \"M_E\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Natural logarithm\"\n\t\t},\n\t\t\"max\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"value\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"value2\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Find highest value\"\n\t\t},\n\t\t\"min\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"value\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"value2\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Find lowest value\"\n\t\t},\n\t\t\"mt_getrandmax\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Show largest possible random value\"\n\t\t},\n\t\t\"mt_rand\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"min\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"max\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Generate a better random value\"\n\t\t},\n\t\t\"mt_srand\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"seed\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"void\",\n\t\t\t\"desc\": \"Seed the better random number generator\"\n\t\t},\n\t\t\"octdec\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"octal_string\" }\n\t\t\t],\n\t\t\t\"return\": \"number\",\n\t\t\t\"desc\": \"Octal to decimal\"\n\t\t},\n\t\t\"pi\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Get value of pi\"\n\t\t},\n\t\t\"pow\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"base\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"exp\" }\n\t\t\t],\n\t\t\t\"return\": \"number\",\n\t\t\t\"desc\": \"Exponential expression\"\n\t\t},\n\t\t\"rad2deg\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"float\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Converts the radian number to the equivalent number in degrees\"\n\t\t},\n\t\t\"rand\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"min\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"max\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Generate a random integer\"\n\t\t},\n\t\t\"round\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"val\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"precision\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"mode\", \"default\": \"PHP_ROUND_HALF_UP\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Rounds a float\"\n\t\t},\n\t\t\"sin\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Sine\"\n\t\t},\n\t\t\"sinh\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Hyperbolic sine\"\n\t\t},\n\t\t\"sqrt\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Square root\"\n\t\t},\n\t\t\"srand\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"seed\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"void\",\n\t\t\t\"desc\": \"Seed the random number generator\"\n\t\t},\n\t\t\"tan\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Tangent\"\n\t\t},\n\t\t\"tanh\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"arg\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Hyperbolic tangent\"\n\t\t},\n\t\t\"boolval\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Get the boolean value of a variable\"\n\t\t},\n\t\t\"floatval\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"float\",\n\t\t\t\"desc\": \"Get float value of a variable\"\n\t\t},\n\t\t\"doubleval\": { \"alias\": \"floatval\" },\n\t\t\"get_defined_vars\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns an array of all defined variables\"\n\t\t},\n\t\t\"gettype\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Get the type of a variable\"\n\t\t},\n\t\t\"intval\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"var\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"base\", \"default\": \"10\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Get the integer value of a variable\"\n\t\t},\n\t\t\"is_array\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a variable is an array\"\n\t\t},\n\t\t\"is_bool\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds out whether a variable is a boolean\"\n\t\t},\n\t\t\"is_float\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether the type of a variable is float\"\n\t\t},\n\t\t\"is_double\": { \"alias\": \"is_float\" },\n\t\t\"is_int\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Find whether the type of a variable is integer\"\n\t\t},\n\t\t\"is_integer\": { \"alias\": \"is_int\" },\n\t\t\"is_long\": { \"alias\": \"is_int\" },\n\t\t\"is_null\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a variable is NULL\"\n\t\t},\n\t\t\"is_numeric\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a variable is a number or a numeric string\"\n\t\t},\n\t\t\"is_object\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a variable is an object\"\n\t\t},\n\t\t\"is_real\": { \"alias\": \"is_float\" },\n\t\t\"is_scalar\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Finds whether a variable is a scalar\"\n\t\t},\n\t\t\"is_string\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Find whether the type of a variable is string\"\n\t\t},\n\t\t\"print_r\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"expression\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"return\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Prints human-readable information about a variable\"\n\t\t},\n\t\t\"settype\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\", \"reference\": \"1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"type\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Set the type of a variable\"\n\t\t},\n\t\t\"strval\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"var\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Get string value of a variable\"\n\t\t},\n\t\t\"var_dump\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"expression\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"void\",\n\t\t\t\"desc\": \"Dumps information about a variable\"\n\t\t},\n\t\t\"var_export\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"expression\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"return\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Outputs or returns a parsable string representation of a variable\"\n\t\t},\n\t\t\"get_defined_functions\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns an array of all defined functions\"\n\t\t},\n\t\t\"function_exists\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"function_name\" }\n\t\t\t],\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Return TRUE if the given function has been defined\"\n\t\t},\n\t\t\"addcslashes\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"charlist\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Quote string with slashes in a C style\"\n\t\t},\n\t\t\"addslashes\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Quote string with slashes\"\n\t\t},\n\t\t\"bin2hex\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert binary data into hexadecimal representation\"\n\t\t},\n\t\t\"chr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"ascii\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Return a specific character\"\n\t\t},\n\t\t\"chunk_split\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"body\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"chunklen\", \"default\": \"76\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"end\", \"default\": \"\\r\\n\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Split a string into smaller chunks\"\n\t\t},\n\t\t\"convert_cyr_string\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"from\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"to\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert from one Cyrillic character set to another\"\n\t\t},\n\t\t\"convert_uudecode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"data\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Decode a uuencoded string\"\n\t\t},\n\t\t\"convert_uuencode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"data\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Uuencode a string\"\n\t\t},\n\t\t\"count_chars\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"mode\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Return information about characters used in a string\"\n\t\t},\n\t\t\"crc32\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Calculates the crc32 polynomial of a string\"\n\t\t},\n\t\t\"crypt\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"salt\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"One-way string hashing\"\n\t\t},\n\t\t\"explode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"delimiter\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"limit\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Split a string by string\"\n\t\t},\n\t\t\"get_html_translation_table\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"table\", \"default\": \"HTML_SPECIALCHARS\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"ENT_COMPAT | ENT_HTML401\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"UTF-8\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns the translation table used by htmlspecialchars() and htmlentities()\"\n\t\t},\n\t\t\"hebrev\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"hebrew_text\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"max_chars_per_line\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert logical Hebrew text to visual text\"\n\t\t},\n\t\t\"hebrevc\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"hebrew_text\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"max_chars_per_line\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert logical Hebrew text to visual text with newline conversion\"\n\t\t},\n\t\t\"html_entity_decode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"ENT_COMPAT | ENT_HTML401\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"ini_get('default_charset')\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert all HTML entities to their applicable characters\"\n\t\t},\n\t\t\"htmlentities\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"ENT_COMPAT | ENT_HTML401\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"ini_get('default_charset')\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"double_encode\", \"default\": \"true\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert all applicable characters to HTML entities\"\n\t\t},\n\t\t\"htmlspecialchars_decode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"ENT_COMPAT | ENT_HTML401\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert special HTML entities back to characters\"\n\t\t},\n\t\t\"htmlspecialchars\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"flags\", \"default\": \"ENT_COMPAT | ENT_HTML401\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"ini_get('default_charset')\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"double_encode\", \"default\": \"true\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert special characters to HTML entities\"\n\t\t},\n\t\t\"implode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"glue_or_pieces\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"pieces\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Join array elements with a string\"\n\t\t},\n\t\t\"join\": { \"alias\": \"implode\" },\n\t\t\"lcfirst\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Make a string's first character lowercase\"\n\t\t},\n\t\t\"levenshtein\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"cost_ins\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"cost_rep\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"cost_del\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Calculate Levenshtein distance between two strings\"\n\t\t},\n\t\t\"ltrim\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"character_mask\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Strip whitespace (or other characters) from the beginning of a string\"\n\t\t},\n\t\t\"md5\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"raw_output\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Calculate the md5 hash of a string\"\n\t\t},\n\t\t\"metaphone\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"phonemes\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Calculate the metaphone key of a string\"\n\t\t},\n\t\t\"money_format\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"float\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Formats a number as a currency string\"\n\t\t},\n\t\t\"nl_langinfo\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"item\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Query language and locale information\"\n\t\t},\n\t\t\"nl2br\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"is_xhtml\", \"default\": \"true\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Inserts HTML line breaks before all newlines in a string\"\n\t\t},\n\t\t\"number_format\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"float\", \"name\": \"float\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"decimals\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"dec_point\", \"default\": \".\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"thousands_sep\", \"default\": \",\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Format a number with grouped thousands\"\n\t\t},\n\t\t\"ord\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Return ASCII value of character\"\n\t\t},\n\t\t\"printf\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"args\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Output a formatted string\"\n\t\t},\n\t\t\"quoted_printable_decode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert a quoted-printable string to an 8 bit string\"\n\t\t},\n\t\t\"quoted_printable_encode\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Convert a 8 bit string to a quoted-printable string\"\n\t\t},\n\t\t\"quotemeta\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Quote meta characters\"\n\t\t},\n\t\t\"rtrim\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"character_mask\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Strip whitespace (or other characters) from the end of a string\"\n\t\t},\n\t\t\"chop\": { \"alias\": \"rtrim\" },\n\t\t\"sha1\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"raw_output\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Calculate the sha1 hash of a string\"\n\t\t},\n\t\t\"similar_text\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"first\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"second\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"percent\", \"reference\": \"1\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Calculate the similarity between two strings\"\n\t\t},\n\t\t\"soundex\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Calculate the soundex key of a string\"\n\t\t},\n\t\t\"sprintf\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"args\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Return a formatted string\"\n\t\t},\n\t\t\"sscanf\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"...\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Parses input from a string according to a format\"\n\t\t},\n\t\t\"str_getcsv\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"input\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"delimiter\", \"default\": \",\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"enclosure\", \"default\": \"\\\"\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"escape\", \"default\": \"\\\\\\\\\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Parse a CSV string into an array\"\n\t\t},\n\t\t\"str_ireplace\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"search\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"replace\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"count\", \"reference\": \"1\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Case-insensitive version of str_replace()\"\n\t\t},\n\t\t\"str_pad\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"input\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"pad_length\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"pad_string\", \"default\": \" \" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"pad_type\", \"default\": \"STR_PAD_RIGHT\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Pad a string to a certain length with another string\"\n\t\t},\n\t\t\"str_repeat\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"input\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"multiplier\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Repeat a string\"\n\t\t},\n\t\t\"str_replace\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"search\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"replace\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"count\", \"reference\": \"1\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Replace all occurrences of the search string with the replacement string\"\n\t\t},\n\t\t\"str_rot13\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Perform the rot13 transform on a string\"\n\t\t},\n\t\t\"str_shuffle\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Randomly shuffles a string\"\n\t\t},\n\t\t\"str_split\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"split_length\", \"default\": \"1\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Convert a string to an array\"\n\t\t},\n\t\t\"str_word_count\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"format\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"charlist\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Return information about words used in a string\"\n\t\t},\n\t\t\"strcasecmp\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Binary safe case-insensitive string comparison\"\n\t\t},\n\t\t\"strcmp\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Binary safe string comparison\"\n\t\t},\n\t\t\"strcoll\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Locale based string comparison\"\n\t\t},\n\t\t\"strcspn\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"start\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Find length of initial segment not matching mask\"\n\t\t},\n\t\t\"strip_tags\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"allowable_tags\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Strip HTML and PHP tags from a string\"\n\t\t},\n\t\t\"stripcslashes\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Un-quote string quoted with addcslashes()\"\n\t\t},\n\t\t\"stripslashes\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Un-quotes a quoted string\"\n\t\t},\n\t\t\"strnatcasecmp\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Case insensitive string comparisons using a \\\"natural order\\\" algorithm\"\n\t\t},\n\t\t\"strnatcmp\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"String comparisons using a \\\"natural order\\\" algorithm\"\n\t\t},\n\t\t\"strncasecmp\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"len\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Binary safe case-insensitive string comparison of the first n characters\"\n\t\t},\n\t\t\"strncmp\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str1\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str2\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"len\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Binary safe string comparison of the first n characters\"\n\t\t},\n\t\t\"strpbrk\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"char_list\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Search a string for any of a set of characters\"\n\t\t},\n\t\t\"strrev\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Reverse a string\"\n\t\t},\n\t\t\"strspn\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"subject\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"mask\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"start\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Finds the length of the initial segment of a string consisting entirely of characters contained within a given mask\"\n\t\t},\n\t\t\"strtok\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"token\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Tokenize string\"\n\t\t},\n\t\t\"strtolower\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Make a string lowercase\"\n\t\t},\n\t\t\"strtoupper\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Make a string uppercase\"\n\t\t},\n\t\t\"strtr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"from\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"to\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Translate characters or replace substrings\"\n\t\t},\n\t\t\"substr_compare\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"main_str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"case_insensitivity\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Binary safe comparison of two strings from an offset, up to length characters\"\n\t\t},\n\t\t\"substr_count\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Count the number of substring occurrences\"\n\t\t},\n\t\t\"substr_replace\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"replacement\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"start\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Replace text within a portion of a string\"\n\t\t},\n\t\t\"trim\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"character_mask\", \"default\": \" \\\\t\\\\n\\\\r\\\\0\\\\x0B\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Strip whitespace (or other characters) from the beginning and end of a string\"\n\t\t},\n\t\t\"ucfirst\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Make a string's first character uppercase\"\n\t\t},\n\t\t\"ucwords\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Uppercase the first character of each word in a string\"\n\t\t},\n\t\t\"vprintf\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"args\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Output a formatted string\"\n\t\t},\n\t\t\"vsprintf\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"args\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Return a formatted string\"\n\t\t},\n\t\t\"wordwrap\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"width\", \"default\": \"75\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"break\", \"default\": \"\\\\n\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"cut\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Wraps a string to a given number of characters\"\n\t\t},\n\t\t\"mb_convert_case\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"mode\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Perform case folding on a string\"\n\t\t},\n\t\t\"mb_detect_encoding\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"encoding_list\", \"default\": \"mb_detect_order()\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"strict\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Detect character encoding\"\n\t\t},\n\t\t\"mb_split\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"pattern\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"limit\", \"default\": \"-1\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Split multibyte string using regular expression\"\n\t\t},\n\t\t\"split\": { \"alias\": \"mb_split\" },\n\t\t\"mb_strcut\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"start\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Get part of string\"\n\t\t},\n\t\t\"mb_strimwidth\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"start\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"width\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"trimmarker\", \"default\": \"null\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Get truncated string with specified width\"\n\t\t},\n\t\t\"mb_stripos\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Finds position of first occurrence of a string within another, case insensitive\"\n\t\t},\n\t\t\"stripos\": { \"alias\": \"mb_stripos\" },\n\t\t\"mb_stristr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"before_needle\", \"default\": \"false\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Finds first occurrence of a string within another, case insensitive\"\n\t\t},\n\t\t\"stristr\": { \"alias\": \"mb_stristr\" },\n\t\t\"mb_strlen\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"string\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Get string length\"\n\t\t},\n\t\t\"strlen\": { \"alias\": \"mb_strlen\" },\n\t\t\"mb_strpos\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Find position of first occurrence of string in a string\"\n\t\t},\n\t\t\"strpos\": { \"alias\": \"mb_strpos\" },\n\t\t\"mb_strrchr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"part\", \"default\": \"false\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Finds the last occurrence of a character in a string within another\"\n\t\t},\n\t\t\"strrchr\": { \"alias\": \"mb_strrchr\" },\n\t\t\"mb_strrichr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"part\", \"default\": \"false\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Finds the last occurrence of a character in a string within another, case insensitive\"\n\t\t},\n\t\t\"mb_strripos\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Finds position of last occurrence of a string within another, case insensitive\"\n\t\t},\n\t\t\"strripos\": { \"alias\": \"mb_strripos\" },\n\t\t\"mb_strrpos\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"offset\", \"default\": \"0\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Find position of last occurrence of a string in a string\"\n\t\t},\n\t\t\"strrpos\": { \"alias\": \"mb_strrpos\" },\n\t\t\"mb_strstr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"before_needle\", \"default\": \"false\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Finds first occurrence of a string within another\"\n\t\t},\n\t\t\"strstr\": { \"alias\": \"mb_strstr\" },\n\t\t\"strchr\": { \"alias\": \"mb_strstr\" },\n\t\t\"mb_strtolower\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Make a string lowercase\"\n\t\t},\n\t\t\"mb_strtoupper\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Make a string uppercase\"\n\t\t},\n\t\t\"mb_strwidth\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Return width of string\"\n\t\t},\n\t\t\"mb_substr_count\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"haystack\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"needle\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Count the number of substring occurrences\"\n\t\t},\n\t\t\"mb_substr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"str\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"start\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"length\", \"default\": \"NULL\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"encoding\", \"default\": \"mb_internal_encoding()\" }\n\t\t\t],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Get part of string\"\n\t\t},\n\t\t\"substr\": { \"alias\": \"mb_substr\" },\n\t\t\"checkdate\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"month\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"day\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"year\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"bool\",\n\t\t\t\"desc\": \"Validate a Gregorian date\"\n\t\t},\n\t\t\"date_add\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"DateInterval\", \"name\": \"interval\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Adds an amount of days, months, years, hours, minutes and seconds to a DateTime object\"\n\t\t},\n\t\t\"date_create_from_format\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"time\" },\n\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"timezone\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Returns new DateTime object formatted according to the specified format\"\n\t\t},\n\t\t\"date_create\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"time\", \"default\": \"now\" },\n\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"timezone\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Returns new DateTime object\"\n\t\t},\n\t\t\"date_date_set\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"year\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"month\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"day\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Sets the date\"\n\t\t},\n\t\t\"date_default_timezone_get\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Gets the default timezone used by all date/time functions in a script\"\n\t\t},\n\t\t\"date_diff\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"datetime1\" },\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"datetime2\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"absolute\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateInterval\",\n\t\t\t\"desc\": \"Returns the difference between two DateTime objects\"\n\t\t},\n\t\t\"date_format\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Returns date formatted according to given format\"\n\t\t},\n\t\t\"date_get_last_errors\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns the warnings and errors\"\n\t\t},\n\t\t\"date_interval_create_from_date_string\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"time\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateInterval\",\n\t\t\t\"desc\": \"Sets up a DateInterval from the relative parts of the string\"\n\t\t},\n\t\t\"date_interval_format\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateInterval\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Formats the interval\"\n\t\t},\n\t\t\"date_isodate_set\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"year\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"week\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"day\", \"default\": \"1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Sets the ISO date\"\n\t\t},\n\t\t\"date_modify\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"modify\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Alters the timestamp\"\n\t\t},\n\t\t\"date_offset_get\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Returns the timezone offset\"\n\t\t},\n\t\t\"date_parse_from_format\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"date\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Get info about given date formatted according to the specified format\"\n\t\t},\n\t\t\"date_parse\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"date\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns associative array with detailed info about given date\"\n\t\t},\n\t\t\"date_sub\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"DateInterval\", \"name\": \"interval\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Subtracts an amount of days, months, years, hours, minutes and seconds from a DateTime object\"\n\t\t},\n\t\t\"date_sun_info\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"time\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"latitude\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"longitude\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns an array with information about sunset/sunrise and twilight begin/end\"\n\t\t},\n\t\t\"date_sunrise\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"format\", \"default\": \"SUNFUNCS_RET_STRING\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"latitude\", \"default\": \"ini_get(\\\"date.default_latitude\\\")\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"longitude\", \"default\": \"ini_get(\\\"date.default_longitude\\\")\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"zenith\", \"default\": \"ini_get(\\\"date.default_zenith\\\")\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"gmt_offset\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Returns time of sunrise for a given day and location\"\n\t\t},\n\t\t\"date_sunset\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"format\", \"default\": \"SUNFUNCS_RET_STRING\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"latitude\", \"default\": \"ini_get(\\\"date.default_latitude\\\")\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"longitude\", \"default\": \"ini_get(\\\"date.default_longitude\\\")\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"zenith\", \"default\": \"ini_get(\\\"date.default_zenith\\\")\" },\n\t\t\t\t{ \"type\": \"float\", \"name\": \"gmt_offset\", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Returns time of sunset for a given day and location\"\n\t\t},\n\t\t\"date_time_set\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"hour\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"minute\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"second \", \"default\": \"0\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Sets the time\"\n\t\t},\n\t\t\"date_timestamp_get\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Gets the Unix timestamp\"\n\t\t},\n\t\t\"date_timestamp_set\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"unixtimestamp\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Sets the date and time based on an Unix timestamp\"\n\t\t},\n\t\t\"date_timezone_get\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTimeZone\",\n\t\t\t\"desc\": \"Return time zone relative to given DateTime\"\n\t\t},\n\t\t\"date_timezone_set\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"timezone\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTime\",\n\t\t\t\"desc\": \"Sets the time zone for the DateTime object\"\n\t\t},\n\t\t\"date\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\", \"default\": \"time()\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Format a local time/date\"\n\t\t},\n\t\t\"getdate\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\", \"default\": \"time()\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Get date/time information\"\n\t\t},\n\t\t\"gettimeofday\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"return_float\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Get current time\"\n\t\t},\n\t\t\"gmdate\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\", \"default\": \"time()\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Format a GMT/UTC date/time\"\n\t\t},\n\t\t\"gmmktime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"hour\", \"default\": \"gmdate(\\\"H\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"minute\", \"default\": \"gmdate(\\\"i\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"second\", \"default\": \"gmdate(\\\"s\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"month\", \"default\": \"gmdate(\\\"n\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"day\", \"default\": \"gmdate(\\\"j\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"year\", \"default\": \"gmdate(\\\"Y\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"is_dst\", \"default\": \"-1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Get Unix timestamp for a GMT date\"\n\t\t},\n\t\t\"gmstrftime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\", \"default\": \"time()\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Format a GMT/UTC time/date according to locale settings\"\n\t\t},\n\t\t\"idate\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\", \"default\": \"time()\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Format a local time/date as integer\"\n\t\t},\n\t\t\"localtime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\", \"default\": \"time()\" },\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"is_associative\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Get the local time\"\n\t\t},\n\t\t\"microtime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"bool\", \"name\": \"get_as_float\", \"default\": \"false\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Return current Unix timestamp with microseconds\"\n\t\t},\n\t\t\"mktime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"hour\", \"default\": \"gmdate(\\\"H\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"minute\", \"default\": \"gmdate(\\\"i\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"second\", \"default\": \"gmdate(\\\"s\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"month\", \"default\": \"gmdate(\\\"n\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"day\", \"default\": \"gmdate(\\\"j\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"year\", \"default\": \"gmdate(\\\"Y\\\")\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"is_dst\", \"default\": \"-1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Get Unix timestamp for a date\"\n\t\t},\n\t\t\"strftime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp\", \"default\": \"time()\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Format a local time/date according to locale settings\"\n\t\t},\n\t\t\"strptime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"date\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"format\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Parse a time/date generated with strftime()\"\n\t\t},\n\t\t\"strtotime\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"time\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"now\", \"default\": \"time()\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Parse about any English textual datetime description into a Unix timestamp\"\n\t\t},\n\t\t\"time\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Return current Unix timestamp\"\n\t\t},\n\t\t\"timezone_abbreviations_list\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns associative array containing dst, offset and the timezone name\"\n\t\t},\n\t\t\"timezone_identifiers_list\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"int\", \"name\": \"what\", \"default\": \"DateTimeZone::ALL\" },\n\t\t\t\t{ \"type\": \"string\", \"name\": \"country\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns a numerically indexed array containing all defined timezone identifiers\"\n\t\t},\n\t\t\"timezone_location_get\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns location information for a timezone\"\n\t\t},\n\t\t\"timezone_name_from_abbr\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"abbr\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"gmtOffset\", \"default\": \"-1\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"isdst\", \"default\": \"-1\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Returns the timezone name from abbreviation\"\n\t\t},\n\t\t\"timezone_name_get\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"object\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Returns the name of the timezone\"\n\t\t},\n\t\t\"timezone_offset_get\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"DateTime\", \"name\": \"datetime\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Returns the timezone offset from GMT\"\n\t\t},\n\t\t\"timezone_open\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"timezone\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"DateTimeZone\",\n\t\t\t\"desc\": \"Creates new DateTimeZone object\"\n\t\t},\n\t\t\"timezone_transitions_get\": {\n\t\t\t\"class\": \"PhpTagsFuncNativeObject\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"DateTimeZone\", \"name\": \"object\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp_begin\", \"default\": \"\" },\n\t\t\t\t{ \"type\": \"int\", \"name\": \"timestamp_end\", \"default\": \"\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns all transitions for the timezone\"\n\t\t},\n\t\t\"timezone_version_get\": {\n\t\t\t\"class\": \"PhpTagsFunc\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Gets the version of the timezonedb\"\n\t\t},\n\t\t\"uuid_create\": {\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"parameters\": [],\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Create random UUID\"\n\t\t},\n\t\t\"mw_json_decode\": {\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"string\", \"name\": \"value\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Decodes a JSON string\"\n\t\t},\n\t\t\"mw_json_encode\": {\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"value\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Returns the JSON representation of a value\"\n\t\t},\n\t\t\"get_arg\": {\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"nonobject\", \"name\": \"index\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"default\", \"default\": \"NULL\" }\n\t\t\t],\n\t\t\t\"return\": \"mixed\",\n\t\t\t\"desc\": \"Return an item from the argument list\"\n\t\t},\n\t\t\"get_args\": {\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"parameters\": [],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"array\",\n\t\t\t\"desc\": \"Returns an array comprising a template's argument list\"\n\t\t},\n\t\t\"num_args\": {\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"parameters\": [],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"int\",\n\t\t\t\"desc\": \"Returns the number of arguments passed to the template\"\n\t\t},\n\t\t\"transclude\": {\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"parameters\": [\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"title\" },\n\t\t\t\t{ \"type\": \"array\", \"name\": \"parameters\", \"default\": \"array()\" },\n\t\t\t\t{ \"type\": \"mixed\", \"name\": \"default\", \"default\": \"null\" }\n\t\t\t],\n\t\t\t\"onfailure\": \"false\",\n\t\t\t\"return\": \"string\",\n\t\t\t\"desc\": \"Returns text of a template after parse, or $default if the template doesn't exist and $default is not null\"\n\t\t}\n\t},\n\t\"constants\": {\n\t\t\"PHPTAGS_FUNCTIONS_VERSION\": {\n\t\t\t\"desc\": \"The current version of the PhpTags Functions extension as a string\",\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"mw://Extension:PhpTags_Functions\"\n\t\t},\n\t\t\"PHP_VERSION\": {\n\t\t\t\"desc\": \"The current PHP version as a string\",\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://reserved.constants.php\"\n\t\t},\n\t\t\"PHP_MAJOR_VERSION\": {\n\t\t\t\"desc\": \"The current PHP 'major' version as an integer\",\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://reserved.constants.php\"\n\t\t},\n\t\t\"PHP_MINOR_VERSION\": {\n\t\t\t\"desc\": \"The current PHP 'minor' version as an integer\",\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://reserved.constants.php\"\n\t\t},\n\t\t\"PHP_RELEASE_VERSION\": {\n\t\t\t\"desc\": \"The current PHP 'release' version as an integer\",\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://reserved.constants.php\"\n\t\t},\n\t\t\"PHP_INT_MAX\": {\n\t\t\t\"desc\": \"The largest integer supported in this build of PHP\",\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://reserved.constants.php\"\n\t\t},\n\t\t\"PHP_INT_SIZE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://reserved.constants.php\"\n\t\t},\n\t\t\"PHP_OS\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://reserved.constants.php\"\n\t\t},\n\t\t\"DATE_ATOM\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_COOKIE\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_ISO8601\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_RFC822\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_RFC850\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_RFC1036\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_RFC1123\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_RFC2822\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_RFC3339\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_RSS\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"DATE_W3C\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"link\": \"php://class.datetime.php\"\n\t\t},\n\t\t\"SUNFUNCS_RET_TIMESTAMP\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://datetime.constants.php\"\n\t\t},\n\t\t\"SUNFUNCS_RET_STRING\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://datetime.constants.php\"\n\t\t},\n\t\t\"SUNFUNCS_RET_DOUBLE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://datetime.constants.php\"\n\t\t},\n\t\t\"CASE_LOWER\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"CASE_UPPER\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"COUNT_NORMAL\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"COUNT_RECURSIVE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ARRAY_FILTER_USE_BOTH\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ARRAY_FILTER_USE_KEY\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ASSERT_ACTIVE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ASSERT_CALLBACK\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ASSERT_BAIL\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ASSERT_WARNING\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ASSERT_QUIET_EVAL\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_ASC\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_DESC\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_REGULAR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_NUMERIC\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_STRING\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_LOCALE_STRING\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_NATURAL\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"SORT_FLAG_CASE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://array.constants.php\"\n\t\t},\n\t\t\"ABDAY_1\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of n-th day of the week\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABDAY_2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of n-th day of the week\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABDAY_3\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of n-th day of the wee\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABDAY_4\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of n-th day of the week\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABDAY_5\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of n-th day of the week\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABDAY_6\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of n-th day of the week\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABDAY_7\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of n-th day of the week\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"DAY_1\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th day of the week (DAY_1 = Sunday)\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"DAY_2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th day of the week (DAY_1 = Sunday)\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"DAY_3\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th day of the week (DAY_1 = Sunday)\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"DAY_4\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th day of the week (DAY_1 = Sunday)\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"DAY_5\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th day of the week (DAY_1 = Sunday)\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"DAY_6\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th day of the week (DAY_1 = Sunday)\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"DAY_7\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th day of the week (DAY_1 = Sunday)\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_1\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_3\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_4\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_5\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_6\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_7\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_8\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_9\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_10\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_11\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ABMON_12\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Abbreviated name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_1\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_3\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_4\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_5\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_6\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_7\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_8\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_9\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_10\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_11\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"MON_12\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Name of the n-th month of the year\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"AM_STR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"String for Ante meridian\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"PM_STR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"String for Post meridian\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"D_T_FMT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"String that can be used as the format string for strftime() to represent time and date\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"D_FMT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"String that can be used as the format string for strftime() to represent date\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"T_FMT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"String that can be used as the format string for strftime() to represent time\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"T_FMT_AMPM\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"String that can be used as the format string for strftime() to represent time in 12-hour format with ante/post meridian\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ERA\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Alternate era\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ERA_D_FMT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Date in alternate era format\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ERA_T_FMT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Time in alternate era format\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"ERA_D_T_FMT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Date and time in alternate era format\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"CODESET\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Return a string with the name of the character encoding\",\n\t\t\t\"link\": \"php://function.nl-langinfo.php\"\n\t\t},\n\t\t\"CRYPT_SALT_LENGTH\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.crypt.php\"\n\t\t},\n\t\t\"CRYPT_STD_DES\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.crypt.php\"\n\t\t},\n\t\t\"CRYPT_EXT_DES\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.crypt.php\"\n\t\t},\n\t\t\"CRYPT_MD5\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.crypt.php\"\n\t\t},\n\t\t\"CRYPT_BLOWFISH\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.crypt.php\"\n\t\t},\n\t\t\"CRYPT_SHA256\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.crypt.php\"\n\t\t},\n\t\t\"CRYPT_SHA512\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.crypt.php\"\n\t\t},\n\t\t\"HTML_SPECIALCHARS\": {\n\t\t\t\"type\": \"int\"\n\t\t},\n\t\t\"HTML_ENTITIES\": {\n\t\t\t\"type\": \"int\"\n\t\t},\n\t\t\"ENT_COMPAT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Will convert double-quotes and leave single-quotes alone\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_QUOTES\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Will convert both double and single quotes\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_NOQUOTES\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Will leave both double and single quotes unconverted\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_IGNORE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Silently discard invalid code unit sequences instead of returning an empty string\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_SUBSTITUTE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Replace invalid code unit sequences with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD; (otherwise) instead of returning an empty string\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_DISALLOWED\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Replace invalid code points for the given document type with a Unicode Replacement Character U+FFFD (UTF-8) or &#FFFD;\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_HTML401\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Handle code as HTML 4.01\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_XML1\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Handle code as XML 1\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_XHTML\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Handle code as XHTML\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"ENT_HTML5\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Handle code as HTML 5\",\n\t\t\t\"link\": \"php://function.htmlentities.php\"\n\t\t},\n\t\t\"CHAR_MAX\": {\n\t\t\t\"type\": \"int\"\n\t\t},\n\t\t\"STR_PAD_LEFT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.str-pad.php\"\n\t\t},\n\t\t\"STR_PAD_RIGHT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.str-pad.php\"\n\t\t},\n\t\t\"STR_PAD_BOTH\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.str-pad.php\"\n\t\t},\n\t\t\"M_PI\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Pi\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_PI_2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"pi/2\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_PI_4\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"pi/4\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_1_PI\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"1/pi\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_2_PI\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"2/pi\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_SQRTPI\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"sqrt(pi)\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_2_SQRTPI\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"2/sqrt(pi)\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_LNPI\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"log_e(pi)\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_EULER\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Euler constant\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_SQRT2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"sqrt(2)\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_SQRT1_2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"1/sqrt(2)\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_SQRT3\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"sqrt(3)\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"INF\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"The infinite\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"NAN\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Not A Number\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"PHP_ROUND_HALF_UP\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Round halves up\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"PHP_ROUND_HALF_DOWN\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Round halves down\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"PHP_ROUND_HALF_EVEN\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Round halves to even numbers\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"PHP_ROUND_HALF_ODD\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Round halves to odd numbers\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_E\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"e\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_LOG2E\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"log_2 e\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_LOG10E\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"log_10 e\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_LN2\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"log_e 2\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"M_LN10\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"log_e 10\",\n\t\t\t\"link\": \"php://math.constants.php\"\n\t\t},\n\t\t\"PREG_PATTERN_ORDER\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Orders results so that $matches[0] is an array of full pattern matches, $matches[1] is an array of strings matched by the first parenthesized subpattern, and so on\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_SET_ORDER\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Orders results so that $matches[0] is an array of first set of matches, $matches[1] is an array of second set of matches, and so on\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_OFFSET_CAPTURE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"If this flag is set, for every occurring match the appendant string offset will also be returned. Note that this changes the return values in an array where every element is an array consisting of the matched string at offset 0 and its string offset within subject at offset 1\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_SPLIT_NO_EMPTY\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"This flag tells preg_split() to return only non-empty pieces\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_SPLIT_DELIM_CAPTURE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"This flag tells preg_split() to capture parenthesized expression in the delimiter pattern as well\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_SPLIT_OFFSET_CAPTURE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"If this flag is set, for every occurring match the appendant string offset will also be returned. Note that this changes the return values in an array where every element is an array consisting of the matched string at offset 0 and its string offset within subject at offset 1\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_NO_ERROR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Returned by preg_last_error() if there were no errors\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_INTERNAL_ERROR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Returned by preg_last_error() if there was an internal PCRE error\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_BACKTRACK_LIMIT_ERROR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Returned by preg_last_error() if backtrack limit was exhausted\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_RECURSION_LIMIT_ERROR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Returned by preg_last_error() if recursion limit was exhausted\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_BAD_UTF8_ERROR\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"desc\": \"Returned by preg_last_error() if the last error was caused by malformed UTF-8 data\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PCRE_VERSION\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"desc\": \"PCRE version and release date\",\n\t\t\t\"link\": \"php://pcre.constants.php\"\n\t\t},\n\t\t\"PREG_GREP_INVERT\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://function.preg-grep.php\"\n\t\t},\n\t\t\"MB_OVERLOAD_MAIL\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://mbstring.constants.php\"\n\t\t},\n\t\t\"MB_OVERLOAD_STRING\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://mbstring.constants.php\"\n\t\t},\n\t\t\"MB_OVERLOAD_REGEX\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://mbstring.constants.php\"\n\t\t},\n\t\t\"MB_CASE_UPPER\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://mbstring.constants.php\"\n\t\t},\n\t\t\"MB_CASE_LOWER\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://mbstring.constants.php\"\n\t\t},\n\t\t\"MB_CASE_TITLE\": {\n\t\t\t\"type\": \"int\",\n\t\t\t\"link\": \"php://mbstring.constants.php\"\n\t\t},\n\t\t\"UUID\": {\n\t\t\t\"type\": \"string\",\n\t\t\t\"class\": \"PhpTagsFuncUseful\",\n\t\t\t\"desc\": \"returns random UUID\"\n\t\t}\n\t}\n}\n","usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/composer.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/extension.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ar.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ast.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/be-tarask.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ce.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/de.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/el.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/en.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/es.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fa.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/fr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/gl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/he.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ia.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/it.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ja.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ko.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ksh.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/lt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/mk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nb.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/nl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/oc.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pt-br.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/pt.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/qqq.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/roa-tara.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/ru.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sco.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sl.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/sv.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/tr.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/uk.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zh-hans.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/i18n/zh-hant.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package-lock.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]},{"filePath":"/src/repo/package.json","messages":[],"suppressedMessages":[],"errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0,"usedDeprecatedRules":[{"ruleId":"no-tabs","replacedBy":[]},{"ruleId":"indent","replacedBy":[]},{"ruleId":"comma-dangle","replacedBy":[]},{"ruleId":"no-extra-parens","replacedBy":[]},{"ruleId":"quotes","replacedBy":[]},{"ruleId":"quote-props","replacedBy":[]},{"ruleId":"array-bracket-spacing","replacedBy":[]},{"ruleId":"block-spacing","replacedBy":[]},{"ruleId":"brace-style","replacedBy":[]},{"ruleId":"comma-spacing","replacedBy":[]},{"ruleId":"comma-style","replacedBy":[]},{"ruleId":"computed-property-spacing","replacedBy":[]},{"ruleId":"dot-location","replacedBy":[]},{"ruleId":"eol-last","replacedBy":[]},{"ruleId":"func-call-spacing","replacedBy":[]},{"ruleId":"key-spacing","replacedBy":[]},{"ruleId":"keyword-spacing","replacedBy":[]},{"ruleId":"linebreak-style","replacedBy":[]},{"ruleId":"max-statements-per-line","replacedBy":[]},{"ruleId":"new-parens","replacedBy":[]},{"ruleId":"no-floating-decimal","replacedBy":[]},{"ruleId":"no-multi-spaces","replacedBy":[]},{"ruleId":"no-multiple-empty-lines","replacedBy":[]},{"ruleId":"no-new-object","replacedBy":["no-object-constructor"]},{"ruleId":"no-trailing-spaces","replacedBy":[]},{"ruleId":"no-whitespace-before-property","replacedBy":[]},{"ruleId":"object-curly-spacing","replacedBy":[]},{"ruleId":"operator-linebreak","replacedBy":[]},{"ruleId":"semi","replacedBy":[]},{"ruleId":"semi-spacing","replacedBy":[]},{"ruleId":"semi-style","replacedBy":[]},{"ruleId":"space-before-blocks","replacedBy":[]},{"ruleId":"space-before-function-paren","replacedBy":[]},{"ruleId":"space-in-parens","replacedBy":[]},{"ruleId":"space-infix-ops","replacedBy":[]},{"ruleId":"space-unary-ops","replacedBy":[]},{"ruleId":"spaced-comment","replacedBy":[]},{"ruleId":"switch-colon-spacing","replacedBy":[]},{"ruleId":"wrap-iife","replacedBy":[]},{"ruleId":"no-extra-semi","replacedBy":[]},{"ruleId":"no-mixed-spaces-and-tabs","replacedBy":[]}]}]

--- end ---
$ ./node_modules/.bin/banana-checker --autofix=true i18n
--- stdout ---
Checked 1 message directory.

--- end ---
$ /usr/bin/npm ci
--- stdout ---

added 315 packages, and audited 316 packages in 4s

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

1 high severity vulnerability

To address all issues, run:
  npm audit fix

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/PhpTagsFunctions.json
  762:18  warning  Unexpected tab character  no-tabs

✖ 1 problem (0 errors, 1 warning)


Running "banana:all" (banana) task
>> 1 message directory checked.

Done.

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "braces": {
      "name": "braces",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098094,
          "name": "braces",
          "dependency": "braces",
          "title": "Uncontrolled resource consumption in braces",
          "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "CWE-1050"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<3.0.3"
        }
      ],
      "effects": [],
      "range": "<3.0.3",
      "nodes": [
        "node_modules/braces"
      ],
      "fixAvailable": true
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 0,
      "high": 1,
      "critical": 0,
      "total": 1
    },
    "dependencies": {
      "prod": 1,
      "dev": 315,
      "optional": 0,
      "peer": 1,
      "peerOptional": 0,
      "total": 315
    }
  }
}

--- 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
--- stdout ---
{
  "added": 0,
  "removed": 0,
  "changed": 2,
  "audited": 316,
  "funding": 58,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "braces": {
        "name": "braces",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098094,
            "name": "braces",
            "dependency": "braces",
            "title": "Uncontrolled resource consumption in braces",
            "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "CWE-1050"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<3.0.3"
          }
        ],
        "effects": [],
        "range": "<3.0.3",
        "nodes": [
          ""
        ],
        "fixAvailable": true
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 0,
        "high": 1,
        "critical": 0,
        "total": 1
      },
      "dependencies": {
        "prod": 1,
        "dev": 315,
        "optional": 0,
        "peer": 1,
        "peerOptional": 0,
        "total": 315
      }
    }
  }
}

--- end ---
{"added": 0, "removed": 0, "changed": 2, "audited": 316, "funding": 58, "audit": {"auditReportVersion": 2, "vulnerabilities": {"braces": {"name": "braces", "severity": "high", "isDirect": false, "via": [{"source": 1098094, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-400", "CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}], "effects": [], "range": "<3.0.3", "nodes": [""], "fixAvailable": true}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 0, "high": 1, "critical": 0, "total": 1}, "dependencies": {"prod": 1, "dev": 315, "optional": 0, "peer": 1, "peerOptional": 0, "total": 315}}}}
$ /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
--- stdout ---

up to date, audited 316 packages in 885ms

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

found 0 vulnerabilities

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

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stdout ---

added 315 packages, and audited 316 packages in 3s

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

found 0 vulnerabilities

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/PhpTagsFunctions.json
  762:18  warning  Unexpected tab character  no-tabs

✖ 1 problem (0 errors, 1 warning)


Running "banana:all" (banana) task
>> 1 message directory checked.

Done.

--- end ---
{"1098094": {"source": 1098094, "name": "braces", "dependency": "braces", "title": "Uncontrolled resource consumption in braces", "url": "https://github.com/advisories/GHSA-grv7-fg5c-xmjg", "severity": "high", "cwe": ["CWE-400", "CWE-1050"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<3.0.3"}}
Upgrading n:braces from 3.0.2 -> 3.0.3
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

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

* eslint-config-wikimedia: 0.27.0 → 0.28.2
* grunt-banana-checker: 0.12.0 → 0.13.0
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmpnp15lqjy
--- stdout ---
[master a849ce8] build: Updating npm dependencies
 2 files changed, 658 insertions(+), 458 deletions(-)

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

* eslint-config-wikimedia: 0.27.0 → 0.28.2
* grunt-banana-checker: 0.12.0 → 0.13.0
* braces: 3.0.2 → 3.0.3
  * https://github.com/advisories/GHSA-grv7-fg5c-xmjg

Change-Id: I7bce4a6e484932b8513e725c2a3ee9c7073eba9d
---
 package-lock.json | 1112 ++++++++++++++++++++++++++-------------------
 package.json      |    4 +-
 2 files changed, 658 insertions(+), 458 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index e6599f4..c36ba18 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,9 +6,9 @@
 		"": {
 			"name": "PhpTagsFunctions",
 			"devDependencies": {
-				"eslint-config-wikimedia": "0.27.0",
+				"eslint-config-wikimedia": "0.28.2",
 				"grunt": "1.6.1",
-				"grunt-banana-checker": "0.12.0",
+				"grunt-banana-checker": "0.13.0",
 				"grunt-eslint": "24.3.0"
 			}
 		},
@@ -22,12 +22,12 @@
 			}
 		},
 		"node_modules/@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"dependencies": {
-				"@babel/highlight": "^7.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			},
 			"engines": {
@@ -35,21 +35,21 @@
 			}
 		},
 		"node_modules/@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true,
 			"engines": {
 				"node": ">=6.9.0"
 			}
 		},
 		"node_modules/@babel/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -130,11 +130,14 @@
 			}
 		},
 		"node_modules/@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"dependencies": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -159,9 +162,9 @@
 			}
 		},
 		"node_modules/@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true,
 			"engines": {
 				"node": "^12.0.0 || ^14.0.0 || >=16.0.0"
@@ -309,6 +312,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"node_modules/@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"dependencies": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"node_modules/@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"node_modules/@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -321,23 +340,17 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"node_modules/@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"node_modules/@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -345,12 +358,12 @@
 			}
 		},
 		"node_modules/@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true,
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -358,21 +371,22 @@
 			}
 		},
 		"node_modules/@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -384,65 +398,63 @@
 				}
 			}
 		},
-		"node_modules/@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 			"dev": true,
 			"dependencies": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
-			},
-			"funding": {
-				"type": "opencollective",
-				"url": "https://opencollective.com/typescript-eslint"
-			},
-			"peerDependencies": {
-				"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+				"balanced-match": "^1.0.0"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/eslint-scope": {
-			"version": "5.1.1",
-			"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-			"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+		"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"esrecurse": "^4.3.0",
-				"estraverse": "^4.1.1"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": ">=8.0.0"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
-		"node_modules/@typescript-eslint/utils/node_modules/estraverse": {
-			"version": "4.3.0",
-			"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-			"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+		"node_modules/@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
 			"dev": true,
+			"dependencies": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			},
 			"engines": {
-				"node": ">=4.0"
+				"node": "^18.18.0 || >=20.0.0"
+			},
+			"funding": {
+				"type": "opencollective",
+				"url": "https://opencollective.com/typescript-eslint"
+			},
+			"peerDependencies": {
+				"eslint": "^8.56.0"
 			}
 		},
 		"node_modules/@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			},
 			"engines": {
-				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+				"node": "^18.18.0 || >=20.0.0"
 			},
 			"funding": {
 				"type": "opencollective",
@@ -462,9 +474,9 @@
 			"dev": true
 		},
 		"node_modules/acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true,
 			"bin": {
 				"acorn": "bin/acorn"
@@ -609,12 +621,12 @@
 			}
 		},
 		"node_modules/braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"dependencies": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			},
 			"engines": {
 				"node": ">=8"
@@ -653,9 +665,9 @@
 			}
 		},
 		"node_modules/browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"node_modules/builtin-modules": {
@@ -670,15 +682,6 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
-		"node_modules/builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"dependencies": {
-				"semver": "^7.0.0"
-			}
-		},
 		"node_modules/callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -803,9 +806,9 @@
 			"dev": true
 		},
 		"node_modules/core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"dependencies": {
 				"browserslist": "^4.23.0"
@@ -912,6 +915,19 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"node_modules/enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"dependencies": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			},
+			"engines": {
+				"node": ">=10.13.0"
+			}
+		},
 		"node_modules/error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -998,9 +1014,9 @@
 			}
 		},
 		"node_modules/eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"dependencies": {
 				"semver": "^7.5.4"
@@ -1013,28 +1029,28 @@
 			}
 		},
 		"node_modules/eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"dependencies": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"node_modules/eslint-plugin-compat": {
@@ -1059,39 +1075,40 @@
 			}
 		},
 		"node_modules/eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/ota-meshi",
+				"https://opencollective.com/eslint"
+			],
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			},
 			"engines": {
 				"node": "^14.18.0 || >=16.0.0"
 			},
-			"funding": {
-				"url": "https://github.com/sponsors/ota-meshi"
-			},
 			"peerDependencies": {
 				"eslint": ">=8"
 			}
 		},
 		"node_modules/eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"dependencies": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^16.10.0 || ^18.12.0 || >=20.0.0"
 			},
 			"peerDependencies": {
-				"@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0",
-				"eslint": "^7.0.0 || ^8.0.0",
+				"@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0",
+				"eslint": "^7.0.0 || ^8.0.0 || ^9.0.0",
 				"jest": "*"
 			},
 			"peerDependenciesMeta": {
@@ -1104,19 +1121,19 @@
 			}
 		},
 		"node_modules/eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"dependencies": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			},
 			"engines": {
@@ -1127,9 +1144,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"dependencies": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -1140,9 +1157,9 @@
 			}
 		},
 		"node_modules/eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"dependencies": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -1170,52 +1187,73 @@
 			}
 		},
 		"node_modules/eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"engines": {
-				"node": ">=16.0.0"
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
 			},
 			"funding": {
-				"url": "https://github.com/sponsors/mysticatea"
+				"url": "https://opencollective.com/eslint"
 			},
 			"peerDependencies": {
-				"eslint": ">=7.0.0"
+				"eslint": ">=8.23.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/brace-expansion": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+			"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+			"dev": true,
+			"dependencies": {
+				"balanced-match": "^1.0.0"
+			}
+		},
+		"node_modules/eslint-plugin-n/node_modules/globals": {
+			"version": "15.8.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+			"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
 		"node_modules/eslint-plugin-n/node_modules/minimatch": {
-			"version": "3.1.2",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 			"dev": true,
 			"dependencies": {
-				"brace-expansion": "^1.1.7"
+				"brace-expansion": "^2.0.1"
 			},
 			"engines": {
-				"node": "*"
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
 			}
 		},
 		"node_modules/eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"peerDependencies": {
-				"eslint": ">=2.3.0"
+				"eslint": ">=8.0.0"
 			}
 		},
 		"node_modules/eslint-plugin-qunit": {
@@ -1241,17 +1279,17 @@
 			}
 		},
 		"node_modules/eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"dependencies": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -1260,11 +1298,11 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
 			},
 			"engines": {
-				"node": ">=16"
+				"node": ">=18.18"
 			},
 			"funding": {
 				"url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1"
@@ -1273,10 +1311,104 @@
 				"eslint": ">=8.56.0"
 			}
 		},
+		"node_modules/eslint-plugin-unicorn/node_modules/@eslint/eslintrc": {
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+			"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+			"dev": true,
+			"dependencies": {
+				"ajv": "^6.12.4",
+				"debug": "^4.3.2",
+				"espree": "^10.0.1",
+				"globals": "^14.0.0",
+				"ignore": "^5.2.0",
+				"import-fresh": "^3.2.1",
+				"js-yaml": "^4.1.0",
+				"minimatch": "^3.1.2",
+				"strip-json-comments": "^3.1.1"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/argparse": {
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+			"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+			"dev": true
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
+			"version": "4.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+			"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/espree": {
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+			"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+			"dev": true,
+			"dependencies": {
+				"acorn": "^8.12.0",
+				"acorn-jsx": "^5.3.2",
+				"eslint-visitor-keys": "^4.0.0"
+			},
+			"engines": {
+				"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+			},
+			"funding": {
+				"url": "https://opencollective.com/eslint"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/globals": {
+			"version": "14.0.0",
+			"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+			"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/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==",
+			"dev": true,
+			"dependencies": {
+				"argparse": "^2.0.1"
+			},
+			"bin": {
+				"js-yaml": "bin/js-yaml.js"
+			}
+		},
+		"node_modules/eslint-plugin-unicorn/node_modules/minimatch": {
+			"version": "3.1.2",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+			"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^1.1.7"
+			},
+			"engines": {
+				"node": "*"
+			}
+		},
 		"node_modules/eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"dependencies": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -1285,7 +1417,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			},
 			"engines": {
@@ -1584,9 +1716,9 @@
 			}
 		},
 		"node_modules/fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"dependencies": {
 				"to-regex-range": "^5.0.1"
@@ -1707,9 +1839,9 @@
 			}
 		},
 		"node_modules/get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"dependencies": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -1833,6 +1965,12 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/graceful-fs": {
+			"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/graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -1867,10 +2005,13 @@
 			}
 		},
 		"node_modules/grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
 			"dev": true,
+			"dependencies": {
+				"chalk": "4.1.2"
+			},
 			"bin": {
 				"banana-checker": "src/cli.js"
 			},
@@ -2413,18 +2554,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"node_modules/lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"dependencies": {
-				"yallist": "^4.0.0"
-			},
-			"engines": {
-				"node": ">=10"
-			}
-		},
 		"node_modules/make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -2829,9 +2958,9 @@
 			}
 		},
 		"node_modules/postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"dependencies": {
 				"cssesc": "^3.0.0",
@@ -3147,13 +3276,10 @@
 			"dev": true
 		},
 		"node_modules/semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
 			"dev": true,
-			"dependencies": {
-				"lru-cache": "^6.0.0"
-			},
 			"bin": {
 				"semver": "bin/semver.js"
 			},
@@ -3228,9 +3354,9 @@
 			}
 		},
 		"node_modules/spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"node_modules/sprintf-js": {
@@ -3299,6 +3425,15 @@
 				"url": "https://github.com/sponsors/ljharb"
 			}
 		},
+		"node_modules/tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true,
+			"engines": {
+				"node": ">=6"
+			}
+		},
 		"node_modules/text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -3317,25 +3452,16 @@
 				"node": ">=8.0"
 			}
 		},
-		"node_modules/tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"node_modules/tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"node_modules/ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"dependencies": {
-				"tslib": "^1.8.1"
-			},
 			"engines": {
-				"node": ">= 6"
+				"node": ">=16"
 			},
 			"peerDependencies": {
-				"typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+				"typescript": ">=4.2.0"
 			}
 		},
 		"node_modules/type-check": {
@@ -3363,9 +3489,9 @@
 			}
 		},
 		"node_modules/typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true,
 			"bin": {
@@ -3486,9 +3612,9 @@
 			}
 		},
 		"node_modules/vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"dependencies": {
 				"debug": "^4.3.4",
@@ -3539,12 +3665,6 @@
 				"node": ">=12"
 			}
 		},
-		"node_modules/yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"node_modules/yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
@@ -3595,28 +3715,28 @@
 			"dev": true
 		},
 		"@babel/code-frame": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
-			"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
+			"integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
 			"dev": true,
 			"requires": {
-				"@babel/highlight": "^7.24.2",
+				"@babel/highlight": "^7.24.7",
 				"picocolors": "^1.0.0"
 			}
 		},
 		"@babel/helper-validator-identifier": {
-			"version": "7.22.20",
-			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-			"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
+			"integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
 			"dev": true
 		},
 		"@babel/highlight": {
-			"version": "7.24.2",
-			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
-			"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
+			"version": "7.24.7",
+			"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
+			"integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.7",
 				"chalk": "^2.4.2",
 				"js-tokens": "^4.0.0",
 				"picocolors": "^1.0.0"
@@ -3681,11 +3801,14 @@
 			}
 		},
 		"@es-joy/jsdoccomment": {
-			"version": "0.42.0",
-			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.42.0.tgz",
-			"integrity": "sha512-R1w57YlVA6+YE01wch3GPYn6bCsrOV3YW/5oGGE2tmX6JcL9Nr+b5IikrjMPF+v9CV3ay+obImEdsDhovhJrzw==",
+			"version": "0.43.1",
+			"resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.43.1.tgz",
+			"integrity": "sha512-I238eDtOolvCuvtxrnqtlBaw0BwdQuYqK7eA6XIonicMdOOOb75mqdIzkGDUbS04+1Di007rgm9snFRNeVrOog==",
 			"dev": true,
 			"requires": {
+				"@types/eslint": "^8.56.5",
+				"@types/estree": "^1.0.5",
+				"@typescript-eslint/types": "^7.2.0",
 				"comment-parser": "1.4.1",
 				"esquery": "^1.5.0",
 				"jsdoc-type-pratt-parser": "~4.0.0"
@@ -3701,9 +3824,9 @@
 			}
 		},
 		"@eslint-community/regexpp": {
-			"version": "4.10.0",
-			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz",
-			"integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==",
+			"version": "4.11.0",
+			"resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz",
+			"integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==",
 			"dev": true
 		},
 		"@eslint/eslintrc": {
@@ -3816,6 +3939,22 @@
 			"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
 			"dev": true
 		},
+		"@types/eslint": {
+			"version": "8.56.11",
+			"resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.11.tgz",
+			"integrity": "sha512-sVBpJMf7UPo/wGecYOpk2aQya2VUGeHhe38WG7/mN5FufNSubf5VT9Uh9Uyp8/eLJpu1/tuhJ/qTo4mhSB4V4Q==",
+			"dev": true,
+			"requires": {
+				"@types/estree": "*",
+				"@types/json-schema": "*"
+			}
+		},
+		"@types/estree": {
+			"version": "1.0.5",
+			"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
+			"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+			"dev": true
+		},
 		"@types/json-schema": {
 			"version": "7.0.15",
 			"resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
@@ -3828,85 +3967,78 @@
 			"integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
 			"dev": true
 		},
-		"@types/semver": {
-			"version": "7.5.8",
-			"resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz",
-			"integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==",
-			"dev": true
-		},
 		"@typescript-eslint/scope-manager": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
-			"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz",
+			"integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0"
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0"
 			}
 		},
 		"@typescript-eslint/types": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
-			"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz",
+			"integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==",
 			"dev": true
 		},
 		"@typescript-eslint/typescript-estree": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
-			"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz",
+			"integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/visitor-keys": "5.62.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/visitor-keys": "7.17.0",
 				"debug": "^4.3.4",
 				"globby": "^11.1.0",
 				"is-glob": "^4.0.3",
-				"semver": "^7.3.7",
-				"tsutils": "^3.21.0"
-			}
-		},
-		"@typescript-eslint/utils": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
-			"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
-			"dev": true,
-			"requires": {
-				"@eslint-community/eslint-utils": "^4.2.0",
-				"@types/json-schema": "^7.0.9",
-				"@types/semver": "^7.3.12",
-				"@typescript-eslint/scope-manager": "5.62.0",
-				"@typescript-eslint/types": "5.62.0",
-				"@typescript-eslint/typescript-estree": "5.62.0",
-				"eslint-scope": "^5.1.1",
-				"semver": "^7.3.7"
-			},
-			"dependencies": {
-				"eslint-scope": {
-					"version": "5.1.1",
-					"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
-					"integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+				"minimatch": "^9.0.4",
+				"semver": "^7.6.0",
+				"ts-api-utils": "^1.3.0"
+			},
+			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
 					"dev": true,
 					"requires": {
-						"esrecurse": "^4.3.0",
-						"estraverse": "^4.1.1"
+						"balanced-match": "^1.0.0"
 					}
 				},
-				"estraverse": {
-					"version": "4.3.0",
-					"resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
-					"integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
-					"dev": true
+				"minimatch": {
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
 				}
 			}
 		},
+		"@typescript-eslint/utils": {
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz",
+			"integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==",
+			"dev": true,
+			"requires": {
+				"@eslint-community/eslint-utils": "^4.4.0",
+				"@typescript-eslint/scope-manager": "7.17.0",
+				"@typescript-eslint/types": "7.17.0",
+				"@typescript-eslint/typescript-estree": "7.17.0"
+			}
+		},
 		"@typescript-eslint/visitor-keys": {
-			"version": "5.62.0",
-			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
-			"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+			"version": "7.17.0",
+			"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz",
+			"integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/types": "5.62.0",
-				"eslint-visitor-keys": "^3.3.0"
+				"@typescript-eslint/types": "7.17.0",
+				"eslint-visitor-keys": "^3.4.3"
 			}
 		},
 		"@ungap/structured-clone": {
@@ -3922,9 +4054,9 @@
 			"dev": true
 		},
 		"acorn": {
-			"version": "8.11.3",
-			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
-			"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+			"version": "8.12.1",
+			"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
+			"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
 			"dev": true
 		},
 		"acorn-jsx": {
@@ -4041,12 +4173,12 @@
 			}
 		},
 		"braces": {
-			"version": "3.0.2",
-			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
-			"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+			"version": "3.0.3",
+			"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+			"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 			"dev": true,
 			"requires": {
-				"fill-range": "^7.0.1"
+				"fill-range": "^7.1.1"
 			}
 		},
 		"browserslist": {
@@ -4062,9 +4194,9 @@
 			}
 		},
 		"browserslist-config-wikimedia": {
-			"version": "0.6.1",
-			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.6.1.tgz",
-			"integrity": "sha512-F3O+12ud7ZwBaiB/RZIMGDgz3nEuXz8RhtdPB4Lkd/WVP5Vy77EqBWRMz4vJ64x8LTTH3BOaHCD2ZuUcgShqyQ==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/browserslist-config-wikimedia/-/browserslist-config-wikimedia-0.7.0.tgz",
+			"integrity": "sha512-CTa0lv78dXKEgrYsOLCkqO+9UUS3CV9MWEOYHcymgEvx4mYxB80sCoKRCR7wW2SOMNxjaP9hohrZripjnKuRTA==",
 			"dev": true
 		},
 		"builtin-modules": {
@@ -4073,15 +4205,6 @@
 			"integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==",
 			"dev": true
 		},
-		"builtins": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/builtins/-/builtins-5.1.0.tgz",
-			"integrity": "sha512-SW9lzGTLvWTP1AY8xeAMZimqDrIaSdLQUcVr9DMef51niJ022Ri87SwRRKYm4A6iHfkPaiVUu/Duw2Wc4J7kKg==",
-			"dev": true,
-			"requires": {
-				"semver": "^7.0.0"
-			}
-		},
 		"callsites": {
 			"version": "3.1.0",
 			"resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
@@ -4161,9 +4284,9 @@
 			"dev": true
 		},
 		"core-js-compat": {
-			"version": "3.37.0",
-			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.0.tgz",
-			"integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+			"version": "3.37.1",
+			"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz",
+			"integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==",
 			"dev": true,
 			"requires": {
 				"browserslist": "^4.23.0"
@@ -4237,6 +4360,16 @@
 			"integrity": "sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==",
 			"dev": true
 		},
+		"enhanced-resolve": {
+			"version": "5.17.1",
+			"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
+			"integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
+			"dev": true,
+			"requires": {
+				"graceful-fs": "^4.2.4",
+				"tapable": "^2.2.0"
+			}
+		},
 		"error-ex": {
 			"version": "1.3.2",
 			"resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
@@ -4331,37 +4464,37 @@
 			}
 		},
 		"eslint-compat-utils": {
-			"version": "0.5.0",
-			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.0.tgz",
-			"integrity": "sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==",
+			"version": "0.5.1",
+			"resolved": "https://registry.npmjs.org/eslint-compat-utils/-/eslint-compat-utils-0.5.1.tgz",
+			"integrity": "sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==",
 			"dev": true,
 			"requires": {
 				"semver": "^7.5.4"
 			}
 		},
 		"eslint-config-wikimedia": {
-			"version": "0.27.0",
-			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.27.0.tgz",
-			"integrity": "sha512-KkZ54+MUnggz17C/RCEMXQSpiiqZRF7p9fjrz4phaaeKlTrjg0B+QbM5zcDWcjGiAWaJUptHaH17+RZldadkUw==",
+			"version": "0.28.2",
+			"resolved": "https://registry.npmjs.org/eslint-config-wikimedia/-/eslint-config-wikimedia-0.28.2.tgz",
+			"integrity": "sha512-5+rdnT7wH1gpKAO6tHYThg78eMhZMruJzvqku3Y5iaEY/A7kSKLFpA/vOj/snys9fKjDHC9BXmArQh+agkOoJQ==",
 			"dev": true,
 			"requires": {
-				"browserslist-config-wikimedia": "^0.6.1",
+				"browserslist-config-wikimedia": "^0.7.0",
 				"eslint": "^8.57.0",
 				"eslint-plugin-compat": "^4.2.0",
 				"eslint-plugin-es-x": "^7.6.0",
-				"eslint-plugin-jest": "^27.9.0",
-				"eslint-plugin-jsdoc": "48.2.1",
-				"eslint-plugin-json-es": "^1.5.7",
-				"eslint-plugin-mediawiki": "^0.6.0",
-				"eslint-plugin-mocha": "^10.4.1",
-				"eslint-plugin-n": "^16.6.2",
-				"eslint-plugin-no-jquery": "^2.7.0",
+				"eslint-plugin-jest": "^28.5.0",
+				"eslint-plugin-jsdoc": "48.2.5",
+				"eslint-plugin-json-es": "^1.6.0",
+				"eslint-plugin-mediawiki": "^0.7.0",
+				"eslint-plugin-mocha": "^10.4.3",
+				"eslint-plugin-n": "^17.7.0",
+				"eslint-plugin-no-jquery": "^3.0.1",
 				"eslint-plugin-qunit": "^8.1.1",
 				"eslint-plugin-security": "^1.7.1",
-				"eslint-plugin-unicorn": "^51.0.1",
-				"eslint-plugin-vue": "^9.23.0",
+				"eslint-plugin-unicorn": "^53.0.0",
+				"eslint-plugin-vue": "^9.26.0",
 				"eslint-plugin-wdio": "^8.24.12",
-				"eslint-plugin-yml": "^1.13.2"
+				"eslint-plugin-yml": "^1.14.0"
 			}
 		},
 		"eslint-plugin-compat": {
@@ -4380,46 +4513,46 @@
 			}
 		},
 		"eslint-plugin-es-x": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.6.0.tgz",
-			"integrity": "sha512-I0AmeNgevgaTR7y2lrVCJmGYF0rjoznpDvqV/kIkZSZbZ8Rw3eu4cGlvBBULScfkSOCzqKbff5LR4CNrV7mZHA==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-es-x/-/eslint-plugin-es-x-7.8.0.tgz",
+			"integrity": "sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.1.2",
-				"@eslint-community/regexpp": "^4.6.0",
-				"eslint-compat-utils": "^0.5.0"
+				"@eslint-community/regexpp": "^4.11.0",
+				"eslint-compat-utils": "^0.5.1"
 			}
 		},
 		"eslint-plugin-jest": {
-			"version": "27.9.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz",
-			"integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==",
+			"version": "28.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz",
+			"integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==",
 			"dev": true,
 			"requires": {
-				"@typescript-eslint/utils": "^5.10.0"
+				"@typescript-eslint/utils": "^6.0.0 || ^7.0.0"
 			}
 		},
 		"eslint-plugin-jsdoc": {
-			"version": "48.2.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.1.tgz",
-			"integrity": "sha512-iUvbcyDZSO/9xSuRv2HQBw++8VkV/pt3UWtX9cpPH0l7GKPq78QC/6+PmyQHHvNZaTjAce6QVciEbnc6J/zH5g==",
+			"version": "48.2.5",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-48.2.5.tgz",
+			"integrity": "sha512-ZeTfKV474W1N9niWfawpwsXGu+ZoMXu4417eBROX31d7ZuOk8zyG66SO77DpJ2+A9Wa2scw/jRqBPnnQo7VbcQ==",
 			"dev": true,
 			"requires": {
-				"@es-joy/jsdoccomment": "~0.42.0",
+				"@es-joy/jsdoccomment": "~0.43.0",
 				"are-docs-informative": "^0.0.2",
 				"comment-parser": "1.4.1",
 				"debug": "^4.3.4",
 				"escape-string-regexp": "^4.0.0",
 				"esquery": "^1.5.0",
 				"is-builtin-module": "^3.2.1",
-				"semver": "^7.6.0",
+				"semver": "^7.6.1",
 				"spdx-expression-parse": "^4.0.0"
 			}
 		},
 		"eslint-plugin-json-es": {
-			"version": "1.5.7",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.5.7.tgz",
-			"integrity": "sha512-ehBHcCcJo4iViYx6vp3T+SmwzLIlVDzZNoVxN/txZIiPwDQ26mnYaN5iJ3imqN4l1b8z6rbxEH2kB9XDGxeU/w==",
+			"version": "1.6.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-json-es/-/eslint-plugin-json-es-1.6.0.tgz",
+			"integrity": "sha512-xVn6hufGQH1Aa+yqOhQ43Cq28GuitTcMpQh+uaUh27U2qnVLBrvkN+2xQSnv6zpdLEPS35JCNhq4kvhR+PQCgw==",
 			"dev": true,
 			"requires": {
 				"eslint-visitor-keys": "^3.3.0",
@@ -4427,9 +4560,9 @@
 			}
 		},
 		"eslint-plugin-mediawiki": {
-			"version": "0.6.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.6.0.tgz",
-			"integrity": "sha512-a2Zm18N5nPyflBajM2ZWATxucIpYPEmOSjFzUR1OBH3hAL0GY9fx1mpezEwzqAQ862d+kPkolgQOzktnZe8nKA==",
+			"version": "0.7.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-mediawiki/-/eslint-plugin-mediawiki-0.7.0.tgz",
+			"integrity": "sha512-1Y2nsFDPp96xOZCB5ivZAgqYe9i6w2u64VoCIaAzPyZnd/2h8VQR3CtD+u4Yk/KrpbKq9AAJjrs5LS8VAz6KOA==",
 			"dev": true,
 			"requires": {
 				"eslint-plugin-vue": "^9.23.0",
@@ -4448,39 +4581,51 @@
 			}
 		},
 		"eslint-plugin-n": {
-			"version": "16.6.2",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-16.6.2.tgz",
-			"integrity": "sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==",
+			"version": "17.10.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-n/-/eslint-plugin-n-17.10.0.tgz",
+			"integrity": "sha512-NmrSdEid+ch9SBVuqbsK5CUiEZGtMK32KSI+arWahZbFF0nvX1oEJrWiFOWmhkWFKW9Hqor0g3qPh4AvkvWwlA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"builtins": "^5.0.1",
+				"enhanced-resolve": "^5.17.0",
 				"eslint-plugin-es-x": "^7.5.0",
 				"get-tsconfig": "^4.7.0",
-				"globals": "^13.24.0",
+				"globals": "^15.8.0",
 				"ignore": "^5.2.4",
-				"is-builtin-module": "^3.2.1",
-				"is-core-module": "^2.12.1",
-				"minimatch": "^3.1.2",
-				"resolve": "^1.22.2",
+				"minimatch": "^9.0.5",
 				"semver": "^7.5.3"
 			},
 			"dependencies": {
+				"brace-expansion": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
+					"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+					"dev": true,
+					"requires": {
+						"balanced-match": "^1.0.0"
+					}
+				},
+				"globals": {
+					"version": "15.8.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-15.8.0.tgz",
+					"integrity": "sha512-VZAJ4cewHTExBWDHR6yptdIBlx9YSSZuwojj9Nt5mBRXQzrKakDsVKQ1J63sklLvzAJm0X5+RpO4i3Y2hcOnFw==",
+					"dev": true
+				},
 				"minimatch": {
-					"version": "3.1.2",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
-					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
 					"dev": true,
 					"requires": {
-						"brace-expansion": "^1.1.7"
+						"brace-expansion": "^2.0.1"
 					}
 				}
 			}
 		},
 		"eslint-plugin-no-jquery": {
-			"version": "2.7.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-2.7.0.tgz",
-			"integrity": "sha512-Aeg7dA6GTH1AcWLlBtWNzOU9efK5KpNi7b0EhBO0o0M+awyzguUUo8gF6hXGjQ9n5h8/uRtYv9zOqQkeC5CG0w==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-no-jquery/-/eslint-plugin-no-jquery-3.0.2.tgz",
+			"integrity": "sha512-n/+6p6PFhWDNPVLJj1463hw4OTIRBbROGcbhmtOHTgw7yihSKzkwZiQ00EJTneyeR3jRiw5lpWSMCCBhtb8t2g==",
 			"dev": true,
 			"requires": {}
 		},
@@ -4504,17 +4649,17 @@
 			}
 		},
 		"eslint-plugin-unicorn": {
-			"version": "51.0.1",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz",
-			"integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==",
+			"version": "53.0.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-53.0.0.tgz",
+			"integrity": "sha512-kuTcNo9IwwUCfyHGwQFOK/HjJAYzbODHN3wP0PgqbW+jbXqpNWxNVpVhj2tO9SixBwuAdmal8rVcWKBxwFnGuw==",
 			"dev": true,
 			"requires": {
-				"@babel/helper-validator-identifier": "^7.22.20",
+				"@babel/helper-validator-identifier": "^7.24.5",
 				"@eslint-community/eslint-utils": "^4.4.0",
-				"@eslint/eslintrc": "^2.1.4",
+				"@eslint/eslintrc": "^3.0.2",
 				"ci-info": "^4.0.0",
 				"clean-regexp": "^1.0.0",
-				"core-js-compat": "^3.34.0",
+				"core-js-compat": "^3.37.0",
 				"esquery": "^1.5.0",
 				"indent-string": "^4.0.0",
 				"is-builtin-module": "^3.2.1",
@@ -4523,14 +4668,80 @@
 				"read-pkg-up": "^7.0.1",
 				"regexp-tree": "^0.1.27",
 				"regjsparser": "^0.10.0",
-				"semver": "^7.5.4",
+				"semver": "^7.6.1",
 				"strip-indent": "^3.0.0"
+			},
+			"dependencies": {
+				"@eslint/eslintrc": {
+					"version": "3.1.0",
+					"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz",
+					"integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==",
+					"dev": true,
+					"requires": {
+						"ajv": "^6.12.4",
+						"debug": "^4.3.2",
+						"espree": "^10.0.1",
+						"globals": "^14.0.0",
+						"ignore": "^5.2.0",
+						"import-fresh": "^3.2.1",
+						"js-yaml": "^4.1.0",
+						"minimatch": "^3.1.2",
+						"strip-json-comments": "^3.1.1"
+					}
+				},
+				"argparse": {
+					"version": "2.0.1",
+					"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+					"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+					"dev": true
+				},
+				"eslint-visitor-keys": {
+					"version": "4.0.0",
+					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
+					"integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==",
+					"dev": true
+				},
+				"espree": {
+					"version": "10.1.0",
+					"resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz",
+					"integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==",
+					"dev": true,
+					"requires": {
+						"acorn": "^8.12.0",
+						"acorn-jsx": "^5.3.2",
+						"eslint-visitor-keys": "^4.0.0"
+					}
+				},
+				"globals": {
+					"version": "14.0.0",
+					"resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+					"integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+					"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==",
+					"dev": true,
+					"requires": {
+						"argparse": "^2.0.1"
+					}
+				},
+				"minimatch": {
+					"version": "3.1.2",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+					"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^1.1.7"
+					}
+				}
 			}
 		},
 		"eslint-plugin-vue": {
-			"version": "9.25.0",
-			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.25.0.tgz",
-			"integrity": "sha512-tDWlx14bVe6Bs+Nnh3IGrD+hb11kf2nukfm6jLsmJIhmiRQ1SUaksvwY9U5MvPB0pcrg0QK0xapQkfITs3RKOA==",
+			"version": "9.27.0",
+			"resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.27.0.tgz",
+			"integrity": "sha512-5Dw3yxEyuBSXTzT5/Ge1X5kIkRTQ3nvBn/VwPwInNiZBSJOO/timWMUaflONnFBzU6NhB68lxnCda7ULV5N7LA==",
 			"dev": true,
 			"requires": {
 				"@eslint-community/eslint-utils": "^4.4.0",
@@ -4539,7 +4750,7 @@
 				"nth-check": "^2.1.1",
 				"postcss-selector-parser": "^6.0.15",
 				"semver": "^7.6.0",
-				"vue-eslint-parser": "^9.4.2",
+				"vue-eslint-parser": "^9.4.3",
 				"xml-name-validator": "^4.0.0"
 			}
 		},
@@ -4730,9 +4941,9 @@
 			}
 		},
 		"fill-range": {
-			"version": "7.0.1",
-			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
-			"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+			"version": "7.1.1",
+			"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+			"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 			"dev": true,
 			"requires": {
 				"to-regex-range": "^5.0.1"
@@ -4823,9 +5034,9 @@
 			"dev": true
 		},
 		"get-tsconfig": {
-			"version": "4.7.3",
-			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.3.tgz",
-			"integrity": "sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==",
+			"version": "4.7.6",
+			"resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.6.tgz",
+			"integrity": "sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==",
 			"dev": true,
 			"requires": {
 				"resolve-pkg-maps": "^1.0.0"
@@ -4918,6 +5129,12 @@
 				"slash": "^3.0.0"
 			}
 		},
+		"graceful-fs": {
+			"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
+		},
 		"graphemer": {
 			"version": "1.4.0",
 			"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -4946,10 +5163,13 @@
 			}
 		},
 		"grunt-banana-checker": {
-			"version": "0.12.0",
-			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.12.0.tgz",
-			"integrity": "sha512-rdu8YqGxfyBUNMSLmqusSg8RUzGE61+kqrge4fRYb32Vqu5hzDGeomDQIkILEsSrZjtNTTcJ8iTwIswQ+POCGw==",
-			"dev": true
+			"version": "0.13.0",
+			"resolved": "https://registry.npmjs.org/grunt-banana-checker/-/grunt-banana-checker-0.13.0.tgz",
+			"integrity": "sha512-uAUKILcP69Q4OJHHV2wzxqVaoXB8G3Uh/XuSJLn0Bk/9+WiUY/Q4+OX7dUhrPPeDZPtoGh37qqJLVvZlDTUecg==",
+			"dev": true,
+			"requires": {
+				"chalk": "4.1.2"
+			}
 		},
 		"grunt-cli": {
 			"version": "1.4.3",
@@ -5361,15 +5581,6 @@
 			"integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
 			"dev": true
 		},
-		"lru-cache": {
-			"version": "6.0.0",
-			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
-			"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-			"dev": true,
-			"requires": {
-				"yallist": "^4.0.0"
-			}
-		},
 		"make-iterator": {
 			"version": "1.0.1",
 			"resolved": "https://registry.npmjs.org/make-iterator/-/make-iterator-1.0.1.tgz",
@@ -5674,9 +5885,9 @@
 			"dev": true
 		},
 		"postcss-selector-parser": {
-			"version": "6.0.16",
-			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz",
-			"integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==",
+			"version": "6.1.1",
+			"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz",
+			"integrity": "sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg==",
 			"dev": true,
 			"requires": {
 				"cssesc": "^3.0.0",
@@ -5894,13 +6105,10 @@
 			"dev": true
 		},
 		"semver": {
-			"version": "7.6.0",
-			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
-			"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-			"dev": true,
-			"requires": {
-				"lru-cache": "^6.0.0"
-			}
+			"version": "7.6.3",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+			"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+			"dev": true
 		},
 		"shebang-command": {
 			"version": "2.0.0",
@@ -5962,9 +6170,9 @@
 			}
 		},
 		"spdx-license-ids": {
-			"version": "3.0.17",
-			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
-			"integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
+			"version": "3.0.18",
+			"resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz",
+			"integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==",
 			"dev": true
 		},
 		"sprintf-js": {
@@ -6012,6 +6220,12 @@
 			"integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
 			"dev": true
 		},
+		"tapable": {
+			"version": "2.2.1",
+			"resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+			"integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+			"dev": true
+		},
 		"text-table": {
 			"version": "0.2.0",
 			"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
@@ -6027,20 +6241,12 @@
 				"is-number": "^7.0.0"
 			}
 		},
-		"tslib": {
-			"version": "1.14.1",
-			"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
-			"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
-			"dev": true
-		},
-		"tsutils": {
-			"version": "3.21.0",
-			"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
-			"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+		"ts-api-utils": {
+			"version": "1.3.0",
+			"resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz",
+			"integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==",
 			"dev": true,
-			"requires": {
-				"tslib": "^1.8.1"
-			}
+			"requires": {}
 		},
 		"type-check": {
 			"version": "0.4.0",
@@ -6058,9 +6264,9 @@
 			"dev": true
 		},
 		"typescript": {
-			"version": "5.4.5",
-			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
-			"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+			"version": "5.5.4",
+			"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz",
+			"integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==",
 			"dev": true,
 			"peer": true
 		},
@@ -6143,9 +6349,9 @@
 			}
 		},
 		"vue-eslint-parser": {
-			"version": "9.4.2",
-			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz",
-			"integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==",
+			"version": "9.4.3",
+			"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.3.tgz",
+			"integrity": "sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==",
 			"dev": true,
 			"requires": {
 				"debug": "^4.3.4",
@@ -6178,12 +6384,6 @@
 			"integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==",
 			"dev": true
 		},
-		"yallist": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
-			"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-			"dev": true
-		},
 		"yaml": {
 			"version": "2.4.1",
 			"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz",
diff --git a/package.json b/package.json
index 674daca..858c512 100644
--- a/package.json
+++ b/package.json
@@ -5,9 +5,9 @@
 		"test": "grunt test"
 	},
 	"devDependencies": {
-		"eslint-config-wikimedia": "0.27.0",
+		"eslint-config-wikimedia": "0.28.2",
 		"grunt": "1.6.1",
-		"grunt-banana-checker": "0.12.0",
+		"grunt-banana-checker": "0.13.0",
 		"grunt-eslint": "24.3.0"
 	}
 }
-- 
2.39.2


--- end ---

composer dependencies

Development dependencies

npm dependencies

Development dependencies

Logs

Source code is licensed under the AGPL.