From c568e0a4ff120515b2ce91cf740ca6e47af8cab6 Mon Sep 17 00:00:00 2001 From: macocci7 Date: Thu, 18 Apr 2024 17:34:38 +0900 Subject: [PATCH 1/2] Remove coposer.lock and .php-version from git control. --- .php-version | 1 - composer.lock | 3324 ------------------------------------------------- 2 files changed, 3325 deletions(-) delete mode 100644 .php-version delete mode 100644 composer.lock diff --git a/.php-version b/.php-version deleted file mode 100644 index b8eb026..0000000 --- a/.php-version +++ /dev/null @@ -1 +0,0 @@ -8.1 diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 1b40a63..0000000 --- a/composer.lock +++ /dev/null @@ -1,3324 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "4dbc1b753cd7fdc3a4ff2b8ea5014bc1", - "packages": [ - { - "name": "fakerphp/faker", - "version": "v1.23.1", - "source": { - "type": "git", - "url": "https://github.com/FakerPHP/Faker.git", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b", - "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0", - "psr/container": "^1.0 || ^2.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "conflict": { - "fzaninotto/faker": "*" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "doctrine/persistence": "^1.3 || ^2.0", - "ext-intl": "*", - "phpunit/phpunit": "^9.5.26", - "symfony/phpunit-bridge": "^5.4.16" - }, - "suggest": { - "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", - "ext-curl": "Required by Faker\\Provider\\Image to download images.", - "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", - "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", - "ext-mbstring": "Required for multibyte Unicode string functionality." - }, - "type": "library", - "autoload": { - "psr-4": { - "Faker\\": "src/Faker/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "François Zaninotto" - } - ], - "description": "Faker is a PHP library that generates fake data for you.", - "keywords": [ - "data", - "faker", - "fixtures" - ], - "support": { - "issues": "https://github.com/FakerPHP/Faker/issues", - "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1" - }, - "time": "2024-01-02T13:46:09+00:00" - }, - { - "name": "intervention/gif", - "version": "4.0.2", - "source": { - "type": "git", - "url": "https://github.com/Intervention/gif.git", - "reference": "c2b07d1f69709e196c8b4ced423449a7e0f3b925" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/gif/zipball/c2b07d1f69709e196c8b4ced423449a7e0f3b925", - "reference": "c2b07d1f69709e196c8b4ced423449a7e0f3b925", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "phpstan/phpstan": "^1", - "phpunit/phpunit": "^9", - "slevomat/coding-standard": "~8.0", - "squizlabs/php_codesniffer": "^3.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Intervention\\Gif\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@intervention.io", - "homepage": "https://intervention.io/" - } - ], - "description": "Native PHP GIF Encoder/Decoder", - "homepage": "https://github.com/intervention/gif", - "keywords": [ - "animation", - "gd", - "gif", - "image" - ], - "support": { - "issues": "https://github.com/Intervention/gif/issues", - "source": "https://github.com/Intervention/gif/tree/4.0.2" - }, - "funding": [ - { - "url": "https://paypal.me/interventionio", - "type": "custom" - }, - { - "url": "https://github.com/Intervention", - "type": "github" - } - ], - "time": "2024-02-18T15:36:58+00:00" - }, - { - "name": "intervention/image", - "version": "3.4.0", - "source": { - "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "fe1b0e2e64157133322974c28b44c25c2770a0c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/fe1b0e2e64157133322974c28b44c25c2770a0c5", - "reference": "fe1b0e2e64157133322974c28b44c25c2770a0c5", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "intervention/gif": "^4.0.1", - "php": "^8.1" - }, - "require-dev": { - "mockery/mockery": "^1.6", - "phpstan/phpstan": "^1", - "phpunit/phpunit": "^9", - "slevomat/coding-standard": "~8.0", - "squizlabs/php_codesniffer": "^3.8" - }, - "suggest": { - "ext-exif": "Recommended to be able to read EXIF data properly." - }, - "type": "library", - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@intervention.io", - "homepage": "https://intervention.io/" - } - ], - "description": "PHP image manipulation", - "homepage": "https://image.intervention.io/", - "keywords": [ - "gd", - "image", - "imagick", - "resize", - "thumbnail", - "watermark" - ], - "support": { - "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/3.4.0" - }, - "funding": [ - { - "url": "https://paypal.me/interventionio", - "type": "custom" - }, - { - "url": "https://github.com/Intervention", - "type": "github" - } - ], - "time": "2024-02-14T15:11:21+00:00" - }, - { - "name": "macocci7/php-frequency-table", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/macocci7/PHP-FrequencyTable.git", - "reference": "eedacb09fe0f1a6cfb2b825d210a5ee9031cb79a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/macocci7/PHP-FrequencyTable/zipball/eedacb09fe0f1a6cfb2b825d210a5ee9031cb79a", - "reference": "eedacb09fe0f1a6cfb2b825d210a5ee9031cb79a", - "shasum": "" - }, - "require": { - "nette/neon": "^3.4" - }, - "require-dev": { - "php-parallel-lint/php-parallel-lint": "1.3", - "phploc/phploc": "^7.0", - "phpmd/phpmd": "^2.15", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "9.6", - "squizlabs/php_codesniffer": "^3.7" - }, - "type": "library", - "autoload": { - "psr-4": { - "Macocci7\\PhpFrequencyTable\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "macocci7", - "email": "macocci7@yahoo.co.jp" - } - ], - "description": "it's easy to use for creating frequency distribution tables.", - "support": { - "issues": "https://github.com/macocci7/PHP-FrequencyTable/issues", - "source": "https://github.com/macocci7/PHP-FrequencyTable/tree/1.2.0" - }, - "time": "2024-02-29T13:02:17+00:00" - }, - { - "name": "nette/neon", - "version": "v3.4.1", - "source": { - "type": "git", - "url": "https://github.com/nette/neon.git", - "reference": "457bfbf0560f600b30d9df4233af382a478bb44d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/neon/zipball/457bfbf0560f600b30d9df4233af382a478bb44d", - "reference": "457bfbf0560f600b30d9df4233af382a478bb44d", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "8.0 - 8.3" - }, - "require-dev": { - "nette/tester": "^2.4", - "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.7" - }, - "bin": [ - "bin/neon-lint" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "🍸 Nette NEON: encodes and decodes NEON file format.", - "homepage": "https://ne-on.org", - "keywords": [ - "export", - "import", - "neon", - "nette", - "yaml" - ], - "support": { - "issues": "https://github.com/nette/neon/issues", - "source": "https://github.com/nette/neon/tree/v3.4.1" - }, - "time": "2023-09-27T08:59:11+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-05-23T14:45:45+00:00" - } - ], - "packages-dev": [ - { - "name": "composer/pcre", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/4775f35b2d70865807c89d32c8e7385b86eb0ace", - "reference": "4775f35b2d70865807c89d32c8e7385b86eb0ace", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.2" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2024-03-07T15:38:35+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-25T21:32:43+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:23:10+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.11.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2023-03-08T13:26:56+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.0.2", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" - }, - "time": "2024-03-05T20:51:40+00:00" - }, - { - "name": "pdepend/pdepend", - "version": "2.16.2", - "source": { - "type": "git", - "url": "https://github.com/pdepend/pdepend.git", - "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/f942b208dc2a0868454d01b29f0c75bbcfc6ed58", - "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58", - "shasum": "" - }, - "require": { - "php": ">=5.3.7", - "symfony/config": "^2.3.0|^3|^4|^5|^6.0|^7.0", - "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0|^7.0", - "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0|^7.0", - "symfony/polyfill-mbstring": "^1.19" - }, - "require-dev": { - "easy-doc/easy-doc": "0.0.0|^1.2.3", - "gregwar/rst": "^1.0", - "squizlabs/php_codesniffer": "^2.0.0" - }, - "bin": [ - "src/bin/pdepend" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "PDepend\\": "src/main/php/PDepend" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Official version of pdepend to be handled with Composer", - "keywords": [ - "PHP Depend", - "PHP_Depend", - "dev", - "pdepend" - ], - "support": { - "issues": "https://github.com/pdepend/pdepend/issues", - "source": "https://github.com/pdepend/pdepend/tree/2.16.2" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", - "type": "tidelift" - } - ], - "time": "2023-12-17T18:09:59+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "php-parallel-lint/php-parallel-lint", - "version": "v1.3.2", - "source": { - "type": "git", - "url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git", - "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/6483c9832e71973ed29cf71bd6b3f4fde438a9de", - "reference": "6483c9832e71973ed29cf71bd6b3f4fde438a9de", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": ">=5.3.0" - }, - "replace": { - "grogy/php-parallel-lint": "*", - "jakub-onderka/php-parallel-lint": "*" - }, - "require-dev": { - "nette/tester": "^1.3 || ^2.0", - "php-parallel-lint/php-console-highlighter": "0.* || ^1.0", - "squizlabs/php_codesniffer": "^3.6" - }, - "suggest": { - "php-parallel-lint/php-console-highlighter": "Highlight syntax in code snippet" - }, - "bin": [ - "parallel-lint" - ], - "type": "library", - "autoload": { - "classmap": [ - "./src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-2-Clause" - ], - "authors": [ - { - "name": "Jakub Onderka", - "email": "ahoj@jakubonderka.cz" - } - ], - "description": "This tool check syntax of PHP files about 20x faster than serial check.", - "homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint", - "support": { - "issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues", - "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.2" - }, - "time": "2022-02-21T12:50:22+00:00" - }, - { - "name": "phploc/phploc", - "version": "7.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phploc.git", - "reference": "af0d5fc84f3f7725513ba59cdcbe670ac2a4532a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phploc/zipball/af0d5fc84f3f7725513ba59cdcbe670ac2a4532a", - "reference": "af0d5fc84f3f7725513ba59cdcbe670ac2a4532a", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0", - "sebastian/cli-parser": "^1.0", - "sebastian/version": "^3.0" - }, - "bin": [ - "phploc" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "A tool for quickly measuring the size of a PHP project.", - "homepage": "https://github.com/sebastianbergmann/phploc", - "support": { - "issues": "https://github.com/sebastianbergmann/phploc/issues", - "source": "https://github.com/sebastianbergmann/phploc/tree/7.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-12-07T05:51:20+00:00" - }, - { - "name": "phpmd/phpmd", - "version": "2.15.0", - "source": { - "type": "git", - "url": "https://github.com/phpmd/phpmd.git", - "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0", - "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0", - "shasum": "" - }, - "require": { - "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0", - "ext-xml": "*", - "pdepend/pdepend": "^2.16.1", - "php": ">=5.3.9" - }, - "require-dev": { - "easy-doc/easy-doc": "0.0.0 || ^1.3.2", - "ext-json": "*", - "ext-simplexml": "*", - "gregwar/rst": "^1.0", - "mikey179/vfsstream": "^1.6.8", - "squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2" - }, - "bin": [ - "src/bin/phpmd" - ], - "type": "library", - "autoload": { - "psr-0": { - "PHPMD\\": "src/main/php" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Manuel Pichler", - "email": "github@manuel-pichler.de", - "homepage": "https://github.com/manuelpichler", - "role": "Project Founder" - }, - { - "name": "Marc Würth", - "email": "ravage@bluewin.ch", - "homepage": "https://github.com/ravage84", - "role": "Project Maintainer" - }, - { - "name": "Other contributors", - "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", - "role": "Contributors" - } - ], - "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", - "homepage": "https://phpmd.org/", - "keywords": [ - "dev", - "mess detection", - "mess detector", - "pdepend", - "phpmd", - "pmd" - ], - "support": { - "irc": "irc://irc.freenode.org/phpmd", - "issues": "https://github.com/phpmd/phpmd/issues", - "source": "https://github.com/phpmd/phpmd/tree/2.15.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", - "type": "tidelift" - } - ], - "time": "2023-12-11T08:22:20+00:00" - }, - { - "name": "phpstan/phpstan", - "version": "1.10.60", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "95dcea7d6c628a3f2f56d091d8a0219485a86bbe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/95dcea7d6c628a3f2f56d091d8a0219485a86bbe", - "reference": "95dcea7d6c628a3f2f56d091d8a0219485a86bbe", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "conflict": { - "phpstan/phpstan-shim": "*" - }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", - "autoload": { - "files": [ - "bootstrap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "docs": "https://phpstan.org/user-guide/getting-started", - "forum": "https://github.com/phpstan/phpstan/discussions", - "issues": "https://github.com/phpstan/phpstan/issues", - "security": "https://github.com/phpstan/phpstan/security/policy", - "source": "https://github.com/phpstan/phpstan-src" - }, - "funding": [ - { - "url": "https://github.com/ondrejmirtes", - "type": "github" - }, - { - "url": "https://github.com/phpstan", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", - "type": "tidelift" - } - ], - "time": "2024-03-07T13:30:19+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.31", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:37:42+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "9.6.17", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "1a156980d78a6666721b7e8e8502fe210b587fcd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1a156980d78a6666721b7e8e8502fe210b587fcd", - "reference": "1a156980d78a6666721b7e8e8502fe210b587fcd", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.3.1 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.17" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2024-02-23T13:14:51+00:00" - }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:27:43+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T12:41:17+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:19:30+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:30:58+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:03:51+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:33:00+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:35:11+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:20:34+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:45:17+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:13:03+00:00" - }, - { - "name": "sebastian/version", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:39:44+00:00" - }, - { - "name": "squizlabs/php_codesniffer", - "version": "3.9.0", - "source": { - "type": "git", - "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/d63cee4890a8afaf86a22e51ad4d97c91dd4579b", - "reference": "d63cee4890a8afaf86a22e51ad4d97c91dd4579b", - "shasum": "" - }, - "require": { - "ext-simplexml": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" - }, - "bin": [ - "bin/phpcbf", - "bin/phpcs" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Greg Sherwood", - "role": "Former lead" - }, - { - "name": "Juliette Reinders Folmer", - "role": "Current lead" - }, - { - "name": "Contributors", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" - } - ], - "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", - "keywords": [ - "phpcs", - "standards", - "static analysis" - ], - "support": { - "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", - "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", - "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", - "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" - }, - "funding": [ - { - "url": "https://github.com/PHPCSStandards", - "type": "github" - }, - { - "url": "https://github.com/jrfnl", - "type": "github" - }, - { - "url": "https://opencollective.com/php_codesniffer", - "type": "open_collective" - } - ], - "time": "2024-02-16T15:06:51+00:00" - }, - { - "name": "symfony/config", - "version": "v6.4.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/6ea4affc27f2086c9d16b92ab5429ce1e3c38047", - "reference": "6ea4affc27f2086c9d16b92ab5429ce1e3c38047", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^5.4|^6.0|^7.0", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/finder": "<5.4", - "symfony/service-contracts": "<2.5" - }, - "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/config/tree/v6.4.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-02-26T07:52:26+00:00" - }, - { - "name": "symfony/dependency-injection", - "version": "v6.4.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "6236e5e843cb763e9d0f74245678b994afea5363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6236e5e843cb763e9d0f74245678b994afea5363", - "reference": "6236e5e843cb763e9d0f74245678b994afea5363", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.2.10|^7.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2", - "symfony/config": "<6.1", - "symfony/finder": "<5.4", - "symfony/proxy-manager-bridge": "<6.3", - "symfony/yaml": "<5.4" - }, - "provide": { - "psr/container-implementation": "1.1|2.0", - "symfony/service-implementation": "1.1|2.0|3.0" - }, - "require-dev": { - "symfony/config": "^6.1|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows you to standardize and centralize the way objects are constructed in your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v6.4.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-02-22T20:27:10+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v6.4.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", - "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.4.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-23T14:51:35+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", - "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-12-26T14:02:43+00:00" - }, - { - "name": "symfony/var-exporter", - "version": "v6.4.4", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "0bd342e24aef49fc82a21bd4eedd3e665d177e5b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/0bd342e24aef49fc82a21bd4eedd3e665d177e5b", - "reference": "0bd342e24aef49fc82a21bd4eedd3e665d177e5b", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "require-dev": { - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "lazy-loading", - "proxy", - "serialize" - ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.4" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-02-26T08:37:45+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:36:25+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": [], - "platform-dev": [], - "plugin-api-version": "2.6.0" -} From 0ec1d9460001b2aee1681350754edd5639c8c409 Mon Sep 17 00:00:00 2001 From: macocci7 Date: Thu, 18 Apr 2024 18:06:50 +0900 Subject: [PATCH 2/2] Update PHPUnit to PHPUnit10 --- .github/workflows/tag_meged_pull_request.yml | 2 +- .github/workflows/test_pull_request.yml | 14 ++++---- .gitignore | 3 +- README.md | 16 ++++----- bin/TestAndLint.sh | 2 +- composer.json | 10 +++--- examples/AdjustDisplayByArray.php | 2 +- examples/AdjustDisplayByMethods.php | 2 +- examples/AdjustDisplayByNeon.php | 2 +- examples/BasicUsage.php | 2 +- examples/BoxplotExampleCase.php | 2 +- examples/DetmersReidBoxplot2023.php | 4 +-- examples/MultipleDataSet.php | 2 +- examples/TransparentBackground.php | 2 +- examples/img/BoxplotExampleCase.png | Bin 16211 -> 14787 bytes phpmd.xml | 1 + tests/AnalyzerTest.php | 29 +++++----------- tests/Helpers/ConfigTest.php | 11 ++---- tests/Traits/JudgeTraitTest.php | 34 +++++-------------- 19 files changed, 54 insertions(+), 86 deletions(-) diff --git a/.github/workflows/tag_meged_pull_request.yml b/.github/workflows/tag_meged_pull_request.yml index 5739c59..044bba3 100644 --- a/.github/workflows/tag_meged_pull_request.yml +++ b/.github/workflows/tag_meged_pull_request.yml @@ -23,7 +23,7 @@ jobs: tools: composer:v2 - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 diff --git a/.github/workflows/test_pull_request.yml b/.github/workflows/test_pull_request.yml index 698327c..b72af4f 100644 --- a/.github/workflows/test_pull_request.yml +++ b/.github/workflows/test_pull_request.yml @@ -15,7 +15,7 @@ jobs: tools: composer:v2 - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -63,12 +63,12 @@ jobs: tools: composer:v2 - name: Set up Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: '14.x' - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -126,12 +126,12 @@ jobs: tools: composer:v2 - name: Set up Node - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: '14.x' - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 @@ -139,7 +139,7 @@ jobs: run: composer install --no-interaction - name: Update PHPUnit for Code Coverage - run: composer require phpunit/phpunit:^9.6 phploc/phploc:* sebastian/version:* --with-all-dependencies + run: composer require phpunit/phpunit:^10.5 sebastian/version:* --with-all-dependencies - name: PHP Lint run: ./vendor/bin/parallel-lint src tests examples @@ -147,4 +147,4 @@ jobs: - name: Unit tests run: | mkdir -p build/logs - ./vendor/bin/phpunit ./tests/ --coverage-clover build/logs/clover.xml + XDEBUG_MODE=coverage ./vendor/bin/phpunit ./tests/ --coverage-clover build/logs/clover.xml --coverage-filter=./src/ diff --git a/.gitignore b/.gitignore index 6989baa..5819720 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ - +composer.lock +.php-version /vendor /.phpunit.cache .phpunit.result.cache diff --git a/README.md b/README.md index d6fa733..b38c67a 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ composer require macocci7/php-boxplot ```php =8.1", + "intervention/image": "^3.5", + "macocci7/php-frequency-table": "1.3.0", "fakerphp/faker": "^1.22", "nette/neon": "^3.4" }, "require-dev": { "squizlabs/php_codesniffer": "^3.7", - "phpunit/phpunit": "^9.6", + "phpunit/phpunit": "^10.5", "phpmd/phpmd": "^2.15", "phpstan/phpstan": "^1.10", - "phploc/phploc": "^7.0", "php-parallel-lint/php-parallel-lint": "^1.3" }, "license": "MIT", diff --git a/examples/AdjustDisplayByArray.php b/examples/AdjustDisplayByArray.php index 29e5fed..359e422 100644 --- a/examples/AdjustDisplayByArray.php +++ b/examples/AdjustDisplayByArray.php @@ -1,6 +1,6 @@ qm4F8gzRKz#=c}2ODZ9|F_w@m zJ6VPdGjpF)pYQj3|9;PNznRI?wAo&-Zb@-^X!WFZ6ZQ=uVzL2|*B@ zhPsL&1d*FV5Lq1cad5;(g7Y1Cqjb5ca}$CpV`+{Yj)A|q9n}qWASn1U1VucBARIUp zu>?W>q7bxV4?!~EJIoK#kp^<$#PK^?YAO(s^e-D#m;jEPc%W|K3*Nye!Ot)ETYV5D z&8MMq)A-@|`XnsW7@M)Vwf`+er3M0*>^D3v}rcYd$=hKMPzMj(gUGd@t z$IG3((kWtMi`d-(wUiVwm*&L;F|keQ#gJw@HI2^HI8u+!7ozFFySgOhRq&R;SONam zzTHX=L87c=G!WE!_y2f8xRecol&)J;7kpZ|{Ns!%{7OO}^Xp~z)8HDSW8<|>rcz{F zR#kbU@t8~YWRNKB5n+_`+D$!v{z#{C9j-s^c~jCr5e|M69zXXxEgS2uu2H9SFAVEQ zW#qbKj-gk5oihrAu@_v6xwoDPf96{S& z{M}j)gP*83TS3&v2nhA$!{NrIQam%H!Bf9@>==)+$-+9)#$pV9bmXUDsH|KX+8n`K zTr1JfH+Ah!|QL0zqf!6?0g(?3{rZmrEv`@gTjo|6;+7lu2xn$ikX;U?)aba zh*AK{llMw;cd>g}%KKqsW!XSet#|=}RAc?PGH~c(lyXV2t3gmuf*fb_w&M#o3Mej{ z{1H70x1uJ$p*UHLlFbr1C8^TR=Ec5&+ZQZPx9EtZi-J$V^IG|D{b$C%kp75deez_S zfi$EJH31$e%d2-UF8@{oYr&pH$inbGPKHXBd8R2S0lVFO2p4`KbgBaSG>qTRD(p#f z$F7u`DBH2dU3vGqKY-dig3da`Bj=pZd5nK!twd33s-(x5VPP~|Dbq=d$y=*#Gy8!{ z^BOIC>pO1kk!MQa_c?yaaL_Nmf8|r_VTD4cMLj&%-bpP&n!D?U^8vD0Op9qzSugY6 z?}cPN{VrLrB!&aV$#zr5C- z4E25UB}Qi`L65T*8FXy{v@O-L%)ZKZ>2vYNkK$n~M$)OWQhIudVa91v82Wo*%r2q1M$X8cbFp7>$e@10~b=GV8Pea48r42IBhE?=qeAC<1Mj_MR^fiNb;q$AjeOXnosRjPVdO)#TI?f zdZRQ+^wMW$LH{A0IlnQdgY84v-Pu=(6bj^*!0-$X>2aaQTwL7R9$&*9^z8@AkC^Fz zK(Fy^ZcvY}an^ak>xwS1DJgM_F3F5wMfR!Q@OLW%(K;30X#MONYpQg0wtE8-dCp_> zfjY)oOtrij_hx0qk`$*sX|l0*78eUk^YbTHdNfYbik}=E9j)X%_T&N@?N6}G5aTn` zO41&-@uht}fk`HmZFP`)=51FKyG?w|{RUS;el``Yia729Jt!w6xZpVRfxq%pYSj zv=9)*bv{)t=xMJaEH8XFS01InzKP~J z8$T7cpXdDT>syB#?@K!E2!@CbE=71k4HGsVZ_yE%_W@OCGUfN<}K z^y1y+jKCFSW>#9-doIE+We)lAiyFaOpEbiaL&PM)LxVA{Ujf_{a>(ks;c+K52H)@q z$pm~W+zj7Ouc-U()BSLLdJ{bto3+eiXceMFBy29OYzkJyXcRx)V zd6wEQ{6cN5|E{^2IF|Cb;Gp%>o*qJlG*x$(O!+AGfZRq|oLwQ*5CrsFUew`+Hvn#a z0NiQ69@64h%$POf({-chxfJs4h`6|b4LRS>{cTSQ{eJyOX;yor1U43ruC9~BqAMa^ z%O}m^{kHEeGFH6dk&XQ}zgT!hN=mg)5q5PgNG-OmC}&1{IwqaH{!0vYsf8dI>N8eS zV#;yj2Rdlc>De)Om!_S$UFFZ85xVL3Ohh04WDYbk3Ne#CKIaE38ETo$MQHFU2MI@f z`qIc=@d6-6_;!N)_Cwm9)I>zk&TW1XkxTbez}3NYl~(ul8VA%_37ffyJYJt*`#SOo>%&CI`ADM^#82qlXv$M-7w|h%ti*xgx0Ziu#R6{ew>XjKcWQStf zu3S+!2?zt19X~=jHcp+zPgR09LJ3ZnsjvGq|op`dRV%*;gQsSVKQjZ z4~+D^_3`$SqF$M({5ShAvz-%*xx~*mV3X$}Yg)IS|Dq z$$xe*&h3t~{2NLZ_F>Xqp@Z7G9WC6zt5^U1y6ygCy%j5~a5QH|0dWULzmyv*Q+|B+ zA#F74+`!=`!~Gv^NSPKl_X)qwOF`pE?6*;UX6rZv94_Wi(mYiThS(;+B7D^6*)!Kv zIqBRE{x36kS?KYxMDHXYU!&bDVvv6P`!Wp|7MjgCFVKh4cdz<0Noa}MHO$}m;Fv1h zc-0Q<0wo0nI%c*O*`TrO*R7ER+%-2(PqW})zg)GzeE@g6AoNGfT4Zio)eXCTzY$x8 zs?!J2;?OO>qutPqUoW<-y89k1*xMEso}~Q;%rd$_N20xIGIFN>8MCuiyrB_YH0zLb z|Gj{KmzfV|pVM<~tl5oxXMbLDnNJUw7(Y7<7K-a9>f|~vujjZ1_3(Ci<{Xe5MN4HO zu&aTA@(NCxG27dNV8dJs&*NqXlT~TcnCkZ(>4zI3t*cYbsGE`A>ZFfeN}gZ-HDeUKJ3xWNj+~Gm|232qp2z0NQkp0z zt5=+um@&Kwv%ApJ;@Dcw7X9{YVUkeV#o`@5XXPh$VEd}|cGQW5Saft0a9>OJr`-Fi zoQ(YDzw)n7PQVlRCUg*dr>#=Dw5`l4Um~X1RoV;;t0KunK#tg%Dsjm{?VV>MLd8kI zNMBhI;qq0#@+FlYrJzV(E{!ltF2-(C4jVS!oOC~1=3g!-SHBw&o0Azm1pQ-#d^=hvl ztd3STyU>2^-uXJ`y($8e&TEp3b?!MY)S_7AJ$D^kZi?xv!hS=ifIyd_s%io{Ek&Q2 zl!)CZ$CMNIiS&Mx3SpF`B9D~RFea$t;`I9Ga7nQ7ht1(MV?CI*$P;13!zx;nSi<5N?|&z{sE?b$k+>A5XiG5 z_$b-I2omIYbKhz^+j2WIYwx7-i6?IN*Vq~Q)+OhCq!;{T0My<4_D-8aZZ!Ml%gan> z^Hx*c3%<_8xw%;y+x8BWKDr39?zmR+M==%j8}WWWl%CMD-w<kU@|}Yh75y?PyK(_QKHHtgMnRUjkSoc}f;_Qm)?$oR(M4&!@v-%NZEUBHcRa{4OoEXPSWw^1#xdFbe6Cox z`Gg74;JYIp5>Q79P3y8HT|Q6}gq{ONMb3#2wgr>m9!fZfo3Q)vPAmD z2W)x{{_LqWm7)Uc1)A7vdpSZU^?K;*8&CY23m085$Anh0My$GKeXu(ORb-WpC|oR8 zth4(_30KfgOUiLCV@22zd|JSEXJ{nL@LM_~-r>gE)D>gyQ--1}D}gpNS? zRryj$-^VOqir9K`Z2h@EuaOj72Z5T3tdv2_`EJ*;-;(Tf%DJsA8j)`UTtxHy#Vo~< zO=MGeY!e6j$Euf@&B}SYNZsLS%fBzvXIA8w?ccVt6@PhZ2IkpO;dDxzzr`cva(YFR1puh3jy4xlPFE z%4G`hHE{SpwZ{Lfy8K&qUW=Cn7q{<8jW0^JseG@kVAsELIhTQSa<&!3xBP|`3TeJS z)mW|e?xOW)Mbgsr&aUqV+2{%56VFN26Lgse!~yi~HK?>8`|CLH2d_61oBd_*S*6ov zm1NGOIQe^sbn@SyBwZ__lN9&=?GpdDC+>4qT-Mdb4CW{7F6ADDak!Ab^45Li<$z*jt1 zuA?*8(ODn=P-!U}ATGeyfoR-FW%QPg?db1H972PNmqx_6B>z(OE8#9QrbR&mBrqVF zOuYd8@mvgi8G+yk#$(+y40U4~F$-l)RZ2X!S#Yt$QK51vZjJHET!XPOPn$68J<=U7 zwbhXcS|096fMt&mw9YU!m@)G9u0!`wkfuKZ9s7hzPeX<&z|Jz&sM^H^cJ!`c1kV2= zc#KJ~3rq(>n9=_H9t`UI2=M>%U4I_9WLR+I2GTu}lxUZfj3^}c^ymyI66Vf2IU{#} zJP9!|Tigu9{}V2oEka~GxgBA$FQ@y1WSP6DgWER(!)7JpmPUzldaj)TJ;IGIgRP$8 z(&kEPW52G(&T5USu(zF$h>vF%vX#5Z#H4_qWj;iYj&fpsnH9oXnuPnZZTEAsw4@Za zYz{&n-ISl+m@@ZqalzxCl(uBZ?e28v+U~*dJF*7r3Cak?Lt;N|1L4vjR*(1`$8Z{3 zPl`23YYj?xk&vahZq|YJqs)+vcak0@tiN_pq!4>TqzJ)t9vr39vtBKqcI;%kIsi8} z7@2EEm%j4fM9GGv$Lt&!^5(15PUVbb;bHfRT57=yj`P-Oefjad>YO+z+QN_KWq0n{tLgv#NCkc3BR5qnYYB&wQrPzw zV_&`u=5+pEIhO~J5ANwa_=EZ+B+K%300;VzYZ;S^+j<6O4t_Oxd)rVVEZF%|M{dLR zDJViuKyVet+8+1V;BLX}oznW_St_mZHC|a}-AReJL)YwxSc=j#DoEWB|E%!d$3zEn z6w~uhuKr*tK=E{cd871;ln~qd1PRe55JL7wepSaKN!-Hy*SaIEzp@$rC&A_T?l_cW zpREOTg5YhvPV0Aq+XCe3<}V)!lkxKWmtfUpBv(pjQSX4s>{4t+gHZRr^Z8{J=RU&L z1|G6GImV;SSO)g0XDQU?N>ZV%A2m_ydJ1-NVM52LKZu?oqe*(v;T`uo;@H}&2pTcQ z3j5;giP*;17nE;ei8H3~*$eei4CYV-E46urHEf1I^?}p#M{y9e^~B*kxaEHlW`)#3 zXJa#(9JtnCkZ35i`8mfbD|7xS;pXGh4bt}50th;- zpVyY-(wD~PqNRoLa0zK7%uM(;dL9<&VKO^7Uwu%B?XbW6?8cpm2=w@P4#uuLiFaZC zLx_#%RMP-Rj?gXm396FPRk=I0uog4L-)%ui+{yqBzZq+R;)f#0UPcwa57=0fj`JH+ zW-ePL^~IU&UEyJyr%njw%P*LOHlF$7Ea;=uV8&?b)~u|7%+8|(2Q9$X#FaF=FQfo{*z*64gE56Jd}%cYPRW2^gL zC$1gA?8~QlvZkBE$b%=s%csTiq~1-go=41-5cTa82k878i(vOFh#iG(gb$no0CVa* zN-@z=F-A9Umbkf%^ZL`v;fnPZme%W6;hvn(yOm9|-h{^WZ#T4WXWM9bDT>h>*$nvM zXQn!iSG%>EQk&x+t|BaLyj341iDVU+*~ypLi{`nP3mJn22x!}nD?c5mXC2ttxu^U# zcN}Z#UAN?Ejt?_XE0ORnv^krwPn;?h39nSQJG%1*RPcN2?jwM~<6a?{JqI-kUc`}Q zAX@p1tFbc_APwUR*q_i+ zWCYXV+7#6@Bjfhc77?eY@%ebIOD{L>ybxvTv#bTd3J_RsBq_)4MF#BEO| zdG6?U%LXBQO0&Ug9O=onP9~Ic*i$y)KlExhs$)Z90ejf^wf$alFWs)LY#->2hB>e7UyS{cvH)>|2%C+Y#ASo}=svZ%_t%Z;F*O<0TEC5T zoBAF()n~uY`4x`4O;g3m0l+oRD;*8+7#+rX$w*T`rx^iQSK$OCcZJ@qaMlsbptx`U zd`O|;(=sTz)X(acvPCoxP#uFJKK;FMCWxDn#Lfex2D(Fp5LWhPfM`(@#@1-^N^ z3j)r5F2SunGWnH`@_-0*pH?V8BG7|8WcWLKMX(hav^2PB^6gQ;M7vPqlth(n9f|lM{_TKup?KwC#)*p!#l!C&6roGLIU@wjh+gAk{u#91vL>@ z_~_ZKYwZuNTzW=xjtoMr3W*AxV) znFgqEz+ai85UmmaUg&I-CMwWrt9|eN*MDZSuj2J*=H+`fyeN*gSG-dc9rkYVU)4l) zXv{^L&5I|zvffuZ4%IkmWw6t`ZqGB4IAmdzxSrzSn3}1Vps0PXy;8E=AvGCIMDg*{ zr|tw%_GxZCpd8XJ$f%!as5XdI2v(Ao=EvbMd?bog@u>Z7Mp!^WIJT4m_p9Bxw4Mp< zdzZC23TE*8Y*@l!bXT{QfoYOeq3$tbn@P!CCXk5m#yPNdqRM*v-kAa2?u&I1%gG_~ zkvt6^oXyYv93wE!{pBro(s~&p!qQe8uQofl(bx6mP}0CKOJU;ZWjS^e)!`v$6Y(3 z|LDs4v5&j^$L8)OSPK{Pc5Q9Saq?Uc;futJ(w`A+ip)qx~ z{Q`&V&ms466IV=GK~6clHy_KIto^Z!;tYKGZ%;CaHo}$6eXOdJakCG^#9$s{@WH~I zsh4|8ue_Aj^g*w&$E0OBx>V7SyFaH}xEll3^N?dK$4HWpzo`_XQv9n0>xWQetSedf z`iAtCP&GAmCZ-Ivh$&dhz>3E@#zj$9Gci#CVH5IUwb>;Lp$`}VK)MV7TW_ z_rty8wYA6md!;Rcam%^ms5IRTbzy7O<4}7CC|8{IllK9MHxQ9k4TJ&o!~|b*cTSq; z`9iQsf#k;YZ=u>krZ=#$rmmfP4r9WNn3kHmja|kC*(Z{V&R;i%&pI5+T3BEl zCW%F`?_%zU<$p7T3kb*T<6)G7Q|*KHq4?E=`TfAB{yui~W!82$!#AWol#BQ<_SO@2 zk2^C%``xSCPbc^F-##&;{{-q6bwKk(ny|_BAp_rAZcs6NLo=9q7`Yo47Bx@LHUEoM z;CdaU8Cho&hMrz~^XW`6fg$nTG}XqdKE>=v+^_IF6dK08UQ<=pj>T056ZwMi23Z0tgSY6u zLJ}D|!copTyC)W@7*wQ8`T-k|l-ad`(A_d8s@(aq7|WzhXAbJu3}4-(sw!)r8|?AC zQOcTnQhp;AJiEWz53i1Wz4!E1M!TkVrra&7`jIGkNe~>o{4Cn9+YBG6C~=AM|K5Vt zp{LKDFkC#CzSqkmR(WyuHNf$7-|JX}myU@ji=l@{+Lu^8OxqJ%Ku{a_`jQgr%3!O* z;gOLX5=@(zMaQ?#^fzuweqHvvHv)fy-0mV@AN4i_)jS>kS%d=Zycr7JGD2pw%bfZC zgjwVO@w(FMlyeoH$YN5lPEuV?Qr@zxE>HnmifxcwBp|6vQqv|7QzPN>*kOajE8 z(jkA(T1&GV>gc3phLqhICBLYM?6=7qaz8H=zQwL8^CCsWT_?-dl2Z4f z-Q^Skk$sJL-OT%D25;23!sZh(Z2G#ovwm{XOn-Lt^mJuA)k2JI>0pl(^RieLe;n`n z*brPK%(Y4Q1Gkmbq`2Yk;8tSf;lW{3-^k$A-``&bfR-OfKR=yA=;Ht%5`6wE(-7DP)oQJq zY%JvSBCtQ6RM&)sJOQGiDHVPC%GSdxydS~Nv6Q3jgco-F`rHkEquNDPv^|b|gro)n z_1Patm4FXKPk3QgfXGE{0zuh!e{0;F-|SQ#>SU{9E`l`x1$w3Vw0wWguOL^yEPY|? za9!-Z?J;Ft%AjzMefN79xV0B%wO}7qPwK4*EMSqe| z?RZtbE*ky%F+BvWwGB5=;|cU6WcQd@NqjS72-p=(O&@U>fn|LH1CQc-Io$wAw!PD_ z_<%S$u(%7QGX_7sSWcCZPwiUrwLEM?x04KA&(hsxiFAm5!>76P)FO|0K^N83P%~i_f$`E6c)-I=BW^UV*mLXi%%=4 z4MDf%dVu~3(j!o0feF(EvPbdzk1p6fGU)v$=7!oLm=CLAt7U@^vOup-Uo8sgk`^EiTHp5vTx#b% z^RkPSr*F#Hs!~Gg^psaeO-a9oIItIl`}tk*S~W%YWVrilMUVkrFXGsZ$K#4>qDAjr zvM$+QxB!y8R&w^6$KpxamAY51q}pj$-bHnmNmiw*2b8kn>$QmSdeLjK_Q0efn3#xd zdF`OycIDQYWEFDti@i$v$#UCQ$!J=+v44Zn0c#2syhHiqr+awV)Mq@35dMJQE1PJ3 ze{sEG-?lXE#O^Clt3PLxENnW;g7A{*+ARCll-)#nXHdo?tD9m$jhFV_8-gyD)Ki9BGoODC9%g$B&wiDH6)dFX@UT zKL=@eqzDUCSLy5GXV$sbA)2={w@H0`jl`u?+!np3+e$ur%8U_^z#q$@%y^vL* z`pfkErE34luffMG)S|Yhf;v`AfgcL+!aP@i?pKRB=l1O#$UkqAz^{dfzgAoGpqA!N zHzRGy(wK{hl+-ns1S+U;mU@KG8YI;u8h^4eZTFSk8V01Lsp76rn-6;UO{IWaiI+OY z-e2s_(;O0{WCj&jdo>vh`4d5)oqPuOw7I`4X`;v5dBcQZt!D*4y+ z_Y^85mV!;YeyW77aayi9AMK}#x=GG8UoCVj$R+H$gu|j&e zdaaqrkPN<1Q0`j2$0DrrufWO>XNv+c?L=OWzpbo}d#X zE}DX24Gr{dUJWXS%=qqwe&%M;0Cly>bAJfZSajNrD-4P17)3nKK`1b+T)*OVwV}G2 zKxjk5KGYF&PGc3BCzdb+hiCN?YWER8LVjrBUK)Sk~D5@KoW-8M?{PE;Aa5Oyolgy!D z`m1}Sbb)v20z7tNbBAx^!kzNzGiWw=y>6!B!|X-T6I-L5Vzxxxfe}U9&+ax-Xava>vWnW*wVV_OMKL$Ec~<|x1=MzzH|eJ|4Tw*t&yp-^ ze>mMG_(O5RKN%=O>Y9{STQ3HD&}N0!K!lXb=sf8Qcnh08iqjm5qO+Rs!{1y+#LzEzOqL)Ud>yxaI`{VZ z?8z!bK%Y@EVQ9KMMa)z(lU;qTg&kD{04IX4MJmQ&>CPN~Ivlu$zzU?Tqc^~I}Ka*+T5qxg+( zFKsls6xGz+Y$0GTl%`RzajTOl`Ec7~Kh9mN0pzlTM6K22+Zpuq-Fh(et<>fy^Zz20 z`uj$z<_#IVf&Zn}SvO{&B04{R$8R+L(ivcZiu7Ze*&B2k+O?cK z+bT}R!&9;laJD69CqVcu<7Yx&2<40SHFrZ6sn?xpFS@aSEXx|EXI;C;7=*9HpZ-Zb z(ovw(-7kT8Jt6{YumcXg;^GV!y$sz>QFcuoe}Plf{4DI&oHoCA@!Lo_Q?H-da>f^J zh`X^MnTC6IWjFmLVb4?(UI-7Y68rn|*|L5MA1WTdWV=e#@9f8HX>9$L_bwn*Dt^4# ziW_~+n&KnFf$I$fW}KssG`_nXil)m4i?MWWc-t1WsTfN6r&#a9Fv6$x`3-Ey)u1Oi zM(;6McrInedaTsJ*`TIoJva%@Vo3%|`H<9*?~1VS9NPArWIKg2V4*_yP(t=!SqfZ! zGgc^=+HJ#cX{LwpbAZhzud{XiZu-^Os?m$Bkh zB=<4dIhx}EU;g|F{csFzYwaEF>rrhbkBHqmM$vlJT9uj<^rUe3PauK*{Y%6B|NDfm z#bm@oF(4M${r+g)lb(_fq!nQ38OkCU=Oe6E5uQKVnkC9(UOp-L8Q~}@)sQpRnAg4#SUyJT?5i6~1y_Di>9My6`Qb3YHNYQ+X z31lAs?^5fD#~_U%ZP^(o8%2OvGge)#7)}d8*)ZTBnEzR@#6|Re$xgrAuqXic1a*b_ zshIe9i3_D{jIp4YAQ?=-rnH+j&2H%Ec$kf;Mfs(m(||_rA=I=KZsI@xc~?UEF;g3e zwcV7yvr7$&F|I=esTayOyO{}%x~#6IUP&I&>aJ*h;5#_^Z{NW(u0w{Tg>sS>Ssofs<1y|Ek;%7CwJ-l#`@$Zx-VdRXpPF%gF%`*ts+yPVJ8M#SHernx|_X0H|M! z;sK)r!<%y`glej)axyUm1D9#GcyOI6L=gZ z3NHNY5;)w}WP6>*{!#-l@Yx0}e4ytz$@QWciQH#6q7nW&qRgDbGm#Xbd&;!s*H1R0w3>LS_M=D7N2Wf49>zc4&*E_P`(qdIx8(!MY=vxVg1#-sb z0N+h+omYX6KRq@)NV?Cf&r*h(5R8w0(nIfL@dNtS6)@>d~wuQ9FS0_(v# zLyzE0Owc8}e(fuU<`+k>T;EnN$&#C%?(Wff!;2oSQN@$S89jpVci6vnV(-T%B;hFI zBe?$L6SQki93U*?r@dNAV-dKc6u?OXPr)jfLwCZ_t33Z16+`Xx7+TLxD5=? za)9TklMTLNVMKiV*mx3HR7qMXaIH&c?5$IsU&S%}#Kv=w3BFkPS#SlE&ZJrL?K1)D z-16)z-`e|Qck$cFR5iXXj-%T{g)U29-<&%}o)eDg<{ia@nlFGTYhgmP^2*2-EV~lN zODge6F5v{ebqw>B5p1ALKA0TW{f*0jL2xHcF&M0+)iE;AAjv9gq{lIk=9PI+aj?Ww zJ~%`N{03zm^f0g$j@KbJOM8%dkMW>R;u_=~?d(~+O_nGM! z30Q!WcRRf0L%a@r71mBSCl2uJFCQOl{oEfIfa=ryW$lVJuo-$_I^~nF zS&~A^z-DaOaAbqIB=|LG=~w?g5?{z?JrdV>yxR00n#?~T4+Q)04D#X{^ANdUuL^> zwk?4x%inlMLtPoP;j4Yq{MJ`j6+uzSBv`Ntz_Z3h&liIiPF7Y`T^_G5w+J}Xjq@5a zWH#L&0$e?CW&_i9hl!n6x%byQ_ye&xOf?Ny+p9}UM-i;Dk~%QFI|^*VfEFJbE@rhv z;j|T>0p}zz1Mjl1Z;1bUC4Mj;Ar2R33kX>5u6yaBBk9oKE(L*uhso?L@DqPdDs*$S zAPyBeDHb@ z{NYc`)Mw^J;4?yWh{O(Uv=HUM^DKL~^KUMgoH;E*} zYqv-rW@*6H&4aGw{l~&&+mf0EQPz0>EX6`0i|Yo$$?bJU3m{Slnldv^Rb+d?LP|!; z%PS_6y_&KKBk%utwRZq7h&_UlhZYb%4}C43;;df%^I{N*u^&r!xB(tu>0~*7sJ;dJ*Jb z!=My4b?hi8&dITX9XTdSdX*&(OOx#g)xX9tz<%d|>M=eKIIo9+5Jz$=dB`$~Ma+B# zMz?EH4!4laM+;k)EzP$`+mpY4nrEX&m9?-M<~oTobhk?@s;Wu|{?&#G2C8@199u%- z8%9Fo0}?%q-{T)|nJy(6>w)baK>`i1h!S``#*K4Pb@Pn#-06>95pDcJ@gpQ6-HW3uWe_mcj2M~tO zgv>0*v)}Mco|hfr(IC;RKzmyLnfA(W(%*4+K0ytT<_`X>5brfmC_Qgb;tq{D=;UYWnAHO(y{hlxPtqd|lu-LK zqo>fUu1$s=F#03sJO|Z~D&d}oPCLP^Aq^O-r;*JhcT@WRwR`j5 ml;HoMiui9NBIyxAA{FoJLAQ4HqDasSNJCXurR$gpll1sKh8_C+pZL`!>qH&lI9;A%sw5A4~RqEJcOvCVP@~ zEZH;6%

lIp=)Oea?OE`}h6p`)EAo(Y)Wx`?{{z`g}fL&+cg{)6<@#g~4F-sw#@Q zFc_r~3`X(d7!CNuUGl;!@J3~STk|#y_CEH+;eBfGe=chkT}>Fw{}K#_4u!!8;3M=R z4CW;cgDqRZU^l_SREm{!Ti1V{al}L*))q9{rI2&Bc?N)N%ff1=7!pE30#I#^({$1I5K= z6Xsn=RM!a7)fsU=;641pc)dfSrB1;J`)aA~n~SthXn2l&lI0FHQ@vtyC86$+bd2|` zM;b4`$NZ*0;n#-M*VnJNWHY;8H!gJV1!9x3vUYA$z+f%nh867K!I<2Rfo*`%@K}Kl z*`m;3*;e9|tYD$7|M9|#oiw=aTOJ$~H>%m9j4{%=SToMqA9S(|1{44Gl%CH{n&J%0 znKP;7me5~PXu(IXu$=Ntd}(vlb$Yv%65Pdx0Qa)p*_*Hq%*4>MtKBJiF}i9PwC0hF zPqAm%{(V&|&%9>hijr8f@3)nBUaCKT2lMVjtt$&_YS6V~M=4Ig(8qqU_wjYH+9hYT zwcVPV&;9Zs&dDitXRRSIeyqgP97VjIlgBT>bZl7+b)%%Rk~e5GAwl23>o!BUfp>$! zcy;=<1~Z9RIk5f@aqq1M6VuWPaTYQq*u%M6cX!>y%uH@oHEr#IhV_i$Omd)xRGPu) z=-1u3fIY*-9h|lh-^Y@uD4PmKo_S`lm!xEic<8CQ5!;`l%hvtK$lTJ$TuB zrmv_p_?zv1j@D{=-DL9%?sL^{@KMq_!eZ%L$4D`Mw;ZOn1p#dNA17XVi~`2?fQ}*6 z7dmgcx8N}7rZ1gRRfhlB^ZeS{zF)2ko}z90Tm1OB-m9|iY7Rr+?t2GOb{aNot5qnkK2{gL!%Q zwT3N8JB{ZV{>zo4J&~8ecTbb5T``&Oc#AeSb+_Ng+B&XHoOhk@HIeZd*>(=VS)>)0 z27BG2IHA*utSQXOQsvjqzQ`LR@vr8_N_EJXcI0uyS0#SA2L#2dvKGby{DR zQlu!t&o7(uF%@A*Qt_CP{F7reIj8tVE8(IduJ_aTbBF0xN?0f6IR=$Om)!4s(6{IL1ZY7@o`g~qTjAn9=U1EE`#6>+M zvQSrdWi=#fem+-F;B#&)DzK6F^D5H7sZc>Q8Mo3N;YTIR^*H_dquYi>O2)=9yJ$&! zt?IQ}9_<@9J{MwK`Z-DWN*LuFoX9DB>K#Hn?Qc0`3acFYjppWZ7ANXhiKIQ-oBl&A zFQ!1;-xuWBzbcY9i;AGZcyyl{M@f&#@=U}h&3C%?F~X==6kvlaqNAOVusrXv@dz7DF-^D^SnlFmrTm6DuXv7 zvsZg}3=>R|XLB0Xzb5k*TUzp}npDiA1%*u83i+)uew@eQWBLo`tX^-m9wWf&BDqx+~(nhlk$q#DvrC%m-?kbJQoly^_${C*B?& zsSYwpzshg=@#Co-0$$Sp_l&|#kB(wDR6yaCs~p^L>EOV^=IxwE{%dva#l{};1_l=< zJ$h|MS2>d1=es|T;IMK!e0&Q#6`33(_)^?r+VpEoWo2Kl7qBwt;X=ooJ|#+w@IWJW zsn|B$%#An6mL+`% z>`ja8yL^oK7h2zJf0bE~4Dzpcky1C3+{arMZU0Q*pWFEDH666R+MQRi)f}OE1@T zypT^-Th>c0EG(t|aFecS-_G@**WR9gNf}O%&(oGxkGBYXe+T}%l`fh+d5k3a)7&R| zm_%IInedp4f2Wt1>NOu_N+y&hhgaHe{CEURD~CUGWsyf$&qIT}>xNi-%6@mT6jkhG znGyeB5S+#x(PV8eFN?(F2FVAC{-?&UP+&@{;~TW0-yc2UWfAxn}wQogF7WcSld znV?8d$2(MnpR3PG{bchl_c^VM zTcrv7z3TB(ehZktjyN%uNIi8s0Jt5(F_?wyoKGnYm z!ggV9M|MMC1=IIl1B z1@8b;u_sLdc!iM$&yVx*>g~6T#Jq2+Xu8T&nbBILdyxp-vP~k#hH*ZtTaQSAQ0S|l z)b5Nf!SXvon z<&c};jZ`wJb5FgMftGT)Ua;w2Gl9fj@U`;C?s?6$6h+tcJAv-q|WRa3STt1sMaWSPfbMT$!> zm!YY42h>^W*PAJO(vpkPWt{cRSNk=kqwl#EBOD#QC;b*2Bqgf^B_$jCvtzn@WZeHS=PoC$djVZZ2_mZWN*Z?fEUgdgr|_zUhS0loY$}QS4U6PF$x@00y+2F<0H{Gy}NTDCoZmW z+WBU!TxIi_iZ}?@L((A@ezs)BX0#;r% zZzgV-kNvVF@4S^e7?m)oDqIz+0x62n&iQ3-hlbEJ{g9W>xXNYpw5qG6{Rl3=K-b-3 zyxPF$IC^I2XFH?0|K6m(h^drPo|bvvOuObyRP%73|HbOW{10WWEQNh5?YG&4m6Y&j ze}VEZ1Y>D=+C6M3BjCAy*2#Uz-=#Y)qc-o2DuWJG{hESVSmy<#r43jk^+EmQGacRYc{Cy3MNm|9=s61? z_mMNolu(r!@yO9p6{?t4W5ek^7Q0iX?CCyze)MI@6GR@_w;;uq)H}Uww7`N)i$Efs z0=N!_@-7L%;Rti^k-7&XOk z;9p66cSFex&n9X7zP@$_LA03^sD?@$%)}I0~s`d6MMyQtM{$LjR>=|evT9_`< z@m=cptIh{kU@cb1Im<3-X$%kKBy4}P#$6T@`?xX>T8Qf}%7V)7#%PRe&QX8q(KJ+0 zC<2);7SDS6onz~h{#5a|u67$&?I*^{b99d~h?k4N-W2`#ai<~;mcZxI;^g8oTNvgomagKd<`jb*tRh3lRW6lQg?=Zs3v3SrZ@EGXKj69|1A5WG&aH)fe#RBc< zi@*}@yxQnI-_JjDV72oRS(9HsHfZZ-YYQUzo6(*lFqlpRdN^EqD!;$dap}ufEho#Q z*Dk{tNIlcr*^ouyr3y?sz|^ouKff&wOw zpu)&~TV-WA{ch<~+@;k~J$_I!f=~$jK$&0L;+}`c^mNtwWQ~T2kihUtHU*4pW1{hX zvDwro67waiof-D&SG=XtOaq^T26L|jZA9*yG&jn__djz}w=X`gdN`}#KALXFsdZ<} zqOrV~WU=f(9)GuRIHW zqP{(Q6!zih%{pKh|37={e{Z_WLK%%t@#i`%4XFCBymx+?oczEWzzXu`Rle07Q~p=y zDaD@wN47h@1p>r#u!h}rcq#mFCMq>8g_98m3sw6jWCRKhV2*0jWYPhl$1P^Bey!2( zhDp6=Ji`T-Au*JnewtLGImZisyzam0lus8g`s5Mfq zXz**9^@ScUARI1iC1$Sc1Gle677xU542Mhu6e2WRqO)4YA86)zObBphoH7S-c%_O&An;3x%0^Rd$zXfpFE}yrfgHMOBg`acxSAo zgC(i1H+s0yudbd&>a(iaCQG-R|$2Go>y?SRbpM&hPh79`x0uXThYi!WQKD<$RP)d!k~?vYua^>HfYs zN`h5=ywlmTDrqCE8u938Zj}!FS?*S($owrR5&!kHeX)xLSQb(jrVYx^XQ9^aYt1vu6Hl>I$TTyR z@p9bwF;H%M;2$W*^uoe#4g>v+YEr{K2vB+lf}AQ(x!jA>!H=*!t-4@oO2Gjv|HT_M zHG)N_UBcmgo7}cL6|poCqQFO0tb)Sw9=0X+*zM}T`a7Mxfjhx|(Eqy+-{to?^(gHc z47TwMZF>coKm+3Q%#2yu>KGTDEbF%^3Ooo;!g$`njq~-r_lCB42mg3 ztf_KNll6CsEzHOGG?+{JlK z2k4omda{--xHQ^x^oQ=n-N*Oem~+WNNz?K8Vim5CR~4WGWx;lz<2MQmHVVtjl?n=8 z_rbFJkJ89DTD^KI-jkk|ZCr6>r(rrhe)7T;?iq}*plg}@mAqGd9+t&IAw&n-24~RI zja3$C3=dy0E`}D~ca_qR6JzKIV%1IGG93V_yqY`@BKeV%)r^LhMIt+=cwGOWMk9#bHt}LAEk1|Bdniir!5)>R@$R)9z1U=Mb)-bbqm&w{vxao zPQCIs-&?4S8p*^#&d_H20Urzeq54eeP!IdampM(2!w$k@^l&6dH~=-fOk74N&+Q#e zd_Cda+Ut}E8j<*f;?4ahn+G95NavZ3@So)}3Q4jjN%VU68$4!XLGbPtH8;BGbvPc0 zs2-lipZ{(+JIJHd!FWpi^bYFX)jh1`E@P13&%$0*3&Qfe%>ji}Nj+nsGfxWBLXU>k26DMYC zNFlZ(;m(wXV&1ET!*3Nd&6B1dDQAF1S_JQ7mX{mtq))+^vI(@>GoeE4*)&Rg;8yVQ zBu#$qrOXxY$e0UrGLOKKvG_29l*kq(WE3BB{*mKodC>h*?EQAtinR06gxBz%b;Q>s zkwWuYam?zCbSav*RIpbuXllL0!b+Uhkd$Q+Ybi0MTC{uJOGaw+n%>pp2pBqFzU4{5 z;TbaCHCi1Hif5rezD;`~dh&v0|B=6Wx_SU7P0Pt&&da8z+cP^&dygwe-=$nts-?Wi zZNg2kt(|y>sl-)k{;l8FgxbB??3Zw7%VHoFBr8>(KWI>xT5Lo<)Gy&odR2w zZ+Y&Xgtnw^s9F3p@!>|RY~4=(E^7Q%u}S&&$1iMQFh!Y;*5~eqSZ$na!^nyqC_jV0 z)3V;dSaOo+%0NBXw?GL)BbmyW9(;TrFWNOyEHtz{oMYa0dWJRvZfPoM$)N3VV4YTK zpuV0yPO6ncrCJyfKfG8;WAu&SrxFfbTnYsSqnZmSeb!y^Z~o=h=kk4}CSXXhdkNroenYjQAmsqfSz>WR(ybFlYD=bL_pUqXZy@jxjVFxpy0P-0{yIE z{vCyyPQ=j0$90t$BeD?J)SpiabrmiRRDaG*NmZ?-L`NPo(uvW2!KOxvBvZhmK)cY# z6A6FwM5MvXW@e(*jV|IM@vMjQWPMxNh_#ETC#ahGc#3*U@gs8TEqBZW_ZL^cO_qIT z9Wk)TKDc^uSK{RU+{dCx^gjZJ)Dm~YlR%4y>=I~+shV0eY<~F_S zGhgf?eN)if_Q!u4lm$e_belVP>xskuyC52iXW(4xvzNPi_o|)EW!cFRkA+)=txO@P zPZ$lSU@O`BIVPoDlqBqnK3+p{%7`duzPDmRX&9yU4L$trTOmNgDp9DA^78Ybj98j1 zS@0aIbQ-=!O?jKR5zFF)++7-TuGooo(}?dqGX%o49VadN`pG4s2-wrRZ8ZNfU)WM{rFig64T?Q?c!Xs*lN87`0eLvz>ybCUOAKZRbC|J)6Ra9|2 zngCF*3@=ju(lse4+V>>IWcj4;Bl3DKg+GYs3;i+;}k+T(2f6X$;geY{zLciY8JyBt*3tS=eF=NvKh zxjeybY-vge;tLRJ5RRRLVn6pd@?8u(3D3#+ukoHGS1Gb%`BWy`+n%&u02eF=lMmaX z89&?lJQWV$J$#I5_x`Io3#(e=QMwZNt}}QYPT7fV^0hT3HhrZ)O3I~}qbe-Pb^-5H z1Puzf^@_jQ3~KZYnPU%dwMAqeC54(vmGdYJ4nE>F1TUXayJ!_=3mA@604PH(m4QB; z3zu#(P5@!Gh-wur)kC_$wZGBCY+rvvRQ~?k+#*lFtxVC{o7fXf+)3{D82#u>w4U2L zSGp7HWfxRySH2+E{VMLQcCh<92opcTfPlfalc(b}$VF@&EEu^7zXdi3ncUyknp^PE zY(3b^M5wE`tk{8ob@@)qvclb`<^bOZrEt^u0uFPdb zT9+v5u>9LC@t!{;)Vq>a@w;`X{p7tKq{W2E`z&6}&ffyw{q*ZM>L?{Xd{1*hJKSk` z;z&64bOH&VIUb=*Gi7r`@znp;%`_a->`4D8-z!XkrS*2}kE=V;gQPwA;v?t1)}+as z)9P8@mQ(2^=GrkqJ!F{0;Od%;WW!oCy~5>nlpxM~b1E^!Z!`1i<7<+okG2N*s6 zc7j#V;cT5rxy_TQ;07&l!`of)huit;5RSj!yO0)y0red7{ckLoakt*V`JTD4`l`Y% z54T30?76NJ-ExLp%RBbLQuF3V(2KT4El_n8!g#JB=&N1DWr1hxtdE;Labl%;a=shq zN}8*kn$KsC^+uGFLWnlN@~;C?M&jC0&1$mHhU)NW_h;O0)-siGd_ zr3dKy6h&ECO41YJcR<_a<%a}>6ri+jp^GV><>d9fR0;Z(5$NfBfORdtAmV3r`_mPx z%m0$w0aP$M+wg-&z~B2#UD&S;uk=PWmk1A^1R*aDdIkq@IfnCgQCD({`yM zmZe4cbYb5RF*!+%WU=|8*r2|RKk?;uGe??c>W!HB!L=?gueb<|4n)WP0 z+}-0}#?ADFoscsy0Db*^*we_T@G>ZYtCM1Oe#E6vBtzdX$;(rR8}UE8MH}J%{@2kF zki5o8h<>Jr{W7TX5E6n-yq$97ooYM5Y~jPR6Ly?pFvT#VW3?M!7lk6WDHQFWQe)PG z*30E^#?>yFqn(i?TB?^70X0qwR}84ozjX_B0m>+Elc0H3GT~tu6S!N_nZeUI>7~tZ zwDf%88!mIe`s#oMPA<(#U5xC^K3osduA1K0GD@30bslXrgZ<5!rO-%U>0;CZc(f(& zeLd~;5e}c9jx%ljgiP`c$K8z|*@XJ&qAG*UFcdqY68jzW3<6U$CNZCWEeGrlIgVg7 zDq^cl|E-n3xIW-&)T0MwfhCDsK=^)MP!yG&`RNzQU^~8?TIU8O|DkjN$veR;~nx``5-w|yA%ustV_NM!f>0IQ2MV{397oDGT5^LEfIkJ zM#!Y;^_tjKFW{f#4Nk;zlIh(gM$~od-M4H=ayG|ovyq9Z*YFX>P~jsmI)=agykX-M zpYLjwF=#a;Y`*I!cjW~gEJL97qqAi&u8RahO!px6^X0n8v;DjmgUTKxw%^yWuz2ph zUV`78*q9ZC!h@Q6Mc3SOZ0T_dt51*4T>bG4ePkq660v8St&{G1S8@b<0bO6gIM56vDw zCO-l16H|-pmg4%W=U2SVE$ofl#1V`NX~Wley#}#7jvxvkrcV|Wqg1aSsbgjB2qg9( z?JKV|klyPeD#k|#NvCp13LhhI*t2x>MxcH&5B7U{<;oaAR5kwN#hl!+Yxmp4WeJPS zdJOL3yDJ5Q5H}gY{JF3Mi9hoq0}0_%IRL4ZZ19UX`cD8u#G?(VGjB#gNKLlPD1jJa zfbBXt-8v^NYS0EYDz62R#ndO9v*jQ33!<>;JFUg(h75Pe-Q+g z*lWg1f!nnc+Rkk5go*v^a;jPcATW`D>ug&?QN!db@dDTAKg#D3>rASV=J$>8O5+BS z?UaVVxHAGb-vu^Tk1q!{%OAXP6KnD`j64%NIPQi^3u>H%WEZwwyF0%R_qU1(>twn6 z-d7*jwwt-g{}9ws&BTARNw5qG&%MKv8g$*9jkV0lSr$|k=C-y-RoAz?@aY0Zxaa4& zO#z`UG(#)w2aU&jibbJYVW&!5o`03g2T@hTRM5cemd<1Odmy^t``%sx(DUr}a*@5) zpeBzeU`IzgX}O+@pJDH2jYh~a!J%EwO{nwCo9q%pILv)~_|q{<6vj;HtiEyaAxnp}KLJ zw0jzmz#vsegZ|yXAhC1B8o*N##}pPWZu=h@tH{#=Nkae-+-+?d5DFh7a~BVcKz37Q zrAO%)=-Vxy(qPm9*7D_OL4ENb>WmLW^~uVySB9+kX~&JB|AEqRr(R!ap_9C>rZ&@c%s?x(}o z*Dld#XJ2;B4X#aAja3yH&dnh!Vi_0p{zAvt7d7Z}a+=n;nC^Wwbt~8<;17^3-6^3$ zu=_K#q&{~27LzKc)Lcz$a&QRgcPDLPlGLa5g^}A_!ojFgimrjN!b8n8eHr_h zQ4wk;Hw|nk=QKF6fq|8=#{H-%|H${HU~6vVTC~Nwfiq&1^X*&N1t6dzN6{!fDB>cd z6|QI;K|fBba!SNx#60#Zmdh+@h6=5*%1mXxM|R zyubkQDGz|4^&Dv~sRfH^D;enFXOl=Bud2MR%`abAZEdcDSoRd%@AFJ~oc}T`!Vmxl zUb}z#^R?eHF3vjzzH2pOoH(s6+zD;E9{H}jJXT(tfaW1=CU*+S$fyEQhpMi7In;+P z4qSC@p*btIU|AeZ0!nN-=d9^vkK za2zb9X1XL9wAbaf34j`Jx^)2yxgWc9#zyhPf(_!{4&~P zTIFHw@rtT~x$NfqaS_4GDubYzhP*5obuU|4M$!ivqm|M4W`6!LHU%`8FLit5+8&SQ zHH{fI-toqEt>n^u+x?L^c_F!* z%l1dHdFTC2O5#uc@Y8e*F5@Sp<#>}P9e24IKJh3Gq_d-hYsT%p^=NDYHojC70u=CM z6<_JxZFSVL%`S;2Cy(G`nqWE6x4H?y$Ohp95*&NhtMgnmL67Wkx^#iFA|;6QY=|VY z%(*Xgo(dDGtBZlK=-JrJ#mxzzA4r9xUfzw>(os_CLRYUtWWK1}4QPk{BFduJxkS%FUD}^3)iM7V$v(jA{Hk-U>#MONz@o@RzHx9XK!47-!PB|Tlirv*N9MH zE)xaXAOG3tb3g;7Vl2$sw58PqkXJzM*COj3Lm?UrKt3VU%vnB9?y!vG7p)S8}Is!(KY{g=)7{m(R{_y_;`NQ}(!M`zBS z)LN+17AY>SUw(Y_6{8pWm{B@a2*hoTy$=zm=FM6op#RPwh6=Q?paDDw`<|6?Ct-Y* z{~pES87QJ1dqxD{4=1CF^XR|mc zPHL8Ure80HaZBBnET%6RnW_DW)@FTWty3qfbbe=t= zj)s_!i-PA$-q1@@vZ6zW2H(_AE+OAcu8IE^MXMh(QgN72O!)o}Vkh*Hg$4|Qc<=Mw z;e>_0E&X*`tG0Z!TaFf{^AsHxns_V-MD+Qx)JgD$_63SkXwjC;-r4z=)giS_f41IF z?}I87*^fBGXg@U3jZg&CqMKPOA;NFVz0z}um*dvAd?2dKmvR*x1TEusv74qu!=GsS zkh&=0KMWjHRNswv@A?V@HF9q5?e|(_UeD$KR7bRy2 zuo$4paKeuWu71;z{mlW35P6Jt_g*(#ov5>`p^}f{w(^QkOymu3FAP{q!6aK0_KjAE z)Ng*7F=_OD&C6Ua{?k9TIj5n()Bxep}Z~%2hD( zT>^Zk!d%?11%C$9Yt33&RitMZM*zaN?^brOo{#!j`Viza0WlvTI2JF~`ry4vyou?N zBU9CY2N7!F6RxOj{Cc~o)eJNT7R@p2`K=?UPur5WD>`{bS9NuK9lPDs6S`!|81E|x zIN>w79yF2cGRZUzsERfb5K*B95OB1RG_2`hZGU%8Ny!)xT=@k8^>QhcZ0`mJL@k-W znlzgk#^w>b4r9AC|lCMROT<_{t zRRaSN|HF+0ZbT(8==X-0%S+|mOO;;i@3LggRH-ncloU%qc)1LIQYTNp;+m4XO(Bno z80H#2MakNy+8FeN680(tP3?K-#U1X41PzE^^nWA`R01K!JxJg( z@{N#Q>A#g5%!=NDJu4~$I&4^k9&q5}1q~9Y`U<4^Tf}gh*B3YJB+;M>yBNwv-Ew)mb@_u+ zBJ>16w@~F_A3fRwc1_}ou70JQgEvps$1EjlNgy~0{@otpghU<;nSi#&yFm%4L!VK& z{gd~>V9yr*k<%@iE%fib$TfB2$gw0Y=Yz&EK4DyR&A2$e$4&=SKcM3aCbw)Z{sm8` z2E97&_*XJ7z@E*=*8TMY?BQP-I#*jedDyAn2W#55x`i`K$bl0JbbH|_JNa=RzjSx% z+E828Ka?Sz>py<^k2oOmf1m_mA7GRtN?u-5$RqlC3EE&u%CYs`$cvzgW(IXCH2zUy zwR6AyX#$wy0B6Mp2%P`koc?b{M*dya^1lt4{5QYRFiIaG)gCUhozffCA9ePunsyC- z;zlg#a6xT#%G}<25LkZ{mzCF#|BalHW(Es`Q5y0~PhPtNl$P7;@&PhWw+}i7GqIQp}h-8R4L>|1t-N?~8!?0yKf4=gyfNZ7gm& zNJCcS3q2o+y5L#_$U^0jR82c6ye?mmE1^ULFfOhGF4nNW%l1){`}!+oBegXv`Y#RYyK{yW^y zhL(Pm^Onlx)x6db&JYD+j}r8XZfC(<-wWaFzGq>9lQFUg+QEP(@i`J@x4Ys3CS1aW zPuQPa`Bwn+!R}0&X#CE4um7`)1E97noT;CUxfRWUf7yAe@4dAsM9kd`kdlDgDAtqG zHG%Ai{5y8A%FVJVcq{FcU2@y$xDvAb?wQ_WMvp{=y51rzZWNv3zoVR0TDZI)irN`Y z@&6gevl`o;PSx;lXlajJ;Gj}DNyBi;fEN!3ae{;+r{;s{p}d6*A%xma;%x69meCB~^f(k`aiXrf@&6jD3z-WWoh(fb;>gu_wX;m+!`z#w+tTEv2 zJ7TpBfCd>^gAFpSO|Yu@n?7-D%Hf&lz>auPmaZ*tBR2wfk%4Qn9&d zJ_KGQi6q)3^JZN%Cx3;gxzuxzKKf;<)76I4xe=bkqvcp%<(B8xAg9N_1LEax@T*`2 z02ZY;?%@4)j@Y1*x6{)1AR_-*Ee;N{7`!zidZScRGqDN-tiLdhAxb8ZppS$c7iy8T_ zdi301+Z6-03uw9_Rso2goVMoO0o>M;kzQ=ubqNoqDRKt}p1#-t3YftHy&fR<2tp>S zmL1r66HgKMYz&E5pmeU^=wOb2CmXQ5{i{9Pixl`{hx)lEvG~6TSAu@$MtTwt8nB8$ zT3`)=$QvAVPDRWej1pC8K0wuPJef0iHNNDnqWoVOjbTBdEC44Y6a;q zqq~R7+7^(FvNh9HaB%nIFzydatv?j*P1UA#J zu3`M^)Ac6Y8|RYG@smhL_|muwD}?mqWy(#??nY%$$xNjfpn|nsy9-g~=?KtaLz1hh zrX4UrLpzKMI8~Amz>By1w|r#xxWWVszX1@f_sq-b%l*~u5}{ob3$ zz5R=O0U-$ng=mdOM(=4nNzZ>;4%S0p{fxr`90+(9co4hY`^wR8^U2#wOXVgagf*WN z^~8PfumhPS{ep!|c(&r1r7e`tf%<7G%ysV`$&@d>+QX4zPZ@qmfzYJ&x|V6v5xKjv zf?R(RfAdo7e5^MaY{_B99pG3XC|5rCcnyTl5{2;8vE=bp*13heWdMNjrK*gea3y0e z>Mh;Dz!4Y%^WUGVC@fOPJo>xH`L3^b)2k^ z38qz5H3a9ea^?C2pT-ke@wgH=Ht${>h8%VxI5AloFEgD|2wci@<&`?nQ2_z=9pEU( z_YGWm@u(%|(O4&^&Ckf1#YLUu(Yc6P6(B^Kw7hs-nFnf@X!5Blr zdq%m%-<8t9NT9Kcz|Gp9Z^KLUwY1!04;GOpR~!ciAok@{@RJp=E-q}I@0leW8B8Gb z(M$h?yrQb|H;4!$>S6}GKgG|+`z>UugAoHD%jR9tzX4*v^#gTYD&a-wp+V@;u7x-E zKOv+={_VvGA!O*fr}Py7O8lDE#rqGL?hwl15w%e3s0(W}TU2_G#Q+Wp@11tlo&g8R zHmp0|0}wq1K;HJ_GR#-eZ$APRJ@bDY z>q^@7`k%(S!VutI}lLoD++6 zvt)oNJVsM<{eY%T#-}r&83@oYEq^>CbS^o`m)5_;&!}a~;(!07G~5-h};`y!CNJcU9 zM`~cKNYWgP6;V@iz|-RTSwBIeBdeAa-bpD-4(mQUIIJNM@81Gsyw`X6>`^`#(*iJ; ztgnCpR@F5$)JAyRPV);_3I{KmuUlHjYC>coM&ygf8}A zQlM$`i*eA*iG4Ngg)KhxTL2?4C1#*VQ6;q(6+mh3tC?|2Lwe#x5m++9tBT*I3G@h_ z#GM-^nFl&?NIp3PBtah|J5z!pU_XGCTwZ^y zp~eD;VekBH91ueIV`aTH=;@2O@em6hOxj|E#)XOuH3tDz1XxEr*ywkFQ(bHHhyo|( z0MeLhJm6f(M6500TW7h~ut9r|oCfUCpO)nM?;hYs-%tKOD#l503%SG+euKVz@Dwmr MB`w90J62ErKSc%I;s5{u diff --git a/phpmd.xml b/phpmd.xml index a967895..bc07190 100644 --- a/phpmd.xml +++ b/phpmd.xml @@ -7,6 +7,7 @@ + diff --git a/tests/AnalyzerTest.php b/tests/AnalyzerTest.php index fd05406..557d276 100644 --- a/tests/AnalyzerTest.php +++ b/tests/AnalyzerTest.php @@ -4,14 +4,13 @@ namespace Macocci7\PhpBoxplot; -require('vendor/autoload.php'); - +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Macocci7\PhpBoxplot\Analyzer; /** - * @SuppressWarnings(PHPMD.CamelCaseMethodName) * @SuppressWarnings(PHPMD.TooManyPublicMethods) + * @SuppressWarnings(PHPMD.CamelCaseMethodName) */ final class AnalyzerTest extends TestCase { @@ -25,9 +24,7 @@ public static function provide_limit_throw_exception_with_invalid_params(): arra ]; } - /** - * @dataProvider provide_limit_throw_exception_with_invalid_params - */ + #[DataProvider('provide_limit_throw_exception_with_invalid_params')] public function test_limit_throw_exception_with_invalid_params(int|float $lower, int|float $upper): void { $a = new Analyzer(); @@ -46,9 +43,7 @@ public static function provide_limit_can_set_limit_correctly(): array ]; } - /** - * @dataProvider provide_limit_can_set_limit_correctly - */ + #[DataProvider('provide_limit_can_set_limit_correctly')] public function test_limit_can_set_limit_correctly(int|float $lower, int|float $upper): void { $a = new Analyzer(); @@ -75,9 +70,7 @@ public static function provide_getMean_can_get_mean_correctly(): array ]; } - /** - * @dataProvider provide_getMean_can_get_mean_correctly - */ + #[DataProvider('provide_getMean_can_get_mean_correctly')] public function test_getMean_can_get_mean_correctly(array $data, int|float|null $expect): void { $bp = new Boxplot(); @@ -94,9 +87,7 @@ public static function provide_getUcl_can_get_ucl_correctly(): array ]; } - /** - * @dataProvider provide_getUcl_can_get_ucl_correctly - */ + #[DataProvider('provide_getUcl_can_get_ucl_correctly')] public function test_getUcl_can_get_ucl_correctly(array $data, float|null $expect): void { $a = new Analyzer(); @@ -117,9 +108,7 @@ public static function provide_getLcl_can_get_lcl_correctly(): array ]; } - /** - * @dataProvider provide_getLcl_can_get_lcl_correctly - */ + #[DataProvider('provide_getLcl_can_get_lcl_correctly')] public function test_getLcl_can_get_lcl_correctly(array $data, float|null $expect): void { $a = new Analyzer(); @@ -143,9 +132,7 @@ public static function provide_getOutliers_can_get_outliers_correctly(): array ]; } - /** - * @dataProvider provide_getOutliers_can_get_outliers_correctly - */ + #[DataProvider('provide_getOutliers_can_get_outliers_correctly')] public function test_getOutliers_can_get_outliers_correctly(array $data, array|null $expect): void { $a = new Analyzer(); diff --git a/tests/Helpers/ConfigTest.php b/tests/Helpers/ConfigTest.php index 5034e15..fb9f8c6 100644 --- a/tests/Helpers/ConfigTest.php +++ b/tests/Helpers/ConfigTest.php @@ -4,13 +4,12 @@ namespace Macocci7\PhpBoplot\Helpers; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Macocci7\PhpBoxplot\Helpers\Config; use Nette\Neon\Neon; /** - * @SuppressWarnings(PHPMD.TooManyMethods) - * @SuppressWarnings(PHPMD.TooManyPublicMethods) * @SuppressWarnings(PHPMD.CamelCaseMethodName) */ final class ConfigTest extends TestCase @@ -59,9 +58,7 @@ public static function provide_className_can_return_class_name_correctly(): arra ]; } - /** - * @dataProvider provide_className_can_return_class_name_correctly - */ + #[DataProvider('provide_className_can_return_class_name_correctly')] public function test_className_can_return_class_name_correctly(string $class, string $expect): void { $this->assertSame($expect, Config::className($class)); @@ -91,9 +88,7 @@ public static function provide_support_object_like_keys_correctly(): array ]; } - /** - * @dataProvider provide_support_object_like_keys_correctly - */ + #[DataProvider('provide_support_object_like_keys_correctly')] public function get_can_support_object_like_keys_correctly(string $key, array|null $expect): void { $this->assertSame($expect, Config::get($key)); diff --git a/tests/Traits/JudgeTraitTest.php b/tests/Traits/JudgeTraitTest.php index 6819e2b..0dd3709 100644 --- a/tests/Traits/JudgeTraitTest.php +++ b/tests/Traits/JudgeTraitTest.php @@ -4,12 +4,12 @@ namespace Macocci7\PhpBoxplot\Traits; +use PHPUnit\Framework\Attributes\DataProvider; use PHPUnit\Framework\TestCase; use Macocci7\PhpBoxplot\Traits\JudgeTrait; use Nette\Neon\Neon; /** - * @SuppressWarnings(PHPMD.TooManyMethods) * @SuppressWarnings(PHPMD.TooManyPublicMethods) * @SuppressWarnings(PHPMD.CamelCaseMethodName) */ @@ -40,9 +40,7 @@ public static function provide_isIntAll_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isIntAll_can_judge_correctly - */ + #[DataProvider('provide_isIntAll_can_judge_correctly')] public function test_isIntAll_can_judge_correctly(array $items, bool $expect): void { $this->assertSame($expect, self::isIntAll($items)); @@ -71,9 +69,7 @@ public static function provide_isNumber_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isNumber_can_judge_correctly - */ + #[DataProvider('provide_isNumber_can_judge_correctly')] public function test_isNumber_can_judge_correctly(mixed $item, bool $expect): void { $this->assertSame($expect, self::isNumber($item)); @@ -102,9 +98,7 @@ public static function provide_isNumbersAll_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isNumbersAll_can_judge_correctly - */ + #[DataProvider('provide_isNumbersAll_can_judge_correctly')] public function test_isNumbersAll_can_judge_correctly(mixed $items, bool $expect): void { $this->assertSame($expect, self::isNumbersAll($items)); @@ -135,9 +129,7 @@ public static function provide_isColorCode_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isColorCode_can_judge_correctly - */ + #[DataProvider('provide_isColorCode_can_judge_correctly')] public function test_isColorCode_can_judge_correctly(string $color, bool $expect): void { $this->assertSame($expect, self::isColorCode($color)); @@ -159,9 +151,7 @@ public static function provide_isColorCodeAll_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isColorCodeAll_can_judge_correctly - */ + #[DataProvider('provide_isColorCodeAll_can_judge_correctly')] public function test_isColorCodeAll_can_judge_correctly(array $params, bool $expect): void { $this->assertSame($expect, self::isColorCodeAll($params)); @@ -248,9 +238,7 @@ public static function provide_isValidType_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isValidType_can_judge_correctly - */ + #[DataProvider('provide_isValidType_can_judge_correctly')] public function test_isValidType_can_judge_correctly(mixed $input, string $def, bool $expect): void { $this->assertSame($expect, self::isValidType($input, $def)); @@ -286,9 +274,7 @@ public static function provide_isValidData_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isValidData_can_judge_correctly - */ + #[DataProvider('provide_isValidData_can_judge_correctly')] public function test_isValidData_can_judge_correctly(mixed $data, bool $expect): void { $this->assertSame($expect, self::isValidData($data)); @@ -366,9 +352,7 @@ public static function provide_isValidDataset_can_judge_correctly(): array ]; } - /** - * @dataProvider provide_isValidDataset_can_judge_correctly - */ + #[DataProvider('provide_isValidDataset_can_judge_correctly')] public function test_isValidDataset_can_judge_correctly(mixed $dataset, bool $expect): void { $this->assertSame($expect, self::isValidDataset($dataset));