diff --git a/vendor-php/autoload.php b/vendor-php/autoload.php
deleted file mode 100644
index 84b05dd13b..0000000000
--- a/vendor-php/autoload.php
+++ /dev/null
@@ -1,7 +0,0 @@
- ../../vendor-bin/bdd/vendor/behat/behat/bin/behat
- │ ├── phpspec -> ../../vendor-bin/bdd/vendor/phpspec/phpspec/bin/phpspec
- │ ├── phan -> ../../vendor-bin/etsy-phan/vendor/etsy/phan/phan
- │ └── phpmetrics -> ../../vendor-bin/phpmetrics/vendor/phpmetrics/phpmetrics/bin/phpmetrics
- └── vendor-bin/
- └── bdd
- │ ├── composer.json
- │ ├── composer.lock
- │ └── vendor/
- │ ├── behat/
- │ ├── phpspec/
- │ └── ...
- └── etsy-phan
- │ ├── composer.json
- │ ├── composer.lock
- │ └── vendor/
- │ ├── etsy/
- │ └── ...
- └── phpmetrics
- ├── composer.json
- ├── composer.lock
- └── vendor/
- ├── phpmetrics/
- └── ...
-
-
-You can continue to run `vendor/bin/behat`, `vendor/bin/phpspec` and co. as before but they will be properly isolated.
-Also, `composer.json` and `composer.lock` files in each namespace will allow you to take advantage of automated dependency
-management as normally provided by Composer.
-
-### The `all` bin namespace
-
-The `all` bin namespace has a special meaning. It runs a command for all existing bin namespaces. For instance, the
-following command would update all your bins :
-
- $ composer bin all update
- Changed current directory to vendor-bin/phpspec
- Loading composer repositories with package information
- Updating dependencies (including require-dev)
- Nothing to install or update
- Generating autoload files
- Changed current directory to vendor-bin/phpunit
- Loading composer repositories with package information
- Updating dependencies (including require-dev)
- Nothing to install or update
- Generating autoload files
-
-
-### What happens when symlink conflicts?
-
-If we take the case described in the [example section](#example), there might be more binaries linked due to
-the dependencies. For example [PhpMetrics][2] depends on [Nikic PHP-Parser][6] and as such you will also have `php-parse`
-in `.vendor/bin/`:
-
- .
- ├── composer.json
- ├── composer.lock
- ├── vendor/
- │ └── bin
- │ ├── phpmetrics -> ../../vendor-bin/phpmetrics/vendor/phpmetrics/phpmetrics/bin/phpmetrics
- │ └── php-parse -> ../../vendor-bin/phpmetrics/vendor/nikic/PHP-Parser/bin/php-parsee
- └── vendor-bin/
- └── phpmetrics
- ├── composer.json
- ├── composer.lock
- └── vendor/
- ├── phpmetrics/
- ├── nikic/
- └── ...
-
-But what happens if another bin-namespace has a dependency using [Nikic PHP-Parser][6]? In that situation symlinks would
-collides and are not created (only the colliding ones).
-
-
-## Tips
-
-### Auto-installation
-
-For convenience, you can add the following script in your `composer.json` :
-
-```json
-{
- "scripts": {
- "bin": "echo 'bin not installed'",
- "post-install-cmd": ["@composer bin all install --ansi"],
- "post-update-cmd": ["@composer bin all update --ansi"]
- }
-}
-```
-
-This makes sure all your bins are installed during `composer install` and updated during `composer update`.
-
-### Disable links
-
-By default, binaries of the sub namespaces are linked to the root one like described in [example](#example). If you
-wish to disable that behaviour, you can do so by adding a little setting in the extra config:
-
-```json
-{
- "extra": {
- "bamarni-bin": {
- "bin-links": false
- }
- }
-}
-```
-
-### Change directory
-
-By default, the packages are looked for in the `vendor-bin` directory. The location can be changed using `target-directory` value in the extra config:
-
-```json
-{
- "extra": {
- "bamarni-bin": {
- "target-directory": "ci/vendor"
- }
- }
-}
-```
-
-### Forward mode
-
-There is a `forward mode` which is disabled by default. This can be activated by using the `forward-command` value in the extra config.
-
-```json
-{
- "extra": {
- "bamarni-bin": {
- "forward-command": true
- }
- }
-}
-```
-
-If this mode is activated, all your `composer install` and `composer update` commands are forwared to all bin directories.
-This is an replacement for the tasks shown in section [Auto-installation](#auto-installation).
-
-### Reduce clutter
-
-You can add following line to your `.gitignore` file in order to avoid committing dependencies of your tools.
-
-```.gitignore
-/vendor-bin/**/vendor
-```
-
-Updating each tool can create many not legible changes in `composer.lock` files. You can use `.gitattributes` file in order
-to inform git that it shouldn't show diffs of `composer.lock` files.
-
-```.gitattributes
-vendor-bin/**/composer.lock binary
-```
-
-## Related plugins
-
-* [theofidry/composer-inheritance-plugin][7]: Opinionated version of [Wikimedia composer-merge-plugin][8] to work in pair with this plugin.
-
-
-[1]: https://github.com/etsy/phan
-[2]: https://github.com/phpmetrics/PhpMetrics
-[3]: https://getcomposer.org/doc/06-config.md#bin-dir
-[4]: http://behat.org
-[5]: http://phpspec.net
-[6]: https://github.com/nikic/PHP-Parser
-[7]: https://github.com/theofidry/composer-inheritance-plugin
-[8]: https://github.com/wikimedia/composer-merge-plugin
diff --git a/vendor-php/bamarni/composer-bin-plugin/composer.json b/vendor-php/bamarni/composer-bin-plugin/composer.json
deleted file mode 100644
index 89752c4531..0000000000
--- a/vendor-php/bamarni/composer-bin-plugin/composer.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
- "name": "bamarni/composer-bin-plugin",
- "type": "composer-plugin",
- "description": "No conflicts for your bin dependencies",
- "keywords": [
- "composer",
- "dependency",
- "tool",
- "isolation",
- "conflict",
- "executable"
- ],
- "license": "MIT",
- "require": {
- "php": "^5.5.9 || ^7.0 || ^8.0",
- "composer-plugin-api": "^1.0 || ^2.0"
- },
- "require-dev": {
- "composer/composer": "^1.0 || ^2.0",
- "symfony/console": "^2.5 || ^3.0 || ^4.0"
- },
- "config": {
- "sort-packages": true
- },
- "extra": {
- "class": "Bamarni\\Composer\\Bin\\Plugin"
- },
- "autoload": {
- "psr-4": {
- "Bamarni\\Composer\\Bin\\": "src"
- }
- },
- "autoload-dev": {
- "psr-4": {
- "Bamarni\\Composer\\Bin\\Tests\\": "tests"
- }
- },
- "scripts": {
- "post-install-cmd": [
- "@composer bin phpunit install"
- ],
- "post-update-cmd": [
- "@post-install-cmd"
- ]
- }
-}
diff --git a/vendor-php/bamarni/composer-bin-plugin/src/BinCommand.php b/vendor-php/bamarni/composer-bin-plugin/src/BinCommand.php
deleted file mode 100644
index e7fd540269..0000000000
--- a/vendor-php/bamarni/composer-bin-plugin/src/BinCommand.php
+++ /dev/null
@@ -1,186 +0,0 @@
-setName('bin')
- ->setDescription('Run a command inside a bin namespace')
- ->setDefinition([
- new InputArgument('namespace', InputArgument::REQUIRED),
- new InputArgument('args', InputArgument::REQUIRED | InputArgument::IS_ARRAY),
- ])
- ->ignoreValidationErrors()
- ;
- }
-
- /**
- * {@inheritDoc}
- */
- public function execute(InputInterface $input, OutputInterface $output)
- {
- $config = new Config($this->getComposer());
- $this->resetComposers($application = $this->getApplication());
- /** @var ComposerApplication $application */
-
- if ($config->binLinksAreEnabled()) {
- putenv('COMPOSER_BIN_DIR='.$this->createConfig()->get('bin-dir'));
- }
-
- $vendorRoot = $config->getTargetDirectory();
- $namespace = $input->getArgument('namespace');
-
- $input = new StringInput(preg_replace(
- sprintf('/bin\s+(--ansi\s)?%s(\s.+)/', preg_quote($namespace, '/')),
- '$1$2',
- (string) $input,
- 1
- ));
-
- return ('all' !== $namespace)
- ? $this->executeInNamespace($application, $vendorRoot.'/'.$namespace, $input, $output)
- : $this->executeAllNamespaces($application, $vendorRoot, $input, $output)
- ;
- }
-
- /**
- * @param ComposerApplication $application
- * @param string $binVendorRoot
- * @param InputInterface $input
- * @param OutputInterface $output
- *
- * @return int Exit code
- */
- private function executeAllNamespaces(ComposerApplication $application, $binVendorRoot, InputInterface $input, OutputInterface $output)
- {
- $binRoots = glob($binVendorRoot.'/*', GLOB_ONLYDIR);
- if (empty($binRoots)) {
- $this->getIO()->writeError('Couldn\'t find any bin namespace.');
-
- return 0; // Is a valid scenario: the user may not have setup any bin namespace yet
- }
-
- $originalWorkingDir = getcwd();
- $exitCode = 0;
- foreach ($binRoots as $namespace) {
- $output->writeln(
- sprintf('Run in namespace %s', $namespace),
- OutputInterface::VERBOSITY_VERBOSE
- );
- $exitCode += $this->executeInNamespace($application, $namespace, $input, $output);
-
- chdir($originalWorkingDir);
- $this->resetComposers($application);
- }
-
- return min($exitCode, 255);
- }
-
- /**
- * @param ComposerApplication $application
- * @param string $namespace
- * @param InputInterface $input
- * @param OutputInterface $output
- *
- * @return int Exit code
- */
- private function executeInNamespace(ComposerApplication $application, $namespace, InputInterface $input, OutputInterface $output)
- {
- if (!file_exists($namespace)) {
- mkdir($namespace, 0777, true);
- }
-
- $this->chdir($namespace);
-
- // some plugins require access to composer file e.g. Symfony Flex
- if (!file_exists(Factory::getComposerFile())) {
- file_put_contents(Factory::getComposerFile(), '{}');
- }
-
- $input = new StringInput((string) $input . ' --working-dir=.');
-
- $this->getIO()->writeError(
- sprintf('Run with %s', $input->__toString()),
- true,
- IOInterface::VERBOSE
- );
-
- return $application->doRun($input, $output);
- }
-
- /**
- * {@inheritDoc}
- */
- public function isProxyCommand()
- {
- return true;
- }
-
- /**
- * Resets all Composer references in the application.
- *
- * @param ComposerApplication $application
- * @return void
- */
- private function resetComposers(ComposerApplication $application)
- {
- $application->resetComposer();
-
- foreach ($this->getApplication()->all() as $command) {
- if ($command instanceof BaseCommand) {
- $command->resetComposer();
- }
- }
- }
-
- /**
- * @param $dir
- * @return void
- */
- private function chdir($dir)
- {
- chdir($dir);
-
- $this->getIO()->writeError(
- sprintf('Changed current directory to %s', $dir),
- true,
- IOInterface::VERBOSE
- );
- }
-
- /**
- * @return \Composer\Config
- * @throws \Composer\Json\JsonValidationException
- * @throws \Seld\JsonLint\ParsingException
- */
- private function createConfig()
- {
- $config = Factory::createConfig();
-
- $file = new JsonFile(Factory::getComposerFile());
- if (!$file->exists()) {
- return $config;
- }
- $file->validateSchema(JsonFile::LAX_SCHEMA);
-
- $config->merge($file->read());
-
- return $config;
- }
-}
diff --git a/vendor-php/bamarni/composer-bin-plugin/src/CommandProvider.php b/vendor-php/bamarni/composer-bin-plugin/src/CommandProvider.php
deleted file mode 100644
index 2e8235fd02..0000000000
--- a/vendor-php/bamarni/composer-bin-plugin/src/CommandProvider.php
+++ /dev/null
@@ -1,16 +0,0 @@
-getPackage()->getExtra();
- $this->config = array_merge(
- [
- 'bin-links' => true,
- 'target-directory' => 'vendor-bin',
- 'forward-command' => false,
- ],
- isset($extra['bamarni-bin']) ? $extra['bamarni-bin'] : []
- );
- }
-
- /**
- * @return bool
- */
- public function binLinksAreEnabled()
- {
- return true === $this->config['bin-links'];
- }
-
- /**
- * @return string
- */
- public function getTargetDirectory()
- {
- return $this->config['target-directory'];
- }
-
- /**
- * @return bool
- */
- public function isCommandForwarded()
- {
- return $this->config['forward-command'];
- }
-}
diff --git a/vendor-php/bamarni/composer-bin-plugin/src/Plugin.php b/vendor-php/bamarni/composer-bin-plugin/src/Plugin.php
deleted file mode 100644
index 06ea90e823..0000000000
--- a/vendor-php/bamarni/composer-bin-plugin/src/Plugin.php
+++ /dev/null
@@ -1,130 +0,0 @@
-composer = $composer;
- $this->io = $io;
- }
-
- /**
- * @return string[]
- */
- public function getCapabilities()
- {
- return [
- 'Composer\Plugin\Capability\CommandProvider' => 'Bamarni\Composer\Bin\CommandProvider',
- ];
- }
-
- /**
- * @return void
- */
- public function deactivate(Composer $composer, IOInterface $io)
- {
- }
-
- /**
- * @return void
- */
- public function uninstall(Composer $composer, IOInterface $io)
- {
- }
-
- /**
- * @return string[]
- */
- public static function getSubscribedEvents()
- {
- return [
- PluginEvents::COMMAND => 'onCommandEvent',
- ];
- }
-
- /**
- * @param CommandEvent $event
- * @return bool
- */
- public function onCommandEvent(CommandEvent $event)
- {
- $config = new Config($this->composer);
-
- if ($config->isCommandForwarded()) {
- switch ($event->getCommandName()) {
- case 'update':
- case 'install':
- return $this->onCommandEventInstallUpdate($event);
- }
- }
-
- return true;
- }
-
- /**
- * @param CommandEvent $event
- * @return bool
- */
- protected function onCommandEventInstallUpdate(CommandEvent $event)
- {
- $command = new BinCommand();
- $command->setComposer($this->composer);
- $command->setApplication(new Application());
-
- $arguments = [
- 'command' => $command->getName(),
- 'namespace' => 'all',
- 'args' => [],
- ];
-
- foreach (array_filter($event->getInput()->getArguments()) as $argument) {
- $arguments['args'][] = $argument;
- }
-
- foreach (array_keys(array_filter($event->getInput()->getOptions())) as $option) {
- $arguments['args'][] = '--' . $option;
- }
-
- $definition = new InputDefinition();
- $definition->addArgument(new InputArgument('command', InputArgument::REQUIRED));
- $definition->addArguments($command->getDefinition()->getArguments());
- $definition->addOptions($command->getDefinition()->getOptions());
-
- $input = new ArrayInput($arguments, $definition);
-
- try {
- $returnCode = $command->run($input, $event->getOutput());
- } catch (\Exception $e) {
- return false;
- }
-
- return $returnCode === 0;
- }
-}
diff --git a/vendor-php/composer/ClassLoader.php b/vendor-php/composer/ClassLoader.php
deleted file mode 100644
index afef3fa2ad..0000000000
--- a/vendor-php/composer/ClassLoader.php
+++ /dev/null
@@ -1,572 +0,0 @@
-
- * Jordi Boggiano
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Composer\Autoload;
-
-/**
- * ClassLoader implements a PSR-0, PSR-4 and classmap class loader.
- *
- * $loader = new \Composer\Autoload\ClassLoader();
- *
- * // register classes with namespaces
- * $loader->add('Symfony\Component', __DIR__.'/component');
- * $loader->add('Symfony', __DIR__.'/framework');
- *
- * // activate the autoloader
- * $loader->register();
- *
- * // to enable searching the include path (eg. for PEAR packages)
- * $loader->setUseIncludePath(true);
- *
- * In this example, if you try to use a class in the Symfony\Component
- * namespace or one of its children (Symfony\Component\Console for instance),
- * the autoloader will first look for the class under the component/
- * directory, and it will then fallback to the framework/ directory if not
- * found before giving up.
- *
- * This class is loosely based on the Symfony UniversalClassLoader.
- *
- * @author Fabien Potencier
- * @author Jordi Boggiano
- * @see https://www.php-fig.org/psr/psr-0/
- * @see https://www.php-fig.org/psr/psr-4/
- */
-class ClassLoader
-{
- /** @var ?string */
- private $vendorDir;
-
- // PSR-4
- /**
- * @var array[]
- * @psalm-var array>
- */
- private $prefixLengthsPsr4 = array();
- /**
- * @var array[]
- * @psalm-var array>
- */
- private $prefixDirsPsr4 = array();
- /**
- * @var array[]
- * @psalm-var array
- */
- private $fallbackDirsPsr4 = array();
-
- // PSR-0
- /**
- * @var array[]
- * @psalm-var array>
- */
- private $prefixesPsr0 = array();
- /**
- * @var array[]
- * @psalm-var array
- */
- private $fallbackDirsPsr0 = array();
-
- /** @var bool */
- private $useIncludePath = false;
-
- /**
- * @var string[]
- * @psalm-var array
- */
- private $classMap = array();
-
- /** @var bool */
- private $classMapAuthoritative = false;
-
- /**
- * @var bool[]
- * @psalm-var array
- */
- private $missingClasses = array();
-
- /** @var ?string */
- private $apcuPrefix;
-
- /**
- * @var self[]
- */
- private static $registeredLoaders = array();
-
- /**
- * @param ?string $vendorDir
- */
- public function __construct($vendorDir = null)
- {
- $this->vendorDir = $vendorDir;
- }
-
- /**
- * @return string[]
- */
- public function getPrefixes()
- {
- if (!empty($this->prefixesPsr0)) {
- return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
- }
-
- return array();
- }
-
- /**
- * @return array[]
- * @psalm-return array>
- */
- public function getPrefixesPsr4()
- {
- return $this->prefixDirsPsr4;
- }
-
- /**
- * @return array[]
- * @psalm-return array
- */
- public function getFallbackDirs()
- {
- return $this->fallbackDirsPsr0;
- }
-
- /**
- * @return array[]
- * @psalm-return array
- */
- public function getFallbackDirsPsr4()
- {
- return $this->fallbackDirsPsr4;
- }
-
- /**
- * @return string[] Array of classname => path
- * @psalm-return array
- */
- public function getClassMap()
- {
- return $this->classMap;
- }
-
- /**
- * @param string[] $classMap Class to filename map
- * @psalm-param array $classMap
- *
- * @return void
- */
- public function addClassMap(array $classMap)
- {
- if ($this->classMap) {
- $this->classMap = array_merge($this->classMap, $classMap);
- } else {
- $this->classMap = $classMap;
- }
- }
-
- /**
- * Registers a set of PSR-0 directories for a given prefix, either
- * appending or prepending to the ones previously set for this prefix.
- *
- * @param string $prefix The prefix
- * @param string[]|string $paths The PSR-0 root directories
- * @param bool $prepend Whether to prepend the directories
- *
- * @return void
- */
- public function add($prefix, $paths, $prepend = false)
- {
- if (!$prefix) {
- if ($prepend) {
- $this->fallbackDirsPsr0 = array_merge(
- (array) $paths,
- $this->fallbackDirsPsr0
- );
- } else {
- $this->fallbackDirsPsr0 = array_merge(
- $this->fallbackDirsPsr0,
- (array) $paths
- );
- }
-
- return;
- }
-
- $first = $prefix[0];
- if (!isset($this->prefixesPsr0[$first][$prefix])) {
- $this->prefixesPsr0[$first][$prefix] = (array) $paths;
-
- return;
- }
- if ($prepend) {
- $this->prefixesPsr0[$first][$prefix] = array_merge(
- (array) $paths,
- $this->prefixesPsr0[$first][$prefix]
- );
- } else {
- $this->prefixesPsr0[$first][$prefix] = array_merge(
- $this->prefixesPsr0[$first][$prefix],
- (array) $paths
- );
- }
- }
-
- /**
- * Registers a set of PSR-4 directories for a given namespace, either
- * appending or prepending to the ones previously set for this namespace.
- *
- * @param string $prefix The prefix/namespace, with trailing '\\'
- * @param string[]|string $paths The PSR-4 base directories
- * @param bool $prepend Whether to prepend the directories
- *
- * @throws \InvalidArgumentException
- *
- * @return void
- */
- public function addPsr4($prefix, $paths, $prepend = false)
- {
- if (!$prefix) {
- // Register directories for the root namespace.
- if ($prepend) {
- $this->fallbackDirsPsr4 = array_merge(
- (array) $paths,
- $this->fallbackDirsPsr4
- );
- } else {
- $this->fallbackDirsPsr4 = array_merge(
- $this->fallbackDirsPsr4,
- (array) $paths
- );
- }
- } elseif (!isset($this->prefixDirsPsr4[$prefix])) {
- // Register directories for a new namespace.
- $length = strlen($prefix);
- if ('\\' !== $prefix[$length - 1]) {
- throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
- }
- $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
- $this->prefixDirsPsr4[$prefix] = (array) $paths;
- } elseif ($prepend) {
- // Prepend directories for an already registered namespace.
- $this->prefixDirsPsr4[$prefix] = array_merge(
- (array) $paths,
- $this->prefixDirsPsr4[$prefix]
- );
- } else {
- // Append directories for an already registered namespace.
- $this->prefixDirsPsr4[$prefix] = array_merge(
- $this->prefixDirsPsr4[$prefix],
- (array) $paths
- );
- }
- }
-
- /**
- * Registers a set of PSR-0 directories for a given prefix,
- * replacing any others previously set for this prefix.
- *
- * @param string $prefix The prefix
- * @param string[]|string $paths The PSR-0 base directories
- *
- * @return void
- */
- public function set($prefix, $paths)
- {
- if (!$prefix) {
- $this->fallbackDirsPsr0 = (array) $paths;
- } else {
- $this->prefixesPsr0[$prefix[0]][$prefix] = (array) $paths;
- }
- }
-
- /**
- * Registers a set of PSR-4 directories for a given namespace,
- * replacing any others previously set for this namespace.
- *
- * @param string $prefix The prefix/namespace, with trailing '\\'
- * @param string[]|string $paths The PSR-4 base directories
- *
- * @throws \InvalidArgumentException
- *
- * @return void
- */
- public function setPsr4($prefix, $paths)
- {
- if (!$prefix) {
- $this->fallbackDirsPsr4 = (array) $paths;
- } else {
- $length = strlen($prefix);
- if ('\\' !== $prefix[$length - 1]) {
- throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator.");
- }
- $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length;
- $this->prefixDirsPsr4[$prefix] = (array) $paths;
- }
- }
-
- /**
- * Turns on searching the include path for class files.
- *
- * @param bool $useIncludePath
- *
- * @return void
- */
- public function setUseIncludePath($useIncludePath)
- {
- $this->useIncludePath = $useIncludePath;
- }
-
- /**
- * Can be used to check if the autoloader uses the include path to check
- * for classes.
- *
- * @return bool
- */
- public function getUseIncludePath()
- {
- return $this->useIncludePath;
- }
-
- /**
- * Turns off searching the prefix and fallback directories for classes
- * that have not been registered with the class map.
- *
- * @param bool $classMapAuthoritative
- *
- * @return void
- */
- public function setClassMapAuthoritative($classMapAuthoritative)
- {
- $this->classMapAuthoritative = $classMapAuthoritative;
- }
-
- /**
- * Should class lookup fail if not found in the current class map?
- *
- * @return bool
- */
- public function isClassMapAuthoritative()
- {
- return $this->classMapAuthoritative;
- }
-
- /**
- * APCu prefix to use to cache found/not-found classes, if the extension is enabled.
- *
- * @param string|null $apcuPrefix
- *
- * @return void
- */
- public function setApcuPrefix($apcuPrefix)
- {
- $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
- }
-
- /**
- * The APCu prefix in use, or null if APCu caching is not enabled.
- *
- * @return string|null
- */
- public function getApcuPrefix()
- {
- return $this->apcuPrefix;
- }
-
- /**
- * Registers this instance as an autoloader.
- *
- * @param bool $prepend Whether to prepend the autoloader or not
- *
- * @return void
- */
- public function register($prepend = false)
- {
- spl_autoload_register(array($this, 'loadClass'), true, $prepend);
-
- if (null === $this->vendorDir) {
- return;
- }
-
- if ($prepend) {
- self::$registeredLoaders = array($this->vendorDir => $this) + self::$registeredLoaders;
- } else {
- unset(self::$registeredLoaders[$this->vendorDir]);
- self::$registeredLoaders[$this->vendorDir] = $this;
- }
- }
-
- /**
- * Unregisters this instance as an autoloader.
- *
- * @return void
- */
- public function unregister()
- {
- spl_autoload_unregister(array($this, 'loadClass'));
-
- if (null !== $this->vendorDir) {
- unset(self::$registeredLoaders[$this->vendorDir]);
- }
- }
-
- /**
- * Loads the given class or interface.
- *
- * @param string $class The name of the class
- * @return true|null True if loaded, null otherwise
- */
- public function loadClass($class)
- {
- if ($file = $this->findFile($class)) {
- includeFile($file);
-
- return true;
- }
-
- return null;
- }
-
- /**
- * Finds the path to the file where the class is defined.
- *
- * @param string $class The name of the class
- *
- * @return string|false The path if found, false otherwise
- */
- public function findFile($class)
- {
- // class map lookup
- if (isset($this->classMap[$class])) {
- return $this->classMap[$class];
- }
- if ($this->classMapAuthoritative || isset($this->missingClasses[$class])) {
- return false;
- }
- if (null !== $this->apcuPrefix) {
- $file = apcu_fetch($this->apcuPrefix.$class, $hit);
- if ($hit) {
- return $file;
- }
- }
-
- $file = $this->findFileWithExtension($class, '.php');
-
- // Search for Hack files if we are running on HHVM
- if (false === $file && defined('HHVM_VERSION')) {
- $file = $this->findFileWithExtension($class, '.hh');
- }
-
- if (null !== $this->apcuPrefix) {
- apcu_add($this->apcuPrefix.$class, $file);
- }
-
- if (false === $file) {
- // Remember that this class does not exist.
- $this->missingClasses[$class] = true;
- }
-
- return $file;
- }
-
- /**
- * Returns the currently registered loaders indexed by their corresponding vendor directories.
- *
- * @return self[]
- */
- public static function getRegisteredLoaders()
- {
- return self::$registeredLoaders;
- }
-
- /**
- * @param string $class
- * @param string $ext
- * @return string|false
- */
- private function findFileWithExtension($class, $ext)
- {
- // PSR-4 lookup
- $logicalPathPsr4 = strtr($class, '\\', DIRECTORY_SEPARATOR) . $ext;
-
- $first = $class[0];
- if (isset($this->prefixLengthsPsr4[$first])) {
- $subPath = $class;
- while (false !== $lastPos = strrpos($subPath, '\\')) {
- $subPath = substr($subPath, 0, $lastPos);
- $search = $subPath . '\\';
- if (isset($this->prefixDirsPsr4[$search])) {
- $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
- foreach ($this->prefixDirsPsr4[$search] as $dir) {
- if (file_exists($file = $dir . $pathEnd)) {
- return $file;
- }
- }
- }
- }
- }
-
- // PSR-4 fallback dirs
- foreach ($this->fallbackDirsPsr4 as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr4)) {
- return $file;
- }
- }
-
- // PSR-0 lookup
- if (false !== $pos = strrpos($class, '\\')) {
- // namespaced class name
- $logicalPathPsr0 = substr($logicalPathPsr4, 0, $pos + 1)
- . strtr(substr($logicalPathPsr4, $pos + 1), '_', DIRECTORY_SEPARATOR);
- } else {
- // PEAR-like class name
- $logicalPathPsr0 = strtr($class, '_', DIRECTORY_SEPARATOR) . $ext;
- }
-
- if (isset($this->prefixesPsr0[$first])) {
- foreach ($this->prefixesPsr0[$first] as $prefix => $dirs) {
- if (0 === strpos($class, $prefix)) {
- foreach ($dirs as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
- return $file;
- }
- }
- }
- }
- }
-
- // PSR-0 fallback dirs
- foreach ($this->fallbackDirsPsr0 as $dir) {
- if (file_exists($file = $dir . DIRECTORY_SEPARATOR . $logicalPathPsr0)) {
- return $file;
- }
- }
-
- // PSR-0 include paths.
- if ($this->useIncludePath && $file = stream_resolve_include_path($logicalPathPsr0)) {
- return $file;
- }
-
- return false;
- }
-}
-
-/**
- * Scope isolated include.
- *
- * Prevents access to $this/self from included files.
- *
- * @param string $file
- * @return void
- * @private
- */
-function includeFile($file)
-{
- include $file;
-}
diff --git a/vendor-php/composer/InstalledVersions.php b/vendor-php/composer/InstalledVersions.php
deleted file mode 100644
index d50e0c9fcc..0000000000
--- a/vendor-php/composer/InstalledVersions.php
+++ /dev/null
@@ -1,350 +0,0 @@
-
- * Jordi Boggiano
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-
-namespace Composer;
-
-use Composer\Autoload\ClassLoader;
-use Composer\Semver\VersionParser;
-
-/**
- * This class is copied in every Composer installed project and available to all
- *
- * See also https://getcomposer.org/doc/07-runtime.md#installed-versions
- *
- * To require its presence, you can require `composer-runtime-api ^2.0`
- */
-class InstalledVersions
-{
- /**
- * @var mixed[]|null
- * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null
- */
- private static $installed;
-
- /**
- * @var bool|null
- */
- private static $canGetVendors;
-
- /**
- * @var array[]
- * @psalm-var array}>
- */
- private static $installedByVendor = array();
-
- /**
- * Returns a list of all package names which are present, either by being installed, replaced or provided
- *
- * @return string[]
- * @psalm-return list
- */
- public static function getInstalledPackages()
- {
- $packages = array();
- foreach (self::getInstalled() as $installed) {
- $packages[] = array_keys($installed['versions']);
- }
-
- if (1 === \count($packages)) {
- return $packages[0];
- }
-
- return array_keys(array_flip(\call_user_func_array('array_merge', $packages)));
- }
-
- /**
- * Returns a list of all package names with a specific type e.g. 'library'
- *
- * @param string $type
- * @return string[]
- * @psalm-return list
- */
- public static function getInstalledPackagesByType($type)
- {
- $packagesByType = array();
-
- foreach (self::getInstalled() as $installed) {
- foreach ($installed['versions'] as $name => $package) {
- if (isset($package['type']) && $package['type'] === $type) {
- $packagesByType[] = $name;
- }
- }
- }
-
- return $packagesByType;
- }
-
- /**
- * Checks whether the given package is installed
- *
- * This also returns true if the package name is provided or replaced by another package
- *
- * @param string $packageName
- * @param bool $includeDevRequirements
- * @return bool
- */
- public static function isInstalled($packageName, $includeDevRequirements = true)
- {
- foreach (self::getInstalled() as $installed) {
- if (isset($installed['versions'][$packageName])) {
- return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']);
- }
- }
-
- return false;
- }
-
- /**
- * Checks whether the given package satisfies a version constraint
- *
- * e.g. If you want to know whether version 2.3+ of package foo/bar is installed, you would call:
- *
- * Composer\InstalledVersions::satisfies(new VersionParser, 'foo/bar', '^2.3')
- *
- * @param VersionParser $parser Install composer/semver to have access to this class and functionality
- * @param string $packageName
- * @param string|null $constraint A version constraint to check for, if you pass one you have to make sure composer/semver is required by your package
- * @return bool
- */
- public static function satisfies(VersionParser $parser, $packageName, $constraint)
- {
- $constraint = $parser->parseConstraints($constraint);
- $provided = $parser->parseConstraints(self::getVersionRanges($packageName));
-
- return $provided->matches($constraint);
- }
-
- /**
- * Returns a version constraint representing all the range(s) which are installed for a given package
- *
- * It is easier to use this via isInstalled() with the $constraint argument if you need to check
- * whether a given version of a package is installed, and not just whether it exists
- *
- * @param string $packageName
- * @return string Version constraint usable with composer/semver
- */
- public static function getVersionRanges($packageName)
- {
- foreach (self::getInstalled() as $installed) {
- if (!isset($installed['versions'][$packageName])) {
- continue;
- }
-
- $ranges = array();
- if (isset($installed['versions'][$packageName]['pretty_version'])) {
- $ranges[] = $installed['versions'][$packageName]['pretty_version'];
- }
- if (array_key_exists('aliases', $installed['versions'][$packageName])) {
- $ranges = array_merge($ranges, $installed['versions'][$packageName]['aliases']);
- }
- if (array_key_exists('replaced', $installed['versions'][$packageName])) {
- $ranges = array_merge($ranges, $installed['versions'][$packageName]['replaced']);
- }
- if (array_key_exists('provided', $installed['versions'][$packageName])) {
- $ranges = array_merge($ranges, $installed['versions'][$packageName]['provided']);
- }
-
- return implode(' || ', $ranges);
- }
-
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
- }
-
- /**
- * @param string $packageName
- * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
- */
- public static function getVersion($packageName)
- {
- foreach (self::getInstalled() as $installed) {
- if (!isset($installed['versions'][$packageName])) {
- continue;
- }
-
- if (!isset($installed['versions'][$packageName]['version'])) {
- return null;
- }
-
- return $installed['versions'][$packageName]['version'];
- }
-
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
- }
-
- /**
- * @param string $packageName
- * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as version, use satisfies or getVersionRanges if you need to know if a given version is present
- */
- public static function getPrettyVersion($packageName)
- {
- foreach (self::getInstalled() as $installed) {
- if (!isset($installed['versions'][$packageName])) {
- continue;
- }
-
- if (!isset($installed['versions'][$packageName]['pretty_version'])) {
- return null;
- }
-
- return $installed['versions'][$packageName]['pretty_version'];
- }
-
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
- }
-
- /**
- * @param string $packageName
- * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as reference
- */
- public static function getReference($packageName)
- {
- foreach (self::getInstalled() as $installed) {
- if (!isset($installed['versions'][$packageName])) {
- continue;
- }
-
- if (!isset($installed['versions'][$packageName]['reference'])) {
- return null;
- }
-
- return $installed['versions'][$packageName]['reference'];
- }
-
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
- }
-
- /**
- * @param string $packageName
- * @return string|null If the package is being replaced or provided but is not really installed, null will be returned as install path. Packages of type metapackages also have a null install path.
- */
- public static function getInstallPath($packageName)
- {
- foreach (self::getInstalled() as $installed) {
- if (!isset($installed['versions'][$packageName])) {
- continue;
- }
-
- return isset($installed['versions'][$packageName]['install_path']) ? $installed['versions'][$packageName]['install_path'] : null;
- }
-
- throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
- }
-
- /**
- * @return array
- * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}
- */
- public static function getRootPackage()
- {
- $installed = self::getInstalled();
-
- return $installed[0]['root'];
- }
-
- /**
- * Returns the raw installed.php data for custom implementations
- *
- * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect.
- * @return array[]
- * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}
- */
- public static function getRawData()
- {
- @trigger_error('getRawData only returns the first dataset loaded, which may not be what you expect. Use getAllRawData() instead which returns all datasets for all autoloaders present in the process.', E_USER_DEPRECATED);
-
- if (null === self::$installed) {
- // only require the installed.php file if this file is loaded from its dumped location,
- // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
- if (substr(__DIR__, -8, 1) !== 'C') {
- self::$installed = include __DIR__ . '/installed.php';
- } else {
- self::$installed = array();
- }
- }
-
- return self::$installed;
- }
-
- /**
- * Returns the raw data of all installed.php which are currently loaded for custom implementations
- *
- * @return array[]
- * @psalm-return list}>
- */
- public static function getAllRawData()
- {
- return self::getInstalled();
- }
-
- /**
- * Lets you reload the static array from another file
- *
- * This is only useful for complex integrations in which a project needs to use
- * this class but then also needs to execute another project's autoloader in process,
- * and wants to ensure both projects have access to their version of installed.php.
- *
- * A typical case would be PHPUnit, where it would need to make sure it reads all
- * the data it needs from this class, then call reload() with
- * `require $CWD/vendor/composer/installed.php` (or similar) as input to make sure
- * the project in which it runs can then also use this class safely, without
- * interference between PHPUnit's dependencies and the project's dependencies.
- *
- * @param array[] $data A vendor/composer/installed.php data set
- * @return void
- *
- * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data
- */
- public static function reload($data)
- {
- self::$installed = $data;
- self::$installedByVendor = array();
- }
-
- /**
- * @return array[]
- * @psalm-return list}>
- */
- private static function getInstalled()
- {
- if (null === self::$canGetVendors) {
- self::$canGetVendors = method_exists('Composer\Autoload\ClassLoader', 'getRegisteredLoaders');
- }
-
- $installed = array();
-
- if (self::$canGetVendors) {
- foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
- if (isset(self::$installedByVendor[$vendorDir])) {
- $installed[] = self::$installedByVendor[$vendorDir];
- } elseif (is_file($vendorDir.'/composer/installed.php')) {
- $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php';
- if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
- self::$installed = $installed[count($installed) - 1];
- }
- }
- }
- }
-
- if (null === self::$installed) {
- // only require the installed.php file if this file is loaded from its dumped location,
- // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937
- if (substr(__DIR__, -8, 1) !== 'C') {
- self::$installed = require __DIR__ . '/installed.php';
- } else {
- self::$installed = array();
- }
- }
- $installed[] = self::$installed;
-
- return $installed;
- }
-}
diff --git a/vendor-php/composer/LICENSE b/vendor-php/composer/LICENSE
deleted file mode 100644
index f27399a042..0000000000
--- a/vendor-php/composer/LICENSE
+++ /dev/null
@@ -1,21 +0,0 @@
-
-Copyright (c) Nils Adermann, Jordi Boggiano
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is furnished
-to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
-
diff --git a/vendor-php/composer/autoload_classmap.php b/vendor-php/composer/autoload_classmap.php
deleted file mode 100644
index b26f1b13b1..0000000000
--- a/vendor-php/composer/autoload_classmap.php
+++ /dev/null
@@ -1,10 +0,0 @@
- $vendorDir . '/composer/InstalledVersions.php',
-);
diff --git a/vendor-php/composer/autoload_namespaces.php b/vendor-php/composer/autoload_namespaces.php
deleted file mode 100644
index b7fc0125db..0000000000
--- a/vendor-php/composer/autoload_namespaces.php
+++ /dev/null
@@ -1,9 +0,0 @@
- array($vendorDir . '/bamarni/composer-bin-plugin/src'),
-);
diff --git a/vendor-php/composer/autoload_real.php b/vendor-php/composer/autoload_real.php
deleted file mode 100644
index 12354b4968..0000000000
--- a/vendor-php/composer/autoload_real.php
+++ /dev/null
@@ -1,55 +0,0 @@
-= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
- if ($useStaticLoader) {
- require __DIR__ . '/autoload_static.php';
-
- call_user_func(\Composer\Autoload\ComposerStaticInit47d0a653801ac6ad887ff504bf59ed54::getInitializer($loader));
- } else {
- $map = require __DIR__ . '/autoload_namespaces.php';
- foreach ($map as $namespace => $path) {
- $loader->set($namespace, $path);
- }
-
- $map = require __DIR__ . '/autoload_psr4.php';
- foreach ($map as $namespace => $path) {
- $loader->setPsr4($namespace, $path);
- }
-
- $classMap = require __DIR__ . '/autoload_classmap.php';
- if ($classMap) {
- $loader->addClassMap($classMap);
- }
- }
-
- $loader->register(true);
-
- return $loader;
- }
-}
diff --git a/vendor-php/composer/autoload_static.php b/vendor-php/composer/autoload_static.php
deleted file mode 100644
index 4036b86c64..0000000000
--- a/vendor-php/composer/autoload_static.php
+++ /dev/null
@@ -1,36 +0,0 @@
-
- array (
- 'Bamarni\\Composer\\Bin\\' => 21,
- ),
- );
-
- public static $prefixDirsPsr4 = array (
- 'Bamarni\\Composer\\Bin\\' =>
- array (
- 0 => __DIR__ . '/..' . '/bamarni/composer-bin-plugin/src',
- ),
- );
-
- public static $classMap = array (
- 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
- );
-
- public static function getInitializer(ClassLoader $loader)
- {
- return \Closure::bind(function () use ($loader) {
- $loader->prefixLengthsPsr4 = ComposerStaticInit47d0a653801ac6ad887ff504bf59ed54::$prefixLengthsPsr4;
- $loader->prefixDirsPsr4 = ComposerStaticInit47d0a653801ac6ad887ff504bf59ed54::$prefixDirsPsr4;
- $loader->classMap = ComposerStaticInit47d0a653801ac6ad887ff504bf59ed54::$classMap;
-
- }, null, ClassLoader::class);
- }
-}
diff --git a/vendor-php/composer/installed.json b/vendor-php/composer/installed.json
deleted file mode 100644
index 80c869ff8e..0000000000
--- a/vendor-php/composer/installed.json
+++ /dev/null
@@ -1,61 +0,0 @@
-{
- "packages": [
- {
- "name": "bamarni/composer-bin-plugin",
- "version": "v1.5.0",
- "version_normalized": "1.5.0.0",
- "source": {
- "type": "git",
- "url": "https://github.com/bamarni/composer-bin-plugin.git",
- "reference": "49934ffea764864788334c1485fbb08a4b852031"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/49934ffea764864788334c1485fbb08a4b852031",
- "reference": "49934ffea764864788334c1485fbb08a4b852031",
- "shasum": ""
- },
- "require": {
- "composer-plugin-api": "^1.0 || ^2.0",
- "php": "^5.5.9 || ^7.0 || ^8.0"
- },
- "require-dev": {
- "composer/composer": "^1.0 || ^2.0",
- "symfony/console": "^2.5 || ^3.0 || ^4.0"
- },
- "time": "2022-02-22T21:01:25+00:00",
- "type": "composer-plugin",
- "extra": {
- "class": "Bamarni\\Composer\\Bin\\Plugin"
- },
- "installation-source": "dist",
- "autoload": {
- "psr-4": {
- "Bamarni\\Composer\\Bin\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "description": "No conflicts for your bin dependencies",
- "keywords": [
- "composer",
- "conflict",
- "dependency",
- "executable",
- "isolation",
- "tool"
- ],
- "support": {
- "issues": "https://github.com/bamarni/composer-bin-plugin/issues",
- "source": "https://github.com/bamarni/composer-bin-plugin/tree/v1.5.0"
- },
- "install-path": "../bamarni/composer-bin-plugin"
- }
- ],
- "dev": true,
- "dev-package-names": [
- "bamarni/composer-bin-plugin"
- ]
-}
diff --git a/vendor-php/composer/installed.php b/vendor-php/composer/installed.php
deleted file mode 100644
index 57dd1b10cb..0000000000
--- a/vendor-php/composer/installed.php
+++ /dev/null
@@ -1,32 +0,0 @@
- array(
- 'pretty_version' => 'dev-master',
- 'version' => 'dev-master',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../../',
- 'aliases' => array(),
- 'reference' => 'addbbdadeb17ff9af33d14dba62ce4ca045bcf2c',
- 'name' => 'owncloud/ocis',
- 'dev' => true,
- ),
- 'versions' => array(
- 'bamarni/composer-bin-plugin' => array(
- 'pretty_version' => 'v1.5.0',
- 'version' => '1.5.0.0',
- 'type' => 'composer-plugin',
- 'install_path' => __DIR__ . '/../bamarni/composer-bin-plugin',
- 'aliases' => array(),
- 'reference' => '49934ffea764864788334c1485fbb08a4b852031',
- 'dev_requirement' => true,
- ),
- 'owncloud/ocis' => array(
- 'pretty_version' => 'dev-master',
- 'version' => 'dev-master',
- 'type' => 'library',
- 'install_path' => __DIR__ . '/../../',
- 'aliases' => array(),
- 'reference' => 'addbbdadeb17ff9af33d14dba62ce4ca045bcf2c',
- 'dev_requirement' => false,
- ),
- ),
-);