From a6dc93ef758f3846be340c8a29cdbe6f329d7ca5 Mon Sep 17 00:00:00 2001
From: Christian Kuhn <lolli@schwarzbu.ch>
Date: Mon, 1 Aug 2022 09:28:12 +0200
Subject: [PATCH] [TASK] Bump various dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Bump a series of casual dependencies to youngest
versions. Left out: composer, psr, symfony

> composer req bacon/bacon-qr-code:^2.0.7
> composer req bacon/bacon-qr-code:^2.0.7 -d typo3/sysext/core/ --no-update
> composer req doctrine/event-manager:^1.1.2
> composer req doctrine/event-manager:^1.1.2 -d typo3/sysext/core/ --no-update
> composer req lolli42/finediff:^1.0.2
> composer req lolli42/finediff:^1.0.2 -d typo3/sysext/core/ --no-update
> composer req nikic/php-parser:^4.14.0
> composer req nikic/php-parser:^4.14.0 -d typo3/sysext/core/ --no-update
> composer req nikic/php-parser:^4.14.0 -d typo3/sysext/install/ --no-update
> composer req typo3/html-sanitizer:^2.0.15
> composer req typo3/html-sanitizer:^2.0.15 -d typo3/sysext/core/ --no-update
> composer req --dev friendsofphp/php-cs-fixer:^3.9.5
> composer req --dev php-webdriver/webdriver:^1.12.1
> composer req --dev phpstan/phpstan:^1.8.2
> composer u typo3/cms-styleguide

Change-Id: Ia1848985be5aba038b8971ccee9f58f0b049b84c
Resolves: #98062
Releases: main
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/75343
Tested-by: core-ci <typo3@b13.com>
Tested-by: Stefan Bürk <stefan@buerk.tech>
Tested-by: Oliver Klee <typo3-coding@oliverklee.de>
Tested-by: Benni Mack <benni@typo3.org>
Reviewed-by: Stefan Bürk <stefan@buerk.tech>
Reviewed-by: Oliver Klee <typo3-coding@oliverklee.de>
Reviewed-by: Benni Mack <benni@typo3.org>
---
 composer.json                      |  16 ++--
 composer.lock                      | 134 ++++++++++++++---------------
 typo3/sysext/core/composer.json    |  10 +--
 typo3/sysext/install/composer.json |   2 +-
 4 files changed, 80 insertions(+), 82 deletions(-)

diff --git a/composer.json b/composer.json
index 6c214b9a19b8..e2dcf7932cf3 100644
--- a/composer.json
+++ b/composer.json
@@ -47,20 +47,20 @@
 		"ext-session": "*",
 		"ext-xml": "*",
 		"composer-runtime-api": "^2.1",
-		"bacon/bacon-qr-code": "^2.0.4",
+		"bacon/bacon-qr-code": "^2.0.7",
 		"christian-riesen/base32": "^1.6",
 		"doctrine/annotations": "^1.13.3",
 		"doctrine/dbal": "^3.3.7",
-		"doctrine/event-manager": "^1.1.1",
+		"doctrine/event-manager": "^1.1.2",
 		"doctrine/lexer": "^1.2.3",
 		"egulias/email-validator": "^3.2.1",
 		"enshrined/svg-sanitize": "^0.15.4",
 		"guzzlehttp/guzzle": "^7.4.5",
 		"guzzlehttp/promises": "^1.4.0",
 		"guzzlehttp/psr7": "^1.8.5 || ^2.1.2",
-		"lolli42/finediff": "^1.0.1",
+		"lolli42/finediff": "^1.0.2",
 		"masterminds/html5": "^2.7.5",
-		"nikic/php-parser": "^4.13.2",
+		"nikic/php-parser": "^4.14.0",
 		"phpdocumentor/reflection-docblock": "^5.2",
 		"phpdocumentor/type-resolver": "^1.4",
 		"psr/container": "^1.1 || ^2.0",
@@ -91,7 +91,7 @@
 		"typo3/class-alias-loader": "^1.0",
 		"typo3/cms-cli": "^3.1",
 		"typo3/cms-composer-installers": "^2.0 || ^3.0 || ^4.0",
-		"typo3/html-sanitizer": "^2.0.14",
+		"typo3/html-sanitizer": "^2.0.15",
 		"typo3/symfony-psr-event-dispatcher-adapter": "^1.0 || ^2.0",
 		"typo3fluid/fluid": "^2.7.2"
 	},
