<?php











namespace Composer;

use Composer\Semver\VersionParser;






class InstalledVersions
{
private static $installed = array (
  'root' => 
  array (
    'pretty_version' => '1.1.4',
    'version' => '1.1.4.0',
    'aliases' => 
    array (
    ),
    'reference' => NULL,
    'name' => 'travelpayouts/wp-plugin',
  ),
  'versions' => 
  array (
    'psr/clock-implementation' => 
    array (
      'provided' => 
      array (
        0 => '1.0',
      ),
    ),
    'psr/container-implementation' => 
    array (
      'provided' => 
      array (
        0 => '^1.0',
      ),
    ),
    'rhumsaa/uuid' => 
    array (
      'replaced' => 
      array (
        0 => '4.2.3',
      ),
    ),
    'symfony/polyfill-ctype' => 
    array (
      'pretty_version' => '1.x-dev',
      'version' => '1.9999999.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '499b42c6f68634c35785c0e0b9ec507db2b6b8d6',
    ),
    'symfony/polyfill-mbstring' => 
    array (
      'pretty_version' => '1.x-dev',
      'version' => '1.9999999.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '78d499bb1e2af4c9c85ae719e1a584fbfc7c4da2',
    ),
    'symfony/polyfill-php80' => 
    array (
      'pretty_version' => '1.x-dev',
      'version' => '1.9999999.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => 'ddc10b706c8368fc3ac581cb01140e876ae12d4b',
    ),
    'symfony/translation-implementation' => 
    array (
      'provided' => 
      array (
        0 => '2.3',
      ),
    ),
    'travelpayouts-adbario/php-dot-notation' => 
    array (
      'pretty_version' => '2.x-dev',
      'version' => '2.9999999.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => 'cc40073b292a8ab8f489d43fc28fc8d42596d79e',
    ),
    'travelpayouts-apimatic/jsonmapper' => 
    array (
      'pretty_version' => '3.1.6',
      'version' => '3.1.6.0',
      'aliases' => 
      array (
      ),
      'reference' => '4c43157842f9305a421f00fccdb8c98964e90170',
    ),
    'travelpayouts-brick/math' => 
    array (
      'pretty_version' => '0.9.3',
      'version' => '0.9.3.0',
      'aliases' => 
      array (
      ),
      'reference' => 'eb18626012032f3a9b93e065dc30f6fc853e0bbd',
    ),
    'travelpayouts-carbonphp/carbon-doctrine-types' => 
    array (
      'pretty_version' => '1.0.0',
      'version' => '1.0.0.0',
      'aliases' => 
      array (
      ),
      'reference' => '3d13f50e744a93c536352136762d104fe923db0a',
    ),
    'travelpayouts-doctrine/annotations' => 
    array (
      'pretty_version' => '1.14.x-dev',
      'version' => '1.14.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '5ab2145f2833c60625d6a920d4f72de31e0ab1c8',
    ),
    'travelpayouts-doctrine/deprecations' => 
    array (
      'pretty_version' => '1.1.x-dev',
      'version' => '1.1.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => 'fbf1e607e1f890a2297d3b99562df6418d0f7af5',
    ),
    'travelpayouts-doctrine/lexer' => 
    array (
      'pretty_version' => '2.1.x-dev',
      'version' => '2.1.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '6ac2bc63094223163435cd4d101eb8a8df7fbaf4',
    ),
    'travelpayouts-glook/yiigrid' => 
    array (
      'pretty_version' => 'dev-master',
      'version' => 'dev-master',
      'aliases' => 
      array (
      ),
      'reference' => 'c52e226b5138c5ba0f0ab5df76113737e25daef9',
    ),
    'travelpayouts-league/plates' => 
    array (
      'pretty_version' => '3.3.0',
      'version' => '3.3.0.0',
      'aliases' => 
      array (
      ),
      'reference' => 'c3013a37a939aafa17a4aef5bd11a334ee7e3b39',
    ),
    'travelpayouts-nesbot/carbon' => 
    array (
      'pretty_version' => '2.x-dev',
      'version' => '2.9999999.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '0957c4c601c29f5145a9c80b5d33dcf79c2634f3',
    ),
    'travelpayouts-nikic/fast-route' => 
    array (
      'pretty_version' => 'v1.x-dev',
      'version' => '1.9999999.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '39d0190480d2a110a45928e799aad6a5f96195b2',
    ),
    'travelpayouts-opis/closure' => 
    array (
      'pretty_version' => '3.x-dev',
      'version' => '3.9999999.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => 'bbda4387365865966814d8a746e43b1d0bd6eac8',
    ),
    'travelpayouts-php-di/invoker' => 
    array (
      'pretty_version' => '2.0.0',
      'version' => '2.0.0.0',
      'aliases' => 
      array (
      ),
      'reference' => '47bc158c46773610767788b8c5b706b330f63037',
    ),
    'travelpayouts-php-di/php-di' => 
    array (
      'pretty_version' => '6.3.5',
      'version' => '6.3.5.0',
      'aliases' => 
      array (
      ),
      'reference' => '4ee81465f4944071fa1c7c250714888cf0def06a',
    ),
    'travelpayouts-php-di/phpdoc-reader' => 
    array (
      'pretty_version' => '2.2.1',
      'version' => '2.2.1.0',
      'aliases' => 
      array (
      ),
      'reference' => 'ac6d5af7eb0c5598e7d96a0ee4588b083b903b34',
    ),
    'travelpayouts-psr/cache' => 
    array (
      'pretty_version' => '1.0.1',
      'version' => '1.0.1.0',
      'aliases' => 
      array (
      ),
      'reference' => '44d8d54a8fa37b8c0b23a4c4a09ce22631a2e96b',
    ),
    'travelpayouts-psr/clock' => 
    array (
      'pretty_version' => '1.0.0',
      'version' => '1.0.0.0',
      'aliases' => 
      array (
      ),
      'reference' => '320d0c146d250682a12bace1d8b449895345cf19',
    ),
    'travelpayouts-psr/container' => 
    array (
      'pretty_version' => '1.1.x-dev',
      'version' => '1.1.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '1c1446609b87107ff3b204c86d650da37aa60c4b',
    ),
    'travelpayouts-psr/log' => 
    array (
      'pretty_version' => '1.1.4',
      'version' => '1.1.4.0',
      'aliases' => 
      array (
      ),
      'reference' => '885cf5f5e74d690aaaae9428a9b291866e6d5a25',
    ),
    'travelpayouts-ramsey/collection' => 
    array (
      'pretty_version' => '1.1.4',
      'version' => '1.1.4.0',
      'aliases' => 
      array (
      ),
      'reference' => '39c5691f9fae42269d5f477c93e0896485ebf6eb',
    ),
    'travelpayouts-ramsey/uuid' => 
    array (
      'pretty_version' => '4.2.3',
      'version' => '4.2.3.0',
      'aliases' => 
      array (
      ),
      'reference' => '287a0945db59ae63da298c72aec3f61fdd935d9b',
    ),
    'travelpayouts-snowplow/snowplow-tracker' => 
    array (
      'pretty_version' => '0.4.0',
      'version' => '0.4.0.0',
      'aliases' => 
      array (
      ),
      'reference' => 'f50f109795663b0c2b7e1e7c20310ee9d66ef78d',
    ),
    'travelpayouts-symfony/deprecation-contracts' => 
    array (
      'pretty_version' => '2.5.x-dev',
      'version' => '2.5.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '79dacd362ae86214f3bf3e3751e3d4e6164ed6ff',
    ),
    'travelpayouts-symfony/translation' => 
    array (
      'pretty_version' => '5.4.x-dev',
      'version' => '5.4.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '3a2009c8128674de75b5acdcf27eb8c7c9dab99a',
    ),
    'travelpayouts-symfony/translation-contracts' => 
    array (
      'pretty_version' => '2.5.x-dev',
      'version' => '2.5.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '6384f932b0bb476176b82f9d27538e3f9183784e',
    ),
    'travelpayouts-symfony/yaml' => 
    array (
      'pretty_version' => '5.4.x-dev',
      'version' => '5.4.9999999.9999999-dev',
      'aliases' => 
      array (
      ),
      'reference' => '87cf86d5101c4b1c8394ee174079d0c869521749',
    ),
    'travelpayouts/wp-plugin' => 
    array (
      'pretty_version' => '1.1.4',
      'version' => '1.1.4.0',
      'aliases' => 
      array (
      ),
      'reference' => NULL,
    ),
  ),
);







public static function getInstalledPackages()
{
return array_keys(self::$installed['versions']);
}









public static function isInstalled($packageName)
{
return isset(self::$installed['versions'][$packageName]);
}














public static function satisfies(VersionParser $parser, $packageName, $constraint)
{
$constraint = $parser->parseConstraints($constraint);
$provided = $parser->parseConstraints(self::getVersionRanges($packageName));

return $provided->matches($constraint);
}










public static function getVersionRanges($packageName)
{
if (!isset(self::$installed['versions'][$packageName])) {
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}

$ranges = array();
if (isset(self::$installed['versions'][$packageName]['pretty_version'])) {
$ranges[] = self::$installed['versions'][$packageName]['pretty_version'];
}
if (array_key_exists('aliases', self::$installed['versions'][$packageName])) {
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['aliases']);
}
if (array_key_exists('replaced', self::$installed['versions'][$packageName])) {
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['replaced']);
}
if (array_key_exists('provided', self::$installed['versions'][$packageName])) {
$ranges = array_merge($ranges, self::$installed['versions'][$packageName]['provided']);
}

return implode(' || ', $ranges);
}





public static function getVersion($packageName)
{
if (!isset(self::$installed['versions'][$packageName])) {
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}

if (!isset(self::$installed['versions'][$packageName]['version'])) {
return null;
}

return self::$installed['versions'][$packageName]['version'];
}





public static function getPrettyVersion($packageName)
{
if (!isset(self::$installed['versions'][$packageName])) {
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}

if (!isset(self::$installed['versions'][$packageName]['pretty_version'])) {
return null;
}

return self::$installed['versions'][$packageName]['pretty_version'];
}





public static function getReference($packageName)
{
if (!isset(self::$installed['versions'][$packageName])) {
throw new \OutOfBoundsException('Package "' . $packageName . '" is not installed');
}

if (!isset(self::$installed['versions'][$packageName]['reference'])) {
return null;
}

return self::$installed['versions'][$packageName]['reference'];
}





public static function getRootPackage()
{
return self::$installed['root'];
}







public static function getRawData()
{
return self::$installed;
}



















public static function reload($data)
{
self::$installed = $data;
}
}
