array( 'name' => 'topthink/think', 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'e17924481e31d34c6d60e36ff490ffcdd6cf0fd4', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => true, ), 'versions' => array( 'bacon/bacon-qr-code' => array( 'pretty_version' => '2.0.7', 'version' => '2.0.7.0', 'reference' => 'd70c840f68657ce49094b8d91f9ee0cc07fbf66c', 'type' => 'library', 'install_path' => __DIR__ . '/../bacon/bacon-qr-code', 'aliases' => array(), 'dev_requirement' => false, ), 'casbin/casbin' => array( 'pretty_version' => 'v1.0.3', 'version' => '1.0.3.0', 'reference' => '1ce002f545eea2f35dff2ed29778be5d88d9168c', 'type' => 'library', 'install_path' => __DIR__ . '/../casbin/casbin', 'aliases' => array(), 'dev_requirement' => false, ), 'casbin/think-adapter' => array( 'pretty_version' => 'v1.0.3', 'version' => '1.0.3.0', 'reference' => '406e0b32be7a0d6567be3174c15f75f34aad1fa2', 'type' => 'library', 'install_path' => __DIR__ . '/../casbin/think-adapter', 'aliases' => array(), 'dev_requirement' => false, ), 'dasprid/enum' => array( 'pretty_version' => '1.0.3', 'version' => '1.0.3.0', 'reference' => '5abf82f213618696dda8e3bf6f64dd042d8542b2', 'type' => 'library', 'install_path' => __DIR__ . '/../dasprid/enum', 'aliases' => array(), 'dev_requirement' => false, ), 'easywechat-composer/easywechat-composer' => array( 'pretty_version' => '1.4.1', 'version' => '1.4.1.0', 'reference' => '3fc6a7ab6d3853c0f4e2922539b56cc37ef361cd', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../easywechat-composer/easywechat-composer', 'aliases' => array(), 'dev_requirement' => false, ), 'endroid/qrcode' => array( 'pretty_version' => '3.5.9', 'version' => '3.5.9.0', 'reference' => 'ae14093866558c1d91aa1f9b0ca07c09a95effc7', 'type' => 'library', 'install_path' => __DIR__ . '/../endroid/qrcode', 'aliases' => array(), 'dev_requirement' => false, ), 'guzzlehttp/guzzle' => array( 'pretty_version' => '7.4.5', 'version' => '7.4.5.0', 'reference' => '1dd98b0564cb3f6bd16ce683cb755f94c10fbd82', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), 'dev_requirement' => false, ), 'guzzlehttp/promises' => array( 'pretty_version' => '1.5.1', 'version' => '1.5.1.0', 'reference' => 'fe752aedc9fd8fcca3fe7ad05d419d32998a06da', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( 'pretty_version' => '2.4.0', 'version' => '2.4.0.0', 'reference' => '13388f00956b1503577598873fffb5ae994b5737', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), 'dev_requirement' => false, ), 'khanamiryan/qrcode-detector-decoder' => array( 'pretty_version' => '1.0.6', 'version' => '1.0.6.0', 'reference' => '45326fb83a2a375065dbb3a134b5b8a5872da569', 'type' => 'library', 'install_path' => __DIR__ . '/../khanamiryan/qrcode-detector-decoder', 'aliases' => array(), 'dev_requirement' => false, ), 'lcobucci/jwt' => array( 'pretty_version' => '3.4.6', 'version' => '3.4.6.0', 'reference' => '3ef8657a78278dfeae7707d51747251db4176240', 'type' => 'library', 'install_path' => __DIR__ . '/../lcobucci/jwt', 'aliases' => array(), 'dev_requirement' => false, ), 'lettered/support' => array( 'pretty_version' => 'v1.0.3', 'version' => '1.0.3.0', 'reference' => '9fde842b9de220ab8a5a3c4ce6d06333dff1b2a0', 'type' => 'library', 'install_path' => __DIR__ . '/../lettered/support', 'aliases' => array(), 'dev_requirement' => false, ), 'markbaker/complex' => array( 'pretty_version' => '1.5.0', 'version' => '1.5.0.0', 'reference' => 'c3131244e29c08d44fefb49e0dd35021e9e39dd2', 'type' => 'library', 'install_path' => __DIR__ . '/../markbaker/complex', 'aliases' => array(), 'dev_requirement' => false, ), 'markbaker/matrix' => array( 'pretty_version' => '1.2.3', 'version' => '1.2.3.0', 'reference' => '44bb1ab01811116f01fe216ab37d921dccc6c10d', 'type' => 'library', 'install_path' => __DIR__ . '/../markbaker/matrix', 'aliases' => array(), 'dev_requirement' => false, ), 'monolog/monolog' => array( 'pretty_version' => '2.8.0', 'version' => '2.8.0.0', 'reference' => '720488632c590286b88b80e62aa3d3d551ad4a50', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), 'dev_requirement' => false, ), 'myclabs/php-enum' => array( 'pretty_version' => '1.8.4', 'version' => '1.8.4.0', 'reference' => 'a867478eae49c9f59ece437ae7f9506bfaa27483', 'type' => 'library', 'install_path' => __DIR__ . '/../myclabs/php-enum', 'aliases' => array(), 'dev_requirement' => false, ), 'overtrue/socialite' => array( 'pretty_version' => '2.0.24', 'version' => '2.0.24.0', 'reference' => 'ee7e7b000ec7d64f2b8aba1f6a2eec5cdf3f8bec', 'type' => 'library', 'install_path' => __DIR__ . '/../overtrue/socialite', 'aliases' => array(), 'dev_requirement' => false, ), 'overtrue/wechat' => array( 'pretty_version' => '4.6.0', 'version' => '4.6.0.0', 'reference' => '52af4cbe777cd4aea307beafa0a4518c347467b1', 'type' => 'library', 'install_path' => __DIR__ . '/../overtrue/wechat', 'aliases' => array(), 'dev_requirement' => false, ), 'phpoffice/phpspreadsheet' => array( 'pretty_version' => '1.12.0', 'version' => '1.12.0.0', 'reference' => 'f79611d6dc1f6b7e8e30b738fc371b392001dbfd', 'type' => 'library', 'install_path' => __DIR__ . '/../phpoffice/phpspreadsheet', 'aliases' => array(), 'dev_requirement' => false, ), 'pimple/pimple' => array( 'pretty_version' => 'v3.5.0', 'version' => '3.5.0.0', 'reference' => 'a94b3a4db7fb774b3d78dad2315ddc07629e1bed', 'type' => 'library', 'install_path' => __DIR__ . '/../pimple/pimple', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/cache' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => 'd11b50ad223250cf17b86e38383413f5a6764bf8', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/cache-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0|2.0', ), ), 'psr/container' => array( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', 'reference' => '8622567409010282b7aeebe4bb841fe98b58dcaf', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/event-dispatcher' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/event-dispatcher-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0', ), ), 'psr/http-client' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => '2dfb5f6c5eff0e91e20e913f8c5452ed95b86621', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-client', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/http-client-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0', ), ), 'psr/http-factory' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => '12ac7fcd07e5b077433f5f2bee95b3a771bf61be', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/http-factory-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0', ), ), 'psr/http-message' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => 'f6561bf28d520154e4b0ec72be95418abe6d9363', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/http-message-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0', ), ), 'psr/log' => array( 'pretty_version' => '1.1.4', 'version' => '1.1.4.0', 'reference' => 'd49695b909c3b7628b6289db5479a1c204601f11', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/log-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0.0 || 2.0.0 || 3.0.0', ), ), 'psr/simple-cache' => array( 'pretty_version' => '1.0.1', 'version' => '1.0.1.0', 'reference' => '408d5eafb83c57f6365a3ca330ff23aa4a5fa39b', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/simple-cache', 'aliases' => array(), 'dev_requirement' => false, ), 'psr/simple-cache-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0|2.0', ), ), 'qeq66/jwt' => array( 'pretty_version' => '3.3.5', 'version' => '3.3.5.0', 'reference' => 'bd2fa6c51704dc18c61026c852c789224d7190a0', 'type' => 'library', 'install_path' => __DIR__ . '/../qeq66/jwt', 'aliases' => array(), 'dev_requirement' => false, ), 'ralouphie/getallheaders' => array( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), 'dev_requirement' => false, ), 's1lentium/iptools' => array( 'pretty_version' => 'v1.1.1', 'version' => '1.1.1.0', 'reference' => 'f6f8ab6132ca7443bd7cced1681f5066d725fd5f', 'type' => 'library', 'install_path' => __DIR__ . '/../s1lentium/iptools', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/cache' => array( 'pretty_version' => 'v5.4.11', 'version' => '5.4.11.0', 'reference' => '5a0fff46df349f0db3fe242263451fddf5277362', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/cache', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/cache-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => '64be4a7acb83b6f2bf6de9a02cee6dad41277ebc', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/cache-contracts', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/cache-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '1.0|2.0', ), ), 'symfony/deprecation-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => 'e8b495ea28c1d97b5e0c121748d6f9b53d075c66', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/event-dispatcher' => array( 'pretty_version' => 'v5.4.9', 'version' => '5.4.9.0', 'reference' => '8e6ce1cc0279e3ff3c8ff0f43813bc88d21ca1bc', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => 'f98b54df6ad059855739db6fcbc2d36995283fe1', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/event-dispatcher-implementation' => array( 'dev_requirement' => false, 'provided' => array( 0 => '2.0', ), ), 'symfony/expression-language' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', 'reference' => '13f0e1fd96066299eb39c87473446805fcf57c41', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/expression-language', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/http-foundation' => array( 'pretty_version' => 'v5.4.11', 'version' => '5.4.11.0', 'reference' => '0a5868e0999e9d47859ba3d918548ff6943e6389', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-foundation', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/inflector' => array( 'pretty_version' => 'v5.4.11', 'version' => '5.4.11.0', 'reference' => '4cb14dfb9cf782a1c743aaf4dac101003583d377', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/inflector', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/options-resolver' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', 'reference' => '583f56160f716dd435f1cd721fd14b548f4bb510', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/options-resolver', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-ctype' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '6fd1b9a79f6e3cf65f9e679b23af304cd9e010d4', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-intl-grapheme' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '433d05519ce6990bf3530fba6957499d327395c2', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '219aa369ceff116e673852dce47c3a41794c14bd', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => '9344f9cb97f3b19424af1a21a3b0e75b0a7d8d7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-php73' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => 'e440d35fa0286f77fb45b79a03fedbeda9307e85', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php73', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/polyfill-php80' => array( 'pretty_version' => 'v1.26.0', 'version' => '1.26.0.0', 'reference' => 'cfa0ae98841b9e461207c13ab093d76b0fa7bace', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/property-access' => array( 'pretty_version' => 'v4.4.44', 'version' => '4.4.44.0', 'reference' => 'd49682f6f0764df725c95128213a38f7e0a9f358', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/property-access', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/psr-http-message-bridge' => array( 'pretty_version' => 'v2.1.2', 'version' => '2.1.2.0', 'reference' => '22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34', 'type' => 'symfony-bridge', 'install_path' => __DIR__ . '/../symfony/psr-http-message-bridge', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/service-contracts' => array( 'pretty_version' => 'v2.5.2', 'version' => '2.5.2.0', 'reference' => '4b426aac47d6427cc1a1d0f7e2ac724627f5966c', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/string' => array( 'pretty_version' => 'v5.4.11', 'version' => '5.4.11.0', 'reference' => '5eb661e49ad389e4ae2b6e4df8d783a8a6548322', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), 'dev_requirement' => false, ), 'symfony/var-exporter' => array( 'pretty_version' => 'v5.4.10', 'version' => '5.4.10.0', 'reference' => '8fc03ee75eeece3d9be1ef47d26d79bea1afb340', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-exporter', 'aliases' => array(), 'dev_requirement' => false, ), 'thans/tp-jwt-auth' => array( 'pretty_version' => 'v1.2.1', 'version' => '1.2.1.0', 'reference' => 'ca4ff3b58d15b8a8816889b38387ba1d4964997f', 'type' => 'library', 'install_path' => __DIR__ . '/../thans/tp-jwt-auth', 'aliases' => array(), 'dev_requirement' => false, ), 'topthink/framework' => array( 'pretty_version' => 'v5.1.41', 'version' => '5.1.41.0', 'reference' => '7137741a323a4a60cfca334507cd1812fac91bb2', 'type' => 'think-framework', 'install_path' => __DIR__ . '/../../thinkphp', 'aliases' => array(), 'dev_requirement' => false, ), 'topthink/think' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', 'reference' => 'e17924481e31d34c6d60e36ff490ffcdd6cf0fd4', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => false, ), 'topthink/think-captcha' => array( 'pretty_version' => 'v2.0.2', 'version' => '2.0.2.0', 'reference' => '54c8a51552f99ff9ea89ea9c272383a8f738ceee', 'type' => 'library', 'install_path' => __DIR__ . '/../topthink/think-captcha', 'aliases' => array(), 'dev_requirement' => false, ), 'topthink/think-installer' => array( 'pretty_version' => 'v2.0.5', 'version' => '2.0.5.0', 'reference' => '38ba647706e35d6704b5d370c06f8a160b635f88', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../topthink/think-installer', 'aliases' => array(), 'dev_requirement' => false, ), 'topthink/think-migration' => array( 'pretty_version' => 'v2.0.3', 'version' => '2.0.3.0', 'reference' => '70c89850ca29c2eab988c7c3475d1d5331901bb8', 'type' => 'library', 'install_path' => __DIR__ . '/../topthink/think-migration', 'aliases' => array(), 'dev_requirement' => false, ), 'workerman/channel' => array( 'pretty_version' => 'v1.1.0', 'version' => '1.1.0.0', 'reference' => '3df772d0d20d4cebfcfd621c33d1a1ab732db523', 'type' => 'library', 'install_path' => __DIR__ . '/../workerman/channel', 'aliases' => array(), 'dev_requirement' => false, ), 'workerman/phpsocket.io' => array( 'pretty_version' => 'v1.1.14', 'version' => '1.1.14.0', 'reference' => 'a5758da4d55b4744a4cc9c956816d88ce385601e', 'type' => 'library', 'install_path' => __DIR__ . '/../workerman/phpsocket.io', 'aliases' => array(), 'dev_requirement' => false, ), 'workerman/workerman' => array( 'pretty_version' => 'v4.1.0', 'version' => '4.1.0.0', 'reference' => '88ddf517e5c35bee072b2e453c4fcca0c6f1e59a', 'type' => 'library', 'install_path' => __DIR__ . '/../workerman/workerman', 'aliases' => array(), 'dev_requirement' => false, ), ), );