@@ -105,14 +105,14 @@
 		"codeception/module-webdriver": "^3.1.2",
 		"composer/composer": "^2.2.12",
 		"composer/package-versions-deprecated": "^1.11.99.4",
-		"friendsofphp/php-cs-fixer": "^3.8.0",
+		"friendsofphp/php-cs-fixer": "^3.9.5",
 		"friendsoftypo3/phpstan-typo3": "^0.9.0",
 		"jangregor/phpstan-prophecy": "^1.0",
 		"mikey179/vfsstream": "^1.6.11",
-		"php-webdriver/webdriver": "^1.12.0",
+		"php-webdriver/webdriver": "^1.12.1",
 		"phpspec/prophecy": "^1.15.0",
 		"phpspec/prophecy-phpunit": "^2.0.1",
-		"phpstan/phpstan": "^1.8.1",
+		"phpstan/phpstan": "^1.8.2",
 		"phpstan/phpstan-phpunit": "^1.1.1",
 		"phpunit/phpunit": "^9.5.21",
 		"typo3/cms-styleguide": "~12.0@dev",
diff --git a/composer.lock b/composer.lock
index cd273e6b57c2..bfbfe345659a 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,20 +4,20 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "3f330e66878274a8b9439bab2a4f5a8c",
+    "content-hash": "45c0d4a7b3745dd5e288db2025fdf210",
     "packages": [
         {
             "name": "bacon/bacon-qr-code",
-            "version": "2.0.4",
+            "version": "2.0.7",
             "source": {
                 "type": "git",
                 "url": "https://github.com/Bacon/BaconQrCode.git",
-                "reference": "f73543ac4e1def05f1a70bcd1525c8a157a1ad09"
+                "reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/f73543ac4e1def05f1a70bcd1525c8a157a1ad09",
-                "reference": "f73543ac4e1def05f1a70bcd1525c8a157a1ad09",
+                "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/d70c840f68657ce49094b8d91f9ee0cc07fbf66c",
+                "reference": "d70c840f68657ce49094b8d91f9ee0cc07fbf66c",
                 "shasum": ""
             },
             "require": {
@@ -26,8 +26,9 @@
                 "php": "^7.1 || ^8.0"
             },
             "require-dev": {
-                "phly/keep-a-changelog": "^1.4",
+                "phly/keep-a-changelog": "^2.1",
                 "phpunit/phpunit": "^7 | ^8 | ^9",
+                "spatie/phpunit-snapshot-assertions": "^4.2.9",
                 "squizlabs/php_codesniffer": "^3.4"
             },
             "suggest": {
@@ -55,9 +56,9 @@
             "homepage": "https://github.com/Bacon/BaconQrCode",
             "support": {
                 "issues": "https://github.com/Bacon/BaconQrCode/issues",
-                "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.4"
+                "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.7"
             },
-            "time": "2021-06-18T13:26:35+00:00"
+            "time": "2022-03-14T02:02:36+00:00"
         },
         {
             "name": "christian-riesen/base32",
@@ -487,34 +488,31 @@
         },
         {
             "name": "doctrine/event-manager",
-            "version": "1.1.1",
+            "version": "1.1.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/doctrine/event-manager.git",
-                "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f"
+                "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/doctrine/event-manager/zipball/41370af6a30faa9dc0368c4a6814d596e81aba7f",
-                "reference": "41370af6a30faa9dc0368c4a6814d596e81aba7f",
+                "url": "https://api.github.com/repos/doctrine/event-manager/zipball/eb2ecf80e3093e8f3c2769ac838e27d8ede8e683",
+                "reference": "eb2ecf80e3093e8f3c2769ac838e27d8ede8e683",
                 "shasum": ""
             },
             "require": {
                 "php": "^7.1 || ^8.0"
             },
             "conflict": {
-                "doctrine/common": "<2.9@dev"
+                "doctrine/common": "<2.9"
             },
             "require-dev": {
-                "doctrine/coding-standard": "^6.0",
-                "phpunit/phpunit": "^7.0"
+                "doctrine/coding-standard": "^9",
+                "phpstan/phpstan": "~1.4.10 || ^1.5.4",
+                "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+                "vimeo/psalm": "^4.22"
             },
             "type": "library",
-            "extra": {
-                "branch-alias": {
-                    "dev-master": "1.0.x-dev"
-                }
-            },
             "autoload": {
                 "psr-4": {
                     "Doctrine\\Common\\": "lib/Doctrine/Common"
@@ -561,7 +559,7 @@
             ],
             "support": {
                 "issues": "https://github.com/doctrine/event-manager/issues",
-                "source": "https://github.com/doctrine/event-manager/tree/1.1.x"
+                "source": "https://github.com/doctrine/event-manager/tree/1.1.2"
             },
             "funding": [
                 {
@@ -577,7 +575,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2020-05-29T18:28:51+00:00"
+            "time": "2022-07-27T22:18:11+00:00"
         },
         {
             "name": "doctrine/lexer",
@@ -1093,16 +1091,16 @@
         },
         {
             "name": "lolli42/finediff",
-            "version": "1.0.1",
+            "version": "1.0.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/lolli42/FineDiff.git",
-                "reference": "72b57e1355c6bbe2f51921e6a3a5bb7441471a7a"
+                "reference": "f72cd968b663fc09bc73ef0ab5a3288583d0d59d"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/lolli42/FineDiff/zipball/72b57e1355c6bbe2f51921e6a3a5bb7441471a7a",
-                "reference": "72b57e1355c6bbe2f51921e6a3a5bb7441471a7a",
+                "url": "https://api.github.com/repos/lolli42/FineDiff/zipball/f72cd968b663fc09bc73ef0ab5a3288583d0d59d",
+                "reference": "f72cd968b663fc09bc73ef0ab5a3288583d0d59d",
                 "shasum": ""
             },
             "require": {
@@ -1113,8 +1111,8 @@
                 "cogpowered/finediff": "*"
             },
             "require-dev": {
-                "friendsofphp/php-cs-fixer": "^3.2",
-                "phpstan/phpstan": "^0.12.99",
+                "friendsofphp/php-cs-fixer": "^3.4",
+                "phpstan/phpstan": "^1.6",
                 "phpunit/phpunit": "^8 || ^9"
             },
             "type": "library",
@@ -1152,9 +1150,9 @@
             ],
             "support": {
                 "issues": "https://github.com/lolli42/FineDiff/issues",
-                "source": "https://github.com/lolli42/FineDiff/tree/1.0.1"
+                "source": "https://github.com/lolli42/FineDiff/tree/1.0.2"
             },
-            "time": "2022-05-11T13:15:52+00:00"
+            "time": "2022-05-23T07:44:28+00:00"
         },
         {
             "name": "masterminds/html5",
@@ -1227,16 +1225,16 @@
         },
         {
             "name": "nikic/php-parser",
-            "version": "v4.13.2",
+            "version": "v4.14.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/nikic/PHP-Parser.git",
-                "reference": "210577fe3cf7badcc5814d99455df46564f3c077"
+                "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077",
-                "reference": "210577fe3cf7badcc5814d99455df46564f3c077",
+                "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/34bea19b6e03d8153165d8f30bba4c3be86184c1",
+                "reference": "34bea19b6e03d8153165d8f30bba4c3be86184c1",
                 "shasum": ""
             },
             "require": {
@@ -1277,9 +1275,9 @@
             ],
             "support": {
                 "issues": "https://github.com/nikic/PHP-Parser/issues",
-                "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.2"
+                "source": "https://github.com/nikic/PHP-Parser/tree/v4.14.0"
             },
-            "time": "2021-11-30T19:35:32+00:00"
+            "time": "2022-05-31T20:59:12+00:00"
         },
         {
             "name": "phpdocumentor/reflection-common",
@@ -4188,16 +4186,16 @@
         },
         {
             "name": "typo3/html-sanitizer",
-            "version": "v2.0.14",
+            "version": "v2.0.15",
             "source": {
                 "type": "git",
                 "url": "https://github.com/TYPO3/html-sanitizer.git",
-                "reference": "719de8bd771ce2d6e3c3b51992b251dc95375fbd"
+                "reference": "f9d501a9b8422df2aff4ce8f23684bb47e55f3c7"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/TYPO3/html-sanitizer/zipball/719de8bd771ce2d6e3c3b51992b251dc95375fbd",
-                "reference": "719de8bd771ce2d6e3c3b51992b251dc95375fbd",
+                "url": "https://api.github.com/repos/TYPO3/html-sanitizer/zipball/f9d501a9b8422df2aff4ce8f23684bb47e55f3c7",
+                "reference": "f9d501a9b8422df2aff4ce8f23684bb47e55f3c7",
                 "shasum": ""
             },
             "require": {
@@ -4233,9 +4231,9 @@
             "description": "HTML sanitizer aiming to provide XSS-safe markup based on explicitly allowed tags, attributes and values.",
             "support": {
                 "issues": "https://github.com/TYPO3/html-sanitizer/issues",
-                "source": "https://github.com/TYPO3/html-sanitizer/tree/v2.0.14"
+                "source": "https://github.com/TYPO3/html-sanitizer/tree/v2.0.15"
             },
-            "time": "2022-02-21T08:29:43+00:00"
+            "time": "2022-07-27T18:38:57+00:00"
         },
         {
             "name": "typo3/symfony-psr-event-dispatcher-adapter",
@@ -5670,16 +5668,16 @@
         },
         {
             "name": "friendsofphp/php-cs-fixer",
-            "version": "v3.8.0",
+            "version": "v3.9.5",
             "source": {
                 "type": "git",
                 "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git",
-                "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3"
+                "reference": "4465d70ba776806857a1ac2a6f877e582445ff36"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3",
-                "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3",
+                "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/4465d70ba776806857a1ac2a6f877e582445ff36",
+                "reference": "4465d70ba776806857a1ac2a6f877e582445ff36",
                 "shasum": ""
             },
             "require": {
@@ -5747,7 +5745,7 @@
             "description": "A tool to automatically fix PHP code style",
             "support": {
                 "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues",
-                "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.8.0"
+                "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.9.5"
             },
             "funding": [
                 {
@@ -5755,7 +5753,7 @@
                     "type": "github"
                 }
             ],
-            "time": "2022-03-18T17:20:59+00:00"
+            "time": "2022-07-22T08:43:51+00:00"
         },
         {
             "name": "friendsoftypo3/phpstan-typo3",
@@ -6210,16 +6208,16 @@
         },
         {
             "name": "php-webdriver/webdriver",
-            "version": "1.12.0",
+            "version": "1.12.1",
             "source": {
                 "type": "git",
                 "url": "https://github.com/php-webdriver/php-webdriver.git",
-                "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb"
+                "reference": "b27ddf458d273c7d4602106fcaf978aa0b7fe15a"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/99d4856ed7dffcdf6a52eccd6551e83d8d557ceb",
-                "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb",
+                "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/b27ddf458d273c7d4602106fcaf978aa0b7fe15a",
+                "reference": "b27ddf458d273c7d4602106fcaf978aa0b7fe15a",
                 "shasum": ""
             },
             "require": {
@@ -6269,9 +6267,9 @@
             ],
             "support": {
                 "issues": "https://github.com/php-webdriver/php-webdriver/issues",
-                "source": "https://github.com/php-webdriver/php-webdriver/tree/1.12.0"
+                "source": "https://github.com/php-webdriver/php-webdriver/tree/1.12.1"
             },
-            "time": "2021-10-14T09:30:02+00:00"
+            "time": "2022-05-03T12:16:34+00:00"
         },
         {
             "name": "phpspec/prophecy",
@@ -6394,16 +6392,16 @@
         },
         {
             "name": "phpstan/phpstan",
-            "version": "1.8.1",
+            "version": "1.8.2",
             "source": {
                 "type": "git",
                 "url": "https://github.com/phpstan/phpstan.git",
-                "reference": "8dbba631fa32f4b289404469c2afd6122fd61d67"
+                "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8dbba631fa32f4b289404469c2afd6122fd61d67",
-                "reference": "8dbba631fa32f4b289404469c2afd6122fd61d67",
+                "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c53312ecc575caf07b0e90dee43883fdf90ca67c",
+                "reference": "c53312ecc575caf07b0e90dee43883fdf90ca67c",
                 "shasum": ""
             },
             "require": {
@@ -6429,7 +6427,7 @@
             "description": "PHPStan - PHP Static Analysis Tool",
             "support": {
                 "issues": "https://github.com/phpstan/phpstan/issues",
-                "source": "https://github.com/phpstan/phpstan/tree/1.8.1"
+                "source": "https://github.com/phpstan/phpstan/tree/1.8.2"
             },
             "funding": [
                 {
@@ -6449,7 +6447,7 @@
                     "type": "tidelift"
                 }
             ],
-            "time": "2022-07-12T16:08:06+00:00"
+            "time": "2022-07-20T09:57:31+00:00"
         },
         {
             "name": "phpstan/phpstan-phpunit",
@@ -8394,19 +8392,19 @@
             "source": {
                 "type": "git",
                 "url": "https://github.com/TYPO3/styleguide.git",
-                "reference": "ca413e08ca61d01fcefdcbe8d4a733865f470a7d"
+                "reference": "7b1ccd6c70858834eb8ac21821d759f419d69262"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/TYPO3/styleguide/zipball/ca413e08ca61d01fcefdcbe8d4a733865f470a7d",
-                "reference": "ca413e08ca61d01fcefdcbe8d4a733865f470a7d",
+                "url": "https://api.github.com/repos/TYPO3/styleguide/zipball/7b1ccd6c70858834eb8ac21821d759f419d69262",
+                "reference": "7b1ccd6c70858834eb8ac21821d759f419d69262",
                 "shasum": ""
             },
             "require-dev": {
-                "codeception/codeception": "^4.1",
-                "codeception/module-asserts": "^1.2",
-                "codeception/module-cli": "^1.1",
-                "codeception/module-webdriver": "^1.1",
+                "codeception/codeception": "^5.0",
+                "codeception/module-asserts": "^3.0",
+                "codeception/module-cli": "^2.0",
+                "codeception/module-webdriver": "^3.1",
                 "phpstan/phpstan": "^1.4.8",
                 "typo3/cms-core": "~12.0@dev",
                 "typo3/cms-frontend": "~12.0@dev",
@@ -8459,7 +8457,7 @@
                 "issues": "https://github.com/TYPO3/styleguide/issues",
                 "source": "https://github.com/TYPO3/styleguide/tree/main"
             },
-            "time": "2022-07-26T13:48:27+00:00"
+            "time": "2022-08-01T07:35:24+00:00"
         },
         {
             "name": "typo3/testing-framework",
diff --git a/typo3/sysext/core/composer.json b/typo3/sysext/core/composer.json
index e38b439a8695..b9e983555846 100644
--- a/typo3/sysext/core/composer.json
+++ b/typo3/sysext/core/composer.json
@@ -30,19 +30,19 @@
 		"ext-session": "*",
 		"ext-xml": "*",
 		"composer-runtime-api": "^2.1",
-		"bacon/bacon-qr-code": "^2.0.4",
+		"bacon/bacon-qr-code": "^2.0.7",
 		"christian-riesen/base32": "^1.6",
 		"doctrine/annotations": "^1.13.3",
 		"doctrine/dbal": "^3.3.7",
-		"doctrine/event-manager": "^1.1.1",
+		"doctrine/event-manager": "^1.1.2",
 		"doctrine/lexer": "^1.2.3",
 		"egulias/email-validator": "^3.2.1",
 		"enshrined/svg-sanitize": "^0.15.4",
 		"guzzlehttp/guzzle": "^7.4.5",
 		"guzzlehttp/psr7": "^1.8.5 || ^2.1.2",
-		"lolli42/finediff": "^1.0.1",
+		"lolli42/finediff": "^1.0.2",
 		"masterminds/html5": "^2.7.5",
-		"nikic/php-parser": "^4.13.2",
+		"nikic/php-parser": "^4.14.0",
 		"psr/container": "^1.1 || ^2.0",
 		"psr/event-dispatcher": "^1.0",
 		"psr/http-client": "^1.0",
@@ -68,7 +68,7 @@
 		"typo3/class-alias-loader": "^1.0",
 		"typo3/cms-cli": "^3.1",
 		"typo3/cms-composer-installers": "^2.0 || ^3.0 || ^4.0",
-		"typo3/html-sanitizer": "^2.0.14",
+		"typo3/html-sanitizer": "^2.0.15",
 		"typo3/symfony-psr-event-dispatcher-adapter": "^1.0 || ^2.0",
 		"typo3fluid/fluid": "^2.7.2"
 	},
diff --git a/typo3/sysext/install/composer.json b/typo3/sysext/install/composer.json
index 1873cfdc1b4f..f1e799787db5 100644
--- a/typo3/sysext/install/composer.json
+++ b/typo3/sysext/install/composer.json
@@ -21,7 +21,7 @@
 	"require": {
 		"doctrine/dbal": "^3.3.7",
 		"guzzlehttp/promises": "^1.4.0",
-		"nikic/php-parser": "^4.13.2",
+		"nikic/php-parser": "^4.14.0",
 		"symfony/finder": "^5.4",
 		"symfony/http-foundation": "^5.4",
 		"typo3/cms-core": "12.0.*@dev",
-- 
GitLab